-module(morse_code_translator). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]). -export([convert/2, convert_to_string/2, encode/3, encode_to_string/3, decode/3, decode_to_string/3]). -export_type([morse_code_error/0, language/0, encode_options/0, decode_options/0, convert_options/0]). -type morse_code_error() :: {morse_code_error, binary()}. -type language() :: {language, binary()}. -type encode_options() :: {encode_options, gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(language())}. -type decode_options() :: {decode_options, gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(binary()), gleam@option:option(boolean()), gleam@option:option(language())}. -type convert_options() :: {convert_options, binary(), binary(), binary(), binary(), binary(), binary(), binary(), binary()}. -spec list_key_find( list({binary(), binary(), list(boolean())}), binary(), binary() ) -> {ok, list(boolean())} | {error, nil}. list_key_find(Keys, Desired_key, Language) -> case gleam@list:filter( Keys, fun(K) -> erlang:element(2, K) =:= Desired_key end ) of [] -> {error, nil}; [Only_key] -> {ok, erlang:element(3, Only_key)}; Dublic_keys -> case gleam@list:filter( Dublic_keys, fun(Key) -> erlang:element(1, Key) =:= Language end ) of [] -> _pipe = Dublic_keys, _pipe@1 = gleam@list:first(_pipe), gleam@result:map( _pipe@1, fun(Key@1) -> erlang:element(3, Key@1) end ); [Only_lang_key] -> {ok, erlang:element(3, Only_lang_key)}; Dublic_lang_keys -> _pipe@2 = Dublic_lang_keys, _pipe@3 = gleam@list:first(_pipe@2), gleam@result:map( _pipe@3, fun(Key@2) -> erlang:element(3, Key@2) end ) end end. -spec list_value_find( list({binary(), binary(), list(boolean())}), list(boolean()), binary() ) -> {ok, binary()} | {error, nil}. list_value_find(Values, Desired_value, Language) -> case gleam@list:filter( Values, fun(V) -> erlang:element(3, V) =:= Desired_value end ) of [] -> {error, nil}; [Only_value] -> {ok, erlang:element(2, Only_value)}; Dublic_values -> case gleam@list:filter( Dublic_values, fun(Value) -> erlang:element(1, Value) =:= Language end ) of [] -> _pipe = Dublic_values, _pipe@1 = gleam@list:first(_pipe), gleam@result:map( _pipe@1, fun(Value@1) -> erlang:element(2, Value@1) end ); [Only_lang_value] -> {ok, erlang:element(2, Only_lang_value)}; Dublic_lang_values -> _pipe@2 = Dublic_lang_values, _pipe@3 = gleam@list:first(_pipe@2), gleam@result:map( _pipe@3, fun(Value@2) -> erlang:element(2, Value@2) end ) end end. -spec convert(binary(), convert_options()) -> {ok, binary()} | {error, morse_code_error()}. convert(Input, Options) -> _pipe = Input, _pipe@1 = gleam@string:to_graphemes(_pipe), _pipe@2 = gleam@list:try_map(_pipe@1, fun(G) -> case true of _ when G =:= erlang:element(8, Options) -> {ok, erlang:element(9, Options)}; _ when G =:= erlang:element(6, Options) -> {ok, erlang:element(7, Options)}; _ when G =:= erlang:element(2, Options) -> {ok, erlang:element(3, Options)}; _ when G =:= erlang:element(4, Options) -> {ok, erlang:element(5, Options)}; _ -> {error, {morse_code_error, <<"Invalid morse code symbol: "/utf8, G/binary>>}} end end), gleam@result:map( _pipe@2, fun(_capture) -> gleam@string:join(_capture, <<""/utf8>>) end ). -spec convert_to_string(binary(), convert_options()) -> binary(). convert_to_string(Input, Options) -> case convert(Input, Options) of {ok, Value} -> Value; {error, Value@1} -> erlang:element(2, Value@1) end. -spec if_(boolean(), GIE, GIE) -> GIE. if_(Condition, If_true, If_false) -> case Condition of true -> If_true; false -> If_false end. -spec encode( binary(), encode_options(), gleam@option:option(list({binary(), binary(), list(boolean())})) ) -> {ok, binary()} | {error, morse_code_error()}. encode(Input, Options, Morse_code_dict) -> Opt_output_dot = gleam@option:unwrap( erlang:element(2, Options), <<"."/utf8>> ), Opt_output_dash = gleam@option:unwrap( erlang:element(3, Options), <<"-"/utf8>> ), Opt_output_space = gleam@option:unwrap( erlang:element(4, Options), <<"/"/utf8>> ), Opt_output_separator = gleam@option:unwrap( erlang:element(5, Options), <<" "/utf8>> ), Opt_is_uppercase = gleam@option:unwrap(erlang:element(6, Options), false), Opt_language = erlang:element( 2, gleam@option:unwrap( erlang:element(7, Options), {language, <<"1"/utf8>>} ) ), _pipe = Input, _pipe@1 = gleam@string:to_graphemes(_pipe), _pipe@5 = gleam@list:try_map(_pipe@1, fun(G) -> case G of <<" "/utf8>> -> {ok, Opt_output_space}; <<"\n"/utf8>> -> {ok, Opt_output_space}; <<"\r"/utf8>> -> {ok, Opt_output_space}; <<"\t"/utf8>> -> {ok, Opt_output_space}; _ -> G@1 = if_(Opt_is_uppercase, G, gleam@string:uppercase(G)), case list_key_find( gleam@option:unwrap( Morse_code_dict, [{<<"1"/utf8>>, <<"A"/utf8>>, [false, true]}, {<<"1"/utf8>>, <<"B"/utf8>>, [true, false, false, false]}, {<<"1"/utf8>>, <<"C"/utf8>>, [true, false, true, false]}, {<<"1"/utf8>>, <<"D"/utf8>>, [true, false, false]}, {<<"1"/utf8>>, <<"E"/utf8>>, [false]}, {<<"1"/utf8>>, <<"F"/utf8>>, [false, false, true, false]}, {<<"1"/utf8>>, <<"G"/utf8>>, [true, true, false]}, {<<"1"/utf8>>, <<"H"/utf8>>, [false, false, false, false]}, {<<"1"/utf8>>, <<"I"/utf8>>, [false, false]}, {<<"1"/utf8>>, <<"J"/utf8>>, [false, true, true, true]}, {<<"1"/utf8>>, <<"K"/utf8>>, [true, false, true]}, {<<"1"/utf8>>, <<"L"/utf8>>, [false, true, false, false]}, {<<"1"/utf8>>, <<"M"/utf8>>, [true, true]}, {<<"1"/utf8>>, <<"N"/utf8>>, [true, false]}, {<<"1"/utf8>>, <<"O"/utf8>>, [true, true, true]}, {<<"1"/utf8>>, <<"P"/utf8>>, [false, true, true, false]}, {<<"1"/utf8>>, <<"Q"/utf8>>, [true, true, false, true]}, {<<"1"/utf8>>, <<"R"/utf8>>, [false, true, false]}, {<<"1"/utf8>>, <<"S"/utf8>>, [false, false, false]}, {<<"1"/utf8>>, <<"T"/utf8>>, [true]}, {<<"1"/utf8>>, <<"U"/utf8>>, [false, false, true]}, {<<"1"/utf8>>, <<"V"/utf8>>, [false, false, false, true]}, {<<"1"/utf8>>, <<"W"/utf8>>, [false, true, true]}, {<<"1"/utf8>>, <<"X"/utf8>>, [true, false, false, true]}, {<<"1"/utf8>>, <<"Y"/utf8>>, [true, false, true, true]}, {<<"1"/utf8>>, <<"Z"/utf8>>, [true, true, false, false]}, {<<"2"/utf8>>, <<"0"/utf8>>, [true, true, true, true, true]}, {<<"2"/utf8>>, <<"1"/utf8>>, [false, true, true, true, true]}, {<<"2"/utf8>>, <<"2"/utf8>>, [false, false, true, true, true]}, {<<"2"/utf8>>, <<"3"/utf8>>, [false, false, false, true, true]}, {<<"2"/utf8>>, <<"4"/utf8>>, [false, false, false, false, true]}, {<<"2"/utf8>>, <<"5"/utf8>>, [false, false, false, false, false]}, {<<"2"/utf8>>, <<"6"/utf8>>, [true, false, false, false, false]}, {<<"2"/utf8>>, <<"7"/utf8>>, [true, true, false, false, false]}, {<<"2"/utf8>>, <<"8"/utf8>>, [true, true, true, false, false]}, {<<"2"/utf8>>, <<"9"/utf8>>, [true, true, true, true, false]}, {<<"3"/utf8>>, <<"."/utf8>>, [false, true, false, true, false, true]}, {<<"3"/utf8>>, <<","/utf8>>, [true, true, false, false, true, true]}, {<<"3"/utf8>>, <<"?"/utf8>>, [false, false, true, true, false, false]}, {<<"3"/utf8>>, <<"'"/utf8>>, [false, true, true, true, true, false]}, {<<"3"/utf8>>, <<"!"/utf8>>, [true, false, true, false, true, true]}, {<<"3"/utf8>>, <<"/"/utf8>>, [true, false, false, true, false]}, {<<"3"/utf8>>, <<"("/utf8>>, [true, false, true, true, false]}, {<<"3"/utf8>>, <<")"/utf8>>, [true, false, true, true, false, true]}, {<<"3"/utf8>>, <<"&"/utf8>>, [false, true, false, false, false]}, {<<"3"/utf8>>, <<":"/utf8>>, [true, true, true, false, false, false]}, {<<"3"/utf8>>, <<";"/utf8>>, [true, false, true, false, true, false]}, {<<"3"/utf8>>, <<"="/utf8>>, [true, false, false, false, true]}, {<<"3"/utf8>>, <<"+"/utf8>>, [false, true, false, true, false]}, {<<"3"/utf8>>, <<"-"/utf8>>, [true, false, false, false, false, true]}, {<<"3"/utf8>>, <<"_"/utf8>>, [false, false, true, true, false, true]}, {<<"3"/utf8>>, <<"\""/utf8>>, [false, true, false, false, true, false]}, {<<"3"/utf8>>, <<"$"/utf8>>, [false, false, false, true, false, false, true]}, {<<"3"/utf8>>, <<"@"/utf8>>, [false, true, true, false, true, false]}, {<<"3"/utf8>>, <<"¿"/utf8>>, [false, false, true, false, true]}, {<<"3"/utf8>>, <<"¡"/utf8>>, [true, true, false, false, false, true]}, {<<"4"/utf8>>, <<"Ã"/utf8>>, [false, true, true, false, true]}, {<<"4"/utf8>>, <<"Á"/utf8>>, [false, true, true, false, true]}, {<<"4"/utf8>>, <<"Å"/utf8>>, [false, true, true, false, true]}, {<<"4"/utf8>>, <<"À"/utf8>>, [false, true, true, false, true]}, {<<"4"/utf8>>, <<"Â"/utf8>>, [false, true, true, false, true]}, {<<"4"/utf8>>, <<"Ä"/utf8>>, [false, true, false, true]}, {<<"4"/utf8>>, <<"Ą"/utf8>>, [false, true, false, true]}, {<<"4"/utf8>>, <<"Æ"/utf8>>, [false, true, false, true]}, {<<"4"/utf8>>, <<"Ç"/utf8>>, [true, false, true, false, false]}, {<<"4"/utf8>>, <<"Ć"/utf8>>, [true, false, true, false, false]}, {<<"4"/utf8>>, <<"Ĉ"/utf8>>, [true, false, true, false, false]}, {<<"4"/utf8>>, <<"Č"/utf8>>, [true, true, false]}, {<<"4"/utf8>>, <<"Ð"/utf8>>, [false, false, true, true, false]}, {<<"4"/utf8>>, <<"È"/utf8>>, [false, true, false, false, true]}, {<<"4"/utf8>>, <<"Ę"/utf8>>, [false, false, true, false, false]}, {<<"4"/utf8>>, <<"Ë"/utf8>>, [false, false, true, false, false]}, {<<"4"/utf8>>, <<"É"/utf8>>, [false, false, true, false, false]}, {<<"4"/utf8>>, <<"Ê"/utf8>>, [true, false, false, true, false]}, {<<"4"/utf8>>, <<"Ğ"/utf8>>, [true, true, false, true, false]}, {<<"4"/utf8>>, <<"Ĝ"/utf8>>, [true, true, false, true, false]}, {<<"4"/utf8>>, <<"Ĥ"/utf8>>, [true, true, true, true]}, {<<"4"/utf8>>, <<"İ"/utf8>>, [false, true, false, false, true]}, {<<"4"/utf8>>, <<"Ï"/utf8>>, [true, false, false, true, true]}, {<<"4"/utf8>>, <<"Ì"/utf8>>, [false, true, true, true, false]}, {<<"4"/utf8>>, <<"Ĵ"/utf8>>, [false, true, true, true, false]}, {<<"4"/utf8>>, <<"Ł"/utf8>>, [false, true, false, false, true]}, {<<"4"/utf8>>, <<"Ń"/utf8>>, [true, true, false, true, true]}, {<<"4"/utf8>>, <<"Ñ"/utf8>>, [true, true, false, true, true]}, {<<"4"/utf8>>, <<"Ó"/utf8>>, [true, true, true, false]}, {<<"4"/utf8>>, <<"Ò"/utf8>>, [true, true, true, false]}, {<<"4"/utf8>>, <<"Ö"/utf8>>, [true, true, true, false]}, {<<"4"/utf8>>, <<"Ô"/utf8>>, [true, true, true, false]}, {<<"4"/utf8>>, <<"Ø"/utf8>>, [true, true, true, false]}, {<<"4"/utf8>>, <<"Ś"/utf8>>, [false, false, false, true, false, false, false]}, {<<"4"/utf8>>, <<"Ş"/utf8>>, [false, true, true, false, false]}, {<<"4"/utf8>>, <<"Ș"/utf8>>, [true, true, true, true]}, {<<"4"/utf8>>, <<"Š"/utf8>>, [true, true, true, true]}, {<<"4"/utf8>>, <<"Ŝ"/utf8>>, [false, false, false, true, false]}, {<<"4"/utf8>>, <<"ß"/utf8>>, [false, false, false, false, false, false]}, {<<"4"/utf8>>, <<"Þ"/utf8>>, [false, true, true, false, false]}, {<<"4"/utf8>>, <<"Ü"/utf8>>, [false, false, true, true]}, {<<"4"/utf8>>, <<"Ù"/utf8>>, [false, false, true, true]}, {<<"4"/utf8>>, <<"Ŭ"/utf8>>, [false, false, true, true]}, {<<"4"/utf8>>, <<"Ž"/utf8>>, [true, true, false, false, true]}, {<<"4"/utf8>>, <<"Ź"/utf8>>, [true, true, false, false, true, false]}, {<<"4"/utf8>>, <<"Ż"/utf8>>, [true, true, false, false, true]}, {<<"5"/utf8>>, <<"А"/utf8>>, [false, true]}, {<<"5"/utf8>>, <<"Б"/utf8>>, [true, false, false, false]}, {<<"5"/utf8>>, <<"В"/utf8>>, [false, true, true]}, {<<"5"/utf8>>, <<"Г"/utf8>>, [true, true, false]}, {<<"5"/utf8>>, <<"Д"/utf8>>, [true, false, false]}, {<<"5"/utf8>>, <<"Е"/utf8>>, [false]}, {<<"5"/utf8>>, <<"Ж"/utf8>>, [false, false, false, true]}, {<<"5"/utf8>>, <<"З"/utf8>>, [true, true, false, false]}, {<<"5"/utf8>>, <<"И"/utf8>>, [false, false]}, {<<"5"/utf8>>, <<"Й"/utf8>>, [false, true, true, true]}, {<<"5"/utf8>>, <<"К"/utf8>>, [true, false, true]}, {<<"5"/utf8>>, <<"Л"/utf8>>, [false, true, false, false]}, {<<"5"/utf8>>, <<"М"/utf8>>, [true, true]}, {<<"5"/utf8>>, <<"Н"/utf8>>, [true, false]}, {<<"5"/utf8>>, <<"О"/utf8>>, [true, true, true]}, {<<"5"/utf8>>, <<"П"/utf8>>, [false, true, true, false]}, {<<"5"/utf8>>, <<"Р"/utf8>>, [false, true, false]}, {<<"5"/utf8>>, <<"С"/utf8>>, [false, false, false]}, {<<"5"/utf8>>, <<"Т"/utf8>>, [true]}, {<<"5"/utf8>>, <<"У"/utf8>>, [false, false, true]}, {<<"5"/utf8>>, <<"Ф"/utf8>>, [false, false, true, false]}, {<<"5"/utf8>>, <<"Х"/utf8>>, [false, false, false, false]}, {<<"5"/utf8>>, <<"Ц"/utf8>>, [true, false, true, false]}, {<<"5"/utf8>>, <<"Ч"/utf8>>, [true, true, true, false]}, {<<"5"/utf8>>, <<"Ш"/utf8>>, [true, true, true, true]}, {<<"5"/utf8>>, <<"Щ"/utf8>>, [true, true, false, true]}, {<<"5"/utf8>>, <<"Ъ"/utf8>>, [true, true, false, true, true]}, {<<"5"/utf8>>, <<"Ы"/utf8>>, [true, false, true, true]}, {<<"5"/utf8>>, <<"Ь"/utf8>>, [true, false, false, true]}, {<<"5"/utf8>>, <<"Э"/utf8>>, [false, false, true, false, false]}, {<<"5"/utf8>>, <<"Ю"/utf8>>, [false, false, true, true]}, {<<"5"/utf8>>, <<"Я"/utf8>>, [false, true, false, true]}, {<<"5"/utf8>>, <<"Ї"/utf8>>, [false, true, true, true, false]}, {<<"5"/utf8>>, <<"Є"/utf8>>, [false, false, true, false, false]}, {<<"5"/utf8>>, <<"І"/utf8>>, [false, false]}, {<<"5"/utf8>>, <<"Ґ"/utf8>>, [true, true, false]}, {<<"6"/utf8>>, <<"Α"/utf8>>, [false, true]}, {<<"6"/utf8>>, <<"Β"/utf8>>, [true, false, false, false]}, {<<"6"/utf8>>, <<"Γ"/utf8>>, [true, true, false]}, {<<"6"/utf8>>, <<"Δ"/utf8>>, [true, false, false]}, {<<"6"/utf8>>, <<"Ε"/utf8>>, [false]}, {<<"6"/utf8>>, <<"Ζ"/utf8>>, [true, true, false, false]}, {<<"6"/utf8>>, <<"Η"/utf8>>, [false, false, false, false]}, {<<"6"/utf8>>, <<"Θ"/utf8>>, [true, false, true, false]}, {<<"6"/utf8>>, <<"Ι"/utf8>>, [false, false]}, {<<"6"/utf8>>, <<"Κ"/utf8>>, [true, false, true]}, {<<"6"/utf8>>, <<"Λ"/utf8>>, [false, true, false, false]}, {<<"6"/utf8>>, <<"Μ"/utf8>>, [true, true]}, {<<"6"/utf8>>, <<"Ν"/utf8>>, [true, false]}, {<<"6"/utf8>>, <<"Ξ"/utf8>>, [true, false, false, true]}, {<<"6"/utf8>>, <<"Ο"/utf8>>, [true, true, true]}, {<<"6"/utf8>>, <<"Π"/utf8>>, [false, true, true, false]}, {<<"6"/utf8>>, <<"Ρ"/utf8>>, [false, true, false]}, {<<"6"/utf8>>, <<"Σ"/utf8>>, [false, false, false]}, {<<"6"/utf8>>, <<"Τ"/utf8>>, [true]}, {<<"6"/utf8>>, <<"Υ"/utf8>>, [true, false, true, true]}, {<<"6"/utf8>>, <<"Φ"/utf8>>, [false, false, true, false]}, {<<"6"/utf8>>, <<"Χ"/utf8>>, [true, true, true, true]}, {<<"6"/utf8>>, <<"Ψ"/utf8>>, [true, true, false, true]}, {<<"6"/utf8>>, <<"Ω"/utf8>>, [false, true, true]}, {<<"7"/utf8>>, <<"א"/utf8>>, [false, true]}, {<<"7"/utf8>>, <<"ב"/utf8>>, [true, false, false, false]}, {<<"7"/utf8>>, <<"ג"/utf8>>, [true, true, false]}, {<<"7"/utf8>>, <<"ד"/utf8>>, [true, false, false]}, {<<"7"/utf8>>, <<"ה"/utf8>>, [true, true, true]}, {<<"7"/utf8>>, <<"ו"/utf8>>, [false]}, {<<"7"/utf8>>, <<"ז"/utf8>>, [true, true, false, false]}, {<<"7"/utf8>>, <<"ח"/utf8>>, [false, false, false, false]}, {<<"7"/utf8>>, <<"ט"/utf8>>, [false, false, true]}, {<<"7"/utf8>>, <<"י"/utf8>>, [false, false]}, {<<"7"/utf8>>, <<"כ"/utf8>>, [true, false, true]}, {<<"7"/utf8>>, <<"ל"/utf8>>, [false, true, false, false]}, {<<"7"/utf8>>, <<"מ"/utf8>>, [true, true]}, {<<"7"/utf8>>, <<"נ"/utf8>>, [true, false]}, {<<"7"/utf8>>, <<"ס"/utf8>>, [true, false, true, false]}, {<<"7"/utf8>>, <<"ע"/utf8>>, [false, true, true, true]}, {<<"7"/utf8>>, <<"פ"/utf8>>, [false, true, true, false]}, {<<"7"/utf8>>, <<"צ"/utf8>>, [false, true, true]}, {<<"7"/utf8>>, <<"ק"/utf8>>, [true, true, false, true]}, {<<"7"/utf8>>, <<"ר"/utf8>>, [false, true, false]}, {<<"7"/utf8>>, <<"ש"/utf8>>, [false, false, false]}, {<<"7"/utf8>>, <<"ת"/utf8>>, [true]}, {<<"8"/utf8>>, <<"ا"/utf8>>, [false, true]}, {<<"8"/utf8>>, <<"ب"/utf8>>, [true, false, false, false]}, {<<"8"/utf8>>, <<"ت"/utf8>>, [true]}, {<<"8"/utf8>>, <<"ث"/utf8>>, [true, false, true, false]}, {<<"8"/utf8>>, <<"ج"/utf8>>, [false, true, true, true]}, {<<"8"/utf8>>, <<"ح"/utf8>>, [false, false, false, false]}, {<<"8"/utf8>>, <<"خ"/utf8>>, [true, true, true]}, {<<"8"/utf8>>, <<"د"/utf8>>, [true, false, false]}, {<<"8"/utf8>>, <<"ذ"/utf8>>, [true, true, false, false]}, {<<"8"/utf8>>, <<"ر"/utf8>>, [false, true, false]}, {<<"8"/utf8>>, <<"ز"/utf8>>, [true, true, true, false]}, {<<"8"/utf8>>, <<"س"/utf8>>, [false, false, false]}, {<<"8"/utf8>>, <<"ش"/utf8>>, [true, true, true, true]}, {<<"8"/utf8>>, <<"ص"/utf8>>, [true, false, false, true]}, {<<"8"/utf8>>, <<"ض"/utf8>>, [false, false, false, true]}, {<<"8"/utf8>>, <<"ط"/utf8>>, [false, false, true]}, {<<"8"/utf8>>, <<"ظ"/utf8>>, [true, false, true, true]}, {<<"8"/utf8>>, <<"ع"/utf8>>, [false, true, false, true]}, {<<"8"/utf8>>, <<"غ"/utf8>>, [true, true, false]}, {<<"8"/utf8>>, <<"ف"/utf8>>, [false, false, true, false]}, {<<"8"/utf8>>, <<"ق"/utf8>>, [true, true, false, true]}, {<<"8"/utf8>>, <<"ك"/utf8>>, [true, false, true]}, {<<"8"/utf8>>, <<"ل"/utf8>>, [false, true, false, false]}, {<<"8"/utf8>>, <<"م"/utf8>>, [true, true]}, {<<"8"/utf8>>, <<"ن"/utf8>>, [true, false]}, {<<"8"/utf8>>, <<"ه"/utf8>>, [false, false, true, false, false]}, {<<"8"/utf8>>, <<"و"/utf8>>, [false, true, true]}, {<<"8"/utf8>>, <<"ي"/utf8>>, [false, false]}, {<<"8"/utf8>>, <<"ﺀ"/utf8>>, [false]}, {<<"9"/utf8>>, <<"ا"/utf8>>, [false, true]}, {<<"9"/utf8>>, <<"ب"/utf8>>, [true, false, false, false]}, {<<"9"/utf8>>, <<"پ"/utf8>>, [false, true, true, false]}, {<<"9"/utf8>>, <<"ت"/utf8>>, [true]}, {<<"9"/utf8>>, <<"ث"/utf8>>, [true, false, true, false]}, {<<"9"/utf8>>, <<"ج"/utf8>>, [false, true, true, true]}, {<<"9"/utf8>>, <<"چ"/utf8>>, [true, true, true, false]}, {<<"9"/utf8>>, <<"ح"/utf8>>, [false, false, false, false]}, {<<"9"/utf8>>, <<"خ"/utf8>>, [true, false, false, true]}, {<<"9"/utf8>>, <<"د"/utf8>>, [true, false, false]}, {<<"9"/utf8>>, <<"ذ"/utf8>>, [false, false, false, true]}, {<<"9"/utf8>>, <<"ر"/utf8>>, [false, true, false]}, {<<"9"/utf8>>, <<"ز"/utf8>>, [true, true, false, false]}, {<<"9"/utf8>>, <<"ژ"/utf8>>, [true, true, false]}, {<<"9"/utf8>>, <<"س"/utf8>>, [false, false, false]}, {<<"9"/utf8>>, <<"ش"/utf8>>, [true, true, true, true]}, {<<"9"/utf8>>, <<"ص"/utf8>>, [false, true, false, true]}, {<<"9"/utf8>>, <<"ض"/utf8>>, [false, false, true, false, false]}, {<<"9"/utf8>>, <<"ط"/utf8>>, [false, false, true]}, {<<"9"/utf8>>, <<"ظ"/utf8>>, [true, false, true, true]}, {<<"9"/utf8>>, <<"ع"/utf8>>, [true, true, true]}, {<<"9"/utf8>>, <<"غ"/utf8>>, [false, false, true, true]}, {<<"9"/utf8>>, <<"ف"/utf8>>, [false, false, true, false]}, {<<"9"/utf8>>, <<"ق"/utf8>>, [true, true, true, false, false, false]}, {<<"9"/utf8>>, <<"ک"/utf8>>, [true, false, true]}, {<<"9"/utf8>>, <<"گ"/utf8>>, [true, true, false, true]}, {<<"9"/utf8>>, <<"ل"/utf8>>, [false, true, false, false]}, {<<"9"/utf8>>, <<"م"/utf8>>, [true, true]}, {<<"9"/utf8>>, <<"ن"/utf8>>, [true, false]}, {<<"9"/utf8>>, <<"و"/utf8>>, [false, true, true]}, {<<"9"/utf8>>, <<"ه"/utf8>>, [false]}, {<<"9"/utf8>>, <<"ی"/utf8>>, [false, false]}, {<<"10"/utf8>>, <<"ア"/utf8>>, [true, true, false, true, true]}, {<<"10"/utf8>>, <<"カ"/utf8>>, [false, true, false, false]}, {<<"10"/utf8>>, <<"サ"/utf8>>, [true, false, true, false, true]}, {<<"10"/utf8>>, <<"タ"/utf8>>, [true, false]}, {<<"10"/utf8>>, <<"ナ"/utf8>>, [false, true, false]}, {<<"10"/utf8>>, <<"ハ"/utf8>>, [true, false, false, false]}, {<<"10"/utf8>>, <<"マ"/utf8>>, [true, false, false, true]}, {<<"10"/utf8>>, <<"ヤ"/utf8>>, [false, true, true]}, {<<"10"/utf8>>, <<"ラ"/utf8>>, [false, false, false]}, {<<"10"/utf8>>, <<"ワ"/utf8>>, [true, false, true]}, {<<"10"/utf8>>, <<"イ"/utf8>>, [false, true]}, {<<"10"/utf8>>, <<"キ"/utf8>>, [true, false, true, false, false]}, {<<"10"/utf8>>, <<"シ"/utf8>>, [true, true, false, true, false]}, {<<"10"/utf8>>, <<"チ"/utf8>>, [false, false, true, false]}, {<<"10"/utf8>>, <<"ニ"/utf8>>, [true, false, true, false]}, {<<"10"/utf8>>, <<"ヒ"/utf8>>, [true, true, false, false, true]}, {<<"10"/utf8>>, <<"ミ"/utf8>>, [false, false, true, false, true]}, {<<"10"/utf8>>, <<"リ"/utf8>>, [true, true, false]}, {<<"10"/utf8>>, <<"ヰ"/utf8>>, [false, true, false, false, true]}, {<<"10"/utf8>>, <<"ウ"/utf8>>, [false, false, true]}, {<<"10"/utf8>>, <<"ク"/utf8>>, [false, false, false, true]}, {<<"10"/utf8>>, <<"ス"/utf8>>, [true, true, true, false, true]}, {<<"10"/utf8>>, <<"ツ"/utf8>>, [false, true, true, false]}, {<<"10"/utf8>>, <<"ヌ"/utf8>>, [false, false, false, false]}, {<<"10"/utf8>>, <<"フ"/utf8>>, [true, true, false, false]}, {<<"10"/utf8>>, <<"ム"/utf8>>, [true]}, {<<"10"/utf8>>, <<"ユ"/utf8>>, [true, false, false, true, true]}, {<<"10"/utf8>>, <<"ル"/utf8>>, [true, false, true, true, false]}, {<<"10"/utf8>>, <<"ン"/utf8>>, [false, true, false, true, false]}, {<<"10"/utf8>>, <<"エ"/utf8>>, [true, false, true, true, true]}, {<<"10"/utf8>>, <<"ケ"/utf8>>, [true, false, true, true]}, {<<"10"/utf8>>, <<"セ"/utf8>>, [false, true, true, true, false]}, {<<"10"/utf8>>, <<"テ"/utf8>>, [false, true, false, true, true]}, {<<"10"/utf8>>, <<"ネ"/utf8>>, [true, true, false, true]}, {<<"10"/utf8>>, <<"ヘ"/utf8>>, [false]}, {<<"10"/utf8>>, <<"メ"/utf8>>, [true, false, false, false, true]}, {<<"10"/utf8>>, <<"レ"/utf8>>, [true, true, true]}, {<<"10"/utf8>>, <<"ヱ"/utf8>>, [false, true, true, false, false]}, {<<"10"/utf8>>, <<"オ"/utf8>>, [false, true, false, false, false]}, {<<"10"/utf8>>, <<"コ"/utf8>>, [true, true, true, true]}, {<<"10"/utf8>>, <<"ソ"/utf8>>, [true, true, true, false]}, {<<"10"/utf8>>, <<"ト"/utf8>>, [false, false, true, false, false]}, {<<"10"/utf8>>, <<"ノ"/utf8>>, [false, false, true, true]}, {<<"10"/utf8>>, <<"ホ"/utf8>>, [true, false, false]}, {<<"10"/utf8>>, <<"モ"/utf8>>, [true, false, false, true, false]}, {<<"10"/utf8>>, <<"ヨ"/utf8>>, [true, true]}, {<<"10"/utf8>>, <<"ロ"/utf8>>, [false, true, false, true]}, {<<"10"/utf8>>, <<"ヲ"/utf8>>, [false, true, true, true]}, {<<"10"/utf8>>, <<"゛"/utf8>>, [false, false]}, {<<"10"/utf8>>, <<"゜"/utf8>>, [false, false, true, true, false]}, {<<"10"/utf8>>, <<"。"/utf8>>, [false, true, false, true, false, false]}, {<<"10"/utf8>>, <<"ー"/utf8>>, [false, true, true, false, true]}, {<<"10"/utf8>>, <<"、"/utf8>>, [false, true, false, true, false, true]}, {<<"10"/utf8>>, <<"("/utf8>>, [true, false, true, true, false, true]}, {<<"10"/utf8>>, <<")"/utf8>>, [false, true, false, false, true, false]}, {<<"11"/utf8>>, <<"ㄱ"/utf8>>, [false, true, false, false]}, {<<"11"/utf8>>, <<"ㄴ"/utf8>>, [false, false, true, false]}, {<<"11"/utf8>>, <<"ㄷ"/utf8>>, [true, false, false, false]}, {<<"11"/utf8>>, <<"ㄹ"/utf8>>, [false, false, false, true]}, {<<"11"/utf8>>, <<"ㅁ"/utf8>>, [true, true]}, {<<"11"/utf8>>, <<"ㅂ"/utf8>>, [false, true, true]}, {<<"11"/utf8>>, <<"ㅅ"/utf8>>, [true, true, false]}, {<<"11"/utf8>>, <<"ㅇ"/utf8>>, [true, false, true]}, {<<"11"/utf8>>, <<"ㅈ"/utf8>>, [false, true, true, false]}, {<<"11"/utf8>>, <<"ㅊ"/utf8>>, [true, false, true, false]}, {<<"11"/utf8>>, <<"ㅋ"/utf8>>, [true, false, false, true]}, {<<"11"/utf8>>, <<"ㅌ"/utf8>>, [true, true, false, false]}, {<<"11"/utf8>>, <<"ㅍ"/utf8>>, [true, true, true]}, {<<"11"/utf8>>, <<"ㅎ"/utf8>>, [false, true, true, true]}, {<<"11"/utf8>>, <<"ㅏ"/utf8>>, [false]}, {<<"11"/utf8>>, <<"ㅑ"/utf8>>, [false, false]}, {<<"11"/utf8>>, <<"ㅓ"/utf8>>, [true]}, {<<"11"/utf8>>, <<"ㅕ"/utf8>>, [false, false, false]}, {<<"11"/utf8>>, <<"ㅗ"/utf8>>, [false, true]}, {<<"11"/utf8>>, <<"ㅛ"/utf8>>, [true, false]}, {<<"11"/utf8>>, <<"ㅜ"/utf8>>, [false, false, false, false]}, {<<"11"/utf8>>, <<"ㅠ"/utf8>>, [false, true, false]}, {<<"11"/utf8>>, <<"ㅡ"/utf8>>, [true, false, false]}, {<<"11"/utf8>>, <<"ㅣ"/utf8>>, [false, false, true]}, {<<"12"/utf8>>, <<"ก"/utf8>>, [true, true, false]}, {<<"12"/utf8>>, <<"ข"/utf8>>, [true, false, true, false]}, {<<"12"/utf8>>, <<"ค"/utf8>>, [true, false, true]}, {<<"12"/utf8>>, <<"ง"/utf8>>, [true, false, true, true, false]}, {<<"12"/utf8>>, <<"จ"/utf8>>, [true, false, false, true, false]}, {<<"12"/utf8>>, <<"ฉ"/utf8>>, [true, true, true, true]}, {<<"12"/utf8>>, <<"ช"/utf8>>, [true, false, false, true]}, {<<"12"/utf8>>, <<"ซ"/utf8>>, [true, true, false, false]}, {<<"12"/utf8>>, <<"ญ"/utf8>>, [false, true, true, true]}, {<<"12"/utf8>>, <<"ด"/utf8>>, [true, false, false]}, {<<"12"/utf8>>, <<"ต"/utf8>>, [true]}, {<<"12"/utf8>>, <<"ถ"/utf8>>, [true, false, true, false, false]}, {<<"12"/utf8>>, <<"ท"/utf8>>, [true, false, false, true, true]}, {<<"12"/utf8>>, <<"น"/utf8>>, [true, false]}, {<<"12"/utf8>>, <<"บ"/utf8>>, [true, false, false, false]}, {<<"12"/utf8>>, <<"ป"/utf8>>, [false, true, true, false]}, {<<"12"/utf8>>, <<"ผ"/utf8>>, [true, true, false, true]}, {<<"12"/utf8>>, <<"ฝ"/utf8>>, [true, false, true, false, true]}, {<<"12"/utf8>>, <<"พ"/utf8>>, [false, true, true, false, false]}, {<<"12"/utf8>>, <<"ฟ"/utf8>>, [false, false, true, false]}, {<<"12"/utf8>>, <<"ม"/utf8>>, [true, true]}, {<<"12"/utf8>>, <<"ย"/utf8>>, [true, false, true, true]}, {<<"12"/utf8>>, <<"ร"/utf8>>, [false, true, false]}, {<<"12"/utf8>>, <<"ล"/utf8>>, [false, true, false, false]}, {<<"12"/utf8>>, <<"ว"/utf8>>, [false, true, true]}, {<<"12"/utf8>>, <<"ส"/utf8>>, [false, false, false]}, {<<"12"/utf8>>, <<"ห"/utf8>>, [false, false, false, false]}, {<<"12"/utf8>>, <<"อ"/utf8>>, [true, false, false, false, true]}, {<<"12"/utf8>>, <<"ฮ"/utf8>>, [true, true, false, true, true]}, {<<"12"/utf8>>, <<"ฤ"/utf8>>, [false, true, false, true, true]}, {<<"12"/utf8>>, <<"ะ"/utf8>>, [false, true, false, false, false]}, {<<"12"/utf8>>, <<"า"/utf8>>, [false, true]}, {<<"12"/utf8>>, <<"ิ"/utf8>>, [false, false, true, false, false]}, {<<"12"/utf8>>, <<"ี"/utf8>>, [false, false]}, {<<"12"/utf8>>, <<"ึ"/utf8>>, [false, false, true, true, false]}, {<<"12"/utf8>>, <<"ื"/utf8>>, [false, false, true, true]}, {<<"12"/utf8>>, <<"ุ"/utf8>>, [false, false, true, false, true]}, {<<"12"/utf8>>, <<"ู"/utf8>>, [true, true, true, false]}, {<<"12"/utf8>>, <<"เ"/utf8>>, [false]}, {<<"12"/utf8>>, <<"แ"/utf8>>, [false, true, false, true]}, {<<"12"/utf8>>, <<"ไ"/utf8>>, [false, true, false, false, true]}, {<<"12"/utf8>>, <<"โ"/utf8>>, [true, true, true]}, {<<"12"/utf8>>, <<"ำ"/utf8>>, [false, false, false, true, false]}, {<<"12"/utf8>>, <<"่"/utf8>>, [false, false, true]}, {<<"12"/utf8>>, <<"้"/utf8>>, [false, false, false, true]}, {<<"12"/utf8>>, <<"๊"/utf8>>, [true, true, false, false, false]}, {<<"12"/utf8>>, <<"๋"/utf8>>, [false, true, false, true, false]}, {<<"12"/utf8>>, <<"ั"/utf8>>, [false, true, true, false, true]}, {<<"12"/utf8>>, <<"็"/utf8>>, [true, true, true, false, false]}, {<<"12"/utf8>>, <<"์"/utf8>>, [true, true, false, false, true]}, {<<"12"/utf8>>, <<"ๆ"/utf8>>, [true, false, true, true, true]}, {<<"12"/utf8>>, <<"ฯ"/utf8>>, [true, true, false, true, false]}] ), G@1, Opt_language ) of {ok, Bools} -> _pipe@2 = Bools, _pipe@3 = gleam@list:map( _pipe@2, fun(_capture) -> if_( _capture, Opt_output_dash, Opt_output_dot ) end ), _pipe@4 = gleam@string:join(_pipe@3, <<""/utf8>>), {ok, _pipe@4}; {error, _} -> {error, {morse_code_error, <<"Invalid symbol: "/utf8, G@1/binary>>}} end end end), gleam@result:map( _pipe@5, fun(_capture@1) -> gleam@string:join(_capture@1, Opt_output_separator) end ). -spec encode_to_string( binary(), encode_options(), gleam@option:option(list({binary(), binary(), list(boolean())})) ) -> binary(). encode_to_string(Input, Options, Morse_code_dict) -> case encode(Input, Options, Morse_code_dict) of {ok, Value} -> Value; {error, Value@1} -> erlang:element(2, Value@1) end. -spec decode( binary(), decode_options(), gleam@option:option(list({binary(), binary(), list(boolean())})) ) -> {ok, binary()} | {error, morse_code_error()}. decode(Input, Options, Morse_code_dict) -> Opt_input_dot = gleam@option:unwrap( erlang:element(2, Options), <<"."/utf8>> ), Opt_input_dash = gleam@option:unwrap( erlang:element(3, Options), <<"-"/utf8>> ), Opt_input_space = gleam@option:unwrap( erlang:element(4, Options), <<"/"/utf8>> ), Opt_input_separator = gleam@option:unwrap( erlang:element(5, Options), <<" "/utf8>> ), Opt_to_uppercase = gleam@option:unwrap(erlang:element(6, Options), false), Opt_language = erlang:element( 2, gleam@option:unwrap( erlang:element(7, Options), {language, <<"1"/utf8>>} ) ), _pipe = Input, _pipe@1 = gleam@string:split(_pipe, Opt_input_separator), _pipe@5 = gleam@list:try_map(_pipe@1, fun(W) -> case true of _ when W =:= <<""/utf8>> -> {ok, <<""/utf8>>}; _ when W =:= Opt_input_space -> {ok, <<" "/utf8>>}; _ -> _pipe@2 = W, _pipe@3 = gleam@string:to_graphemes(_pipe@2), _pipe@4 = gleam@list:try_map(_pipe@3, fun(G) -> case true of _ when G =:= Opt_input_dot -> {ok, false}; _ when G =:= Opt_input_dash -> {ok, true}; _ -> {error, {morse_code_error, <<"Invalid morse code symbol: "/utf8, G/binary>>}} end end), gleam@result:'try'( _pipe@4, fun(Bools) -> case list_value_find( gleam@option:unwrap( Morse_code_dict, [{<<"1"/utf8>>, <<"A"/utf8>>, [false, true]}, {<<"1"/utf8>>, <<"B"/utf8>>, [true, false, false, false]}, {<<"1"/utf8>>, <<"C"/utf8>>, [true, false, true, false]}, {<<"1"/utf8>>, <<"D"/utf8>>, [true, false, false]}, {<<"1"/utf8>>, <<"E"/utf8>>, [false]}, {<<"1"/utf8>>, <<"F"/utf8>>, [false, false, true, false]}, {<<"1"/utf8>>, <<"G"/utf8>>, [true, true, false]}, {<<"1"/utf8>>, <<"H"/utf8>>, [false, false, false, false]}, {<<"1"/utf8>>, <<"I"/utf8>>, [false, false]}, {<<"1"/utf8>>, <<"J"/utf8>>, [false, true, true, true]}, {<<"1"/utf8>>, <<"K"/utf8>>, [true, false, true]}, {<<"1"/utf8>>, <<"L"/utf8>>, [false, true, false, false]}, {<<"1"/utf8>>, <<"M"/utf8>>, [true, true]}, {<<"1"/utf8>>, <<"N"/utf8>>, [true, false]}, {<<"1"/utf8>>, <<"O"/utf8>>, [true, true, true]}, {<<"1"/utf8>>, <<"P"/utf8>>, [false, true, true, false]}, {<<"1"/utf8>>, <<"Q"/utf8>>, [true, true, false, true]}, {<<"1"/utf8>>, <<"R"/utf8>>, [false, true, false]}, {<<"1"/utf8>>, <<"S"/utf8>>, [false, false, false]}, {<<"1"/utf8>>, <<"T"/utf8>>, [true]}, {<<"1"/utf8>>, <<"U"/utf8>>, [false, false, true]}, {<<"1"/utf8>>, <<"V"/utf8>>, [false, false, false, true]}, {<<"1"/utf8>>, <<"W"/utf8>>, [false, true, true]}, {<<"1"/utf8>>, <<"X"/utf8>>, [true, false, false, true]}, {<<"1"/utf8>>, <<"Y"/utf8>>, [true, false, true, true]}, {<<"1"/utf8>>, <<"Z"/utf8>>, [true, true, false, false]}, {<<"2"/utf8>>, <<"0"/utf8>>, [true, true, true, true, true]}, {<<"2"/utf8>>, <<"1"/utf8>>, [false, true, true, true, true]}, {<<"2"/utf8>>, <<"2"/utf8>>, [false, false, true, true, true]}, {<<"2"/utf8>>, <<"3"/utf8>>, [false, false, false, true, true]}, {<<"2"/utf8>>, <<"4"/utf8>>, [false, false, false, false, true]}, {<<"2"/utf8>>, <<"5"/utf8>>, [false, false, false, false, false]}, {<<"2"/utf8>>, <<"6"/utf8>>, [true, false, false, false, false]}, {<<"2"/utf8>>, <<"7"/utf8>>, [true, true, false, false, false]}, {<<"2"/utf8>>, <<"8"/utf8>>, [true, true, true, false, false]}, {<<"2"/utf8>>, <<"9"/utf8>>, [true, true, true, true, false]}, {<<"3"/utf8>>, <<"."/utf8>>, [false, true, false, true, false, true]}, {<<"3"/utf8>>, <<","/utf8>>, [true, true, false, false, true, true]}, {<<"3"/utf8>>, <<"?"/utf8>>, [false, false, true, true, false, false]}, {<<"3"/utf8>>, <<"'"/utf8>>, [false, true, true, true, true, false]}, {<<"3"/utf8>>, <<"!"/utf8>>, [true, false, true, false, true, true]}, {<<"3"/utf8>>, <<"/"/utf8>>, [true, false, false, true, false]}, {<<"3"/utf8>>, <<"("/utf8>>, [true, false, true, true, false]}, {<<"3"/utf8>>, <<")"/utf8>>, [true, false, true, true, false, true]}, {<<"3"/utf8>>, <<"&"/utf8>>, [false, true, false, false, false]}, {<<"3"/utf8>>, <<":"/utf8>>, [true, true, true, false, false, false]}, {<<"3"/utf8>>, <<";"/utf8>>, [true, false, true, false, true, false]}, {<<"3"/utf8>>, <<"="/utf8>>, [true, false, false, false, true]}, {<<"3"/utf8>>, <<"+"/utf8>>, [false, true, false, true, false]}, {<<"3"/utf8>>, <<"-"/utf8>>, [true, false, false, false, false, true]}, {<<"3"/utf8>>, <<"_"/utf8>>, [false, false, true, true, false, true]}, {<<"3"/utf8>>, <<"\""/utf8>>, [false, true, false, false, true, false]}, {<<"3"/utf8>>, <<"$"/utf8>>, [false, false, false, true, false, false, true]}, {<<"3"/utf8>>, <<"@"/utf8>>, [false, true, true, false, true, false]}, {<<"3"/utf8>>, <<"¿"/utf8>>, [false, false, true, false, true]}, {<<"3"/utf8>>, <<"¡"/utf8>>, [true, true, false, false, false, true]}, {<<"4"/utf8>>, <<"Ã"/utf8>>, [false, true, true, false, true]}, {<<"4"/utf8>>, <<"Á"/utf8>>, [false, true, true, false, true]}, {<<"4"/utf8>>, <<"Å"/utf8>>, [false, true, true, false, true]}, {<<"4"/utf8>>, <<"À"/utf8>>, [false, true, true, false, true]}, {<<"4"/utf8>>, <<"Â"/utf8>>, [false, true, true, false, true]}, {<<"4"/utf8>>, <<"Ä"/utf8>>, [false, true, false, true]}, {<<"4"/utf8>>, <<"Ą"/utf8>>, [false, true, false, true]}, {<<"4"/utf8>>, <<"Æ"/utf8>>, [false, true, false, true]}, {<<"4"/utf8>>, <<"Ç"/utf8>>, [true, false, true, false, false]}, {<<"4"/utf8>>, <<"Ć"/utf8>>, [true, false, true, false, false]}, {<<"4"/utf8>>, <<"Ĉ"/utf8>>, [true, false, true, false, false]}, {<<"4"/utf8>>, <<"Č"/utf8>>, [true, true, false]}, {<<"4"/utf8>>, <<"Ð"/utf8>>, [false, false, true, true, false]}, {<<"4"/utf8>>, <<"È"/utf8>>, [false, true, false, false, true]}, {<<"4"/utf8>>, <<"Ę"/utf8>>, [false, false, true, false, false]}, {<<"4"/utf8>>, <<"Ë"/utf8>>, [false, false, true, false, false]}, {<<"4"/utf8>>, <<"É"/utf8>>, [false, false, true, false, false]}, {<<"4"/utf8>>, <<"Ê"/utf8>>, [true, false, false, true, false]}, {<<"4"/utf8>>, <<"Ğ"/utf8>>, [true, true, false, true, false]}, {<<"4"/utf8>>, <<"Ĝ"/utf8>>, [true, true, false, true, false]}, {<<"4"/utf8>>, <<"Ĥ"/utf8>>, [true, true, true, true]}, {<<"4"/utf8>>, <<"İ"/utf8>>, [false, true, false, false, true]}, {<<"4"/utf8>>, <<"Ï"/utf8>>, [true, false, false, true, true]}, {<<"4"/utf8>>, <<"Ì"/utf8>>, [false, true, true, true, false]}, {<<"4"/utf8>>, <<"Ĵ"/utf8>>, [false, true, true, true, false]}, {<<"4"/utf8>>, <<"Ł"/utf8>>, [false, true, false, false, true]}, {<<"4"/utf8>>, <<"Ń"/utf8>>, [true, true, false, true, true]}, {<<"4"/utf8>>, <<"Ñ"/utf8>>, [true, true, false, true, true]}, {<<"4"/utf8>>, <<"Ó"/utf8>>, [true, true, true, false]}, {<<"4"/utf8>>, <<"Ò"/utf8>>, [true, true, true, false]}, {<<"4"/utf8>>, <<"Ö"/utf8>>, [true, true, true, false]}, {<<"4"/utf8>>, <<"Ô"/utf8>>, [true, true, true, false]}, {<<"4"/utf8>>, <<"Ø"/utf8>>, [true, true, true, false]}, {<<"4"/utf8>>, <<"Ś"/utf8>>, [false, false, false, true, false, false, false]}, {<<"4"/utf8>>, <<"Ş"/utf8>>, [false, true, true, false, false]}, {<<"4"/utf8>>, <<"Ș"/utf8>>, [true, true, true, true]}, {<<"4"/utf8>>, <<"Š"/utf8>>, [true, true, true, true]}, {<<"4"/utf8>>, <<"Ŝ"/utf8>>, [false, false, false, true, false]}, {<<"4"/utf8>>, <<"ß"/utf8>>, [false, false, false, false, false, false]}, {<<"4"/utf8>>, <<"Þ"/utf8>>, [false, true, true, false, false]}, {<<"4"/utf8>>, <<"Ü"/utf8>>, [false, false, true, true]}, {<<"4"/utf8>>, <<"Ù"/utf8>>, [false, false, true, true]}, {<<"4"/utf8>>, <<"Ŭ"/utf8>>, [false, false, true, true]}, {<<"4"/utf8>>, <<"Ž"/utf8>>, [true, true, false, false, true]}, {<<"4"/utf8>>, <<"Ź"/utf8>>, [true, true, false, false, true, false]}, {<<"4"/utf8>>, <<"Ż"/utf8>>, [true, true, false, false, true]}, {<<"5"/utf8>>, <<"А"/utf8>>, [false, true]}, {<<"5"/utf8>>, <<"Б"/utf8>>, [true, false, false, false]}, {<<"5"/utf8>>, <<"В"/utf8>>, [false, true, true]}, {<<"5"/utf8>>, <<"Г"/utf8>>, [true, true, false]}, {<<"5"/utf8>>, <<"Д"/utf8>>, [true, false, false]}, {<<"5"/utf8>>, <<"Е"/utf8>>, [false]}, {<<"5"/utf8>>, <<"Ж"/utf8>>, [false, false, false, true]}, {<<"5"/utf8>>, <<"З"/utf8>>, [true, true, false, false]}, {<<"5"/utf8>>, <<"И"/utf8>>, [false, false]}, {<<"5"/utf8>>, <<"Й"/utf8>>, [false, true, true, true]}, {<<"5"/utf8>>, <<"К"/utf8>>, [true, false, true]}, {<<"5"/utf8>>, <<"Л"/utf8>>, [false, true, false, false]}, {<<"5"/utf8>>, <<"М"/utf8>>, [true, true]}, {<<"5"/utf8>>, <<"Н"/utf8>>, [true, false]}, {<<"5"/utf8>>, <<"О"/utf8>>, [true, true, true]}, {<<"5"/utf8>>, <<"П"/utf8>>, [false, true, true, false]}, {<<"5"/utf8>>, <<"Р"/utf8>>, [false, true, false]}, {<<"5"/utf8>>, <<"С"/utf8>>, [false, false, false]}, {<<"5"/utf8>>, <<"Т"/utf8>>, [true]}, {<<"5"/utf8>>, <<"У"/utf8>>, [false, false, true]}, {<<"5"/utf8>>, <<"Ф"/utf8>>, [false, false, true, false]}, {<<"5"/utf8>>, <<"Х"/utf8>>, [false, false, false, false]}, {<<"5"/utf8>>, <<"Ц"/utf8>>, [true, false, true, false]}, {<<"5"/utf8>>, <<"Ч"/utf8>>, [true, true, true, false]}, {<<"5"/utf8>>, <<"Ш"/utf8>>, [true, true, true, true]}, {<<"5"/utf8>>, <<"Щ"/utf8>>, [true, true, false, true]}, {<<"5"/utf8>>, <<"Ъ"/utf8>>, [true, true, false, true, true]}, {<<"5"/utf8>>, <<"Ы"/utf8>>, [true, false, true, true]}, {<<"5"/utf8>>, <<"Ь"/utf8>>, [true, false, false, true]}, {<<"5"/utf8>>, <<"Э"/utf8>>, [false, false, true, false, false]}, {<<"5"/utf8>>, <<"Ю"/utf8>>, [false, false, true, true]}, {<<"5"/utf8>>, <<"Я"/utf8>>, [false, true, false, true]}, {<<"5"/utf8>>, <<"Ї"/utf8>>, [false, true, true, true, false]}, {<<"5"/utf8>>, <<"Є"/utf8>>, [false, false, true, false, false]}, {<<"5"/utf8>>, <<"І"/utf8>>, [false, false]}, {<<"5"/utf8>>, <<"Ґ"/utf8>>, [true, true, false]}, {<<"6"/utf8>>, <<"Α"/utf8>>, [false, true]}, {<<"6"/utf8>>, <<"Β"/utf8>>, [true, false, false, false]}, {<<"6"/utf8>>, <<"Γ"/utf8>>, [true, true, false]}, {<<"6"/utf8>>, <<"Δ"/utf8>>, [true, false, false]}, {<<"6"/utf8>>, <<"Ε"/utf8>>, [false]}, {<<"6"/utf8>>, <<"Ζ"/utf8>>, [true, true, false, false]}, {<<"6"/utf8>>, <<"Η"/utf8>>, [false, false, false, false]}, {<<"6"/utf8>>, <<"Θ"/utf8>>, [true, false, true, false]}, {<<"6"/utf8>>, <<"Ι"/utf8>>, [false, false]}, {<<"6"/utf8>>, <<"Κ"/utf8>>, [true, false, true]}, {<<"6"/utf8>>, <<"Λ"/utf8>>, [false, true, false, false]}, {<<"6"/utf8>>, <<"Μ"/utf8>>, [true, true]}, {<<"6"/utf8>>, <<"Ν"/utf8>>, [true, false]}, {<<"6"/utf8>>, <<"Ξ"/utf8>>, [true, false, false, true]}, {<<"6"/utf8>>, <<"Ο"/utf8>>, [true, true, true]}, {<<"6"/utf8>>, <<"Π"/utf8>>, [false, true, true, false]}, {<<"6"/utf8>>, <<"Ρ"/utf8>>, [false, true, false]}, {<<"6"/utf8>>, <<"Σ"/utf8>>, [false, false, false]}, {<<"6"/utf8>>, <<"Τ"/utf8>>, [true]}, {<<"6"/utf8>>, <<"Υ"/utf8>>, [true, false, true, true]}, {<<"6"/utf8>>, <<"Φ"/utf8>>, [false, false, true, false]}, {<<"6"/utf8>>, <<"Χ"/utf8>>, [true, true, true, true]}, {<<"6"/utf8>>, <<"Ψ"/utf8>>, [true, true, false, true]}, {<<"6"/utf8>>, <<"Ω"/utf8>>, [false, true, true]}, {<<"7"/utf8>>, <<"א"/utf8>>, [false, true]}, {<<"7"/utf8>>, <<"ב"/utf8>>, [true, false, false, false]}, {<<"7"/utf8>>, <<"ג"/utf8>>, [true, true, false]}, {<<"7"/utf8>>, <<"ד"/utf8>>, [true, false, false]}, {<<"7"/utf8>>, <<"ה"/utf8>>, [true, true, true]}, {<<"7"/utf8>>, <<"ו"/utf8>>, [false]}, {<<"7"/utf8>>, <<"ז"/utf8>>, [true, true, false, false]}, {<<"7"/utf8>>, <<"ח"/utf8>>, [false, false, false, false]}, {<<"7"/utf8>>, <<"ט"/utf8>>, [false, false, true]}, {<<"7"/utf8>>, <<"י"/utf8>>, [false, false]}, {<<"7"/utf8>>, <<"כ"/utf8>>, [true, false, true]}, {<<"7"/utf8>>, <<"ל"/utf8>>, [false, true, false, false]}, {<<"7"/utf8>>, <<"מ"/utf8>>, [true, true]}, {<<"7"/utf8>>, <<"נ"/utf8>>, [true, false]}, {<<"7"/utf8>>, <<"ס"/utf8>>, [true, false, true, false]}, {<<"7"/utf8>>, <<"ע"/utf8>>, [false, true, true, true]}, {<<"7"/utf8>>, <<"פ"/utf8>>, [false, true, true, false]}, {<<"7"/utf8>>, <<"צ"/utf8>>, [false, true, true]}, {<<"7"/utf8>>, <<"ק"/utf8>>, [true, true, false, true]}, {<<"7"/utf8>>, <<"ר"/utf8>>, [false, true, false]}, {<<"7"/utf8>>, <<"ש"/utf8>>, [false, false, false]}, {<<"7"/utf8>>, <<"ת"/utf8>>, [true]}, {<<"8"/utf8>>, <<"ا"/utf8>>, [false, true]}, {<<"8"/utf8>>, <<"ب"/utf8>>, [true, false, false, false]}, {<<"8"/utf8>>, <<"ت"/utf8>>, [true]}, {<<"8"/utf8>>, <<"ث"/utf8>>, [true, false, true, false]}, {<<"8"/utf8>>, <<"ج"/utf8>>, [false, true, true, true]}, {<<"8"/utf8>>, <<"ح"/utf8>>, [false, false, false, false]}, {<<"8"/utf8>>, <<"خ"/utf8>>, [true, true, true]}, {<<"8"/utf8>>, <<"د"/utf8>>, [true, false, false]}, {<<"8"/utf8>>, <<"ذ"/utf8>>, [true, true, false, false]}, {<<"8"/utf8>>, <<"ر"/utf8>>, [false, true, false]}, {<<"8"/utf8>>, <<"ز"/utf8>>, [true, true, true, false]}, {<<"8"/utf8>>, <<"س"/utf8>>, [false, false, false]}, {<<"8"/utf8>>, <<"ش"/utf8>>, [true, true, true, true]}, {<<"8"/utf8>>, <<"ص"/utf8>>, [true, false, false, true]}, {<<"8"/utf8>>, <<"ض"/utf8>>, [false, false, false, true]}, {<<"8"/utf8>>, <<"ط"/utf8>>, [false, false, true]}, {<<"8"/utf8>>, <<"ظ"/utf8>>, [true, false, true, true]}, {<<"8"/utf8>>, <<"ع"/utf8>>, [false, true, false, true]}, {<<"8"/utf8>>, <<"غ"/utf8>>, [true, true, false]}, {<<"8"/utf8>>, <<"ف"/utf8>>, [false, false, true, false]}, {<<"8"/utf8>>, <<"ق"/utf8>>, [true, true, false, true]}, {<<"8"/utf8>>, <<"ك"/utf8>>, [true, false, true]}, {<<"8"/utf8>>, <<"ل"/utf8>>, [false, true, false, false]}, {<<"8"/utf8>>, <<"م"/utf8>>, [true, true]}, {<<"8"/utf8>>, <<"ن"/utf8>>, [true, false]}, {<<"8"/utf8>>, <<"ه"/utf8>>, [false, false, true, false, false]}, {<<"8"/utf8>>, <<"و"/utf8>>, [false, true, true]}, {<<"8"/utf8>>, <<"ي"/utf8>>, [false, false]}, {<<"8"/utf8>>, <<"ﺀ"/utf8>>, [false]}, {<<"9"/utf8>>, <<"ا"/utf8>>, [false, true]}, {<<"9"/utf8>>, <<"ب"/utf8>>, [true, false, false, false]}, {<<"9"/utf8>>, <<"پ"/utf8>>, [false, true, true, false]}, {<<"9"/utf8>>, <<"ت"/utf8>>, [true]}, {<<"9"/utf8>>, <<"ث"/utf8>>, [true, false, true, false]}, {<<"9"/utf8>>, <<"ج"/utf8>>, [false, true, true, true]}, {<<"9"/utf8>>, <<"چ"/utf8>>, [true, true, true, false]}, {<<"9"/utf8>>, <<"ح"/utf8>>, [false, false, false, false]}, {<<"9"/utf8>>, <<"خ"/utf8>>, [true, false, false, true]}, {<<"9"/utf8>>, <<"د"/utf8>>, [true, false, false]}, {<<"9"/utf8>>, <<"ذ"/utf8>>, [false, false, false, true]}, {<<"9"/utf8>>, <<"ر"/utf8>>, [false, true, false]}, {<<"9"/utf8>>, <<"ز"/utf8>>, [true, true, false, false]}, {<<"9"/utf8>>, <<"ژ"/utf8>>, [true, true, false]}, {<<"9"/utf8>>, <<"س"/utf8>>, [false, false, false]}, {<<"9"/utf8>>, <<"ش"/utf8>>, [true, true, true, true]}, {<<"9"/utf8>>, <<"ص"/utf8>>, [false, true, false, true]}, {<<"9"/utf8>>, <<"ض"/utf8>>, [false, false, true, false, false]}, {<<"9"/utf8>>, <<"ط"/utf8>>, [false, false, true]}, {<<"9"/utf8>>, <<"ظ"/utf8>>, [true, false, true, true]}, {<<"9"/utf8>>, <<"ع"/utf8>>, [true, true, true]}, {<<"9"/utf8>>, <<"غ"/utf8>>, [false, false, true, true]}, {<<"9"/utf8>>, <<"ف"/utf8>>, [false, false, true, false]}, {<<"9"/utf8>>, <<"ق"/utf8>>, [true, true, true, false, false, false]}, {<<"9"/utf8>>, <<"ک"/utf8>>, [true, false, true]}, {<<"9"/utf8>>, <<"گ"/utf8>>, [true, true, false, true]}, {<<"9"/utf8>>, <<"ل"/utf8>>, [false, true, false, false]}, {<<"9"/utf8>>, <<"م"/utf8>>, [true, true]}, {<<"9"/utf8>>, <<"ن"/utf8>>, [true, false]}, {<<"9"/utf8>>, <<"و"/utf8>>, [false, true, true]}, {<<"9"/utf8>>, <<"ه"/utf8>>, [false]}, {<<"9"/utf8>>, <<"ی"/utf8>>, [false, false]}, {<<"10"/utf8>>, <<"ア"/utf8>>, [true, true, false, true, true]}, {<<"10"/utf8>>, <<"カ"/utf8>>, [false, true, false, false]}, {<<"10"/utf8>>, <<"サ"/utf8>>, [true, false, true, false, true]}, {<<"10"/utf8>>, <<"タ"/utf8>>, [true, false]}, {<<"10"/utf8>>, <<"ナ"/utf8>>, [false, true, false]}, {<<"10"/utf8>>, <<"ハ"/utf8>>, [true, false, false, false]}, {<<"10"/utf8>>, <<"マ"/utf8>>, [true, false, false, true]}, {<<"10"/utf8>>, <<"ヤ"/utf8>>, [false, true, true]}, {<<"10"/utf8>>, <<"ラ"/utf8>>, [false, false, false]}, {<<"10"/utf8>>, <<"ワ"/utf8>>, [true, false, true]}, {<<"10"/utf8>>, <<"イ"/utf8>>, [false, true]}, {<<"10"/utf8>>, <<"キ"/utf8>>, [true, false, true, false, false]}, {<<"10"/utf8>>, <<"シ"/utf8>>, [true, true, false, true, false]}, {<<"10"/utf8>>, <<"チ"/utf8>>, [false, false, true, false]}, {<<"10"/utf8>>, <<"ニ"/utf8>>, [true, false, true, false]}, {<<"10"/utf8>>, <<"ヒ"/utf8>>, [true, true, false, false, true]}, {<<"10"/utf8>>, <<"ミ"/utf8>>, [false, false, true, false, true]}, {<<"10"/utf8>>, <<"リ"/utf8>>, [true, true, false]}, {<<"10"/utf8>>, <<"ヰ"/utf8>>, [false, true, false, false, true]}, {<<"10"/utf8>>, <<"ウ"/utf8>>, [false, false, true]}, {<<"10"/utf8>>, <<"ク"/utf8>>, [false, false, false, true]}, {<<"10"/utf8>>, <<"ス"/utf8>>, [true, true, true, false, true]}, {<<"10"/utf8>>, <<"ツ"/utf8>>, [false, true, true, false]}, {<<"10"/utf8>>, <<"ヌ"/utf8>>, [false, false, false, false]}, {<<"10"/utf8>>, <<"フ"/utf8>>, [true, true, false, false]}, {<<"10"/utf8>>, <<"ム"/utf8>>, [true]}, {<<"10"/utf8>>, <<"ユ"/utf8>>, [true, false, false, true, true]}, {<<"10"/utf8>>, <<"ル"/utf8>>, [true, false, true, true, false]}, {<<"10"/utf8>>, <<"ン"/utf8>>, [false, true, false, true, false]}, {<<"10"/utf8>>, <<"エ"/utf8>>, [true, false, true, true, true]}, {<<"10"/utf8>>, <<"ケ"/utf8>>, [true, false, true, true]}, {<<"10"/utf8>>, <<"セ"/utf8>>, [false, true, true, true, false]}, {<<"10"/utf8>>, <<"テ"/utf8>>, [false, true, false, true, true]}, {<<"10"/utf8>>, <<"ネ"/utf8>>, [true, true, false, true]}, {<<"10"/utf8>>, <<"ヘ"/utf8>>, [false]}, {<<"10"/utf8>>, <<"メ"/utf8>>, [true, false, false, false, true]}, {<<"10"/utf8>>, <<"レ"/utf8>>, [true, true, true]}, {<<"10"/utf8>>, <<"ヱ"/utf8>>, [false, true, true, false, false]}, {<<"10"/utf8>>, <<"オ"/utf8>>, [false, true, false, false, false]}, {<<"10"/utf8>>, <<"コ"/utf8>>, [true, true, true, true]}, {<<"10"/utf8>>, <<"ソ"/utf8>>, [true, true, true, false]}, {<<"10"/utf8>>, <<"ト"/utf8>>, [false, false, true, false, false]}, {<<"10"/utf8>>, <<"ノ"/utf8>>, [false, false, true, true]}, {<<"10"/utf8>>, <<"ホ"/utf8>>, [true, false, false]}, {<<"10"/utf8>>, <<"モ"/utf8>>, [true, false, false, true, false]}, {<<"10"/utf8>>, <<"ヨ"/utf8>>, [true, true]}, {<<"10"/utf8>>, <<"ロ"/utf8>>, [false, true, false, true]}, {<<"10"/utf8>>, <<"ヲ"/utf8>>, [false, true, true, true]}, {<<"10"/utf8>>, <<"゛"/utf8>>, [false, false]}, {<<"10"/utf8>>, <<"゜"/utf8>>, [false, false, true, true, false]}, {<<"10"/utf8>>, <<"。"/utf8>>, [false, true, false, true, false, false]}, {<<"10"/utf8>>, <<"ー"/utf8>>, [false, true, true, false, true]}, {<<"10"/utf8>>, <<"、"/utf8>>, [false, true, false, true, false, true]}, {<<"10"/utf8>>, <<"("/utf8>>, [true, false, true, true, false, true]}, {<<"10"/utf8>>, <<")"/utf8>>, [false, true, false, false, true, false]}, {<<"11"/utf8>>, <<"ㄱ"/utf8>>, [false, true, false, false]}, {<<"11"/utf8>>, <<"ㄴ"/utf8>>, [false, false, true, false]}, {<<"11"/utf8>>, <<"ㄷ"/utf8>>, [true, false, false, false]}, {<<"11"/utf8>>, <<"ㄹ"/utf8>>, [false, false, false, true]}, {<<"11"/utf8>>, <<"ㅁ"/utf8>>, [true, true]}, {<<"11"/utf8>>, <<"ㅂ"/utf8>>, [false, true, true]}, {<<"11"/utf8>>, <<"ㅅ"/utf8>>, [true, true, false]}, {<<"11"/utf8>>, <<"ㅇ"/utf8>>, [true, false, true]}, {<<"11"/utf8>>, <<"ㅈ"/utf8>>, [false, true, true, false]}, {<<"11"/utf8>>, <<"ㅊ"/utf8>>, [true, false, true, false]}, {<<"11"/utf8>>, <<"ㅋ"/utf8>>, [true, false, false, true]}, {<<"11"/utf8>>, <<"ㅌ"/utf8>>, [true, true, false, false]}, {<<"11"/utf8>>, <<"ㅍ"/utf8>>, [true, true, true]}, {<<"11"/utf8>>, <<"ㅎ"/utf8>>, [false, true, true, true]}, {<<"11"/utf8>>, <<"ㅏ"/utf8>>, [false]}, {<<"11"/utf8>>, <<"ㅑ"/utf8>>, [false, false]}, {<<"11"/utf8>>, <<"ㅓ"/utf8>>, [true]}, {<<"11"/utf8>>, <<"ㅕ"/utf8>>, [false, false, false]}, {<<"11"/utf8>>, <<"ㅗ"/utf8>>, [false, true]}, {<<"11"/utf8>>, <<"ㅛ"/utf8>>, [true, false]}, {<<"11"/utf8>>, <<"ㅜ"/utf8>>, [false, false, false, false]}, {<<"11"/utf8>>, <<"ㅠ"/utf8>>, [false, true, false]}, {<<"11"/utf8>>, <<"ㅡ"/utf8>>, [true, false, false]}, {<<"11"/utf8>>, <<"ㅣ"/utf8>>, [false, false, true]}, {<<"12"/utf8>>, <<"ก"/utf8>>, [true, true, false]}, {<<"12"/utf8>>, <<"ข"/utf8>>, [true, false, true, false]}, {<<"12"/utf8>>, <<"ค"/utf8>>, [true, false, true]}, {<<"12"/utf8>>, <<"ง"/utf8>>, [true, false, true, true, false]}, {<<"12"/utf8>>, <<"จ"/utf8>>, [true, false, false, true, false]}, {<<"12"/utf8>>, <<"ฉ"/utf8>>, [true, true, true, true]}, {<<"12"/utf8>>, <<"ช"/utf8>>, [true, false, false, true]}, {<<"12"/utf8>>, <<"ซ"/utf8>>, [true, true, false, false]}, {<<"12"/utf8>>, <<"ญ"/utf8>>, [false, true, true, true]}, {<<"12"/utf8>>, <<"ด"/utf8>>, [true, false, false]}, {<<"12"/utf8>>, <<"ต"/utf8>>, [true]}, {<<"12"/utf8>>, <<"ถ"/utf8>>, [true, false, true, false, false]}, {<<"12"/utf8>>, <<"ท"/utf8>>, [true, false, false, true, true]}, {<<"12"/utf8>>, <<"น"/utf8>>, [true, false]}, {<<"12"/utf8>>, <<"บ"/utf8>>, [true, false, false, false]}, {<<"12"/utf8>>, <<"ป"/utf8>>, [false, true, true, false]}, {<<"12"/utf8>>, <<"ผ"/utf8>>, [true, true, false, true]}, {<<"12"/utf8>>, <<"ฝ"/utf8>>, [true, false, true, false, true]}, {<<"12"/utf8>>, <<"พ"/utf8>>, [false, true, true, false, false]}, {<<"12"/utf8>>, <<"ฟ"/utf8>>, [false, false, true, false]}, {<<"12"/utf8>>, <<"ม"/utf8>>, [true, true]}, {<<"12"/utf8>>, <<"ย"/utf8>>, [true, false, true, true]}, {<<"12"/utf8>>, <<"ร"/utf8>>, [false, true, false]}, {<<"12"/utf8>>, <<"ล"/utf8>>, [false, true, false, false]}, {<<"12"/utf8>>, <<"ว"/utf8>>, [false, true, true]}, {<<"12"/utf8>>, <<"ส"/utf8>>, [false, false, false]}, {<<"12"/utf8>>, <<"ห"/utf8>>, [false, false, false, false]}, {<<"12"/utf8>>, <<"อ"/utf8>>, [true, false, false, false, true]}, {<<"12"/utf8>>, <<"ฮ"/utf8>>, [true, true, false, true, true]}, {<<"12"/utf8>>, <<"ฤ"/utf8>>, [false, true, false, true, true]}, {<<"12"/utf8>>, <<"ะ"/utf8>>, [false, true, false, false, false]}, {<<"12"/utf8>>, <<"า"/utf8>>, [false, true]}, {<<"12"/utf8>>, <<"ิ"/utf8>>, [false, false, true, false, false]}, {<<"12"/utf8>>, <<"ี"/utf8>>, [false, false]}, {<<"12"/utf8>>, <<"ึ"/utf8>>, [false, false, true, true, false]}, {<<"12"/utf8>>, <<"ื"/utf8>>, [false, false, true, true]}, {<<"12"/utf8>>, <<"ุ"/utf8>>, [false, false, true, false, true]}, {<<"12"/utf8>>, <<"ู"/utf8>>, [true, true, true, false]}, {<<"12"/utf8>>, <<"เ"/utf8>>, [false]}, {<<"12"/utf8>>, <<"แ"/utf8>>, [false, true, false, true]}, {<<"12"/utf8>>, <<"ไ"/utf8>>, [false, true, false, false, true]}, {<<"12"/utf8>>, <<"โ"/utf8>>, [true, true, true]}, {<<"12"/utf8>>, <<"ำ"/utf8>>, [false, false, false, true, false]}, {<<"12"/utf8>>, <<"่"/utf8>>, [false, false, true]}, {<<"12"/utf8>>, <<"้"/utf8>>, [false, false, false, true]}, {<<"12"/utf8>>, <<"๊"/utf8>>, [true, true, false, false, false]}, {<<"12"/utf8>>, <<"๋"/utf8>>, [false, true, false, true, false]}, {<<"12"/utf8>>, <<"ั"/utf8>>, [false, true, true, false, true]}, {<<"12"/utf8>>, <<"็"/utf8>>, [true, true, true, false, false]}, {<<"12"/utf8>>, <<"์"/utf8>>, [true, true, false, false, true]}, {<<"12"/utf8>>, <<"ๆ"/utf8>>, [true, false, true, true, true]}, {<<"12"/utf8>>, <<"ฯ"/utf8>>, [true, true, false, true, false]}] ), Bools, Opt_language ) of {ok, Value} -> if_( Opt_to_uppercase, {ok, Value}, {ok, gleam@string:lowercase(Value)} ); {error, _} -> {error, {morse_code_error, <<"Invalid symbol: "/utf8, W/binary>>}} end end ) end end), gleam@result:map( _pipe@5, fun(_capture) -> gleam@string:join(_capture, <<""/utf8>>) end ). -spec decode_to_string( binary(), decode_options(), gleam@option:option(list({binary(), binary(), list(boolean())})) ) -> binary(). decode_to_string(Input, Options, Morse_code_dict) -> case decode(Input, Options, Morse_code_dict) of {ok, Value} -> Value; {error, Value@1} -> erlang:element(2, Value@1) end.