Resolving Hex dependencies... Resolution completed in 0.123s Unchanged: abacus 2.2.0 abnf_parsec 2.1.0 circular_buffer 1.0.0 combine 0.10.0 crontab 1.2.0 deep_merge 1.0.0 dotenvy 1.1.1 elixir_make 0.9.0 ex_aws_auth 1.3.1 expo 1.1.1 finch 0.21.0 fuse 2.5.0 gettext 0.26.2  hackney 1.6.4 RETIRED!  (invalid) hpax 1.0.3 idna 7.1.0 interactive_cmd 0.1.4 jason 1.4.4 jido 2.0.0 jido_action 2.2.1 jido_signal 2.1.1 jido_simplemem 0.1.0 jsv 0.18.3 llm_db 2026.4.6 lua 0.4.0 luerl 1.5.1 memento 0.5.0 mime 2.0.7 mint 1.7.1 msgpax 2.4.0 multigraph 0.16.1-mg.3 nerves 1.14.1 nerves_discovery 0.1.2 nerves_logging 0.2.4 nerves_runtime 0.13.12 nerves_system_bbb 2.29.3 nerves_system_br 1.33.5 nerves_system_grisp2 0.17.3 nerves_system_mangopi_mq_pro 0.15.3 nerves_system_osd32mp1 0.24.3 nerves_system_qemu_aarch64 0.3.3 nerves_system_rpi 2.0.2 nerves_system_rpi0 2.0.2 nerves_system_rpi0_2 2.0.2 nerves_system_rpi2 2.0.2 nerves_system_rpi3 2.0.2 nerves_system_rpi4 2.0.2 nerves_system_rpi5 2.0.2 nerves_system_x86_64 1.33.3 nerves_toolchain_aarch64_nerves_linux_gnu 13.2.0 nerves_toolchain_armv6_nerves_linux_gnueabihf 13.2.0 nerves_toolchain_armv7_nerves_linux_gnueabihf 13.2.0 nerves_toolchain_ctng 1.10.0 nerves_toolchain_riscv64_nerves_linux_gnu 13.2.0 nerves_toolchain_x86_64_nerves_linux_musl 13.2.0 nerves_uevent 0.1.5 nimble_options 1.1.1 nimble_parsec 1.4.2 nimble_pool 1.1.0 ok 2.3.0 phoenix_pubsub 2.2.0 poolboy 1.5.2 private 0.1.2 property_table 0.3.3 req 0.5.17 req_llm 1.10.0 ring_logger 0.11.5 sched_ex 1.1.5 server_sent_events 0.2.1 shoehorn 0.9.3 splode 0.3.1 tablet 0.3.2 telemetry 1.4.1 telemetry_metrics 1.1.0 texture 0.3.2 timex 3.7.7 toml 0.7.0 toolshed 0.4.2 tzdata 1.0.5 uboot_env 1.0.2 uniq 0.6.2 websockex 0.5.1 zoi 0.17.4 All dependencies have been fetched ==> jason Compiling 10 files (.ex) Generated jason app ==> tablet Compiling 2 files (.ex) Generated tablet app ==> elixir_make Compiling 8 files (.ex) Generated elixir_make app ==> nerves_discovery Compiling 5 files (.ex) Generated nerves_discovery app ==> interactive_cmd Compiling 1 file (.ex) Generated interactive_cmd app ==> nerves HOST_CC port.o HOST_LD port Compiling 50 files (.ex) Generated nerves app ==> nerves_compatibility_test Nerves environment MIX_TARGET: rpi4 MIX_ENV: prod Checking for prebuilt Nerves artifacts... Found nerves_toolchain_aarch64_nerves_linux_gnu in cache /home/nerves/.nerves/artifacts/nerves_toolchain_aarch64_nerves_linux_gnu-linux_aarch64-13.2.0 Found nerves_system_rpi4 in cache /home/nerves/.nerves/artifacts/nerves_system_rpi4-portable-2.0.2 ==> nerves ==> nerves_system_br Generated nerves_system_br app ==> nerves_toolchain_ctng Compiling 1 file (.ex) Generated nerves_toolchain_ctng app ==> nerves_toolchain_aarch64_nerves_linux_gnu Generated nerves_toolchain_aarch64_nerves_linux_gnu app ==> nerves_system_rpi4 Generated nerves_system_rpi4 app ==> nerves_compatibility_test Nerves environment MIX_TARGET: rpi4 MIX_ENV: prod ==> crontab Compiling 7 files (.ex) Generated crontab app ==> combine Compiling 6 files (.ex) Generated combine app ==> mime Compiling 1 file (.ex) Generated mime app ==> toml Compiling 10 files (.ex) warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 264 │ defp handle_token(lexer, original, doc, type, skip, _data, lines) when type in '-_' do │ ~ │ └─ lib/decoder.ex:264:82 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 371 │ {:ok, {type, _skip, _data, _lines}} when type in '-+' -> │ ~ │ └─ lib/decoder.ex:371:56 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 419 │ {:ok, {:alpha, _, <>, _}} when c in 'eE' -> │ ~ │ └─ lib/decoder.ex:419:56 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 474 │ {:ok, {:alpha, _, <>, _}} when c in 'eE' -> │ ~ │ └─ lib/decoder.ex:474:52 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 514 │ {:ok, {sign, _, _, _}} when sign in '-+' and last == ?e -> │ ~ │ └─ lib/decoder.ex:514:43 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 518 │ {:ok, {:alpha, _, <>, _}} when c in 'eE' and signal == ?. -> │ ~ │ └─ lib/decoder.ex:518:52 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 522 │ {:ok, {?_, skip, _, lines}} when last not in '_e.' -> │ ~ │ └─ lib/decoder.ex:522:52 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 538 │ {:ok, {type, skip, data, lines}} when last in 'e.' -> │ ~ │ └─ lib/decoder.ex:538:53 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 542 │ {:ok, {_type, skip, _data, lines} = token} when last not in '_e.' -> │ ~ │ └─ lib/decoder.ex:542:67 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 682 │ {:ok, {sign, _, _, _}} when sign in '-+' -> │ ~ │ └─ lib/decoder.ex:682:45 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 796 │ {:ok, {sign, _, _, _}} when sign in '-+' -> │ ~ │ └─ lib/decoder.ex:796:43 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 916 │ {:ok, {type, skip, _, lines}} when type in '-_' -> │ ~ │ └─ lib/decoder.ex:916:52 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 954 │ {:ok, {type, _, _, _}} when type in '-_' -> │ ~ │ └─ lib/decoder.ex:954:51 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 969 │ {:ok, {type, _, _, _}} when type in '-_' -> │ ~ │ └─ lib/decoder.ex:969:43 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 983 │ {:ok, {type, _, _, _}} when type in '-_' -> │ ~ │ └─ lib/decoder.ex:983:47 Generated toml app ==> circular_buffer Compiling 1 file (.ex) Generated circular_buffer app ==> nimble_options Compiling 3 files (.ex) Generated nimble_options app ==> multigraph Compiling 16 files (.ex) warning: a struct for Multigraph is expected on struct update: %Multigraph{g | vertices: vs, vertex_labels: ls, out_edges: oe, in_edges: ie, edges: em} but got type: dynamic() where "g" was given the type: # type: dynamic() # from: lib/multigraph.ex:1193:9 g = prune_vertex_from_edge_index(g, v_id, v) when defining the variable "g", you must also pattern match on "%Multigraph{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 1202 │ %__MODULE__{g | vertices: vs, vertex_labels: ls, out_edges: oe, in_edges: ie, edges: em} │ ~ │ └─ lib/multigraph.ex:1202:7: Multigraph.delete_vertex/2 warning: a struct for Multigraph is expected on struct update: %Multigraph{ g | in_edges: Map.put(ie, v2_id, in_neighbors), out_edges: Map.put(oe, v1_id, out_neighbors), edges: Map.put(meta, edge_key, edge_meta), edge_properties: ep } but got type: dynamic() where "g" was given the type: # type: dynamic() # from: lib/multigraph.ex:1314:7 g = if g.multigraph do edge = Multigraph.Edge.new(v1, v2, label: label, weight: weight, properties: properties) index_multigraph_edge(g, edge_key, edge) else g end when defining the variable "g", you must also pattern match on "%Multigraph{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 1322 │ %__MODULE__{ │ ~ │ └─ lib/multigraph.ex:1322:5: Multigraph.do_add_edge/4 warning: a struct for Multigraph is expected on struct update: %Multigraph{g | edge_index: Map.put(g.edge_index, partition, new_edge_partition)} but got type: dynamic() where "g" was given the type: # type: dynamic() # from: lib/multigraph.ex:1338:50 g when defining the variable "g", you must also pattern match on "%Multigraph{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 1355 │ %__MODULE__{ │ ~ │ └─ lib/multigraph.ex:1355:7: Multigraph.index_multigraph_edge/3 warning: a struct for Multigraph is expected on struct update: %Multigraph{ g | in_edges: Map.put(g.in_edges, v2_id, v2_in), out_edges: Map.put(g.out_edges, v1_id, v1_out), edges: Map.delete(g.edges, {v1_id, v2_id}) } but got type: dynamic() where "g" was given the type: # type: dynamic() # from: lib/multigraph.ex:1455:9 g = prune_all_edge_indexes(g, {v1_id, v1}, {v2_id, v2}) when defining the variable "g", you must also pattern match on "%Multigraph{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 1457 │ g = %__MODULE__{ │ ~ │ └─ lib/multigraph.ex:1457:11: Multigraph.do_split_edge/4 warning: a struct for Multigraph is expected on struct update: %Multigraph{g | edges: Map.put(em, edge_key, new_meta), edge_properties: ep} but got type: dynamic() where "g" was given the type: # type: dynamic() # from: lib/multigraph.ex:1584:15 g = index_multigraph_edge( prune_edge_index(g, {v1_id, v1}, {v2_id, v2}, old_label), {v1_id, v2_id}, Multigraph.Edge.new(v1, v2, label: new_label, weight: new_weight, properties: new_properties) ) when defining the variable "g", you must also pattern match on "%Multigraph{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 1596 │ %__MODULE__{g | edges: Map.put(em, edge_key, new_meta), edge_properties: ep} │ ~ │ └─ lib/multigraph.ex:1596:13: Multigraph.do_update_labelled_edge/5 warning: a struct for Multigraph is expected on struct update: %Multigraph{ g | in_edges: Map.put(ie, v2_id, v2_in), out_edges: Map.put(oe, v1_id, v1_out), edges: meta } but got type: dynamic() where "g" was given the type: # type: dynamic() # from: lib/multigraph.ex:1654:9 g = prune_all_edge_indexes(g, {v1_id, v1}, {v2_id, v2}) when defining the variable "g", you must also pattern match on "%Multigraph{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 1659 │ %__MODULE__{ │ ~ │ └─ lib/multigraph.ex:1659:7: Multigraph.do_delete_edge/3 warning: a struct for Multigraph is expected on struct update: %Multigraph{acc | edge_index: updated_edge_index} but got type: dynamic() where "acc" was given the type: # type: dynamic() # from: lib/multigraph.ex:1726:43 acc when defining the variable "acc", you must also pattern match on "%Multigraph{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 1753 │ %__MODULE__{acc | edge_index: updated_edge_index} │ ~ │ └─ lib/multigraph.ex:1753:7: Multigraph.prune_edge_key_from_partitions/5 warning: a struct for Multigraph is expected on struct update: %Multigraph{ g | in_edges: Map.put(ie, v2_id, v2_in), out_edges: Map.put(oe, v1_id, v1_out), edges: meta } but got type: dynamic() where "g" was given the type: # type: dynamic() # from: lib/multigraph.ex:1838:9 g = prune_edge_index(g, {v1_id, v1}, {v2_id, v2}, label) when defining the variable "g", you must also pattern match on "%Multigraph{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 1847 │ %__MODULE__{ │ ~ │ └─ lib/multigraph.ex:1847:11: Multigraph.do_delete_edge/4 warning: a struct for Multigraph is expected on struct update: %Multigraph{g | edges: meta} but got type: dynamic() where "g" was given the type: # type: dynamic() # from: lib/multigraph.ex:1838:9 g = prune_edge_index(g, {v1_id, v1}, {v2_id, v2}, label) when defining the variable "g", you must also pattern match on "%Multigraph{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 1856 │ %__MODULE__{g | edges: meta} │ ~ │ └─ lib/multigraph.ex:1856:11: Multigraph.do_delete_edge/4 Generated multigraph app ==> hpax Compiling 4 files (.ex) Generated hpax app ==> mint Compiling 1 file (.erl) Compiling 20 files (.ex) Generated mint app ==> msgpax Compiling 9 files (.ex) Generated msgpax app ==> nerves_compatibility_test ===> Analyzing applications... ===> Compiling luerl ===> Analyzing applications... ===> Compiling fuse ===> Analyzing applications... ===> Compiling hackney ┌─ src/hackney_ssl.erl: │ 65 │ case lists:keymember(ecdh_rsa, 1, ssl:cipher_suites()) of │ ╰── Warning: ssl:cipher_suites/0 is removed; use ssl:cipher_suites/2,3 instead ┌─ src/hackney_stream.erl: │ 35 │ erlang:get_stacktrace()}, │ ╰── Warning: erlang:get_stacktrace/0 is removed; use the new try/catch syntax for retrieving the stack backtrace ==> tzdata Compiling 17 files (.ex) warning: unknown compiler variable "______" (expected one of __MODULE__, __ENV__, __DIR__, __CALLER__, __STACKTRACE__) │ 27 │ ______ -> [head|process_tz_list(tail)] # pass through │ ~ │ └─ lib/tzdata/parser.ex:27:7: Tzdata.Parser.process_tz_list/1 warning: Supervisor.Spec.worker/2 is deprecated. Use the new child specifications outlined in the Supervisor module instead │ 10 │ worker(Tzdata.EtsHolder, []) │ ~ │ └─ lib/tzdata/tzdata_app.ex:10:7: Tzdata.App.start/2 └─ lib/tzdata/tzdata_app.ex:13:39: Tzdata.App.start/2 warning: :random.uniform/1 is deprecated. Use the 'rand' module instead │ 17 │ "#{data_dir()}/tmp_downloads/#{content_length}_#{:random.uniform(100_000_000)}/" │ ~ │ └─ lib/tzdata/data_loader.ex:17:64: Tzdata.DataLoader.download_new/1 Generated tzdata app ==> abacus Compiling 3 files (.erl) Compiling 5 files (.ex) warning: Abacus.parse/1 is undefined or private │ 36 │ Abacus.parse(without_parantheses), │ ~ │ └─ lib/format.ex:36:14: Abacus.Format.format/1 └─ lib/format.ex:37:14: Abacus.Format.format/1 └─ lib/format.ex:38:14: Abacus.Format.format/1 └─ lib/format.ex:39:14: Abacus.Format.format/1 └─ lib/format.ex:64:14: Abacus.Format.format/1 └─ lib/format.ex:65:14: Abacus.Format.format/1 └─ lib/format.ex:81:14: Abacus.Format.format/1 └─ lib/format.ex:82:14: Abacus.Format.format/1 └─ lib/format.ex:100:28: Abacus.Format.format/1 Generated abacus app ==> server_sent_events Compiling 1 file (.ex) Generated server_sent_events app ==> private Compiling 1 file (.ex) Generated private app ==> nerves_logging CC kmsg_tailer.o LD kmsg_tailer Compiling 5 files (.ex) Generated nerves_logging app ==> uniq Compiling 4 files (.ex) Generated uniq app ==> ring_logger Compiling 7 files (.ex) Generated ring_logger app ==> deep_merge Compiling 2 files (.ex) Generated deep_merge app ==> nerves_compatibility_test ===> Analyzing applications... ===> Compiling poolboy ==> shoehorn Compiling 8 files (.ex) Generated shoehorn app ==> nerves_compatibility_test ===> Analyzing applications... ===> Compiling idna ==> nimble_parsec Compiling 4 files (.ex) Generated nimble_parsec app ==> zoi Compiling 79 files (.ex) Generated zoi app ==> nerves_compatibility_test ===> Analyzing applications... ===> Compiling telemetry ==> websockex Compiling 6 files (.ex) Generated websockex app ==> telemetry_metrics Compiling 7 files (.ex) Generated telemetry_metrics app ==> ok Compiling 3 files (.ex) Generated ok app ==> expo Compiling 2 files (.erl) Compiling 22 files (.ex) Generated expo app ==> gettext Compiling 18 files (.ex) Generated gettext app ==> abnf_parsec Compiling 4 files (.ex) Generated abnf_parsec app ==> texture Compiling 6 files (.ex) Generated texture app ==> phoenix_pubsub Compiling 12 files (.ex) Generated phoenix_pubsub app ==> splode Compiling 5 files (.ex) Generated splode app ==> jsv Compiling 73 files (.ex) Generated jsv app ==> lua Compiling 7 files (.ex) Generated lua app ==> dotenvy Compiling 3 files (.ex) Generated dotenvy app ==> uboot_env Compiling 5 files (.ex) Generated uboot_env app warning: the :gettext compiler is no longer required in your mix.exs. Please find the following line in your mix.exs and remove the :gettext entry: compilers: [..., :gettext, ...] ++ Mix.compilers(), (gettext 0.26.2) lib/mix/tasks/compile.gettext.ex:5: Mix.Tasks.Compile.Gettext.run/1 (mix 1.19.4) lib/mix/task.ex:499: anonymous fn/3 in Mix.Task.run_task/5 (mix 1.19.4) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2 (mix 1.19.4) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4 (mix 1.19.4) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2 (mix 1.19.4) lib/mix/task.ex:499: anonymous fn/3 in Mix.Task.run_task/5 ==> timex Compiling 62 files (.ex) warning: min..max inside match is deprecated, you must always match on the step: min..max//var or min..max//_ if you want to ignore it lib/format/datetime/formatter.ex:893: Timex.Format.DateTime.Formatter.width_spec/1 warning: defining a Gettext backend by calling use Gettext, otp_app: ... is deprecated. To define a backend, call: use Gettext.Backend, otp_app: :my_app Then, instead of importing your backend, call this in your module: use Gettext, backend: MyApp.Gettext lib/l10n/gettext.ex:2: Timex.Gettext (module) warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "bg" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "bg" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "bg" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "bg" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "bg" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "bg" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "bg" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "bg" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "bg" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "bg" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "bg" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "bg" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "bg" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "bg" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "bg" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "bg" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "cs" locale, you can use the following header: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "cs" locale, you can use the following header: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "cs" locale, you can use the following header: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "cs" locale, you can use the following header: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "cs" locale, you can use the following header: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "cs" locale, you can use the following header: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "cs" locale, you can use the following header: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "cs" locale, you can use the following header: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "cs" locale, you can use the following header: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "cs" locale, you can use the following header: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "cs" locale, you can use the following header: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "cs" locale, you can use the following header: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2; (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "he" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "he" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "he" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "he" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "he" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "he" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "he" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "he" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "he" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "he" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "he" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "he" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "he" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "he" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "he" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "he" locale, you can use the following header: nplurals=2; plural=(n != 1); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 12:30:04.657 [error] priv/translations/id/LC_MESSAGES/units.po:24: message is missing plural form 1 which is required by the locale "id" 12:30:04.658 [error] priv/translations/id/LC_MESSAGES/units.po:29: message is missing plural form 1 which is required by the locale "id" 12:30:04.658 [error] priv/translations/id/LC_MESSAGES/units.po:34: message is missing plural form 1 which is required by the locale "id" 12:30:04.658 [error] priv/translations/id/LC_MESSAGES/units.po:39: message is missing plural form 1 which is required by the locale "id" 12:30:04.658 [error] priv/translations/id/LC_MESSAGES/units.po:44: message is missing plural form 1 which is required by the locale "id" 12:30:04.658 [error] priv/translations/id/LC_MESSAGES/units.po:49: message is missing plural form 1 which is required by the locale "id" 12:30:04.658 [error] priv/translations/id/LC_MESSAGES/units.po:54: message is missing plural form 1 which is required by the locale "id" 12:30:04.658 [error] priv/translations/id/LC_MESSAGES/units.po:59: message is missing plural form 1 which is required by the locale "id" 12:30:04.658 [error] priv/translations/id/LC_MESSAGES/units.po:64: message is missing plural form 1 which is required by the locale "id" 12:30:04.658 [error] priv/translations/id/LC_MESSAGES/units.po:69: message is missing plural form 1 which is required by the locale "id" warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "ro" locale, you can use the following header: nplurals=3; plural=(n==1 ? 0 : (n==0||(n%100>0 && n%100<20)) ? 1 : 2); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "ro" locale, you can use the following header: nplurals=3; plural=(n==1 ? 0 : (n==0||(n%100>0 && n%100<20)) ? 1 : 2); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "ro" locale, you can use the following header: nplurals=3; plural=(n==1 ? 0 : (n==0||(n%100>0 && n%100<20)) ? 1 : 2); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:570: Gettext.Compiler.compile_plural_forms/4 (gettext 0.26.2) lib/gettext/compiler.ex:508: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: Plural-Forms headers in the form "nplurals=" (without the "plural=" part following) are invalid and support for them will be removed in future Gettext versions. Make sure to use a complete Plural-Forms header, which also specifies the pluralization rules, or remove the Plural-Forms header completely. If you do the latter, Gettext will use its built-in pluralization rules for the languages it knows about (see Gettext.Plural). For the "ro" locale, you can use the following header: nplurals=3; plural=(n==1 ? 0 : (n==0||(n%100>0 && n%100<20)) ? 1 : 2); (gettext 0.26.2) lib/gettext/plural.ex:282: Gettext.Plural.init/1 (gettext 0.26.2) lib/gettext/compiler.ex:563: Gettext.Compiler.nplurals/3 (gettext 0.26.2) lib/gettext/compiler.ex:509: Gettext.Compiler.compile_po_file/5 (gettext 0.26.2) lib/gettext/compiler.ex:447: Gettext.Compiler.compile_unified_po_file/4 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 (elixir 1.19.4) lib/enum.ex:1688: Enum."-map/2-lists^map/1-1-"/2 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 7 │ @numeric '.0123456789' │ ~ │ └─ lib/parse/duration/parsers/iso8601.ex:7:12 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 129 │ defp parse_component(<>, acc) when c in 'WYMDHS' do │ ~ │ └─ lib/parse/duration/parsers/iso8601.ex:129:52 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 149 │ defp parse_component(<>, acc) when c in 'WYMDHS' do │ ~ │ └─ lib/parse/duration/parsers/iso8601.ex:149:66 warning: bitstring specifier "integer_32bit_be" does not exist and is being expanded to "integer_32bit_be()", please use parentheses to remove the ambiguity. You may run "mix format --migrate" to fix this warning automatically. │ 684 │ defp parse_i32(<>), do: {val, rest} │ ~ │ └─ lib/parse/zoneinfo/parser.ex:684:23: Timex.Parse.ZoneInfo.Parser.parse_i32/1 warning: bitstring specifier "integer_64bit_be" does not exist and is being expanded to "integer_64bit_be()", please use parentheses to remove the ambiguity. You may run "mix format --migrate" to fix this warning automatically. │ 685 │ defp parse_i64(<>), do: {val, rest} │ ~ │ └─ lib/parse/zoneinfo/parser.ex:685:23: Timex.Parse.ZoneInfo.Parser.parse_i64/1 warning: bitstring specifier "signed_char_be" does not exist and is being expanded to "signed_char_be()", please use parentheses to remove the ambiguity. You may run "mix format --migrate" to fix this warning automatically. │ 686 │ defp parse_char(<>), do: {val, rest} │ ~ │ └─ lib/parse/zoneinfo/parser.ex:686:24: Timex.Parse.ZoneInfo.Parser.parse_char/1 warning: bitstring specifier "unsigned_char_be" does not exist and is being expanded to "unsigned_char_be()", please use parentheses to remove the ambiguity. You may run "mix format --migrate" to fix this warning automatically. │ 687 │ defp parse_uchar(<>), do: {val, rest} │ ~ │ └─ lib/parse/zoneinfo/parser.ex:687:25: Timex.Parse.ZoneInfo.Parser.parse_uchar/1 warning: Module.eval_quoted/4 is deprecated. Use Code.eval_quoted/3 instead │ 1138 │ Module.eval_quoted(__MODULE__, day_quoted, [], __ENV__) │ ~ │ └─ lib/timex.ex:1138:12: Timex (module) warning: Module.eval_quoted/4 is deprecated. Use Code.eval_quoted/3 instead │ 1236 │ Module.eval_quoted(__MODULE__, month_quoted, [], __ENV__) │ ~ │ └─ lib/timex.ex:1236:12: Timex (module) warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 153 │ @local_tz_key 'SYSTEM\\CurrentControlSet\\Control\\TimeZoneInformation' │ ~ │ └─ lib/timezone/local.ex:153:17 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 154 │ @sys_tz_key 'SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Time Zones' │ ~ │ └─ lib/timezone/local.ex:154:15 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 155 │ @tz_key_name 'TimeZoneKeyName' │ ~ │ └─ lib/timezone/local.ex:155:16 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 162 │ :ok = :win32reg.change_key(handle, '\\local_machine\\#{@local_tz_key}') │ ~ │ └─ lib/timezone/local.ex:162:40 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 180 │ localized = List.keyfind(values, 'StandardName', 0) │ ~ │ └─ lib/timezone/local.ex:180:40 warning: using single-quoted strings to represent charlists is deprecated. Use ~c"" if you indeed want a charlist or use "" instead. You may run "mix format --migrate" to change all single-quoted strings to use the ~c sigil and fix this warning. │ 190 │ case List.keyfind(values, 'Std', 0) do │ ~ │ └─ lib/timezone/local.ex:190:37 warning: Module.eval_quoted/4 is deprecated. Use Code.eval_quoted/3 instead │ 22 │ Module.eval_quoted(__MODULE__, quoted, [], __ENV__) │ ~ │ └─ lib/timezone/utils.ex:22:12: Timex.Timezone.Utils (module) warning: Module.eval_quoted/4 is deprecated. Use Code.eval_quoted/3 instead │ 42 │ Module.eval_quoted(__MODULE__, quoted, [], __ENV__) │ ~ │ └─ lib/timezone/utils.ex:42:12: Timex.Timezone.Utils (module) warning: a struct for Timex.PosixTimezone is expected on struct update: %Timex.PosixTimezone{rule | std_abbr: abbr} but got type: dynamic() where "rule" was given the type: # type: dynamic() # from: lib/parse/posix/parser.ex:119:33 rule when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 121 │ parse_tz(:std_offset, rest, %TZ{rule | std_abbr: abbr}) │ ~ │ └─ lib/parse/posix/parser.ex:121:35: Timex.Parse.Timezones.Posix.parse_tz/3 warning: a struct for Timex.PosixTimezone is expected on struct update: %Timex.PosixTimezone{rule | std_offset: offset} but got type: dynamic() where "rule" was given the type: # type: dynamic() # from: lib/parse/posix/parser.ex:125:35 rule when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 127 │ parse_tz(:dst_abbr, rest, %TZ{rule | std_offset: offset}) │ ~ │ └─ lib/parse/posix/parser.ex:127:33: Timex.Parse.Timezones.Posix.parse_tz/3 warning: a struct for Timex.PosixTimezone is expected on struct update: %Timex.PosixTimezone{rule | dst_abbr: abbr} but got type: dynamic() where "rule" was given the type: # type: dynamic() # from: lib/parse/posix/parser.ex:141:33 rule when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 143 │ rule = %TZ{rule | dst_abbr: abbr} do │ ~ │ └─ lib/parse/posix/parser.ex:143:17: Timex.Parse.Timezones.Posix.parse_tz/3 warning: a struct for Timex.PosixTimezone is expected on struct update: %Timex.PosixTimezone{rule | dst_offset: offset} but got type: dynamic() where "rule" was given the type: # type: dynamic() # from: lib/parse/posix/parser.ex:160:35 rule when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 162 │ rule = %TZ{rule | dst_offset: offset} do │ ~ │ └─ lib/parse/posix/parser.ex:162:17: Timex.Parse.Timezones.Posix.parse_tz/3 warning: a struct for Timex.PosixTimezone is expected on struct update: %Timex.PosixTimezone{rule | dst_start: dst_start, dst_end: dst_end} but got type: dynamic() where "rule" was given the type: # type: dynamic() # from: lib/parse/posix/parser.ex:185:36 rule when defining the variable "rule", you must also pattern match on "%Timex.PosixTimezone{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 190 │ {:ok, %TZ{rule | dst_start: dst_start, dst_end: dst_end}, rest} │ ~ │ └─ lib/parse/posix/parser.ex:190:17: Timex.Parse.Timezones.Posix.parse_tz/3 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update: %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions, leaps: leaps} but got type: dynamic() where "zone" was given the type: # type: dynamic() # from: lib/parse/zoneinfo/parser.ex:156:28 {:ok, zone, rest} <- parse_content(1, data, %Timex.Parse.ZoneInfo.Parser.Zone{..., version: 1}) when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 159 │ {:ok, %Zone{zone | transitions: transitions, leaps: leaps}, rest} │ ~ │ └─ lib/parse/zoneinfo/parser.ex:159:13: Timex.Parse.ZoneInfo.Parser.parse_versioned_content/2 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update: %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: times} but got type: dynamic() where "zone" was given the type: # type: dynamic() # from: lib/parse/zoneinfo/parser.ex:270:92 zone when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 272 │ parse_transition_info(version, rest, header, %Zone{zone | transitions: times}) │ ~ │ └─ lib/parse/zoneinfo/parser.ex:272:50: Timex.Parse.ZoneInfo.Parser.parse_transition_times/4 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update: %Timex.Parse.ZoneInfo.Parser.Zone{zone | leaps: leaps} but got type: dynamic() where "zone" was given the type: # type: dynamic() # from: lib/parse/zoneinfo/parser.ex:330:79 zone when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 344 │ parse_flags(version, rest, header, %Zone{zone | leaps: leaps}) │ ~ │ └─ lib/parse/zoneinfo/parser.ex:344:40: Timex.Parse.ZoneInfo.Parser.parse_leap_seconds/4 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update: %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions} but got type: dynamic() where "zone" was given the type: # type: dynamic() # from: lib/parse/zoneinfo/parser.ex:348:90 zone when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 362 │ parse_posixtz_string(version, rest, %Zone{zone | transitions: transitions}) │ ~ │ └─ lib/parse/zoneinfo/parser.ex:362:43: Timex.Parse.ZoneInfo.Parser.parse_flags/4 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update: %Timex.Parse.ZoneInfo.Parser.Zone{zone | transitions: transitions} but got type: dynamic() where "zone" was given the type: # type: dynamic() # from: lib/parse/zoneinfo/parser.ex:348:90 zone when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 364 │ {:ok, %Zone{zone | transitions: transitions}, rest} │ ~ │ └─ lib/parse/zoneinfo/parser.ex:364:13: Timex.Parse.ZoneInfo.Parser.parse_flags/4 warning: a struct for Timex.Parse.ZoneInfo.Parser.Zone is expected on struct update: %Timex.Parse.ZoneInfo.Parser.Zone{zone | rule: rule} but got type: dynamic() where "zone" was given the type: # type: dynamic() # from: lib/parse/zoneinfo/parser.ex:369:62 zone when defining the variable "zone", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Zone{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 372 │ {:ok, %Zone{zone | rule: rule}, format_rest <> rest} │ ~ │ └─ lib/parse/zoneinfo/parser.ex:372:13: Timex.Parse.ZoneInfo.Parser.parse_posixtz_string/3 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update: %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_abbr: abbr, dst_abbr: abbr} but got type: dynamic() where "rule" was given the type: # type: dynamic() # from: lib/parse/zoneinfo/parser.ex:383:33 rule when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 385 │ parse_tz(:std_offset, rest, %Rule{rule | std_abbr: abbr, dst_abbr: abbr}) │ ~ │ └─ lib/parse/zoneinfo/parser.ex:385:35: Timex.Parse.ZoneInfo.Parser.parse_tz/3 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update: %Timex.Parse.ZoneInfo.Parser.Rule{rule | std_offset: offset, dst_offset: offset} but got type: dynamic() where "rule" was given the type: # type: dynamic() # from: lib/parse/zoneinfo/parser.ex:389:35 rule when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 391 │ parse_tz(:dst_abbr, rest, %Rule{rule | std_offset: offset, dst_offset: offset}) │ ~ │ └─ lib/parse/zoneinfo/parser.ex:391:33: Timex.Parse.ZoneInfo.Parser.parse_tz/3 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update: %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_abbr: abbr} but got type: dynamic() where "rule" was given the type: # type: dynamic() # from: lib/parse/zoneinfo/parser.ex:405:33 rule when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 407 │ rule = %Rule{rule | dst_abbr: abbr} do │ ~ │ └─ lib/parse/zoneinfo/parser.ex:407:17: Timex.Parse.ZoneInfo.Parser.parse_tz/3 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update: %Timex.Parse.ZoneInfo.Parser.Rule{rule | dst_offset: offset} but got type: dynamic() where "rule" was given the type: # type: dynamic() # from: lib/parse/zoneinfo/parser.ex:424:35 rule when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 426 │ rule = %Rule{rule | dst_offset: offset} do │ ~ │ └─ lib/parse/zoneinfo/parser.ex:426:17: Timex.Parse.ZoneInfo.Parser.parse_tz/3 warning: a struct for Timex.Parse.ZoneInfo.Parser.Rule is expected on struct update: %Timex.Parse.ZoneInfo.Parser.Rule{rule | start_time: start_time, end_time: end_time} but got type: dynamic() where "rule" was given the type: # type: dynamic() # from: lib/parse/zoneinfo/parser.ex:449:36 rule when defining the variable "rule", you must also pattern match on "%Timex.Parse.ZoneInfo.Parser.Rule{}". hint: given pattern matching is enough to catch typing errors, you may optionally convert the struct update into a map update. For example, instead of: user = some_function() %User{user | name: "John Doe"} it is enough to write: %User{} = user = some_function() %{user | name: "John Doe"} typing violation found at: │ 454 │ {:ok, %Rule{rule | start_time: start_time, end_time: end_time}, rest} │ ~ │ └─ lib/parse/zoneinfo/parser.ex:454:17: Timex.Parse.ZoneInfo.Parser.parse_tz/3 Generated timex app ==> sched_ex Compiling 6 files (.ex) Generated sched_ex app ==> nimble_pool Compiling 2 files (.ex) Generated nimble_pool app ==> finch Compiling 14 files (.ex) Generated finch app ==> req Compiling 19 files (.ex) Generated req app ==> jido_action Compiling 31 files (.ex) warning: Graph.topsort/1 is undefined (module Graph is not available or is yet to be defined). Make sure the module name is correct and has been specified in full (or that an alias has been defined) │ 302 │ phases = Graph.topsort(graph) |> build_execution_phases(graph) │ ~ │ └─ lib/jido_plan.ex:302:22: Jido.Plan.execution_phases/1 warning: Graph.new/1 is undefined (module Graph is not available or is yet to be defined). Make sure the module name is correct and has been specified in full (or that an alias has been defined) │ 393 │ graph = Graph.new(type: :directed) │ ~ │ └─ lib/jido_plan.ex:393:19: Jido.Plan.build_graph/1 warning: Graph.add_vertex/2 is undefined (module Graph is not available or is yet to be defined). Make sure the module name is correct and has been specified in full (or that an alias has been defined) │ 398 │ Graph.add_vertex(acc_graph, plan_instruction.name) │ ~ │ └─ lib/jido_plan.ex:398:15: Jido.Plan.build_graph/1 warning: Graph.add_edge/3 is undefined (module Graph is not available or is yet to be defined). Make sure the module name is correct and has been specified in full (or that an alias has been defined) │ 405 │ Graph.add_edge(edge_graph, dep, plan_instruction.name) │ ~ │ └─ lib/jido_plan.ex:405:17: Jido.Plan.build_graph/1 warning: Graph.is_acyclic?/1 is undefined (module Graph is not available or is yet to be defined). Make sure the module name is correct and has been specified in full (or that an alias has been defined) │ 413 │ if Graph.is_acyclic?(graph) do │ ~ │ └─ lib/jido_plan.ex:413:14: Jido.Plan.validate_graph/1 warning: Graph.vertices/1 is undefined (module Graph is not available or is yet to be defined). Make sure the module name is correct and has been specified in full (or that an alias has been defined) │ 435 │ vertices = Graph.vertices(graph) │ ~ │ └─ lib/jido_plan.ex:435:22: Jido.Plan.find_cycle/1 warning: Graph.out_neighbors/2 is undefined (module Graph is not available or is yet to be defined). Make sure the module name is correct and has been specified in full (or that an alias has been defined) │ 461 │ neighbors = Graph.out_neighbors(graph, vertex) │ ~ │ └─ lib/jido_plan.ex:461:25: Jido.Plan.dfs_visit/5 warning: Graph.in_neighbors/2 is undefined (module Graph is not available or is yet to be defined). Make sure the module name is correct and has been specified in full (or that an alias has been defined) │ 497 │ predecessors = Graph.in_neighbors(graph, vertex) │ ~ │ └─ lib/jido_plan.ex:497:26: Jido.Plan.calculate_depth/3 Generated jido_action app ==> ex_aws_auth Compiling 6 files (.ex) Generated ex_aws_auth app ==> llm_db Compiling 53 files (.ex) Generated llm_db app ==> req_llm Compiling 135 files (.ex) Generated req_llm app ==> memento Compiling 13 files (.ex) Generated memento app ==> jido_signal Compiling 65 files (.ex) 12:30:13.629 [debug] Extension registry not started, queued registration of Elixir.Jido.Signal.Ext.Dispatch 12:30:13.746 [debug] Extension registry not started, queued registration of Elixir.Jido.Signal.Ext.Trace Generated jido_signal app ==> jido Compiling 102 files (.ex) Generated jido app ==> jido_simplemem Compiling 35 files (.ex) Generated jido_simplemem app ==> property_table Compiling 8 files (.ex) Generated property_table app ==> nerves_uevent CC uevent.o LD uevent Compiling 5 files (.ex) Generated nerves_uevent app ==> nerves_runtime Compiling 14 files (.ex) Generated nerves_runtime app ==> toolshed Compiling 5 files (.ex) Generated toolshed app ==> nerves_compatibility_test Compiling 2 files (.ex) Generated nerves_compatibility_test app |nerves| Building OTP Release... ** (Mix) Could not find application :mimerl