eo-phi-normalizer 2.3.0 → 3.0.0
raw patch · 228 files changed
+53586/−24550 lines, 228 filesdep +megaparsecdep +parser-combinatorsdep +prettyprintersetup-changed
Dependencies added: megaparsec, parser-combinators, prettyprinter, replace-megaparsec
Files
- CHANGELOG.md +19/−0
- Setup.hs +2/−2
- app/Main.hs +43/−26
- data/0.49.1/dependencies.md +3933/−0
- data/0.49.1/org/eolang/as-phi.phi +11/−0
- data/0.49.1/org/eolang/bytes.phi +95/−0
- data/0.49.1/org/eolang/cti.phi +11/−0
- data/0.49.1/org/eolang/dataized.phi +18/−0
- data/0.49.1/org/eolang/error.phi +11/−0
- data/0.49.1/org/eolang/false.phi +21/−0
- data/0.49.1/org/eolang/fs/dir.phi +71/−0
- data/0.49.1/org/eolang/fs/file.phi +164/−0
- data/0.49.1/org/eolang/fs/path.phi +273/−0
- data/0.49.1/org/eolang/fs/tmpdir.phi +39/−0
- data/0.49.1/org/eolang/go.phi +34/−0
- data/0.49.1/org/eolang/i16.phi +67/−0
- data/0.49.1/org/eolang/i32.phi +79/−0
- data/0.49.1/org/eolang/i64.phi +59/−0
- data/0.49.1/org/eolang/io/bytes-as-input.phi +36/−0
- data/0.49.1/org/eolang/io/console.phi +122/−0
- data/0.49.1/org/eolang/io/dead-input.phi +22/−0
- data/0.49.1/org/eolang/io/dead-output.phi +22/−0
- data/0.49.1/org/eolang/io/input-length.phi +21/−0
- data/0.49.1/org/eolang/io/malloc-as-output.phi +30/−0
- data/0.49.1/org/eolang/io/stdin.phi +45/−0
- data/0.49.1/org/eolang/io/stdout.phi +18/−0
- data/0.49.1/org/eolang/io/tee-input.phi +34/−0
- data/0.49.1/org/eolang/malloc.phi +52/−0
- data/0.49.1/org/eolang/math/angle.phi +30/−0
- data/0.49.1/org/eolang/math/e.phi +12/−0
- data/0.49.1/org/eolang/math/integral.phi +66/−0
- data/0.49.1/org/eolang/math/numbers.phi +42/−0
- data/0.49.1/org/eolang/math/pi.phi +12/−0
- data/0.49.1/org/eolang/math/random.phi +53/−0
- data/0.49.1/org/eolang/math/real.phi +49/−0
- data/0.49.1/org/eolang/nan.phi +44/−0
- data/0.49.1/org/eolang/negative-infinity.phi +61/−0
- data/0.49.1/org/eolang/net/socket.phi +535/−0
- data/0.49.1/org/eolang/number.phi +74/−0
- data/0.49.1/org/eolang/positive-infinity.phi +61/−0
- data/0.49.1/org/eolang/rust.phi +11/−0
- data/0.49.1/org/eolang/seq.phi +17/−0
- data/0.49.1/org/eolang/string.phi +155/−0
- data/0.49.1/org/eolang/structs/bytes-as-array.phi +23/−0
- data/0.49.1/org/eolang/structs/hash-code-of.phi +30/−0
- data/0.49.1/org/eolang/structs/list.phi +194/−0
- data/0.49.1/org/eolang/structs/map.phi +122/−0
- data/0.49.1/org/eolang/structs/range-of-ints.phi +26/−0
- data/0.49.1/org/eolang/structs/range.phi +23/−0
- data/0.49.1/org/eolang/structs/set.phi +37/−0
- data/0.49.1/org/eolang/switch.phi +18/−0
- data/0.49.1/org/eolang/sys/getenv.phi +19/−0
- data/0.49.1/org/eolang/sys/line-separator.phi +14/−0
- data/0.49.1/org/eolang/sys/os.phi +23/−0
- data/0.49.1/org/eolang/sys/posix.phi +35/−0
- data/0.49.1/org/eolang/sys/win32.phi +38/−0
- data/0.49.1/org/eolang/true.phi +21/−0
- data/0.49.1/org/eolang/try.phi +11/−0
- data/0.49.1/org/eolang/tuple.phi +39/−0
- data/0.49.1/org/eolang/txt/regex.phi +56/−0
- data/0.49.1/org/eolang/txt/sprintf.phi +14/−0
- data/0.49.1/org/eolang/txt/sscanf.phi +14/−0
- data/0.49.1/org/eolang/txt/text.phi +275/−0
- data/0.49.1/org/eolang/while.phi +22/−0
- data/0.49.3/dependencies.md +3920/−0
- data/0.49.3/org/eolang/as-phi.phi +11/−0
- data/0.49.3/org/eolang/bytes.phi +95/−0
- data/0.49.3/org/eolang/cti.phi +11/−0
- data/0.49.3/org/eolang/dataized.phi +18/−0
- data/0.49.3/org/eolang/error.phi +11/−0
- data/0.49.3/org/eolang/false.phi +21/−0
- data/0.49.3/org/eolang/fs/dir.phi +71/−0
- data/0.49.3/org/eolang/fs/file.phi +164/−0
- data/0.49.3/org/eolang/fs/path.phi +273/−0
- data/0.49.3/org/eolang/fs/tmpdir.phi +39/−0
- data/0.49.3/org/eolang/go.phi +34/−0
- data/0.49.3/org/eolang/i16.phi +67/−0
- data/0.49.3/org/eolang/i32.phi +79/−0
- data/0.49.3/org/eolang/i64.phi +59/−0
- data/0.49.3/org/eolang/io/bytes-as-input.phi +36/−0
- data/0.49.3/org/eolang/io/console.phi +122/−0
- data/0.49.3/org/eolang/io/dead-input.phi +22/−0
- data/0.49.3/org/eolang/io/dead-output.phi +22/−0
- data/0.49.3/org/eolang/io/input-length.phi +21/−0
- data/0.49.3/org/eolang/io/malloc-as-output.phi +30/−0
- data/0.49.3/org/eolang/io/stdin.phi +45/−0
- data/0.49.3/org/eolang/io/stdout.phi +18/−0
- data/0.49.3/org/eolang/io/tee-input.phi +34/−0
- data/0.49.3/org/eolang/malloc.phi +55/−0
- data/0.49.3/org/eolang/math/angle.phi +30/−0
- data/0.49.3/org/eolang/math/e.phi +12/−0
- data/0.49.3/org/eolang/math/integral.phi +66/−0
- data/0.49.3/org/eolang/math/numbers.phi +42/−0
- data/0.49.3/org/eolang/math/pi.phi +12/−0
- data/0.49.3/org/eolang/math/random.phi +53/−0
- data/0.49.3/org/eolang/math/real.phi +49/−0
- data/0.49.3/org/eolang/nan.phi +44/−0
- data/0.49.3/org/eolang/negative-infinity.phi +61/−0
- data/0.49.3/org/eolang/net/socket.phi +535/−0
- data/0.49.3/org/eolang/number.phi +74/−0
- data/0.49.3/org/eolang/positive-infinity.phi +61/−0
- data/0.49.3/org/eolang/seq.phi +17/−0
- data/0.49.3/org/eolang/string.phi +155/−0
- data/0.49.3/org/eolang/structs/bytes-as-array.phi +23/−0
- data/0.49.3/org/eolang/structs/hash-code-of.phi +30/−0
- data/0.49.3/org/eolang/structs/list.phi +194/−0
- data/0.49.3/org/eolang/structs/map.phi +122/−0
- data/0.49.3/org/eolang/structs/range-of-ints.phi +26/−0
- data/0.49.3/org/eolang/structs/range.phi +23/−0
- data/0.49.3/org/eolang/structs/set.phi +37/−0
- data/0.49.3/org/eolang/switch.phi +18/−0
- data/0.49.3/org/eolang/sys/getenv.phi +19/−0
- data/0.49.3/org/eolang/sys/line-separator.phi +14/−0
- data/0.49.3/org/eolang/sys/os.phi +23/−0
- data/0.49.3/org/eolang/sys/posix.phi +35/−0
- data/0.49.3/org/eolang/sys/win32.phi +38/−0
- data/0.49.3/org/eolang/true.phi +21/−0
- data/0.49.3/org/eolang/try.phi +11/−0
- data/0.49.3/org/eolang/tuple.phi +39/−0
- data/0.49.3/org/eolang/txt/regex.phi +56/−0
- data/0.49.3/org/eolang/txt/sprintf.phi +14/−0
- data/0.49.3/org/eolang/txt/sscanf.phi +14/−0
- data/0.49.3/org/eolang/txt/text.phi +275/−0
- data/0.49.3/org/eolang/while.phi +22/−0
- data/0.49.4/dependencies.md +3904/−0
- data/0.49.4/org/eolang/bytes.phi +95/−0
- data/0.49.4/org/eolang/cti.phi +11/−0
- data/0.49.4/org/eolang/dataized.phi +18/−0
- data/0.49.4/org/eolang/error.phi +11/−0
- data/0.49.4/org/eolang/false.phi +21/−0
- data/0.49.4/org/eolang/fs/dir.phi +71/−0
- data/0.49.4/org/eolang/fs/file.phi +164/−0
- data/0.49.4/org/eolang/fs/path.phi +273/−0
- data/0.49.4/org/eolang/fs/tmpdir.phi +39/−0
- data/0.49.4/org/eolang/go.phi +34/−0
- data/0.49.4/org/eolang/i16.phi +67/−0
- data/0.49.4/org/eolang/i32.phi +79/−0
- data/0.49.4/org/eolang/i64.phi +59/−0
- data/0.49.4/org/eolang/io/bytes-as-input.phi +36/−0
- data/0.49.4/org/eolang/io/console.phi +122/−0
- data/0.49.4/org/eolang/io/dead-input.phi +22/−0
- data/0.49.4/org/eolang/io/dead-output.phi +22/−0
- data/0.49.4/org/eolang/io/input-length.phi +21/−0
- data/0.49.4/org/eolang/io/malloc-as-output.phi +30/−0
- data/0.49.4/org/eolang/io/stdin.phi +45/−0
- data/0.49.4/org/eolang/io/stdout.phi +18/−0
- data/0.49.4/org/eolang/io/tee-input.phi +34/−0
- data/0.49.4/org/eolang/malloc.phi +55/−0
- data/0.49.4/org/eolang/math/angle.phi +30/−0
- data/0.49.4/org/eolang/math/e.phi +12/−0
- data/0.49.4/org/eolang/math/integral.phi +66/−0
- data/0.49.4/org/eolang/math/numbers.phi +42/−0
- data/0.49.4/org/eolang/math/pi.phi +12/−0
- data/0.49.4/org/eolang/math/random.phi +53/−0
- data/0.49.4/org/eolang/math/real.phi +49/−0
- data/0.49.4/org/eolang/nan.phi +44/−0
- data/0.49.4/org/eolang/negative-infinity.phi +61/−0
- data/0.49.4/org/eolang/net/socket.phi +535/−0
- data/0.49.4/org/eolang/number.phi +74/−0
- data/0.49.4/org/eolang/positive-infinity.phi +61/−0
- data/0.49.4/org/eolang/seq.phi +17/−0
- data/0.49.4/org/eolang/string.phi +155/−0
- data/0.49.4/org/eolang/structs/bytes-as-array.phi +23/−0
- data/0.49.4/org/eolang/structs/hash-code-of.phi +30/−0
- data/0.49.4/org/eolang/structs/list.phi +194/−0
- data/0.49.4/org/eolang/structs/map.phi +122/−0
- data/0.49.4/org/eolang/structs/range-of-ints.phi +26/−0
- data/0.49.4/org/eolang/structs/range.phi +23/−0
- data/0.49.4/org/eolang/structs/set.phi +37/−0
- data/0.49.4/org/eolang/switch.phi +18/−0
- data/0.49.4/org/eolang/sys/getenv.phi +19/−0
- data/0.49.4/org/eolang/sys/line-separator.phi +14/−0
- data/0.49.4/org/eolang/sys/os.phi +23/−0
- data/0.49.4/org/eolang/sys/posix.phi +35/−0
- data/0.49.4/org/eolang/sys/win32.phi +38/−0
- data/0.49.4/org/eolang/true.phi +21/−0
- data/0.49.4/org/eolang/try.phi +11/−0
- data/0.49.4/org/eolang/tuple.phi +39/−0
- data/0.49.4/org/eolang/txt/regex.phi +56/−0
- data/0.49.4/org/eolang/txt/sprintf.phi +14/−0
- data/0.49.4/org/eolang/txt/sscanf.phi +14/−0
- data/0.49.4/org/eolang/txt/text.phi +275/−0
- data/0.49.4/org/eolang/while.phi +22/−0
- data/0.50.0/dependencies.md +1016/−0
- data/0.50.0/org/eolang/bytes.phi +96/−0
- data/0.50.0/org/eolang/dataized.phi +18/−0
- data/0.50.0/org/eolang/error.phi +11/−0
- data/0.50.0/org/eolang/false.phi +21/−0
- data/0.50.0/org/eolang/i16.phi +67/−0
- data/0.50.0/org/eolang/i32.phi +79/−0
- data/0.50.0/org/eolang/i64.phi +59/−0
- data/0.50.0/org/eolang/io/dead-input.phi +22/−0
- data/0.50.0/org/eolang/io/dead-output.phi +22/−0
- data/0.50.0/org/eolang/nan.phi +44/−0
- data/0.50.0/org/eolang/negative-infinity.phi +61/−0
- data/0.50.0/org/eolang/number.phi +74/−0
- data/0.50.0/org/eolang/positive-infinity.phi +61/−0
- data/0.50.0/org/eolang/seq.phi +17/−0
- data/0.50.0/org/eolang/string.phi +155/−0
- data/0.50.0/org/eolang/true.phi +21/−0
- data/0.50.0/org/eolang/try.phi +11/−0
- data/0.50.0/org/eolang/tuple.phi +39/−0
- data/0.50.0/org/eolang/txt/sprintf.phi +14/−0
- data/0.50.0/org/eolang/while.phi +22/−0
- eo-phi-normalizer.cabal +222/−3
- grammar/EO/Phi/Syntax.cf +26/−14
- src/Language/EO/Phi.hs +1/−1
- src/Language/EO/Phi/Dataize.hs +64/−12
- src/Language/EO/Phi/Dataize/Atoms.hs +77/−18
- src/Language/EO/Phi/Dependencies.hs +1/−0
- src/Language/EO/Phi/Normalize.hs +5/−1
- src/Language/EO/Phi/Preprocess.hs +80/−0
- src/Language/EO/Phi/Pretty.hs +168/−0
- src/Language/EO/Phi/Rules/Common.hs +24/−8
- src/Language/EO/Phi/Rules/Fast.hs +4/−0
- src/Language/EO/Phi/Rules/Yaml.hs +39/−5
- src/Language/EO/Phi/Syntax.hs +326/−109
- src/Language/EO/Phi/Syntax/Abs.hs +19/−3
- src/Language/EO/Phi/Syntax/Lex.hs +26048/−22619
- src/Language/EO/Phi/Syntax/Lex.x +32/−13
- src/Language/EO/Phi/Syntax/Par.hs +1727/−1397
- src/Language/EO/Phi/Syntax/Par.y +43/−17
- src/Language/EO/Phi/Syntax/Print.hs +0/−269
- src/Language/EO/Phi/ToLaTeX.hs +19/−6
- test/Language/EO/Phi/DataizeSpec.hs +25/−17
- test/Language/EO/Rules/PhiPaperSpec.hs +14/−5
- test/Language/EO/YamlSpec.hs +2/−2
- test/eo/phi/rules/new.yaml +3/−3
CHANGELOG.md view
@@ -6,6 +6,25 @@ and this project adheres to the [Haskell Package Versioning Policy](https://pvp.haskell.org/). +## v3.0.0 - 2024-12-28++### Breaking changes++- Switch to built-in rules until `new.yaml` rules work ([#619](https://github.com/objectionary/eo-phi-normalizer/pull/619))+- Update EO to 0.50.0, use `yegor.yaml` by default ([#617](https://github.com/objectionary/eo-phi-normalizer/pull/617), [#641](https://github.com/objectionary/eo-phi-normalizer/pull/641))++### Changes and fixes++- Rename `Normal form` to `NF` ([#627](https://github.com/objectionary/eo-phi-normalizer/pull/627))+- Run CI on PRs to `develop` ([#638](https://github.com/objectionary/eo-phi-normalizer/pull/638))+- Sort options in command help messages ([#642](https://github.com/objectionary/eo-phi-normalizer/pull/642))++### Documentation and maintenance++- Add quick start to the README ([#632](https://github.com/objectionary/eo-phi-normalizer/pull/632))+- Remove the description of dataization ([#635](https://github.com/objectionary/eo-phi-normalizer/pull/635))+- chore(deps): update baptiste0928/cargo-install action to v3.2.0 ([#640](https://github.com/objectionary/eo-phi-normalizer/pull/640))+ ## v2.3.0 - 2024-12-05 ### Breaking changes
Setup.hs view
@@ -89,7 +89,8 @@ , "bnfc --haskell -d -p Language.EO.Phi --generic -o src/ grammar/EO/Phi/Syntax.cf" , "cd src/Language/EO/Phi/Syntax" , "alex Lex.x"- , "happy Par.y"+ , "happy --info Par.y"+ , "rm -f Print.hs ErrM.hs Skel.hs Test.hs Abs.hs.bak Print.hs.bak" , "true" ] @@ -99,7 +100,6 @@ _ <- callCommand fullCommand _ <- addLicense "Abs.hs"- _ <- addLicense "Print.hs" postConf simpleUserHooks args flags packageDesc localBuildInfo }
app/Main.hs view
@@ -79,11 +79,11 @@ import Language.EO.Phi.Pipeline.EOTests.PrepareTests as PrepareTests import Language.EO.Phi.Report.Data (makeProgramReport, makeReport) import Language.EO.Phi.Report.Html (reportCSS, reportJS, toStringReport)-import Language.EO.Phi.Rules.Common+import Language.EO.Phi.Rules.Common (ApplicationLimits (ApplicationLimits), Context (..), LogEntry (..), applyRulesChainWith', applyRulesWith, objectSize) import Language.EO.Phi.Rules.Fast (fastYegorInsideOut, fastYegorInsideOutAsRule) import Language.EO.Phi.Rules.RunYegor (yegorRuleSet) import Language.EO.Phi.Rules.Yaml (RuleSet (rules, title), convertRuleNamed, parseRuleSetFromFile)-import Language.EO.Phi.Syntax (desugar, wrapBytesInBytes, wrapTermination)+import Language.EO.Phi.Syntax (desugar, errorExpectedDesugaredObject, wrapBytesInBytes, wrapTermination) import Language.EO.Phi.ToLaTeX import Language.EO.Test.YamlSpec (spec) import Options.Applicative hiding (metavar)@@ -275,52 +275,55 @@ , test :: Parser CLI'Test } +rulesFile :: String+rulesFile = "yegor.yaml"+ commandParser :: CommandParser commandParser = CommandParser{..} where metrics = do- inputFile <- inputFileArg- outputFile <- outputFileOption bindingsPath <- bindingsPathOption+ outputFile <- outputFileOption+ inputFile <- inputFileArg pure CLI'MetricsPhi{..} printRules = do- rulesPath <- optional $ strOption (long "rules" <> short 'r' <> metavar.file <> help [fmt|{metavarName.file} with user-defined rules. If unspecified, yegor.yaml is rendered.|])- latex <- latexSwitch compact <- compactSwitch+ rulesPath <- optional $ strOption (long "rules" <> short 'r' <> metavar.file <> help [fmt|{metavarName.file} with user-defined rules. If unspecified, {rulesFile} is rendered.|])+ latex <- latexSwitch pure CLI'PrintRules{..} rewrite = do- rulesPath <- optional $ strOption (long "rules" <> short 'r' <> metavar.file <> help [fmt|{metavarName.file} with user-defined rules. If unspecified, builtin set of rules is used.|]) chain <- switch (long "chain" <> short 'c' <> help "Output rewriting steps.")+ dependencies <- dependenciesArg json <- jsonSwitch- latex <- latexSwitch- outputFile <- outputFileOption- let singleFlag :: String- singleFlag = "single"- single <- switch (long singleFlag <> short 's' <> help "Output a single expression.")- singleLine <- switch (long "single-line" <> short 'l' <> help [fmt|Output a single expression on a single line. Has effect only if the --{singleFlag} is enabled.|]) maxDepth <- let maxValue = 10 in option auto (long "max-depth" <> metavar.int <> value maxValue <> help [fmt|Maximum depth of rules application. Defaults to {maxValue}.|]) maxGrowthFactor <- let maxValue = 10 in option auto (long "max-growth-factor" <> metavar.int <> value maxValue <> help [fmt|The factor by which to allow the input term to grow before stopping. Defaults to {maxValue}.|])+ outputFile <- outputFileOption+ rulesPath <- optional $ strOption (long "rules" <> short 'r' <> metavar.file <> help [fmt|{metavarName.file} with user-defined rules. If unspecified, builtin set of rules is used.|])+ let singleFlag :: String+ singleFlag = "single"+ single <- switch (long singleFlag <> short 's' <> help "Output a single expression.")+ singleLine <- switch (long "single-line" <> short 'l' <> help [fmt|Output a single expression on a single line. Has effect only if the --{singleFlag} is enabled.|])+ latex <- latexSwitch inputFile <- inputFileArg- dependencies <- dependenciesArg pure CLI'RewritePhi{..} dataize = do- rulesPath <- optional $ strOption (long "rules" <> short 'r' <> metavar.file <> help [fmt|{metavarName.file} with user-defined rules. If unspecified, builtin set of rules is used.|])- inputFile <- inputFileArg+ asPackage <- asPackageSwitch+ chain <- switch (long "chain" <> help "Display all the intermediate steps.") dependencies <- dependenciesArg+ disabledAtomNames <- many $ strOption (long "disable-atom" <> metavar.atomName <> help "Name of an atom to disable.")+ enabledAtomNames <- many $ strOption (long "enable-atom" <> metavar.atomName <> help "Name of an atom to enable.")+ minimizeStuckTerms <- minimizeStuckTermsSwitch outputFile <- outputFileOption recursive <- switch (long "recursive" <> help "Apply dataization + normalization recursively.")- chain <- switch (long "chain" <> help "Display all the intermediate steps.")- wrapRawBytes <- switch (long "wrap-raw-bytes" <> help "Wrap raw bytes ⟦ Δ ⤍ 01- ⟧ as Φ.org.eolang.bytes(Δ ⤍ 01-) in the final output.")+ rulesPath <- optional $ strOption (long "rules" <> short 'r' <> metavar.file <> help [fmt|{metavarName.file} with user-defined rules. If unspecified, builtin set of rules is used.|]) latex <- latexSwitch- asPackage <- asPackageSwitch- minimizeStuckTerms <- minimizeStuckTermsSwitch- disabledAtomNames <- many $ strOption (long "disable-atom" <> metavar.atomName <> help "Name of an atom to disable.")- enabledAtomNames <- many $ strOption (long "enable-atom" <> metavar.atomName <> help "Name of an atom to enable.")+ wrapRawBytes <- switch (long "wrap-raw-bytes" <> help "Wrap raw bytes ⟦ Δ ⤍ 01- ⟧ as Φ.org.eolang.bytes(Δ ⤍ 01-) in the final output.")+ inputFile <- inputFileArg pure CLI'DataizePhi{..} pipeline' = CommandParser'Pipeline@@ -332,8 +335,8 @@ pure CLI'Pipeline'PrepareTests{..} , printDataizeConfigs = do configFile <- strOption (long "config" <> short 'c' <> metavar.file <> help [fmt|A pipeline tests configuration {metavarName.file}.|])- phiPrefixesToStrip <- many $ strOption (long "strip-phi-prefix" <> short 'p' <> metavar.path <> help [fmt|{metavarName.path} prefix to remove in PHI file paths.|]) singleLine <- switch (long "single-line" <> short 'l' <> help [fmt|Output configs on an single line.|])+ phiPrefixesToStrip <- many $ strOption (long "strip-phi-prefix" <> short 'p' <> metavar.path <> help [fmt|{metavarName.path} prefix to remove in PHI file paths.|]) pure CLI'Pipeline'PrintDataizeConfigs{..} } pipeline =@@ -556,17 +559,21 @@ ] ObjectDispatch obj a -> ObjectDispatch (wrapRawBytesIn obj) a- GlobalObject -> GlobalObject- ThisObject -> ThisObject Termination -> wrapTermination+ obj@GlobalObject -> obj+ obj@GlobalObjectPhiOrg -> obj+ obj@ThisObject -> obj obj@MetaSubstThis{} -> obj obj@MetaContextualize{} -> obj obj@MetaObject{} -> obj obj@MetaTailContext{} -> obj obj@MetaFunction{} -> obj obj@ConstString{} -> wrapRawBytesIn (desugar obj)+ obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj obj@ConstInt{} -> wrapRawBytesIn (desugar obj)+ obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj obj@ConstFloat{} -> wrapRawBytesIn (desugar obj)+ obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj -- * Main @@ -600,7 +607,7 @@ -- Temporary hack while rules are not stabilized. -- Nothing -> return (True, "Yegor's rules (builtin)", [fastYegorInsideOutAsRule]) Nothing -> do- ruleSet :: RuleSet <- decodeThrow $(embedFileRelative "test/eo/phi/rules/new.yaml")+ ruleSet :: RuleSet <- decodeThrow $(embedFileRelative "test/eo/phi/rules/yegor.yaml") return (False, ruleSet.title, convertRuleNamed <$> ruleSet.rules) unless (single || json || latex) $ logStrLn ruleSetTitle bindingsWithDeps <- case deepMergePrograms (program' : deps) of@@ -696,6 +703,16 @@ bindingsWithDeps <- case deepMergePrograms (program' : deps) of Left err -> throwIO (CouldNotMergeDependencies err) Right (Program bindingsWithDeps) -> return bindingsWithDeps+ -- (builtin, ruleSetTitle, rules) <-+ -- case rulesPath of+ -- Just path -> do+ -- ruleSet <- parseRuleSetFromFile path+ -- return (False, ruleSet.title, convertRuleNamed <$> ruleSet.rules)+ -- -- Temporary hack while rules are not stabilized.+ -- -- Nothing -> return (True, "Yegor's rules (builtin)", [fastYegorInsideOutAsRule])+ -- Nothing -> do+ -- ruleSet :: RuleSet <- decodeThrow $(embedFileRelative "test/eo/phi/rules/new.yaml")+ -- return (False, ruleSet.title, convertRuleNamed <$> ruleSet.rules) (builtin, _ruleSetTitle, rules) <- case rulesPath of Just path -> do
+ data/0.49.1/dependencies.md view
@@ -0,0 +1,3933 @@+# Dependencies++## [org/eolang/as-phi.phi](./org/eolang/as-phi.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ as-phi(x) ↦ ⟦+ λ ⤍ Lorg_eolang_as_phi+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/bytes.phi](./org/eolang/bytes.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ bytes(data) ↦ ⟦+ φ ↦ ξ.data,+ as-bytes ↦ ξ,+ as-bool ↦ ξ.eq(Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)),+ as-number ↦ ⟦+ φ ↦ ξ.ρ.eq(Φ̇.nan.as-bytes).if(+ Φ̇.nan,+ ξ.ρ.eq(Φ̇.positive-infinity.as-bytes).if(+ Φ̇.positive-infinity,+ ξ.ρ.eq(Φ̇.negative-infinity.as-bytes).if(+ Φ̇.negative-infinity,+ ξ.ρ.size.eq(8).if(+ Φ̇.number(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 8 length bytes to a number, bytes are %x", Φ̇.tuple.empty+ )+ )+ )+ )+ )+ )+ ⟧,+ eq(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_eq+ ⟧,+ size ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_size+ ⟧,+ slice(start, len) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_slice+ ⟧,+ as-i64 ↦ ⟦+ φ ↦ ξ.ρ.size.eq(8).if(+ Φ̇.i64(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 8 length bytes to i64, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ as-i32 ↦ ⟦+ φ ↦ ξ.ρ.size.eq(4).if(+ Φ̇.i32(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 4 length bytes to i32, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ as-i16 ↦ ⟦+ φ ↦ ξ.ρ.size.eq(2).if(+ Φ̇.i16(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 2 length bytes to i16, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ and(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_and+ ⟧,+ or(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_or+ ⟧,+ xor(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_xor+ ⟧,+ not ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_not+ ⟧,+ left(x) ↦ ⟦+ φ ↦ ξ.ρ.right(ξ.x.neg)+ ⟧,+ right(x) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_right+ ⟧,+ concat(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_concat+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/cti.phi](./org/eolang/cti.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ cti(delegate, level, message) ↦ ⟦+ φ ↦ ξ.delegate+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/dataized.phi](./org/eolang/dataized.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ dataized(target) ↦ ⟦+ φ ↦ Φ̇.try(+ ξ.target,+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)+ )+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/error.phi](./org/eolang/error.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ error(message) ↦ ⟦+ λ ⤍ Lorg_eolang_error+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/false.phi](./org/eolang/false.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ false ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ not ↦ Φ̇.true,+ if(left, right) ↦ ⟦+ φ ↦ ξ.right+ ⟧,+ and(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ or(x) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/fs/dir.phi](./org/eolang/fs/dir.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ fs ↦ ⟦+ dir(file) ↦ ⟦+ φ ↦ ξ.file,+ is-directory ↦ Φ̇.true,+ made ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.mkdir), ξ.ρ))+ ),+ mkdir ↦ ⟦+ λ ⤍ Lorg_eolang_fs_dir_made_mkdir+ ⟧+ ⟧,+ walk(glob) ↦ ⟦+ λ ⤍ Lorg_eolang_fs_dir_walk+ ⟧,+ deleted ↦ ⟦+ walked ↦ ξ.ρ.walk("**").at.ρ,+ len ↦ Φ̇.dataized(ξ.walked.length).as-bytes,+ φ ↦ ξ.ρ.exists.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.rec-delete(ξ.walked, 0)), ξ.ρ+ )+ ),+ ξ.ρ+ ),+ rec-delete(tup, index) ↦ ⟦+ φ ↦ ξ.ρ.len.eq(ξ.index).if(+ Φ̇.true,+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.tup.tail.deleted.exists),+ ξ.ρ.rec-delete(ξ.tup.head, ξ.index.plus(1))+ )+ )+ )+ ⟧+ ⟧,+ tmpfile ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ Φ̇.fs.file(Φ̇.string(ξ.touch.as-bytes)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Directory %s does not exist, can't create temporary file",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+ )+ )+ ),+ touch ↦ ⟦+ λ ⤍ Lorg_eolang_fs_dir_tmpfile_touch+ ⟧+ ⟧,+ open(mode, scope) ↦ ⟦+ φ ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "The file %s is a directory, can't open for I/O operations",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/fs/file.phi](./org/eolang/fs/file.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ fs ↦ ⟦+ file(path) ↦ ⟦+ φ ↦ ξ.path,+ is-directory ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_is_directory+ ⟧,+ exists ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_exists+ ⟧,+ touched ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.touch), ξ.ρ))+ ),+ touch ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_touched_touch+ ⟧+ ⟧,+ deleted ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.delete), ξ.ρ)), ξ.ρ+ ),+ delete ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_deleted_delete+ ⟧+ ⟧,+ size ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_size+ ⟧,+ moved(target) ↦ ⟦+ φ ↦ Φ̇.fs.file(Φ̇.string(ξ.move.as-bytes)),+ move ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_moved_move+ ⟧+ ⟧,+ as-path ↦ ⟦+ φ ↦ Φ̇.fs.path(ξ.ρ.path).determined+ ⟧,+ open(mode, scope) ↦ ⟦+ access ↦ Φ̇.dataized(ξ.mode).as-bytes,+ read ↦ ξ.access.eq("r"),+ write ↦ ξ.access.eq("w"),+ append ↦ ξ.access.eq("a"),+ read-write ↦ ξ.access.eq("r+"),+ write-read ↦ ξ.access.eq("w+"),+ read-append ↦ ξ.access.eq("a+"),+ can-read ↦ ξ.read.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).as-bool,+ can-write ↦ ξ.write.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).or(+ ξ.append+ ).as-bool,+ must-exists ↦ ξ.read.or(ξ.read-write).as-bool,+ truncate ↦ ξ.write.or(ξ.write-read).as-bool,+ φ ↦ ξ.can-read.not.and(ξ.can-write.not).if(+ Φ̇.error(+ "Wrong access mod. Only next modes are available: 'r', 'w', 'a', 'r+', 'w+', 'a+'"+ ),+ ξ.ρ.exists.not.if(+ ξ.must-exists.if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "File must exist for given access mod: '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.access)+ )+ ),+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.touched.touch), ξ.process-file+ ),+ ξ.ρ+ )+ )+ ),+ ξ.truncate.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.deleted.delete), ξ.ρ.touched.touch+ ),+ ξ.process-file+ ),+ ξ.ρ+ )+ ),+ Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.process-file), ξ.ρ))+ )+ )+ ),+ process-file ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_open_process_file+ ⟧,+ file-stream ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ Φ̇.dataized(ξ.ρ.ρ.read-bytes(ξ.size)).as-bytes,+ φ ↦ ξ.ρ.ρ.ρ.ρ.can-read.not.if(+ ξ.auto-named-attr-at-216-18,+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ )+ ).self,+ auto-named-attr-at-216-18 ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't read from file with provided access mode '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+ )+ )+ ⟧+ ⟧+ ⟧,+ read-bytes(size) ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_open_file_stream_read_read_bytes+ ⟧+ ⟧,+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.ρ.can-write.not.if(+ ξ.auto-named-attr-at-258-18,+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.written-bytes(ξ.buffer)), ξ.ρ.ρ.output-block+ )+ )+ ).self,+ auto-named-attr-at-258-18 ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't write to file with provided access mode '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+ )+ )+ ⟧+ ⟧+ ⟧,+ written-bytes(buffer) ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_open_file_stream_write_written_bytes+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/fs/path.phi](./org/eolang/fs/path.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ fs ↦ ⟦+ path(uri) ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.win32(Φ̇.string(ξ.uri.as-bytes)), ξ.posix(Φ̇.string(ξ.uri.as-bytes))+ ).determined,+ joined(paths) ↦ ⟦+ joined-path ↦ Φ̇.string(+ Φ̇.txt.text(ξ.ρ.separator).joined(ξ.paths).as-bytes+ ),+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.ρ.win32(ξ.joined-path), ξ.ρ.posix(ξ.joined-path)+ ).normalized+ ⟧,+ separator ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(ξ.ρ.win32.separator, ξ.ρ.posix.separator)+ ⟧,+ posix(uri) ↦ ⟦+ determined ↦ ξ,+ separator ↦ "/",+ as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+ as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+ φ ↦ ξ.uri,+ is-absolute ↦ ⟦+ φ ↦ ξ.ρ.uri.length.gt(0).and(+ ξ.ρ.uri.as-bytes.slice(0, 1).eq(ξ.ρ.separator)+ )+ ⟧,+ normalized ↦ ⟦+ uri-as-bytes ↦ ξ.ρ.uri.as-bytes,+ is-absolute ↦ ξ.ρ.is-absolute.as-bool,+ has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+ ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+ ξ.ρ.separator+ )+ ),+ path ↦ Φ̇.txt.text(ξ.ρ.separator).joined(+ Φ̇.structs.list(Φ̇.txt.text(ξ.ρ.uri).split(ξ.ρ.separator)).reduced(+ Φ̇.tuple.empty, ξ.auto-named-attr-at-102-25+ )+ ),+ normalized ↦ ξ.ρ.uri.length.eq(0).if(+ ".",+ ξ.is-absolute.if(ξ.ρ.separator.concat(ξ.path), ξ.path).concat(+ ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ )+ ).as-bytes,+ φ ↦ ξ.ρ.ρ.posix(+ ξ.normalized.eq("//").if("/", Φ̇.string(ξ.normalized))+ ).determined,+ auto-named-attr-at-102-25(accum, segment) ↦ ⟦+ φ ↦ ξ.segment.eq("..").if(+ ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+ ξ.accum.head, ξ.ρ.is-absolute.not.if(ξ.accum.with(ξ.segment), ξ.accum)+ ),+ ξ.segment.eq(".").or(ξ.segment.eq("")).if(+ ξ.accum, ξ.accum.with(ξ.segment)+ )+ )+ ⟧+ ⟧,+ resolved(other) ↦ ⟦+ other-as-bytes ↦ ξ.other.as-bytes,+ φ ↦ ξ.ρ.ρ.posix(+ Φ̇.string(+ ξ.other-as-bytes.slice(0, 1).eq(ξ.ρ.separator).if(+ ξ.other-as-bytes, ξ.ρ.uri.concat(ξ.ρ.separator).concat(ξ.other-as-bytes)+ )+ )+ ).normalized+ ⟧,+ basename ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ slice-start-idx ↦ Φ̇.dataized(+ ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+ ).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+ ξ.pth,+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ extname ↦ ⟦+ base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+ slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+ φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+ "",+ Φ̇.string(+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ dirname ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+ ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+ )+ )+ ⟧+ ⟧,+ win32(uri) ↦ ⟦+ separator ↦ "\\",+ φ ↦ ξ.validated(+ Φ̇.string(ξ.validated.separated-correctly(ξ.uri).as-bytes)+ ).determined,+ validated(uri) ↦ ⟦+ determined ↦ ξ,+ separator ↦ ξ.ρ.separator,+ as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+ as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+ φ ↦ ξ.uri,+ is-drive-relative(uri) ↦ ⟦+ φ ↦ Φ̇.txt.regex("/^[a-zA-Z]:/").matches(ξ.uri).as-bool+ ⟧,+ is-root-relative(uri) ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+ φ ↦ ξ.uri-as-bytes.size.gt(0).and(+ ξ.uri-as-bytes.slice(0, 1).eq(ξ.ρ.separator)+ )+ ⟧,+ separated-correctly(uri) ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+ pth ↦ Φ̇.txt.text(Φ̇.string(ξ.uri-as-bytes)),+ replaced ↦ Φ̇.dataized(+ ξ.pth.replaced(Φ̇.txt.regex("/\\//"), ξ.ρ.separator)+ ).as-bytes,+ φ ↦ ξ.pth.index-of(ξ.ρ.ρ.ρ.ρ.path.posix.separator).eq(-1).if(+ Φ̇.string(ξ.uri-as-bytes), Φ̇.string(ξ.replaced)+ )+ ⟧,+ is-absolute ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ φ ↦ ξ.uri-as-bytes.size.eq(0).if(+ Φ̇.false,+ ξ.ρ.is-root-relative(ξ.uri-as-bytes).or(+ ξ.uri-as-bytes.size.gt(1).and(+ ξ.ρ.is-drive-relative(ξ.uri-as-bytes)+ )+ )+ )+ ⟧,+ normalized ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.uri-as-bytes).as-bool,+ is-root-relative ↦ ξ.ρ.is-root-relative(ξ.uri-as-bytes).as-bool,+ driveless ↦ Φ̇.dataized(+ ξ.is-drive-relative.if(+ ξ.uri-as-bytes.slice(2, ξ.uri-as-bytes.size.plus(-2)), ξ.uri-as-bytes+ )+ ).as-bytes,+ has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+ ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+ ξ.ρ.separator+ )+ ),+ path ↦ Φ̇.dataized(+ Φ̇.txt.text(ξ.ρ.separator).joined(+ Φ̇.structs.list(+ Φ̇.txt.text(ξ.driveless).split(ξ.ρ.separator)+ ).reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-356-27)+ )+ ).as-bytes,+ normalized ↦ ξ.driveless.size.eq(0).if(+ ".",+ ξ.is-drive-relative.if(+ ξ.driveless.slice(0, 1).eq(ξ.ρ.separator).if(+ ξ.ρ.uri.slice(0, 3), ξ.ρ.uri.slice(0, 2)+ ),+ ξ.is-root-relative.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ ).concat(ξ.path).concat(+ ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ )+ ).as-bytes,+ φ ↦ ξ.ρ.ρ.validated(+ ξ.normalized.eq("\\\\").if(+ ξ.ρ.separator, Φ̇.string(ξ.normalized)+ )+ ).determined,+ auto-named-attr-at-356-27(accum, segment) ↦ ⟦+ φ ↦ ξ.segment.eq("..").if(+ ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+ ξ.accum.head,+ ξ.ρ.is-root-relative.not.and(ξ.ρ.is-drive-relative.not).if(+ ξ.accum.with(ξ.segment), ξ.accum+ )+ ),+ ξ.segment.eq(".").or(ξ.segment.eq("")).if(+ ξ.accum, ξ.accum.with(ξ.segment)+ )+ )+ ⟧+ ⟧,+ resolved(other) ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ valid-other ↦ Φ̇.dataized(ξ.ρ.separated-correctly(ξ.other)).as-bytes,+ other-is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.valid-other).as-bool,+ other-is-root-relative ↦ ξ.ρ.is-root-relative(ξ.valid-other).as-bool,+ φ ↦ ξ.ρ.ρ.validated(+ Φ̇.string(+ ξ.other-is-drive-relative.if(+ ξ.valid-other,+ ξ.other-is-root-relative.if(+ ξ.ρ.is-drive-relative(ξ.uri-as-bytes).if(+ ξ.uri-as-bytes.slice(0, 2).concat(ξ.valid-other), ξ.valid-other+ ),+ ξ.uri-as-bytes.concat(ξ.ρ.separator).concat(+ ξ.valid-other+ )+ )+ )+ )+ ).normalized+ ⟧,+ basename ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ slice-start-idx ↦ Φ̇.dataized(+ ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+ ).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+ ξ.pth,+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ extname ↦ ⟦+ base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+ slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+ φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+ "",+ Φ̇.string(+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ dirname ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+ ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+ )+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/fs/tmpdir.phi](./org/eolang/fs/tmpdir.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ fs ↦ ⟦+ tmpdir ↦ ⟦+ φ ↦ Φ̇.fs.dir(Φ̇.fs.file(Φ̇.string(ξ.os-tmp-dir))),+ os-tmp-dir ↦ Φ̇.dataized(ξ.os-tmp-dir-1).as-bytes,+ os-tmp-dir-1 ↦ ⟦+ tmpdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TMPDIR")).as-bytes,+ tmp ↦ Φ̇.dataized(Φ̇.sys.getenv("TMP")).as-bytes,+ temp ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMP")).as-bytes,+ tempdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMPDIR")).as-bytes,+ userprofile ↦ Φ̇.dataized(Φ̇.sys.getenv("USERPROFILE")).as-bytes,+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.tmp.eq("").if(+ ξ.temp.eq("").if(+ ξ.userprofile.eq("").if("C:\\Windows", ξ.userprofile), ξ.temp+ ),+ ξ.tmp+ ),+ ξ.tmpdir.eq("").if(+ ξ.tmp.eq("").if(+ ξ.temp.eq("").if(+ ξ.tempdir.eq("").if("/tmp", ξ.tempdir), ξ.temp+ ),+ ξ.tmp+ ),+ ξ.tmpdir+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/go.phi](./org/eolang/go.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ go ↦ ⟦+ id ↦ Φ̇.dataized(+ Φ̇.malloc.of(+ 8,+ ⟦+ φ ↦ ξ.m.put(ξ.m.id),+ m ↦ ∅+ ⟧+ )+ ).as-bytes,+ to(body) ↦ ⟦+ φ ↦ Φ̇.try(ξ.body(ξ.token), ξ.auto-named-attr-at-63-9, Φ̇.true),+ token ↦ ⟦+ backward ↦ Φ̇.error(ξ.jump(ξ.ρ.ρ.to(ξ.ρ.body))),+ jump(value) ↦ ⟦+ id ↦ ξ.ρ.ρ.ρ.id+ ⟧,+ forward(res) ↦ ⟦+ φ ↦ Φ̇.error(ξ.ρ.jump(ξ.res))+ ⟧+ ⟧,+ auto-named-attr-at-63-9(e) ↦ ⟦+ φ ↦ ξ.ρ.ρ.id.eq(ξ.e.id).if(ξ.e.value, Φ̇.error(ξ.e))+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/i16.phi](./org/eolang/i16.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ i16(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i16 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64.as-i32.as-i16),+ as-i64 ↦ ξ.as-i32.as-i64,+ as-number ↦ ξ.as-i64.as-number,+ as-i32 ↦ ⟦+ λ ⤍ Lorg_eolang_i16_as_i32+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.lt(ξ.x.as-i16.as-i32)+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.lte(ξ.x.as-i16.as-i32)+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.gt(ξ.x.as-i16.as-i32)+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.gte(ξ.x.as-i16.as-i32)+ ⟧,+ times(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i32.times(ξ.x.as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+ ⟧,+ plus(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i32.plus(ξ.x.as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ.plus(ξ.x.as-i16.neg)+ ⟧,+ div(x) ↦ ⟦+ x-as-i16 ↦ ξ.x.as-i16,+ bts ↦ ξ.ρ.as-i32.div(ξ.x-as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧),+ φ ↦ ξ.x-as-i16.eq(ξ.zero).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't divide %d by i16 zero",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i32.as-i64.as-number)+ )+ ),+ ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))).if(+ ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right))+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/i32.phi](./org/eolang/i32.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ i32(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i32 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64.as-i32),+ as-number ↦ ξ.as-i64.as-number,+ as-i64 ↦ ⟦+ λ ⤍ Lorg_eolang_i32_as_i64+ ⟧,+ as-i16 ↦ ⟦+ left ↦ ξ.ρ.as-bytes.slice(0, 2).as-bytes,+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(+ Φ̇.i16(ξ.ρ.as-bytes.slice(2, 2)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert i32 number %d to i16 because it's out of i16 bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+ )+ )+ )+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.lt(ξ.x.as-i32.as-i64)+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.lte(ξ.x.as-i32.as-i64)+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.gt(ξ.x.as-i32.as-i64)+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.gte(ξ.x.as-i32.as-i64)+ ⟧,+ times(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i64.times(ξ.x.as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+ ⟧,+ plus(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i64.plus(ξ.x.as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ.plus(ξ.x.as-i32.neg)+ ⟧,+ div(x) ↦ ⟦+ x-as-i32 ↦ ξ.x.as-i32,+ bts ↦ ξ.ρ.as-i64.div(ξ.x-as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧),+ φ ↦ ξ.x-as-i32.eq(ξ.zero).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't divide %d by i32 zero", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+ )+ ),+ ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))).if(+ ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right))+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/i64.phi](./org/eolang/i64.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ i64(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i64 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64),+ as-i16 ↦ ξ.as-i32.as-i16,+ as-i32 ↦ ⟦+ left ↦ ξ.ρ.as-bytes.slice(0, 4).as-bytes,+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(+ Φ̇.i32(ξ.ρ.as-bytes.slice(4, 4)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert i64 number %d to i32 because it's out of i32 bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-number)+ )+ )+ )+ ⟧,+ as-number ↦ ⟦+ λ ⤍ Lorg_eolang_i64_as_number+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ 0.as-i64.gt(ξ.ρ.minus(ξ.ρ.ρ.i64(ξ.value)))+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ gt(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_gt+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ times(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_times+ ⟧,+ plus(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_plus+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.plus(ξ.ρ.ρ.i64(ξ.value).neg)+ ⟧,+ div(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_div+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/bytes-as-input.phi](./org/eolang/io/bytes-as-input.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ bytes-as-input(bts) ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(ξ.ρ.bts, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(data, buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ to-read ↦ Φ̇.dataized(ξ.size).as-bytes,+ available ↦ Φ̇.dataized(ξ.ρ.data.size).as-bytes,+ next ↦ Φ̇.dataized(+ Φ̇.number(ξ.available).gt(ξ.to-read).if(ξ.to-read, ξ.available)+ ).as-bytes,+ φ ↦ ξ.available.eq(0).if(+ ξ.ρ.ρ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.bytes(⟦ Δ ⤍ -- ⟧)),+ ξ.ρ.ρ.input-block(+ ξ.ρ.data.slice(+ ξ.next, Φ̇.number(ξ.available).minus(Φ̇.number(ξ.next))+ ).as-bytes,+ ξ.ρ.data.slice(0, ξ.next).as-bytes+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/console.phi](./org/eolang/io/console.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ console ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(ξ.windows-console, ξ.posix-console).platform,+ posix-console ↦ ⟦+ platform ↦ ξ,+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ Φ̇.dataized(+ Φ̇.sys.posix(+ "read",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.stdin-fileno), ξ.size+ )+ ).output+ ).as-bytes,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ ).self+ ⟧+ ⟧+ ⟧,+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.sys.posix(+ "write",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty, Φ̇.sys.posix.stdout-fileno+ ),+ ξ.buffer+ ),+ ξ.buffer.size+ )+ ).code+ ),+ ξ.ρ.ρ.output-block+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ windows-console ↦ ⟦+ platform ↦ ξ,+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ Φ̇.dataized(+ Φ̇.sys.win32(+ "ReadFile",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.std-input-handle), ξ.size+ )+ ).output+ ).as-bytes,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ ).self+ ⟧+ ⟧+ ⟧,+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.sys.win32(+ "WriteFile",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty, Φ̇.sys.win32.std-output-handle+ ),+ ξ.buffer+ ),+ ξ.buffer.size+ )+ ).code+ ),+ ξ.ρ.ρ.output-block+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/dead-input.phi](./org/eolang/io/dead-input.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ dead-input ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block,+ input-block ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ -- ⟧),+ read(size) ↦ ⟦+ φ ↦ ξ.ρ.ρ.input-block+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/dead-output.phi](./org/eolang/io/dead-output.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ dead-output ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block,+ output-block ↦ ⟦+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ ξ.ρ.ρ.output-block+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/input-length.phi](./org/eolang/io/input-length.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ input-length(input) ↦ ⟦+ chunk ↦ 4096,+ φ ↦ ξ.rec-read(ξ.input, 0),+ rec-read(input, length) ↦ ⟦+ read-bytes ↦ ξ.input.read(ξ.ρ.chunk).read.ρ,+ φ ↦ ξ.read-bytes.size.eq(0).if(+ ξ.length, ξ.ρ.rec-read(ξ.read-bytes, ξ.length.plus(ξ.read-bytes.size))+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/malloc-as-output.phi](./org/eolang/io/malloc-as-output.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ malloc-as-output(allocated) ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block(0).write(ξ.buffer).self,+ output-block(offset) ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty, ξ.ρ.ρ.ρ.allocated.write(ξ.ρ.offset, ξ.buffer)+ ),+ ξ.ρ.ρ.output-block(ξ.ρ.offset.plus(ξ.buffer.size))+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/stdin.phi](./org/eolang/io/stdin.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ stdin ↦ ⟦+ φ ↦ ξ.all-lines,+ all-lines ↦ ⟦+ φ ↦ ξ.rec-read(ξ.ρ.next-line, Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.true),+ separator ↦ Φ̇.dataized(Φ̇.sys.line-separator).as-bytes,+ rec-read(line, buffer, first) ↦ ⟦+ φ ↦ ξ.line.length.eq(0).if(+ Φ̇.string(ξ.buffer),+ ξ.ρ.rec-read(+ ξ.ρ.ρ.next-line,+ ξ.first.if(+ ξ.buffer.concat(ξ.line), ξ.buffer.concat(ξ.ρ.separator).concat(ξ.line)+ ),+ Φ̇.false+ )+ )+ ⟧+ ⟧,+ next-line ↦ ⟦+ first ↦ Φ̇.io.console.read(1).self,+ φ ↦ ξ.first.as-bytes.size.eq(0).if(+ "", ξ.rec-read(ξ.first, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ ),+ rec-read(input, buffer) ↦ ⟦+ char ↦ ξ.input.as-bytes,+ next ↦ ξ.input.read(1).self,+ φ ↦ ξ.char.eq(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).or(+ ξ.char.eq("\r").and(ξ.next.as-bytes.eq("\n")).or(ξ.char.eq("\n"))+ ).if(+ Φ̇.string(ξ.buffer), ξ.ρ.rec-read(ξ.next, ξ.buffer.concat(ξ.char))+ )+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/stdout.phi](./org/eolang/io/stdout.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ stdout(text) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.io.console.write(ξ.text)), Φ̇.true+ )+ )+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/tee-input.phi](./org/eolang/io/tee-input.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ tee-input(input, output) ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(ξ.ρ.input, ξ.ρ.output, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(+ ξ.size+ ).self,+ input-block(input, output, buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ ξ.ρ.input.read(ξ.size).read.ρ,+ written-bytes ↦ ξ.ρ.output.write(ξ.read-bytes).write.ρ,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.written-bytes),+ ξ.ρ.ρ.input-block(+ ξ.read-bytes, ξ.written-bytes, ξ.read-bytes.as-bytes+ )+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/malloc.phi](./org/eolang/malloc.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ malloc ↦ ⟦+ empty(scope) ↦ ⟦+ φ ↦ ξ.ρ.ρ.malloc.of(0, ξ.scope)+ ⟧,+ for(object, scope) ↦ ⟦+ bts ↦ Φ̇.dataized(ξ.object).as-bytes,+ φ ↦ ξ.ρ.ρ.malloc.of(ξ.bts.size, ξ.auto-named-attr-at-96-9),+ auto-named-attr-at-96-9(m) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.m.write(0, ξ.ρ.bts)), ξ.ρ.scope(ξ.m)+ )+ )+ ⟧+ ⟧,+ of(size, scope) ↦ ⟦+ φ ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_φ+ ⟧,+ allocated(id) ↦ ⟦+ φ ↦ ξ.get,+ get ↦ ξ.read(0, ξ.size),+ size ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_size+ ⟧,+ resized(new-size) ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_resized+ ⟧,+ read(offset, length) ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_read+ ⟧,+ write(offset, data) ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_write+ ⟧,+ put(object) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.write(0, ξ.object)), ξ.ρ.get+ )+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/angle.phi](./org/eolang/math/angle.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ angle(value) ↦ ⟦+ φ ↦ ξ.value,+ in-degrees ↦ ξ.ρ.angle(ξ.ρ.times(180).div(Φ̇.math.pi)),+ in-radians ↦ ξ.ρ.angle(ξ.times(Φ̇.math.pi).div(180)),+ sin ↦ ⟦+ λ ⤍ Lorg_eolang_math_angle_sin+ ⟧,+ cos ↦ ⟦+ λ ⤍ Lorg_eolang_math_angle_cos+ ⟧,+ tan ↦ ⟦+ cosine ↦ Φ̇.dataized(ξ.ρ.cos).as-bytes,+ φ ↦ ξ.cosine.eq(0).if(Φ̇.nan, ξ.ρ.sin.div(ξ.cosine))+ ⟧,+ ctan ↦ ⟦+ sine ↦ Φ̇.dataized(ξ.ρ.sin).as-bytes,+ φ ↦ ξ.sine.eq(0).if(Φ̇.nan, ξ.ρ.cos.div(ξ.sine))+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/e.phi](./org/eolang/math/e.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ e ↦ 2.718281828459045,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/integral.phi](./org/eolang/math/integral.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ integral(fun, a, b, n) ↦ ⟦+ subsection(a, b) ↦ ⟦+ φ ↦ ξ.b.minus(ξ.a).div(6).times(+ ξ.ρ.fun(ξ.a).plus(+ 4.times(ξ.ρ.fun(0.5.times(ξ.a.plus(ξ.b)))).plus(ξ.ρ.fun(ξ.b))+ )+ )+ ⟧,+ φ ↦ Φ̇.malloc.of(8, ξ.auto-named-attr-at-50-11).as-number,+ auto-named-attr-at-50-11(sum) ↦ ⟦+ φ ↦ Φ̇.malloc.for(ξ.ρ.a, ξ.auto-named-attr-at-53-16),+ auto-named-attr-at-53-16(left) ↦ ⟦+ right ↦ ξ.ρ.ρ.b,+ step ↦ ξ.right.minus(ξ.left).div(ξ.ρ.ρ.n).as-number,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.while(+ ξ.auto-named-attr-at-59-21,+ ⟦+ φ ↦ Φ̇.true,+ i ↦ ∅+ ⟧+ )+ ),+ ξ.ρ.sum+ )+ ),+ auto-named-attr-at-59-21(i) ↦ ⟦+ φ ↦ ξ.ρ.left.as-number.plus(ξ.ρ.step).lt(ξ.ρ.right).if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ ξ.ρ.ρ.sum.put(+ ξ.ρ.ρ.sum.as-number.plus(+ ξ.ρ.ρ.ρ.subsection(+ ξ.ρ.left.as-number, ξ.ρ.left.as-number.plus(ξ.ρ.step)+ )+ )+ )+ ),+ ξ.ρ.left.put(ξ.ρ.left.as-number.plus(ξ.ρ.step))+ ),+ Φ̇.true+ )+ ),+ Φ̇.false+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/numbers.phi](./org/eolang/math/numbers.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ numbers(sequence) ↦ ⟦+ φ ↦ ξ.sequence,+ max ↦ ⟦+ lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+ φ ↦ ξ.lst.is-empty.if(+ Φ̇.error("Can't get max number from empty sequence"),+ ξ.lst.reduced(+ Φ̇.negative-infinity,+ ⟦+ max ↦ ∅,+ item ↦ ∅,+ φ ↦ ξ.item.as-number.gt(ξ.max).if(ξ.item, ξ.max)+ ⟧+ )+ )+ ⟧,+ min ↦ ⟦+ lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+ φ ↦ ξ.lst.is-empty.if(+ Φ̇.error("Can't get min number from empty sequence"),+ ξ.lst.reduced(+ Φ̇.positive-infinity,+ ⟦+ min ↦ ∅,+ item ↦ ∅,+ φ ↦ ξ.min.gt(ξ.item.as-number).if(ξ.item, ξ.min)+ ⟧+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/pi.phi](./org/eolang/math/pi.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ pi ↦ 3.141592653589793,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/random.phi](./org/eolang/math/random.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ random(seed) ↦ ⟦+ fixed ↦ ξ,+ φ ↦ ξ.seed.as-number.div(+ Φ̇.bytes(⟦ Δ ⤍ 00-20-00-00-00-00-00-00 ⟧).as-i64.as-number+ ),+ next ↦ ξ.ρ.random(+ ξ.seed.times(25214903917).plus(11).as-i64.and(+ Φ̇.bytes(⟦ Δ ⤍ 00-0F-FF-FF-FF-FF-FF-FF ⟧)+ ).as-i64.as-number+ ).fixed,+ pseudo ↦ ⟦+ const-1 ↦ 35,+ const-2 ↦ 53,+ const-3 ↦ 17,+ one ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-01 ⟧),+ φ ↦ ξ.ρ.ρ.random(ξ.time-seed),+ time-seed ↦ ξ.time-bytes.left(ξ.const-1).and(+ ξ.one.left(ξ.const-2).as-i64.minus(ξ.one).as-bytes+ ).as-i64.plus(+ ξ.time-bytes.left(ξ.const-3).and(+ ξ.one.left(ξ.const-1).as-i64.minus(ξ.one).as-bytes+ ).as-i64.plus(+ ξ.time-bytes.and(+ ξ.one.left(ξ.const-3).as-i64.minus(ξ.one).as-bytes+ ).as-i64+ )+ ).as-number,+ time-bytes ↦ Φ̇.sys.os.is-windows.if(+ Φ̇.sys.win32(+ "GetSystemTime", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.system-time)+ ).milliseconds,+ ⟦+ timeval ↦ Φ̇.sys.posix(+ "gettimeofday", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.timeval)+ ).output,+ φ ↦ ξ.timeval.tv-sec.times(1000).plus(+ ξ.timeval.tv-usec.as-i64.div(1000.as-i64).as-number+ )+ ⟧+ ).as-i64.as-bytes+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/real.phi](./org/eolang/math/real.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ real(num) ↦ ⟦+ φ ↦ ξ.num,+ exp ↦ Φ̇.math.real(Φ̇.math.e).pow(ξ.num),+ mod(x) ↦ ⟦+ dividend ↦ Φ̇.number(ξ.ρ.num.as-bytes),+ divisor ↦ Φ̇.number(ξ.x.as-bytes),+ φ ↦ ξ.divisor.eq(0).if(+ Φ̇.error("Can't calculate mod by zero"),+ ξ.dividend.gt(0).if(ξ.abs-mod, ξ.abs-mod.neg)+ ),+ abs-mod ↦ ⟦+ dividend-abs ↦ Φ̇.math.real(ξ.ρ.dividend).abs,+ divisor-abs ↦ Φ̇.math.real(ξ.ρ.divisor).abs,+ φ ↦ ξ.dividend-abs.minus(+ ξ.divisor-abs.times(ξ.dividend-abs.div(ξ.divisor-abs).floor)+ )+ ⟧+ ⟧,+ abs ↦ ⟦+ value ↦ Φ̇.number(ξ.ρ.num.as-bytes),+ φ ↦ ξ.value.gte(0).if(ξ.value, ξ.value.neg)+ ⟧,+ pow(x) ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_pow+ ⟧,+ sqrt ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_sqrt+ ⟧,+ ln ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_ln+ ⟧,+ acos ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_acos+ ⟧,+ asin ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_asin+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/nan.phi](./org/eolang/nan.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ nan ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F8-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ ξ,+ is-nan ↦ Φ̇.true,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert NaN to i64"),+ eq(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ times(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ plus(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ div(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/negative-infinity.phi](./org/eolang/negative-infinity.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ negative-infinity ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ FF-F0-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ Φ̇.positive-infinity,+ is-nan ↦ Φ̇.false,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert negative infinity to i64"),+ eq(x) ↦ ⟦+ φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.not+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.eq(ξ.x)+ ⟧,+ times(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+ Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.positive-infinity)+ )+ ⟧,+ plus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.positive-infinity)).if(+ Φ̇.nan, ξ.ρ+ )+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+ ⟧,+ div(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+ Φ̇.nan,+ ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+ Φ̇.positive-infinity, ξ.ρ+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/net/socket.phi](./org/eolang/net/socket.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ net ↦ ⟦+ socket(address, port) ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.win-socket(ξ.address, ξ.port), ξ.posix-socket(ξ.address, ξ.port)+ ),+ htons(port) ↦ ⟦+ bts ↦ ξ.port.as-i16.as-bytes,+ φ ↦ ξ.bts.and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧)).left(8).or(+ ξ.bts.right(8).and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧))+ ).as-i16+ ⟧,+ as-input(recv) ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ ξ.ρ.ρ.ρ.recv(ξ.size).as-bytes,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ as-output(send) ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.send(ξ.buffer)), ξ.ρ.ρ.output-block+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ posix-socket(address, port) ↦ ⟦+ sd ↦ Φ̇.sys.posix(+ "socket",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.af-inet), Φ̇.sys.posix.sock-stream+ ),+ Φ̇.sys.posix.ipproto-tcp+ )+ ).code,+ inet-addr ↦ Φ̇.sys.posix(+ "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+ ).code,+ inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.posix.inaddr-none).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' posix syscall, reason: '%s'",+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.strerror.code)+ )+ ),+ ξ.inet-addr.as-i32+ ),+ sockaddr ↦ Φ̇.sys.posix.sockaddr-in(+ Φ̇.sys.posix.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+ ),+ scoped-socket(sockfd) ↦ ⟦+ as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+ as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+ send(buffer) ↦ ⟦+ buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+ sent ↦ Φ̇.sys.posix(+ "send",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+ ),+ 0+ )+ ).code,+ φ ↦ ξ.sent.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to send message through the socket '%d', reason: %s",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+ )+ )+ ),+ ξ.sent+ )+ ⟧,+ recv(size) ↦ ⟦+ received ↦ Φ̇.sys.posix(+ "recv",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+ )+ ).called,+ φ ↦ ξ.received.code.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to receive data from the socket '%d', reason: %s",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+ )+ )+ ),+ ξ.received.output+ )+ ⟧+ ⟧,+ strerror ↦ ⟦+ φ ↦ Φ̇.sys.posix(+ "strerror",+ Φ̇.tuple(+ Φ̇.tuple.empty, Φ̇.sys.posix("errno", Φ̇.tuple.empty).code+ )+ )+ ⟧,+ closed-socket(sockfd) ↦ ⟦+ closed ↦ Φ̇.sys.posix("close", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)).code,+ φ ↦ ξ.closed.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't close a posix socket '%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.strerror.code+ )+ )+ ),+ Φ̇.true+ )+ ⟧,+ safe-socket(scope) ↦ ⟦+ φ ↦ ξ.ρ.sd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't create a posix socket, reason: '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.strerror.code)+ )+ ),+ Φ̇.try(+ ξ.scope,+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.ρ.closed-socket(ξ.ρ.sd)+ )+ )+ ⟧,+ connect(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-276-10),+ auto-named-attr-at-276-10 ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ connected ↦ Φ̇.sys.posix(+ "connect",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ ξ.connected.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't connect to '%s:%d' on posix socket '%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.strerror.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+ )+ ⟧+ ⟧,+ listen(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-300-10),+ auto-named-attr-at-300-10 ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ bound ↦ Φ̇.sys.posix(+ "bind",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ listened ↦ Φ̇.sys.posix(+ "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+ ).code,+ φ ↦ ξ.bound.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't bind posix socket '%d' to '%s:%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+ ),+ ξ.sock.port+ ),+ ξ.sock.strerror.code+ )+ )+ ),+ ξ.listened.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to listen for connections to '%s:%d' on socket '%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.strerror.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-325-22)).as-bytes+ )+ ),+ auto-named-attr-at-325-22 ↦ ⟦+ φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+ accept(scope) ↦ ⟦+ sock ↦ ξ.ρ.ρ.sock,+ client-sockfd ↦ Φ̇.sys.posix(+ "accept",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ Φ̇.try(+ ξ.client-sockfd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to accept a connection on posix socket '%d', reason: %s",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.strerror.code+ )+ )+ ),+ Φ̇.dataized(+ ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+ ).as-bytes+ ),+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.sock.closed-socket(ξ.client-sockfd)+ )+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ win-socket(address, port) ↦ ⟦+ sd ↦ Φ̇.sys.win32(+ "socket",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.af-inet), Φ̇.sys.win32.sock-stream+ ),+ Φ̇.sys.win32.ipproto-tcp+ )+ ).code,+ inet-addr ↦ Φ̇.sys.win32(+ "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+ ).code,+ inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.win32.inaddr-none).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' win32 function call, WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.last-error.code+ )+ )+ ),+ ξ.inet-addr.as-i32+ ),+ sockaddr ↦ Φ̇.sys.win32.sockaddr-in(+ Φ̇.sys.win32.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+ ),+ scoped-socket(sockfd) ↦ ⟦+ as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+ as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+ send(buffer) ↦ ⟦+ buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+ sent ↦ Φ̇.sys.win32(+ "send",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+ ),+ 0+ )+ ).code,+ φ ↦ ξ.sent.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to send message through the socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+ )+ )+ ),+ ξ.sent+ )+ ⟧,+ recv(size) ↦ ⟦+ received ↦ Φ̇.sys.win32(+ "recv",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+ )+ ).called,+ φ ↦ ξ.received.code.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to receive data from the socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+ )+ )+ ),+ ξ.received.output+ )+ ⟧+ ⟧,+ last-error ↦ ⟦+ φ ↦ Φ̇.sys.win32("WSAGetLastError", Φ̇.tuple.empty)+ ⟧,+ closed-socket(sockfd) ↦ ⟦+ closed ↦ Φ̇.sys.win32(+ "closesocket", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)+ ).code,+ φ ↦ ξ.closed.eq(Φ̇.sys.win32.socket-error).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't close a win32 socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.last-error.code+ )+ )+ ),+ Φ̇.true+ )+ ⟧,+ safe-socket(scope) ↦ ⟦+ started-up ↦ Φ̇.sys.win32(+ "WSAStartup", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.winsock-version-2-2)+ ).code,+ cleaned-up ↦ Φ̇.sys.win32("WSACleanup", Φ̇.tuple.empty).code,+ φ ↦ ξ.started-up.eq(0).not.if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't initialize Winsock via 'WSAStartup' call, WSA error code: %d",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.started-up)+ )+ ),+ Φ̇.try(+ ξ.ρ.sd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't create a win32 socket, WSA error code: %d",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.last-error.code)+ )+ ),+ Φ̇.try(+ ξ.scope,+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.ρ.closed-socket(ξ.ρ.sd)+ )+ ),+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.cleaned-up.eq(Φ̇.sys.win32.socket-error).if(+ Φ̇.error("Couldn't cleanup Winsock resources"), Φ̇.true+ )+ )+ )+ ⟧,+ connect(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-485-10),+ auto-named-attr-at-485-10 ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ connected ↦ Φ̇.sys.win32(+ "connect",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ ξ.connected.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't connect to '%s:%d' on win32 socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.last-error.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+ )+ ⟧+ ⟧,+ listen(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-509-10),+ auto-named-attr-at-509-10 ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ bound ↦ Φ̇.sys.win32(+ "bind",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ listened ↦ Φ̇.sys.win32(+ "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+ ).code,+ φ ↦ ξ.bound.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't bind win32 socket '%d' to '%s:%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+ ),+ ξ.sock.port+ ),+ ξ.sock.last-error.code+ )+ )+ ),+ ξ.listened.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to listen for connections to '%s:%d' on socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.last-error.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-534-22)).as-bytes+ )+ ),+ auto-named-attr-at-534-22 ↦ ⟦+ φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+ accept(scope) ↦ ⟦+ sock ↦ ξ.ρ.ρ.sock,+ client-sockfd ↦ Φ̇.sys.win32(+ "accept",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ Φ̇.try(+ ξ.client-sockfd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to accept a connection on win32 socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.last-error.code+ )+ )+ ),+ Φ̇.dataized(+ ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+ ).as-bytes+ ),+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.sock.closed-socket(ξ.client-sockfd)+ )+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/number.phi](./org/eolang/number.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ number(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-number ↦ ξ,+ neg ↦ ξ.times(-1),+ as-i32 ↦ ξ.as-i64.as-i32,+ as-i16 ↦ ξ.as-i32.as-i16,+ is-nan ↦ ξ.as-bytes.eq(Φ̇.nan.as-bytes),+ as-i64 ↦ ⟦+ λ ⤍ Lorg_eolang_number_as_i64+ ⟧,+ eq(x) ↦ ⟦+ x-as-bytes ↦ Φ̇.dataized(ξ.x).as-bytes,+ self-as-bytes ↦ ξ.ρ.as-bytes,+ pos-zero-as-bytes ↦ 0.as-bytes,+ neg-zero-as-bytes ↦ -0.as-bytes,+ φ ↦ ξ.ρ.is-nan.or(Φ̇.number(ξ.x-as-bytes).is-nan).if(+ Φ̇.false,+ ξ.x-as-bytes.eq(ξ.pos-zero-as-bytes).or(+ ξ.x-as-bytes.eq(ξ.neg-zero-as-bytes)+ ).and(+ ξ.self-as-bytes.eq(ξ.pos-zero-as-bytes).or(+ ξ.self-as-bytes.eq(ξ.neg-zero-as-bytes)+ )+ ).or(ξ.self-as-bytes.eq(ξ.x-as-bytes))+ )+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ 0.gt(ξ.ρ.minus(Φ̇.number(ξ.value)))+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ gt(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_gt+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ times(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_times+ ⟧,+ plus(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_plus+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.plus(Φ̇.number(ξ.value).neg)+ ⟧,+ div(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_div+ ⟧,+ floor ↦ ⟦+ λ ⤍ Lorg_eolang_number_floor+ ⟧,+ is-integer ↦ ⟦+ φ ↦ ξ.ρ.is-finite.and(ξ.ρ.eq(ξ.ρ.floor))+ ⟧,+ is-finite ↦ ⟦+ φ ↦ ξ.ρ.is-nan.not.and(+ ξ.ρ.eq(Φ̇.positive-infinity).or(ξ.ρ.eq(Φ̇.negative-infinity)).not+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/positive-infinity.phi](./org/eolang/positive-infinity.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ positive-infinity ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F0-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ Φ̇.negative-infinity,+ is-nan ↦ Φ̇.false,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert positive infinity to i64"),+ eq(x) ↦ ⟦+ φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.eq(ξ.x)+ ⟧,+ gt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.not+ ⟧,+ times(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+ Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.negative-infinity)+ )+ ⟧,+ plus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.negative-infinity)).if(+ Φ̇.nan, ξ.ρ+ )+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+ ⟧,+ div(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+ Φ̇.nan,+ ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+ Φ̇.negative-infinity, ξ.ρ+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/rust.phi](./org/eolang/rust.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ rust(code, portal, params) ↦ ⟦+ λ ⤍ Lorg_eolang_rust+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/seq.phi](./org/eolang/seq.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ seq(steps) ↦ ⟦+ φ ↦ ξ.steps.length.eq(0).if(Φ̇.true, ξ.loop(0)),+ max-len ↦ Φ̇.dataized(ξ.steps.length.minus(1)).as-bytes,+ loop(index) ↦ ⟦+ φ ↦ ξ.index.lt(ξ.ρ.max-len).and(+ Φ̇.dataized(ξ.ρ.steps.at(ξ.index)).as-bool.or(Φ̇.true)+ ).if(ξ.ρ.loop(ξ.index.plus(1)), ξ.ρ.steps.at(ξ.index))+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/string.phi](./org/eolang/string.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ string(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ length ↦ ⟦+ size ↦ ξ.ρ.as-bytes.size,+ pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+ pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+ pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+ pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+ result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+ result-three ↦ ξ.pattern-two,+ result-four ↦ ξ.pattern-three,+ φ ↦ ξ.size.eq(0).if(0, ξ.rec-length(0, 0)),+ increase-length(index, char-size, len) ↦ ⟦+ φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+ )+ )+ ),+ ξ.ρ.rec-length(ξ.index.plus(ξ.char-size), ξ.len.plus(1))+ )+ ⟧,+ rec-length(index, accum) ↦ ⟦+ byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+ φ ↦ ξ.index.eq(ξ.ρ.size).if(+ ξ.accum,+ ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+ ξ.ρ.increase-length(ξ.index, 1, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+ ξ.ρ.increase-length(ξ.index, 2, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+ ξ.ρ.increase-length(ξ.index, 3, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+ ξ.ρ.increase-length(ξ.index, 4, ξ.accum),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Unknown byte format (%x), can't recognize character",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+ )+ )+ )+ )+ )+ )+ )+ ⟧+ ⟧,+ slice(start, len) ↦ ⟦+ start-bytes ↦ Φ̇.dataized(ξ.start).as-bytes,+ len-bytes ↦ Φ̇.dataized(ξ.len).as-bytes,+ num-start ↦ Φ̇.number(ξ.start-bytes),+ num-len ↦ Φ̇.number(ξ.len-bytes),+ size ↦ ξ.ρ.as-bytes.size,+ end ↦ ξ.num-start.plus(ξ.num-len),+ pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+ pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+ pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+ pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+ result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+ result-three ↦ ξ.pattern-two,+ result-four ↦ ξ.pattern-three,+ bts-start ↦ Φ̇.dataized(+ ξ.rec-index(+ 0,+ 0,+ ξ.num-start,+ Φ̇.txt.sprintf(+ "Start index (%d) is out of string bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+ )+ )+ ).as-bytes,+ bts-length ↦ ξ.rec-index(+ Φ̇.number(ξ.bts-start),+ 0,+ ξ.num-len,+ Φ̇.txt.sprintf(+ "Start index + length to slice (%d) is out of string bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start.plus(ξ.num-len))+ )+ ).minus(ξ.bts-start),+ φ ↦ ξ.num-start.lt(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Start index must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+ )+ ),+ ξ.num-len.lt(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Length to slice must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-len)+ )+ ),+ ξ.num-len.eq(0).if(+ "", Φ̇.string(ξ.ρ.as-bytes.slice(ξ.bts-start, ξ.bts-length))+ )+ )+ ),+ increase(index, char-size, accum, result, cause) ↦ ⟦+ φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+ )+ )+ ),+ ξ.ρ.rec-index(+ ξ.index.plus(ξ.char-size), ξ.accum.plus(1), ξ.result, ξ.cause+ )+ )+ ⟧,+ rec-index(index, accum, result, cause) ↦ ⟦+ byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+ φ ↦ ξ.accum.eq(ξ.result).if(+ ξ.index,+ ξ.index.eq(ξ.ρ.size).if(+ Φ̇.error(ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+ ξ.ρ.increase(ξ.index, 1, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+ ξ.ρ.increase(ξ.index, 2, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+ ξ.ρ.increase(ξ.index, 3, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+ ξ.ρ.increase(ξ.index, 4, ξ.accum, ξ.result, ξ.cause),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Unknown byte format (%x), can't recognize character",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+ )+ )+ )+ )+ )+ )+ )+ )+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/bytes-as-array.phi](./org/eolang/structs/bytes-as-array.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ bytes-as-array(bts) ↦ ⟦+ bytes-size ↦ Φ̇.dataized(ξ.bts.size).as-bytes,+ φ ↦ ξ.slice-byte(Φ̇.tuple.empty, 0),+ slice-byte(tup, index) ↦ ⟦+ φ ↦ ξ.index.lt(ξ.ρ.bytes-size).if(+ ξ.ρ.slice-byte(+ ξ.tup.with(ξ.ρ.bts.slice(ξ.index, 1)), ξ.index.plus(1)+ ),+ ξ.tup+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/hash-code-of.phi](./org/eolang/structs/hash-code-of.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ hash-code-of(input) ↦ ⟦+ input-as-bytes ↦ Φ̇.dataized(ξ.input.as-bytes).as-bytes,+ size ↦ Φ̇.dataized(ξ.input-as-bytes.size).as-bytes,+ magic-number ↦ 31.as-i64,+ φ ↦ ξ.rec-hash-code(0, 0),+ rec-hash-code(acc, index) ↦ ⟦+ φ ↦ ξ.index.eq(ξ.ρ.size).if(+ ξ.acc.as-number,+ ξ.ρ.rec-hash-code(+ ξ.ρ.magic-number.times(ξ.acc).plus(+ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(+ ξ.ρ.input-as-bytes.slice(ξ.index, 1)+ ).as-i64+ ),+ ξ.index.plus(1)+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/list.phi](./org/eolang/structs/list.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ list(origin) ↦ ⟦+ φ ↦ ξ.origin,+ is-empty ↦ ⟦+ φ ↦ 0.eq(ξ.ρ.origin.length)+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(ξ.ρ.origin.with(ξ.x))+ ⟧,+ withi(index, item) ↦ ⟦+ φ ↦ ξ.ρ.head(ξ.index).with(ξ.item).concat(+ ξ.ρ.tail(ξ.ρ.origin.length.minus(ξ.index))+ )+ ⟧,+ reducedi(start, func) ↦ ⟦+ origin-len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ φ ↦ 0.eq(ξ.origin-len).if(ξ.start, ξ.rec-reduced(ξ.start, 0.as-bytes)),+ rec-reduced(accum, index) ↦ ⟦+ idx-as-number ↦ ξ.index.as-number,+ next-index ↦ Φ̇.dataized(1.plus(ξ.idx-as-number)).as-bytes,+ φ ↦ ξ.next-index.eq(ξ.ρ.origin-len).if(+ ξ.accumulated, ξ.ρ.rec-reduced(ξ.accumulated, ξ.next-index)+ ),+ accumulated ↦ ξ.ρ.func(+ ξ.accum, ξ.ρ.ρ.origin.at(ξ.idx-as-number), ξ.idx-as-number+ )+ ⟧+ ⟧,+ reduced(start, func) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(ξ.start, ξ.auto-named-attr-at-83-42),+ auto-named-attr-at-83-42(accum, item, idx) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.accum, ξ.item)+ ⟧+ ⟧,+ mappedi(func) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-93-24)+ ),+ auto-named-attr-at-93-24(accum, item, idx) ↦ ⟦+ φ ↦ ξ.accum.with(ξ.ρ.func(ξ.item, ξ.idx))+ ⟧+ ⟧,+ mapped(func) ↦ ⟦+ φ ↦ ξ.ρ.mappedi(ξ.auto-named-attr-at-103-30),+ auto-named-attr-at-103-30(item, idx) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.item)+ ⟧+ ⟧,+ eachi(func) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-113-22),+ auto-named-attr-at-113-22(acc, item, index) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.acc), ξ.ρ.func(ξ.item, ξ.index)+ )+ )+ ⟧+ ⟧,+ each(func) ↦ ⟦+ φ ↦ ξ.ρ.eachi(ξ.auto-named-attr-at-124-32),+ auto-named-attr-at-124-32(item, index) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.item)+ ⟧+ ⟧,+ withouti(i) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-131-24)+ ),+ auto-named-attr-at-131-24(accum, item, idx) ↦ ⟦+ φ ↦ ξ.ρ.i.eq(ξ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+ ⟧+ ⟧,+ without(element) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(+ ξ.ρ.reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-142-20)+ ),+ auto-named-attr-at-142-20(accum, item) ↦ ⟦+ φ ↦ ξ.ρ.element.eq(ξ.item).if(ξ.accum, ξ.accum.with(ξ.item))+ ⟧+ ⟧,+ eq(other) ↦ ⟦+ φ ↦ ξ.ρ.origin.length.eq(ξ.other.length).and(+ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-157-24)+ ),+ auto-named-attr-at-157-24(accum, item, idx) ↦ ⟦+ φ ↦ ξ.accum.and(ξ.item.eq(ξ.ρ.other.at(ξ.idx)))+ ⟧+ ⟧,+ concat(passed) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(ξ.passed).reduced(+ ξ.ρ,+ ⟦+ φ ↦ ξ.accum.with(ξ.item),+ accum ↦ ∅,+ item ↦ ∅+ ⟧+ )+ ⟧,+ index-of(wanted) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-177-24),+ auto-named-attr-at-177-24(accum, item, index) ↦ ⟦+ φ ↦ -1.eq(ξ.accum).and(ξ.item.eq(ξ.ρ.wanted)).if(ξ.index, ξ.accum)+ ⟧+ ⟧,+ last-index-of(wanted) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-190-24),+ auto-named-attr-at-190-24(accum, item, index) ↦ ⟦+ φ ↦ ξ.item.eq(ξ.ρ.wanted).if(ξ.index, ξ.accum)+ ⟧+ ⟧,+ contains(element) ↦ ⟦+ φ ↦ -1.eq(ξ.ρ.index-of(ξ.element)).not+ ⟧,+ sorted ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ filteredi(func) ↦ ⟦+ origin-length ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ φ ↦ ξ.ρ.ρ.list(ξ.rec-filtered(0.as-bytes, Φ̇.tuple.empty)),+ rec-filtered(idx-as-bytes, accum) ↦ ⟦+ original ↦ ξ.ρ.ρ.origin,+ index ↦ ξ.idx-as-bytes.as-number,+ item ↦ ξ.ρ.ρ.origin.at(ξ.index),+ φ ↦ ξ.idx-as-bytes.eq(ξ.ρ.origin-length).if(+ ξ.accum,+ ξ.ρ.rec-filtered(+ 1.plus(ξ.index).as-bytes,+ ξ.ρ.func(ξ.item, ξ.index).if(ξ.accum.with(ξ.item), ξ.accum)+ )+ )+ ⟧+ ⟧,+ filtered(func) ↦ ⟦+ φ ↦ ξ.ρ.filteredi(ξ.auto-named-attr-at-243-32),+ auto-named-attr-at-243-32(item, index) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.item)+ ⟧+ ⟧,+ head(index) ↦ ⟦+ idx ↦ Φ̇.dataized(ξ.index).as-bytes,+ φ ↦ Φ̇.switch(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, 0.eq(ξ.idx)), ξ.ρ.ρ.list(Φ̇.tuple.empty)+ )+ ),+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, 0.gt(ξ.idx)), ξ.ρ.tail(ξ.index.as-number.neg)+ )+ ),+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin.length.lte(ξ.idx)), ξ.ρ+ )+ ),+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.true),+ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-264-32)+ )+ )+ )+ ),+ auto-named-attr-at-264-32(accum, item, index) ↦ ⟦+ φ ↦ ξ.index.gte(ξ.ρ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+ ⟧+ ⟧,+ tail(index) ↦ ⟦+ idx ↦ Φ̇.dataized(ξ.index).as-bytes,+ start ↦ Φ̇.dataized(ξ.ρ.origin.length.minus(ξ.idx.as-number)).as-bytes,+ φ ↦ 0.gt(ξ.start).if(+ ξ.ρ,+ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-280-26)+ )+ ),+ auto-named-attr-at-280-26(accum, item, idx) ↦ ⟦+ φ ↦ ξ.idx.gte(ξ.ρ.start).if(ξ.accum.with(ξ.item), ξ.accum)+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/map.phi](./org/eolang/structs/map.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ map(pairs) ↦ ⟦+ φ ↦ ξ.auto-named-attr-at-37-6.initialized,+ entry(key, value) ↦ ⟦⟧,+ initialized(entries) ↦ ⟦+ initialized ↦ ξ,+ size ↦ ξ.entries.length,+ keys ↦ ⟦+ φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+ ⟦+ φ ↦ ξ.entry.key,+ entry ↦ ∅+ ⟧+ )+ ⟧,+ values ↦ ⟦+ φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+ ⟦+ φ ↦ ξ.entry.value,+ entry ↦ ∅+ ⟧+ )+ ⟧,+ has(key) ↦ ⟦+ φ ↦ ξ.ρ.found(ξ.key).exists+ ⟧,+ found(key) ↦ ⟦+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+ φ ↦ ξ.ρ.size.eq(0).if(ξ.not-found, ξ.rec-key-search(ξ.not-found, 0)),+ rec-key-search(found, index) ↦ ⟦+ entry ↦ ξ.ρ.ρ.entries.at(ξ.index),+ φ ↦ ξ.found.exists.or(ξ.ρ.ρ.size.eq(ξ.index)).if(+ ξ.found,+ ξ.ρ.rec-key-search(+ ξ.ρ.hash.eq(ξ.entry.hash).if(+ ξ.auto-named-attr-at-133-54, ξ.found+ ),+ ξ.index.plus(1)+ )+ ),+ auto-named-attr-at-133-54 ↦ ⟦+ exists ↦ Φ̇.true,+ get ↦ ξ.ρ.entry.value+ ⟧+ ⟧,+ not-found ↦ ⟦+ exists ↦ Φ̇.false,+ get ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "Object by hash code %d from given key does not exists",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.hash)+ )+ )+ ⟧+ ⟧,+ with(key, value) ↦ ⟦+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+ φ ↦ ξ.ρ.ρ.ρ.map.initialized(+ Φ̇.structs.list(ξ.ρ.entries).filtered(+ ξ.auto-named-attr-at-153-50+ ).origin.with(ξ.auto-named-attr-at-154-12)+ ),+ auto-named-attr-at-153-50(entry) ↦ ⟦+ φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+ ⟧,+ auto-named-attr-at-154-12 ↦ ⟦+ key ↦ ξ.ρ.key,+ value ↦ ξ.ρ.value,+ hash ↦ ξ.ρ.hash+ ⟧+ ⟧,+ without(key) ↦ ⟦+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+ φ ↦ ξ.ρ.ρ.ρ.map.initialized(+ Φ̇.structs.list(ξ.ρ.entries).filtered(+ ξ.auto-named-attr-at-167-48+ ).origin+ ),+ auto-named-attr-at-167-48(entry) ↦ ⟦+ φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+ ⟧+ ⟧+ ⟧,+ auto-named-attr-at-37-6 ↦ ⟦+ pairs-size ↦ Φ̇.dataized(ξ.ρ.pairs.length).as-bytes,+ φ ↦ ξ.ρ.initialized(+ ξ.pairs-size.eq(0).if(+ Φ̇.tuple.empty,+ ξ.rec-rebuild(Φ̇.tuple.empty, 0, Φ̇.structs.list(Φ̇.tuple.empty))+ )+ ),+ rec-rebuild(accum, index, hashes) ↦ ⟦+ entry ↦ ξ.ρ.ρ.pairs.at(ξ.index),+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.entry.key)).as-bytes,+ φ ↦ ξ.ρ.pairs-size.eq(ξ.index).if(+ ξ.accum,+ ξ.ρ.rec-rebuild(+ ξ.hashes.contains(ξ.hash).if(+ ξ.accum, ξ.accum.with(ξ.auto-named-attr-at-59-18)+ ),+ ξ.index.plus(1),+ ξ.hashes.with(ξ.hash)+ )+ ),+ auto-named-attr-at-59-18 ↦ ⟦+ key ↦ ξ.ρ.entry.key,+ value ↦ ξ.ρ.entry.value,+ hash ↦ ξ.ρ.hash+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/range-of-ints.phi](./org/eolang/structs/range-of-ints.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ range-of-ints(start, end) ↦ ⟦+ φ ↦ 0.eq(ξ.start).or(1.eq(ξ.start.div(ξ.start))).and(+ 0.eq(ξ.end).or(1.eq(ξ.end.div(ξ.end)))+ ).if(+ Φ̇.structs.range(ξ.auto-named-attr-at-42-8, ξ.end),+ Φ̇.error("Some of the arguments are not integers")+ ),+ auto-named-attr-at-42-8 ↦ ⟦+ build(num) ↦ ⟦+ φ ↦ ξ.num,+ next ↦ ξ.ρ.build(1.plus(ξ.φ))+ ⟧,+ φ ↦ ξ.build(ξ.ρ.start)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/range.phi](./org/eolang/structs/range.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ range(start, end) ↦ ⟦+ φ ↦ Φ̇.structs.list(+ ξ.start.lt(ξ.end).if(+ ξ.appended(Φ̇.tuple(Φ̇.tuple.empty, ξ.start), ξ.start.next), Φ̇.tuple.empty+ )+ ),+ appended(acc, current) ↦ ⟦+ φ ↦ ξ.current.lt(ξ.ρ.end).if(+ ξ.ρ.appended(ξ.acc.with(ξ.current), ξ.current.next), ξ.acc+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/set.phi](./org/eolang/structs/set.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ set(lst) ↦ ⟦+ φ ↦ ξ.initialized(+ Φ̇.structs.map(+ Φ̇.structs.list(ξ.lst).mapped(+ ⟦+ φ ↦ Φ̇.structs.map.entry(ξ.item, Φ̇.true),+ item ↦ ∅+ ⟧+ ).origin+ )+ ).initialized,+ initialized(map) ↦ ⟦+ initialized ↦ ξ,+ φ ↦ ξ.map.keys,+ size ↦ ξ.map.size,+ with(item) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.with(ξ.item, Φ̇.true))+ ⟧,+ without(item) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.without(ξ.item))+ ⟧,+ has(item) ↦ ⟦+ φ ↦ ξ.ρ.map.has(ξ.item)+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/switch.phi](./org/eolang/switch.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ switch(cases) ↦ ⟦+ len ↦ Φ̇.dataized(ξ.cases.length).as-bytes,+ φ ↦ ξ.len.eq(0).if(Φ̇.error("switch cases are empty"), ξ.case-at(0)),+ case-at(index) ↦ ⟦+ case ↦ ξ.ρ.cases.at(ξ.index),+ φ ↦ ξ.index.eq(ξ.ρ.len).if(+ Φ̇.true, ξ.case.at(0).if(ξ.case.at(1), ξ.ρ.case-at(ξ.index.plus(1)))+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/sys/getenv.phi](./org/eolang/sys/getenv.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ getenv(name) ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(+ Φ̇.sys.win32(+ "GetEnvironmentVariable", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.name), 512)+ ),+ Φ̇.sys.posix("getenv", Φ̇.tuple(Φ̇.tuple.empty, ξ.name))+ ).output+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/sys/line-separator.phi](./org/eolang/sys/line-separator.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ line-separator ↦ ⟦+ φ ↦ Φ̇.string(Φ̇.sys.os.is-windows.if("\r\n", "\n").as-bytes)+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/sys/os.phi](./org/eolang/sys/os.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ os ↦ ⟦+ φ ↦ ξ.name,+ is-windows ↦ ⟦+ os-name ↦ Φ̇.dataized(ξ.ρ.name).as-bytes,+ φ ↦ ξ.os-name.size.gt(6).and(ξ.os-name.slice(0, 7).eq("Windows"))+ ⟧,+ is-linux ↦ Φ̇.txt.regex("/linux/i").matches(ξ.name).as-bool,+ is-macos ↦ Φ̇.txt.regex("/mac/i").matches(ξ.name).as-bool,+ name ↦ ⟦+ λ ⤍ Lorg_eolang_sys_os_name+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/sys/posix.phi](./org/eolang/sys/posix.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ posix(name, args) ↦ ⟦+ stdin-fileno ↦ 0,+ stdout-fileno ↦ 1,+ af-inet ↦ 2,+ sock-stream ↦ 1,+ ipproto-tcp ↦ 6,+ inaddr-none ↦ -1,+ φ ↦ ⟦+ λ ⤍ Lorg_eolang_sys_posix_φ+ ⟧,+ return(code, output) ↦ ⟦+ called ↦ ξ,+ φ ↦ ξ.output+ ⟧,+ timeval(tv-sec, tv-usec) ↦ ⟦+ self ↦ ξ+ ⟧,+ sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+ sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+ size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+ ξ.sin-zero.size+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/sys/win32.phi](./org/eolang/sys/win32.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ win32(name, args) ↦ ⟦+ std-input-handle ↦ -10,+ std-output-handle ↦ -11,+ af-inet ↦ 2,+ sock-stream ↦ 1,+ ipproto-tcp ↦ 6,+ invalid-socket ↦ -1,+ socket-error ↦ -1,+ inaddr-none ↦ -1,+ winsock-version-2-2 ↦ Φ̇.bytes(⟦ Δ ⤍ 02-02 ⟧),+ φ ↦ ⟦+ λ ⤍ Lorg_eolang_sys_win32_φ+ ⟧,+ return(code, output) ↦ ⟦+ called ↦ ξ,+ φ ↦ ξ.output+ ⟧,+ system-time(year, month, day, day-of-week, hour, minute, second, milliseconds) ↦ ⟦+ self ↦ ξ+ ⟧,+ sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+ sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+ size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+ ξ.sin-zero.size+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/true.phi](./org/eolang/true.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ true ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧),+ not ↦ Φ̇.false,+ if(left, right) ↦ ⟦+ φ ↦ ξ.left+ ⟧,+ and(x) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+ ⟧,+ or(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/try.phi](./org/eolang/try.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ try(main, catch, finally) ↦ ⟦+ λ ⤍ Lorg_eolang_try+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/tuple.phi](./org/eolang/tuple.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ tuple(head, tail) ↦ ⟦+ empty ↦ ⟦+ length ↦ 0,+ at(i) ↦ ⟦+ φ ↦ Φ̇.error("Can't get an object from the empty tuple")+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.tuple(ξ.ρ, ξ.x)+ ⟧+ ⟧,+ length ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.head.length.plus(1)).as-bytes,+ φ ↦ Φ̇.number(ξ.len)+ ⟧,+ at(i) ↦ ⟦+ len ↦ ξ.ρ.length,+ idx ↦ Φ̇.dataized(ξ.i).as-bytes,+ index ↦ Φ̇.dataized(0.gt(ξ.idx).if(ξ.len.plus(ξ.idx), ξ.idx)).as-bytes,+ φ ↦ 0.gt(ξ.index).or(ξ.len.lte(ξ.index)).if(+ Φ̇.error("Given index is out of tuple bounds"), ξ.at-fast(ξ.ρ, ξ.len)+ ),+ at-fast(tup, len) ↦ ⟦+ φ ↦ ξ.len.plus(-1).gt(ξ.ρ.index).if(+ ξ.ρ.at-fast(ξ.tup.head, ξ.len.plus(-1)), ξ.tup.tail+ )+ ⟧+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.tuple(ξ.ρ, ξ.x)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/txt/regex.phi](./org/eolang/txt/regex.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ txt ↦ ⟦+ regex(expression) ↦ ⟦+ φ ↦ ξ.compiled,+ compiled ↦ ⟦+ λ ⤍ Lorg_eolang_txt_regex_compiled+ ⟧,+ pattern(serialized) ↦ ⟦+ matches(txt) ↦ ⟦+ φ ↦ ξ.ρ.match(ξ.txt).next.exists+ ⟧,+ match(txt) ↦ ⟦+ next ↦ ξ.matched-from-index(1, 0).matched,+ matched-from-index(position, start) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_regex_pattern_match_matched_from_index+ ⟧,+ matched(position, start, from, to, groups) ↦ ⟦+ matched ↦ ξ,+ groups-count ↦ ξ.groups.length,+ exists ↦ ξ.start.gte(0),+ next ↦ ξ.exists.if(+ ξ.ρ.matched-from-index(ξ.position.plus(1), ξ.to).matched,+ Φ̇.error("Matched block does not exist, can't get next")+ ),+ text ↦ ξ.exists.if(+ ξ.group(0), Φ̇.error("Matched block does not exist, can't get text")+ ),+ group(index) ↦ ⟦+ φ ↦ ξ.ρ.groups.at(ξ.index)+ ⟧+ ⟧,+ not-matched(position) ↦ ⟦+ φ ↦ ξ.ρ.matched(+ ξ.position,+ -1,+ Φ̇.error(+ "Matched block does not exist, can't get 'from' position"+ ),+ Φ̇.error(+ "Matched block does not exist, can't get 'to' position"+ ),+ Φ̇.error("Matched block does not exist, can't get groups")+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/txt/sprintf.phi](./org/eolang/txt/sprintf.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ txt ↦ ⟦+ sprintf(format, args) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_sprintf+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/txt/sscanf.phi](./org/eolang/txt/sscanf.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ txt ↦ ⟦+ sscanf(format, read) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_sscanf+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/txt/text.phi](./org/eolang/txt/text.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ txt ↦ ⟦+ text(origin) ↦ ⟦+ φ ↦ ξ.origin,+ is-alphanumeric ↦ Φ̇.txt.regex("/^[A-Za-z0-9]+$/").matches(ξ.origin),+ is-alpha ↦ Φ̇.txt.regex("/^[a-zA-Z]+$/").matches(ξ.origin),+ is-ascii ↦ Φ̇.txt.regex("/^[\\x00-\\x7F]*$/").matches(ξ.origin),+ slice(start, len) ↦ ⟦+ φ ↦ ξ.ρ.ρ.text(ξ.ρ.origin.slice(ξ.start, ξ.len))+ ⟧,+ trimmed-left ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ idx ↦ Φ̇.dataized(ξ.first-non-space-index(0)).as-bytes,+ φ ↦ 0.eq(ξ.len).if(+ ξ.ρ, ξ.ρ.slice(ξ.idx, Φ̇.number(ξ.len).minus(Φ̇.number(ξ.idx)))+ ),+ first-non-space-index(index) ↦ ⟦+ char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+ φ ↦ ξ.ρ.len.eq(ξ.index).if(+ ξ.index,+ " ".eq(ξ.char).if(+ ξ.ρ.first-non-space-index(ξ.index.plus(1)), ξ.index+ )+ )+ ⟧+ ⟧,+ trimmed-right ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ φ ↦ 0.eq(ξ.len).if(+ ξ.ρ, ξ.ρ.slice(0, ξ.first-non-space-index(Φ̇.number(ξ.len).plus(-1)))+ ),+ first-non-space-index(index) ↦ ⟦+ char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+ φ ↦ -1.eq(ξ.index).if(+ 0,+ " ".eq(ξ.char).if(+ ξ.ρ.first-non-space-index(ξ.index.plus(-1)), ξ.index.plus(1)+ )+ )+ ⟧+ ⟧,+ trimmed ↦ ⟦+ φ ↦ 0.eq(ξ.ρ.length).if(ξ.ρ, ξ.ρ.trimmed-left.trimmed-right)+ ⟧,+ joined(items) ↦ ⟦+ delimiter ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+ first ↦ ξ.items.at(0),+ len ↦ Φ̇.dataized(ξ.items.length).as-bytes,+ not-empty ↦ Φ̇.dataized(+ 1.eq(ξ.len).if(+ ξ.first, ξ.first.as-bytes.concat(ξ.with-delimiter("".as-bytes, 1))+ )+ ).as-bytes,+ φ ↦ ξ.ρ.ρ.text(0.eq(ξ.len).if("", Φ̇.string(ξ.not-empty))),+ with-delimiter(acc, index) ↦ ⟦+ φ ↦ ξ.ρ.len.eq(ξ.index).if(+ ξ.acc,+ ξ.ρ.with-delimiter(+ ξ.acc.concat(ξ.ρ.delimiter.concat(ξ.ρ.items.at(ξ.index))), ξ.index.plus(1)+ )+ )+ ⟧+ ⟧,+ repeated(times) ↦ ⟦+ bts ↦ Φ̇.dataized(ξ.ρ.origin.as-bytes).as-bytes,+ amount ↦ Φ̇.dataized(ξ.times).as-bytes,+ φ ↦ 0.gt(ξ.amount).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't repeat text %d times", Φ̇.tuple(Φ̇.tuple.empty, ξ.amount)+ )+ ),+ ξ.ρ.ρ.text(+ 0.eq(ξ.amount).if("", Φ̇.string(ξ.rec-repeated(ξ.bts, 1)))+ )+ ),+ rec-repeated(accum, index) ↦ ⟦+ φ ↦ ξ.ρ.amount.eq(ξ.index).if(+ ξ.accum, ξ.ρ.rec-repeated(ξ.accum.concat(ξ.ρ.bts), ξ.index.plus(1))+ )+ ⟧+ ⟧,+ contains(substring) ↦ ⟦+ φ ↦ -1.eq(ξ.ρ.index-of(ξ.substring)).not+ ⟧,+ ends-with(substring) ↦ ⟦+ substr ↦ Φ̇.dataized(ξ.substring).as-bytes,+ φ ↦ ξ.ρ.index-of(ξ.substr).eq(ξ.ρ.length.minus(ξ.substr.size))+ ⟧,+ starts-with(substring) ↦ ⟦+ φ ↦ 0.eq(ξ.ρ.index-of(ξ.substring))+ ⟧,+ index-of(substring) ↦ ⟦+ self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+ substr ↦ Φ̇.string(ξ.substr-as-bytes),+ sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+ end ↦ Φ̇.dataized(Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))).as-bytes,+ φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+ ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+ ).if(-1, ξ.rec-index-of-substr(0)),+ rec-index-of-substr(idx) ↦ ⟦+ φ ↦ ξ.ρ.end.eq(ξ.idx).if(+ ξ.contains.if(ξ.idx, -1),+ ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(1)))+ ),+ contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+ ⟧,+ substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+ ⟧,+ last-index-of(substring) ↦ ⟦+ self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+ substr ↦ Φ̇.string(ξ.substr-as-bytes),+ sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+ φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+ ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+ ).if(+ -1,+ ξ.rec-index-of-substr(+ Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))+ )+ ),+ rec-index-of-substr(idx) ↦ ⟦+ φ ↦ 0.eq(ξ.idx).if(+ ξ.contains.if(ξ.idx, -1),+ ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(-1)))+ ),+ contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+ ⟧,+ substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+ ⟧,+ up-cased ↦ ⟦+ ascii-z ↦ Φ̇.dataized(ξ.ascii("z")).as-bytes,+ ascii-a ↦ Φ̇.dataized(ξ.ascii("a")).as-bytes,+ distance ↦ Φ̇.number(ξ.ascii-a).minus(ξ.ascii("A")),+ φ ↦ ξ.ρ.ρ.text(+ Φ̇.string(+ Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+ Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-258-22+ )+ )+ ),+ ascii(char) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(ξ.char.as-bytes).as-i64.as-number+ ⟧,+ auto-named-attr-at-258-22(accum, byte) ↦ ⟦+ ascii-bte ↦ ξ.ρ.ascii(ξ.byte),+ φ ↦ ξ.accum.concat(+ ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+ ξ.ascii-bte.minus(ξ.ρ.distance).as-i64.as-bytes.slice(7, 1), ξ.byte+ )+ )+ ⟧+ ⟧,+ low-cased ↦ ⟦+ ascii-z ↦ ξ.ρ.up-cased.ascii("Z"),+ ascii-a ↦ ξ.ρ.up-cased.ascii("A"),+ φ ↦ ξ.ρ.ρ.text(+ Φ̇.string(+ Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+ Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-291-22+ )+ )+ ),+ auto-named-attr-at-291-22(accum, byte) ↦ ⟦+ ascii-bte ↦ ξ.ρ.ρ.up-cased.ascii(ξ.byte),+ φ ↦ ξ.accum.concat(+ ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+ ξ.ascii-bte.plus(ξ.ρ.ρ.up-cased.distance).as-i64.as-bytes.slice(+ 7, 1+ ),+ ξ.byte+ )+ )+ ⟧+ ⟧,+ at(i) ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.length).as-bytes,+ idx ↦ Φ̇.dataized(ξ.i).as-bytes,+ index ↦ Φ̇.dataized(+ 0.gt(ξ.idx).if(Φ̇.number(ξ.len).plus(ξ.idx), ξ.idx)+ ).as-bytes,+ φ ↦ 0.gt(ξ.index).or(Φ̇.number(ξ.index).gte(ξ.len)).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Given index %d is out of text bounds", Φ̇.tuple(Φ̇.tuple.empty, ξ.index)+ )+ ),+ ξ.ρ.slice(ξ.index, 1)+ )+ ⟧,+ replaced(target, replacement) ↦ ⟦+ self-as-bytes ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+ reinit ↦ Φ̇.string(ξ.self-as-bytes),+ matched ↦ ξ.target.match(ξ.reinit).next,+ φ ↦ ξ.matched.exists.not.if(+ Φ̇.txt.text(ξ.reinit),+ Φ̇.txt.text(ξ.rec-replaced(ξ.matched, "", ξ.matched.start))+ ),+ rec-replaced(block, accum, start) ↦ ⟦+ φ ↦ ξ.block.exists.if(+ ξ.ρ.rec-replaced(+ ξ.block.next,+ ξ.accum.concat(+ ξ.ρ.reinit.slice(ξ.start, ξ.block.from.minus(ξ.start))+ ).concat(ξ.ρ.replacement),+ ξ.block.to+ ),+ Φ̇.string(+ ξ.accum.concat(+ ξ.ρ.reinit.slice(ξ.start, ξ.ρ.reinit.length.minus(ξ.start))+ )+ )+ )+ ⟧+ ⟧,+ as-number ↦ ⟦+ scanned ↦ Φ̇.txt.sscanf("%f", ξ.ρ.origin),+ φ ↦ ξ.scanned.length.eq(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert text %s to number", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin)+ )+ ),+ ξ.scanned.tail+ )+ ⟧,+ split(delimiter) ↦ ⟦+ delim ↦ Φ̇.dataized(ξ.delimiter).as-bytes,+ self-as-bytes ↦ ξ.ρ.origin.as-bytes,+ len ↦ Φ̇.dataized(ξ.self-as-bytes.size).as-bytes,+ φ ↦ ξ.len.eq(0).if(Φ̇.tuple.empty, ξ.rec-split(Φ̇.tuple.empty, 0, 0)),+ rec-split(accum, start, current) ↦ ⟦+ φ ↦ ξ.ρ.len.eq(ξ.current).if(+ ξ.with-substr,+ ξ.ρ.delim.eq(ξ.ρ.self-as-bytes.slice(ξ.current, 1)).if(+ ξ.ρ.rec-split(+ ξ.with-substr, ξ.current.plus(1), ξ.current.plus(1)+ ),+ ξ.ρ.rec-split(ξ.accum, ξ.start, ξ.current.plus(1))+ )+ ),+ with-substr ↦ ξ.accum.with(+ Φ̇.string(+ ξ.ρ.self-as-bytes.slice(ξ.start, ξ.current.minus(ξ.start))+ )+ )+ ⟧+ ⟧,+ chained(others) ↦ ⟦+ φ ↦ 0.eq(ξ.others.length).if(+ ξ.ρ,+ ξ.ρ.ρ.text(+ Φ̇.string(+ Φ̇.structs.list(ξ.others).reduced(+ ξ.ρ.origin.as-bytes,+ ⟦+ φ ↦ ξ.accum.concat(ξ.str.as-bytes),+ accum ↦ ∅,+ str ↦ ∅+ ⟧+ )+ )+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/while.phi](./org/eolang/while.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ while(condition, body) ↦ ⟦+ φ ↦ ξ.condition(0).as-bool.if(ξ.loop(0), Φ̇.false),+ loop(index) ↦ ⟦+ current ↦ ξ.ρ.body(ξ.index),+ φ ↦ ξ.ρ.condition(ξ.index.plus(1)).as-bool.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.current), ξ.ρ.loop(ξ.index.plus(1))+ )+ ),+ ξ.current+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```+
+ data/0.49.1/org/eolang/as-phi.phi view
@@ -0,0 +1,11 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ as-phi(x) ↦ ⟦+ λ ⤍ Lorg_eolang_as_phi+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/bytes.phi view
@@ -0,0 +1,95 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ bytes(data) ↦ ⟦+ φ ↦ ξ.data,+ as-bytes ↦ ξ,+ as-bool ↦ ξ.eq(Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)),+ as-number ↦ ⟦+ φ ↦ ξ.ρ.eq(Φ̇.nan.as-bytes).if(+ Φ̇.nan,+ ξ.ρ.eq(Φ̇.positive-infinity.as-bytes).if(+ Φ̇.positive-infinity,+ ξ.ρ.eq(Φ̇.negative-infinity.as-bytes).if(+ Φ̇.negative-infinity,+ ξ.ρ.size.eq(8).if(+ Φ̇.number(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 8 length bytes to a number, bytes are %x", Φ̇.tuple.empty+ )+ )+ )+ )+ )+ )+ ⟧,+ eq(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_eq+ ⟧,+ size ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_size+ ⟧,+ slice(start, len) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_slice+ ⟧,+ as-i64 ↦ ⟦+ φ ↦ ξ.ρ.size.eq(8).if(+ Φ̇.i64(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 8 length bytes to i64, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ as-i32 ↦ ⟦+ φ ↦ ξ.ρ.size.eq(4).if(+ Φ̇.i32(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 4 length bytes to i32, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ as-i16 ↦ ⟦+ φ ↦ ξ.ρ.size.eq(2).if(+ Φ̇.i16(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 2 length bytes to i16, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ and(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_and+ ⟧,+ or(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_or+ ⟧,+ xor(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_xor+ ⟧,+ not ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_not+ ⟧,+ left(x) ↦ ⟦+ φ ↦ ξ.ρ.right(ξ.x.neg)+ ⟧,+ right(x) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_right+ ⟧,+ concat(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_concat+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/cti.phi view
@@ -0,0 +1,11 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ cti(delegate, level, message) ↦ ⟦+ φ ↦ ξ.delegate+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/dataized.phi view
@@ -0,0 +1,18 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ dataized(target) ↦ ⟦+ φ ↦ Φ̇.try(+ ξ.target,+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)+ )+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/error.phi view
@@ -0,0 +1,11 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ error(message) ↦ ⟦+ λ ⤍ Lorg_eolang_error+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/false.phi view
@@ -0,0 +1,21 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ false ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ not ↦ Φ̇.true,+ if(left, right) ↦ ⟦+ φ ↦ ξ.right+ ⟧,+ and(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ or(x) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/fs/dir.phi view
@@ -0,0 +1,71 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ fs ↦ ⟦+ dir(file) ↦ ⟦+ φ ↦ ξ.file,+ is-directory ↦ Φ̇.true,+ made ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.mkdir), ξ.ρ))+ ),+ mkdir ↦ ⟦+ λ ⤍ Lorg_eolang_fs_dir_made_mkdir+ ⟧+ ⟧,+ walk(glob) ↦ ⟦+ λ ⤍ Lorg_eolang_fs_dir_walk+ ⟧,+ deleted ↦ ⟦+ walked ↦ ξ.ρ.walk("**").at.ρ,+ len ↦ Φ̇.dataized(ξ.walked.length).as-bytes,+ φ ↦ ξ.ρ.exists.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.rec-delete(ξ.walked, 0)), ξ.ρ+ )+ ),+ ξ.ρ+ ),+ rec-delete(tup, index) ↦ ⟦+ φ ↦ ξ.ρ.len.eq(ξ.index).if(+ Φ̇.true,+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.tup.tail.deleted.exists),+ ξ.ρ.rec-delete(ξ.tup.head, ξ.index.plus(1))+ )+ )+ )+ ⟧+ ⟧,+ tmpfile ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ Φ̇.fs.file(Φ̇.string(ξ.touch.as-bytes)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Directory %s does not exist, can't create temporary file",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+ )+ )+ ),+ touch ↦ ⟦+ λ ⤍ Lorg_eolang_fs_dir_tmpfile_touch+ ⟧+ ⟧,+ open(mode, scope) ↦ ⟦+ φ ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "The file %s is a directory, can't open for I/O operations",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/fs/file.phi view
@@ -0,0 +1,164 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ fs ↦ ⟦+ file(path) ↦ ⟦+ φ ↦ ξ.path,+ is-directory ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_is_directory+ ⟧,+ exists ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_exists+ ⟧,+ touched ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.touch), ξ.ρ))+ ),+ touch ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_touched_touch+ ⟧+ ⟧,+ deleted ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.delete), ξ.ρ)), ξ.ρ+ ),+ delete ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_deleted_delete+ ⟧+ ⟧,+ size ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_size+ ⟧,+ moved(target) ↦ ⟦+ φ ↦ Φ̇.fs.file(Φ̇.string(ξ.move.as-bytes)),+ move ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_moved_move+ ⟧+ ⟧,+ as-path ↦ ⟦+ φ ↦ Φ̇.fs.path(ξ.ρ.path).determined+ ⟧,+ open(mode, scope) ↦ ⟦+ access ↦ Φ̇.dataized(ξ.mode).as-bytes,+ read ↦ ξ.access.eq("r"),+ write ↦ ξ.access.eq("w"),+ append ↦ ξ.access.eq("a"),+ read-write ↦ ξ.access.eq("r+"),+ write-read ↦ ξ.access.eq("w+"),+ read-append ↦ ξ.access.eq("a+"),+ can-read ↦ ξ.read.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).as-bool,+ can-write ↦ ξ.write.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).or(+ ξ.append+ ).as-bool,+ must-exists ↦ ξ.read.or(ξ.read-write).as-bool,+ truncate ↦ ξ.write.or(ξ.write-read).as-bool,+ φ ↦ ξ.can-read.not.and(ξ.can-write.not).if(+ Φ̇.error(+ "Wrong access mod. Only next modes are available: 'r', 'w', 'a', 'r+', 'w+', 'a+'"+ ),+ ξ.ρ.exists.not.if(+ ξ.must-exists.if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "File must exist for given access mod: '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.access)+ )+ ),+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.touched.touch), ξ.process-file+ ),+ ξ.ρ+ )+ )+ ),+ ξ.truncate.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.deleted.delete), ξ.ρ.touched.touch+ ),+ ξ.process-file+ ),+ ξ.ρ+ )+ ),+ Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.process-file), ξ.ρ))+ )+ )+ ),+ process-file ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_open_process_file+ ⟧,+ file-stream ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ Φ̇.dataized(ξ.ρ.ρ.read-bytes(ξ.size)).as-bytes,+ φ ↦ ξ.ρ.ρ.ρ.ρ.can-read.not.if(+ ξ.auto-named-attr-at-216-18,+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ )+ ).self,+ auto-named-attr-at-216-18 ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't read from file with provided access mode '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+ )+ )+ ⟧+ ⟧+ ⟧,+ read-bytes(size) ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_open_file_stream_read_read_bytes+ ⟧+ ⟧,+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.ρ.can-write.not.if(+ ξ.auto-named-attr-at-258-18,+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.written-bytes(ξ.buffer)), ξ.ρ.ρ.output-block+ )+ )+ ).self,+ auto-named-attr-at-258-18 ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't write to file with provided access mode '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+ )+ )+ ⟧+ ⟧+ ⟧,+ written-bytes(buffer) ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_open_file_stream_write_written_bytes+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/fs/path.phi view
@@ -0,0 +1,273 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ fs ↦ ⟦+ path(uri) ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.win32(Φ̇.string(ξ.uri.as-bytes)), ξ.posix(Φ̇.string(ξ.uri.as-bytes))+ ).determined,+ joined(paths) ↦ ⟦+ joined-path ↦ Φ̇.string(+ Φ̇.txt.text(ξ.ρ.separator).joined(ξ.paths).as-bytes+ ),+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.ρ.win32(ξ.joined-path), ξ.ρ.posix(ξ.joined-path)+ ).normalized+ ⟧,+ separator ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(ξ.ρ.win32.separator, ξ.ρ.posix.separator)+ ⟧,+ posix(uri) ↦ ⟦+ determined ↦ ξ,+ separator ↦ "/",+ as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+ as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+ φ ↦ ξ.uri,+ is-absolute ↦ ⟦+ φ ↦ ξ.ρ.uri.length.gt(0).and(+ ξ.ρ.uri.as-bytes.slice(0, 1).eq(ξ.ρ.separator)+ )+ ⟧,+ normalized ↦ ⟦+ uri-as-bytes ↦ ξ.ρ.uri.as-bytes,+ is-absolute ↦ ξ.ρ.is-absolute.as-bool,+ has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+ ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+ ξ.ρ.separator+ )+ ),+ path ↦ Φ̇.txt.text(ξ.ρ.separator).joined(+ Φ̇.structs.list(Φ̇.txt.text(ξ.ρ.uri).split(ξ.ρ.separator)).reduced(+ Φ̇.tuple.empty, ξ.auto-named-attr-at-102-25+ )+ ),+ normalized ↦ ξ.ρ.uri.length.eq(0).if(+ ".",+ ξ.is-absolute.if(ξ.ρ.separator.concat(ξ.path), ξ.path).concat(+ ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ )+ ).as-bytes,+ φ ↦ ξ.ρ.ρ.posix(+ ξ.normalized.eq("//").if("/", Φ̇.string(ξ.normalized))+ ).determined,+ auto-named-attr-at-102-25(accum, segment) ↦ ⟦+ φ ↦ ξ.segment.eq("..").if(+ ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+ ξ.accum.head, ξ.ρ.is-absolute.not.if(ξ.accum.with(ξ.segment), ξ.accum)+ ),+ ξ.segment.eq(".").or(ξ.segment.eq("")).if(+ ξ.accum, ξ.accum.with(ξ.segment)+ )+ )+ ⟧+ ⟧,+ resolved(other) ↦ ⟦+ other-as-bytes ↦ ξ.other.as-bytes,+ φ ↦ ξ.ρ.ρ.posix(+ Φ̇.string(+ ξ.other-as-bytes.slice(0, 1).eq(ξ.ρ.separator).if(+ ξ.other-as-bytes, ξ.ρ.uri.concat(ξ.ρ.separator).concat(ξ.other-as-bytes)+ )+ )+ ).normalized+ ⟧,+ basename ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ slice-start-idx ↦ Φ̇.dataized(+ ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+ ).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+ ξ.pth,+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ extname ↦ ⟦+ base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+ slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+ φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+ "",+ Φ̇.string(+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ dirname ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+ ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+ )+ )+ ⟧+ ⟧,+ win32(uri) ↦ ⟦+ separator ↦ "\\",+ φ ↦ ξ.validated(+ Φ̇.string(ξ.validated.separated-correctly(ξ.uri).as-bytes)+ ).determined,+ validated(uri) ↦ ⟦+ determined ↦ ξ,+ separator ↦ ξ.ρ.separator,+ as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+ as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+ φ ↦ ξ.uri,+ is-drive-relative(uri) ↦ ⟦+ φ ↦ Φ̇.txt.regex("/^[a-zA-Z]:/").matches(ξ.uri).as-bool+ ⟧,+ is-root-relative(uri) ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+ φ ↦ ξ.uri-as-bytes.size.gt(0).and(+ ξ.uri-as-bytes.slice(0, 1).eq(ξ.ρ.separator)+ )+ ⟧,+ separated-correctly(uri) ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+ pth ↦ Φ̇.txt.text(Φ̇.string(ξ.uri-as-bytes)),+ replaced ↦ Φ̇.dataized(+ ξ.pth.replaced(Φ̇.txt.regex("/\\//"), ξ.ρ.separator)+ ).as-bytes,+ φ ↦ ξ.pth.index-of(ξ.ρ.ρ.ρ.ρ.path.posix.separator).eq(-1).if(+ Φ̇.string(ξ.uri-as-bytes), Φ̇.string(ξ.replaced)+ )+ ⟧,+ is-absolute ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ φ ↦ ξ.uri-as-bytes.size.eq(0).if(+ Φ̇.false,+ ξ.ρ.is-root-relative(ξ.uri-as-bytes).or(+ ξ.uri-as-bytes.size.gt(1).and(+ ξ.ρ.is-drive-relative(ξ.uri-as-bytes)+ )+ )+ )+ ⟧,+ normalized ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.uri-as-bytes).as-bool,+ is-root-relative ↦ ξ.ρ.is-root-relative(ξ.uri-as-bytes).as-bool,+ driveless ↦ Φ̇.dataized(+ ξ.is-drive-relative.if(+ ξ.uri-as-bytes.slice(2, ξ.uri-as-bytes.size.plus(-2)), ξ.uri-as-bytes+ )+ ).as-bytes,+ has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+ ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+ ξ.ρ.separator+ )+ ),+ path ↦ Φ̇.dataized(+ Φ̇.txt.text(ξ.ρ.separator).joined(+ Φ̇.structs.list(+ Φ̇.txt.text(ξ.driveless).split(ξ.ρ.separator)+ ).reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-356-27)+ )+ ).as-bytes,+ normalized ↦ ξ.driveless.size.eq(0).if(+ ".",+ ξ.is-drive-relative.if(+ ξ.driveless.slice(0, 1).eq(ξ.ρ.separator).if(+ ξ.ρ.uri.slice(0, 3), ξ.ρ.uri.slice(0, 2)+ ),+ ξ.is-root-relative.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ ).concat(ξ.path).concat(+ ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ )+ ).as-bytes,+ φ ↦ ξ.ρ.ρ.validated(+ ξ.normalized.eq("\\\\").if(+ ξ.ρ.separator, Φ̇.string(ξ.normalized)+ )+ ).determined,+ auto-named-attr-at-356-27(accum, segment) ↦ ⟦+ φ ↦ ξ.segment.eq("..").if(+ ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+ ξ.accum.head,+ ξ.ρ.is-root-relative.not.and(ξ.ρ.is-drive-relative.not).if(+ ξ.accum.with(ξ.segment), ξ.accum+ )+ ),+ ξ.segment.eq(".").or(ξ.segment.eq("")).if(+ ξ.accum, ξ.accum.with(ξ.segment)+ )+ )+ ⟧+ ⟧,+ resolved(other) ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ valid-other ↦ Φ̇.dataized(ξ.ρ.separated-correctly(ξ.other)).as-bytes,+ other-is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.valid-other).as-bool,+ other-is-root-relative ↦ ξ.ρ.is-root-relative(ξ.valid-other).as-bool,+ φ ↦ ξ.ρ.ρ.validated(+ Φ̇.string(+ ξ.other-is-drive-relative.if(+ ξ.valid-other,+ ξ.other-is-root-relative.if(+ ξ.ρ.is-drive-relative(ξ.uri-as-bytes).if(+ ξ.uri-as-bytes.slice(0, 2).concat(ξ.valid-other), ξ.valid-other+ ),+ ξ.uri-as-bytes.concat(ξ.ρ.separator).concat(+ ξ.valid-other+ )+ )+ )+ )+ ).normalized+ ⟧,+ basename ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ slice-start-idx ↦ Φ̇.dataized(+ ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+ ).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+ ξ.pth,+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ extname ↦ ⟦+ base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+ slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+ φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+ "",+ Φ̇.string(+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ dirname ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+ ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+ )+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/fs/tmpdir.phi view
@@ -0,0 +1,39 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ fs ↦ ⟦+ tmpdir ↦ ⟦+ φ ↦ Φ̇.fs.dir(Φ̇.fs.file(Φ̇.string(ξ.os-tmp-dir))),+ os-tmp-dir ↦ Φ̇.dataized(ξ.os-tmp-dir-1).as-bytes,+ os-tmp-dir-1 ↦ ⟦+ tmpdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TMPDIR")).as-bytes,+ tmp ↦ Φ̇.dataized(Φ̇.sys.getenv("TMP")).as-bytes,+ temp ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMP")).as-bytes,+ tempdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMPDIR")).as-bytes,+ userprofile ↦ Φ̇.dataized(Φ̇.sys.getenv("USERPROFILE")).as-bytes,+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.tmp.eq("").if(+ ξ.temp.eq("").if(+ ξ.userprofile.eq("").if("C:\\Windows", ξ.userprofile), ξ.temp+ ),+ ξ.tmp+ ),+ ξ.tmpdir.eq("").if(+ ξ.tmp.eq("").if(+ ξ.temp.eq("").if(+ ξ.tempdir.eq("").if("/tmp", ξ.tempdir), ξ.temp+ ),+ ξ.tmp+ ),+ ξ.tmpdir+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/go.phi view
@@ -0,0 +1,34 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ go ↦ ⟦+ id ↦ Φ̇.dataized(+ Φ̇.malloc.of(+ 8,+ ⟦+ φ ↦ ξ.m.put(ξ.m.id),+ m ↦ ∅+ ⟧+ )+ ).as-bytes,+ to(body) ↦ ⟦+ φ ↦ Φ̇.try(ξ.body(ξ.token), ξ.auto-named-attr-at-63-9, Φ̇.true),+ token ↦ ⟦+ backward ↦ Φ̇.error(ξ.jump(ξ.ρ.ρ.to(ξ.ρ.body))),+ jump(value) ↦ ⟦+ id ↦ ξ.ρ.ρ.ρ.id+ ⟧,+ forward(res) ↦ ⟦+ φ ↦ Φ̇.error(ξ.ρ.jump(ξ.res))+ ⟧+ ⟧,+ auto-named-attr-at-63-9(e) ↦ ⟦+ φ ↦ ξ.ρ.ρ.id.eq(ξ.e.id).if(ξ.e.value, Φ̇.error(ξ.e))+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/i16.phi view
@@ -0,0 +1,67 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ i16(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i16 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64.as-i32.as-i16),+ as-i64 ↦ ξ.as-i32.as-i64,+ as-number ↦ ξ.as-i64.as-number,+ as-i32 ↦ ⟦+ λ ⤍ Lorg_eolang_i16_as_i32+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.lt(ξ.x.as-i16.as-i32)+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.lte(ξ.x.as-i16.as-i32)+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.gt(ξ.x.as-i16.as-i32)+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.gte(ξ.x.as-i16.as-i32)+ ⟧,+ times(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i32.times(ξ.x.as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+ ⟧,+ plus(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i32.plus(ξ.x.as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ.plus(ξ.x.as-i16.neg)+ ⟧,+ div(x) ↦ ⟦+ x-as-i16 ↦ ξ.x.as-i16,+ bts ↦ ξ.ρ.as-i32.div(ξ.x-as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧),+ φ ↦ ξ.x-as-i16.eq(ξ.zero).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't divide %d by i16 zero",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i32.as-i64.as-number)+ )+ ),+ ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))).if(+ ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right))+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/i32.phi view
@@ -0,0 +1,79 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ i32(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i32 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64.as-i32),+ as-number ↦ ξ.as-i64.as-number,+ as-i64 ↦ ⟦+ λ ⤍ Lorg_eolang_i32_as_i64+ ⟧,+ as-i16 ↦ ⟦+ left ↦ ξ.ρ.as-bytes.slice(0, 2).as-bytes,+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(+ Φ̇.i16(ξ.ρ.as-bytes.slice(2, 2)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert i32 number %d to i16 because it's out of i16 bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+ )+ )+ )+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.lt(ξ.x.as-i32.as-i64)+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.lte(ξ.x.as-i32.as-i64)+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.gt(ξ.x.as-i32.as-i64)+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.gte(ξ.x.as-i32.as-i64)+ ⟧,+ times(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i64.times(ξ.x.as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+ ⟧,+ plus(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i64.plus(ξ.x.as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ.plus(ξ.x.as-i32.neg)+ ⟧,+ div(x) ↦ ⟦+ x-as-i32 ↦ ξ.x.as-i32,+ bts ↦ ξ.ρ.as-i64.div(ξ.x-as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧),+ φ ↦ ξ.x-as-i32.eq(ξ.zero).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't divide %d by i32 zero", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+ )+ ),+ ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))).if(+ ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right))+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/i64.phi view
@@ -0,0 +1,59 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ i64(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i64 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64),+ as-i16 ↦ ξ.as-i32.as-i16,+ as-i32 ↦ ⟦+ left ↦ ξ.ρ.as-bytes.slice(0, 4).as-bytes,+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(+ Φ̇.i32(ξ.ρ.as-bytes.slice(4, 4)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert i64 number %d to i32 because it's out of i32 bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-number)+ )+ )+ )+ ⟧,+ as-number ↦ ⟦+ λ ⤍ Lorg_eolang_i64_as_number+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ 0.as-i64.gt(ξ.ρ.minus(ξ.ρ.ρ.i64(ξ.value)))+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ gt(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_gt+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ times(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_times+ ⟧,+ plus(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_plus+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.plus(ξ.ρ.ρ.i64(ξ.value).neg)+ ⟧,+ div(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_div+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/io/bytes-as-input.phi view
@@ -0,0 +1,36 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ bytes-as-input(bts) ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(ξ.ρ.bts, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(data, buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ to-read ↦ Φ̇.dataized(ξ.size).as-bytes,+ available ↦ Φ̇.dataized(ξ.ρ.data.size).as-bytes,+ next ↦ Φ̇.dataized(+ Φ̇.number(ξ.available).gt(ξ.to-read).if(ξ.to-read, ξ.available)+ ).as-bytes,+ φ ↦ ξ.available.eq(0).if(+ ξ.ρ.ρ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.bytes(⟦ Δ ⤍ -- ⟧)),+ ξ.ρ.ρ.input-block(+ ξ.ρ.data.slice(+ ξ.next, Φ̇.number(ξ.available).minus(Φ̇.number(ξ.next))+ ).as-bytes,+ ξ.ρ.data.slice(0, ξ.next).as-bytes+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/io/console.phi view
@@ -0,0 +1,122 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ console ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(ξ.windows-console, ξ.posix-console).platform,+ posix-console ↦ ⟦+ platform ↦ ξ,+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ Φ̇.dataized(+ Φ̇.sys.posix(+ "read",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.stdin-fileno), ξ.size+ )+ ).output+ ).as-bytes,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ ).self+ ⟧+ ⟧+ ⟧,+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.sys.posix(+ "write",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty, Φ̇.sys.posix.stdout-fileno+ ),+ ξ.buffer+ ),+ ξ.buffer.size+ )+ ).code+ ),+ ξ.ρ.ρ.output-block+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ windows-console ↦ ⟦+ platform ↦ ξ,+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ Φ̇.dataized(+ Φ̇.sys.win32(+ "ReadFile",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.std-input-handle), ξ.size+ )+ ).output+ ).as-bytes,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ ).self+ ⟧+ ⟧+ ⟧,+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.sys.win32(+ "WriteFile",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty, Φ̇.sys.win32.std-output-handle+ ),+ ξ.buffer+ ),+ ξ.buffer.size+ )+ ).code+ ),+ ξ.ρ.ρ.output-block+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/io/dead-input.phi view
@@ -0,0 +1,22 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ dead-input ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block,+ input-block ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ -- ⟧),+ read(size) ↦ ⟦+ φ ↦ ξ.ρ.ρ.input-block+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/io/dead-output.phi view
@@ -0,0 +1,22 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ dead-output ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block,+ output-block ↦ ⟦+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ ξ.ρ.ρ.output-block+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/io/input-length.phi view
@@ -0,0 +1,21 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ input-length(input) ↦ ⟦+ chunk ↦ 4096,+ φ ↦ ξ.rec-read(ξ.input, 0),+ rec-read(input, length) ↦ ⟦+ read-bytes ↦ ξ.input.read(ξ.ρ.chunk).read.ρ,+ φ ↦ ξ.read-bytes.size.eq(0).if(+ ξ.length, ξ.ρ.rec-read(ξ.read-bytes, ξ.length.plus(ξ.read-bytes.size))+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/io/malloc-as-output.phi view
@@ -0,0 +1,30 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ malloc-as-output(allocated) ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block(0).write(ξ.buffer).self,+ output-block(offset) ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty, ξ.ρ.ρ.ρ.allocated.write(ξ.ρ.offset, ξ.buffer)+ ),+ ξ.ρ.ρ.output-block(ξ.ρ.offset.plus(ξ.buffer.size))+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/io/stdin.phi view
@@ -0,0 +1,45 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ stdin ↦ ⟦+ φ ↦ ξ.all-lines,+ all-lines ↦ ⟦+ φ ↦ ξ.rec-read(ξ.ρ.next-line, Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.true),+ separator ↦ Φ̇.dataized(Φ̇.sys.line-separator).as-bytes,+ rec-read(line, buffer, first) ↦ ⟦+ φ ↦ ξ.line.length.eq(0).if(+ Φ̇.string(ξ.buffer),+ ξ.ρ.rec-read(+ ξ.ρ.ρ.next-line,+ ξ.first.if(+ ξ.buffer.concat(ξ.line), ξ.buffer.concat(ξ.ρ.separator).concat(ξ.line)+ ),+ Φ̇.false+ )+ )+ ⟧+ ⟧,+ next-line ↦ ⟦+ first ↦ Φ̇.io.console.read(1).self,+ φ ↦ ξ.first.as-bytes.size.eq(0).if(+ "", ξ.rec-read(ξ.first, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ ),+ rec-read(input, buffer) ↦ ⟦+ char ↦ ξ.input.as-bytes,+ next ↦ ξ.input.read(1).self,+ φ ↦ ξ.char.eq(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).or(+ ξ.char.eq("\r").and(ξ.next.as-bytes.eq("\n")).or(ξ.char.eq("\n"))+ ).if(+ Φ̇.string(ξ.buffer), ξ.ρ.rec-read(ξ.next, ξ.buffer.concat(ξ.char))+ )+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/io/stdout.phi view
@@ -0,0 +1,18 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ stdout(text) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.io.console.write(ξ.text)), Φ̇.true+ )+ )+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/io/tee-input.phi view
@@ -0,0 +1,34 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ tee-input(input, output) ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(ξ.ρ.input, ξ.ρ.output, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(+ ξ.size+ ).self,+ input-block(input, output, buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ ξ.ρ.input.read(ξ.size).read.ρ,+ written-bytes ↦ ξ.ρ.output.write(ξ.read-bytes).write.ρ,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.written-bytes),+ ξ.ρ.ρ.input-block(+ ξ.read-bytes, ξ.written-bytes, ξ.read-bytes.as-bytes+ )+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/malloc.phi view
@@ -0,0 +1,52 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ malloc ↦ ⟦+ empty(scope) ↦ ⟦+ φ ↦ ξ.ρ.ρ.malloc.of(0, ξ.scope)+ ⟧,+ for(object, scope) ↦ ⟦+ bts ↦ Φ̇.dataized(ξ.object).as-bytes,+ φ ↦ ξ.ρ.ρ.malloc.of(ξ.bts.size, ξ.auto-named-attr-at-96-9),+ auto-named-attr-at-96-9(m) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.m.write(0, ξ.ρ.bts)), ξ.ρ.scope(ξ.m)+ )+ )+ ⟧+ ⟧,+ of(size, scope) ↦ ⟦+ φ ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_φ+ ⟧,+ allocated(id) ↦ ⟦+ φ ↦ ξ.get,+ get ↦ ξ.read(0, ξ.size),+ size ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_size+ ⟧,+ resized(new-size) ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_resized+ ⟧,+ read(offset, length) ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_read+ ⟧,+ write(offset, data) ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_write+ ⟧,+ put(object) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.write(0, ξ.object)), ξ.ρ.get+ )+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/math/angle.phi view
@@ -0,0 +1,30 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ angle(value) ↦ ⟦+ φ ↦ ξ.value,+ in-degrees ↦ ξ.ρ.angle(ξ.ρ.times(180).div(Φ̇.math.pi)),+ in-radians ↦ ξ.ρ.angle(ξ.times(Φ̇.math.pi).div(180)),+ sin ↦ ⟦+ λ ⤍ Lorg_eolang_math_angle_sin+ ⟧,+ cos ↦ ⟦+ λ ⤍ Lorg_eolang_math_angle_cos+ ⟧,+ tan ↦ ⟦+ cosine ↦ Φ̇.dataized(ξ.ρ.cos).as-bytes,+ φ ↦ ξ.cosine.eq(0).if(Φ̇.nan, ξ.ρ.sin.div(ξ.cosine))+ ⟧,+ ctan ↦ ⟦+ sine ↦ Φ̇.dataized(ξ.ρ.sin).as-bytes,+ φ ↦ ξ.sine.eq(0).if(Φ̇.nan, ξ.ρ.cos.div(ξ.sine))+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/math/e.phi view
@@ -0,0 +1,12 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ e ↦ 2.718281828459045,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/math/integral.phi view
@@ -0,0 +1,66 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ integral(fun, a, b, n) ↦ ⟦+ subsection(a, b) ↦ ⟦+ φ ↦ ξ.b.minus(ξ.a).div(6).times(+ ξ.ρ.fun(ξ.a).plus(+ 4.times(ξ.ρ.fun(0.5.times(ξ.a.plus(ξ.b)))).plus(ξ.ρ.fun(ξ.b))+ )+ )+ ⟧,+ φ ↦ Φ̇.malloc.of(8, ξ.auto-named-attr-at-50-11).as-number,+ auto-named-attr-at-50-11(sum) ↦ ⟦+ φ ↦ Φ̇.malloc.for(ξ.ρ.a, ξ.auto-named-attr-at-53-16),+ auto-named-attr-at-53-16(left) ↦ ⟦+ right ↦ ξ.ρ.ρ.b,+ step ↦ ξ.right.minus(ξ.left).div(ξ.ρ.ρ.n).as-number,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.while(+ ξ.auto-named-attr-at-59-21,+ ⟦+ φ ↦ Φ̇.true,+ i ↦ ∅+ ⟧+ )+ ),+ ξ.ρ.sum+ )+ ),+ auto-named-attr-at-59-21(i) ↦ ⟦+ φ ↦ ξ.ρ.left.as-number.plus(ξ.ρ.step).lt(ξ.ρ.right).if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ ξ.ρ.ρ.sum.put(+ ξ.ρ.ρ.sum.as-number.plus(+ ξ.ρ.ρ.ρ.subsection(+ ξ.ρ.left.as-number, ξ.ρ.left.as-number.plus(ξ.ρ.step)+ )+ )+ )+ ),+ ξ.ρ.left.put(ξ.ρ.left.as-number.plus(ξ.ρ.step))+ ),+ Φ̇.true+ )+ ),+ Φ̇.false+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/math/numbers.phi view
@@ -0,0 +1,42 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ numbers(sequence) ↦ ⟦+ φ ↦ ξ.sequence,+ max ↦ ⟦+ lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+ φ ↦ ξ.lst.is-empty.if(+ Φ̇.error("Can't get max number from empty sequence"),+ ξ.lst.reduced(+ Φ̇.negative-infinity,+ ⟦+ max ↦ ∅,+ item ↦ ∅,+ φ ↦ ξ.item.as-number.gt(ξ.max).if(ξ.item, ξ.max)+ ⟧+ )+ )+ ⟧,+ min ↦ ⟦+ lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+ φ ↦ ξ.lst.is-empty.if(+ Φ̇.error("Can't get min number from empty sequence"),+ ξ.lst.reduced(+ Φ̇.positive-infinity,+ ⟦+ min ↦ ∅,+ item ↦ ∅,+ φ ↦ ξ.min.gt(ξ.item.as-number).if(ξ.item, ξ.min)+ ⟧+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/math/pi.phi view
@@ -0,0 +1,12 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ pi ↦ 3.141592653589793,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/math/random.phi view
@@ -0,0 +1,53 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ random(seed) ↦ ⟦+ fixed ↦ ξ,+ φ ↦ ξ.seed.as-number.div(+ Φ̇.bytes(⟦ Δ ⤍ 00-20-00-00-00-00-00-00 ⟧).as-i64.as-number+ ),+ next ↦ ξ.ρ.random(+ ξ.seed.times(25214903917).plus(11).as-i64.and(+ Φ̇.bytes(⟦ Δ ⤍ 00-0F-FF-FF-FF-FF-FF-FF ⟧)+ ).as-i64.as-number+ ).fixed,+ pseudo ↦ ⟦+ const-1 ↦ 35,+ const-2 ↦ 53,+ const-3 ↦ 17,+ one ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-01 ⟧),+ φ ↦ ξ.ρ.ρ.random(ξ.time-seed),+ time-seed ↦ ξ.time-bytes.left(ξ.const-1).and(+ ξ.one.left(ξ.const-2).as-i64.minus(ξ.one).as-bytes+ ).as-i64.plus(+ ξ.time-bytes.left(ξ.const-3).and(+ ξ.one.left(ξ.const-1).as-i64.minus(ξ.one).as-bytes+ ).as-i64.plus(+ ξ.time-bytes.and(+ ξ.one.left(ξ.const-3).as-i64.minus(ξ.one).as-bytes+ ).as-i64+ )+ ).as-number,+ time-bytes ↦ Φ̇.sys.os.is-windows.if(+ Φ̇.sys.win32(+ "GetSystemTime", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.system-time)+ ).milliseconds,+ ⟦+ timeval ↦ Φ̇.sys.posix(+ "gettimeofday", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.timeval)+ ).output,+ φ ↦ ξ.timeval.tv-sec.times(1000).plus(+ ξ.timeval.tv-usec.as-i64.div(1000.as-i64).as-number+ )+ ⟧+ ).as-i64.as-bytes+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/math/real.phi view
@@ -0,0 +1,49 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ real(num) ↦ ⟦+ φ ↦ ξ.num,+ exp ↦ Φ̇.math.real(Φ̇.math.e).pow(ξ.num),+ mod(x) ↦ ⟦+ dividend ↦ Φ̇.number(ξ.ρ.num.as-bytes),+ divisor ↦ Φ̇.number(ξ.x.as-bytes),+ φ ↦ ξ.divisor.eq(0).if(+ Φ̇.error("Can't calculate mod by zero"),+ ξ.dividend.gt(0).if(ξ.abs-mod, ξ.abs-mod.neg)+ ),+ abs-mod ↦ ⟦+ dividend-abs ↦ Φ̇.math.real(ξ.ρ.dividend).abs,+ divisor-abs ↦ Φ̇.math.real(ξ.ρ.divisor).abs,+ φ ↦ ξ.dividend-abs.minus(+ ξ.divisor-abs.times(ξ.dividend-abs.div(ξ.divisor-abs).floor)+ )+ ⟧+ ⟧,+ abs ↦ ⟦+ value ↦ Φ̇.number(ξ.ρ.num.as-bytes),+ φ ↦ ξ.value.gte(0).if(ξ.value, ξ.value.neg)+ ⟧,+ pow(x) ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_pow+ ⟧,+ sqrt ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_sqrt+ ⟧,+ ln ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_ln+ ⟧,+ acos ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_acos+ ⟧,+ asin ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_asin+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/nan.phi view
@@ -0,0 +1,44 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ nan ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F8-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ ξ,+ is-nan ↦ Φ̇.true,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert NaN to i64"),+ eq(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ times(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ plus(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ div(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/negative-infinity.phi view
@@ -0,0 +1,61 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ negative-infinity ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ FF-F0-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ Φ̇.positive-infinity,+ is-nan ↦ Φ̇.false,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert negative infinity to i64"),+ eq(x) ↦ ⟦+ φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.not+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.eq(ξ.x)+ ⟧,+ times(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+ Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.positive-infinity)+ )+ ⟧,+ plus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.positive-infinity)).if(+ Φ̇.nan, ξ.ρ+ )+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+ ⟧,+ div(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+ Φ̇.nan,+ ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+ Φ̇.positive-infinity, ξ.ρ+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/net/socket.phi view
@@ -0,0 +1,535 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ net ↦ ⟦+ socket(address, port) ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.win-socket(ξ.address, ξ.port), ξ.posix-socket(ξ.address, ξ.port)+ ),+ htons(port) ↦ ⟦+ bts ↦ ξ.port.as-i16.as-bytes,+ φ ↦ ξ.bts.and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧)).left(8).or(+ ξ.bts.right(8).and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧))+ ).as-i16+ ⟧,+ as-input(recv) ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ ξ.ρ.ρ.ρ.recv(ξ.size).as-bytes,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ as-output(send) ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.send(ξ.buffer)), ξ.ρ.ρ.output-block+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ posix-socket(address, port) ↦ ⟦+ sd ↦ Φ̇.sys.posix(+ "socket",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.af-inet), Φ̇.sys.posix.sock-stream+ ),+ Φ̇.sys.posix.ipproto-tcp+ )+ ).code,+ inet-addr ↦ Φ̇.sys.posix(+ "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+ ).code,+ inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.posix.inaddr-none).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' posix syscall, reason: '%s'",+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.strerror.code)+ )+ ),+ ξ.inet-addr.as-i32+ ),+ sockaddr ↦ Φ̇.sys.posix.sockaddr-in(+ Φ̇.sys.posix.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+ ),+ scoped-socket(sockfd) ↦ ⟦+ as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+ as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+ send(buffer) ↦ ⟦+ buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+ sent ↦ Φ̇.sys.posix(+ "send",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+ ),+ 0+ )+ ).code,+ φ ↦ ξ.sent.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to send message through the socket '%d', reason: %s",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+ )+ )+ ),+ ξ.sent+ )+ ⟧,+ recv(size) ↦ ⟦+ received ↦ Φ̇.sys.posix(+ "recv",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+ )+ ).called,+ φ ↦ ξ.received.code.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to receive data from the socket '%d', reason: %s",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+ )+ )+ ),+ ξ.received.output+ )+ ⟧+ ⟧,+ strerror ↦ ⟦+ φ ↦ Φ̇.sys.posix(+ "strerror",+ Φ̇.tuple(+ Φ̇.tuple.empty, Φ̇.sys.posix("errno", Φ̇.tuple.empty).code+ )+ )+ ⟧,+ closed-socket(sockfd) ↦ ⟦+ closed ↦ Φ̇.sys.posix("close", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)).code,+ φ ↦ ξ.closed.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't close a posix socket '%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.strerror.code+ )+ )+ ),+ Φ̇.true+ )+ ⟧,+ safe-socket(scope) ↦ ⟦+ φ ↦ ξ.ρ.sd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't create a posix socket, reason: '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.strerror.code)+ )+ ),+ Φ̇.try(+ ξ.scope,+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.ρ.closed-socket(ξ.ρ.sd)+ )+ )+ ⟧,+ connect(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-276-10),+ auto-named-attr-at-276-10 ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ connected ↦ Φ̇.sys.posix(+ "connect",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ ξ.connected.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't connect to '%s:%d' on posix socket '%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.strerror.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+ )+ ⟧+ ⟧,+ listen(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-300-10),+ auto-named-attr-at-300-10 ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ bound ↦ Φ̇.sys.posix(+ "bind",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ listened ↦ Φ̇.sys.posix(+ "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+ ).code,+ φ ↦ ξ.bound.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't bind posix socket '%d' to '%s:%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+ ),+ ξ.sock.port+ ),+ ξ.sock.strerror.code+ )+ )+ ),+ ξ.listened.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to listen for connections to '%s:%d' on socket '%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.strerror.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-325-22)).as-bytes+ )+ ),+ auto-named-attr-at-325-22 ↦ ⟦+ φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+ accept(scope) ↦ ⟦+ sock ↦ ξ.ρ.ρ.sock,+ client-sockfd ↦ Φ̇.sys.posix(+ "accept",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ Φ̇.try(+ ξ.client-sockfd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to accept a connection on posix socket '%d', reason: %s",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.strerror.code+ )+ )+ ),+ Φ̇.dataized(+ ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+ ).as-bytes+ ),+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.sock.closed-socket(ξ.client-sockfd)+ )+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ win-socket(address, port) ↦ ⟦+ sd ↦ Φ̇.sys.win32(+ "socket",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.af-inet), Φ̇.sys.win32.sock-stream+ ),+ Φ̇.sys.win32.ipproto-tcp+ )+ ).code,+ inet-addr ↦ Φ̇.sys.win32(+ "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+ ).code,+ inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.win32.inaddr-none).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' win32 function call, WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.last-error.code+ )+ )+ ),+ ξ.inet-addr.as-i32+ ),+ sockaddr ↦ Φ̇.sys.win32.sockaddr-in(+ Φ̇.sys.win32.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+ ),+ scoped-socket(sockfd) ↦ ⟦+ as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+ as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+ send(buffer) ↦ ⟦+ buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+ sent ↦ Φ̇.sys.win32(+ "send",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+ ),+ 0+ )+ ).code,+ φ ↦ ξ.sent.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to send message through the socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+ )+ )+ ),+ ξ.sent+ )+ ⟧,+ recv(size) ↦ ⟦+ received ↦ Φ̇.sys.win32(+ "recv",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+ )+ ).called,+ φ ↦ ξ.received.code.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to receive data from the socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+ )+ )+ ),+ ξ.received.output+ )+ ⟧+ ⟧,+ last-error ↦ ⟦+ φ ↦ Φ̇.sys.win32("WSAGetLastError", Φ̇.tuple.empty)+ ⟧,+ closed-socket(sockfd) ↦ ⟦+ closed ↦ Φ̇.sys.win32(+ "closesocket", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)+ ).code,+ φ ↦ ξ.closed.eq(Φ̇.sys.win32.socket-error).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't close a win32 socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.last-error.code+ )+ )+ ),+ Φ̇.true+ )+ ⟧,+ safe-socket(scope) ↦ ⟦+ started-up ↦ Φ̇.sys.win32(+ "WSAStartup", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.winsock-version-2-2)+ ).code,+ cleaned-up ↦ Φ̇.sys.win32("WSACleanup", Φ̇.tuple.empty).code,+ φ ↦ ξ.started-up.eq(0).not.if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't initialize Winsock via 'WSAStartup' call, WSA error code: %d",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.started-up)+ )+ ),+ Φ̇.try(+ ξ.ρ.sd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't create a win32 socket, WSA error code: %d",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.last-error.code)+ )+ ),+ Φ̇.try(+ ξ.scope,+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.ρ.closed-socket(ξ.ρ.sd)+ )+ ),+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.cleaned-up.eq(Φ̇.sys.win32.socket-error).if(+ Φ̇.error("Couldn't cleanup Winsock resources"), Φ̇.true+ )+ )+ )+ ⟧,+ connect(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-485-10),+ auto-named-attr-at-485-10 ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ connected ↦ Φ̇.sys.win32(+ "connect",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ ξ.connected.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't connect to '%s:%d' on win32 socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.last-error.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+ )+ ⟧+ ⟧,+ listen(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-509-10),+ auto-named-attr-at-509-10 ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ bound ↦ Φ̇.sys.win32(+ "bind",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ listened ↦ Φ̇.sys.win32(+ "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+ ).code,+ φ ↦ ξ.bound.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't bind win32 socket '%d' to '%s:%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+ ),+ ξ.sock.port+ ),+ ξ.sock.last-error.code+ )+ )+ ),+ ξ.listened.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to listen for connections to '%s:%d' on socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.last-error.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-534-22)).as-bytes+ )+ ),+ auto-named-attr-at-534-22 ↦ ⟦+ φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+ accept(scope) ↦ ⟦+ sock ↦ ξ.ρ.ρ.sock,+ client-sockfd ↦ Φ̇.sys.win32(+ "accept",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ Φ̇.try(+ ξ.client-sockfd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to accept a connection on win32 socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.last-error.code+ )+ )+ ),+ Φ̇.dataized(+ ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+ ).as-bytes+ ),+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.sock.closed-socket(ξ.client-sockfd)+ )+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/number.phi view
@@ -0,0 +1,74 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ number(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-number ↦ ξ,+ neg ↦ ξ.times(-1),+ as-i32 ↦ ξ.as-i64.as-i32,+ as-i16 ↦ ξ.as-i32.as-i16,+ is-nan ↦ ξ.as-bytes.eq(Φ̇.nan.as-bytes),+ as-i64 ↦ ⟦+ λ ⤍ Lorg_eolang_number_as_i64+ ⟧,+ eq(x) ↦ ⟦+ x-as-bytes ↦ Φ̇.dataized(ξ.x).as-bytes,+ self-as-bytes ↦ ξ.ρ.as-bytes,+ pos-zero-as-bytes ↦ 0.as-bytes,+ neg-zero-as-bytes ↦ -0.as-bytes,+ φ ↦ ξ.ρ.is-nan.or(Φ̇.number(ξ.x-as-bytes).is-nan).if(+ Φ̇.false,+ ξ.x-as-bytes.eq(ξ.pos-zero-as-bytes).or(+ ξ.x-as-bytes.eq(ξ.neg-zero-as-bytes)+ ).and(+ ξ.self-as-bytes.eq(ξ.pos-zero-as-bytes).or(+ ξ.self-as-bytes.eq(ξ.neg-zero-as-bytes)+ )+ ).or(ξ.self-as-bytes.eq(ξ.x-as-bytes))+ )+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ 0.gt(ξ.ρ.minus(Φ̇.number(ξ.value)))+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ gt(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_gt+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ times(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_times+ ⟧,+ plus(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_plus+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.plus(Φ̇.number(ξ.value).neg)+ ⟧,+ div(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_div+ ⟧,+ floor ↦ ⟦+ λ ⤍ Lorg_eolang_number_floor+ ⟧,+ is-integer ↦ ⟦+ φ ↦ ξ.ρ.is-finite.and(ξ.ρ.eq(ξ.ρ.floor))+ ⟧,+ is-finite ↦ ⟦+ φ ↦ ξ.ρ.is-nan.not.and(+ ξ.ρ.eq(Φ̇.positive-infinity).or(ξ.ρ.eq(Φ̇.negative-infinity)).not+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/positive-infinity.phi view
@@ -0,0 +1,61 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ positive-infinity ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F0-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ Φ̇.negative-infinity,+ is-nan ↦ Φ̇.false,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert positive infinity to i64"),+ eq(x) ↦ ⟦+ φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.eq(ξ.x)+ ⟧,+ gt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.not+ ⟧,+ times(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+ Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.negative-infinity)+ )+ ⟧,+ plus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.negative-infinity)).if(+ Φ̇.nan, ξ.ρ+ )+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+ ⟧,+ div(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+ Φ̇.nan,+ ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+ Φ̇.negative-infinity, ξ.ρ+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/rust.phi view
@@ -0,0 +1,11 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ rust(code, portal, params) ↦ ⟦+ λ ⤍ Lorg_eolang_rust+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/seq.phi view
@@ -0,0 +1,17 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ seq(steps) ↦ ⟦+ φ ↦ ξ.steps.length.eq(0).if(Φ̇.true, ξ.loop(0)),+ max-len ↦ Φ̇.dataized(ξ.steps.length.minus(1)).as-bytes,+ loop(index) ↦ ⟦+ φ ↦ ξ.index.lt(ξ.ρ.max-len).and(+ Φ̇.dataized(ξ.ρ.steps.at(ξ.index)).as-bool.or(Φ̇.true)+ ).if(ξ.ρ.loop(ξ.index.plus(1)), ξ.ρ.steps.at(ξ.index))+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/string.phi view
@@ -0,0 +1,155 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ string(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ length ↦ ⟦+ size ↦ ξ.ρ.as-bytes.size,+ pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+ pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+ pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+ pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+ result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+ result-three ↦ ξ.pattern-two,+ result-four ↦ ξ.pattern-three,+ φ ↦ ξ.size.eq(0).if(0, ξ.rec-length(0, 0)),+ increase-length(index, char-size, len) ↦ ⟦+ φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+ )+ )+ ),+ ξ.ρ.rec-length(ξ.index.plus(ξ.char-size), ξ.len.plus(1))+ )+ ⟧,+ rec-length(index, accum) ↦ ⟦+ byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+ φ ↦ ξ.index.eq(ξ.ρ.size).if(+ ξ.accum,+ ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+ ξ.ρ.increase-length(ξ.index, 1, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+ ξ.ρ.increase-length(ξ.index, 2, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+ ξ.ρ.increase-length(ξ.index, 3, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+ ξ.ρ.increase-length(ξ.index, 4, ξ.accum),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Unknown byte format (%x), can't recognize character",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+ )+ )+ )+ )+ )+ )+ )+ ⟧+ ⟧,+ slice(start, len) ↦ ⟦+ start-bytes ↦ Φ̇.dataized(ξ.start).as-bytes,+ len-bytes ↦ Φ̇.dataized(ξ.len).as-bytes,+ num-start ↦ Φ̇.number(ξ.start-bytes),+ num-len ↦ Φ̇.number(ξ.len-bytes),+ size ↦ ξ.ρ.as-bytes.size,+ end ↦ ξ.num-start.plus(ξ.num-len),+ pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+ pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+ pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+ pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+ result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+ result-three ↦ ξ.pattern-two,+ result-four ↦ ξ.pattern-three,+ bts-start ↦ Φ̇.dataized(+ ξ.rec-index(+ 0,+ 0,+ ξ.num-start,+ Φ̇.txt.sprintf(+ "Start index (%d) is out of string bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+ )+ )+ ).as-bytes,+ bts-length ↦ ξ.rec-index(+ Φ̇.number(ξ.bts-start),+ 0,+ ξ.num-len,+ Φ̇.txt.sprintf(+ "Start index + length to slice (%d) is out of string bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start.plus(ξ.num-len))+ )+ ).minus(ξ.bts-start),+ φ ↦ ξ.num-start.lt(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Start index must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+ )+ ),+ ξ.num-len.lt(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Length to slice must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-len)+ )+ ),+ ξ.num-len.eq(0).if(+ "", Φ̇.string(ξ.ρ.as-bytes.slice(ξ.bts-start, ξ.bts-length))+ )+ )+ ),+ increase(index, char-size, accum, result, cause) ↦ ⟦+ φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+ )+ )+ ),+ ξ.ρ.rec-index(+ ξ.index.plus(ξ.char-size), ξ.accum.plus(1), ξ.result, ξ.cause+ )+ )+ ⟧,+ rec-index(index, accum, result, cause) ↦ ⟦+ byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+ φ ↦ ξ.accum.eq(ξ.result).if(+ ξ.index,+ ξ.index.eq(ξ.ρ.size).if(+ Φ̇.error(ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+ ξ.ρ.increase(ξ.index, 1, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+ ξ.ρ.increase(ξ.index, 2, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+ ξ.ρ.increase(ξ.index, 3, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+ ξ.ρ.increase(ξ.index, 4, ξ.accum, ξ.result, ξ.cause),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Unknown byte format (%x), can't recognize character",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+ )+ )+ )+ )+ )+ )+ )+ )+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/structs/bytes-as-array.phi view
@@ -0,0 +1,23 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ bytes-as-array(bts) ↦ ⟦+ bytes-size ↦ Φ̇.dataized(ξ.bts.size).as-bytes,+ φ ↦ ξ.slice-byte(Φ̇.tuple.empty, 0),+ slice-byte(tup, index) ↦ ⟦+ φ ↦ ξ.index.lt(ξ.ρ.bytes-size).if(+ ξ.ρ.slice-byte(+ ξ.tup.with(ξ.ρ.bts.slice(ξ.index, 1)), ξ.index.plus(1)+ ),+ ξ.tup+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/structs/hash-code-of.phi view
@@ -0,0 +1,30 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ hash-code-of(input) ↦ ⟦+ input-as-bytes ↦ Φ̇.dataized(ξ.input.as-bytes).as-bytes,+ size ↦ Φ̇.dataized(ξ.input-as-bytes.size).as-bytes,+ magic-number ↦ 31.as-i64,+ φ ↦ ξ.rec-hash-code(0, 0),+ rec-hash-code(acc, index) ↦ ⟦+ φ ↦ ξ.index.eq(ξ.ρ.size).if(+ ξ.acc.as-number,+ ξ.ρ.rec-hash-code(+ ξ.ρ.magic-number.times(ξ.acc).plus(+ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(+ ξ.ρ.input-as-bytes.slice(ξ.index, 1)+ ).as-i64+ ),+ ξ.index.plus(1)+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/structs/list.phi view
@@ -0,0 +1,194 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ list(origin) ↦ ⟦+ φ ↦ ξ.origin,+ is-empty ↦ ⟦+ φ ↦ 0.eq(ξ.ρ.origin.length)+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(ξ.ρ.origin.with(ξ.x))+ ⟧,+ withi(index, item) ↦ ⟦+ φ ↦ ξ.ρ.head(ξ.index).with(ξ.item).concat(+ ξ.ρ.tail(ξ.ρ.origin.length.minus(ξ.index))+ )+ ⟧,+ reducedi(start, func) ↦ ⟦+ origin-len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ φ ↦ 0.eq(ξ.origin-len).if(ξ.start, ξ.rec-reduced(ξ.start, 0.as-bytes)),+ rec-reduced(accum, index) ↦ ⟦+ idx-as-number ↦ ξ.index.as-number,+ next-index ↦ Φ̇.dataized(1.plus(ξ.idx-as-number)).as-bytes,+ φ ↦ ξ.next-index.eq(ξ.ρ.origin-len).if(+ ξ.accumulated, ξ.ρ.rec-reduced(ξ.accumulated, ξ.next-index)+ ),+ accumulated ↦ ξ.ρ.func(+ ξ.accum, ξ.ρ.ρ.origin.at(ξ.idx-as-number), ξ.idx-as-number+ )+ ⟧+ ⟧,+ reduced(start, func) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(ξ.start, ξ.auto-named-attr-at-83-42),+ auto-named-attr-at-83-42(accum, item, idx) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.accum, ξ.item)+ ⟧+ ⟧,+ mappedi(func) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-93-24)+ ),+ auto-named-attr-at-93-24(accum, item, idx) ↦ ⟦+ φ ↦ ξ.accum.with(ξ.ρ.func(ξ.item, ξ.idx))+ ⟧+ ⟧,+ mapped(func) ↦ ⟦+ φ ↦ ξ.ρ.mappedi(ξ.auto-named-attr-at-103-30),+ auto-named-attr-at-103-30(item, idx) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.item)+ ⟧+ ⟧,+ eachi(func) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-113-22),+ auto-named-attr-at-113-22(acc, item, index) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.acc), ξ.ρ.func(ξ.item, ξ.index)+ )+ )+ ⟧+ ⟧,+ each(func) ↦ ⟦+ φ ↦ ξ.ρ.eachi(ξ.auto-named-attr-at-124-32),+ auto-named-attr-at-124-32(item, index) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.item)+ ⟧+ ⟧,+ withouti(i) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-131-24)+ ),+ auto-named-attr-at-131-24(accum, item, idx) ↦ ⟦+ φ ↦ ξ.ρ.i.eq(ξ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+ ⟧+ ⟧,+ without(element) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(+ ξ.ρ.reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-142-20)+ ),+ auto-named-attr-at-142-20(accum, item) ↦ ⟦+ φ ↦ ξ.ρ.element.eq(ξ.item).if(ξ.accum, ξ.accum.with(ξ.item))+ ⟧+ ⟧,+ eq(other) ↦ ⟦+ φ ↦ ξ.ρ.origin.length.eq(ξ.other.length).and(+ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-157-24)+ ),+ auto-named-attr-at-157-24(accum, item, idx) ↦ ⟦+ φ ↦ ξ.accum.and(ξ.item.eq(ξ.ρ.other.at(ξ.idx)))+ ⟧+ ⟧,+ concat(passed) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(ξ.passed).reduced(+ ξ.ρ,+ ⟦+ φ ↦ ξ.accum.with(ξ.item),+ accum ↦ ∅,+ item ↦ ∅+ ⟧+ )+ ⟧,+ index-of(wanted) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-177-24),+ auto-named-attr-at-177-24(accum, item, index) ↦ ⟦+ φ ↦ -1.eq(ξ.accum).and(ξ.item.eq(ξ.ρ.wanted)).if(ξ.index, ξ.accum)+ ⟧+ ⟧,+ last-index-of(wanted) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-190-24),+ auto-named-attr-at-190-24(accum, item, index) ↦ ⟦+ φ ↦ ξ.item.eq(ξ.ρ.wanted).if(ξ.index, ξ.accum)+ ⟧+ ⟧,+ contains(element) ↦ ⟦+ φ ↦ -1.eq(ξ.ρ.index-of(ξ.element)).not+ ⟧,+ sorted ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ filteredi(func) ↦ ⟦+ origin-length ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ φ ↦ ξ.ρ.ρ.list(ξ.rec-filtered(0.as-bytes, Φ̇.tuple.empty)),+ rec-filtered(idx-as-bytes, accum) ↦ ⟦+ original ↦ ξ.ρ.ρ.origin,+ index ↦ ξ.idx-as-bytes.as-number,+ item ↦ ξ.ρ.ρ.origin.at(ξ.index),+ φ ↦ ξ.idx-as-bytes.eq(ξ.ρ.origin-length).if(+ ξ.accum,+ ξ.ρ.rec-filtered(+ 1.plus(ξ.index).as-bytes,+ ξ.ρ.func(ξ.item, ξ.index).if(ξ.accum.with(ξ.item), ξ.accum)+ )+ )+ ⟧+ ⟧,+ filtered(func) ↦ ⟦+ φ ↦ ξ.ρ.filteredi(ξ.auto-named-attr-at-243-32),+ auto-named-attr-at-243-32(item, index) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.item)+ ⟧+ ⟧,+ head(index) ↦ ⟦+ idx ↦ Φ̇.dataized(ξ.index).as-bytes,+ φ ↦ Φ̇.switch(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, 0.eq(ξ.idx)), ξ.ρ.ρ.list(Φ̇.tuple.empty)+ )+ ),+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, 0.gt(ξ.idx)), ξ.ρ.tail(ξ.index.as-number.neg)+ )+ ),+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin.length.lte(ξ.idx)), ξ.ρ+ )+ ),+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.true),+ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-264-32)+ )+ )+ )+ ),+ auto-named-attr-at-264-32(accum, item, index) ↦ ⟦+ φ ↦ ξ.index.gte(ξ.ρ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+ ⟧+ ⟧,+ tail(index) ↦ ⟦+ idx ↦ Φ̇.dataized(ξ.index).as-bytes,+ start ↦ Φ̇.dataized(ξ.ρ.origin.length.minus(ξ.idx.as-number)).as-bytes,+ φ ↦ 0.gt(ξ.start).if(+ ξ.ρ,+ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-280-26)+ )+ ),+ auto-named-attr-at-280-26(accum, item, idx) ↦ ⟦+ φ ↦ ξ.idx.gte(ξ.ρ.start).if(ξ.accum.with(ξ.item), ξ.accum)+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/structs/map.phi view
@@ -0,0 +1,122 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ map(pairs) ↦ ⟦+ φ ↦ ξ.auto-named-attr-at-37-6.initialized,+ entry(key, value) ↦ ⟦⟧,+ initialized(entries) ↦ ⟦+ initialized ↦ ξ,+ size ↦ ξ.entries.length,+ keys ↦ ⟦+ φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+ ⟦+ φ ↦ ξ.entry.key,+ entry ↦ ∅+ ⟧+ )+ ⟧,+ values ↦ ⟦+ φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+ ⟦+ φ ↦ ξ.entry.value,+ entry ↦ ∅+ ⟧+ )+ ⟧,+ has(key) ↦ ⟦+ φ ↦ ξ.ρ.found(ξ.key).exists+ ⟧,+ found(key) ↦ ⟦+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+ φ ↦ ξ.ρ.size.eq(0).if(ξ.not-found, ξ.rec-key-search(ξ.not-found, 0)),+ rec-key-search(found, index) ↦ ⟦+ entry ↦ ξ.ρ.ρ.entries.at(ξ.index),+ φ ↦ ξ.found.exists.or(ξ.ρ.ρ.size.eq(ξ.index)).if(+ ξ.found,+ ξ.ρ.rec-key-search(+ ξ.ρ.hash.eq(ξ.entry.hash).if(+ ξ.auto-named-attr-at-133-54, ξ.found+ ),+ ξ.index.plus(1)+ )+ ),+ auto-named-attr-at-133-54 ↦ ⟦+ exists ↦ Φ̇.true,+ get ↦ ξ.ρ.entry.value+ ⟧+ ⟧,+ not-found ↦ ⟦+ exists ↦ Φ̇.false,+ get ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "Object by hash code %d from given key does not exists",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.hash)+ )+ )+ ⟧+ ⟧,+ with(key, value) ↦ ⟦+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+ φ ↦ ξ.ρ.ρ.ρ.map.initialized(+ Φ̇.structs.list(ξ.ρ.entries).filtered(+ ξ.auto-named-attr-at-153-50+ ).origin.with(ξ.auto-named-attr-at-154-12)+ ),+ auto-named-attr-at-153-50(entry) ↦ ⟦+ φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+ ⟧,+ auto-named-attr-at-154-12 ↦ ⟦+ key ↦ ξ.ρ.key,+ value ↦ ξ.ρ.value,+ hash ↦ ξ.ρ.hash+ ⟧+ ⟧,+ without(key) ↦ ⟦+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+ φ ↦ ξ.ρ.ρ.ρ.map.initialized(+ Φ̇.structs.list(ξ.ρ.entries).filtered(+ ξ.auto-named-attr-at-167-48+ ).origin+ ),+ auto-named-attr-at-167-48(entry) ↦ ⟦+ φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+ ⟧+ ⟧+ ⟧,+ auto-named-attr-at-37-6 ↦ ⟦+ pairs-size ↦ Φ̇.dataized(ξ.ρ.pairs.length).as-bytes,+ φ ↦ ξ.ρ.initialized(+ ξ.pairs-size.eq(0).if(+ Φ̇.tuple.empty,+ ξ.rec-rebuild(Φ̇.tuple.empty, 0, Φ̇.structs.list(Φ̇.tuple.empty))+ )+ ),+ rec-rebuild(accum, index, hashes) ↦ ⟦+ entry ↦ ξ.ρ.ρ.pairs.at(ξ.index),+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.entry.key)).as-bytes,+ φ ↦ ξ.ρ.pairs-size.eq(ξ.index).if(+ ξ.accum,+ ξ.ρ.rec-rebuild(+ ξ.hashes.contains(ξ.hash).if(+ ξ.accum, ξ.accum.with(ξ.auto-named-attr-at-59-18)+ ),+ ξ.index.plus(1),+ ξ.hashes.with(ξ.hash)+ )+ ),+ auto-named-attr-at-59-18 ↦ ⟦+ key ↦ ξ.ρ.entry.key,+ value ↦ ξ.ρ.entry.value,+ hash ↦ ξ.ρ.hash+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/structs/range-of-ints.phi view
@@ -0,0 +1,26 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ range-of-ints(start, end) ↦ ⟦+ φ ↦ 0.eq(ξ.start).or(1.eq(ξ.start.div(ξ.start))).and(+ 0.eq(ξ.end).or(1.eq(ξ.end.div(ξ.end)))+ ).if(+ Φ̇.structs.range(ξ.auto-named-attr-at-42-8, ξ.end),+ Φ̇.error("Some of the arguments are not integers")+ ),+ auto-named-attr-at-42-8 ↦ ⟦+ build(num) ↦ ⟦+ φ ↦ ξ.num,+ next ↦ ξ.ρ.build(1.plus(ξ.φ))+ ⟧,+ φ ↦ ξ.build(ξ.ρ.start)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/structs/range.phi view
@@ -0,0 +1,23 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ range(start, end) ↦ ⟦+ φ ↦ Φ̇.structs.list(+ ξ.start.lt(ξ.end).if(+ ξ.appended(Φ̇.tuple(Φ̇.tuple.empty, ξ.start), ξ.start.next), Φ̇.tuple.empty+ )+ ),+ appended(acc, current) ↦ ⟦+ φ ↦ ξ.current.lt(ξ.ρ.end).if(+ ξ.ρ.appended(ξ.acc.with(ξ.current), ξ.current.next), ξ.acc+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/structs/set.phi view
@@ -0,0 +1,37 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ set(lst) ↦ ⟦+ φ ↦ ξ.initialized(+ Φ̇.structs.map(+ Φ̇.structs.list(ξ.lst).mapped(+ ⟦+ φ ↦ Φ̇.structs.map.entry(ξ.item, Φ̇.true),+ item ↦ ∅+ ⟧+ ).origin+ )+ ).initialized,+ initialized(map) ↦ ⟦+ initialized ↦ ξ,+ φ ↦ ξ.map.keys,+ size ↦ ξ.map.size,+ with(item) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.with(ξ.item, Φ̇.true))+ ⟧,+ without(item) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.without(ξ.item))+ ⟧,+ has(item) ↦ ⟦+ φ ↦ ξ.ρ.map.has(ξ.item)+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/switch.phi view
@@ -0,0 +1,18 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ switch(cases) ↦ ⟦+ len ↦ Φ̇.dataized(ξ.cases.length).as-bytes,+ φ ↦ ξ.len.eq(0).if(Φ̇.error("switch cases are empty"), ξ.case-at(0)),+ case-at(index) ↦ ⟦+ case ↦ ξ.ρ.cases.at(ξ.index),+ φ ↦ ξ.index.eq(ξ.ρ.len).if(+ Φ̇.true, ξ.case.at(0).if(ξ.case.at(1), ξ.ρ.case-at(ξ.index.plus(1)))+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/sys/getenv.phi view
@@ -0,0 +1,19 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ getenv(name) ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(+ Φ̇.sys.win32(+ "GetEnvironmentVariable", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.name), 512)+ ),+ Φ̇.sys.posix("getenv", Φ̇.tuple(Φ̇.tuple.empty, ξ.name))+ ).output+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/sys/line-separator.phi view
@@ -0,0 +1,14 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ line-separator ↦ ⟦+ φ ↦ Φ̇.string(Φ̇.sys.os.is-windows.if("\r\n", "\n").as-bytes)+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/sys/os.phi view
@@ -0,0 +1,23 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ os ↦ ⟦+ φ ↦ ξ.name,+ is-windows ↦ ⟦+ os-name ↦ Φ̇.dataized(ξ.ρ.name).as-bytes,+ φ ↦ ξ.os-name.size.gt(6).and(ξ.os-name.slice(0, 7).eq("Windows"))+ ⟧,+ is-linux ↦ Φ̇.txt.regex("/linux/i").matches(ξ.name).as-bool,+ is-macos ↦ Φ̇.txt.regex("/mac/i").matches(ξ.name).as-bool,+ name ↦ ⟦+ λ ⤍ Lorg_eolang_sys_os_name+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/sys/posix.phi view
@@ -0,0 +1,35 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ posix(name, args) ↦ ⟦+ stdin-fileno ↦ 0,+ stdout-fileno ↦ 1,+ af-inet ↦ 2,+ sock-stream ↦ 1,+ ipproto-tcp ↦ 6,+ inaddr-none ↦ -1,+ φ ↦ ⟦+ λ ⤍ Lorg_eolang_sys_posix_φ+ ⟧,+ return(code, output) ↦ ⟦+ called ↦ ξ,+ φ ↦ ξ.output+ ⟧,+ timeval(tv-sec, tv-usec) ↦ ⟦+ self ↦ ξ+ ⟧,+ sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+ sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+ size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+ ξ.sin-zero.size+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/sys/win32.phi view
@@ -0,0 +1,38 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ win32(name, args) ↦ ⟦+ std-input-handle ↦ -10,+ std-output-handle ↦ -11,+ af-inet ↦ 2,+ sock-stream ↦ 1,+ ipproto-tcp ↦ 6,+ invalid-socket ↦ -1,+ socket-error ↦ -1,+ inaddr-none ↦ -1,+ winsock-version-2-2 ↦ Φ̇.bytes(⟦ Δ ⤍ 02-02 ⟧),+ φ ↦ ⟦+ λ ⤍ Lorg_eolang_sys_win32_φ+ ⟧,+ return(code, output) ↦ ⟦+ called ↦ ξ,+ φ ↦ ξ.output+ ⟧,+ system-time(year, month, day, day-of-week, hour, minute, second, milliseconds) ↦ ⟦+ self ↦ ξ+ ⟧,+ sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+ sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+ size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+ ξ.sin-zero.size+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/true.phi view
@@ -0,0 +1,21 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ true ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧),+ not ↦ Φ̇.false,+ if(left, right) ↦ ⟦+ φ ↦ ξ.left+ ⟧,+ and(x) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+ ⟧,+ or(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/try.phi view
@@ -0,0 +1,11 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ try(main, catch, finally) ↦ ⟦+ λ ⤍ Lorg_eolang_try+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/tuple.phi view
@@ -0,0 +1,39 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ tuple(head, tail) ↦ ⟦+ empty ↦ ⟦+ length ↦ 0,+ at(i) ↦ ⟦+ φ ↦ Φ̇.error("Can't get an object from the empty tuple")+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.tuple(ξ.ρ, ξ.x)+ ⟧+ ⟧,+ length ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.head.length.plus(1)).as-bytes,+ φ ↦ Φ̇.number(ξ.len)+ ⟧,+ at(i) ↦ ⟦+ len ↦ ξ.ρ.length,+ idx ↦ Φ̇.dataized(ξ.i).as-bytes,+ index ↦ Φ̇.dataized(0.gt(ξ.idx).if(ξ.len.plus(ξ.idx), ξ.idx)).as-bytes,+ φ ↦ 0.gt(ξ.index).or(ξ.len.lte(ξ.index)).if(+ Φ̇.error("Given index is out of tuple bounds"), ξ.at-fast(ξ.ρ, ξ.len)+ ),+ at-fast(tup, len) ↦ ⟦+ φ ↦ ξ.len.plus(-1).gt(ξ.ρ.index).if(+ ξ.ρ.at-fast(ξ.tup.head, ξ.len.plus(-1)), ξ.tup.tail+ )+ ⟧+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.tuple(ξ.ρ, ξ.x)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/txt/regex.phi view
@@ -0,0 +1,56 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ txt ↦ ⟦+ regex(expression) ↦ ⟦+ φ ↦ ξ.compiled,+ compiled ↦ ⟦+ λ ⤍ Lorg_eolang_txt_regex_compiled+ ⟧,+ pattern(serialized) ↦ ⟦+ matches(txt) ↦ ⟦+ φ ↦ ξ.ρ.match(ξ.txt).next.exists+ ⟧,+ match(txt) ↦ ⟦+ next ↦ ξ.matched-from-index(1, 0).matched,+ matched-from-index(position, start) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_regex_pattern_match_matched_from_index+ ⟧,+ matched(position, start, from, to, groups) ↦ ⟦+ matched ↦ ξ,+ groups-count ↦ ξ.groups.length,+ exists ↦ ξ.start.gte(0),+ next ↦ ξ.exists.if(+ ξ.ρ.matched-from-index(ξ.position.plus(1), ξ.to).matched,+ Φ̇.error("Matched block does not exist, can't get next")+ ),+ text ↦ ξ.exists.if(+ ξ.group(0), Φ̇.error("Matched block does not exist, can't get text")+ ),+ group(index) ↦ ⟦+ φ ↦ ξ.ρ.groups.at(ξ.index)+ ⟧+ ⟧,+ not-matched(position) ↦ ⟦+ φ ↦ ξ.ρ.matched(+ ξ.position,+ -1,+ Φ̇.error(+ "Matched block does not exist, can't get 'from' position"+ ),+ Φ̇.error(+ "Matched block does not exist, can't get 'to' position"+ ),+ Φ̇.error("Matched block does not exist, can't get groups")+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/txt/sprintf.phi view
@@ -0,0 +1,14 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ txt ↦ ⟦+ sprintf(format, args) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_sprintf+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/txt/sscanf.phi view
@@ -0,0 +1,14 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ txt ↦ ⟦+ sscanf(format, read) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_sscanf+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/txt/text.phi view
@@ -0,0 +1,275 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ txt ↦ ⟦+ text(origin) ↦ ⟦+ φ ↦ ξ.origin,+ is-alphanumeric ↦ Φ̇.txt.regex("/^[A-Za-z0-9]+$/").matches(ξ.origin),+ is-alpha ↦ Φ̇.txt.regex("/^[a-zA-Z]+$/").matches(ξ.origin),+ is-ascii ↦ Φ̇.txt.regex("/^[\\x00-\\x7F]*$/").matches(ξ.origin),+ slice(start, len) ↦ ⟦+ φ ↦ ξ.ρ.ρ.text(ξ.ρ.origin.slice(ξ.start, ξ.len))+ ⟧,+ trimmed-left ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ idx ↦ Φ̇.dataized(ξ.first-non-space-index(0)).as-bytes,+ φ ↦ 0.eq(ξ.len).if(+ ξ.ρ, ξ.ρ.slice(ξ.idx, Φ̇.number(ξ.len).minus(Φ̇.number(ξ.idx)))+ ),+ first-non-space-index(index) ↦ ⟦+ char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+ φ ↦ ξ.ρ.len.eq(ξ.index).if(+ ξ.index,+ " ".eq(ξ.char).if(+ ξ.ρ.first-non-space-index(ξ.index.plus(1)), ξ.index+ )+ )+ ⟧+ ⟧,+ trimmed-right ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ φ ↦ 0.eq(ξ.len).if(+ ξ.ρ, ξ.ρ.slice(0, ξ.first-non-space-index(Φ̇.number(ξ.len).plus(-1)))+ ),+ first-non-space-index(index) ↦ ⟦+ char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+ φ ↦ -1.eq(ξ.index).if(+ 0,+ " ".eq(ξ.char).if(+ ξ.ρ.first-non-space-index(ξ.index.plus(-1)), ξ.index.plus(1)+ )+ )+ ⟧+ ⟧,+ trimmed ↦ ⟦+ φ ↦ 0.eq(ξ.ρ.length).if(ξ.ρ, ξ.ρ.trimmed-left.trimmed-right)+ ⟧,+ joined(items) ↦ ⟦+ delimiter ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+ first ↦ ξ.items.at(0),+ len ↦ Φ̇.dataized(ξ.items.length).as-bytes,+ not-empty ↦ Φ̇.dataized(+ 1.eq(ξ.len).if(+ ξ.first, ξ.first.as-bytes.concat(ξ.with-delimiter("".as-bytes, 1))+ )+ ).as-bytes,+ φ ↦ ξ.ρ.ρ.text(0.eq(ξ.len).if("", Φ̇.string(ξ.not-empty))),+ with-delimiter(acc, index) ↦ ⟦+ φ ↦ ξ.ρ.len.eq(ξ.index).if(+ ξ.acc,+ ξ.ρ.with-delimiter(+ ξ.acc.concat(ξ.ρ.delimiter.concat(ξ.ρ.items.at(ξ.index))), ξ.index.plus(1)+ )+ )+ ⟧+ ⟧,+ repeated(times) ↦ ⟦+ bts ↦ Φ̇.dataized(ξ.ρ.origin.as-bytes).as-bytes,+ amount ↦ Φ̇.dataized(ξ.times).as-bytes,+ φ ↦ 0.gt(ξ.amount).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't repeat text %d times", Φ̇.tuple(Φ̇.tuple.empty, ξ.amount)+ )+ ),+ ξ.ρ.ρ.text(+ 0.eq(ξ.amount).if("", Φ̇.string(ξ.rec-repeated(ξ.bts, 1)))+ )+ ),+ rec-repeated(accum, index) ↦ ⟦+ φ ↦ ξ.ρ.amount.eq(ξ.index).if(+ ξ.accum, ξ.ρ.rec-repeated(ξ.accum.concat(ξ.ρ.bts), ξ.index.plus(1))+ )+ ⟧+ ⟧,+ contains(substring) ↦ ⟦+ φ ↦ -1.eq(ξ.ρ.index-of(ξ.substring)).not+ ⟧,+ ends-with(substring) ↦ ⟦+ substr ↦ Φ̇.dataized(ξ.substring).as-bytes,+ φ ↦ ξ.ρ.index-of(ξ.substr).eq(ξ.ρ.length.minus(ξ.substr.size))+ ⟧,+ starts-with(substring) ↦ ⟦+ φ ↦ 0.eq(ξ.ρ.index-of(ξ.substring))+ ⟧,+ index-of(substring) ↦ ⟦+ self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+ substr ↦ Φ̇.string(ξ.substr-as-bytes),+ sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+ end ↦ Φ̇.dataized(Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))).as-bytes,+ φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+ ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+ ).if(-1, ξ.rec-index-of-substr(0)),+ rec-index-of-substr(idx) ↦ ⟦+ φ ↦ ξ.ρ.end.eq(ξ.idx).if(+ ξ.contains.if(ξ.idx, -1),+ ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(1)))+ ),+ contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+ ⟧,+ substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+ ⟧,+ last-index-of(substring) ↦ ⟦+ self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+ substr ↦ Φ̇.string(ξ.substr-as-bytes),+ sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+ φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+ ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+ ).if(+ -1,+ ξ.rec-index-of-substr(+ Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))+ )+ ),+ rec-index-of-substr(idx) ↦ ⟦+ φ ↦ 0.eq(ξ.idx).if(+ ξ.contains.if(ξ.idx, -1),+ ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(-1)))+ ),+ contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+ ⟧,+ substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+ ⟧,+ up-cased ↦ ⟦+ ascii-z ↦ Φ̇.dataized(ξ.ascii("z")).as-bytes,+ ascii-a ↦ Φ̇.dataized(ξ.ascii("a")).as-bytes,+ distance ↦ Φ̇.number(ξ.ascii-a).minus(ξ.ascii("A")),+ φ ↦ ξ.ρ.ρ.text(+ Φ̇.string(+ Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+ Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-258-22+ )+ )+ ),+ ascii(char) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(ξ.char.as-bytes).as-i64.as-number+ ⟧,+ auto-named-attr-at-258-22(accum, byte) ↦ ⟦+ ascii-bte ↦ ξ.ρ.ascii(ξ.byte),+ φ ↦ ξ.accum.concat(+ ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+ ξ.ascii-bte.minus(ξ.ρ.distance).as-i64.as-bytes.slice(7, 1), ξ.byte+ )+ )+ ⟧+ ⟧,+ low-cased ↦ ⟦+ ascii-z ↦ ξ.ρ.up-cased.ascii("Z"),+ ascii-a ↦ ξ.ρ.up-cased.ascii("A"),+ φ ↦ ξ.ρ.ρ.text(+ Φ̇.string(+ Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+ Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-291-22+ )+ )+ ),+ auto-named-attr-at-291-22(accum, byte) ↦ ⟦+ ascii-bte ↦ ξ.ρ.ρ.up-cased.ascii(ξ.byte),+ φ ↦ ξ.accum.concat(+ ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+ ξ.ascii-bte.plus(ξ.ρ.ρ.up-cased.distance).as-i64.as-bytes.slice(+ 7, 1+ ),+ ξ.byte+ )+ )+ ⟧+ ⟧,+ at(i) ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.length).as-bytes,+ idx ↦ Φ̇.dataized(ξ.i).as-bytes,+ index ↦ Φ̇.dataized(+ 0.gt(ξ.idx).if(Φ̇.number(ξ.len).plus(ξ.idx), ξ.idx)+ ).as-bytes,+ φ ↦ 0.gt(ξ.index).or(Φ̇.number(ξ.index).gte(ξ.len)).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Given index %d is out of text bounds", Φ̇.tuple(Φ̇.tuple.empty, ξ.index)+ )+ ),+ ξ.ρ.slice(ξ.index, 1)+ )+ ⟧,+ replaced(target, replacement) ↦ ⟦+ self-as-bytes ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+ reinit ↦ Φ̇.string(ξ.self-as-bytes),+ matched ↦ ξ.target.match(ξ.reinit).next,+ φ ↦ ξ.matched.exists.not.if(+ Φ̇.txt.text(ξ.reinit),+ Φ̇.txt.text(ξ.rec-replaced(ξ.matched, "", ξ.matched.start))+ ),+ rec-replaced(block, accum, start) ↦ ⟦+ φ ↦ ξ.block.exists.if(+ ξ.ρ.rec-replaced(+ ξ.block.next,+ ξ.accum.concat(+ ξ.ρ.reinit.slice(ξ.start, ξ.block.from.minus(ξ.start))+ ).concat(ξ.ρ.replacement),+ ξ.block.to+ ),+ Φ̇.string(+ ξ.accum.concat(+ ξ.ρ.reinit.slice(ξ.start, ξ.ρ.reinit.length.minus(ξ.start))+ )+ )+ )+ ⟧+ ⟧,+ as-number ↦ ⟦+ scanned ↦ Φ̇.txt.sscanf("%f", ξ.ρ.origin),+ φ ↦ ξ.scanned.length.eq(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert text %s to number", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin)+ )+ ),+ ξ.scanned.tail+ )+ ⟧,+ split(delimiter) ↦ ⟦+ delim ↦ Φ̇.dataized(ξ.delimiter).as-bytes,+ self-as-bytes ↦ ξ.ρ.origin.as-bytes,+ len ↦ Φ̇.dataized(ξ.self-as-bytes.size).as-bytes,+ φ ↦ ξ.len.eq(0).if(Φ̇.tuple.empty, ξ.rec-split(Φ̇.tuple.empty, 0, 0)),+ rec-split(accum, start, current) ↦ ⟦+ φ ↦ ξ.ρ.len.eq(ξ.current).if(+ ξ.with-substr,+ ξ.ρ.delim.eq(ξ.ρ.self-as-bytes.slice(ξ.current, 1)).if(+ ξ.ρ.rec-split(+ ξ.with-substr, ξ.current.plus(1), ξ.current.plus(1)+ ),+ ξ.ρ.rec-split(ξ.accum, ξ.start, ξ.current.plus(1))+ )+ ),+ with-substr ↦ ξ.accum.with(+ Φ̇.string(+ ξ.ρ.self-as-bytes.slice(ξ.start, ξ.current.minus(ξ.start))+ )+ )+ ⟧+ ⟧,+ chained(others) ↦ ⟦+ φ ↦ 0.eq(ξ.others.length).if(+ ξ.ρ,+ ξ.ρ.ρ.text(+ Φ̇.string(+ Φ̇.structs.list(ξ.others).reduced(+ ξ.ρ.origin.as-bytes,+ ⟦+ φ ↦ ξ.accum.concat(ξ.str.as-bytes),+ accum ↦ ∅,+ str ↦ ∅+ ⟧+ )+ )+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.1/org/eolang/while.phi view
@@ -0,0 +1,22 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ while(condition, body) ↦ ⟦+ φ ↦ ξ.condition(0).as-bool.if(ξ.loop(0), Φ̇.false),+ loop(index) ↦ ⟦+ current ↦ ξ.ρ.body(ξ.index),+ φ ↦ ξ.ρ.condition(ξ.index.plus(1)).as-bool.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.current), ξ.ρ.loop(ξ.index.plus(1))+ )+ ),+ ξ.current+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/dependencies.md view
@@ -0,0 +1,3920 @@+# Dependencies++## [org/eolang/as-phi.phi](./org/eolang/as-phi.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ as-phi(x) ↦ ⟦+ λ ⤍ Lorg_eolang_as_phi+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/bytes.phi](./org/eolang/bytes.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ bytes(data) ↦ ⟦+ φ ↦ ξ.data,+ as-bytes ↦ ξ,+ as-bool ↦ ξ.eq(Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)),+ as-number ↦ ⟦+ φ ↦ ξ.ρ.eq(Φ̇.nan.as-bytes).if(+ Φ̇.nan,+ ξ.ρ.eq(Φ̇.positive-infinity.as-bytes).if(+ Φ̇.positive-infinity,+ ξ.ρ.eq(Φ̇.negative-infinity.as-bytes).if(+ Φ̇.negative-infinity,+ ξ.ρ.size.eq(8).if(+ Φ̇.number(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 8 length bytes to a number, bytes are %x", Φ̇.tuple.empty+ )+ )+ )+ )+ )+ )+ ⟧,+ eq(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_eq+ ⟧,+ size ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_size+ ⟧,+ slice(start, len) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_slice+ ⟧,+ as-i64 ↦ ⟦+ φ ↦ ξ.ρ.size.eq(8).if(+ Φ̇.i64(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 8 length bytes to i64, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ as-i32 ↦ ⟦+ φ ↦ ξ.ρ.size.eq(4).if(+ Φ̇.i32(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 4 length bytes to i32, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ as-i16 ↦ ⟦+ φ ↦ ξ.ρ.size.eq(2).if(+ Φ̇.i16(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 2 length bytes to i16, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ and(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_and+ ⟧,+ or(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_or+ ⟧,+ xor(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_xor+ ⟧,+ not ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_not+ ⟧,+ left(x) ↦ ⟦+ φ ↦ ξ.ρ.right(ξ.x.neg)+ ⟧,+ right(x) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_right+ ⟧,+ concat(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_concat+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/cti.phi](./org/eolang/cti.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ cti(delegate, level, message) ↦ ⟦+ φ ↦ ξ.delegate+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/dataized.phi](./org/eolang/dataized.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ dataized(target) ↦ ⟦+ φ ↦ Φ̇.try(+ ξ.target,+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)+ )+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/error.phi](./org/eolang/error.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ error(message) ↦ ⟦+ λ ⤍ Lorg_eolang_error+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/false.phi](./org/eolang/false.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ false ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ not ↦ Φ̇.true,+ if(left, right) ↦ ⟦+ φ ↦ ξ.right+ ⟧,+ and(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ or(x) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/fs/dir.phi](./org/eolang/fs/dir.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ fs ↦ ⟦+ dir(file) ↦ ⟦+ φ ↦ ξ.file,+ is-directory ↦ Φ̇.true,+ made ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.mkdir), ξ.ρ))+ ),+ mkdir ↦ ⟦+ λ ⤍ Lorg_eolang_fs_dir_made_mkdir+ ⟧+ ⟧,+ walk(glob) ↦ ⟦+ λ ⤍ Lorg_eolang_fs_dir_walk+ ⟧,+ deleted ↦ ⟦+ walked ↦ ξ.ρ.walk("**").at.ρ,+ len ↦ Φ̇.dataized(ξ.walked.length).as-bytes,+ φ ↦ ξ.ρ.exists.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.rec-delete(ξ.walked, 0)), ξ.ρ+ )+ ),+ ξ.ρ+ ),+ rec-delete(tup, index) ↦ ⟦+ φ ↦ ξ.ρ.len.eq(ξ.index).if(+ Φ̇.true,+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.tup.tail.deleted.exists),+ ξ.ρ.rec-delete(ξ.tup.head, ξ.index.plus(1))+ )+ )+ )+ ⟧+ ⟧,+ tmpfile ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ Φ̇.fs.file(Φ̇.string(ξ.touch.as-bytes)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Directory %s does not exist, can't create temporary file",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+ )+ )+ ),+ touch ↦ ⟦+ λ ⤍ Lorg_eolang_fs_dir_tmpfile_touch+ ⟧+ ⟧,+ open(mode, scope) ↦ ⟦+ φ ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "The file %s is a directory, can't open for I/O operations",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/fs/file.phi](./org/eolang/fs/file.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ fs ↦ ⟦+ file(path) ↦ ⟦+ φ ↦ ξ.path,+ is-directory ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_is_directory+ ⟧,+ exists ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_exists+ ⟧,+ touched ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.touch), ξ.ρ))+ ),+ touch ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_touched_touch+ ⟧+ ⟧,+ deleted ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.delete), ξ.ρ)), ξ.ρ+ ),+ delete ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_deleted_delete+ ⟧+ ⟧,+ size ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_size+ ⟧,+ moved(target) ↦ ⟦+ φ ↦ Φ̇.fs.file(Φ̇.string(ξ.move.as-bytes)),+ move ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_moved_move+ ⟧+ ⟧,+ as-path ↦ ⟦+ φ ↦ Φ̇.fs.path(ξ.ρ.path).determined+ ⟧,+ open(mode, scope) ↦ ⟦+ access ↦ Φ̇.dataized(ξ.mode).as-bytes,+ read ↦ ξ.access.eq("r"),+ write ↦ ξ.access.eq("w"),+ append ↦ ξ.access.eq("a"),+ read-write ↦ ξ.access.eq("r+"),+ write-read ↦ ξ.access.eq("w+"),+ read-append ↦ ξ.access.eq("a+"),+ can-read ↦ ξ.read.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).as-bool,+ can-write ↦ ξ.write.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).or(+ ξ.append+ ).as-bool,+ must-exists ↦ ξ.read.or(ξ.read-write).as-bool,+ truncate ↦ ξ.write.or(ξ.write-read).as-bool,+ φ ↦ ξ.can-read.not.and(ξ.can-write.not).if(+ Φ̇.error(+ "Wrong access mod. Only next modes are available: 'r', 'w', 'a', 'r+', 'w+', 'a+'"+ ),+ ξ.ρ.exists.not.if(+ ξ.must-exists.if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "File must exist for given access mod: '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.access)+ )+ ),+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.touched.touch), ξ.process-file+ ),+ ξ.ρ+ )+ )+ ),+ ξ.truncate.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.deleted.delete), ξ.ρ.touched.touch+ ),+ ξ.process-file+ ),+ ξ.ρ+ )+ ),+ Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.process-file), ξ.ρ))+ )+ )+ ),+ process-file ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_open_process_file+ ⟧,+ file-stream ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ Φ̇.dataized(ξ.ρ.ρ.read-bytes(ξ.size)).as-bytes,+ φ ↦ ξ.ρ.ρ.ρ.ρ.can-read.not.if(+ ξ.auto-named-attr-at-216-18,+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ )+ ).self,+ auto-named-attr-at-216-18 ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't read from file with provided access mode '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+ )+ )+ ⟧+ ⟧+ ⟧,+ read-bytes(size) ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_open_file_stream_read_read_bytes+ ⟧+ ⟧,+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.ρ.can-write.not.if(+ ξ.auto-named-attr-at-258-18,+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.written-bytes(ξ.buffer)), ξ.ρ.ρ.output-block+ )+ )+ ).self,+ auto-named-attr-at-258-18 ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't write to file with provided access mode '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+ )+ )+ ⟧+ ⟧+ ⟧,+ written-bytes(buffer) ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_open_file_stream_write_written_bytes+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/fs/path.phi](./org/eolang/fs/path.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ fs ↦ ⟦+ path(uri) ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.win32(Φ̇.string(ξ.uri.as-bytes)), ξ.posix(Φ̇.string(ξ.uri.as-bytes))+ ).determined,+ joined(paths) ↦ ⟦+ joined-path ↦ Φ̇.string(+ Φ̇.txt.text(ξ.ρ.separator).joined(ξ.paths).as-bytes+ ),+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.ρ.win32(ξ.joined-path), ξ.ρ.posix(ξ.joined-path)+ ).normalized+ ⟧,+ separator ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(ξ.ρ.win32.separator, ξ.ρ.posix.separator)+ ⟧,+ posix(uri) ↦ ⟦+ determined ↦ ξ,+ separator ↦ "/",+ as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+ as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+ φ ↦ ξ.uri,+ is-absolute ↦ ⟦+ φ ↦ ξ.ρ.uri.length.gt(0).and(+ ξ.ρ.uri.as-bytes.slice(0, 1).eq(ξ.ρ.separator)+ )+ ⟧,+ normalized ↦ ⟦+ uri-as-bytes ↦ ξ.ρ.uri.as-bytes,+ is-absolute ↦ ξ.ρ.is-absolute.as-bool,+ has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+ ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+ ξ.ρ.separator+ )+ ),+ path ↦ Φ̇.txt.text(ξ.ρ.separator).joined(+ Φ̇.structs.list(Φ̇.txt.text(ξ.ρ.uri).split(ξ.ρ.separator)).reduced(+ Φ̇.tuple.empty, ξ.auto-named-attr-at-102-25+ )+ ),+ normalized ↦ ξ.ρ.uri.length.eq(0).if(+ ".",+ ξ.is-absolute.if(ξ.ρ.separator.concat(ξ.path), ξ.path).concat(+ ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ )+ ).as-bytes,+ φ ↦ ξ.ρ.ρ.posix(+ ξ.normalized.eq("//").if("/", Φ̇.string(ξ.normalized))+ ).determined,+ auto-named-attr-at-102-25(accum, segment) ↦ ⟦+ φ ↦ ξ.segment.eq("..").if(+ ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+ ξ.accum.head, ξ.ρ.is-absolute.not.if(ξ.accum.with(ξ.segment), ξ.accum)+ ),+ ξ.segment.eq(".").or(ξ.segment.eq("")).if(+ ξ.accum, ξ.accum.with(ξ.segment)+ )+ )+ ⟧+ ⟧,+ resolved(other) ↦ ⟦+ other-as-bytes ↦ ξ.other.as-bytes,+ φ ↦ ξ.ρ.ρ.posix(+ Φ̇.string(+ ξ.other-as-bytes.slice(0, 1).eq(ξ.ρ.separator).if(+ ξ.other-as-bytes, ξ.ρ.uri.concat(ξ.ρ.separator).concat(ξ.other-as-bytes)+ )+ )+ ).normalized+ ⟧,+ basename ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ slice-start-idx ↦ Φ̇.dataized(+ ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+ ).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+ ξ.pth,+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ extname ↦ ⟦+ base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+ slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+ φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+ "",+ Φ̇.string(+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ dirname ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+ ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+ )+ )+ ⟧+ ⟧,+ win32(uri) ↦ ⟦+ separator ↦ "\\",+ φ ↦ ξ.validated(+ Φ̇.string(ξ.validated.separated-correctly(ξ.uri).as-bytes)+ ).determined,+ validated(uri) ↦ ⟦+ determined ↦ ξ,+ separator ↦ ξ.ρ.separator,+ as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+ as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+ φ ↦ ξ.uri,+ is-drive-relative(uri) ↦ ⟦+ φ ↦ Φ̇.txt.regex("/^[a-zA-Z]:/").matches(ξ.uri).as-bool+ ⟧,+ is-root-relative(uri) ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+ φ ↦ ξ.uri-as-bytes.size.gt(0).and(+ ξ.uri-as-bytes.slice(0, 1).eq(ξ.ρ.separator)+ )+ ⟧,+ separated-correctly(uri) ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+ pth ↦ Φ̇.txt.text(Φ̇.string(ξ.uri-as-bytes)),+ replaced ↦ Φ̇.dataized(+ ξ.pth.replaced(Φ̇.txt.regex("/\\//"), ξ.ρ.separator)+ ).as-bytes,+ φ ↦ ξ.pth.index-of(ξ.ρ.ρ.ρ.ρ.path.posix.separator).eq(-1).if(+ Φ̇.string(ξ.uri-as-bytes), Φ̇.string(ξ.replaced)+ )+ ⟧,+ is-absolute ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ φ ↦ ξ.uri-as-bytes.size.eq(0).if(+ Φ̇.false,+ ξ.ρ.is-root-relative(ξ.uri-as-bytes).or(+ ξ.uri-as-bytes.size.gt(1).and(+ ξ.ρ.is-drive-relative(ξ.uri-as-bytes)+ )+ )+ )+ ⟧,+ normalized ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.uri-as-bytes).as-bool,+ is-root-relative ↦ ξ.ρ.is-root-relative(ξ.uri-as-bytes).as-bool,+ driveless ↦ Φ̇.dataized(+ ξ.is-drive-relative.if(+ ξ.uri-as-bytes.slice(2, ξ.uri-as-bytes.size.plus(-2)), ξ.uri-as-bytes+ )+ ).as-bytes,+ has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+ ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+ ξ.ρ.separator+ )+ ),+ path ↦ Φ̇.dataized(+ Φ̇.txt.text(ξ.ρ.separator).joined(+ Φ̇.structs.list(+ Φ̇.txt.text(ξ.driveless).split(ξ.ρ.separator)+ ).reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-357-27)+ )+ ).as-bytes,+ normalized ↦ ξ.driveless.size.eq(0).if(+ ".",+ ξ.is-drive-relative.if(+ ξ.driveless.slice(0, 1).eq(ξ.ρ.separator).if(+ ξ.ρ.uri.slice(0, 3), ξ.ρ.uri.slice(0, 2)+ ),+ ξ.is-root-relative.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ ).concat(ξ.path).concat(+ ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ )+ ).as-bytes,+ φ ↦ ξ.ρ.ρ.validated(+ ξ.normalized.eq("\\\\").if(+ ξ.ρ.separator, Φ̇.string(ξ.normalized)+ )+ ).determined,+ auto-named-attr-at-357-27(accum, segment) ↦ ⟦+ φ ↦ ξ.segment.eq("..").if(+ ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+ ξ.accum.head,+ ξ.ρ.is-root-relative.not.and(ξ.ρ.is-drive-relative.not).if(+ ξ.accum.with(ξ.segment), ξ.accum+ )+ ),+ ξ.segment.eq(".").or(ξ.segment.eq("")).if(+ ξ.accum, ξ.accum.with(ξ.segment)+ )+ )+ ⟧+ ⟧,+ resolved(other) ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ valid-other ↦ Φ̇.dataized(ξ.ρ.separated-correctly(ξ.other)).as-bytes,+ other-is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.valid-other).as-bool,+ other-is-root-relative ↦ ξ.ρ.is-root-relative(ξ.valid-other).as-bool,+ φ ↦ ξ.ρ.ρ.validated(+ Φ̇.string(+ ξ.other-is-drive-relative.if(+ ξ.valid-other,+ ξ.other-is-root-relative.if(+ ξ.ρ.is-drive-relative(ξ.uri-as-bytes).if(+ ξ.uri-as-bytes.slice(0, 2).concat(ξ.valid-other), ξ.valid-other+ ),+ ξ.uri-as-bytes.concat(ξ.ρ.separator).concat(+ ξ.valid-other+ )+ )+ )+ )+ ).normalized+ ⟧,+ basename ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ slice-start-idx ↦ Φ̇.dataized(+ ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+ ).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+ ξ.pth,+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ extname ↦ ⟦+ base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+ slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+ φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+ "",+ Φ̇.string(+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ dirname ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+ ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+ )+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/fs/tmpdir.phi](./org/eolang/fs/tmpdir.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ fs ↦ ⟦+ tmpdir ↦ ⟦+ φ ↦ Φ̇.fs.dir(Φ̇.fs.file(Φ̇.string(ξ.os-tmp-dir))),+ os-tmp-dir ↦ Φ̇.dataized(ξ.os-tmp-dir-1).as-bytes,+ os-tmp-dir-1 ↦ ⟦+ tmpdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TMPDIR")).as-bytes,+ tmp ↦ Φ̇.dataized(Φ̇.sys.getenv("TMP")).as-bytes,+ temp ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMP")).as-bytes,+ tempdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMPDIR")).as-bytes,+ userprofile ↦ Φ̇.dataized(Φ̇.sys.getenv("USERPROFILE")).as-bytes,+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.tmp.eq("").if(+ ξ.temp.eq("").if(+ ξ.userprofile.eq("").if("C:\\Windows", ξ.userprofile), ξ.temp+ ),+ ξ.tmp+ ),+ ξ.tmpdir.eq("").if(+ ξ.tmp.eq("").if(+ ξ.temp.eq("").if(+ ξ.tempdir.eq("").if("/tmp", ξ.tempdir), ξ.temp+ ),+ ξ.tmp+ ),+ ξ.tmpdir+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/go.phi](./org/eolang/go.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ go ↦ ⟦+ id ↦ Φ̇.dataized(+ Φ̇.malloc.of(+ 8,+ ⟦+ φ ↦ ξ.m.put(ξ.m.id),+ m ↦ ∅+ ⟧+ )+ ).as-bytes,+ to(body) ↦ ⟦+ φ ↦ Φ̇.try(ξ.body(ξ.token), ξ.auto-named-attr-at-63-9, Φ̇.true),+ token ↦ ⟦+ backward ↦ Φ̇.error(ξ.jump(ξ.ρ.ρ.to(ξ.ρ.body))),+ jump(value) ↦ ⟦+ id ↦ ξ.ρ.ρ.ρ.id+ ⟧,+ forward(res) ↦ ⟦+ φ ↦ Φ̇.error(ξ.ρ.jump(ξ.res))+ ⟧+ ⟧,+ auto-named-attr-at-63-9(e) ↦ ⟦+ φ ↦ ξ.ρ.ρ.id.eq(ξ.e.id).if(ξ.e.value, Φ̇.error(ξ.e))+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/i16.phi](./org/eolang/i16.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ i16(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i16 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64.as-i32.as-i16),+ as-i64 ↦ ξ.as-i32.as-i64,+ as-number ↦ ξ.as-i64.as-number,+ as-i32 ↦ ⟦+ λ ⤍ Lorg_eolang_i16_as_i32+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.lt(ξ.x.as-i16.as-i32)+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.lte(ξ.x.as-i16.as-i32)+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.gt(ξ.x.as-i16.as-i32)+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.gte(ξ.x.as-i16.as-i32)+ ⟧,+ times(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i32.times(ξ.x.as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+ ⟧,+ plus(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i32.plus(ξ.x.as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ.plus(ξ.x.as-i16.neg)+ ⟧,+ div(x) ↦ ⟦+ x-as-i16 ↦ ξ.x.as-i16,+ bts ↦ ξ.ρ.as-i32.div(ξ.x-as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧),+ φ ↦ ξ.x-as-i16.eq(ξ.zero).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't divide %d by i16 zero",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i32.as-i64.as-number)+ )+ ),+ ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))).if(+ ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right))+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/i32.phi](./org/eolang/i32.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ i32(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i32 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64.as-i32),+ as-number ↦ ξ.as-i64.as-number,+ as-i64 ↦ ⟦+ λ ⤍ Lorg_eolang_i32_as_i64+ ⟧,+ as-i16 ↦ ⟦+ left ↦ ξ.ρ.as-bytes.slice(0, 2).as-bytes,+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(+ Φ̇.i16(ξ.ρ.as-bytes.slice(2, 2)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert i32 number %d to i16 because it's out of i16 bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+ )+ )+ )+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.lt(ξ.x.as-i32.as-i64)+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.lte(ξ.x.as-i32.as-i64)+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.gt(ξ.x.as-i32.as-i64)+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.gte(ξ.x.as-i32.as-i64)+ ⟧,+ times(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i64.times(ξ.x.as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+ ⟧,+ plus(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i64.plus(ξ.x.as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ.plus(ξ.x.as-i32.neg)+ ⟧,+ div(x) ↦ ⟦+ x-as-i32 ↦ ξ.x.as-i32,+ bts ↦ ξ.ρ.as-i64.div(ξ.x-as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧),+ φ ↦ ξ.x-as-i32.eq(ξ.zero).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't divide %d by i32 zero", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+ )+ ),+ ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))).if(+ ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right))+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/i64.phi](./org/eolang/i64.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ i64(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i64 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64),+ as-i16 ↦ ξ.as-i32.as-i16,+ as-i32 ↦ ⟦+ left ↦ ξ.ρ.as-bytes.slice(0, 4).as-bytes,+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(+ Φ̇.i32(ξ.ρ.as-bytes.slice(4, 4)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert i64 number %d to i32 because it's out of i32 bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-number)+ )+ )+ )+ ⟧,+ as-number ↦ ⟦+ λ ⤍ Lorg_eolang_i64_as_number+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ 0.as-i64.gt(ξ.ρ.minus(ξ.ρ.ρ.i64(ξ.value)))+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ gt(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_gt+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ times(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_times+ ⟧,+ plus(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_plus+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.plus(ξ.ρ.ρ.i64(ξ.value).neg)+ ⟧,+ div(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_div+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/bytes-as-input.phi](./org/eolang/io/bytes-as-input.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ bytes-as-input(bts) ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(ξ.ρ.bts, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(data, buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ to-read ↦ Φ̇.dataized(ξ.size).as-bytes,+ available ↦ Φ̇.dataized(ξ.ρ.data.size).as-bytes,+ next ↦ Φ̇.dataized(+ Φ̇.number(ξ.available).gt(ξ.to-read).if(ξ.to-read, ξ.available)+ ).as-bytes,+ φ ↦ ξ.available.eq(0).if(+ ξ.ρ.ρ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.bytes(⟦ Δ ⤍ -- ⟧)),+ ξ.ρ.ρ.input-block(+ ξ.ρ.data.slice(+ ξ.next, Φ̇.number(ξ.available).minus(Φ̇.number(ξ.next))+ ).as-bytes,+ ξ.ρ.data.slice(0, ξ.next).as-bytes+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/console.phi](./org/eolang/io/console.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ console ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(ξ.windows-console, ξ.posix-console).platform,+ posix-console ↦ ⟦+ platform ↦ ξ,+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ Φ̇.dataized(+ Φ̇.sys.posix(+ "read",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.stdin-fileno), ξ.size+ )+ ).output+ ).as-bytes,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ ).self+ ⟧+ ⟧+ ⟧,+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.sys.posix(+ "write",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty, Φ̇.sys.posix.stdout-fileno+ ),+ ξ.buffer+ ),+ ξ.buffer.size+ )+ ).code+ ),+ ξ.ρ.ρ.output-block+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ windows-console ↦ ⟦+ platform ↦ ξ,+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ Φ̇.dataized(+ Φ̇.sys.win32(+ "ReadFile",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.std-input-handle), ξ.size+ )+ ).output+ ).as-bytes,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ ).self+ ⟧+ ⟧+ ⟧,+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.sys.win32(+ "WriteFile",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty, Φ̇.sys.win32.std-output-handle+ ),+ ξ.buffer+ ),+ ξ.buffer.size+ )+ ).code+ ),+ ξ.ρ.ρ.output-block+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/dead-input.phi](./org/eolang/io/dead-input.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ dead-input ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block,+ input-block ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ -- ⟧),+ read(size) ↦ ⟦+ φ ↦ ξ.ρ.ρ.input-block+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/dead-output.phi](./org/eolang/io/dead-output.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ dead-output ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block,+ output-block ↦ ⟦+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ ξ.ρ.ρ.output-block+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/input-length.phi](./org/eolang/io/input-length.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ input-length(input) ↦ ⟦+ chunk ↦ 4096,+ φ ↦ ξ.rec-read(ξ.input, 0),+ rec-read(input, length) ↦ ⟦+ read-bytes ↦ ξ.input.read(ξ.ρ.chunk).read.ρ,+ φ ↦ ξ.read-bytes.size.eq(0).if(+ ξ.length, ξ.ρ.rec-read(ξ.read-bytes, ξ.length.plus(ξ.read-bytes.size))+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/malloc-as-output.phi](./org/eolang/io/malloc-as-output.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ malloc-as-output(allocated) ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block(0).write(ξ.buffer).self,+ output-block(offset) ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty, ξ.ρ.ρ.ρ.allocated.write(ξ.ρ.offset, ξ.buffer)+ ),+ ξ.ρ.ρ.output-block(ξ.ρ.offset.plus(ξ.buffer.size))+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/stdin.phi](./org/eolang/io/stdin.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ stdin ↦ ⟦+ φ ↦ ξ.all-lines,+ all-lines ↦ ⟦+ φ ↦ ξ.rec-read(ξ.ρ.next-line, Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.true),+ separator ↦ Φ̇.dataized(Φ̇.sys.line-separator).as-bytes,+ rec-read(line, buffer, first) ↦ ⟦+ φ ↦ ξ.line.length.eq(0).if(+ Φ̇.string(ξ.buffer),+ ξ.ρ.rec-read(+ ξ.ρ.ρ.next-line,+ ξ.first.if(+ ξ.buffer.concat(ξ.line), ξ.buffer.concat(ξ.ρ.separator).concat(ξ.line)+ ),+ Φ̇.false+ )+ )+ ⟧+ ⟧,+ next-line ↦ ⟦+ first ↦ Φ̇.io.console.read(1).self,+ φ ↦ ξ.first.as-bytes.size.eq(0).if(+ "", ξ.rec-read(ξ.first, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ ),+ rec-read(input, buffer) ↦ ⟦+ char ↦ ξ.input.as-bytes,+ next ↦ ξ.input.read(1).self,+ φ ↦ ξ.char.eq(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).or(+ ξ.char.eq("\r").and(ξ.next.as-bytes.eq("\n")).or(ξ.char.eq("\n"))+ ).if(+ Φ̇.string(ξ.buffer), ξ.ρ.rec-read(ξ.next, ξ.buffer.concat(ξ.char))+ )+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/stdout.phi](./org/eolang/io/stdout.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ stdout(text) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.io.console.write(ξ.text)), Φ̇.true+ )+ )+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/tee-input.phi](./org/eolang/io/tee-input.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ tee-input(input, output) ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(ξ.ρ.input, ξ.ρ.output, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(+ ξ.size+ ).self,+ input-block(input, output, buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ ξ.ρ.input.read(ξ.size).read.ρ,+ written-bytes ↦ ξ.ρ.output.write(ξ.read-bytes).write.ρ,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.written-bytes),+ ξ.ρ.ρ.input-block(+ ξ.read-bytes, ξ.written-bytes, ξ.read-bytes.as-bytes+ )+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/malloc.phi](./org/eolang/malloc.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ malloc ↦ ⟦+ empty(scope) ↦ ⟦+ φ ↦ ξ.ρ.ρ.malloc.of(0, ξ.scope)+ ⟧,+ for(object, scope) ↦ ⟦+ bts ↦ Φ̇.dataized(ξ.object).as-bytes,+ φ ↦ ξ.ρ.ρ.malloc.of(ξ.bts.size, ξ.auto-named-attr-at-96-9),+ auto-named-attr-at-96-9(m) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.m.write(0, ξ.ρ.bts)), ξ.ρ.scope(ξ.m)+ )+ )+ ⟧+ ⟧,+ of(size, scope) ↦ ⟦+ φ ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_φ+ ⟧,+ allocated(id) ↦ ⟦+ φ ↦ ξ.get,+ get ↦ ξ.read(0, ξ.size),+ size ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_size+ ⟧,+ resized(new-size) ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_resized+ ⟧,+ copy(source, target, length) ↦ ⟦+ φ ↦ ξ.ρ.write(ξ.target, ξ.ρ.read(ξ.source, ξ.length))+ ⟧,+ read(offset, length) ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_read+ ⟧,+ write(offset, data) ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_write+ ⟧,+ put(object) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.write(0, ξ.object)), ξ.ρ.get+ )+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/angle.phi](./org/eolang/math/angle.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ angle(value) ↦ ⟦+ φ ↦ ξ.value,+ in-degrees ↦ ξ.ρ.angle(ξ.ρ.times(180).div(Φ̇.math.pi)),+ in-radians ↦ ξ.ρ.angle(ξ.times(Φ̇.math.pi).div(180)),+ sin ↦ ⟦+ λ ⤍ Lorg_eolang_math_angle_sin+ ⟧,+ cos ↦ ⟦+ λ ⤍ Lorg_eolang_math_angle_cos+ ⟧,+ tan ↦ ⟦+ cosine ↦ Φ̇.dataized(ξ.ρ.cos).as-bytes,+ φ ↦ ξ.cosine.eq(0).if(Φ̇.nan, ξ.ρ.sin.div(ξ.cosine))+ ⟧,+ ctan ↦ ⟦+ sine ↦ Φ̇.dataized(ξ.ρ.sin).as-bytes,+ φ ↦ ξ.sine.eq(0).if(Φ̇.nan, ξ.ρ.cos.div(ξ.sine))+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/e.phi](./org/eolang/math/e.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ e ↦ 2.718281828459045,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/integral.phi](./org/eolang/math/integral.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ integral(fun, a, b, n) ↦ ⟦+ subsection(a, b) ↦ ⟦+ φ ↦ ξ.b.minus(ξ.a).div(6).times(+ ξ.ρ.fun(ξ.a).plus(+ 4.times(ξ.ρ.fun(0.5.times(ξ.a.plus(ξ.b)))).plus(ξ.ρ.fun(ξ.b))+ )+ )+ ⟧,+ φ ↦ Φ̇.malloc.of(8, ξ.auto-named-attr-at-50-11).as-number,+ auto-named-attr-at-50-11(sum) ↦ ⟦+ φ ↦ Φ̇.malloc.for(ξ.ρ.a, ξ.auto-named-attr-at-53-16),+ auto-named-attr-at-53-16(left) ↦ ⟦+ right ↦ ξ.ρ.ρ.b,+ step ↦ ξ.right.minus(ξ.left).div(ξ.ρ.ρ.n).as-number,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.while(+ ξ.auto-named-attr-at-59-21,+ ⟦+ φ ↦ Φ̇.true,+ i ↦ ∅+ ⟧+ )+ ),+ ξ.ρ.sum+ )+ ),+ auto-named-attr-at-59-21(i) ↦ ⟦+ φ ↦ ξ.ρ.left.as-number.plus(ξ.ρ.step).lt(ξ.ρ.right).if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ ξ.ρ.ρ.sum.put(+ ξ.ρ.ρ.sum.as-number.plus(+ ξ.ρ.ρ.ρ.subsection(+ ξ.ρ.left.as-number, ξ.ρ.left.as-number.plus(ξ.ρ.step)+ )+ )+ )+ ),+ ξ.ρ.left.put(ξ.ρ.left.as-number.plus(ξ.ρ.step))+ ),+ Φ̇.true+ )+ ),+ Φ̇.false+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/numbers.phi](./org/eolang/math/numbers.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ numbers(sequence) ↦ ⟦+ φ ↦ ξ.sequence,+ max ↦ ⟦+ lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+ φ ↦ ξ.lst.is-empty.if(+ Φ̇.error("Can't get max number from empty sequence"),+ ξ.lst.reduced(+ Φ̇.negative-infinity,+ ⟦+ max ↦ ∅,+ item ↦ ∅,+ φ ↦ ξ.item.as-number.gt(ξ.max).if(ξ.item, ξ.max)+ ⟧+ )+ )+ ⟧,+ min ↦ ⟦+ lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+ φ ↦ ξ.lst.is-empty.if(+ Φ̇.error("Can't get min number from empty sequence"),+ ξ.lst.reduced(+ Φ̇.positive-infinity,+ ⟦+ min ↦ ∅,+ item ↦ ∅,+ φ ↦ ξ.min.gt(ξ.item.as-number).if(ξ.item, ξ.min)+ ⟧+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/pi.phi](./org/eolang/math/pi.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ pi ↦ 3.141592653589793,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/random.phi](./org/eolang/math/random.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ random(seed) ↦ ⟦+ fixed ↦ ξ,+ φ ↦ ξ.seed.as-number.div(+ Φ̇.bytes(⟦ Δ ⤍ 00-20-00-00-00-00-00-00 ⟧).as-i64.as-number+ ),+ next ↦ ξ.ρ.random(+ ξ.seed.times(25214903917).plus(11).as-i64.and(+ Φ̇.bytes(⟦ Δ ⤍ 00-0F-FF-FF-FF-FF-FF-FF ⟧)+ ).as-i64.as-number+ ).fixed,+ pseudo ↦ ⟦+ const-1 ↦ 35,+ const-2 ↦ 53,+ const-3 ↦ 17,+ one ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-01 ⟧),+ φ ↦ ξ.ρ.ρ.random(ξ.time-seed),+ time-seed ↦ ξ.time-bytes.left(ξ.const-1).and(+ ξ.one.left(ξ.const-2).as-i64.minus(ξ.one).as-bytes+ ).as-i64.plus(+ ξ.time-bytes.left(ξ.const-3).and(+ ξ.one.left(ξ.const-1).as-i64.minus(ξ.one).as-bytes+ ).as-i64.plus(+ ξ.time-bytes.and(+ ξ.one.left(ξ.const-3).as-i64.minus(ξ.one).as-bytes+ ).as-i64+ )+ ).as-number,+ time-bytes ↦ Φ̇.sys.os.is-windows.if(+ Φ̇.sys.win32(+ "GetSystemTime", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.system-time)+ ).milliseconds,+ ⟦+ timeval ↦ Φ̇.sys.posix(+ "gettimeofday", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.timeval)+ ).output,+ φ ↦ ξ.timeval.tv-sec.times(1000).plus(+ ξ.timeval.tv-usec.as-i64.div(1000.as-i64).as-number+ )+ ⟧+ ).as-i64.as-bytes+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/real.phi](./org/eolang/math/real.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ real(num) ↦ ⟦+ φ ↦ ξ.num,+ exp ↦ Φ̇.math.real(Φ̇.math.e).pow(ξ.num),+ mod(x) ↦ ⟦+ dividend ↦ Φ̇.number(ξ.ρ.num.as-bytes),+ divisor ↦ Φ̇.number(ξ.x.as-bytes),+ φ ↦ ξ.divisor.eq(0).if(+ Φ̇.error("Can't calculate mod by zero"),+ ξ.dividend.gt(0).if(ξ.abs-mod, ξ.abs-mod.neg)+ ),+ abs-mod ↦ ⟦+ dividend-abs ↦ Φ̇.math.real(ξ.ρ.dividend).abs,+ divisor-abs ↦ Φ̇.math.real(ξ.ρ.divisor).abs,+ φ ↦ ξ.dividend-abs.minus(+ ξ.divisor-abs.times(ξ.dividend-abs.div(ξ.divisor-abs).floor)+ )+ ⟧+ ⟧,+ abs ↦ ⟦+ value ↦ Φ̇.number(ξ.ρ.num.as-bytes),+ φ ↦ ξ.value.gte(0).if(ξ.value, ξ.value.neg)+ ⟧,+ pow(x) ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_pow+ ⟧,+ sqrt ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_sqrt+ ⟧,+ ln ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_ln+ ⟧,+ acos ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_acos+ ⟧,+ asin ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_asin+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/nan.phi](./org/eolang/nan.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ nan ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F8-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ ξ,+ is-nan ↦ Φ̇.true,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert NaN to i64"),+ eq(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ times(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ plus(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ div(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/negative-infinity.phi](./org/eolang/negative-infinity.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ negative-infinity ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ FF-F0-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ Φ̇.positive-infinity,+ is-nan ↦ Φ̇.false,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert negative infinity to i64"),+ eq(x) ↦ ⟦+ φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.not+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.eq(ξ.x)+ ⟧,+ times(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+ Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.positive-infinity)+ )+ ⟧,+ plus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.positive-infinity)).if(+ Φ̇.nan, ξ.ρ+ )+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+ ⟧,+ div(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+ Φ̇.nan,+ ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+ Φ̇.positive-infinity, ξ.ρ+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/net/socket.phi](./org/eolang/net/socket.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ net ↦ ⟦+ socket(address, port) ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.win-socket(ξ.address, ξ.port), ξ.posix-socket(ξ.address, ξ.port)+ ),+ htons(port) ↦ ⟦+ bts ↦ ξ.port.as-i16.as-bytes,+ φ ↦ ξ.bts.and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧)).left(8).or(+ ξ.bts.right(8).and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧))+ ).as-i16+ ⟧,+ as-input(recv) ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ ξ.ρ.ρ.ρ.recv(ξ.size).as-bytes,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ as-output(send) ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.send(ξ.buffer)), ξ.ρ.ρ.output-block+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ posix-socket(address, port) ↦ ⟦+ sd ↦ Φ̇.sys.posix(+ "socket",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.af-inet), Φ̇.sys.posix.sock-stream+ ),+ Φ̇.sys.posix.ipproto-tcp+ )+ ).code,+ inet-addr ↦ Φ̇.sys.posix(+ "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+ ).code,+ inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.posix.inaddr-none).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' posix syscall, reason: '%s'",+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.strerror.code)+ )+ ),+ ξ.inet-addr.as-i32+ ),+ sockaddr ↦ Φ̇.sys.posix.sockaddr-in(+ Φ̇.sys.posix.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+ ),+ scoped-socket(sockfd) ↦ ⟦+ as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+ as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+ send(buffer) ↦ ⟦+ buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+ sent ↦ Φ̇.sys.posix(+ "send",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+ ),+ 0+ )+ ).code,+ φ ↦ ξ.sent.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to send message through the socket '%d', reason: %s",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+ )+ )+ ),+ ξ.sent+ )+ ⟧,+ recv(size) ↦ ⟦+ received ↦ Φ̇.sys.posix(+ "recv",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+ )+ ).called,+ φ ↦ ξ.received.code.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to receive data from the socket '%d', reason: %s",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+ )+ )+ ),+ ξ.received.output+ )+ ⟧+ ⟧,+ strerror ↦ ⟦+ φ ↦ Φ̇.sys.posix(+ "strerror",+ Φ̇.tuple(+ Φ̇.tuple.empty, Φ̇.sys.posix("errno", Φ̇.tuple.empty).code+ )+ )+ ⟧,+ closed-socket(sockfd) ↦ ⟦+ closed ↦ Φ̇.sys.posix("close", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)).code,+ φ ↦ ξ.closed.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't close a posix socket '%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.strerror.code+ )+ )+ ),+ Φ̇.true+ )+ ⟧,+ safe-socket(scope) ↦ ⟦+ φ ↦ ξ.ρ.sd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't create a posix socket, reason: '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.strerror.code)+ )+ ),+ Φ̇.try(+ ξ.scope,+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.ρ.closed-socket(ξ.ρ.sd)+ )+ )+ ⟧,+ connect(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-276-10),+ auto-named-attr-at-276-10 ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ connected ↦ Φ̇.sys.posix(+ "connect",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ ξ.connected.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't connect to '%s:%d' on posix socket '%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.strerror.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+ )+ ⟧+ ⟧,+ listen(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-300-10),+ auto-named-attr-at-300-10 ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ bound ↦ Φ̇.sys.posix(+ "bind",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ listened ↦ Φ̇.sys.posix(+ "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+ ).code,+ φ ↦ ξ.bound.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't bind posix socket '%d' to '%s:%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+ ),+ ξ.sock.port+ ),+ ξ.sock.strerror.code+ )+ )+ ),+ ξ.listened.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to listen for connections to '%s:%d' on socket '%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.strerror.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-325-22)).as-bytes+ )+ ),+ auto-named-attr-at-325-22 ↦ ⟦+ φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+ accept(scope) ↦ ⟦+ sock ↦ ξ.ρ.ρ.sock,+ client-sockfd ↦ Φ̇.sys.posix(+ "accept",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ Φ̇.try(+ ξ.client-sockfd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to accept a connection on posix socket '%d', reason: %s",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.strerror.code+ )+ )+ ),+ Φ̇.dataized(+ ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+ ).as-bytes+ ),+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.sock.closed-socket(ξ.client-sockfd)+ )+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ win-socket(address, port) ↦ ⟦+ sd ↦ Φ̇.sys.win32(+ "socket",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.af-inet), Φ̇.sys.win32.sock-stream+ ),+ Φ̇.sys.win32.ipproto-tcp+ )+ ).code,+ inet-addr ↦ Φ̇.sys.win32(+ "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+ ).code,+ inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.win32.inaddr-none).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' win32 function call, WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.last-error.code+ )+ )+ ),+ ξ.inet-addr.as-i32+ ),+ sockaddr ↦ Φ̇.sys.win32.sockaddr-in(+ Φ̇.sys.win32.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+ ),+ scoped-socket(sockfd) ↦ ⟦+ as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+ as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+ send(buffer) ↦ ⟦+ buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+ sent ↦ Φ̇.sys.win32(+ "send",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+ ),+ 0+ )+ ).code,+ φ ↦ ξ.sent.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to send message through the socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+ )+ )+ ),+ ξ.sent+ )+ ⟧,+ recv(size) ↦ ⟦+ received ↦ Φ̇.sys.win32(+ "recv",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+ )+ ).called,+ φ ↦ ξ.received.code.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to receive data from the socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+ )+ )+ ),+ ξ.received.output+ )+ ⟧+ ⟧,+ last-error ↦ ⟦+ φ ↦ Φ̇.sys.win32("WSAGetLastError", Φ̇.tuple.empty)+ ⟧,+ closed-socket(sockfd) ↦ ⟦+ closed ↦ Φ̇.sys.win32(+ "closesocket", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)+ ).code,+ φ ↦ ξ.closed.eq(Φ̇.sys.win32.socket-error).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't close a win32 socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.last-error.code+ )+ )+ ),+ Φ̇.true+ )+ ⟧,+ safe-socket(scope) ↦ ⟦+ started-up ↦ Φ̇.sys.win32(+ "WSAStartup", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.winsock-version-2-2)+ ).code,+ cleaned-up ↦ Φ̇.sys.win32("WSACleanup", Φ̇.tuple.empty).code,+ φ ↦ ξ.started-up.eq(0).not.if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't initialize Winsock via 'WSAStartup' call, WSA error code: %d",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.started-up)+ )+ ),+ Φ̇.try(+ ξ.ρ.sd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't create a win32 socket, WSA error code: %d",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.last-error.code)+ )+ ),+ Φ̇.try(+ ξ.scope,+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.ρ.closed-socket(ξ.ρ.sd)+ )+ ),+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.cleaned-up.eq(Φ̇.sys.win32.socket-error).if(+ Φ̇.error("Couldn't cleanup Winsock resources"), Φ̇.true+ )+ )+ )+ ⟧,+ connect(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-485-10),+ auto-named-attr-at-485-10 ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ connected ↦ Φ̇.sys.win32(+ "connect",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ ξ.connected.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't connect to '%s:%d' on win32 socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.last-error.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+ )+ ⟧+ ⟧,+ listen(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-509-10),+ auto-named-attr-at-509-10 ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ bound ↦ Φ̇.sys.win32(+ "bind",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ listened ↦ Φ̇.sys.win32(+ "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+ ).code,+ φ ↦ ξ.bound.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't bind win32 socket '%d' to '%s:%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+ ),+ ξ.sock.port+ ),+ ξ.sock.last-error.code+ )+ )+ ),+ ξ.listened.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to listen for connections to '%s:%d' on socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.last-error.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-534-22)).as-bytes+ )+ ),+ auto-named-attr-at-534-22 ↦ ⟦+ φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+ accept(scope) ↦ ⟦+ sock ↦ ξ.ρ.ρ.sock,+ client-sockfd ↦ Φ̇.sys.win32(+ "accept",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ Φ̇.try(+ ξ.client-sockfd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to accept a connection on win32 socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.last-error.code+ )+ )+ ),+ Φ̇.dataized(+ ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+ ).as-bytes+ ),+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.sock.closed-socket(ξ.client-sockfd)+ )+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/number.phi](./org/eolang/number.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ number(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-number ↦ ξ,+ neg ↦ ξ.times(-1),+ as-i32 ↦ ξ.as-i64.as-i32,+ as-i16 ↦ ξ.as-i32.as-i16,+ is-nan ↦ ξ.as-bytes.eq(Φ̇.nan.as-bytes),+ as-i64 ↦ ⟦+ λ ⤍ Lorg_eolang_number_as_i64+ ⟧,+ eq(x) ↦ ⟦+ x-as-bytes ↦ Φ̇.dataized(ξ.x).as-bytes,+ self-as-bytes ↦ ξ.ρ.as-bytes,+ pos-zero-as-bytes ↦ 0.as-bytes,+ neg-zero-as-bytes ↦ -0.as-bytes,+ φ ↦ ξ.ρ.is-nan.or(Φ̇.number(ξ.x-as-bytes).is-nan).if(+ Φ̇.false,+ ξ.x-as-bytes.eq(ξ.pos-zero-as-bytes).or(+ ξ.x-as-bytes.eq(ξ.neg-zero-as-bytes)+ ).and(+ ξ.self-as-bytes.eq(ξ.pos-zero-as-bytes).or(+ ξ.self-as-bytes.eq(ξ.neg-zero-as-bytes)+ )+ ).or(ξ.self-as-bytes.eq(ξ.x-as-bytes))+ )+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ 0.gt(ξ.ρ.minus(Φ̇.number(ξ.value)))+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ gt(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_gt+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ times(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_times+ ⟧,+ plus(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_plus+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.plus(Φ̇.number(ξ.value).neg)+ ⟧,+ div(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_div+ ⟧,+ floor ↦ ⟦+ λ ⤍ Lorg_eolang_number_floor+ ⟧,+ is-integer ↦ ⟦+ φ ↦ ξ.ρ.is-finite.and(ξ.ρ.eq(ξ.ρ.floor))+ ⟧,+ is-finite ↦ ⟦+ φ ↦ ξ.ρ.is-nan.not.and(+ ξ.ρ.eq(Φ̇.positive-infinity).or(ξ.ρ.eq(Φ̇.negative-infinity)).not+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/positive-infinity.phi](./org/eolang/positive-infinity.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ positive-infinity ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F0-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ Φ̇.negative-infinity,+ is-nan ↦ Φ̇.false,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert positive infinity to i64"),+ eq(x) ↦ ⟦+ φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.eq(ξ.x)+ ⟧,+ gt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.not+ ⟧,+ times(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+ Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.negative-infinity)+ )+ ⟧,+ plus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.negative-infinity)).if(+ Φ̇.nan, ξ.ρ+ )+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+ ⟧,+ div(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+ Φ̇.nan,+ ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+ Φ̇.negative-infinity, ξ.ρ+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/seq.phi](./org/eolang/seq.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ seq(steps) ↦ ⟦+ φ ↦ ξ.steps.length.eq(0).if(Φ̇.true, ξ.loop(0)),+ max-len ↦ Φ̇.dataized(ξ.steps.length.minus(1)).as-bytes,+ loop(index) ↦ ⟦+ φ ↦ ξ.index.lt(ξ.ρ.max-len).and(+ Φ̇.dataized(ξ.ρ.steps.at(ξ.index)).as-bool.or(Φ̇.true)+ ).if(ξ.ρ.loop(ξ.index.plus(1)), ξ.ρ.steps.at(ξ.index))+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/string.phi](./org/eolang/string.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ string(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ length ↦ ⟦+ size ↦ ξ.ρ.as-bytes.size,+ pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+ pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+ pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+ pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+ result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+ result-three ↦ ξ.pattern-two,+ result-four ↦ ξ.pattern-three,+ φ ↦ ξ.size.eq(0).if(0, ξ.rec-length(0, 0)),+ increase-length(index, char-size, len) ↦ ⟦+ φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+ )+ )+ ),+ ξ.ρ.rec-length(ξ.index.plus(ξ.char-size), ξ.len.plus(1))+ )+ ⟧,+ rec-length(index, accum) ↦ ⟦+ byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+ φ ↦ ξ.index.eq(ξ.ρ.size).if(+ ξ.accum,+ ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+ ξ.ρ.increase-length(ξ.index, 1, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+ ξ.ρ.increase-length(ξ.index, 2, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+ ξ.ρ.increase-length(ξ.index, 3, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+ ξ.ρ.increase-length(ξ.index, 4, ξ.accum),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Unknown byte format (%x), can't recognize character",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+ )+ )+ )+ )+ )+ )+ )+ ⟧+ ⟧,+ slice(start, len) ↦ ⟦+ start-bytes ↦ Φ̇.dataized(ξ.start).as-bytes,+ len-bytes ↦ Φ̇.dataized(ξ.len).as-bytes,+ num-start ↦ Φ̇.number(ξ.start-bytes),+ num-len ↦ Φ̇.number(ξ.len-bytes),+ size ↦ ξ.ρ.as-bytes.size,+ end ↦ ξ.num-start.plus(ξ.num-len),+ pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+ pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+ pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+ pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+ result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+ result-three ↦ ξ.pattern-two,+ result-four ↦ ξ.pattern-three,+ bts-start ↦ Φ̇.dataized(+ ξ.rec-index(+ 0,+ 0,+ ξ.num-start,+ Φ̇.txt.sprintf(+ "Start index (%d) is out of string bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+ )+ )+ ).as-bytes,+ bts-length ↦ ξ.rec-index(+ Φ̇.number(ξ.bts-start),+ 0,+ ξ.num-len,+ Φ̇.txt.sprintf(+ "Start index + length to slice (%d) is out of string bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start.plus(ξ.num-len))+ )+ ).minus(ξ.bts-start),+ φ ↦ ξ.num-start.lt(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Start index must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+ )+ ),+ ξ.num-len.lt(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Length to slice must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-len)+ )+ ),+ ξ.num-len.eq(0).if(+ "", Φ̇.string(ξ.ρ.as-bytes.slice(ξ.bts-start, ξ.bts-length))+ )+ )+ ),+ increase(index, char-size, accum, result, cause) ↦ ⟦+ φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+ )+ )+ ),+ ξ.ρ.rec-index(+ ξ.index.plus(ξ.char-size), ξ.accum.plus(1), ξ.result, ξ.cause+ )+ )+ ⟧,+ rec-index(index, accum, result, cause) ↦ ⟦+ byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+ φ ↦ ξ.accum.eq(ξ.result).if(+ ξ.index,+ ξ.index.eq(ξ.ρ.size).if(+ Φ̇.error(ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+ ξ.ρ.increase(ξ.index, 1, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+ ξ.ρ.increase(ξ.index, 2, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+ ξ.ρ.increase(ξ.index, 3, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+ ξ.ρ.increase(ξ.index, 4, ξ.accum, ξ.result, ξ.cause),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Unknown byte format (%x), can't recognize character",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+ )+ )+ )+ )+ )+ )+ )+ )+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/bytes-as-array.phi](./org/eolang/structs/bytes-as-array.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ bytes-as-array(bts) ↦ ⟦+ bytes-size ↦ Φ̇.dataized(ξ.bts.size).as-bytes,+ φ ↦ ξ.slice-byte(Φ̇.tuple.empty, 0),+ slice-byte(tup, index) ↦ ⟦+ φ ↦ ξ.index.lt(ξ.ρ.bytes-size).if(+ ξ.ρ.slice-byte(+ ξ.tup.with(ξ.ρ.bts.slice(ξ.index, 1)), ξ.index.plus(1)+ ),+ ξ.tup+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/hash-code-of.phi](./org/eolang/structs/hash-code-of.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ hash-code-of(input) ↦ ⟦+ input-as-bytes ↦ Φ̇.dataized(ξ.input.as-bytes).as-bytes,+ size ↦ Φ̇.dataized(ξ.input-as-bytes.size).as-bytes,+ magic-number ↦ 31.as-i64,+ φ ↦ ξ.rec-hash-code(0, 0),+ rec-hash-code(acc, index) ↦ ⟦+ φ ↦ ξ.index.eq(ξ.ρ.size).if(+ ξ.acc.as-number,+ ξ.ρ.rec-hash-code(+ ξ.ρ.magic-number.times(ξ.acc).plus(+ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(+ ξ.ρ.input-as-bytes.slice(ξ.index, 1)+ ).as-i64+ ),+ ξ.index.plus(1)+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/list.phi](./org/eolang/structs/list.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ list(origin) ↦ ⟦+ φ ↦ ξ.origin,+ is-empty ↦ ⟦+ φ ↦ 0.eq(ξ.ρ.origin.length)+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(ξ.ρ.origin.with(ξ.x))+ ⟧,+ withi(index, item) ↦ ⟦+ φ ↦ ξ.ρ.head(ξ.index).with(ξ.item).concat(+ ξ.ρ.tail(ξ.ρ.origin.length.minus(ξ.index))+ )+ ⟧,+ reducedi(start, func) ↦ ⟦+ origin-len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ φ ↦ 0.eq(ξ.origin-len).if(ξ.start, ξ.rec-reduced(ξ.start, 0.as-bytes)),+ rec-reduced(accum, index) ↦ ⟦+ idx-as-number ↦ ξ.index.as-number,+ next-index ↦ Φ̇.dataized(1.plus(ξ.idx-as-number)).as-bytes,+ φ ↦ ξ.next-index.eq(ξ.ρ.origin-len).if(+ ξ.accumulated, ξ.ρ.rec-reduced(ξ.accumulated, ξ.next-index)+ ),+ accumulated ↦ ξ.ρ.func(+ ξ.accum, ξ.ρ.ρ.origin.at(ξ.idx-as-number), ξ.idx-as-number+ )+ ⟧+ ⟧,+ reduced(start, func) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(ξ.start, ξ.auto-named-attr-at-83-42),+ auto-named-attr-at-83-42(accum, item, idx) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.accum, ξ.item)+ ⟧+ ⟧,+ mappedi(func) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-93-24)+ ),+ auto-named-attr-at-93-24(accum, item, idx) ↦ ⟦+ φ ↦ ξ.accum.with(ξ.ρ.func(ξ.item, ξ.idx))+ ⟧+ ⟧,+ mapped(func) ↦ ⟦+ φ ↦ ξ.ρ.mappedi(ξ.auto-named-attr-at-103-30),+ auto-named-attr-at-103-30(item, idx) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.item)+ ⟧+ ⟧,+ eachi(func) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-113-22),+ auto-named-attr-at-113-22(acc, item, index) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.acc), ξ.ρ.func(ξ.item, ξ.index)+ )+ )+ ⟧+ ⟧,+ each(func) ↦ ⟦+ φ ↦ ξ.ρ.eachi(ξ.auto-named-attr-at-124-32),+ auto-named-attr-at-124-32(item, index) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.item)+ ⟧+ ⟧,+ withouti(i) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-131-24)+ ),+ auto-named-attr-at-131-24(accum, item, idx) ↦ ⟦+ φ ↦ ξ.ρ.i.eq(ξ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+ ⟧+ ⟧,+ without(element) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(+ ξ.ρ.reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-142-20)+ ),+ auto-named-attr-at-142-20(accum, item) ↦ ⟦+ φ ↦ ξ.ρ.element.eq(ξ.item).if(ξ.accum, ξ.accum.with(ξ.item))+ ⟧+ ⟧,+ eq(other) ↦ ⟦+ φ ↦ ξ.ρ.origin.length.eq(ξ.other.length).and(+ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-157-24)+ ),+ auto-named-attr-at-157-24(accum, item, idx) ↦ ⟦+ φ ↦ ξ.accum.and(ξ.item.eq(ξ.ρ.other.at(ξ.idx)))+ ⟧+ ⟧,+ concat(passed) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(ξ.passed).reduced(+ ξ.ρ,+ ⟦+ φ ↦ ξ.accum.with(ξ.item),+ accum ↦ ∅,+ item ↦ ∅+ ⟧+ )+ ⟧,+ index-of(wanted) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-177-24),+ auto-named-attr-at-177-24(accum, item, index) ↦ ⟦+ φ ↦ -1.eq(ξ.accum).and(ξ.item.eq(ξ.ρ.wanted)).if(ξ.index, ξ.accum)+ ⟧+ ⟧,+ last-index-of(wanted) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-190-24),+ auto-named-attr-at-190-24(accum, item, index) ↦ ⟦+ φ ↦ ξ.item.eq(ξ.ρ.wanted).if(ξ.index, ξ.accum)+ ⟧+ ⟧,+ contains(element) ↦ ⟦+ φ ↦ -1.eq(ξ.ρ.index-of(ξ.element)).not+ ⟧,+ sorted ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ filteredi(func) ↦ ⟦+ origin-length ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ φ ↦ ξ.ρ.ρ.list(ξ.rec-filtered(0.as-bytes, Φ̇.tuple.empty)),+ rec-filtered(idx-as-bytes, accum) ↦ ⟦+ original ↦ ξ.ρ.ρ.origin,+ index ↦ ξ.idx-as-bytes.as-number,+ item ↦ ξ.ρ.ρ.origin.at(ξ.index),+ φ ↦ ξ.idx-as-bytes.eq(ξ.ρ.origin-length).if(+ ξ.accum,+ ξ.ρ.rec-filtered(+ 1.plus(ξ.index).as-bytes,+ ξ.ρ.func(ξ.item, ξ.index).if(ξ.accum.with(ξ.item), ξ.accum)+ )+ )+ ⟧+ ⟧,+ filtered(func) ↦ ⟦+ φ ↦ ξ.ρ.filteredi(ξ.auto-named-attr-at-243-32),+ auto-named-attr-at-243-32(item, index) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.item)+ ⟧+ ⟧,+ head(index) ↦ ⟦+ idx ↦ Φ̇.dataized(ξ.index).as-bytes,+ φ ↦ Φ̇.switch(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, 0.eq(ξ.idx)), ξ.ρ.ρ.list(Φ̇.tuple.empty)+ )+ ),+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, 0.gt(ξ.idx)), ξ.ρ.tail(ξ.index.as-number.neg)+ )+ ),+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin.length.lte(ξ.idx)), ξ.ρ+ )+ ),+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.true),+ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-264-32)+ )+ )+ )+ ),+ auto-named-attr-at-264-32(accum, item, index) ↦ ⟦+ φ ↦ ξ.index.gte(ξ.ρ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+ ⟧+ ⟧,+ tail(index) ↦ ⟦+ idx ↦ Φ̇.dataized(ξ.index).as-bytes,+ start ↦ Φ̇.dataized(ξ.ρ.origin.length.minus(ξ.idx.as-number)).as-bytes,+ φ ↦ 0.gt(ξ.start).if(+ ξ.ρ,+ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-280-26)+ )+ ),+ auto-named-attr-at-280-26(accum, item, idx) ↦ ⟦+ φ ↦ ξ.idx.gte(ξ.ρ.start).if(ξ.accum.with(ξ.item), ξ.accum)+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/map.phi](./org/eolang/structs/map.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ map(pairs) ↦ ⟦+ φ ↦ ξ.auto-named-attr-at-37-6.initialized,+ entry(key, value) ↦ ⟦⟧,+ initialized(entries) ↦ ⟦+ initialized ↦ ξ,+ size ↦ ξ.entries.length,+ keys ↦ ⟦+ φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+ ⟦+ φ ↦ ξ.entry.key,+ entry ↦ ∅+ ⟧+ )+ ⟧,+ values ↦ ⟦+ φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+ ⟦+ φ ↦ ξ.entry.value,+ entry ↦ ∅+ ⟧+ )+ ⟧,+ has(key) ↦ ⟦+ φ ↦ ξ.ρ.found(ξ.key).exists+ ⟧,+ found(key) ↦ ⟦+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+ φ ↦ ξ.ρ.size.eq(0).if(ξ.not-found, ξ.rec-key-search(ξ.not-found, 0)),+ rec-key-search(found, index) ↦ ⟦+ entry ↦ ξ.ρ.ρ.entries.at(ξ.index),+ φ ↦ ξ.found.exists.or(ξ.ρ.ρ.size.eq(ξ.index)).if(+ ξ.found,+ ξ.ρ.rec-key-search(+ ξ.ρ.hash.eq(ξ.entry.hash).if(+ ξ.auto-named-attr-at-133-54, ξ.found+ ),+ ξ.index.plus(1)+ )+ ),+ auto-named-attr-at-133-54 ↦ ⟦+ exists ↦ Φ̇.true,+ get ↦ ξ.ρ.entry.value+ ⟧+ ⟧,+ not-found ↦ ⟦+ exists ↦ Φ̇.false,+ get ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "Object by hash code %d from given key does not exists",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.hash)+ )+ )+ ⟧+ ⟧,+ with(key, value) ↦ ⟦+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+ φ ↦ ξ.ρ.ρ.ρ.map.initialized(+ Φ̇.structs.list(ξ.ρ.entries).filtered(+ ξ.auto-named-attr-at-153-50+ ).origin.with(ξ.auto-named-attr-at-154-12)+ ),+ auto-named-attr-at-153-50(entry) ↦ ⟦+ φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+ ⟧,+ auto-named-attr-at-154-12 ↦ ⟦+ key ↦ ξ.ρ.key,+ value ↦ ξ.ρ.value,+ hash ↦ ξ.ρ.hash+ ⟧+ ⟧,+ without(key) ↦ ⟦+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+ φ ↦ ξ.ρ.ρ.ρ.map.initialized(+ Φ̇.structs.list(ξ.ρ.entries).filtered(+ ξ.auto-named-attr-at-167-48+ ).origin+ ),+ auto-named-attr-at-167-48(entry) ↦ ⟦+ φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+ ⟧+ ⟧+ ⟧,+ auto-named-attr-at-37-6 ↦ ⟦+ pairs-size ↦ Φ̇.dataized(ξ.ρ.pairs.length).as-bytes,+ φ ↦ ξ.ρ.initialized(+ ξ.pairs-size.eq(0).if(+ Φ̇.tuple.empty,+ ξ.rec-rebuild(Φ̇.tuple.empty, 0, Φ̇.structs.list(Φ̇.tuple.empty))+ )+ ),+ rec-rebuild(accum, index, hashes) ↦ ⟦+ entry ↦ ξ.ρ.ρ.pairs.at(ξ.index),+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.entry.key)).as-bytes,+ φ ↦ ξ.ρ.pairs-size.eq(ξ.index).if(+ ξ.accum,+ ξ.ρ.rec-rebuild(+ ξ.hashes.contains(ξ.hash).if(+ ξ.accum, ξ.accum.with(ξ.auto-named-attr-at-59-18)+ ),+ ξ.index.plus(1),+ ξ.hashes.with(ξ.hash)+ )+ ),+ auto-named-attr-at-59-18 ↦ ⟦+ key ↦ ξ.ρ.entry.key,+ value ↦ ξ.ρ.entry.value,+ hash ↦ ξ.ρ.hash+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/range-of-ints.phi](./org/eolang/structs/range-of-ints.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ range-of-ints(start, end) ↦ ⟦+ φ ↦ 0.eq(ξ.start).or(1.eq(ξ.start.div(ξ.start))).and(+ 0.eq(ξ.end).or(1.eq(ξ.end.div(ξ.end)))+ ).if(+ Φ̇.structs.range(ξ.auto-named-attr-at-42-8, ξ.end),+ Φ̇.error("Some of the arguments are not integers")+ ),+ auto-named-attr-at-42-8 ↦ ⟦+ build(num) ↦ ⟦+ φ ↦ ξ.num,+ next ↦ ξ.ρ.build(1.plus(ξ.φ))+ ⟧,+ φ ↦ ξ.build(ξ.ρ.start)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/range.phi](./org/eolang/structs/range.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ range(start, end) ↦ ⟦+ φ ↦ Φ̇.structs.list(+ ξ.start.lt(ξ.end).if(+ ξ.appended(Φ̇.tuple(Φ̇.tuple.empty, ξ.start), ξ.start.next), Φ̇.tuple.empty+ )+ ),+ appended(acc, current) ↦ ⟦+ φ ↦ ξ.current.lt(ξ.ρ.end).if(+ ξ.ρ.appended(ξ.acc.with(ξ.current), ξ.current.next), ξ.acc+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/set.phi](./org/eolang/structs/set.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ set(lst) ↦ ⟦+ φ ↦ ξ.initialized(+ Φ̇.structs.map(+ Φ̇.structs.list(ξ.lst).mapped(+ ⟦+ φ ↦ Φ̇.structs.map.entry(ξ.item, Φ̇.true),+ item ↦ ∅+ ⟧+ ).origin+ )+ ).initialized,+ initialized(map) ↦ ⟦+ initialized ↦ ξ,+ φ ↦ ξ.map.keys,+ size ↦ ξ.map.size,+ with(item) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.with(ξ.item, Φ̇.true))+ ⟧,+ without(item) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.without(ξ.item))+ ⟧,+ has(item) ↦ ⟦+ φ ↦ ξ.ρ.map.has(ξ.item)+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/switch.phi](./org/eolang/switch.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ switch(cases) ↦ ⟦+ len ↦ Φ̇.dataized(ξ.cases.length).as-bytes,+ φ ↦ ξ.len.eq(0).if(Φ̇.error("switch cases are empty"), ξ.case-at(0)),+ case-at(index) ↦ ⟦+ case ↦ ξ.ρ.cases.at(ξ.index),+ φ ↦ ξ.index.eq(ξ.ρ.len).if(+ Φ̇.true, ξ.case.at(0).if(ξ.case.at(1), ξ.ρ.case-at(ξ.index.plus(1)))+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/sys/getenv.phi](./org/eolang/sys/getenv.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ getenv(name) ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(+ Φ̇.sys.win32(+ "GetEnvironmentVariable", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.name), 512)+ ),+ Φ̇.sys.posix("getenv", Φ̇.tuple(Φ̇.tuple.empty, ξ.name))+ ).output+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/sys/line-separator.phi](./org/eolang/sys/line-separator.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ line-separator ↦ ⟦+ φ ↦ Φ̇.string(Φ̇.sys.os.is-windows.if("\r\n", "\n").as-bytes)+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/sys/os.phi](./org/eolang/sys/os.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ os ↦ ⟦+ φ ↦ ξ.name,+ is-windows ↦ ⟦+ os-name ↦ Φ̇.dataized(ξ.ρ.name).as-bytes,+ φ ↦ ξ.os-name.size.gt(6).and(ξ.os-name.slice(0, 7).eq("Windows"))+ ⟧,+ is-linux ↦ Φ̇.txt.regex("/linux/i").matches(ξ.name).as-bool,+ is-macos ↦ Φ̇.txt.regex("/mac/i").matches(ξ.name).as-bool,+ name ↦ ⟦+ λ ⤍ Lorg_eolang_sys_os_name+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/sys/posix.phi](./org/eolang/sys/posix.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ posix(name, args) ↦ ⟦+ stdin-fileno ↦ 0,+ stdout-fileno ↦ 1,+ af-inet ↦ 2,+ sock-stream ↦ 1,+ ipproto-tcp ↦ 6,+ inaddr-none ↦ -1,+ φ ↦ ⟦+ λ ⤍ Lorg_eolang_sys_posix_φ+ ⟧,+ return(code, output) ↦ ⟦+ called ↦ ξ,+ φ ↦ ξ.output+ ⟧,+ timeval(tv-sec, tv-usec) ↦ ⟦+ self ↦ ξ+ ⟧,+ sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+ sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+ size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+ ξ.sin-zero.size+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/sys/win32.phi](./org/eolang/sys/win32.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ win32(name, args) ↦ ⟦+ std-input-handle ↦ -10,+ std-output-handle ↦ -11,+ af-inet ↦ 2,+ sock-stream ↦ 1,+ ipproto-tcp ↦ 6,+ invalid-socket ↦ -1,+ socket-error ↦ -1,+ inaddr-none ↦ -1,+ winsock-version-2-2 ↦ Φ̇.bytes(⟦ Δ ⤍ 02-02 ⟧),+ φ ↦ ⟦+ λ ⤍ Lorg_eolang_sys_win32_φ+ ⟧,+ return(code, output) ↦ ⟦+ called ↦ ξ,+ φ ↦ ξ.output+ ⟧,+ system-time(year, month, day, day-of-week, hour, minute, second, milliseconds) ↦ ⟦+ self ↦ ξ+ ⟧,+ sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+ sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+ size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+ ξ.sin-zero.size+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/true.phi](./org/eolang/true.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ true ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧),+ not ↦ Φ̇.false,+ if(left, right) ↦ ⟦+ φ ↦ ξ.left+ ⟧,+ and(x) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+ ⟧,+ or(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/try.phi](./org/eolang/try.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ try(main, catch, finally) ↦ ⟦+ λ ⤍ Lorg_eolang_try+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/tuple.phi](./org/eolang/tuple.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ tuple(head, tail) ↦ ⟦+ empty ↦ ⟦+ length ↦ 0,+ at(i) ↦ ⟦+ φ ↦ Φ̇.error("Can't get an object from the empty tuple")+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.tuple(ξ.ρ, ξ.x)+ ⟧+ ⟧,+ length ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.head.length.plus(1)).as-bytes,+ φ ↦ Φ̇.number(ξ.len)+ ⟧,+ at(i) ↦ ⟦+ len ↦ ξ.ρ.length,+ idx ↦ Φ̇.dataized(ξ.i).as-bytes,+ index ↦ Φ̇.dataized(0.gt(ξ.idx).if(ξ.len.plus(ξ.idx), ξ.idx)).as-bytes,+ φ ↦ 0.gt(ξ.index).or(ξ.len.lte(ξ.index)).if(+ Φ̇.error("Given index is out of tuple bounds"), ξ.at-fast(ξ.ρ, ξ.len)+ ),+ at-fast(tup, len) ↦ ⟦+ φ ↦ ξ.len.plus(-1).gt(ξ.ρ.index).if(+ ξ.ρ.at-fast(ξ.tup.head, ξ.len.plus(-1)), ξ.tup.tail+ )+ ⟧+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.tuple(ξ.ρ, ξ.x)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/txt/regex.phi](./org/eolang/txt/regex.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ txt ↦ ⟦+ regex(expression) ↦ ⟦+ φ ↦ ξ.compiled,+ compiled ↦ ⟦+ λ ⤍ Lorg_eolang_txt_regex_compiled+ ⟧,+ pattern(serialized) ↦ ⟦+ matches(txt) ↦ ⟦+ φ ↦ ξ.ρ.match(ξ.txt).next.exists+ ⟧,+ match(txt) ↦ ⟦+ next ↦ ξ.matched-from-index(1, 0).matched,+ matched-from-index(position, start) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_regex_pattern_match_matched_from_index+ ⟧,+ matched(position, start, from, to, groups) ↦ ⟦+ matched ↦ ξ,+ groups-count ↦ ξ.groups.length,+ exists ↦ ξ.start.gte(0),+ next ↦ ξ.exists.if(+ ξ.ρ.matched-from-index(ξ.position.plus(1), ξ.to).matched,+ Φ̇.error("Matched block does not exist, can't get next")+ ),+ text ↦ ξ.exists.if(+ ξ.group(0), Φ̇.error("Matched block does not exist, can't get text")+ ),+ group(index) ↦ ⟦+ φ ↦ ξ.ρ.groups.at(ξ.index)+ ⟧+ ⟧,+ not-matched(position) ↦ ⟦+ φ ↦ ξ.ρ.matched(+ ξ.position,+ -1,+ Φ̇.error(+ "Matched block does not exist, can't get 'from' position"+ ),+ Φ̇.error(+ "Matched block does not exist, can't get 'to' position"+ ),+ Φ̇.error("Matched block does not exist, can't get groups")+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/txt/sprintf.phi](./org/eolang/txt/sprintf.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ txt ↦ ⟦+ sprintf(format, args) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_sprintf+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/txt/sscanf.phi](./org/eolang/txt/sscanf.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ txt ↦ ⟦+ sscanf(format, read) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_sscanf+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/txt/text.phi](./org/eolang/txt/text.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ txt ↦ ⟦+ text(origin) ↦ ⟦+ φ ↦ ξ.origin,+ is-alphanumeric ↦ Φ̇.txt.regex("/^[A-Za-z0-9]+$/").matches(ξ.origin),+ is-alpha ↦ Φ̇.txt.regex("/^[a-zA-Z]+$/").matches(ξ.origin),+ is-ascii ↦ Φ̇.txt.regex("/^[\\x00-\\x7F]*$/").matches(ξ.origin),+ slice(start, len) ↦ ⟦+ φ ↦ ξ.ρ.ρ.text(ξ.ρ.origin.slice(ξ.start, ξ.len))+ ⟧,+ trimmed-left ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ idx ↦ Φ̇.dataized(ξ.first-non-space-index(0)).as-bytes,+ φ ↦ 0.eq(ξ.len).if(+ ξ.ρ, ξ.ρ.slice(ξ.idx, Φ̇.number(ξ.len).minus(Φ̇.number(ξ.idx)))+ ),+ first-non-space-index(index) ↦ ⟦+ char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+ φ ↦ ξ.ρ.len.eq(ξ.index).if(+ ξ.index,+ " ".eq(ξ.char).if(+ ξ.ρ.first-non-space-index(ξ.index.plus(1)), ξ.index+ )+ )+ ⟧+ ⟧,+ trimmed-right ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ φ ↦ 0.eq(ξ.len).if(+ ξ.ρ, ξ.ρ.slice(0, ξ.first-non-space-index(Φ̇.number(ξ.len).plus(-1)))+ ),+ first-non-space-index(index) ↦ ⟦+ char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+ φ ↦ -1.eq(ξ.index).if(+ 0,+ " ".eq(ξ.char).if(+ ξ.ρ.first-non-space-index(ξ.index.plus(-1)), ξ.index.plus(1)+ )+ )+ ⟧+ ⟧,+ trimmed ↦ ⟦+ φ ↦ 0.eq(ξ.ρ.length).if(ξ.ρ, ξ.ρ.trimmed-left.trimmed-right)+ ⟧,+ joined(items) ↦ ⟦+ delimiter ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+ first ↦ ξ.items.at(0),+ len ↦ Φ̇.dataized(ξ.items.length).as-bytes,+ not-empty ↦ Φ̇.dataized(+ 1.eq(ξ.len).if(+ ξ.first, ξ.first.as-bytes.concat(ξ.with-delimiter("".as-bytes, 1))+ )+ ).as-bytes,+ φ ↦ ξ.ρ.ρ.text(0.eq(ξ.len).if("", Φ̇.string(ξ.not-empty))),+ with-delimiter(acc, index) ↦ ⟦+ φ ↦ ξ.ρ.len.eq(ξ.index).if(+ ξ.acc,+ ξ.ρ.with-delimiter(+ ξ.acc.concat(ξ.ρ.delimiter.concat(ξ.ρ.items.at(ξ.index))), ξ.index.plus(1)+ )+ )+ ⟧+ ⟧,+ repeated(times) ↦ ⟦+ bts ↦ Φ̇.dataized(ξ.ρ.origin.as-bytes).as-bytes,+ amount ↦ Φ̇.dataized(ξ.times).as-bytes,+ φ ↦ 0.gt(ξ.amount).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't repeat text %d times", Φ̇.tuple(Φ̇.tuple.empty, ξ.amount)+ )+ ),+ ξ.ρ.ρ.text(+ 0.eq(ξ.amount).if("", Φ̇.string(ξ.rec-repeated(ξ.bts, 1)))+ )+ ),+ rec-repeated(accum, index) ↦ ⟦+ φ ↦ ξ.ρ.amount.eq(ξ.index).if(+ ξ.accum, ξ.ρ.rec-repeated(ξ.accum.concat(ξ.ρ.bts), ξ.index.plus(1))+ )+ ⟧+ ⟧,+ contains(substring) ↦ ⟦+ φ ↦ -1.eq(ξ.ρ.index-of(ξ.substring)).not+ ⟧,+ ends-with(substring) ↦ ⟦+ substr ↦ Φ̇.dataized(ξ.substring).as-bytes,+ φ ↦ ξ.ρ.index-of(ξ.substr).eq(ξ.ρ.length.minus(ξ.substr.size))+ ⟧,+ starts-with(substring) ↦ ⟦+ φ ↦ 0.eq(ξ.ρ.index-of(ξ.substring))+ ⟧,+ index-of(substring) ↦ ⟦+ self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+ substr ↦ Φ̇.string(ξ.substr-as-bytes),+ sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+ end ↦ Φ̇.dataized(Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))).as-bytes,+ φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+ ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+ ).if(-1, ξ.rec-index-of-substr(0)),+ rec-index-of-substr(idx) ↦ ⟦+ φ ↦ ξ.ρ.end.eq(ξ.idx).if(+ ξ.contains.if(ξ.idx, -1),+ ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(1)))+ ),+ contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+ ⟧,+ substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+ ⟧,+ last-index-of(substring) ↦ ⟦+ self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+ substr ↦ Φ̇.string(ξ.substr-as-bytes),+ sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+ φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+ ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+ ).if(+ -1,+ ξ.rec-index-of-substr(+ Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))+ )+ ),+ rec-index-of-substr(idx) ↦ ⟦+ φ ↦ 0.eq(ξ.idx).if(+ ξ.contains.if(ξ.idx, -1),+ ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(-1)))+ ),+ contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+ ⟧,+ substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+ ⟧,+ up-cased ↦ ⟦+ ascii-z ↦ Φ̇.dataized(ξ.ascii("z")).as-bytes,+ ascii-a ↦ Φ̇.dataized(ξ.ascii("a")).as-bytes,+ distance ↦ Φ̇.number(ξ.ascii-a).minus(ξ.ascii("A")),+ φ ↦ ξ.ρ.ρ.text(+ Φ̇.string(+ Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+ Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-258-22+ )+ )+ ),+ ascii(char) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(ξ.char.as-bytes).as-i64.as-number+ ⟧,+ auto-named-attr-at-258-22(accum, byte) ↦ ⟦+ ascii-bte ↦ ξ.ρ.ascii(ξ.byte),+ φ ↦ ξ.accum.concat(+ ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+ ξ.ascii-bte.minus(ξ.ρ.distance).as-i64.as-bytes.slice(7, 1), ξ.byte+ )+ )+ ⟧+ ⟧,+ low-cased ↦ ⟦+ ascii-z ↦ ξ.ρ.up-cased.ascii("Z"),+ ascii-a ↦ ξ.ρ.up-cased.ascii("A"),+ φ ↦ ξ.ρ.ρ.text(+ Φ̇.string(+ Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+ Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-291-22+ )+ )+ ),+ auto-named-attr-at-291-22(accum, byte) ↦ ⟦+ ascii-bte ↦ ξ.ρ.ρ.up-cased.ascii(ξ.byte),+ φ ↦ ξ.accum.concat(+ ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+ ξ.ascii-bte.plus(ξ.ρ.ρ.up-cased.distance).as-i64.as-bytes.slice(+ 7, 1+ ),+ ξ.byte+ )+ )+ ⟧+ ⟧,+ at(i) ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.length).as-bytes,+ idx ↦ Φ̇.dataized(ξ.i).as-bytes,+ index ↦ Φ̇.dataized(+ 0.gt(ξ.idx).if(Φ̇.number(ξ.len).plus(ξ.idx), ξ.idx)+ ).as-bytes,+ φ ↦ 0.gt(ξ.index).or(Φ̇.number(ξ.index).gte(ξ.len)).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Given index %d is out of text bounds", Φ̇.tuple(Φ̇.tuple.empty, ξ.index)+ )+ ),+ ξ.ρ.slice(ξ.index, 1)+ )+ ⟧,+ replaced(target, replacement) ↦ ⟦+ self-as-bytes ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+ reinit ↦ Φ̇.string(ξ.self-as-bytes),+ matched ↦ ξ.target.match(ξ.reinit).next,+ φ ↦ ξ.matched.exists.not.if(+ Φ̇.txt.text(ξ.reinit),+ Φ̇.txt.text(ξ.rec-replaced(ξ.matched, "", ξ.matched.start))+ ),+ rec-replaced(block, accum, start) ↦ ⟦+ φ ↦ ξ.block.exists.if(+ ξ.ρ.rec-replaced(+ ξ.block.next,+ ξ.accum.concat(+ ξ.ρ.reinit.slice(ξ.start, ξ.block.from.minus(ξ.start))+ ).concat(ξ.ρ.replacement),+ ξ.block.to+ ),+ Φ̇.string(+ ξ.accum.concat(+ ξ.ρ.reinit.slice(ξ.start, ξ.ρ.reinit.length.minus(ξ.start))+ )+ )+ )+ ⟧+ ⟧,+ as-number ↦ ⟦+ scanned ↦ Φ̇.txt.sscanf("%f", ξ.ρ.origin),+ φ ↦ ξ.scanned.length.eq(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert text %s to number", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin)+ )+ ),+ ξ.scanned.tail+ )+ ⟧,+ split(delimiter) ↦ ⟦+ delim ↦ Φ̇.dataized(ξ.delimiter).as-bytes,+ self-as-bytes ↦ ξ.ρ.origin.as-bytes,+ len ↦ Φ̇.dataized(ξ.self-as-bytes.size).as-bytes,+ φ ↦ ξ.len.eq(0).if(Φ̇.tuple.empty, ξ.rec-split(Φ̇.tuple.empty, 0, 0)),+ rec-split(accum, start, current) ↦ ⟦+ φ ↦ ξ.ρ.len.eq(ξ.current).if(+ ξ.with-substr,+ ξ.ρ.delim.eq(ξ.ρ.self-as-bytes.slice(ξ.current, 1)).if(+ ξ.ρ.rec-split(+ ξ.with-substr, ξ.current.plus(1), ξ.current.plus(1)+ ),+ ξ.ρ.rec-split(ξ.accum, ξ.start, ξ.current.plus(1))+ )+ ),+ with-substr ↦ ξ.accum.with(+ Φ̇.string(+ ξ.ρ.self-as-bytes.slice(ξ.start, ξ.current.minus(ξ.start))+ )+ )+ ⟧+ ⟧,+ chained(others) ↦ ⟦+ φ ↦ 0.eq(ξ.others.length).if(+ ξ.ρ,+ ξ.ρ.ρ.text(+ Φ̇.string(+ Φ̇.structs.list(ξ.others).reduced(+ ξ.ρ.origin.as-bytes,+ ⟦+ φ ↦ ξ.accum.concat(ξ.str.as-bytes),+ accum ↦ ∅,+ str ↦ ∅+ ⟧+ )+ )+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/while.phi](./org/eolang/while.phi)++```console+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ while(condition, body) ↦ ⟦+ φ ↦ ξ.condition(0).as-bool.if(ξ.loop(0), Φ̇.false),+ loop(index) ↦ ⟦+ current ↦ ξ.ρ.body(ξ.index),+ φ ↦ ξ.ρ.condition(ξ.index.plus(1)).as-bool.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.current), ξ.ρ.loop(ξ.index.plus(1))+ )+ ),+ ξ.current+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```+
+ data/0.49.3/org/eolang/as-phi.phi view
@@ -0,0 +1,11 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ as-phi(x) ↦ ⟦+ λ ⤍ Lorg_eolang_as_phi+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/bytes.phi view
@@ -0,0 +1,95 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ bytes(data) ↦ ⟦+ φ ↦ ξ.data,+ as-bytes ↦ ξ,+ as-bool ↦ ξ.eq(Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)),+ as-number ↦ ⟦+ φ ↦ ξ.ρ.eq(Φ̇.nan.as-bytes).if(+ Φ̇.nan,+ ξ.ρ.eq(Φ̇.positive-infinity.as-bytes).if(+ Φ̇.positive-infinity,+ ξ.ρ.eq(Φ̇.negative-infinity.as-bytes).if(+ Φ̇.negative-infinity,+ ξ.ρ.size.eq(8).if(+ Φ̇.number(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 8 length bytes to a number, bytes are %x", Φ̇.tuple.empty+ )+ )+ )+ )+ )+ )+ ⟧,+ eq(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_eq+ ⟧,+ size ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_size+ ⟧,+ slice(start, len) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_slice+ ⟧,+ as-i64 ↦ ⟦+ φ ↦ ξ.ρ.size.eq(8).if(+ Φ̇.i64(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 8 length bytes to i64, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ as-i32 ↦ ⟦+ φ ↦ ξ.ρ.size.eq(4).if(+ Φ̇.i32(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 4 length bytes to i32, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ as-i16 ↦ ⟦+ φ ↦ ξ.ρ.size.eq(2).if(+ Φ̇.i16(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 2 length bytes to i16, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ and(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_and+ ⟧,+ or(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_or+ ⟧,+ xor(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_xor+ ⟧,+ not ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_not+ ⟧,+ left(x) ↦ ⟦+ φ ↦ ξ.ρ.right(ξ.x.neg)+ ⟧,+ right(x) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_right+ ⟧,+ concat(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_concat+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/cti.phi view
@@ -0,0 +1,11 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ cti(delegate, level, message) ↦ ⟦+ φ ↦ ξ.delegate+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/dataized.phi view
@@ -0,0 +1,18 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ dataized(target) ↦ ⟦+ φ ↦ Φ̇.try(+ ξ.target,+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)+ )+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/error.phi view
@@ -0,0 +1,11 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ error(message) ↦ ⟦+ λ ⤍ Lorg_eolang_error+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/false.phi view
@@ -0,0 +1,21 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ false ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ not ↦ Φ̇.true,+ if(left, right) ↦ ⟦+ φ ↦ ξ.right+ ⟧,+ and(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ or(x) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/fs/dir.phi view
@@ -0,0 +1,71 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ fs ↦ ⟦+ dir(file) ↦ ⟦+ φ ↦ ξ.file,+ is-directory ↦ Φ̇.true,+ made ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.mkdir), ξ.ρ))+ ),+ mkdir ↦ ⟦+ λ ⤍ Lorg_eolang_fs_dir_made_mkdir+ ⟧+ ⟧,+ walk(glob) ↦ ⟦+ λ ⤍ Lorg_eolang_fs_dir_walk+ ⟧,+ deleted ↦ ⟦+ walked ↦ ξ.ρ.walk("**").at.ρ,+ len ↦ Φ̇.dataized(ξ.walked.length).as-bytes,+ φ ↦ ξ.ρ.exists.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.rec-delete(ξ.walked, 0)), ξ.ρ+ )+ ),+ ξ.ρ+ ),+ rec-delete(tup, index) ↦ ⟦+ φ ↦ ξ.ρ.len.eq(ξ.index).if(+ Φ̇.true,+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.tup.tail.deleted.exists),+ ξ.ρ.rec-delete(ξ.tup.head, ξ.index.plus(1))+ )+ )+ )+ ⟧+ ⟧,+ tmpfile ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ Φ̇.fs.file(Φ̇.string(ξ.touch.as-bytes)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Directory %s does not exist, can't create temporary file",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+ )+ )+ ),+ touch ↦ ⟦+ λ ⤍ Lorg_eolang_fs_dir_tmpfile_touch+ ⟧+ ⟧,+ open(mode, scope) ↦ ⟦+ φ ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "The file %s is a directory, can't open for I/O operations",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/fs/file.phi view
@@ -0,0 +1,164 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ fs ↦ ⟦+ file(path) ↦ ⟦+ φ ↦ ξ.path,+ is-directory ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_is_directory+ ⟧,+ exists ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_exists+ ⟧,+ touched ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.touch), ξ.ρ))+ ),+ touch ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_touched_touch+ ⟧+ ⟧,+ deleted ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.delete), ξ.ρ)), ξ.ρ+ ),+ delete ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_deleted_delete+ ⟧+ ⟧,+ size ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_size+ ⟧,+ moved(target) ↦ ⟦+ φ ↦ Φ̇.fs.file(Φ̇.string(ξ.move.as-bytes)),+ move ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_moved_move+ ⟧+ ⟧,+ as-path ↦ ⟦+ φ ↦ Φ̇.fs.path(ξ.ρ.path).determined+ ⟧,+ open(mode, scope) ↦ ⟦+ access ↦ Φ̇.dataized(ξ.mode).as-bytes,+ read ↦ ξ.access.eq("r"),+ write ↦ ξ.access.eq("w"),+ append ↦ ξ.access.eq("a"),+ read-write ↦ ξ.access.eq("r+"),+ write-read ↦ ξ.access.eq("w+"),+ read-append ↦ ξ.access.eq("a+"),+ can-read ↦ ξ.read.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).as-bool,+ can-write ↦ ξ.write.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).or(+ ξ.append+ ).as-bool,+ must-exists ↦ ξ.read.or(ξ.read-write).as-bool,+ truncate ↦ ξ.write.or(ξ.write-read).as-bool,+ φ ↦ ξ.can-read.not.and(ξ.can-write.not).if(+ Φ̇.error(+ "Wrong access mod. Only next modes are available: 'r', 'w', 'a', 'r+', 'w+', 'a+'"+ ),+ ξ.ρ.exists.not.if(+ ξ.must-exists.if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "File must exist for given access mod: '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.access)+ )+ ),+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.touched.touch), ξ.process-file+ ),+ ξ.ρ+ )+ )+ ),+ ξ.truncate.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.deleted.delete), ξ.ρ.touched.touch+ ),+ ξ.process-file+ ),+ ξ.ρ+ )+ ),+ Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.process-file), ξ.ρ))+ )+ )+ ),+ process-file ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_open_process_file+ ⟧,+ file-stream ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ Φ̇.dataized(ξ.ρ.ρ.read-bytes(ξ.size)).as-bytes,+ φ ↦ ξ.ρ.ρ.ρ.ρ.can-read.not.if(+ ξ.auto-named-attr-at-216-18,+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ )+ ).self,+ auto-named-attr-at-216-18 ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't read from file with provided access mode '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+ )+ )+ ⟧+ ⟧+ ⟧,+ read-bytes(size) ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_open_file_stream_read_read_bytes+ ⟧+ ⟧,+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.ρ.can-write.not.if(+ ξ.auto-named-attr-at-258-18,+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.written-bytes(ξ.buffer)), ξ.ρ.ρ.output-block+ )+ )+ ).self,+ auto-named-attr-at-258-18 ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't write to file with provided access mode '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+ )+ )+ ⟧+ ⟧+ ⟧,+ written-bytes(buffer) ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_open_file_stream_write_written_bytes+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/fs/path.phi view
@@ -0,0 +1,273 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ fs ↦ ⟦+ path(uri) ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.win32(Φ̇.string(ξ.uri.as-bytes)), ξ.posix(Φ̇.string(ξ.uri.as-bytes))+ ).determined,+ joined(paths) ↦ ⟦+ joined-path ↦ Φ̇.string(+ Φ̇.txt.text(ξ.ρ.separator).joined(ξ.paths).as-bytes+ ),+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.ρ.win32(ξ.joined-path), ξ.ρ.posix(ξ.joined-path)+ ).normalized+ ⟧,+ separator ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(ξ.ρ.win32.separator, ξ.ρ.posix.separator)+ ⟧,+ posix(uri) ↦ ⟦+ determined ↦ ξ,+ separator ↦ "/",+ as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+ as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+ φ ↦ ξ.uri,+ is-absolute ↦ ⟦+ φ ↦ ξ.ρ.uri.length.gt(0).and(+ ξ.ρ.uri.as-bytes.slice(0, 1).eq(ξ.ρ.separator)+ )+ ⟧,+ normalized ↦ ⟦+ uri-as-bytes ↦ ξ.ρ.uri.as-bytes,+ is-absolute ↦ ξ.ρ.is-absolute.as-bool,+ has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+ ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+ ξ.ρ.separator+ )+ ),+ path ↦ Φ̇.txt.text(ξ.ρ.separator).joined(+ Φ̇.structs.list(Φ̇.txt.text(ξ.ρ.uri).split(ξ.ρ.separator)).reduced(+ Φ̇.tuple.empty, ξ.auto-named-attr-at-102-25+ )+ ),+ normalized ↦ ξ.ρ.uri.length.eq(0).if(+ ".",+ ξ.is-absolute.if(ξ.ρ.separator.concat(ξ.path), ξ.path).concat(+ ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ )+ ).as-bytes,+ φ ↦ ξ.ρ.ρ.posix(+ ξ.normalized.eq("//").if("/", Φ̇.string(ξ.normalized))+ ).determined,+ auto-named-attr-at-102-25(accum, segment) ↦ ⟦+ φ ↦ ξ.segment.eq("..").if(+ ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+ ξ.accum.head, ξ.ρ.is-absolute.not.if(ξ.accum.with(ξ.segment), ξ.accum)+ ),+ ξ.segment.eq(".").or(ξ.segment.eq("")).if(+ ξ.accum, ξ.accum.with(ξ.segment)+ )+ )+ ⟧+ ⟧,+ resolved(other) ↦ ⟦+ other-as-bytes ↦ ξ.other.as-bytes,+ φ ↦ ξ.ρ.ρ.posix(+ Φ̇.string(+ ξ.other-as-bytes.slice(0, 1).eq(ξ.ρ.separator).if(+ ξ.other-as-bytes, ξ.ρ.uri.concat(ξ.ρ.separator).concat(ξ.other-as-bytes)+ )+ )+ ).normalized+ ⟧,+ basename ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ slice-start-idx ↦ Φ̇.dataized(+ ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+ ).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+ ξ.pth,+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ extname ↦ ⟦+ base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+ slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+ φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+ "",+ Φ̇.string(+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ dirname ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+ ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+ )+ )+ ⟧+ ⟧,+ win32(uri) ↦ ⟦+ separator ↦ "\\",+ φ ↦ ξ.validated(+ Φ̇.string(ξ.validated.separated-correctly(ξ.uri).as-bytes)+ ).determined,+ validated(uri) ↦ ⟦+ determined ↦ ξ,+ separator ↦ ξ.ρ.separator,+ as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+ as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+ φ ↦ ξ.uri,+ is-drive-relative(uri) ↦ ⟦+ φ ↦ Φ̇.txt.regex("/^[a-zA-Z]:/").matches(ξ.uri).as-bool+ ⟧,+ is-root-relative(uri) ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+ φ ↦ ξ.uri-as-bytes.size.gt(0).and(+ ξ.uri-as-bytes.slice(0, 1).eq(ξ.ρ.separator)+ )+ ⟧,+ separated-correctly(uri) ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+ pth ↦ Φ̇.txt.text(Φ̇.string(ξ.uri-as-bytes)),+ replaced ↦ Φ̇.dataized(+ ξ.pth.replaced(Φ̇.txt.regex("/\\//"), ξ.ρ.separator)+ ).as-bytes,+ φ ↦ ξ.pth.index-of(ξ.ρ.ρ.ρ.ρ.path.posix.separator).eq(-1).if(+ Φ̇.string(ξ.uri-as-bytes), Φ̇.string(ξ.replaced)+ )+ ⟧,+ is-absolute ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ φ ↦ ξ.uri-as-bytes.size.eq(0).if(+ Φ̇.false,+ ξ.ρ.is-root-relative(ξ.uri-as-bytes).or(+ ξ.uri-as-bytes.size.gt(1).and(+ ξ.ρ.is-drive-relative(ξ.uri-as-bytes)+ )+ )+ )+ ⟧,+ normalized ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.uri-as-bytes).as-bool,+ is-root-relative ↦ ξ.ρ.is-root-relative(ξ.uri-as-bytes).as-bool,+ driveless ↦ Φ̇.dataized(+ ξ.is-drive-relative.if(+ ξ.uri-as-bytes.slice(2, ξ.uri-as-bytes.size.plus(-2)), ξ.uri-as-bytes+ )+ ).as-bytes,+ has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+ ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+ ξ.ρ.separator+ )+ ),+ path ↦ Φ̇.dataized(+ Φ̇.txt.text(ξ.ρ.separator).joined(+ Φ̇.structs.list(+ Φ̇.txt.text(ξ.driveless).split(ξ.ρ.separator)+ ).reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-357-27)+ )+ ).as-bytes,+ normalized ↦ ξ.driveless.size.eq(0).if(+ ".",+ ξ.is-drive-relative.if(+ ξ.driveless.slice(0, 1).eq(ξ.ρ.separator).if(+ ξ.ρ.uri.slice(0, 3), ξ.ρ.uri.slice(0, 2)+ ),+ ξ.is-root-relative.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ ).concat(ξ.path).concat(+ ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ )+ ).as-bytes,+ φ ↦ ξ.ρ.ρ.validated(+ ξ.normalized.eq("\\\\").if(+ ξ.ρ.separator, Φ̇.string(ξ.normalized)+ )+ ).determined,+ auto-named-attr-at-357-27(accum, segment) ↦ ⟦+ φ ↦ ξ.segment.eq("..").if(+ ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+ ξ.accum.head,+ ξ.ρ.is-root-relative.not.and(ξ.ρ.is-drive-relative.not).if(+ ξ.accum.with(ξ.segment), ξ.accum+ )+ ),+ ξ.segment.eq(".").or(ξ.segment.eq("")).if(+ ξ.accum, ξ.accum.with(ξ.segment)+ )+ )+ ⟧+ ⟧,+ resolved(other) ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ valid-other ↦ Φ̇.dataized(ξ.ρ.separated-correctly(ξ.other)).as-bytes,+ other-is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.valid-other).as-bool,+ other-is-root-relative ↦ ξ.ρ.is-root-relative(ξ.valid-other).as-bool,+ φ ↦ ξ.ρ.ρ.validated(+ Φ̇.string(+ ξ.other-is-drive-relative.if(+ ξ.valid-other,+ ξ.other-is-root-relative.if(+ ξ.ρ.is-drive-relative(ξ.uri-as-bytes).if(+ ξ.uri-as-bytes.slice(0, 2).concat(ξ.valid-other), ξ.valid-other+ ),+ ξ.uri-as-bytes.concat(ξ.ρ.separator).concat(+ ξ.valid-other+ )+ )+ )+ )+ ).normalized+ ⟧,+ basename ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ slice-start-idx ↦ Φ̇.dataized(+ ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+ ).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+ ξ.pth,+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ extname ↦ ⟦+ base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+ slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+ φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+ "",+ Φ̇.string(+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ dirname ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+ ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+ )+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/fs/tmpdir.phi view
@@ -0,0 +1,39 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ fs ↦ ⟦+ tmpdir ↦ ⟦+ φ ↦ Φ̇.fs.dir(Φ̇.fs.file(Φ̇.string(ξ.os-tmp-dir))),+ os-tmp-dir ↦ Φ̇.dataized(ξ.os-tmp-dir-1).as-bytes,+ os-tmp-dir-1 ↦ ⟦+ tmpdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TMPDIR")).as-bytes,+ tmp ↦ Φ̇.dataized(Φ̇.sys.getenv("TMP")).as-bytes,+ temp ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMP")).as-bytes,+ tempdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMPDIR")).as-bytes,+ userprofile ↦ Φ̇.dataized(Φ̇.sys.getenv("USERPROFILE")).as-bytes,+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.tmp.eq("").if(+ ξ.temp.eq("").if(+ ξ.userprofile.eq("").if("C:\\Windows", ξ.userprofile), ξ.temp+ ),+ ξ.tmp+ ),+ ξ.tmpdir.eq("").if(+ ξ.tmp.eq("").if(+ ξ.temp.eq("").if(+ ξ.tempdir.eq("").if("/tmp", ξ.tempdir), ξ.temp+ ),+ ξ.tmp+ ),+ ξ.tmpdir+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/go.phi view
@@ -0,0 +1,34 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ go ↦ ⟦+ id ↦ Φ̇.dataized(+ Φ̇.malloc.of(+ 8,+ ⟦+ φ ↦ ξ.m.put(ξ.m.id),+ m ↦ ∅+ ⟧+ )+ ).as-bytes,+ to(body) ↦ ⟦+ φ ↦ Φ̇.try(ξ.body(ξ.token), ξ.auto-named-attr-at-63-9, Φ̇.true),+ token ↦ ⟦+ backward ↦ Φ̇.error(ξ.jump(ξ.ρ.ρ.to(ξ.ρ.body))),+ jump(value) ↦ ⟦+ id ↦ ξ.ρ.ρ.ρ.id+ ⟧,+ forward(res) ↦ ⟦+ φ ↦ Φ̇.error(ξ.ρ.jump(ξ.res))+ ⟧+ ⟧,+ auto-named-attr-at-63-9(e) ↦ ⟦+ φ ↦ ξ.ρ.ρ.id.eq(ξ.e.id).if(ξ.e.value, Φ̇.error(ξ.e))+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/i16.phi view
@@ -0,0 +1,67 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ i16(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i16 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64.as-i32.as-i16),+ as-i64 ↦ ξ.as-i32.as-i64,+ as-number ↦ ξ.as-i64.as-number,+ as-i32 ↦ ⟦+ λ ⤍ Lorg_eolang_i16_as_i32+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.lt(ξ.x.as-i16.as-i32)+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.lte(ξ.x.as-i16.as-i32)+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.gt(ξ.x.as-i16.as-i32)+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.gte(ξ.x.as-i16.as-i32)+ ⟧,+ times(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i32.times(ξ.x.as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+ ⟧,+ plus(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i32.plus(ξ.x.as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ.plus(ξ.x.as-i16.neg)+ ⟧,+ div(x) ↦ ⟦+ x-as-i16 ↦ ξ.x.as-i16,+ bts ↦ ξ.ρ.as-i32.div(ξ.x-as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧),+ φ ↦ ξ.x-as-i16.eq(ξ.zero).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't divide %d by i16 zero",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i32.as-i64.as-number)+ )+ ),+ ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))).if(+ ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right))+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/i32.phi view
@@ -0,0 +1,79 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ i32(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i32 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64.as-i32),+ as-number ↦ ξ.as-i64.as-number,+ as-i64 ↦ ⟦+ λ ⤍ Lorg_eolang_i32_as_i64+ ⟧,+ as-i16 ↦ ⟦+ left ↦ ξ.ρ.as-bytes.slice(0, 2).as-bytes,+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(+ Φ̇.i16(ξ.ρ.as-bytes.slice(2, 2)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert i32 number %d to i16 because it's out of i16 bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+ )+ )+ )+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.lt(ξ.x.as-i32.as-i64)+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.lte(ξ.x.as-i32.as-i64)+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.gt(ξ.x.as-i32.as-i64)+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.gte(ξ.x.as-i32.as-i64)+ ⟧,+ times(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i64.times(ξ.x.as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+ ⟧,+ plus(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i64.plus(ξ.x.as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ.plus(ξ.x.as-i32.neg)+ ⟧,+ div(x) ↦ ⟦+ x-as-i32 ↦ ξ.x.as-i32,+ bts ↦ ξ.ρ.as-i64.div(ξ.x-as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧),+ φ ↦ ξ.x-as-i32.eq(ξ.zero).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't divide %d by i32 zero", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+ )+ ),+ ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))).if(+ ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right))+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/i64.phi view
@@ -0,0 +1,59 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ i64(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i64 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64),+ as-i16 ↦ ξ.as-i32.as-i16,+ as-i32 ↦ ⟦+ left ↦ ξ.ρ.as-bytes.slice(0, 4).as-bytes,+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(+ Φ̇.i32(ξ.ρ.as-bytes.slice(4, 4)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert i64 number %d to i32 because it's out of i32 bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-number)+ )+ )+ )+ ⟧,+ as-number ↦ ⟦+ λ ⤍ Lorg_eolang_i64_as_number+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ 0.as-i64.gt(ξ.ρ.minus(ξ.ρ.ρ.i64(ξ.value)))+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ gt(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_gt+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ times(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_times+ ⟧,+ plus(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_plus+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.plus(ξ.ρ.ρ.i64(ξ.value).neg)+ ⟧,+ div(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_div+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/io/bytes-as-input.phi view
@@ -0,0 +1,36 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ bytes-as-input(bts) ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(ξ.ρ.bts, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(data, buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ to-read ↦ Φ̇.dataized(ξ.size).as-bytes,+ available ↦ Φ̇.dataized(ξ.ρ.data.size).as-bytes,+ next ↦ Φ̇.dataized(+ Φ̇.number(ξ.available).gt(ξ.to-read).if(ξ.to-read, ξ.available)+ ).as-bytes,+ φ ↦ ξ.available.eq(0).if(+ ξ.ρ.ρ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.bytes(⟦ Δ ⤍ -- ⟧)),+ ξ.ρ.ρ.input-block(+ ξ.ρ.data.slice(+ ξ.next, Φ̇.number(ξ.available).minus(Φ̇.number(ξ.next))+ ).as-bytes,+ ξ.ρ.data.slice(0, ξ.next).as-bytes+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/io/console.phi view
@@ -0,0 +1,122 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ console ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(ξ.windows-console, ξ.posix-console).platform,+ posix-console ↦ ⟦+ platform ↦ ξ,+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ Φ̇.dataized(+ Φ̇.sys.posix(+ "read",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.stdin-fileno), ξ.size+ )+ ).output+ ).as-bytes,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ ).self+ ⟧+ ⟧+ ⟧,+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.sys.posix(+ "write",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty, Φ̇.sys.posix.stdout-fileno+ ),+ ξ.buffer+ ),+ ξ.buffer.size+ )+ ).code+ ),+ ξ.ρ.ρ.output-block+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ windows-console ↦ ⟦+ platform ↦ ξ,+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ Φ̇.dataized(+ Φ̇.sys.win32(+ "ReadFile",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.std-input-handle), ξ.size+ )+ ).output+ ).as-bytes,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ ).self+ ⟧+ ⟧+ ⟧,+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.sys.win32(+ "WriteFile",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty, Φ̇.sys.win32.std-output-handle+ ),+ ξ.buffer+ ),+ ξ.buffer.size+ )+ ).code+ ),+ ξ.ρ.ρ.output-block+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/io/dead-input.phi view
@@ -0,0 +1,22 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ dead-input ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block,+ input-block ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ -- ⟧),+ read(size) ↦ ⟦+ φ ↦ ξ.ρ.ρ.input-block+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/io/dead-output.phi view
@@ -0,0 +1,22 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ dead-output ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block,+ output-block ↦ ⟦+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ ξ.ρ.ρ.output-block+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/io/input-length.phi view
@@ -0,0 +1,21 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ input-length(input) ↦ ⟦+ chunk ↦ 4096,+ φ ↦ ξ.rec-read(ξ.input, 0),+ rec-read(input, length) ↦ ⟦+ read-bytes ↦ ξ.input.read(ξ.ρ.chunk).read.ρ,+ φ ↦ ξ.read-bytes.size.eq(0).if(+ ξ.length, ξ.ρ.rec-read(ξ.read-bytes, ξ.length.plus(ξ.read-bytes.size))+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/io/malloc-as-output.phi view
@@ -0,0 +1,30 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ malloc-as-output(allocated) ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block(0).write(ξ.buffer).self,+ output-block(offset) ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty, ξ.ρ.ρ.ρ.allocated.write(ξ.ρ.offset, ξ.buffer)+ ),+ ξ.ρ.ρ.output-block(ξ.ρ.offset.plus(ξ.buffer.size))+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/io/stdin.phi view
@@ -0,0 +1,45 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ stdin ↦ ⟦+ φ ↦ ξ.all-lines,+ all-lines ↦ ⟦+ φ ↦ ξ.rec-read(ξ.ρ.next-line, Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.true),+ separator ↦ Φ̇.dataized(Φ̇.sys.line-separator).as-bytes,+ rec-read(line, buffer, first) ↦ ⟦+ φ ↦ ξ.line.length.eq(0).if(+ Φ̇.string(ξ.buffer),+ ξ.ρ.rec-read(+ ξ.ρ.ρ.next-line,+ ξ.first.if(+ ξ.buffer.concat(ξ.line), ξ.buffer.concat(ξ.ρ.separator).concat(ξ.line)+ ),+ Φ̇.false+ )+ )+ ⟧+ ⟧,+ next-line ↦ ⟦+ first ↦ Φ̇.io.console.read(1).self,+ φ ↦ ξ.first.as-bytes.size.eq(0).if(+ "", ξ.rec-read(ξ.first, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ ),+ rec-read(input, buffer) ↦ ⟦+ char ↦ ξ.input.as-bytes,+ next ↦ ξ.input.read(1).self,+ φ ↦ ξ.char.eq(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).or(+ ξ.char.eq("\r").and(ξ.next.as-bytes.eq("\n")).or(ξ.char.eq("\n"))+ ).if(+ Φ̇.string(ξ.buffer), ξ.ρ.rec-read(ξ.next, ξ.buffer.concat(ξ.char))+ )+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/io/stdout.phi view
@@ -0,0 +1,18 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ stdout(text) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.io.console.write(ξ.text)), Φ̇.true+ )+ )+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/io/tee-input.phi view
@@ -0,0 +1,34 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ io ↦ ⟦+ tee-input(input, output) ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(ξ.ρ.input, ξ.ρ.output, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(+ ξ.size+ ).self,+ input-block(input, output, buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ ξ.ρ.input.read(ξ.size).read.ρ,+ written-bytes ↦ ξ.ρ.output.write(ξ.read-bytes).write.ρ,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.written-bytes),+ ξ.ρ.ρ.input-block(+ ξ.read-bytes, ξ.written-bytes, ξ.read-bytes.as-bytes+ )+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/malloc.phi view
@@ -0,0 +1,55 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ malloc ↦ ⟦+ empty(scope) ↦ ⟦+ φ ↦ ξ.ρ.ρ.malloc.of(0, ξ.scope)+ ⟧,+ for(object, scope) ↦ ⟦+ bts ↦ Φ̇.dataized(ξ.object).as-bytes,+ φ ↦ ξ.ρ.ρ.malloc.of(ξ.bts.size, ξ.auto-named-attr-at-96-9),+ auto-named-attr-at-96-9(m) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.m.write(0, ξ.ρ.bts)), ξ.ρ.scope(ξ.m)+ )+ )+ ⟧+ ⟧,+ of(size, scope) ↦ ⟦+ φ ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_φ+ ⟧,+ allocated(id) ↦ ⟦+ φ ↦ ξ.get,+ get ↦ ξ.read(0, ξ.size),+ size ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_size+ ⟧,+ resized(new-size) ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_resized+ ⟧,+ copy(source, target, length) ↦ ⟦+ φ ↦ ξ.ρ.write(ξ.target, ξ.ρ.read(ξ.source, ξ.length))+ ⟧,+ read(offset, length) ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_read+ ⟧,+ write(offset, data) ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_write+ ⟧,+ put(object) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.write(0, ξ.object)), ξ.ρ.get+ )+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/math/angle.phi view
@@ -0,0 +1,30 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ angle(value) ↦ ⟦+ φ ↦ ξ.value,+ in-degrees ↦ ξ.ρ.angle(ξ.ρ.times(180).div(Φ̇.math.pi)),+ in-radians ↦ ξ.ρ.angle(ξ.times(Φ̇.math.pi).div(180)),+ sin ↦ ⟦+ λ ⤍ Lorg_eolang_math_angle_sin+ ⟧,+ cos ↦ ⟦+ λ ⤍ Lorg_eolang_math_angle_cos+ ⟧,+ tan ↦ ⟦+ cosine ↦ Φ̇.dataized(ξ.ρ.cos).as-bytes,+ φ ↦ ξ.cosine.eq(0).if(Φ̇.nan, ξ.ρ.sin.div(ξ.cosine))+ ⟧,+ ctan ↦ ⟦+ sine ↦ Φ̇.dataized(ξ.ρ.sin).as-bytes,+ φ ↦ ξ.sine.eq(0).if(Φ̇.nan, ξ.ρ.cos.div(ξ.sine))+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/math/e.phi view
@@ -0,0 +1,12 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ e ↦ 2.718281828459045,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/math/integral.phi view
@@ -0,0 +1,66 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ integral(fun, a, b, n) ↦ ⟦+ subsection(a, b) ↦ ⟦+ φ ↦ ξ.b.minus(ξ.a).div(6).times(+ ξ.ρ.fun(ξ.a).plus(+ 4.times(ξ.ρ.fun(0.5.times(ξ.a.plus(ξ.b)))).plus(ξ.ρ.fun(ξ.b))+ )+ )+ ⟧,+ φ ↦ Φ̇.malloc.of(8, ξ.auto-named-attr-at-50-11).as-number,+ auto-named-attr-at-50-11(sum) ↦ ⟦+ φ ↦ Φ̇.malloc.for(ξ.ρ.a, ξ.auto-named-attr-at-53-16),+ auto-named-attr-at-53-16(left) ↦ ⟦+ right ↦ ξ.ρ.ρ.b,+ step ↦ ξ.right.minus(ξ.left).div(ξ.ρ.ρ.n).as-number,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.while(+ ξ.auto-named-attr-at-59-21,+ ⟦+ φ ↦ Φ̇.true,+ i ↦ ∅+ ⟧+ )+ ),+ ξ.ρ.sum+ )+ ),+ auto-named-attr-at-59-21(i) ↦ ⟦+ φ ↦ ξ.ρ.left.as-number.plus(ξ.ρ.step).lt(ξ.ρ.right).if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ ξ.ρ.ρ.sum.put(+ ξ.ρ.ρ.sum.as-number.plus(+ ξ.ρ.ρ.ρ.subsection(+ ξ.ρ.left.as-number, ξ.ρ.left.as-number.plus(ξ.ρ.step)+ )+ )+ )+ ),+ ξ.ρ.left.put(ξ.ρ.left.as-number.plus(ξ.ρ.step))+ ),+ Φ̇.true+ )+ ),+ Φ̇.false+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/math/numbers.phi view
@@ -0,0 +1,42 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ numbers(sequence) ↦ ⟦+ φ ↦ ξ.sequence,+ max ↦ ⟦+ lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+ φ ↦ ξ.lst.is-empty.if(+ Φ̇.error("Can't get max number from empty sequence"),+ ξ.lst.reduced(+ Φ̇.negative-infinity,+ ⟦+ max ↦ ∅,+ item ↦ ∅,+ φ ↦ ξ.item.as-number.gt(ξ.max).if(ξ.item, ξ.max)+ ⟧+ )+ )+ ⟧,+ min ↦ ⟦+ lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+ φ ↦ ξ.lst.is-empty.if(+ Φ̇.error("Can't get min number from empty sequence"),+ ξ.lst.reduced(+ Φ̇.positive-infinity,+ ⟦+ min ↦ ∅,+ item ↦ ∅,+ φ ↦ ξ.min.gt(ξ.item.as-number).if(ξ.item, ξ.min)+ ⟧+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/math/pi.phi view
@@ -0,0 +1,12 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ pi ↦ 3.141592653589793,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/math/random.phi view
@@ -0,0 +1,53 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ random(seed) ↦ ⟦+ fixed ↦ ξ,+ φ ↦ ξ.seed.as-number.div(+ Φ̇.bytes(⟦ Δ ⤍ 00-20-00-00-00-00-00-00 ⟧).as-i64.as-number+ ),+ next ↦ ξ.ρ.random(+ ξ.seed.times(25214903917).plus(11).as-i64.and(+ Φ̇.bytes(⟦ Δ ⤍ 00-0F-FF-FF-FF-FF-FF-FF ⟧)+ ).as-i64.as-number+ ).fixed,+ pseudo ↦ ⟦+ const-1 ↦ 35,+ const-2 ↦ 53,+ const-3 ↦ 17,+ one ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-01 ⟧),+ φ ↦ ξ.ρ.ρ.random(ξ.time-seed),+ time-seed ↦ ξ.time-bytes.left(ξ.const-1).and(+ ξ.one.left(ξ.const-2).as-i64.minus(ξ.one).as-bytes+ ).as-i64.plus(+ ξ.time-bytes.left(ξ.const-3).and(+ ξ.one.left(ξ.const-1).as-i64.minus(ξ.one).as-bytes+ ).as-i64.plus(+ ξ.time-bytes.and(+ ξ.one.left(ξ.const-3).as-i64.minus(ξ.one).as-bytes+ ).as-i64+ )+ ).as-number,+ time-bytes ↦ Φ̇.sys.os.is-windows.if(+ Φ̇.sys.win32(+ "GetSystemTime", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.system-time)+ ).milliseconds,+ ⟦+ timeval ↦ Φ̇.sys.posix(+ "gettimeofday", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.timeval)+ ).output,+ φ ↦ ξ.timeval.tv-sec.times(1000).plus(+ ξ.timeval.tv-usec.as-i64.div(1000.as-i64).as-number+ )+ ⟧+ ).as-i64.as-bytes+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/math/real.phi view
@@ -0,0 +1,49 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ math ↦ ⟦+ real(num) ↦ ⟦+ φ ↦ ξ.num,+ exp ↦ Φ̇.math.real(Φ̇.math.e).pow(ξ.num),+ mod(x) ↦ ⟦+ dividend ↦ Φ̇.number(ξ.ρ.num.as-bytes),+ divisor ↦ Φ̇.number(ξ.x.as-bytes),+ φ ↦ ξ.divisor.eq(0).if(+ Φ̇.error("Can't calculate mod by zero"),+ ξ.dividend.gt(0).if(ξ.abs-mod, ξ.abs-mod.neg)+ ),+ abs-mod ↦ ⟦+ dividend-abs ↦ Φ̇.math.real(ξ.ρ.dividend).abs,+ divisor-abs ↦ Φ̇.math.real(ξ.ρ.divisor).abs,+ φ ↦ ξ.dividend-abs.minus(+ ξ.divisor-abs.times(ξ.dividend-abs.div(ξ.divisor-abs).floor)+ )+ ⟧+ ⟧,+ abs ↦ ⟦+ value ↦ Φ̇.number(ξ.ρ.num.as-bytes),+ φ ↦ ξ.value.gte(0).if(ξ.value, ξ.value.neg)+ ⟧,+ pow(x) ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_pow+ ⟧,+ sqrt ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_sqrt+ ⟧,+ ln ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_ln+ ⟧,+ acos ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_acos+ ⟧,+ asin ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_asin+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/nan.phi view
@@ -0,0 +1,44 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ nan ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F8-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ ξ,+ is-nan ↦ Φ̇.true,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert NaN to i64"),+ eq(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ times(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ plus(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ div(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/negative-infinity.phi view
@@ -0,0 +1,61 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ negative-infinity ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ FF-F0-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ Φ̇.positive-infinity,+ is-nan ↦ Φ̇.false,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert negative infinity to i64"),+ eq(x) ↦ ⟦+ φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.not+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.eq(ξ.x)+ ⟧,+ times(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+ Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.positive-infinity)+ )+ ⟧,+ plus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.positive-infinity)).if(+ Φ̇.nan, ξ.ρ+ )+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+ ⟧,+ div(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+ Φ̇.nan,+ ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+ Φ̇.positive-infinity, ξ.ρ+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/net/socket.phi view
@@ -0,0 +1,535 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ net ↦ ⟦+ socket(address, port) ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.win-socket(ξ.address, ξ.port), ξ.posix-socket(ξ.address, ξ.port)+ ),+ htons(port) ↦ ⟦+ bts ↦ ξ.port.as-i16.as-bytes,+ φ ↦ ξ.bts.and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧)).left(8).or(+ ξ.bts.right(8).and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧))+ ).as-i16+ ⟧,+ as-input(recv) ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ ξ.ρ.ρ.ρ.recv(ξ.size).as-bytes,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ as-output(send) ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.send(ξ.buffer)), ξ.ρ.ρ.output-block+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ posix-socket(address, port) ↦ ⟦+ sd ↦ Φ̇.sys.posix(+ "socket",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.af-inet), Φ̇.sys.posix.sock-stream+ ),+ Φ̇.sys.posix.ipproto-tcp+ )+ ).code,+ inet-addr ↦ Φ̇.sys.posix(+ "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+ ).code,+ inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.posix.inaddr-none).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' posix syscall, reason: '%s'",+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.strerror.code)+ )+ ),+ ξ.inet-addr.as-i32+ ),+ sockaddr ↦ Φ̇.sys.posix.sockaddr-in(+ Φ̇.sys.posix.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+ ),+ scoped-socket(sockfd) ↦ ⟦+ as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+ as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+ send(buffer) ↦ ⟦+ buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+ sent ↦ Φ̇.sys.posix(+ "send",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+ ),+ 0+ )+ ).code,+ φ ↦ ξ.sent.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to send message through the socket '%d', reason: %s",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+ )+ )+ ),+ ξ.sent+ )+ ⟧,+ recv(size) ↦ ⟦+ received ↦ Φ̇.sys.posix(+ "recv",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+ )+ ).called,+ φ ↦ ξ.received.code.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to receive data from the socket '%d', reason: %s",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+ )+ )+ ),+ ξ.received.output+ )+ ⟧+ ⟧,+ strerror ↦ ⟦+ φ ↦ Φ̇.sys.posix(+ "strerror",+ Φ̇.tuple(+ Φ̇.tuple.empty, Φ̇.sys.posix("errno", Φ̇.tuple.empty).code+ )+ )+ ⟧,+ closed-socket(sockfd) ↦ ⟦+ closed ↦ Φ̇.sys.posix("close", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)).code,+ φ ↦ ξ.closed.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't close a posix socket '%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.strerror.code+ )+ )+ ),+ Φ̇.true+ )+ ⟧,+ safe-socket(scope) ↦ ⟦+ φ ↦ ξ.ρ.sd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't create a posix socket, reason: '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.strerror.code)+ )+ ),+ Φ̇.try(+ ξ.scope,+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.ρ.closed-socket(ξ.ρ.sd)+ )+ )+ ⟧,+ connect(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-276-10),+ auto-named-attr-at-276-10 ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ connected ↦ Φ̇.sys.posix(+ "connect",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ ξ.connected.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't connect to '%s:%d' on posix socket '%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.strerror.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+ )+ ⟧+ ⟧,+ listen(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-300-10),+ auto-named-attr-at-300-10 ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ bound ↦ Φ̇.sys.posix(+ "bind",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ listened ↦ Φ̇.sys.posix(+ "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+ ).code,+ φ ↦ ξ.bound.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't bind posix socket '%d' to '%s:%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+ ),+ ξ.sock.port+ ),+ ξ.sock.strerror.code+ )+ )+ ),+ ξ.listened.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to listen for connections to '%s:%d' on socket '%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.strerror.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-325-22)).as-bytes+ )+ ),+ auto-named-attr-at-325-22 ↦ ⟦+ φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+ accept(scope) ↦ ⟦+ sock ↦ ξ.ρ.ρ.sock,+ client-sockfd ↦ Φ̇.sys.posix(+ "accept",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ Φ̇.try(+ ξ.client-sockfd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to accept a connection on posix socket '%d', reason: %s",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.strerror.code+ )+ )+ ),+ Φ̇.dataized(+ ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+ ).as-bytes+ ),+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.sock.closed-socket(ξ.client-sockfd)+ )+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ win-socket(address, port) ↦ ⟦+ sd ↦ Φ̇.sys.win32(+ "socket",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.af-inet), Φ̇.sys.win32.sock-stream+ ),+ Φ̇.sys.win32.ipproto-tcp+ )+ ).code,+ inet-addr ↦ Φ̇.sys.win32(+ "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+ ).code,+ inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.win32.inaddr-none).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' win32 function call, WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.last-error.code+ )+ )+ ),+ ξ.inet-addr.as-i32+ ),+ sockaddr ↦ Φ̇.sys.win32.sockaddr-in(+ Φ̇.sys.win32.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+ ),+ scoped-socket(sockfd) ↦ ⟦+ as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+ as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+ send(buffer) ↦ ⟦+ buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+ sent ↦ Φ̇.sys.win32(+ "send",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+ ),+ 0+ )+ ).code,+ φ ↦ ξ.sent.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to send message through the socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+ )+ )+ ),+ ξ.sent+ )+ ⟧,+ recv(size) ↦ ⟦+ received ↦ Φ̇.sys.win32(+ "recv",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+ )+ ).called,+ φ ↦ ξ.received.code.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to receive data from the socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+ )+ )+ ),+ ξ.received.output+ )+ ⟧+ ⟧,+ last-error ↦ ⟦+ φ ↦ Φ̇.sys.win32("WSAGetLastError", Φ̇.tuple.empty)+ ⟧,+ closed-socket(sockfd) ↦ ⟦+ closed ↦ Φ̇.sys.win32(+ "closesocket", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)+ ).code,+ φ ↦ ξ.closed.eq(Φ̇.sys.win32.socket-error).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't close a win32 socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.last-error.code+ )+ )+ ),+ Φ̇.true+ )+ ⟧,+ safe-socket(scope) ↦ ⟦+ started-up ↦ Φ̇.sys.win32(+ "WSAStartup", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.winsock-version-2-2)+ ).code,+ cleaned-up ↦ Φ̇.sys.win32("WSACleanup", Φ̇.tuple.empty).code,+ φ ↦ ξ.started-up.eq(0).not.if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't initialize Winsock via 'WSAStartup' call, WSA error code: %d",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.started-up)+ )+ ),+ Φ̇.try(+ ξ.ρ.sd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't create a win32 socket, WSA error code: %d",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.last-error.code)+ )+ ),+ Φ̇.try(+ ξ.scope,+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.ρ.closed-socket(ξ.ρ.sd)+ )+ ),+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.cleaned-up.eq(Φ̇.sys.win32.socket-error).if(+ Φ̇.error("Couldn't cleanup Winsock resources"), Φ̇.true+ )+ )+ )+ ⟧,+ connect(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-485-10),+ auto-named-attr-at-485-10 ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ connected ↦ Φ̇.sys.win32(+ "connect",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ ξ.connected.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't connect to '%s:%d' on win32 socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.last-error.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+ )+ ⟧+ ⟧,+ listen(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-509-10),+ auto-named-attr-at-509-10 ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ bound ↦ Φ̇.sys.win32(+ "bind",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ listened ↦ Φ̇.sys.win32(+ "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+ ).code,+ φ ↦ ξ.bound.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't bind win32 socket '%d' to '%s:%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+ ),+ ξ.sock.port+ ),+ ξ.sock.last-error.code+ )+ )+ ),+ ξ.listened.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to listen for connections to '%s:%d' on socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.last-error.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-534-22)).as-bytes+ )+ ),+ auto-named-attr-at-534-22 ↦ ⟦+ φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+ accept(scope) ↦ ⟦+ sock ↦ ξ.ρ.ρ.sock,+ client-sockfd ↦ Φ̇.sys.win32(+ "accept",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ Φ̇.try(+ ξ.client-sockfd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to accept a connection on win32 socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.last-error.code+ )+ )+ ),+ Φ̇.dataized(+ ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+ ).as-bytes+ ),+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.sock.closed-socket(ξ.client-sockfd)+ )+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/number.phi view
@@ -0,0 +1,74 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ number(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-number ↦ ξ,+ neg ↦ ξ.times(-1),+ as-i32 ↦ ξ.as-i64.as-i32,+ as-i16 ↦ ξ.as-i32.as-i16,+ is-nan ↦ ξ.as-bytes.eq(Φ̇.nan.as-bytes),+ as-i64 ↦ ⟦+ λ ⤍ Lorg_eolang_number_as_i64+ ⟧,+ eq(x) ↦ ⟦+ x-as-bytes ↦ Φ̇.dataized(ξ.x).as-bytes,+ self-as-bytes ↦ ξ.ρ.as-bytes,+ pos-zero-as-bytes ↦ 0.as-bytes,+ neg-zero-as-bytes ↦ -0.as-bytes,+ φ ↦ ξ.ρ.is-nan.or(Φ̇.number(ξ.x-as-bytes).is-nan).if(+ Φ̇.false,+ ξ.x-as-bytes.eq(ξ.pos-zero-as-bytes).or(+ ξ.x-as-bytes.eq(ξ.neg-zero-as-bytes)+ ).and(+ ξ.self-as-bytes.eq(ξ.pos-zero-as-bytes).or(+ ξ.self-as-bytes.eq(ξ.neg-zero-as-bytes)+ )+ ).or(ξ.self-as-bytes.eq(ξ.x-as-bytes))+ )+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ 0.gt(ξ.ρ.minus(Φ̇.number(ξ.value)))+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ gt(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_gt+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ times(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_times+ ⟧,+ plus(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_plus+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.plus(Φ̇.number(ξ.value).neg)+ ⟧,+ div(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_div+ ⟧,+ floor ↦ ⟦+ λ ⤍ Lorg_eolang_number_floor+ ⟧,+ is-integer ↦ ⟦+ φ ↦ ξ.ρ.is-finite.and(ξ.ρ.eq(ξ.ρ.floor))+ ⟧,+ is-finite ↦ ⟦+ φ ↦ ξ.ρ.is-nan.not.and(+ ξ.ρ.eq(Φ̇.positive-infinity).or(ξ.ρ.eq(Φ̇.negative-infinity)).not+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/positive-infinity.phi view
@@ -0,0 +1,61 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ positive-infinity ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F0-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ Φ̇.negative-infinity,+ is-nan ↦ Φ̇.false,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert positive infinity to i64"),+ eq(x) ↦ ⟦+ φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.eq(ξ.x)+ ⟧,+ gt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.not+ ⟧,+ times(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+ Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.negative-infinity)+ )+ ⟧,+ plus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.negative-infinity)).if(+ Φ̇.nan, ξ.ρ+ )+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+ ⟧,+ div(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+ Φ̇.nan,+ ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+ Φ̇.negative-infinity, ξ.ρ+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/seq.phi view
@@ -0,0 +1,17 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ seq(steps) ↦ ⟦+ φ ↦ ξ.steps.length.eq(0).if(Φ̇.true, ξ.loop(0)),+ max-len ↦ Φ̇.dataized(ξ.steps.length.minus(1)).as-bytes,+ loop(index) ↦ ⟦+ φ ↦ ξ.index.lt(ξ.ρ.max-len).and(+ Φ̇.dataized(ξ.ρ.steps.at(ξ.index)).as-bool.or(Φ̇.true)+ ).if(ξ.ρ.loop(ξ.index.plus(1)), ξ.ρ.steps.at(ξ.index))+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/string.phi view
@@ -0,0 +1,155 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ string(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ length ↦ ⟦+ size ↦ ξ.ρ.as-bytes.size,+ pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+ pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+ pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+ pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+ result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+ result-three ↦ ξ.pattern-two,+ result-four ↦ ξ.pattern-three,+ φ ↦ ξ.size.eq(0).if(0, ξ.rec-length(0, 0)),+ increase-length(index, char-size, len) ↦ ⟦+ φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+ )+ )+ ),+ ξ.ρ.rec-length(ξ.index.plus(ξ.char-size), ξ.len.plus(1))+ )+ ⟧,+ rec-length(index, accum) ↦ ⟦+ byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+ φ ↦ ξ.index.eq(ξ.ρ.size).if(+ ξ.accum,+ ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+ ξ.ρ.increase-length(ξ.index, 1, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+ ξ.ρ.increase-length(ξ.index, 2, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+ ξ.ρ.increase-length(ξ.index, 3, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+ ξ.ρ.increase-length(ξ.index, 4, ξ.accum),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Unknown byte format (%x), can't recognize character",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+ )+ )+ )+ )+ )+ )+ )+ ⟧+ ⟧,+ slice(start, len) ↦ ⟦+ start-bytes ↦ Φ̇.dataized(ξ.start).as-bytes,+ len-bytes ↦ Φ̇.dataized(ξ.len).as-bytes,+ num-start ↦ Φ̇.number(ξ.start-bytes),+ num-len ↦ Φ̇.number(ξ.len-bytes),+ size ↦ ξ.ρ.as-bytes.size,+ end ↦ ξ.num-start.plus(ξ.num-len),+ pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+ pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+ pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+ pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+ result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+ result-three ↦ ξ.pattern-two,+ result-four ↦ ξ.pattern-three,+ bts-start ↦ Φ̇.dataized(+ ξ.rec-index(+ 0,+ 0,+ ξ.num-start,+ Φ̇.txt.sprintf(+ "Start index (%d) is out of string bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+ )+ )+ ).as-bytes,+ bts-length ↦ ξ.rec-index(+ Φ̇.number(ξ.bts-start),+ 0,+ ξ.num-len,+ Φ̇.txt.sprintf(+ "Start index + length to slice (%d) is out of string bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start.plus(ξ.num-len))+ )+ ).minus(ξ.bts-start),+ φ ↦ ξ.num-start.lt(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Start index must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+ )+ ),+ ξ.num-len.lt(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Length to slice must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-len)+ )+ ),+ ξ.num-len.eq(0).if(+ "", Φ̇.string(ξ.ρ.as-bytes.slice(ξ.bts-start, ξ.bts-length))+ )+ )+ ),+ increase(index, char-size, accum, result, cause) ↦ ⟦+ φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+ )+ )+ ),+ ξ.ρ.rec-index(+ ξ.index.plus(ξ.char-size), ξ.accum.plus(1), ξ.result, ξ.cause+ )+ )+ ⟧,+ rec-index(index, accum, result, cause) ↦ ⟦+ byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+ φ ↦ ξ.accum.eq(ξ.result).if(+ ξ.index,+ ξ.index.eq(ξ.ρ.size).if(+ Φ̇.error(ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+ ξ.ρ.increase(ξ.index, 1, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+ ξ.ρ.increase(ξ.index, 2, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+ ξ.ρ.increase(ξ.index, 3, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+ ξ.ρ.increase(ξ.index, 4, ξ.accum, ξ.result, ξ.cause),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Unknown byte format (%x), can't recognize character",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+ )+ )+ )+ )+ )+ )+ )+ )+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/structs/bytes-as-array.phi view
@@ -0,0 +1,23 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ bytes-as-array(bts) ↦ ⟦+ bytes-size ↦ Φ̇.dataized(ξ.bts.size).as-bytes,+ φ ↦ ξ.slice-byte(Φ̇.tuple.empty, 0),+ slice-byte(tup, index) ↦ ⟦+ φ ↦ ξ.index.lt(ξ.ρ.bytes-size).if(+ ξ.ρ.slice-byte(+ ξ.tup.with(ξ.ρ.bts.slice(ξ.index, 1)), ξ.index.plus(1)+ ),+ ξ.tup+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/structs/hash-code-of.phi view
@@ -0,0 +1,30 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ hash-code-of(input) ↦ ⟦+ input-as-bytes ↦ Φ̇.dataized(ξ.input.as-bytes).as-bytes,+ size ↦ Φ̇.dataized(ξ.input-as-bytes.size).as-bytes,+ magic-number ↦ 31.as-i64,+ φ ↦ ξ.rec-hash-code(0, 0),+ rec-hash-code(acc, index) ↦ ⟦+ φ ↦ ξ.index.eq(ξ.ρ.size).if(+ ξ.acc.as-number,+ ξ.ρ.rec-hash-code(+ ξ.ρ.magic-number.times(ξ.acc).plus(+ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(+ ξ.ρ.input-as-bytes.slice(ξ.index, 1)+ ).as-i64+ ),+ ξ.index.plus(1)+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/structs/list.phi view
@@ -0,0 +1,194 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ list(origin) ↦ ⟦+ φ ↦ ξ.origin,+ is-empty ↦ ⟦+ φ ↦ 0.eq(ξ.ρ.origin.length)+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(ξ.ρ.origin.with(ξ.x))+ ⟧,+ withi(index, item) ↦ ⟦+ φ ↦ ξ.ρ.head(ξ.index).with(ξ.item).concat(+ ξ.ρ.tail(ξ.ρ.origin.length.minus(ξ.index))+ )+ ⟧,+ reducedi(start, func) ↦ ⟦+ origin-len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ φ ↦ 0.eq(ξ.origin-len).if(ξ.start, ξ.rec-reduced(ξ.start, 0.as-bytes)),+ rec-reduced(accum, index) ↦ ⟦+ idx-as-number ↦ ξ.index.as-number,+ next-index ↦ Φ̇.dataized(1.plus(ξ.idx-as-number)).as-bytes,+ φ ↦ ξ.next-index.eq(ξ.ρ.origin-len).if(+ ξ.accumulated, ξ.ρ.rec-reduced(ξ.accumulated, ξ.next-index)+ ),+ accumulated ↦ ξ.ρ.func(+ ξ.accum, ξ.ρ.ρ.origin.at(ξ.idx-as-number), ξ.idx-as-number+ )+ ⟧+ ⟧,+ reduced(start, func) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(ξ.start, ξ.auto-named-attr-at-83-42),+ auto-named-attr-at-83-42(accum, item, idx) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.accum, ξ.item)+ ⟧+ ⟧,+ mappedi(func) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-93-24)+ ),+ auto-named-attr-at-93-24(accum, item, idx) ↦ ⟦+ φ ↦ ξ.accum.with(ξ.ρ.func(ξ.item, ξ.idx))+ ⟧+ ⟧,+ mapped(func) ↦ ⟦+ φ ↦ ξ.ρ.mappedi(ξ.auto-named-attr-at-103-30),+ auto-named-attr-at-103-30(item, idx) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.item)+ ⟧+ ⟧,+ eachi(func) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-113-22),+ auto-named-attr-at-113-22(acc, item, index) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.acc), ξ.ρ.func(ξ.item, ξ.index)+ )+ )+ ⟧+ ⟧,+ each(func) ↦ ⟦+ φ ↦ ξ.ρ.eachi(ξ.auto-named-attr-at-124-32),+ auto-named-attr-at-124-32(item, index) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.item)+ ⟧+ ⟧,+ withouti(i) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-131-24)+ ),+ auto-named-attr-at-131-24(accum, item, idx) ↦ ⟦+ φ ↦ ξ.ρ.i.eq(ξ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+ ⟧+ ⟧,+ without(element) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(+ ξ.ρ.reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-142-20)+ ),+ auto-named-attr-at-142-20(accum, item) ↦ ⟦+ φ ↦ ξ.ρ.element.eq(ξ.item).if(ξ.accum, ξ.accum.with(ξ.item))+ ⟧+ ⟧,+ eq(other) ↦ ⟦+ φ ↦ ξ.ρ.origin.length.eq(ξ.other.length).and(+ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-157-24)+ ),+ auto-named-attr-at-157-24(accum, item, idx) ↦ ⟦+ φ ↦ ξ.accum.and(ξ.item.eq(ξ.ρ.other.at(ξ.idx)))+ ⟧+ ⟧,+ concat(passed) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(ξ.passed).reduced(+ ξ.ρ,+ ⟦+ φ ↦ ξ.accum.with(ξ.item),+ accum ↦ ∅,+ item ↦ ∅+ ⟧+ )+ ⟧,+ index-of(wanted) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-177-24),+ auto-named-attr-at-177-24(accum, item, index) ↦ ⟦+ φ ↦ -1.eq(ξ.accum).and(ξ.item.eq(ξ.ρ.wanted)).if(ξ.index, ξ.accum)+ ⟧+ ⟧,+ last-index-of(wanted) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-190-24),+ auto-named-attr-at-190-24(accum, item, index) ↦ ⟦+ φ ↦ ξ.item.eq(ξ.ρ.wanted).if(ξ.index, ξ.accum)+ ⟧+ ⟧,+ contains(element) ↦ ⟦+ φ ↦ -1.eq(ξ.ρ.index-of(ξ.element)).not+ ⟧,+ sorted ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ filteredi(func) ↦ ⟦+ origin-length ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ φ ↦ ξ.ρ.ρ.list(ξ.rec-filtered(0.as-bytes, Φ̇.tuple.empty)),+ rec-filtered(idx-as-bytes, accum) ↦ ⟦+ original ↦ ξ.ρ.ρ.origin,+ index ↦ ξ.idx-as-bytes.as-number,+ item ↦ ξ.ρ.ρ.origin.at(ξ.index),+ φ ↦ ξ.idx-as-bytes.eq(ξ.ρ.origin-length).if(+ ξ.accum,+ ξ.ρ.rec-filtered(+ 1.plus(ξ.index).as-bytes,+ ξ.ρ.func(ξ.item, ξ.index).if(ξ.accum.with(ξ.item), ξ.accum)+ )+ )+ ⟧+ ⟧,+ filtered(func) ↦ ⟦+ φ ↦ ξ.ρ.filteredi(ξ.auto-named-attr-at-243-32),+ auto-named-attr-at-243-32(item, index) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.item)+ ⟧+ ⟧,+ head(index) ↦ ⟦+ idx ↦ Φ̇.dataized(ξ.index).as-bytes,+ φ ↦ Φ̇.switch(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, 0.eq(ξ.idx)), ξ.ρ.ρ.list(Φ̇.tuple.empty)+ )+ ),+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, 0.gt(ξ.idx)), ξ.ρ.tail(ξ.index.as-number.neg)+ )+ ),+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin.length.lte(ξ.idx)), ξ.ρ+ )+ ),+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.true),+ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-264-32)+ )+ )+ )+ ),+ auto-named-attr-at-264-32(accum, item, index) ↦ ⟦+ φ ↦ ξ.index.gte(ξ.ρ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+ ⟧+ ⟧,+ tail(index) ↦ ⟦+ idx ↦ Φ̇.dataized(ξ.index).as-bytes,+ start ↦ Φ̇.dataized(ξ.ρ.origin.length.minus(ξ.idx.as-number)).as-bytes,+ φ ↦ 0.gt(ξ.start).if(+ ξ.ρ,+ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-280-26)+ )+ ),+ auto-named-attr-at-280-26(accum, item, idx) ↦ ⟦+ φ ↦ ξ.idx.gte(ξ.ρ.start).if(ξ.accum.with(ξ.item), ξ.accum)+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/structs/map.phi view
@@ -0,0 +1,122 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ map(pairs) ↦ ⟦+ φ ↦ ξ.auto-named-attr-at-37-6.initialized,+ entry(key, value) ↦ ⟦⟧,+ initialized(entries) ↦ ⟦+ initialized ↦ ξ,+ size ↦ ξ.entries.length,+ keys ↦ ⟦+ φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+ ⟦+ φ ↦ ξ.entry.key,+ entry ↦ ∅+ ⟧+ )+ ⟧,+ values ↦ ⟦+ φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+ ⟦+ φ ↦ ξ.entry.value,+ entry ↦ ∅+ ⟧+ )+ ⟧,+ has(key) ↦ ⟦+ φ ↦ ξ.ρ.found(ξ.key).exists+ ⟧,+ found(key) ↦ ⟦+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+ φ ↦ ξ.ρ.size.eq(0).if(ξ.not-found, ξ.rec-key-search(ξ.not-found, 0)),+ rec-key-search(found, index) ↦ ⟦+ entry ↦ ξ.ρ.ρ.entries.at(ξ.index),+ φ ↦ ξ.found.exists.or(ξ.ρ.ρ.size.eq(ξ.index)).if(+ ξ.found,+ ξ.ρ.rec-key-search(+ ξ.ρ.hash.eq(ξ.entry.hash).if(+ ξ.auto-named-attr-at-133-54, ξ.found+ ),+ ξ.index.plus(1)+ )+ ),+ auto-named-attr-at-133-54 ↦ ⟦+ exists ↦ Φ̇.true,+ get ↦ ξ.ρ.entry.value+ ⟧+ ⟧,+ not-found ↦ ⟦+ exists ↦ Φ̇.false,+ get ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "Object by hash code %d from given key does not exists",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.hash)+ )+ )+ ⟧+ ⟧,+ with(key, value) ↦ ⟦+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+ φ ↦ ξ.ρ.ρ.ρ.map.initialized(+ Φ̇.structs.list(ξ.ρ.entries).filtered(+ ξ.auto-named-attr-at-153-50+ ).origin.with(ξ.auto-named-attr-at-154-12)+ ),+ auto-named-attr-at-153-50(entry) ↦ ⟦+ φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+ ⟧,+ auto-named-attr-at-154-12 ↦ ⟦+ key ↦ ξ.ρ.key,+ value ↦ ξ.ρ.value,+ hash ↦ ξ.ρ.hash+ ⟧+ ⟧,+ without(key) ↦ ⟦+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+ φ ↦ ξ.ρ.ρ.ρ.map.initialized(+ Φ̇.structs.list(ξ.ρ.entries).filtered(+ ξ.auto-named-attr-at-167-48+ ).origin+ ),+ auto-named-attr-at-167-48(entry) ↦ ⟦+ φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+ ⟧+ ⟧+ ⟧,+ auto-named-attr-at-37-6 ↦ ⟦+ pairs-size ↦ Φ̇.dataized(ξ.ρ.pairs.length).as-bytes,+ φ ↦ ξ.ρ.initialized(+ ξ.pairs-size.eq(0).if(+ Φ̇.tuple.empty,+ ξ.rec-rebuild(Φ̇.tuple.empty, 0, Φ̇.structs.list(Φ̇.tuple.empty))+ )+ ),+ rec-rebuild(accum, index, hashes) ↦ ⟦+ entry ↦ ξ.ρ.ρ.pairs.at(ξ.index),+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.entry.key)).as-bytes,+ φ ↦ ξ.ρ.pairs-size.eq(ξ.index).if(+ ξ.accum,+ ξ.ρ.rec-rebuild(+ ξ.hashes.contains(ξ.hash).if(+ ξ.accum, ξ.accum.with(ξ.auto-named-attr-at-59-18)+ ),+ ξ.index.plus(1),+ ξ.hashes.with(ξ.hash)+ )+ ),+ auto-named-attr-at-59-18 ↦ ⟦+ key ↦ ξ.ρ.entry.key,+ value ↦ ξ.ρ.entry.value,+ hash ↦ ξ.ρ.hash+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/structs/range-of-ints.phi view
@@ -0,0 +1,26 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ range-of-ints(start, end) ↦ ⟦+ φ ↦ 0.eq(ξ.start).or(1.eq(ξ.start.div(ξ.start))).and(+ 0.eq(ξ.end).or(1.eq(ξ.end.div(ξ.end)))+ ).if(+ Φ̇.structs.range(ξ.auto-named-attr-at-42-8, ξ.end),+ Φ̇.error("Some of the arguments are not integers")+ ),+ auto-named-attr-at-42-8 ↦ ⟦+ build(num) ↦ ⟦+ φ ↦ ξ.num,+ next ↦ ξ.ρ.build(1.plus(ξ.φ))+ ⟧,+ φ ↦ ξ.build(ξ.ρ.start)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/structs/range.phi view
@@ -0,0 +1,23 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ range(start, end) ↦ ⟦+ φ ↦ Φ̇.structs.list(+ ξ.start.lt(ξ.end).if(+ ξ.appended(Φ̇.tuple(Φ̇.tuple.empty, ξ.start), ξ.start.next), Φ̇.tuple.empty+ )+ ),+ appended(acc, current) ↦ ⟦+ φ ↦ ξ.current.lt(ξ.ρ.end).if(+ ξ.ρ.appended(ξ.acc.with(ξ.current), ξ.current.next), ξ.acc+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/structs/set.phi view
@@ -0,0 +1,37 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ structs ↦ ⟦+ set(lst) ↦ ⟦+ φ ↦ ξ.initialized(+ Φ̇.structs.map(+ Φ̇.structs.list(ξ.lst).mapped(+ ⟦+ φ ↦ Φ̇.structs.map.entry(ξ.item, Φ̇.true),+ item ↦ ∅+ ⟧+ ).origin+ )+ ).initialized,+ initialized(map) ↦ ⟦+ initialized ↦ ξ,+ φ ↦ ξ.map.keys,+ size ↦ ξ.map.size,+ with(item) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.with(ξ.item, Φ̇.true))+ ⟧,+ without(item) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.without(ξ.item))+ ⟧,+ has(item) ↦ ⟦+ φ ↦ ξ.ρ.map.has(ξ.item)+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/switch.phi view
@@ -0,0 +1,18 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ switch(cases) ↦ ⟦+ len ↦ Φ̇.dataized(ξ.cases.length).as-bytes,+ φ ↦ ξ.len.eq(0).if(Φ̇.error("switch cases are empty"), ξ.case-at(0)),+ case-at(index) ↦ ⟦+ case ↦ ξ.ρ.cases.at(ξ.index),+ φ ↦ ξ.index.eq(ξ.ρ.len).if(+ Φ̇.true, ξ.case.at(0).if(ξ.case.at(1), ξ.ρ.case-at(ξ.index.plus(1)))+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/sys/getenv.phi view
@@ -0,0 +1,19 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ getenv(name) ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(+ Φ̇.sys.win32(+ "GetEnvironmentVariable", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.name), 512)+ ),+ Φ̇.sys.posix("getenv", Φ̇.tuple(Φ̇.tuple.empty, ξ.name))+ ).output+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/sys/line-separator.phi view
@@ -0,0 +1,14 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ line-separator ↦ ⟦+ φ ↦ Φ̇.string(Φ̇.sys.os.is-windows.if("\r\n", "\n").as-bytes)+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/sys/os.phi view
@@ -0,0 +1,23 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ os ↦ ⟦+ φ ↦ ξ.name,+ is-windows ↦ ⟦+ os-name ↦ Φ̇.dataized(ξ.ρ.name).as-bytes,+ φ ↦ ξ.os-name.size.gt(6).and(ξ.os-name.slice(0, 7).eq("Windows"))+ ⟧,+ is-linux ↦ Φ̇.txt.regex("/linux/i").matches(ξ.name).as-bool,+ is-macos ↦ Φ̇.txt.regex("/mac/i").matches(ξ.name).as-bool,+ name ↦ ⟦+ λ ⤍ Lorg_eolang_sys_os_name+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/sys/posix.phi view
@@ -0,0 +1,35 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ posix(name, args) ↦ ⟦+ stdin-fileno ↦ 0,+ stdout-fileno ↦ 1,+ af-inet ↦ 2,+ sock-stream ↦ 1,+ ipproto-tcp ↦ 6,+ inaddr-none ↦ -1,+ φ ↦ ⟦+ λ ⤍ Lorg_eolang_sys_posix_φ+ ⟧,+ return(code, output) ↦ ⟦+ called ↦ ξ,+ φ ↦ ξ.output+ ⟧,+ timeval(tv-sec, tv-usec) ↦ ⟦+ self ↦ ξ+ ⟧,+ sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+ sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+ size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+ ξ.sin-zero.size+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/sys/win32.phi view
@@ -0,0 +1,38 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ sys ↦ ⟦+ win32(name, args) ↦ ⟦+ std-input-handle ↦ -10,+ std-output-handle ↦ -11,+ af-inet ↦ 2,+ sock-stream ↦ 1,+ ipproto-tcp ↦ 6,+ invalid-socket ↦ -1,+ socket-error ↦ -1,+ inaddr-none ↦ -1,+ winsock-version-2-2 ↦ Φ̇.bytes(⟦ Δ ⤍ 02-02 ⟧),+ φ ↦ ⟦+ λ ⤍ Lorg_eolang_sys_win32_φ+ ⟧,+ return(code, output) ↦ ⟦+ called ↦ ξ,+ φ ↦ ξ.output+ ⟧,+ system-time(year, month, day, day-of-week, hour, minute, second, milliseconds) ↦ ⟦+ self ↦ ξ+ ⟧,+ sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+ sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+ size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+ ξ.sin-zero.size+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/true.phi view
@@ -0,0 +1,21 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ true ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧),+ not ↦ Φ̇.false,+ if(left, right) ↦ ⟦+ φ ↦ ξ.left+ ⟧,+ and(x) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+ ⟧,+ or(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/try.phi view
@@ -0,0 +1,11 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ try(main, catch, finally) ↦ ⟦+ λ ⤍ Lorg_eolang_try+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/tuple.phi view
@@ -0,0 +1,39 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ tuple(head, tail) ↦ ⟦+ empty ↦ ⟦+ length ↦ 0,+ at(i) ↦ ⟦+ φ ↦ Φ̇.error("Can't get an object from the empty tuple")+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.tuple(ξ.ρ, ξ.x)+ ⟧+ ⟧,+ length ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.head.length.plus(1)).as-bytes,+ φ ↦ Φ̇.number(ξ.len)+ ⟧,+ at(i) ↦ ⟦+ len ↦ ξ.ρ.length,+ idx ↦ Φ̇.dataized(ξ.i).as-bytes,+ index ↦ Φ̇.dataized(0.gt(ξ.idx).if(ξ.len.plus(ξ.idx), ξ.idx)).as-bytes,+ φ ↦ 0.gt(ξ.index).or(ξ.len.lte(ξ.index)).if(+ Φ̇.error("Given index is out of tuple bounds"), ξ.at-fast(ξ.ρ, ξ.len)+ ),+ at-fast(tup, len) ↦ ⟦+ φ ↦ ξ.len.plus(-1).gt(ξ.ρ.index).if(+ ξ.ρ.at-fast(ξ.tup.head, ξ.len.plus(-1)), ξ.tup.tail+ )+ ⟧+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.tuple(ξ.ρ, ξ.x)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/txt/regex.phi view
@@ -0,0 +1,56 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ txt ↦ ⟦+ regex(expression) ↦ ⟦+ φ ↦ ξ.compiled,+ compiled ↦ ⟦+ λ ⤍ Lorg_eolang_txt_regex_compiled+ ⟧,+ pattern(serialized) ↦ ⟦+ matches(txt) ↦ ⟦+ φ ↦ ξ.ρ.match(ξ.txt).next.exists+ ⟧,+ match(txt) ↦ ⟦+ next ↦ ξ.matched-from-index(1, 0).matched,+ matched-from-index(position, start) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_regex_pattern_match_matched_from_index+ ⟧,+ matched(position, start, from, to, groups) ↦ ⟦+ matched ↦ ξ,+ groups-count ↦ ξ.groups.length,+ exists ↦ ξ.start.gte(0),+ next ↦ ξ.exists.if(+ ξ.ρ.matched-from-index(ξ.position.plus(1), ξ.to).matched,+ Φ̇.error("Matched block does not exist, can't get next")+ ),+ text ↦ ξ.exists.if(+ ξ.group(0), Φ̇.error("Matched block does not exist, can't get text")+ ),+ group(index) ↦ ⟦+ φ ↦ ξ.ρ.groups.at(ξ.index)+ ⟧+ ⟧,+ not-matched(position) ↦ ⟦+ φ ↦ ξ.ρ.matched(+ ξ.position,+ -1,+ Φ̇.error(+ "Matched block does not exist, can't get 'from' position"+ ),+ Φ̇.error(+ "Matched block does not exist, can't get 'to' position"+ ),+ Φ̇.error("Matched block does not exist, can't get groups")+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/txt/sprintf.phi view
@@ -0,0 +1,14 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ txt ↦ ⟦+ sprintf(format, args) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_sprintf+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/txt/sscanf.phi view
@@ -0,0 +1,14 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ txt ↦ ⟦+ sscanf(format, read) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_sscanf+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/txt/text.phi view
@@ -0,0 +1,275 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ txt ↦ ⟦+ text(origin) ↦ ⟦+ φ ↦ ξ.origin,+ is-alphanumeric ↦ Φ̇.txt.regex("/^[A-Za-z0-9]+$/").matches(ξ.origin),+ is-alpha ↦ Φ̇.txt.regex("/^[a-zA-Z]+$/").matches(ξ.origin),+ is-ascii ↦ Φ̇.txt.regex("/^[\\x00-\\x7F]*$/").matches(ξ.origin),+ slice(start, len) ↦ ⟦+ φ ↦ ξ.ρ.ρ.text(ξ.ρ.origin.slice(ξ.start, ξ.len))+ ⟧,+ trimmed-left ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ idx ↦ Φ̇.dataized(ξ.first-non-space-index(0)).as-bytes,+ φ ↦ 0.eq(ξ.len).if(+ ξ.ρ, ξ.ρ.slice(ξ.idx, Φ̇.number(ξ.len).minus(Φ̇.number(ξ.idx)))+ ),+ first-non-space-index(index) ↦ ⟦+ char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+ φ ↦ ξ.ρ.len.eq(ξ.index).if(+ ξ.index,+ " ".eq(ξ.char).if(+ ξ.ρ.first-non-space-index(ξ.index.plus(1)), ξ.index+ )+ )+ ⟧+ ⟧,+ trimmed-right ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ φ ↦ 0.eq(ξ.len).if(+ ξ.ρ, ξ.ρ.slice(0, ξ.first-non-space-index(Φ̇.number(ξ.len).plus(-1)))+ ),+ first-non-space-index(index) ↦ ⟦+ char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+ φ ↦ -1.eq(ξ.index).if(+ 0,+ " ".eq(ξ.char).if(+ ξ.ρ.first-non-space-index(ξ.index.plus(-1)), ξ.index.plus(1)+ )+ )+ ⟧+ ⟧,+ trimmed ↦ ⟦+ φ ↦ 0.eq(ξ.ρ.length).if(ξ.ρ, ξ.ρ.trimmed-left.trimmed-right)+ ⟧,+ joined(items) ↦ ⟦+ delimiter ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+ first ↦ ξ.items.at(0),+ len ↦ Φ̇.dataized(ξ.items.length).as-bytes,+ not-empty ↦ Φ̇.dataized(+ 1.eq(ξ.len).if(+ ξ.first, ξ.first.as-bytes.concat(ξ.with-delimiter("".as-bytes, 1))+ )+ ).as-bytes,+ φ ↦ ξ.ρ.ρ.text(0.eq(ξ.len).if("", Φ̇.string(ξ.not-empty))),+ with-delimiter(acc, index) ↦ ⟦+ φ ↦ ξ.ρ.len.eq(ξ.index).if(+ ξ.acc,+ ξ.ρ.with-delimiter(+ ξ.acc.concat(ξ.ρ.delimiter.concat(ξ.ρ.items.at(ξ.index))), ξ.index.plus(1)+ )+ )+ ⟧+ ⟧,+ repeated(times) ↦ ⟦+ bts ↦ Φ̇.dataized(ξ.ρ.origin.as-bytes).as-bytes,+ amount ↦ Φ̇.dataized(ξ.times).as-bytes,+ φ ↦ 0.gt(ξ.amount).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't repeat text %d times", Φ̇.tuple(Φ̇.tuple.empty, ξ.amount)+ )+ ),+ ξ.ρ.ρ.text(+ 0.eq(ξ.amount).if("", Φ̇.string(ξ.rec-repeated(ξ.bts, 1)))+ )+ ),+ rec-repeated(accum, index) ↦ ⟦+ φ ↦ ξ.ρ.amount.eq(ξ.index).if(+ ξ.accum, ξ.ρ.rec-repeated(ξ.accum.concat(ξ.ρ.bts), ξ.index.plus(1))+ )+ ⟧+ ⟧,+ contains(substring) ↦ ⟦+ φ ↦ -1.eq(ξ.ρ.index-of(ξ.substring)).not+ ⟧,+ ends-with(substring) ↦ ⟦+ substr ↦ Φ̇.dataized(ξ.substring).as-bytes,+ φ ↦ ξ.ρ.index-of(ξ.substr).eq(ξ.ρ.length.minus(ξ.substr.size))+ ⟧,+ starts-with(substring) ↦ ⟦+ φ ↦ 0.eq(ξ.ρ.index-of(ξ.substring))+ ⟧,+ index-of(substring) ↦ ⟦+ self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+ substr ↦ Φ̇.string(ξ.substr-as-bytes),+ sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+ end ↦ Φ̇.dataized(Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))).as-bytes,+ φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+ ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+ ).if(-1, ξ.rec-index-of-substr(0)),+ rec-index-of-substr(idx) ↦ ⟦+ φ ↦ ξ.ρ.end.eq(ξ.idx).if(+ ξ.contains.if(ξ.idx, -1),+ ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(1)))+ ),+ contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+ ⟧,+ substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+ ⟧,+ last-index-of(substring) ↦ ⟦+ self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+ substr ↦ Φ̇.string(ξ.substr-as-bytes),+ sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+ φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+ ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+ ).if(+ -1,+ ξ.rec-index-of-substr(+ Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))+ )+ ),+ rec-index-of-substr(idx) ↦ ⟦+ φ ↦ 0.eq(ξ.idx).if(+ ξ.contains.if(ξ.idx, -1),+ ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(-1)))+ ),+ contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+ ⟧,+ substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+ ⟧,+ up-cased ↦ ⟦+ ascii-z ↦ Φ̇.dataized(ξ.ascii("z")).as-bytes,+ ascii-a ↦ Φ̇.dataized(ξ.ascii("a")).as-bytes,+ distance ↦ Φ̇.number(ξ.ascii-a).minus(ξ.ascii("A")),+ φ ↦ ξ.ρ.ρ.text(+ Φ̇.string(+ Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+ Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-258-22+ )+ )+ ),+ ascii(char) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(ξ.char.as-bytes).as-i64.as-number+ ⟧,+ auto-named-attr-at-258-22(accum, byte) ↦ ⟦+ ascii-bte ↦ ξ.ρ.ascii(ξ.byte),+ φ ↦ ξ.accum.concat(+ ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+ ξ.ascii-bte.minus(ξ.ρ.distance).as-i64.as-bytes.slice(7, 1), ξ.byte+ )+ )+ ⟧+ ⟧,+ low-cased ↦ ⟦+ ascii-z ↦ ξ.ρ.up-cased.ascii("Z"),+ ascii-a ↦ ξ.ρ.up-cased.ascii("A"),+ φ ↦ ξ.ρ.ρ.text(+ Φ̇.string(+ Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+ Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-291-22+ )+ )+ ),+ auto-named-attr-at-291-22(accum, byte) ↦ ⟦+ ascii-bte ↦ ξ.ρ.ρ.up-cased.ascii(ξ.byte),+ φ ↦ ξ.accum.concat(+ ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+ ξ.ascii-bte.plus(ξ.ρ.ρ.up-cased.distance).as-i64.as-bytes.slice(+ 7, 1+ ),+ ξ.byte+ )+ )+ ⟧+ ⟧,+ at(i) ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.length).as-bytes,+ idx ↦ Φ̇.dataized(ξ.i).as-bytes,+ index ↦ Φ̇.dataized(+ 0.gt(ξ.idx).if(Φ̇.number(ξ.len).plus(ξ.idx), ξ.idx)+ ).as-bytes,+ φ ↦ 0.gt(ξ.index).or(Φ̇.number(ξ.index).gte(ξ.len)).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Given index %d is out of text bounds", Φ̇.tuple(Φ̇.tuple.empty, ξ.index)+ )+ ),+ ξ.ρ.slice(ξ.index, 1)+ )+ ⟧,+ replaced(target, replacement) ↦ ⟦+ self-as-bytes ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+ reinit ↦ Φ̇.string(ξ.self-as-bytes),+ matched ↦ ξ.target.match(ξ.reinit).next,+ φ ↦ ξ.matched.exists.not.if(+ Φ̇.txt.text(ξ.reinit),+ Φ̇.txt.text(ξ.rec-replaced(ξ.matched, "", ξ.matched.start))+ ),+ rec-replaced(block, accum, start) ↦ ⟦+ φ ↦ ξ.block.exists.if(+ ξ.ρ.rec-replaced(+ ξ.block.next,+ ξ.accum.concat(+ ξ.ρ.reinit.slice(ξ.start, ξ.block.from.minus(ξ.start))+ ).concat(ξ.ρ.replacement),+ ξ.block.to+ ),+ Φ̇.string(+ ξ.accum.concat(+ ξ.ρ.reinit.slice(ξ.start, ξ.ρ.reinit.length.minus(ξ.start))+ )+ )+ )+ ⟧+ ⟧,+ as-number ↦ ⟦+ scanned ↦ Φ̇.txt.sscanf("%f", ξ.ρ.origin),+ φ ↦ ξ.scanned.length.eq(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert text %s to number", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin)+ )+ ),+ ξ.scanned.tail+ )+ ⟧,+ split(delimiter) ↦ ⟦+ delim ↦ Φ̇.dataized(ξ.delimiter).as-bytes,+ self-as-bytes ↦ ξ.ρ.origin.as-bytes,+ len ↦ Φ̇.dataized(ξ.self-as-bytes.size).as-bytes,+ φ ↦ ξ.len.eq(0).if(Φ̇.tuple.empty, ξ.rec-split(Φ̇.tuple.empty, 0, 0)),+ rec-split(accum, start, current) ↦ ⟦+ φ ↦ ξ.ρ.len.eq(ξ.current).if(+ ξ.with-substr,+ ξ.ρ.delim.eq(ξ.ρ.self-as-bytes.slice(ξ.current, 1)).if(+ ξ.ρ.rec-split(+ ξ.with-substr, ξ.current.plus(1), ξ.current.plus(1)+ ),+ ξ.ρ.rec-split(ξ.accum, ξ.start, ξ.current.plus(1))+ )+ ),+ with-substr ↦ ξ.accum.with(+ Φ̇.string(+ ξ.ρ.self-as-bytes.slice(ξ.start, ξ.current.minus(ξ.start))+ )+ )+ ⟧+ ⟧,+ chained(others) ↦ ⟦+ φ ↦ 0.eq(ξ.others.length).if(+ ξ.ρ,+ ξ.ρ.ρ.text(+ Φ̇.string(+ Φ̇.structs.list(ξ.others).reduced(+ ξ.ρ.origin.as-bytes,+ ⟦+ φ ↦ ξ.accum.concat(ξ.str.as-bytes),+ accum ↦ ∅,+ str ↦ ∅+ ⟧+ )+ )+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.3/org/eolang/while.phi view
@@ -0,0 +1,22 @@+{⟦+ org ↦ ⟦+ eolang ↦ ⟦+ while(condition, body) ↦ ⟦+ φ ↦ ξ.condition(0).as-bool.if(ξ.loop(0), Φ̇.false),+ loop(index) ↦ ⟦+ current ↦ ξ.ρ.body(ξ.index),+ φ ↦ ξ.ρ.condition(ξ.index.plus(1)).as-bool.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.current), ξ.ρ.loop(ξ.index.plus(1))+ )+ ),+ ξ.current+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/dependencies.md view
@@ -0,0 +1,3904 @@+# Dependencies++## [org/eolang/bytes.phi](./org/eolang/bytes.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ bytes(data) ↦ ⟦+ φ ↦ ξ.data,+ as-bytes ↦ ξ,+ as-bool ↦ ξ.eq(Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)),+ as-number() ↦ ⟦+ φ ↦ ξ.ρ.eq(Φ̇.nan.as-bytes).if(+ Φ̇.nan,+ ξ.ρ.eq(Φ̇.positive-infinity.as-bytes).if(+ Φ̇.positive-infinity,+ ξ.ρ.eq(Φ̇.negative-infinity.as-bytes).if(+ Φ̇.negative-infinity,+ ξ.ρ.size.eq(8).if(+ Φ̇.number(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 8 length bytes to a number, bytes are %x", Φ̇.tuple.empty+ )+ )+ )+ )+ )+ )+ ⟧,+ eq(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_eq+ ⟧,+ size() ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_size+ ⟧,+ slice(start, len) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_slice+ ⟧,+ as-i64() ↦ ⟦+ φ ↦ ξ.ρ.size.eq(8).if(+ Φ̇.i64(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 8 length bytes to i64, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ as-i32() ↦ ⟦+ φ ↦ ξ.ρ.size.eq(4).if(+ Φ̇.i32(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 4 length bytes to i32, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ as-i16() ↦ ⟦+ φ ↦ ξ.ρ.size.eq(2).if(+ Φ̇.i16(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 2 length bytes to i16, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ and(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_and+ ⟧,+ or(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_or+ ⟧,+ xor(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_xor+ ⟧,+ not() ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_not+ ⟧,+ left(x) ↦ ⟦+ φ ↦ ξ.ρ.right(ξ.x.neg)+ ⟧,+ right(x) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_right+ ⟧,+ concat(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_concat+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/cti.phi](./org/eolang/cti.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ cti(delegate, level, message) ↦ ⟦+ φ ↦ ξ.delegate+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/dataized.phi](./org/eolang/dataized.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ dataized(target) ↦ ⟦+ φ ↦ Φ̇.try(+ ξ.target,+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)+ )+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/error.phi](./org/eolang/error.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ error(message) ↦ ⟦+ λ ⤍ Lorg_eolang_error+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/false.phi](./org/eolang/false.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ false() ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ not ↦ Φ̇.true,+ if(left, right) ↦ ⟦+ φ ↦ ξ.right+ ⟧,+ and(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ or(x) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/fs/dir.phi](./org/eolang/fs/dir.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ fs() ↦ ⟦+ dir(file) ↦ ⟦+ φ ↦ ξ.file,+ is-directory ↦ Φ̇.true,+ made() ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.mkdir), ξ.ρ))+ ),+ mkdir() ↦ ⟦+ λ ⤍ Lorg_eolang_fs_dir_made_mkdir+ ⟧+ ⟧,+ walk(glob) ↦ ⟦+ λ ⤍ Lorg_eolang_fs_dir_walk+ ⟧,+ deleted() ↦ ⟦+ walked ↦ ξ.ρ.walk("**").at.ρ,+ len ↦ Φ̇.dataized(ξ.walked.length).as-bytes,+ φ ↦ ξ.ρ.exists.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.rec-delete(ξ.walked, 0)), ξ.ρ+ )+ ),+ ξ.ρ+ ),+ rec-delete(tup, index) ↦ ⟦+ φ ↦ ξ.ρ.len.eq(ξ.index).if(+ Φ̇.true,+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.tup.tail.deleted.exists),+ ξ.ρ.rec-delete(ξ.tup.head, ξ.index.plus(1))+ )+ )+ )+ ⟧+ ⟧,+ tmpfile() ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ Φ̇.fs.file(Φ̇.string(ξ.touch.as-bytes)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Directory %s does not exist, can't create temporary file",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+ )+ )+ ),+ touch() ↦ ⟦+ λ ⤍ Lorg_eolang_fs_dir_tmpfile_touch+ ⟧+ ⟧,+ open(mode, scope) ↦ ⟦+ φ ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "The file %s is a directory, can't open for I/O operations",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/fs/file.phi](./org/eolang/fs/file.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ fs() ↦ ⟦+ file(path) ↦ ⟦+ φ ↦ ξ.path,+ is-directory() ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_is_directory+ ⟧,+ exists() ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_exists+ ⟧,+ touched() ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.touch), ξ.ρ))+ ),+ touch() ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_touched_touch+ ⟧+ ⟧,+ deleted() ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.delete), ξ.ρ)), ξ.ρ+ ),+ delete() ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_deleted_delete+ ⟧+ ⟧,+ size() ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_size+ ⟧,+ moved(target) ↦ ⟦+ φ ↦ Φ̇.fs.file(Φ̇.string(ξ.move.as-bytes)),+ move() ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_moved_move+ ⟧+ ⟧,+ as-path() ↦ ⟦+ φ ↦ Φ̇.fs.path(ξ.ρ.path).determined+ ⟧,+ open(mode, scope) ↦ ⟦+ access ↦ Φ̇.dataized(ξ.mode).as-bytes,+ read ↦ ξ.access.eq("r"),+ write ↦ ξ.access.eq("w"),+ append ↦ ξ.access.eq("a"),+ read-write ↦ ξ.access.eq("r+"),+ write-read ↦ ξ.access.eq("w+"),+ read-append ↦ ξ.access.eq("a+"),+ can-read ↦ ξ.read.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).as-bool,+ can-write ↦ ξ.write.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).or(+ ξ.append+ ).as-bool,+ must-exists ↦ ξ.read.or(ξ.read-write).as-bool,+ truncate ↦ ξ.write.or(ξ.write-read).as-bool,+ φ ↦ ξ.can-read.not.and(ξ.can-write.not).if(+ Φ̇.error(+ "Wrong access mod. Only next modes are available: 'r', 'w', 'a', 'r+', 'w+', 'a+'"+ ),+ ξ.ρ.exists.not.if(+ ξ.must-exists.if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "File must exist for given access mod: '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.access)+ )+ ),+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.touched.touch), ξ.process-file+ ),+ ξ.ρ+ )+ )+ ),+ ξ.truncate.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.deleted.delete), ξ.ρ.touched.touch+ ),+ ξ.process-file+ ),+ ξ.ρ+ )+ ),+ Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.process-file), ξ.ρ))+ )+ )+ ),+ process-file() ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_open_process_file+ ⟧,+ file-stream() ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ Φ̇.dataized(ξ.ρ.ρ.read-bytes(ξ.size)).as-bytes,+ φ ↦ ξ.ρ.ρ.ρ.ρ.can-read.not.if(+ ξ.auto-named-attr-at-216-18,+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ )+ ).self,+ auto-named-attr-at-216-18() ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't read from file with provided access mode '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+ )+ )+ ⟧+ ⟧+ ⟧,+ read-bytes(size) ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_open_file_stream_read_read_bytes+ ⟧+ ⟧,+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block() ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.ρ.can-write.not.if(+ ξ.auto-named-attr-at-258-18,+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.written-bytes(ξ.buffer)), ξ.ρ.ρ.output-block+ )+ )+ ).self,+ auto-named-attr-at-258-18() ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't write to file with provided access mode '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+ )+ )+ ⟧+ ⟧+ ⟧,+ written-bytes(buffer) ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_open_file_stream_write_written_bytes+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/fs/path.phi](./org/eolang/fs/path.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ fs() ↦ ⟦+ path(uri) ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.win32(Φ̇.string(ξ.uri.as-bytes)), ξ.posix(Φ̇.string(ξ.uri.as-bytes))+ ).determined,+ joined(paths) ↦ ⟦+ joined-path ↦ Φ̇.string(+ Φ̇.txt.text(ξ.ρ.separator).joined(ξ.paths).as-bytes+ ),+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.ρ.win32(ξ.joined-path), ξ.ρ.posix(ξ.joined-path)+ ).normalized+ ⟧,+ separator() ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(ξ.ρ.win32.separator, ξ.ρ.posix.separator)+ ⟧,+ posix(uri) ↦ ⟦+ determined ↦ ξ,+ separator ↦ "/",+ as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+ as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+ φ ↦ ξ.uri,+ is-absolute() ↦ ⟦+ φ ↦ ξ.ρ.uri.length.gt(0).and(+ ξ.ρ.uri.as-bytes.slice(0, 1).eq(ξ.ρ.separator)+ )+ ⟧,+ normalized() ↦ ⟦+ uri-as-bytes ↦ ξ.ρ.uri.as-bytes,+ is-absolute ↦ ξ.ρ.is-absolute.as-bool,+ has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+ ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+ ξ.ρ.separator+ )+ ),+ path ↦ Φ̇.txt.text(ξ.ρ.separator).joined(+ Φ̇.structs.list(Φ̇.txt.text(ξ.ρ.uri).split(ξ.ρ.separator)).reduced(+ Φ̇.tuple.empty, ξ.auto-named-attr-at-102-25+ )+ ),+ normalized ↦ ξ.ρ.uri.length.eq(0).if(+ ".",+ ξ.is-absolute.if(ξ.ρ.separator.concat(ξ.path), ξ.path).concat(+ ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ )+ ).as-bytes,+ φ ↦ ξ.ρ.ρ.posix(+ ξ.normalized.eq("//").if("/", Φ̇.string(ξ.normalized))+ ).determined,+ auto-named-attr-at-102-25(accum, segment) ↦ ⟦+ φ ↦ ξ.segment.eq("..").if(+ ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+ ξ.accum.head, ξ.ρ.is-absolute.not.if(ξ.accum.with(ξ.segment), ξ.accum)+ ),+ ξ.segment.eq(".").or(ξ.segment.eq("")).if(+ ξ.accum, ξ.accum.with(ξ.segment)+ )+ )+ ⟧+ ⟧,+ resolved(other) ↦ ⟦+ other-as-bytes ↦ ξ.other.as-bytes,+ φ ↦ ξ.ρ.ρ.posix(+ Φ̇.string(+ ξ.other-as-bytes.slice(0, 1).eq(ξ.ρ.separator).if(+ ξ.other-as-bytes, ξ.ρ.uri.concat(ξ.ρ.separator).concat(ξ.other-as-bytes)+ )+ )+ ).normalized+ ⟧,+ basename() ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ slice-start-idx ↦ Φ̇.dataized(+ ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+ ).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+ ξ.pth,+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ extname() ↦ ⟦+ base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+ slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+ φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+ "",+ Φ̇.string(+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ dirname() ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+ ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+ )+ )+ ⟧+ ⟧,+ win32(uri) ↦ ⟦+ separator ↦ "\\",+ φ ↦ ξ.validated(+ Φ̇.string(ξ.validated.separated-correctly(ξ.uri).as-bytes)+ ).determined,+ validated(uri) ↦ ⟦+ determined ↦ ξ,+ separator ↦ ξ.ρ.separator,+ as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+ as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+ φ ↦ ξ.uri,+ is-drive-relative(uri) ↦ ⟦+ φ ↦ Φ̇.txt.regex("/^[a-zA-Z]:/").matches(ξ.uri).as-bool+ ⟧,+ is-root-relative(uri) ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+ φ ↦ ξ.uri-as-bytes.size.gt(0).and(+ ξ.uri-as-bytes.slice(0, 1).eq(ξ.ρ.separator)+ )+ ⟧,+ separated-correctly(uri) ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+ pth ↦ Φ̇.txt.text(Φ̇.string(ξ.uri-as-bytes)),+ replaced ↦ Φ̇.dataized(+ ξ.pth.replaced(Φ̇.txt.regex("/\\//"), ξ.ρ.separator)+ ).as-bytes,+ φ ↦ ξ.pth.index-of(ξ.ρ.ρ.ρ.ρ.path.posix.separator).eq(-1).if(+ Φ̇.string(ξ.uri-as-bytes), Φ̇.string(ξ.replaced)+ )+ ⟧,+ is-absolute() ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ φ ↦ ξ.uri-as-bytes.size.eq(0).if(+ Φ̇.false,+ ξ.ρ.is-root-relative(ξ.uri-as-bytes).or(+ ξ.uri-as-bytes.size.gt(1).and(+ ξ.ρ.is-drive-relative(ξ.uri-as-bytes)+ )+ )+ )+ ⟧,+ normalized() ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.uri-as-bytes).as-bool,+ is-root-relative ↦ ξ.ρ.is-root-relative(ξ.uri-as-bytes).as-bool,+ driveless ↦ Φ̇.dataized(+ ξ.is-drive-relative.if(+ ξ.uri-as-bytes.slice(2, ξ.uri-as-bytes.size.plus(-2)), ξ.uri-as-bytes+ )+ ).as-bytes,+ has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+ ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+ ξ.ρ.separator+ )+ ),+ path ↦ Φ̇.dataized(+ Φ̇.txt.text(ξ.ρ.separator).joined(+ Φ̇.structs.list(+ Φ̇.txt.text(ξ.driveless).split(ξ.ρ.separator)+ ).reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-357-27)+ )+ ).as-bytes,+ normalized ↦ ξ.driveless.size.eq(0).if(+ ".",+ ξ.is-drive-relative.if(+ ξ.driveless.slice(0, 1).eq(ξ.ρ.separator).if(+ ξ.ρ.uri.slice(0, 3), ξ.ρ.uri.slice(0, 2)+ ),+ ξ.is-root-relative.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ ).concat(ξ.path).concat(+ ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ )+ ).as-bytes,+ φ ↦ ξ.ρ.ρ.validated(+ ξ.normalized.eq("\\\\").if(+ ξ.ρ.separator, Φ̇.string(ξ.normalized)+ )+ ).determined,+ auto-named-attr-at-357-27(accum, segment) ↦ ⟦+ φ ↦ ξ.segment.eq("..").if(+ ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+ ξ.accum.head,+ ξ.ρ.is-root-relative.not.and(ξ.ρ.is-drive-relative.not).if(+ ξ.accum.with(ξ.segment), ξ.accum+ )+ ),+ ξ.segment.eq(".").or(ξ.segment.eq("")).if(+ ξ.accum, ξ.accum.with(ξ.segment)+ )+ )+ ⟧+ ⟧,+ resolved(other) ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ valid-other ↦ Φ̇.dataized(ξ.ρ.separated-correctly(ξ.other)).as-bytes,+ other-is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.valid-other).as-bool,+ other-is-root-relative ↦ ξ.ρ.is-root-relative(ξ.valid-other).as-bool,+ φ ↦ ξ.ρ.ρ.validated(+ Φ̇.string(+ ξ.other-is-drive-relative.if(+ ξ.valid-other,+ ξ.other-is-root-relative.if(+ ξ.ρ.is-drive-relative(ξ.uri-as-bytes).if(+ ξ.uri-as-bytes.slice(0, 2).concat(ξ.valid-other), ξ.valid-other+ ),+ ξ.uri-as-bytes.concat(ξ.ρ.separator).concat(+ ξ.valid-other+ )+ )+ )+ )+ ).normalized+ ⟧,+ basename() ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ slice-start-idx ↦ Φ̇.dataized(+ ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+ ).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+ ξ.pth,+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ extname() ↦ ⟦+ base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+ slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+ φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+ "",+ Φ̇.string(+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ dirname() ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+ ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+ )+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/fs/tmpdir.phi](./org/eolang/fs/tmpdir.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ fs() ↦ ⟦+ tmpdir() ↦ ⟦+ φ ↦ Φ̇.fs.dir(Φ̇.fs.file(Φ̇.string(ξ.os-tmp-dir))),+ os-tmp-dir ↦ Φ̇.dataized(ξ.os-tmp-dir-1).as-bytes,+ os-tmp-dir-1() ↦ ⟦+ tmpdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TMPDIR")).as-bytes,+ tmp ↦ Φ̇.dataized(Φ̇.sys.getenv("TMP")).as-bytes,+ temp ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMP")).as-bytes,+ tempdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMPDIR")).as-bytes,+ userprofile ↦ Φ̇.dataized(Φ̇.sys.getenv("USERPROFILE")).as-bytes,+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.tmp.eq("").if(+ ξ.temp.eq("").if(+ ξ.userprofile.eq("").if("C:\\Windows", ξ.userprofile), ξ.temp+ ),+ ξ.tmp+ ),+ ξ.tmpdir.eq("").if(+ ξ.tmp.eq("").if(+ ξ.temp.eq("").if(+ ξ.tempdir.eq("").if("/tmp", ξ.tempdir), ξ.temp+ ),+ ξ.tmp+ ),+ ξ.tmpdir+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/go.phi](./org/eolang/go.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ go() ↦ ⟦+ id ↦ Φ̇.dataized(+ Φ̇.malloc.of(+ 8,+ ⟦+ φ ↦ ξ.m.put(ξ.m.id),+ m ↦ ∅+ ⟧+ )+ ).as-bytes,+ to(body) ↦ ⟦+ φ ↦ Φ̇.try(ξ.body(ξ.token), ξ.auto-named-attr-at-63-9, Φ̇.true),+ token() ↦ ⟦+ backward ↦ Φ̇.error(ξ.jump(ξ.ρ.ρ.to(ξ.ρ.body))),+ jump(value) ↦ ⟦+ id ↦ ξ.ρ.ρ.ρ.id+ ⟧,+ forward(res) ↦ ⟦+ φ ↦ Φ̇.error(ξ.ρ.jump(ξ.res))+ ⟧+ ⟧,+ auto-named-attr-at-63-9(e) ↦ ⟦+ φ ↦ ξ.ρ.ρ.id.eq(ξ.e.id).if(ξ.e.value, Φ̇.error(ξ.e))+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/i16.phi](./org/eolang/i16.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ i16(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i16 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64.as-i32.as-i16),+ as-i64 ↦ ξ.as-i32.as-i64,+ as-number ↦ ξ.as-i64.as-number,+ as-i32() ↦ ⟦+ λ ⤍ Lorg_eolang_i16_as_i32+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.lt(ξ.x.as-i16.as-i32)+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.lte(ξ.x.as-i16.as-i32)+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.gt(ξ.x.as-i16.as-i32)+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.gte(ξ.x.as-i16.as-i32)+ ⟧,+ times(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i32.times(ξ.x.as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+ ⟧,+ plus(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i32.plus(ξ.x.as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ.plus(ξ.x.as-i16.neg)+ ⟧,+ div(x) ↦ ⟦+ x-as-i16 ↦ ξ.x.as-i16,+ bts ↦ ξ.ρ.as-i32.div(ξ.x-as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧),+ φ ↦ ξ.x-as-i16.eq(ξ.zero).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't divide %d by i16 zero",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i32.as-i64.as-number)+ )+ ),+ ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))).if(+ ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right))+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/i32.phi](./org/eolang/i32.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ i32(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i32 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64.as-i32),+ as-number ↦ ξ.as-i64.as-number,+ as-i64() ↦ ⟦+ λ ⤍ Lorg_eolang_i32_as_i64+ ⟧,+ as-i16() ↦ ⟦+ left ↦ ξ.ρ.as-bytes.slice(0, 2).as-bytes,+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(+ Φ̇.i16(ξ.ρ.as-bytes.slice(2, 2)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert i32 number %d to i16 because it's out of i16 bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+ )+ )+ )+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.lt(ξ.x.as-i32.as-i64)+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.lte(ξ.x.as-i32.as-i64)+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.gt(ξ.x.as-i32.as-i64)+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.gte(ξ.x.as-i32.as-i64)+ ⟧,+ times(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i64.times(ξ.x.as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+ ⟧,+ plus(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i64.plus(ξ.x.as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ.plus(ξ.x.as-i32.neg)+ ⟧,+ div(x) ↦ ⟦+ x-as-i32 ↦ ξ.x.as-i32,+ bts ↦ ξ.ρ.as-i64.div(ξ.x-as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧),+ φ ↦ ξ.x-as-i32.eq(ξ.zero).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't divide %d by i32 zero", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+ )+ ),+ ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))).if(+ ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right))+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/i64.phi](./org/eolang/i64.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ i64(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i64 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64),+ as-i16 ↦ ξ.as-i32.as-i16,+ as-i32() ↦ ⟦+ left ↦ ξ.ρ.as-bytes.slice(0, 4).as-bytes,+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(+ Φ̇.i32(ξ.ρ.as-bytes.slice(4, 4)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert i64 number %d to i32 because it's out of i32 bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-number)+ )+ )+ )+ ⟧,+ as-number() ↦ ⟦+ λ ⤍ Lorg_eolang_i64_as_number+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ 0.as-i64.gt(ξ.ρ.minus(ξ.ρ.ρ.i64(ξ.value)))+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ gt(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_gt+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ times(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_times+ ⟧,+ plus(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_plus+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.plus(ξ.ρ.ρ.i64(ξ.value).neg)+ ⟧,+ div(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_div+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/bytes-as-input.phi](./org/eolang/io/bytes-as-input.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ bytes-as-input(bts) ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(ξ.ρ.bts, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(data, buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ to-read ↦ Φ̇.dataized(ξ.size).as-bytes,+ available ↦ Φ̇.dataized(ξ.ρ.data.size).as-bytes,+ next ↦ Φ̇.dataized(+ Φ̇.number(ξ.available).gt(ξ.to-read).if(ξ.to-read, ξ.available)+ ).as-bytes,+ φ ↦ ξ.available.eq(0).if(+ ξ.ρ.ρ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.bytes(⟦ Δ ⤍ -- ⟧)),+ ξ.ρ.ρ.input-block(+ ξ.ρ.data.slice(+ ξ.next, Φ̇.number(ξ.available).minus(Φ̇.number(ξ.next))+ ).as-bytes,+ ξ.ρ.data.slice(0, ξ.next).as-bytes+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/console.phi](./org/eolang/io/console.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ console() ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(ξ.windows-console, ξ.posix-console).platform,+ posix-console() ↦ ⟦+ platform ↦ ξ,+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ Φ̇.dataized(+ Φ̇.sys.posix(+ "read",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.stdin-fileno), ξ.size+ )+ ).output+ ).as-bytes,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ ).self+ ⟧+ ⟧+ ⟧,+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block() ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.sys.posix(+ "write",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty, Φ̇.sys.posix.stdout-fileno+ ),+ ξ.buffer+ ),+ ξ.buffer.size+ )+ ).code+ ),+ ξ.ρ.ρ.output-block+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ windows-console() ↦ ⟦+ platform ↦ ξ,+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ Φ̇.dataized(+ Φ̇.sys.win32(+ "ReadFile",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.std-input-handle), ξ.size+ )+ ).output+ ).as-bytes,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ ).self+ ⟧+ ⟧+ ⟧,+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block() ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.sys.win32(+ "WriteFile",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty, Φ̇.sys.win32.std-output-handle+ ),+ ξ.buffer+ ),+ ξ.buffer.size+ )+ ).code+ ),+ ξ.ρ.ρ.output-block+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/dead-input.phi](./org/eolang/io/dead-input.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ dead-input() ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block,+ input-block() ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ -- ⟧),+ read(size) ↦ ⟦+ φ ↦ ξ.ρ.ρ.input-block+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/dead-output.phi](./org/eolang/io/dead-output.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ dead-output() ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block,+ output-block() ↦ ⟦+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ ξ.ρ.ρ.output-block+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/input-length.phi](./org/eolang/io/input-length.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ input-length(input) ↦ ⟦+ chunk ↦ 4096,+ φ ↦ ξ.rec-read(ξ.input, 0),+ rec-read(input, length) ↦ ⟦+ read-bytes ↦ ξ.input.read(ξ.ρ.chunk).read.ρ,+ φ ↦ ξ.read-bytes.size.eq(0).if(+ ξ.length, ξ.ρ.rec-read(ξ.read-bytes, ξ.length.plus(ξ.read-bytes.size))+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/malloc-as-output.phi](./org/eolang/io/malloc-as-output.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ malloc-as-output(allocated) ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block(0).write(ξ.buffer).self,+ output-block(offset) ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty, ξ.ρ.ρ.ρ.allocated.write(ξ.ρ.offset, ξ.buffer)+ ),+ ξ.ρ.ρ.output-block(ξ.ρ.offset.plus(ξ.buffer.size))+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/stdin.phi](./org/eolang/io/stdin.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ stdin() ↦ ⟦+ φ ↦ ξ.all-lines,+ all-lines() ↦ ⟦+ φ ↦ ξ.rec-read(ξ.ρ.next-line, Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.true),+ separator ↦ Φ̇.dataized(Φ̇.sys.line-separator).as-bytes,+ rec-read(line, buffer, first) ↦ ⟦+ φ ↦ ξ.line.length.eq(0).if(+ Φ̇.string(ξ.buffer),+ ξ.ρ.rec-read(+ ξ.ρ.ρ.next-line,+ ξ.first.if(+ ξ.buffer.concat(ξ.line), ξ.buffer.concat(ξ.ρ.separator).concat(ξ.line)+ ),+ Φ̇.false+ )+ )+ ⟧+ ⟧,+ next-line() ↦ ⟦+ first ↦ Φ̇.io.console.read(1).self,+ φ ↦ ξ.first.as-bytes.size.eq(0).if(+ "", ξ.rec-read(ξ.first, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ ),+ rec-read(input, buffer) ↦ ⟦+ char ↦ ξ.input.as-bytes,+ next ↦ ξ.input.read(1).self,+ φ ↦ ξ.char.eq(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).or(+ ξ.char.eq("\r").and(ξ.next.as-bytes.eq("\n")).or(ξ.char.eq("\n"))+ ).if(+ Φ̇.string(ξ.buffer), ξ.ρ.rec-read(ξ.next, ξ.buffer.concat(ξ.char))+ )+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/stdout.phi](./org/eolang/io/stdout.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ stdout(text) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.io.console.write(ξ.text)), Φ̇.true+ )+ )+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/tee-input.phi](./org/eolang/io/tee-input.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ tee-input(input, output) ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(ξ.ρ.input, ξ.ρ.output, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(+ ξ.size+ ).self,+ input-block(input, output, buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ ξ.ρ.input.read(ξ.size).read.ρ,+ written-bytes ↦ ξ.ρ.output.write(ξ.read-bytes).write.ρ,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.written-bytes),+ ξ.ρ.ρ.input-block(+ ξ.read-bytes, ξ.written-bytes, ξ.read-bytes.as-bytes+ )+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/malloc.phi](./org/eolang/malloc.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ malloc() ↦ ⟦+ empty(scope) ↦ ⟦+ φ ↦ ξ.ρ.ρ.malloc.of(0, ξ.scope)+ ⟧,+ for(object, scope) ↦ ⟦+ bts ↦ Φ̇.dataized(ξ.object).as-bytes,+ φ ↦ ξ.ρ.ρ.malloc.of(ξ.bts.size, ξ.auto-named-attr-at-96-9),+ auto-named-attr-at-96-9(m) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.m.write(0, ξ.ρ.bts)), ξ.ρ.scope(ξ.m)+ )+ )+ ⟧+ ⟧,+ of(size, scope) ↦ ⟦+ φ() ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_φ+ ⟧,+ allocated(id) ↦ ⟦+ φ ↦ ξ.get,+ get ↦ ξ.read(0, ξ.size),+ size() ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_size+ ⟧,+ resized(new-size) ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_resized+ ⟧,+ copy(source, target, length) ↦ ⟦+ φ ↦ ξ.ρ.write(ξ.target, ξ.ρ.read(ξ.source, ξ.length))+ ⟧,+ read(offset, length) ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_read+ ⟧,+ write(offset, data) ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_write+ ⟧,+ put(object) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.write(0, ξ.object)), ξ.ρ.get+ )+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/angle.phi](./org/eolang/math/angle.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ math() ↦ ⟦+ angle(value) ↦ ⟦+ φ ↦ ξ.value,+ in-degrees ↦ ξ.ρ.angle(ξ.ρ.times(180).div(Φ̇.math.pi)),+ in-radians ↦ ξ.ρ.angle(ξ.times(Φ̇.math.pi).div(180)),+ sin() ↦ ⟦+ λ ⤍ Lorg_eolang_math_angle_sin+ ⟧,+ cos() ↦ ⟦+ λ ⤍ Lorg_eolang_math_angle_cos+ ⟧,+ tan() ↦ ⟦+ cosine ↦ Φ̇.dataized(ξ.ρ.cos).as-bytes,+ φ ↦ ξ.cosine.eq(0).if(Φ̇.nan, ξ.ρ.sin.div(ξ.cosine))+ ⟧,+ ctan() ↦ ⟦+ sine ↦ Φ̇.dataized(ξ.ρ.sin).as-bytes,+ φ ↦ ξ.sine.eq(0).if(Φ̇.nan, ξ.ρ.cos.div(ξ.sine))+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/e.phi](./org/eolang/math/e.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ math() ↦ ⟦+ e ↦ 2.718281828459045,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/integral.phi](./org/eolang/math/integral.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ math() ↦ ⟦+ integral(fun, a, b, n) ↦ ⟦+ subsection(a, b) ↦ ⟦+ φ ↦ ξ.b.minus(ξ.a).div(6).times(+ ξ.ρ.fun(ξ.a).plus(+ 4.times(ξ.ρ.fun(0.5.times(ξ.a.plus(ξ.b)))).plus(ξ.ρ.fun(ξ.b))+ )+ )+ ⟧,+ φ ↦ Φ̇.malloc.of(8, ξ.auto-named-attr-at-50-11).as-number,+ auto-named-attr-at-50-11(sum) ↦ ⟦+ φ ↦ Φ̇.malloc.for(ξ.ρ.a, ξ.auto-named-attr-at-53-16),+ auto-named-attr-at-53-16(left) ↦ ⟦+ right ↦ ξ.ρ.ρ.b,+ step ↦ ξ.right.minus(ξ.left).div(ξ.ρ.ρ.n).as-number,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.while(+ ξ.auto-named-attr-at-59-21,+ ⟦+ φ ↦ Φ̇.true,+ i ↦ ∅+ ⟧+ )+ ),+ ξ.ρ.sum+ )+ ),+ auto-named-attr-at-59-21(i) ↦ ⟦+ φ ↦ ξ.ρ.left.as-number.plus(ξ.ρ.step).lt(ξ.ρ.right).if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ ξ.ρ.ρ.sum.put(+ ξ.ρ.ρ.sum.as-number.plus(+ ξ.ρ.ρ.ρ.subsection(+ ξ.ρ.left.as-number, ξ.ρ.left.as-number.plus(ξ.ρ.step)+ )+ )+ )+ ),+ ξ.ρ.left.put(ξ.ρ.left.as-number.plus(ξ.ρ.step))+ ),+ Φ̇.true+ )+ ),+ Φ̇.false+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/numbers.phi](./org/eolang/math/numbers.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ math() ↦ ⟦+ numbers(sequence) ↦ ⟦+ φ ↦ ξ.sequence,+ max() ↦ ⟦+ lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+ φ ↦ ξ.lst.is-empty.if(+ Φ̇.error("Can't get max number from empty sequence"),+ ξ.lst.reduced(+ Φ̇.negative-infinity,+ ⟦+ max ↦ ∅,+ item ↦ ∅,+ φ ↦ ξ.item.as-number.gt(ξ.max).if(ξ.item, ξ.max)+ ⟧+ )+ )+ ⟧,+ min() ↦ ⟦+ lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+ φ ↦ ξ.lst.is-empty.if(+ Φ̇.error("Can't get min number from empty sequence"),+ ξ.lst.reduced(+ Φ̇.positive-infinity,+ ⟦+ min ↦ ∅,+ item ↦ ∅,+ φ ↦ ξ.min.gt(ξ.item.as-number).if(ξ.item, ξ.min)+ ⟧+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/pi.phi](./org/eolang/math/pi.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ math() ↦ ⟦+ pi ↦ 3.141592653589793,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/random.phi](./org/eolang/math/random.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ math() ↦ ⟦+ random(seed) ↦ ⟦+ fixed ↦ ξ,+ φ ↦ ξ.seed.as-number.div(+ Φ̇.bytes(⟦ Δ ⤍ 00-20-00-00-00-00-00-00 ⟧).as-i64.as-number+ ),+ next ↦ ξ.ρ.random(+ ξ.seed.times(25214903917).plus(11).as-i64.and(+ Φ̇.bytes(⟦ Δ ⤍ 00-0F-FF-FF-FF-FF-FF-FF ⟧)+ ).as-i64.as-number+ ).fixed,+ pseudo() ↦ ⟦+ const-1 ↦ 35,+ const-2 ↦ 53,+ const-3 ↦ 17,+ one ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-01 ⟧),+ φ ↦ ξ.ρ.ρ.random(ξ.time-seed),+ time-seed ↦ ξ.time-bytes.left(ξ.const-1).and(+ ξ.one.left(ξ.const-2).as-i64.minus(ξ.one).as-bytes+ ).as-i64.plus(+ ξ.time-bytes.left(ξ.const-3).and(+ ξ.one.left(ξ.const-1).as-i64.minus(ξ.one).as-bytes+ ).as-i64.plus(+ ξ.time-bytes.and(+ ξ.one.left(ξ.const-3).as-i64.minus(ξ.one).as-bytes+ ).as-i64+ )+ ).as-number,+ time-bytes ↦ Φ̇.sys.os.is-windows.if(+ Φ̇.sys.win32(+ "GetSystemTime", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.system-time)+ ).milliseconds,+ ⟦+ timeval ↦ Φ̇.sys.posix(+ "gettimeofday", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.timeval)+ ).output,+ φ ↦ ξ.timeval.tv-sec.times(1000).plus(+ ξ.timeval.tv-usec.as-i64.div(1000.as-i64).as-number+ )+ ⟧+ ).as-i64.as-bytes+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/math/real.phi](./org/eolang/math/real.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ math() ↦ ⟦+ real(num) ↦ ⟦+ φ ↦ ξ.num,+ exp ↦ Φ̇.math.real(Φ̇.math.e).pow(ξ.num),+ mod(x) ↦ ⟦+ dividend ↦ Φ̇.number(ξ.ρ.num.as-bytes),+ divisor ↦ Φ̇.number(ξ.x.as-bytes),+ φ ↦ ξ.divisor.eq(0).if(+ Φ̇.error("Can't calculate mod by zero"),+ ξ.dividend.gt(0).if(ξ.abs-mod, ξ.abs-mod.neg)+ ),+ abs-mod() ↦ ⟦+ dividend-abs ↦ Φ̇.math.real(ξ.ρ.dividend).abs,+ divisor-abs ↦ Φ̇.math.real(ξ.ρ.divisor).abs,+ φ ↦ ξ.dividend-abs.minus(+ ξ.divisor-abs.times(ξ.dividend-abs.div(ξ.divisor-abs).floor)+ )+ ⟧+ ⟧,+ abs() ↦ ⟦+ value ↦ Φ̇.number(ξ.ρ.num.as-bytes),+ φ ↦ ξ.value.gte(0).if(ξ.value, ξ.value.neg)+ ⟧,+ pow(x) ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_pow+ ⟧,+ sqrt() ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_sqrt+ ⟧,+ ln() ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_ln+ ⟧,+ acos() ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_acos+ ⟧,+ asin() ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_asin+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/nan.phi](./org/eolang/nan.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ nan() ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F8-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ ξ,+ is-nan ↦ Φ̇.true,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert NaN to i64"),+ eq(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ times(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ plus(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ div(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/negative-infinity.phi](./org/eolang/negative-infinity.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ negative-infinity() ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ FF-F0-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ Φ̇.positive-infinity,+ is-nan ↦ Φ̇.false,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert negative infinity to i64"),+ eq(x) ↦ ⟦+ φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.not+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.eq(ξ.x)+ ⟧,+ times(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+ Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.positive-infinity)+ )+ ⟧,+ plus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.positive-infinity)).if(+ Φ̇.nan, ξ.ρ+ )+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+ ⟧,+ div(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+ Φ̇.nan,+ ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+ Φ̇.positive-infinity, ξ.ρ+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/net/socket.phi](./org/eolang/net/socket.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ net() ↦ ⟦+ socket(address, port) ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.win-socket(ξ.address, ξ.port), ξ.posix-socket(ξ.address, ξ.port)+ ),+ htons(port) ↦ ⟦+ bts ↦ ξ.port.as-i16.as-bytes,+ φ ↦ ξ.bts.and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧)).left(8).or(+ ξ.bts.right(8).and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧))+ ).as-i16+ ⟧,+ as-input(recv) ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ ξ.ρ.ρ.ρ.recv(ξ.size).as-bytes,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ as-output(send) ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block() ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.send(ξ.buffer)), ξ.ρ.ρ.output-block+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ posix-socket(address, port) ↦ ⟦+ sd ↦ Φ̇.sys.posix(+ "socket",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.af-inet), Φ̇.sys.posix.sock-stream+ ),+ Φ̇.sys.posix.ipproto-tcp+ )+ ).code,+ inet-addr ↦ Φ̇.sys.posix(+ "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+ ).code,+ inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.posix.inaddr-none).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' posix syscall, reason: '%s'",+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.strerror.code)+ )+ ),+ ξ.inet-addr.as-i32+ ),+ sockaddr ↦ Φ̇.sys.posix.sockaddr-in(+ Φ̇.sys.posix.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+ ),+ scoped-socket(sockfd) ↦ ⟦+ as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+ as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+ send(buffer) ↦ ⟦+ buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+ sent ↦ Φ̇.sys.posix(+ "send",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+ ),+ 0+ )+ ).code,+ φ ↦ ξ.sent.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to send message through the socket '%d', reason: %s",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+ )+ )+ ),+ ξ.sent+ )+ ⟧,+ recv(size) ↦ ⟦+ received ↦ Φ̇.sys.posix(+ "recv",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+ )+ ).called,+ φ ↦ ξ.received.code.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to receive data from the socket '%d', reason: %s",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+ )+ )+ ),+ ξ.received.output+ )+ ⟧+ ⟧,+ strerror() ↦ ⟦+ φ ↦ Φ̇.sys.posix(+ "strerror",+ Φ̇.tuple(+ Φ̇.tuple.empty, Φ̇.sys.posix("errno", Φ̇.tuple.empty).code+ )+ )+ ⟧,+ closed-socket(sockfd) ↦ ⟦+ closed ↦ Φ̇.sys.posix("close", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)).code,+ φ ↦ ξ.closed.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't close a posix socket '%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.strerror.code+ )+ )+ ),+ Φ̇.true+ )+ ⟧,+ safe-socket(scope) ↦ ⟦+ φ ↦ ξ.ρ.sd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't create a posix socket, reason: '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.strerror.code)+ )+ ),+ Φ̇.try(+ ξ.scope,+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.ρ.closed-socket(ξ.ρ.sd)+ )+ )+ ⟧,+ connect(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-276-10),+ auto-named-attr-at-276-10() ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ connected ↦ Φ̇.sys.posix(+ "connect",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ ξ.connected.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't connect to '%s:%d' on posix socket '%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.strerror.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+ )+ ⟧+ ⟧,+ listen(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-300-10),+ auto-named-attr-at-300-10() ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ bound ↦ Φ̇.sys.posix(+ "bind",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ listened ↦ Φ̇.sys.posix(+ "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+ ).code,+ φ ↦ ξ.bound.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't bind posix socket '%d' to '%s:%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+ ),+ ξ.sock.port+ ),+ ξ.sock.strerror.code+ )+ )+ ),+ ξ.listened.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to listen for connections to '%s:%d' on socket '%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.strerror.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-325-22)).as-bytes+ )+ ),+ auto-named-attr-at-325-22() ↦ ⟦+ φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+ accept(scope) ↦ ⟦+ sock ↦ ξ.ρ.ρ.sock,+ client-sockfd ↦ Φ̇.sys.posix(+ "accept",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ Φ̇.try(+ ξ.client-sockfd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to accept a connection on posix socket '%d', reason: %s",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.strerror.code+ )+ )+ ),+ Φ̇.dataized(+ ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+ ).as-bytes+ ),+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.sock.closed-socket(ξ.client-sockfd)+ )+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ win-socket(address, port) ↦ ⟦+ sd ↦ Φ̇.sys.win32(+ "socket",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.af-inet), Φ̇.sys.win32.sock-stream+ ),+ Φ̇.sys.win32.ipproto-tcp+ )+ ).code,+ inet-addr ↦ Φ̇.sys.win32(+ "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+ ).code,+ inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.win32.inaddr-none).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' win32 function call, WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.last-error.code+ )+ )+ ),+ ξ.inet-addr.as-i32+ ),+ sockaddr ↦ Φ̇.sys.win32.sockaddr-in(+ Φ̇.sys.win32.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+ ),+ scoped-socket(sockfd) ↦ ⟦+ as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+ as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+ send(buffer) ↦ ⟦+ buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+ sent ↦ Φ̇.sys.win32(+ "send",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+ ),+ 0+ )+ ).code,+ φ ↦ ξ.sent.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to send message through the socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+ )+ )+ ),+ ξ.sent+ )+ ⟧,+ recv(size) ↦ ⟦+ received ↦ Φ̇.sys.win32(+ "recv",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+ )+ ).called,+ φ ↦ ξ.received.code.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to receive data from the socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+ )+ )+ ),+ ξ.received.output+ )+ ⟧+ ⟧,+ last-error() ↦ ⟦+ φ ↦ Φ̇.sys.win32("WSAGetLastError", Φ̇.tuple.empty)+ ⟧,+ closed-socket(sockfd) ↦ ⟦+ closed ↦ Φ̇.sys.win32(+ "closesocket", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)+ ).code,+ φ ↦ ξ.closed.eq(Φ̇.sys.win32.socket-error).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't close a win32 socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.last-error.code+ )+ )+ ),+ Φ̇.true+ )+ ⟧,+ safe-socket(scope) ↦ ⟦+ started-up ↦ Φ̇.sys.win32(+ "WSAStartup", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.winsock-version-2-2)+ ).code,+ cleaned-up ↦ Φ̇.sys.win32("WSACleanup", Φ̇.tuple.empty).code,+ φ ↦ ξ.started-up.eq(0).not.if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't initialize Winsock via 'WSAStartup' call, WSA error code: %d",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.started-up)+ )+ ),+ Φ̇.try(+ ξ.ρ.sd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't create a win32 socket, WSA error code: %d",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.last-error.code)+ )+ ),+ Φ̇.try(+ ξ.scope,+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.ρ.closed-socket(ξ.ρ.sd)+ )+ ),+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.cleaned-up.eq(Φ̇.sys.win32.socket-error).if(+ Φ̇.error("Couldn't cleanup Winsock resources"), Φ̇.true+ )+ )+ )+ ⟧,+ connect(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-485-10),+ auto-named-attr-at-485-10() ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ connected ↦ Φ̇.sys.win32(+ "connect",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ ξ.connected.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't connect to '%s:%d' on win32 socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.last-error.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+ )+ ⟧+ ⟧,+ listen(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-509-10),+ auto-named-attr-at-509-10() ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ bound ↦ Φ̇.sys.win32(+ "bind",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ listened ↦ Φ̇.sys.win32(+ "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+ ).code,+ φ ↦ ξ.bound.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't bind win32 socket '%d' to '%s:%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+ ),+ ξ.sock.port+ ),+ ξ.sock.last-error.code+ )+ )+ ),+ ξ.listened.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to listen for connections to '%s:%d' on socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.last-error.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-534-22)).as-bytes+ )+ ),+ auto-named-attr-at-534-22() ↦ ⟦+ φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+ accept(scope) ↦ ⟦+ sock ↦ ξ.ρ.ρ.sock,+ client-sockfd ↦ Φ̇.sys.win32(+ "accept",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ Φ̇.try(+ ξ.client-sockfd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to accept a connection on win32 socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.last-error.code+ )+ )+ ),+ Φ̇.dataized(+ ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+ ).as-bytes+ ),+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.sock.closed-socket(ξ.client-sockfd)+ )+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/number.phi](./org/eolang/number.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ number(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-number ↦ ξ,+ neg ↦ ξ.times(-1),+ as-i32 ↦ ξ.as-i64.as-i32,+ as-i16 ↦ ξ.as-i32.as-i16,+ is-nan ↦ ξ.as-bytes.eq(Φ̇.nan.as-bytes),+ as-i64() ↦ ⟦+ λ ⤍ Lorg_eolang_number_as_i64+ ⟧,+ eq(x) ↦ ⟦+ x-as-bytes ↦ Φ̇.dataized(ξ.x).as-bytes,+ self-as-bytes ↦ ξ.ρ.as-bytes,+ pos-zero-as-bytes ↦ 0.as-bytes,+ neg-zero-as-bytes ↦ -0.as-bytes,+ φ ↦ ξ.ρ.is-nan.or(Φ̇.number(ξ.x-as-bytes).is-nan).if(+ Φ̇.false,+ ξ.x-as-bytes.eq(ξ.pos-zero-as-bytes).or(+ ξ.x-as-bytes.eq(ξ.neg-zero-as-bytes)+ ).and(+ ξ.self-as-bytes.eq(ξ.pos-zero-as-bytes).or(+ ξ.self-as-bytes.eq(ξ.neg-zero-as-bytes)+ )+ ).or(ξ.self-as-bytes.eq(ξ.x-as-bytes))+ )+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ 0.gt(ξ.ρ.minus(Φ̇.number(ξ.value)))+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ gt(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_gt+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ times(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_times+ ⟧,+ plus(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_plus+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.plus(Φ̇.number(ξ.value).neg)+ ⟧,+ div(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_div+ ⟧,+ floor() ↦ ⟦+ λ ⤍ Lorg_eolang_number_floor+ ⟧,+ is-integer() ↦ ⟦+ φ ↦ ξ.ρ.is-finite.and(ξ.ρ.eq(ξ.ρ.floor))+ ⟧,+ is-finite() ↦ ⟦+ φ ↦ ξ.ρ.is-nan.not.and(+ ξ.ρ.eq(Φ̇.positive-infinity).or(ξ.ρ.eq(Φ̇.negative-infinity)).not+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/positive-infinity.phi](./org/eolang/positive-infinity.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ positive-infinity() ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F0-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ Φ̇.negative-infinity,+ is-nan ↦ Φ̇.false,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert positive infinity to i64"),+ eq(x) ↦ ⟦+ φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.eq(ξ.x)+ ⟧,+ gt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.not+ ⟧,+ times(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+ Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.negative-infinity)+ )+ ⟧,+ plus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.negative-infinity)).if(+ Φ̇.nan, ξ.ρ+ )+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+ ⟧,+ div(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+ Φ̇.nan,+ ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+ Φ̇.negative-infinity, ξ.ρ+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/seq.phi](./org/eolang/seq.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ seq(steps) ↦ ⟦+ φ ↦ ξ.steps.length.eq(0).if(Φ̇.true, ξ.loop(0)),+ max-len ↦ Φ̇.dataized(ξ.steps.length.minus(1)).as-bytes,+ loop(index) ↦ ⟦+ φ ↦ ξ.index.lt(ξ.ρ.max-len).and(+ Φ̇.dataized(ξ.ρ.steps.at(ξ.index)).as-bool.or(Φ̇.true)+ ).if(ξ.ρ.loop(ξ.index.plus(1)), ξ.ρ.steps.at(ξ.index))+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/string.phi](./org/eolang/string.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ string(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ length() ↦ ⟦+ size ↦ ξ.ρ.as-bytes.size,+ pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+ pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+ pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+ pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+ result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+ result-three ↦ ξ.pattern-two,+ result-four ↦ ξ.pattern-three,+ φ ↦ ξ.size.eq(0).if(0, ξ.rec-length(0, 0)),+ increase-length(index, char-size, len) ↦ ⟦+ φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+ )+ )+ ),+ ξ.ρ.rec-length(ξ.index.plus(ξ.char-size), ξ.len.plus(1))+ )+ ⟧,+ rec-length(index, accum) ↦ ⟦+ byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+ φ ↦ ξ.index.eq(ξ.ρ.size).if(+ ξ.accum,+ ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+ ξ.ρ.increase-length(ξ.index, 1, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+ ξ.ρ.increase-length(ξ.index, 2, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+ ξ.ρ.increase-length(ξ.index, 3, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+ ξ.ρ.increase-length(ξ.index, 4, ξ.accum),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Unknown byte format (%x), can't recognize character",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+ )+ )+ )+ )+ )+ )+ )+ ⟧+ ⟧,+ slice(start, len) ↦ ⟦+ start-bytes ↦ Φ̇.dataized(ξ.start).as-bytes,+ len-bytes ↦ Φ̇.dataized(ξ.len).as-bytes,+ num-start ↦ Φ̇.number(ξ.start-bytes),+ num-len ↦ Φ̇.number(ξ.len-bytes),+ size ↦ ξ.ρ.as-bytes.size,+ end ↦ ξ.num-start.plus(ξ.num-len),+ pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+ pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+ pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+ pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+ result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+ result-three ↦ ξ.pattern-two,+ result-four ↦ ξ.pattern-three,+ bts-start ↦ Φ̇.dataized(+ ξ.rec-index(+ 0,+ 0,+ ξ.num-start,+ Φ̇.txt.sprintf(+ "Start index (%d) is out of string bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+ )+ )+ ).as-bytes,+ bts-length ↦ ξ.rec-index(+ Φ̇.number(ξ.bts-start),+ 0,+ ξ.num-len,+ Φ̇.txt.sprintf(+ "Start index + length to slice (%d) is out of string bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start.plus(ξ.num-len))+ )+ ).minus(ξ.bts-start),+ φ ↦ ξ.num-start.lt(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Start index must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+ )+ ),+ ξ.num-len.lt(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Length to slice must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-len)+ )+ ),+ ξ.num-len.eq(0).if(+ "", Φ̇.string(ξ.ρ.as-bytes.slice(ξ.bts-start, ξ.bts-length))+ )+ )+ ),+ increase(index, char-size, accum, result, cause) ↦ ⟦+ φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+ )+ )+ ),+ ξ.ρ.rec-index(+ ξ.index.plus(ξ.char-size), ξ.accum.plus(1), ξ.result, ξ.cause+ )+ )+ ⟧,+ rec-index(index, accum, result, cause) ↦ ⟦+ byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+ φ ↦ ξ.accum.eq(ξ.result).if(+ ξ.index,+ ξ.index.eq(ξ.ρ.size).if(+ Φ̇.error(ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+ ξ.ρ.increase(ξ.index, 1, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+ ξ.ρ.increase(ξ.index, 2, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+ ξ.ρ.increase(ξ.index, 3, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+ ξ.ρ.increase(ξ.index, 4, ξ.accum, ξ.result, ξ.cause),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Unknown byte format (%x), can't recognize character",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+ )+ )+ )+ )+ )+ )+ )+ )+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/bytes-as-array.phi](./org/eolang/structs/bytes-as-array.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ structs() ↦ ⟦+ bytes-as-array(bts) ↦ ⟦+ bytes-size ↦ Φ̇.dataized(ξ.bts.size).as-bytes,+ φ ↦ ξ.slice-byte(Φ̇.tuple.empty, 0),+ slice-byte(tup, index) ↦ ⟦+ φ ↦ ξ.index.lt(ξ.ρ.bytes-size).if(+ ξ.ρ.slice-byte(+ ξ.tup.with(ξ.ρ.bts.slice(ξ.index, 1)), ξ.index.plus(1)+ ),+ ξ.tup+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/hash-code-of.phi](./org/eolang/structs/hash-code-of.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ structs() ↦ ⟦+ hash-code-of(input) ↦ ⟦+ input-as-bytes ↦ Φ̇.dataized(ξ.input.as-bytes).as-bytes,+ size ↦ Φ̇.dataized(ξ.input-as-bytes.size).as-bytes,+ magic-number ↦ 31.as-i64,+ φ ↦ ξ.rec-hash-code(0, 0),+ rec-hash-code(acc, index) ↦ ⟦+ φ ↦ ξ.index.eq(ξ.ρ.size).if(+ ξ.acc.as-number,+ ξ.ρ.rec-hash-code(+ ξ.ρ.magic-number.times(ξ.acc).plus(+ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(+ ξ.ρ.input-as-bytes.slice(ξ.index, 1)+ ).as-i64+ ),+ ξ.index.plus(1)+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/list.phi](./org/eolang/structs/list.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ structs() ↦ ⟦+ list(origin) ↦ ⟦+ φ ↦ ξ.origin,+ is-empty() ↦ ⟦+ φ ↦ 0.eq(ξ.ρ.origin.length)+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(ξ.ρ.origin.with(ξ.x))+ ⟧,+ withi(index, item) ↦ ⟦+ φ ↦ ξ.ρ.head(ξ.index).with(ξ.item).concat(+ ξ.ρ.tail(ξ.ρ.origin.length.minus(ξ.index))+ )+ ⟧,+ reducedi(start, func) ↦ ⟦+ origin-len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ φ ↦ 0.eq(ξ.origin-len).if(ξ.start, ξ.rec-reduced(ξ.start, 0.as-bytes)),+ rec-reduced(accum, index) ↦ ⟦+ idx-as-number ↦ ξ.index.as-number,+ next-index ↦ Φ̇.dataized(1.plus(ξ.idx-as-number)).as-bytes,+ φ ↦ ξ.next-index.eq(ξ.ρ.origin-len).if(+ ξ.accumulated, ξ.ρ.rec-reduced(ξ.accumulated, ξ.next-index)+ ),+ accumulated ↦ ξ.ρ.func(+ ξ.accum, ξ.ρ.ρ.origin.at(ξ.idx-as-number), ξ.idx-as-number+ )+ ⟧+ ⟧,+ reduced(start, func) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(ξ.start, ξ.auto-named-attr-at-83-42),+ auto-named-attr-at-83-42(accum, item, idx) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.accum, ξ.item)+ ⟧+ ⟧,+ mappedi(func) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-93-24)+ ),+ auto-named-attr-at-93-24(accum, item, idx) ↦ ⟦+ φ ↦ ξ.accum.with(ξ.ρ.func(ξ.item, ξ.idx))+ ⟧+ ⟧,+ mapped(func) ↦ ⟦+ φ ↦ ξ.ρ.mappedi(ξ.auto-named-attr-at-103-30),+ auto-named-attr-at-103-30(item, idx) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.item)+ ⟧+ ⟧,+ eachi(func) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-113-22),+ auto-named-attr-at-113-22(acc, item, index) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.acc), ξ.ρ.func(ξ.item, ξ.index)+ )+ )+ ⟧+ ⟧,+ each(func) ↦ ⟦+ φ ↦ ξ.ρ.eachi(ξ.auto-named-attr-at-124-32),+ auto-named-attr-at-124-32(item, index) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.item)+ ⟧+ ⟧,+ withouti(i) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-131-24)+ ),+ auto-named-attr-at-131-24(accum, item, idx) ↦ ⟦+ φ ↦ ξ.ρ.i.eq(ξ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+ ⟧+ ⟧,+ without(element) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(+ ξ.ρ.reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-142-20)+ ),+ auto-named-attr-at-142-20(accum, item) ↦ ⟦+ φ ↦ ξ.ρ.element.eq(ξ.item).if(ξ.accum, ξ.accum.with(ξ.item))+ ⟧+ ⟧,+ eq(other) ↦ ⟦+ φ ↦ ξ.ρ.origin.length.eq(ξ.other.length).and(+ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-157-24)+ ),+ auto-named-attr-at-157-24(accum, item, idx) ↦ ⟦+ φ ↦ ξ.accum.and(ξ.item.eq(ξ.ρ.other.at(ξ.idx)))+ ⟧+ ⟧,+ concat(passed) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(ξ.passed).reduced(+ ξ.ρ,+ ⟦+ φ ↦ ξ.accum.with(ξ.item),+ accum ↦ ∅,+ item ↦ ∅+ ⟧+ )+ ⟧,+ index-of(wanted) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-177-24),+ auto-named-attr-at-177-24(accum, item, index) ↦ ⟦+ φ ↦ -1.eq(ξ.accum).and(ξ.item.eq(ξ.ρ.wanted)).if(ξ.index, ξ.accum)+ ⟧+ ⟧,+ last-index-of(wanted) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-190-24),+ auto-named-attr-at-190-24(accum, item, index) ↦ ⟦+ φ ↦ ξ.item.eq(ξ.ρ.wanted).if(ξ.index, ξ.accum)+ ⟧+ ⟧,+ contains(element) ↦ ⟦+ φ ↦ -1.eq(ξ.ρ.index-of(ξ.element)).not+ ⟧,+ sorted() ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ filteredi(func) ↦ ⟦+ origin-length ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ φ ↦ ξ.ρ.ρ.list(ξ.rec-filtered(0.as-bytes, Φ̇.tuple.empty)),+ rec-filtered(idx-as-bytes, accum) ↦ ⟦+ original ↦ ξ.ρ.ρ.origin,+ index ↦ ξ.idx-as-bytes.as-number,+ item ↦ ξ.ρ.ρ.origin.at(ξ.index),+ φ ↦ ξ.idx-as-bytes.eq(ξ.ρ.origin-length).if(+ ξ.accum,+ ξ.ρ.rec-filtered(+ 1.plus(ξ.index).as-bytes,+ ξ.ρ.func(ξ.item, ξ.index).if(ξ.accum.with(ξ.item), ξ.accum)+ )+ )+ ⟧+ ⟧,+ filtered(func) ↦ ⟦+ φ ↦ ξ.ρ.filteredi(ξ.auto-named-attr-at-243-32),+ auto-named-attr-at-243-32(item, index) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.item)+ ⟧+ ⟧,+ head(index) ↦ ⟦+ idx ↦ Φ̇.dataized(ξ.index).as-bytes,+ φ ↦ Φ̇.switch(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, 0.eq(ξ.idx)), ξ.ρ.ρ.list(Φ̇.tuple.empty)+ )+ ),+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, 0.gt(ξ.idx)), ξ.ρ.tail(ξ.index.as-number.neg)+ )+ ),+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin.length.lte(ξ.idx)), ξ.ρ+ )+ ),+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.true),+ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-264-32)+ )+ )+ )+ ),+ auto-named-attr-at-264-32(accum, item, index) ↦ ⟦+ φ ↦ ξ.index.gte(ξ.ρ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+ ⟧+ ⟧,+ tail(index) ↦ ⟦+ idx ↦ Φ̇.dataized(ξ.index).as-bytes,+ start ↦ Φ̇.dataized(ξ.ρ.origin.length.minus(ξ.idx.as-number)).as-bytes,+ φ ↦ 0.gt(ξ.start).if(+ ξ.ρ,+ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-280-26)+ )+ ),+ auto-named-attr-at-280-26(accum, item, idx) ↦ ⟦+ φ ↦ ξ.idx.gte(ξ.ρ.start).if(ξ.accum.with(ξ.item), ξ.accum)+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/map.phi](./org/eolang/structs/map.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ structs() ↦ ⟦+ map(pairs) ↦ ⟦+ φ ↦ ξ.auto-named-attr-at-37-6.initialized,+ entry(key, value) ↦ ⟦⟧,+ initialized(entries) ↦ ⟦+ initialized ↦ ξ,+ size ↦ ξ.entries.length,+ keys() ↦ ⟦+ φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+ ⟦+ φ ↦ ξ.entry.key,+ entry ↦ ∅+ ⟧+ )+ ⟧,+ values() ↦ ⟦+ φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+ ⟦+ φ ↦ ξ.entry.value,+ entry ↦ ∅+ ⟧+ )+ ⟧,+ has(key) ↦ ⟦+ φ ↦ ξ.ρ.found(ξ.key).exists+ ⟧,+ found(key) ↦ ⟦+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+ φ ↦ ξ.ρ.size.eq(0).if(ξ.not-found, ξ.rec-key-search(ξ.not-found, 0)),+ rec-key-search(found, index) ↦ ⟦+ entry ↦ ξ.ρ.ρ.entries.at(ξ.index),+ φ ↦ ξ.found.exists.or(ξ.ρ.ρ.size.eq(ξ.index)).if(+ ξ.found,+ ξ.ρ.rec-key-search(+ ξ.ρ.hash.eq(ξ.entry.hash).if(+ ξ.auto-named-attr-at-133-54, ξ.found+ ),+ ξ.index.plus(1)+ )+ ),+ auto-named-attr-at-133-54() ↦ ⟦+ exists ↦ Φ̇.true,+ get ↦ ξ.ρ.entry.value+ ⟧+ ⟧,+ not-found() ↦ ⟦+ exists ↦ Φ̇.false,+ get ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "Object by hash code %d from given key does not exists",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.hash)+ )+ )+ ⟧+ ⟧,+ with(key, value) ↦ ⟦+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+ φ ↦ ξ.ρ.ρ.ρ.map.initialized(+ Φ̇.structs.list(ξ.ρ.entries).filtered(+ ξ.auto-named-attr-at-153-50+ ).origin.with(ξ.auto-named-attr-at-154-12)+ ),+ auto-named-attr-at-153-50(entry) ↦ ⟦+ φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+ ⟧,+ auto-named-attr-at-154-12() ↦ ⟦+ key ↦ ξ.ρ.key,+ value ↦ ξ.ρ.value,+ hash ↦ ξ.ρ.hash+ ⟧+ ⟧,+ without(key) ↦ ⟦+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+ φ ↦ ξ.ρ.ρ.ρ.map.initialized(+ Φ̇.structs.list(ξ.ρ.entries).filtered(+ ξ.auto-named-attr-at-167-48+ ).origin+ ),+ auto-named-attr-at-167-48(entry) ↦ ⟦+ φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+ ⟧+ ⟧+ ⟧,+ auto-named-attr-at-37-6() ↦ ⟦+ pairs-size ↦ Φ̇.dataized(ξ.ρ.pairs.length).as-bytes,+ φ ↦ ξ.ρ.initialized(+ ξ.pairs-size.eq(0).if(+ Φ̇.tuple.empty,+ ξ.rec-rebuild(Φ̇.tuple.empty, 0, Φ̇.structs.list(Φ̇.tuple.empty))+ )+ ),+ rec-rebuild(accum, index, hashes) ↦ ⟦+ entry ↦ ξ.ρ.ρ.pairs.at(ξ.index),+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.entry.key)).as-bytes,+ φ ↦ ξ.ρ.pairs-size.eq(ξ.index).if(+ ξ.accum,+ ξ.ρ.rec-rebuild(+ ξ.hashes.contains(ξ.hash).if(+ ξ.accum, ξ.accum.with(ξ.auto-named-attr-at-59-18)+ ),+ ξ.index.plus(1),+ ξ.hashes.with(ξ.hash)+ )+ ),+ auto-named-attr-at-59-18() ↦ ⟦+ key ↦ ξ.ρ.entry.key,+ value ↦ ξ.ρ.entry.value,+ hash ↦ ξ.ρ.hash+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/range-of-ints.phi](./org/eolang/structs/range-of-ints.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ structs() ↦ ⟦+ range-of-ints(start, end) ↦ ⟦+ φ ↦ 0.eq(ξ.start).or(1.eq(ξ.start.div(ξ.start))).and(+ 0.eq(ξ.end).or(1.eq(ξ.end.div(ξ.end)))+ ).if(+ Φ̇.structs.range(ξ.auto-named-attr-at-42-8, ξ.end),+ Φ̇.error("Some of the arguments are not integers")+ ),+ auto-named-attr-at-42-8() ↦ ⟦+ build(num) ↦ ⟦+ φ ↦ ξ.num,+ next ↦ ξ.ρ.build(1.plus(ξ.φ))+ ⟧,+ φ ↦ ξ.build(ξ.ρ.start)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/range.phi](./org/eolang/structs/range.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ structs() ↦ ⟦+ range(start, end) ↦ ⟦+ φ ↦ Φ̇.structs.list(+ ξ.start.lt(ξ.end).if(+ ξ.appended(Φ̇.tuple(Φ̇.tuple.empty, ξ.start), ξ.start.next), Φ̇.tuple.empty+ )+ ),+ appended(acc, current) ↦ ⟦+ φ ↦ ξ.current.lt(ξ.ρ.end).if(+ ξ.ρ.appended(ξ.acc.with(ξ.current), ξ.current.next), ξ.acc+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/structs/set.phi](./org/eolang/structs/set.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ structs() ↦ ⟦+ set(lst) ↦ ⟦+ φ ↦ ξ.initialized(+ Φ̇.structs.map(+ Φ̇.structs.list(ξ.lst).mapped(+ ⟦+ φ ↦ Φ̇.structs.map.entry(ξ.item, Φ̇.true),+ item ↦ ∅+ ⟧+ ).origin+ )+ ).initialized,+ initialized(map) ↦ ⟦+ initialized ↦ ξ,+ φ ↦ ξ.map.keys,+ size ↦ ξ.map.size,+ with(item) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.with(ξ.item, Φ̇.true))+ ⟧,+ without(item) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.without(ξ.item))+ ⟧,+ has(item) ↦ ⟦+ φ ↦ ξ.ρ.map.has(ξ.item)+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/switch.phi](./org/eolang/switch.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ switch(cases) ↦ ⟦+ len ↦ Φ̇.dataized(ξ.cases.length).as-bytes,+ φ ↦ ξ.len.eq(0).if(Φ̇.error("switch cases are empty"), ξ.case-at(0)),+ case-at(index) ↦ ⟦+ case ↦ ξ.ρ.cases.at(ξ.index),+ φ ↦ ξ.index.eq(ξ.ρ.len).if(+ Φ̇.true, ξ.case.at(0).if(ξ.case.at(1), ξ.ρ.case-at(ξ.index.plus(1)))+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/sys/getenv.phi](./org/eolang/sys/getenv.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ sys() ↦ ⟦+ getenv(name) ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(+ Φ̇.sys.win32(+ "GetEnvironmentVariable", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.name), 512)+ ),+ Φ̇.sys.posix("getenv", Φ̇.tuple(Φ̇.tuple.empty, ξ.name))+ ).output+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/sys/line-separator.phi](./org/eolang/sys/line-separator.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ sys() ↦ ⟦+ line-separator() ↦ ⟦+ φ ↦ Φ̇.string(Φ̇.sys.os.is-windows.if("\r\n", "\n").as-bytes)+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/sys/os.phi](./org/eolang/sys/os.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ sys() ↦ ⟦+ os() ↦ ⟦+ φ ↦ ξ.name,+ is-windows() ↦ ⟦+ os-name ↦ Φ̇.dataized(ξ.ρ.name).as-bytes,+ φ ↦ ξ.os-name.size.gt(6).and(ξ.os-name.slice(0, 7).eq("Windows"))+ ⟧,+ is-linux ↦ Φ̇.txt.regex("/linux/i").matches(ξ.name).as-bool,+ is-macos ↦ Φ̇.txt.regex("/mac/i").matches(ξ.name).as-bool,+ name() ↦ ⟦+ λ ⤍ Lorg_eolang_sys_os_name+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/sys/posix.phi](./org/eolang/sys/posix.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ sys() ↦ ⟦+ posix(name, args) ↦ ⟦+ stdin-fileno ↦ 0,+ stdout-fileno ↦ 1,+ af-inet ↦ 2,+ sock-stream ↦ 1,+ ipproto-tcp ↦ 6,+ inaddr-none ↦ -1,+ φ() ↦ ⟦+ λ ⤍ Lorg_eolang_sys_posix_φ+ ⟧,+ return(code, output) ↦ ⟦+ called ↦ ξ,+ φ ↦ ξ.output+ ⟧,+ timeval(tv-sec, tv-usec) ↦ ⟦+ self ↦ ξ+ ⟧,+ sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+ sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+ size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+ ξ.sin-zero.size+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/sys/win32.phi](./org/eolang/sys/win32.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ sys() ↦ ⟦+ win32(name, args) ↦ ⟦+ std-input-handle ↦ -10,+ std-output-handle ↦ -11,+ af-inet ↦ 2,+ sock-stream ↦ 1,+ ipproto-tcp ↦ 6,+ invalid-socket ↦ -1,+ socket-error ↦ -1,+ inaddr-none ↦ -1,+ winsock-version-2-2 ↦ Φ̇.bytes(⟦ Δ ⤍ 02-02 ⟧),+ φ() ↦ ⟦+ λ ⤍ Lorg_eolang_sys_win32_φ+ ⟧,+ return(code, output) ↦ ⟦+ called ↦ ξ,+ φ ↦ ξ.output+ ⟧,+ system-time(year, month, day, day-of-week, hour, minute, second, milliseconds) ↦ ⟦+ self ↦ ξ+ ⟧,+ sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+ sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+ size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+ ξ.sin-zero.size+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/true.phi](./org/eolang/true.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ true() ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧),+ not ↦ Φ̇.false,+ if(left, right) ↦ ⟦+ φ ↦ ξ.left+ ⟧,+ and(x) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+ ⟧,+ or(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/try.phi](./org/eolang/try.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ try(main, catch, finally) ↦ ⟦+ λ ⤍ Lorg_eolang_try+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/tuple.phi](./org/eolang/tuple.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ tuple(head, tail) ↦ ⟦+ empty() ↦ ⟦+ length ↦ 0,+ at(i) ↦ ⟦+ φ ↦ Φ̇.error("Can't get an object from the empty tuple")+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.tuple(ξ.ρ, ξ.x)+ ⟧+ ⟧,+ length() ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.head.length.plus(1)).as-bytes,+ φ ↦ Φ̇.number(ξ.len)+ ⟧,+ at(i) ↦ ⟦+ len ↦ ξ.ρ.length,+ idx ↦ Φ̇.dataized(ξ.i).as-bytes,+ index ↦ Φ̇.dataized(0.gt(ξ.idx).if(ξ.len.plus(ξ.idx), ξ.idx)).as-bytes,+ φ ↦ 0.gt(ξ.index).or(ξ.len.lte(ξ.index)).if(+ Φ̇.error("Given index is out of tuple bounds"), ξ.at-fast(ξ.ρ, ξ.len)+ ),+ at-fast(tup, len) ↦ ⟦+ φ ↦ ξ.len.plus(-1).gt(ξ.ρ.index).if(+ ξ.ρ.at-fast(ξ.tup.head, ξ.len.plus(-1)), ξ.tup.tail+ )+ ⟧+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.tuple(ξ.ρ, ξ.x)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/txt/regex.phi](./org/eolang/txt/regex.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ txt() ↦ ⟦+ regex(expression) ↦ ⟦+ φ ↦ ξ.compiled,+ compiled() ↦ ⟦+ λ ⤍ Lorg_eolang_txt_regex_compiled+ ⟧,+ pattern(serialized) ↦ ⟦+ matches(txt) ↦ ⟦+ φ ↦ ξ.ρ.match(ξ.txt).next.exists+ ⟧,+ match(txt) ↦ ⟦+ next ↦ ξ.matched-from-index(1, 0).matched,+ matched-from-index(position, start) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_regex_pattern_match_matched_from_index+ ⟧,+ matched(position, start, from, to, groups) ↦ ⟦+ matched ↦ ξ,+ groups-count ↦ ξ.groups.length,+ exists ↦ ξ.start.gte(0),+ next ↦ ξ.exists.if(+ ξ.ρ.matched-from-index(ξ.position.plus(1), ξ.to).matched,+ Φ̇.error("Matched block does not exist, can't get next")+ ),+ text ↦ ξ.exists.if(+ ξ.group(0), Φ̇.error("Matched block does not exist, can't get text")+ ),+ group(index) ↦ ⟦+ φ ↦ ξ.ρ.groups.at(ξ.index)+ ⟧+ ⟧,+ not-matched(position) ↦ ⟦+ φ ↦ ξ.ρ.matched(+ ξ.position,+ -1,+ Φ̇.error(+ "Matched block does not exist, can't get 'from' position"+ ),+ Φ̇.error(+ "Matched block does not exist, can't get 'to' position"+ ),+ Φ̇.error("Matched block does not exist, can't get groups")+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/txt/sprintf.phi](./org/eolang/txt/sprintf.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ txt() ↦ ⟦+ sprintf(format, args) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_sprintf+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/txt/sscanf.phi](./org/eolang/txt/sscanf.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ txt() ↦ ⟦+ sscanf(format, read) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_sscanf+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/txt/text.phi](./org/eolang/txt/text.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ txt() ↦ ⟦+ text(origin) ↦ ⟦+ φ ↦ ξ.origin,+ is-alphanumeric ↦ Φ̇.txt.regex("/^[A-Za-z0-9]+$/").matches(ξ.origin),+ is-alpha ↦ Φ̇.txt.regex("/^[a-zA-Z]+$/").matches(ξ.origin),+ is-ascii ↦ Φ̇.txt.regex("/^[\\x00-\\x7F]*$/").matches(ξ.origin),+ slice(start, len) ↦ ⟦+ φ ↦ ξ.ρ.ρ.text(ξ.ρ.origin.slice(ξ.start, ξ.len))+ ⟧,+ trimmed-left() ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ idx ↦ Φ̇.dataized(ξ.first-non-space-index(0)).as-bytes,+ φ ↦ 0.eq(ξ.len).if(+ ξ.ρ, ξ.ρ.slice(ξ.idx, Φ̇.number(ξ.len).minus(Φ̇.number(ξ.idx)))+ ),+ first-non-space-index(index) ↦ ⟦+ char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+ φ ↦ ξ.ρ.len.eq(ξ.index).if(+ ξ.index,+ " ".eq(ξ.char).if(+ ξ.ρ.first-non-space-index(ξ.index.plus(1)), ξ.index+ )+ )+ ⟧+ ⟧,+ trimmed-right() ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ φ ↦ 0.eq(ξ.len).if(+ ξ.ρ, ξ.ρ.slice(0, ξ.first-non-space-index(Φ̇.number(ξ.len).plus(-1)))+ ),+ first-non-space-index(index) ↦ ⟦+ char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+ φ ↦ -1.eq(ξ.index).if(+ 0,+ " ".eq(ξ.char).if(+ ξ.ρ.first-non-space-index(ξ.index.plus(-1)), ξ.index.plus(1)+ )+ )+ ⟧+ ⟧,+ trimmed() ↦ ⟦+ φ ↦ 0.eq(ξ.ρ.length).if(ξ.ρ, ξ.ρ.trimmed-left.trimmed-right)+ ⟧,+ joined(items) ↦ ⟦+ delimiter ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+ first ↦ ξ.items.at(0),+ len ↦ Φ̇.dataized(ξ.items.length).as-bytes,+ not-empty ↦ Φ̇.dataized(+ 1.eq(ξ.len).if(+ ξ.first, ξ.first.as-bytes.concat(ξ.with-delimiter("".as-bytes, 1))+ )+ ).as-bytes,+ φ ↦ ξ.ρ.ρ.text(0.eq(ξ.len).if("", Φ̇.string(ξ.not-empty))),+ with-delimiter(acc, index) ↦ ⟦+ φ ↦ ξ.ρ.len.eq(ξ.index).if(+ ξ.acc,+ ξ.ρ.with-delimiter(+ ξ.acc.concat(ξ.ρ.delimiter.concat(ξ.ρ.items.at(ξ.index))), ξ.index.plus(1)+ )+ )+ ⟧+ ⟧,+ repeated(times) ↦ ⟦+ bts ↦ Φ̇.dataized(ξ.ρ.origin.as-bytes).as-bytes,+ amount ↦ Φ̇.dataized(ξ.times).as-bytes,+ φ ↦ 0.gt(ξ.amount).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't repeat text %d times", Φ̇.tuple(Φ̇.tuple.empty, ξ.amount)+ )+ ),+ ξ.ρ.ρ.text(+ 0.eq(ξ.amount).if("", Φ̇.string(ξ.rec-repeated(ξ.bts, 1)))+ )+ ),+ rec-repeated(accum, index) ↦ ⟦+ φ ↦ ξ.ρ.amount.eq(ξ.index).if(+ ξ.accum, ξ.ρ.rec-repeated(ξ.accum.concat(ξ.ρ.bts), ξ.index.plus(1))+ )+ ⟧+ ⟧,+ contains(substring) ↦ ⟦+ φ ↦ -1.eq(ξ.ρ.index-of(ξ.substring)).not+ ⟧,+ ends-with(substring) ↦ ⟦+ substr ↦ Φ̇.dataized(ξ.substring).as-bytes,+ φ ↦ ξ.ρ.index-of(ξ.substr).eq(ξ.ρ.length.minus(ξ.substr.size))+ ⟧,+ starts-with(substring) ↦ ⟦+ φ ↦ 0.eq(ξ.ρ.index-of(ξ.substring))+ ⟧,+ index-of(substring) ↦ ⟦+ self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+ substr ↦ Φ̇.string(ξ.substr-as-bytes),+ sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+ end ↦ Φ̇.dataized(Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))).as-bytes,+ φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+ ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+ ).if(-1, ξ.rec-index-of-substr(0)),+ rec-index-of-substr(idx) ↦ ⟦+ φ ↦ ξ.ρ.end.eq(ξ.idx).if(+ ξ.contains.if(ξ.idx, -1),+ ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(1)))+ ),+ contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+ ⟧,+ substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+ ⟧,+ last-index-of(substring) ↦ ⟦+ self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+ substr ↦ Φ̇.string(ξ.substr-as-bytes),+ sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+ φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+ ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+ ).if(+ -1,+ ξ.rec-index-of-substr(+ Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))+ )+ ),+ rec-index-of-substr(idx) ↦ ⟦+ φ ↦ 0.eq(ξ.idx).if(+ ξ.contains.if(ξ.idx, -1),+ ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(-1)))+ ),+ contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+ ⟧,+ substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+ ⟧,+ up-cased() ↦ ⟦+ ascii-z ↦ Φ̇.dataized(ξ.ascii("z")).as-bytes,+ ascii-a ↦ Φ̇.dataized(ξ.ascii("a")).as-bytes,+ distance ↦ Φ̇.number(ξ.ascii-a).minus(ξ.ascii("A")),+ φ ↦ ξ.ρ.ρ.text(+ Φ̇.string(+ Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+ Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-258-22+ )+ )+ ),+ ascii(char) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(ξ.char.as-bytes).as-i64.as-number+ ⟧,+ auto-named-attr-at-258-22(accum, byte) ↦ ⟦+ ascii-bte ↦ ξ.ρ.ascii(ξ.byte),+ φ ↦ ξ.accum.concat(+ ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+ ξ.ascii-bte.minus(ξ.ρ.distance).as-i64.as-bytes.slice(7, 1), ξ.byte+ )+ )+ ⟧+ ⟧,+ low-cased() ↦ ⟦+ ascii-z ↦ ξ.ρ.up-cased.ascii("Z"),+ ascii-a ↦ ξ.ρ.up-cased.ascii("A"),+ φ ↦ ξ.ρ.ρ.text(+ Φ̇.string(+ Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+ Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-291-22+ )+ )+ ),+ auto-named-attr-at-291-22(accum, byte) ↦ ⟦+ ascii-bte ↦ ξ.ρ.ρ.up-cased.ascii(ξ.byte),+ φ ↦ ξ.accum.concat(+ ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+ ξ.ascii-bte.plus(ξ.ρ.ρ.up-cased.distance).as-i64.as-bytes.slice(+ 7, 1+ ),+ ξ.byte+ )+ )+ ⟧+ ⟧,+ at(i) ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.length).as-bytes,+ idx ↦ Φ̇.dataized(ξ.i).as-bytes,+ index ↦ Φ̇.dataized(+ 0.gt(ξ.idx).if(Φ̇.number(ξ.len).plus(ξ.idx), ξ.idx)+ ).as-bytes,+ φ ↦ 0.gt(ξ.index).or(Φ̇.number(ξ.index).gte(ξ.len)).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Given index %d is out of text bounds", Φ̇.tuple(Φ̇.tuple.empty, ξ.index)+ )+ ),+ ξ.ρ.slice(ξ.index, 1)+ )+ ⟧,+ replaced(target, replacement) ↦ ⟦+ self-as-bytes ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+ reinit ↦ Φ̇.string(ξ.self-as-bytes),+ matched ↦ ξ.target.match(ξ.reinit).next,+ φ ↦ ξ.matched.exists.not.if(+ Φ̇.txt.text(ξ.reinit),+ Φ̇.txt.text(ξ.rec-replaced(ξ.matched, "", ξ.matched.start))+ ),+ rec-replaced(block, accum, start) ↦ ⟦+ φ ↦ ξ.block.exists.if(+ ξ.ρ.rec-replaced(+ ξ.block.next,+ ξ.accum.concat(+ ξ.ρ.reinit.slice(ξ.start, ξ.block.from.minus(ξ.start))+ ).concat(ξ.ρ.replacement),+ ξ.block.to+ ),+ Φ̇.string(+ ξ.accum.concat(+ ξ.ρ.reinit.slice(ξ.start, ξ.ρ.reinit.length.minus(ξ.start))+ )+ )+ )+ ⟧+ ⟧,+ as-number() ↦ ⟦+ scanned ↦ Φ̇.txt.sscanf("%f", ξ.ρ.origin),+ φ ↦ ξ.scanned.length.eq(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert text %s to number", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin)+ )+ ),+ ξ.scanned.tail+ )+ ⟧,+ split(delimiter) ↦ ⟦+ delim ↦ Φ̇.dataized(ξ.delimiter).as-bytes,+ self-as-bytes ↦ ξ.ρ.origin.as-bytes,+ len ↦ Φ̇.dataized(ξ.self-as-bytes.size).as-bytes,+ φ ↦ ξ.len.eq(0).if(Φ̇.tuple.empty, ξ.rec-split(Φ̇.tuple.empty, 0, 0)),+ rec-split(accum, start, current) ↦ ⟦+ φ ↦ ξ.ρ.len.eq(ξ.current).if(+ ξ.with-substr,+ ξ.ρ.delim.eq(ξ.ρ.self-as-bytes.slice(ξ.current, 1)).if(+ ξ.ρ.rec-split(+ ξ.with-substr, ξ.current.plus(1), ξ.current.plus(1)+ ),+ ξ.ρ.rec-split(ξ.accum, ξ.start, ξ.current.plus(1))+ )+ ),+ with-substr ↦ ξ.accum.with(+ Φ̇.string(+ ξ.ρ.self-as-bytes.slice(ξ.start, ξ.current.minus(ξ.start))+ )+ )+ ⟧+ ⟧,+ chained(others) ↦ ⟦+ φ ↦ 0.eq(ξ.others.length).if(+ ξ.ρ,+ ξ.ρ.ρ.text(+ Φ̇.string(+ Φ̇.structs.list(ξ.others).reduced(+ ξ.ρ.origin.as-bytes,+ ⟦+ φ ↦ ξ.accum.concat(ξ.str.as-bytes),+ accum ↦ ∅,+ str ↦ ∅+ ⟧+ )+ )+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/while.phi](./org/eolang/while.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ while(condition, body) ↦ ⟦+ φ ↦ ξ.condition(0).as-bool.if(ξ.loop(0), Φ̇.false),+ loop(index) ↦ ⟦+ current ↦ ξ.ρ.body(ξ.index),+ φ ↦ ξ.ρ.condition(ξ.index.plus(1)).as-bool.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.current), ξ.ρ.loop(ξ.index.plus(1))+ )+ ),+ ξ.current+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```+
+ data/0.49.4/org/eolang/bytes.phi view
@@ -0,0 +1,95 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ bytes(data) ↦ ⟦+ φ ↦ ξ.data,+ as-bytes ↦ ξ,+ as-bool ↦ ξ.eq(Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)),+ as-number() ↦ ⟦+ φ ↦ ξ.ρ.eq(Φ̇.nan.as-bytes).if(+ Φ̇.nan,+ ξ.ρ.eq(Φ̇.positive-infinity.as-bytes).if(+ Φ̇.positive-infinity,+ ξ.ρ.eq(Φ̇.negative-infinity.as-bytes).if(+ Φ̇.negative-infinity,+ ξ.ρ.size.eq(8).if(+ Φ̇.number(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 8 length bytes to a number, bytes are %x", Φ̇.tuple.empty+ )+ )+ )+ )+ )+ )+ ⟧,+ eq(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_eq+ ⟧,+ size() ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_size+ ⟧,+ slice(start, len) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_slice+ ⟧,+ as-i64() ↦ ⟦+ φ ↦ ξ.ρ.size.eq(8).if(+ Φ̇.i64(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 8 length bytes to i64, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ as-i32() ↦ ⟦+ φ ↦ ξ.ρ.size.eq(4).if(+ Φ̇.i32(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 4 length bytes to i32, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ as-i16() ↦ ⟦+ φ ↦ ξ.ρ.size.eq(2).if(+ Φ̇.i16(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 2 length bytes to i16, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ and(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_and+ ⟧,+ or(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_or+ ⟧,+ xor(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_xor+ ⟧,+ not() ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_not+ ⟧,+ left(x) ↦ ⟦+ φ ↦ ξ.ρ.right(ξ.x.neg)+ ⟧,+ right(x) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_right+ ⟧,+ concat(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_concat+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/cti.phi view
@@ -0,0 +1,11 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ cti(delegate, level, message) ↦ ⟦+ φ ↦ ξ.delegate+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/dataized.phi view
@@ -0,0 +1,18 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ dataized(target) ↦ ⟦+ φ ↦ Φ̇.try(+ ξ.target,+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)+ )+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/error.phi view
@@ -0,0 +1,11 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ error(message) ↦ ⟦+ λ ⤍ Lorg_eolang_error+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/false.phi view
@@ -0,0 +1,21 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ false() ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ not ↦ Φ̇.true,+ if(left, right) ↦ ⟦+ φ ↦ ξ.right+ ⟧,+ and(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ or(x) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/fs/dir.phi view
@@ -0,0 +1,71 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ fs() ↦ ⟦+ dir(file) ↦ ⟦+ φ ↦ ξ.file,+ is-directory ↦ Φ̇.true,+ made() ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.mkdir), ξ.ρ))+ ),+ mkdir() ↦ ⟦+ λ ⤍ Lorg_eolang_fs_dir_made_mkdir+ ⟧+ ⟧,+ walk(glob) ↦ ⟦+ λ ⤍ Lorg_eolang_fs_dir_walk+ ⟧,+ deleted() ↦ ⟦+ walked ↦ ξ.ρ.walk("**").at.ρ,+ len ↦ Φ̇.dataized(ξ.walked.length).as-bytes,+ φ ↦ ξ.ρ.exists.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.rec-delete(ξ.walked, 0)), ξ.ρ+ )+ ),+ ξ.ρ+ ),+ rec-delete(tup, index) ↦ ⟦+ φ ↦ ξ.ρ.len.eq(ξ.index).if(+ Φ̇.true,+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.tup.tail.deleted.exists),+ ξ.ρ.rec-delete(ξ.tup.head, ξ.index.plus(1))+ )+ )+ )+ ⟧+ ⟧,+ tmpfile() ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ Φ̇.fs.file(Φ̇.string(ξ.touch.as-bytes)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Directory %s does not exist, can't create temporary file",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+ )+ )+ ),+ touch() ↦ ⟦+ λ ⤍ Lorg_eolang_fs_dir_tmpfile_touch+ ⟧+ ⟧,+ open(mode, scope) ↦ ⟦+ φ ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "The file %s is a directory, can't open for I/O operations",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.path)+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/fs/file.phi view
@@ -0,0 +1,164 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ fs() ↦ ⟦+ file(path) ↦ ⟦+ φ ↦ ξ.path,+ is-directory() ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_is_directory+ ⟧,+ exists() ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_exists+ ⟧,+ touched() ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ ξ.ρ, Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.touch), ξ.ρ))+ ),+ touch() ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_touched_touch+ ⟧+ ⟧,+ deleted() ↦ ⟦+ φ ↦ ξ.ρ.exists.if(+ Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.delete), ξ.ρ)), ξ.ρ+ ),+ delete() ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_deleted_delete+ ⟧+ ⟧,+ size() ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_size+ ⟧,+ moved(target) ↦ ⟦+ φ ↦ Φ̇.fs.file(Φ̇.string(ξ.move.as-bytes)),+ move() ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_moved_move+ ⟧+ ⟧,+ as-path() ↦ ⟦+ φ ↦ Φ̇.fs.path(ξ.ρ.path).determined+ ⟧,+ open(mode, scope) ↦ ⟦+ access ↦ Φ̇.dataized(ξ.mode).as-bytes,+ read ↦ ξ.access.eq("r"),+ write ↦ ξ.access.eq("w"),+ append ↦ ξ.access.eq("a"),+ read-write ↦ ξ.access.eq("r+"),+ write-read ↦ ξ.access.eq("w+"),+ read-append ↦ ξ.access.eq("a+"),+ can-read ↦ ξ.read.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).as-bool,+ can-write ↦ ξ.write.or(ξ.read-write).or(ξ.write-read.or(ξ.read-append)).or(+ ξ.append+ ).as-bool,+ must-exists ↦ ξ.read.or(ξ.read-write).as-bool,+ truncate ↦ ξ.write.or(ξ.write-read).as-bool,+ φ ↦ ξ.can-read.not.and(ξ.can-write.not).if(+ Φ̇.error(+ "Wrong access mod. Only next modes are available: 'r', 'w', 'a', 'r+', 'w+', 'a+'"+ ),+ ξ.ρ.exists.not.if(+ ξ.must-exists.if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "File must exist for given access mod: '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.access)+ )+ ),+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.touched.touch), ξ.process-file+ ),+ ξ.ρ+ )+ )+ ),+ ξ.truncate.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.deleted.delete), ξ.ρ.touched.touch+ ),+ ξ.process-file+ ),+ ξ.ρ+ )+ ),+ Φ̇.seq(Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.process-file), ξ.ρ))+ )+ )+ ),+ process-file() ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_open_process_file+ ⟧,+ file-stream() ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ Φ̇.dataized(ξ.ρ.ρ.read-bytes(ξ.size)).as-bytes,+ φ ↦ ξ.ρ.ρ.ρ.ρ.can-read.not.if(+ ξ.auto-named-attr-at-216-18,+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ )+ ).self,+ auto-named-attr-at-216-18() ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't read from file with provided access mode '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+ )+ )+ ⟧+ ⟧+ ⟧,+ read-bytes(size) ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_open_file_stream_read_read_bytes+ ⟧+ ⟧,+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block() ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.ρ.can-write.not.if(+ ξ.auto-named-attr-at-258-18,+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.written-bytes(ξ.buffer)), ξ.ρ.ρ.output-block+ )+ )+ ).self,+ auto-named-attr-at-258-18() ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't write to file with provided access mode '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.ρ.ρ.access)+ )+ )+ ⟧+ ⟧+ ⟧,+ written-bytes(buffer) ↦ ⟦+ λ ⤍ Lorg_eolang_fs_file_open_file_stream_write_written_bytes+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/fs/path.phi view
@@ -0,0 +1,273 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ fs() ↦ ⟦+ path(uri) ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.win32(Φ̇.string(ξ.uri.as-bytes)), ξ.posix(Φ̇.string(ξ.uri.as-bytes))+ ).determined,+ joined(paths) ↦ ⟦+ joined-path ↦ Φ̇.string(+ Φ̇.txt.text(ξ.ρ.separator).joined(ξ.paths).as-bytes+ ),+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.ρ.win32(ξ.joined-path), ξ.ρ.posix(ξ.joined-path)+ ).normalized+ ⟧,+ separator() ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(ξ.ρ.win32.separator, ξ.ρ.posix.separator)+ ⟧,+ posix(uri) ↦ ⟦+ determined ↦ ξ,+ separator ↦ "/",+ as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+ as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+ φ ↦ ξ.uri,+ is-absolute() ↦ ⟦+ φ ↦ ξ.ρ.uri.length.gt(0).and(+ ξ.ρ.uri.as-bytes.slice(0, 1).eq(ξ.ρ.separator)+ )+ ⟧,+ normalized() ↦ ⟦+ uri-as-bytes ↦ ξ.ρ.uri.as-bytes,+ is-absolute ↦ ξ.ρ.is-absolute.as-bool,+ has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+ ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+ ξ.ρ.separator+ )+ ),+ path ↦ Φ̇.txt.text(ξ.ρ.separator).joined(+ Φ̇.structs.list(Φ̇.txt.text(ξ.ρ.uri).split(ξ.ρ.separator)).reduced(+ Φ̇.tuple.empty, ξ.auto-named-attr-at-102-25+ )+ ),+ normalized ↦ ξ.ρ.uri.length.eq(0).if(+ ".",+ ξ.is-absolute.if(ξ.ρ.separator.concat(ξ.path), ξ.path).concat(+ ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ )+ ).as-bytes,+ φ ↦ ξ.ρ.ρ.posix(+ ξ.normalized.eq("//").if("/", Φ̇.string(ξ.normalized))+ ).determined,+ auto-named-attr-at-102-25(accum, segment) ↦ ⟦+ φ ↦ ξ.segment.eq("..").if(+ ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+ ξ.accum.head, ξ.ρ.is-absolute.not.if(ξ.accum.with(ξ.segment), ξ.accum)+ ),+ ξ.segment.eq(".").or(ξ.segment.eq("")).if(+ ξ.accum, ξ.accum.with(ξ.segment)+ )+ )+ ⟧+ ⟧,+ resolved(other) ↦ ⟦+ other-as-bytes ↦ ξ.other.as-bytes,+ φ ↦ ξ.ρ.ρ.posix(+ Φ̇.string(+ ξ.other-as-bytes.slice(0, 1).eq(ξ.ρ.separator).if(+ ξ.other-as-bytes, ξ.ρ.uri.concat(ξ.ρ.separator).concat(ξ.other-as-bytes)+ )+ )+ ).normalized+ ⟧,+ basename() ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ slice-start-idx ↦ Φ̇.dataized(+ ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+ ).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+ ξ.pth,+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ extname() ↦ ⟦+ base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+ slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+ φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+ "",+ Φ̇.string(+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ dirname() ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+ ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+ )+ )+ ⟧+ ⟧,+ win32(uri) ↦ ⟦+ separator ↦ "\\",+ φ ↦ ξ.validated(+ Φ̇.string(ξ.validated.separated-correctly(ξ.uri).as-bytes)+ ).determined,+ validated(uri) ↦ ⟦+ determined ↦ ξ,+ separator ↦ ξ.ρ.separator,+ as-file ↦ Φ̇.fs.file(ξ.uri).size.ρ,+ as-dir ↦ Φ̇.fs.dir(Φ̇.fs.file(ξ.uri)).made.ρ,+ φ ↦ ξ.uri,+ is-drive-relative(uri) ↦ ⟦+ φ ↦ Φ̇.txt.regex("/^[a-zA-Z]:/").matches(ξ.uri).as-bool+ ⟧,+ is-root-relative(uri) ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+ φ ↦ ξ.uri-as-bytes.size.gt(0).and(+ ξ.uri-as-bytes.slice(0, 1).eq(ξ.ρ.separator)+ )+ ⟧,+ separated-correctly(uri) ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.uri).as-bytes,+ pth ↦ Φ̇.txt.text(Φ̇.string(ξ.uri-as-bytes)),+ replaced ↦ Φ̇.dataized(+ ξ.pth.replaced(Φ̇.txt.regex("/\\//"), ξ.ρ.separator)+ ).as-bytes,+ φ ↦ ξ.pth.index-of(ξ.ρ.ρ.ρ.ρ.path.posix.separator).eq(-1).if(+ Φ̇.string(ξ.uri-as-bytes), Φ̇.string(ξ.replaced)+ )+ ⟧,+ is-absolute() ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ φ ↦ ξ.uri-as-bytes.size.eq(0).if(+ Φ̇.false,+ ξ.ρ.is-root-relative(ξ.uri-as-bytes).or(+ ξ.uri-as-bytes.size.gt(1).and(+ ξ.ρ.is-drive-relative(ξ.uri-as-bytes)+ )+ )+ )+ ⟧,+ normalized() ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.uri-as-bytes).as-bool,+ is-root-relative ↦ ξ.ρ.is-root-relative(ξ.uri-as-bytes).as-bool,+ driveless ↦ Φ̇.dataized(+ ξ.is-drive-relative.if(+ ξ.uri-as-bytes.slice(2, ξ.uri-as-bytes.size.plus(-2)), ξ.uri-as-bytes+ )+ ).as-bytes,+ has-trailing-slash ↦ ξ.uri-as-bytes.size.gt(0).and(+ ξ.uri-as-bytes.slice(ξ.uri-as-bytes.size.plus(-1), 1).eq(+ ξ.ρ.separator+ )+ ),+ path ↦ Φ̇.dataized(+ Φ̇.txt.text(ξ.ρ.separator).joined(+ Φ̇.structs.list(+ Φ̇.txt.text(ξ.driveless).split(ξ.ρ.separator)+ ).reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-357-27)+ )+ ).as-bytes,+ normalized ↦ ξ.driveless.size.eq(0).if(+ ".",+ ξ.is-drive-relative.if(+ ξ.driveless.slice(0, 1).eq(ξ.ρ.separator).if(+ ξ.ρ.uri.slice(0, 3), ξ.ρ.uri.slice(0, 2)+ ),+ ξ.is-root-relative.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ ).concat(ξ.path).concat(+ ξ.has-trailing-slash.if(ξ.ρ.separator, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ )+ ).as-bytes,+ φ ↦ ξ.ρ.ρ.validated(+ ξ.normalized.eq("\\\\").if(+ ξ.ρ.separator, Φ̇.string(ξ.normalized)+ )+ ).determined,+ auto-named-attr-at-357-27(accum, segment) ↦ ⟦+ φ ↦ ξ.segment.eq("..").if(+ ξ.accum.length.gt(0).and(ξ.accum.tail.eq("..").not).if(+ ξ.accum.head,+ ξ.ρ.is-root-relative.not.and(ξ.ρ.is-drive-relative.not).if(+ ξ.accum.with(ξ.segment), ξ.accum+ )+ ),+ ξ.segment.eq(".").or(ξ.segment.eq("")).if(+ ξ.accum, ξ.accum.with(ξ.segment)+ )+ )+ ⟧+ ⟧,+ resolved(other) ↦ ⟦+ uri-as-bytes ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ valid-other ↦ Φ̇.dataized(ξ.ρ.separated-correctly(ξ.other)).as-bytes,+ other-is-drive-relative ↦ ξ.ρ.is-drive-relative(ξ.valid-other).as-bool,+ other-is-root-relative ↦ ξ.ρ.is-root-relative(ξ.valid-other).as-bool,+ φ ↦ ξ.ρ.ρ.validated(+ Φ̇.string(+ ξ.other-is-drive-relative.if(+ ξ.valid-other,+ ξ.other-is-root-relative.if(+ ξ.ρ.is-drive-relative(ξ.uri-as-bytes).if(+ ξ.uri-as-bytes.slice(0, 2).concat(ξ.valid-other), ξ.valid-other+ ),+ ξ.uri-as-bytes.concat(ξ.ρ.separator).concat(+ ξ.valid-other+ )+ )+ )+ )+ ).normalized+ ⟧,+ basename() ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ slice-start-idx ↦ Φ̇.dataized(+ ξ.txt.last-index-of(ξ.ρ.separator).plus(1)+ ).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.slice-start-idx.eq(0)).if(+ ξ.pth,+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ extname() ↦ ⟦+ base ↦ Φ̇.dataized(ξ.ρ.basename).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.base)),+ slice-start-idx ↦ Φ̇.dataized(ξ.txt.last-index-of(".")).as-bytes,+ φ ↦ ξ.base.size.eq(0).or(ξ.slice-start-idx.eq(-1)).if(+ "",+ Φ̇.string(+ ξ.txt.slice(+ ξ.slice-start-idx, ξ.txt.length.minus(Φ̇.number(ξ.slice-start-idx))+ ).as-bytes+ )+ )+ ⟧,+ dirname() ↦ ⟦+ pth ↦ Φ̇.dataized(ξ.ρ.uri).as-bytes,+ txt ↦ Φ̇.txt.text(Φ̇.string(ξ.pth)),+ len ↦ Φ̇.dataized(ξ.txt.last-index-of(ξ.ρ.separator)).as-bytes,+ φ ↦ Φ̇.string(+ ξ.pth.size.eq(0).or(ξ.len.eq(-1)).if(+ ξ.pth, ξ.txt.slice(0, ξ.len).as-bytes+ )+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/fs/tmpdir.phi view
@@ -0,0 +1,39 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ fs() ↦ ⟦+ tmpdir() ↦ ⟦+ φ ↦ Φ̇.fs.dir(Φ̇.fs.file(Φ̇.string(ξ.os-tmp-dir))),+ os-tmp-dir ↦ Φ̇.dataized(ξ.os-tmp-dir-1).as-bytes,+ os-tmp-dir-1() ↦ ⟦+ tmpdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TMPDIR")).as-bytes,+ tmp ↦ Φ̇.dataized(Φ̇.sys.getenv("TMP")).as-bytes,+ temp ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMP")).as-bytes,+ tempdir ↦ Φ̇.dataized(Φ̇.sys.getenv("TEMPDIR")).as-bytes,+ userprofile ↦ Φ̇.dataized(Φ̇.sys.getenv("USERPROFILE")).as-bytes,+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.tmp.eq("").if(+ ξ.temp.eq("").if(+ ξ.userprofile.eq("").if("C:\\Windows", ξ.userprofile), ξ.temp+ ),+ ξ.tmp+ ),+ ξ.tmpdir.eq("").if(+ ξ.tmp.eq("").if(+ ξ.temp.eq("").if(+ ξ.tempdir.eq("").if("/tmp", ξ.tempdir), ξ.temp+ ),+ ξ.tmp+ ),+ ξ.tmpdir+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/go.phi view
@@ -0,0 +1,34 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ go() ↦ ⟦+ id ↦ Φ̇.dataized(+ Φ̇.malloc.of(+ 8,+ ⟦+ φ ↦ ξ.m.put(ξ.m.id),+ m ↦ ∅+ ⟧+ )+ ).as-bytes,+ to(body) ↦ ⟦+ φ ↦ Φ̇.try(ξ.body(ξ.token), ξ.auto-named-attr-at-63-9, Φ̇.true),+ token() ↦ ⟦+ backward ↦ Φ̇.error(ξ.jump(ξ.ρ.ρ.to(ξ.ρ.body))),+ jump(value) ↦ ⟦+ id ↦ ξ.ρ.ρ.ρ.id+ ⟧,+ forward(res) ↦ ⟦+ φ ↦ Φ̇.error(ξ.ρ.jump(ξ.res))+ ⟧+ ⟧,+ auto-named-attr-at-63-9(e) ↦ ⟦+ φ ↦ ξ.ρ.ρ.id.eq(ξ.e.id).if(ξ.e.value, Φ̇.error(ξ.e))+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/i16.phi view
@@ -0,0 +1,67 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ i16(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i16 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64.as-i32.as-i16),+ as-i64 ↦ ξ.as-i32.as-i64,+ as-number ↦ ξ.as-i64.as-number,+ as-i32() ↦ ⟦+ λ ⤍ Lorg_eolang_i16_as_i32+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.lt(ξ.x.as-i16.as-i32)+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.lte(ξ.x.as-i16.as-i32)+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.gt(ξ.x.as-i16.as-i32)+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.gte(ξ.x.as-i16.as-i32)+ ⟧,+ times(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i32.times(ξ.x.as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+ ⟧,+ plus(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i32.plus(ξ.x.as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ.plus(ξ.x.as-i16.neg)+ ⟧,+ div(x) ↦ ⟦+ x-as-i16 ↦ ξ.x.as-i16,+ bts ↦ ξ.ρ.as-i32.div(ξ.x-as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧),+ φ ↦ ξ.x-as-i16.eq(ξ.zero).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't divide %d by i16 zero",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i32.as-i64.as-number)+ )+ ),+ ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))).if(+ ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right))+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/i32.phi view
@@ -0,0 +1,79 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ i32(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i32 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64.as-i32),+ as-number ↦ ξ.as-i64.as-number,+ as-i64() ↦ ⟦+ λ ⤍ Lorg_eolang_i32_as_i64+ ⟧,+ as-i16() ↦ ⟦+ left ↦ ξ.ρ.as-bytes.slice(0, 2).as-bytes,+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(+ Φ̇.i16(ξ.ρ.as-bytes.slice(2, 2)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert i32 number %d to i16 because it's out of i16 bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+ )+ )+ )+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.lt(ξ.x.as-i32.as-i64)+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.lte(ξ.x.as-i32.as-i64)+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.gt(ξ.x.as-i32.as-i64)+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.gte(ξ.x.as-i32.as-i64)+ ⟧,+ times(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i64.times(ξ.x.as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+ ⟧,+ plus(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i64.plus(ξ.x.as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ.plus(ξ.x.as-i32.neg)+ ⟧,+ div(x) ↦ ⟦+ x-as-i32 ↦ ξ.x.as-i32,+ bts ↦ ξ.ρ.as-i64.div(ξ.x-as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧),+ φ ↦ ξ.x-as-i32.eq(ξ.zero).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't divide %d by i32 zero", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+ )+ ),+ ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))).if(+ ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right))+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/i64.phi view
@@ -0,0 +1,59 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ i64(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i64 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64),+ as-i16 ↦ ξ.as-i32.as-i16,+ as-i32() ↦ ⟦+ left ↦ ξ.ρ.as-bytes.slice(0, 4).as-bytes,+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(+ Φ̇.i32(ξ.ρ.as-bytes.slice(4, 4)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert i64 number %d to i32 because it's out of i32 bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-number)+ )+ )+ )+ ⟧,+ as-number() ↦ ⟦+ λ ⤍ Lorg_eolang_i64_as_number+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ 0.as-i64.gt(ξ.ρ.minus(ξ.ρ.ρ.i64(ξ.value)))+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ gt(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_gt+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ times(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_times+ ⟧,+ plus(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_plus+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.plus(ξ.ρ.ρ.i64(ξ.value).neg)+ ⟧,+ div(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_div+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/io/bytes-as-input.phi view
@@ -0,0 +1,36 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ bytes-as-input(bts) ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(ξ.ρ.bts, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(data, buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ to-read ↦ Φ̇.dataized(ξ.size).as-bytes,+ available ↦ Φ̇.dataized(ξ.ρ.data.size).as-bytes,+ next ↦ Φ̇.dataized(+ Φ̇.number(ξ.available).gt(ξ.to-read).if(ξ.to-read, ξ.available)+ ).as-bytes,+ φ ↦ ξ.available.eq(0).if(+ ξ.ρ.ρ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.bytes(⟦ Δ ⤍ -- ⟧)),+ ξ.ρ.ρ.input-block(+ ξ.ρ.data.slice(+ ξ.next, Φ̇.number(ξ.available).minus(Φ̇.number(ξ.next))+ ).as-bytes,+ ξ.ρ.data.slice(0, ξ.next).as-bytes+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/io/console.phi view
@@ -0,0 +1,122 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ console() ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(ξ.windows-console, ξ.posix-console).platform,+ posix-console() ↦ ⟦+ platform ↦ ξ,+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ Φ̇.dataized(+ Φ̇.sys.posix(+ "read",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.stdin-fileno), ξ.size+ )+ ).output+ ).as-bytes,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ ).self+ ⟧+ ⟧+ ⟧,+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block() ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.sys.posix(+ "write",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty, Φ̇.sys.posix.stdout-fileno+ ),+ ξ.buffer+ ),+ ξ.buffer.size+ )+ ).code+ ),+ ξ.ρ.ρ.output-block+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ windows-console() ↦ ⟦+ platform ↦ ξ,+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ Φ̇.dataized(+ Φ̇.sys.win32(+ "ReadFile",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.std-input-handle), ξ.size+ )+ ).output+ ).as-bytes,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ ).self+ ⟧+ ⟧+ ⟧,+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block() ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.sys.win32(+ "WriteFile",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty, Φ̇.sys.win32.std-output-handle+ ),+ ξ.buffer+ ),+ ξ.buffer.size+ )+ ).code+ ),+ ξ.ρ.ρ.output-block+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/io/dead-input.phi view
@@ -0,0 +1,22 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ dead-input() ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block,+ input-block() ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ -- ⟧),+ read(size) ↦ ⟦+ φ ↦ ξ.ρ.ρ.input-block+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/io/dead-output.phi view
@@ -0,0 +1,22 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ dead-output() ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block,+ output-block() ↦ ⟦+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ ξ.ρ.ρ.output-block+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/io/input-length.phi view
@@ -0,0 +1,21 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ input-length(input) ↦ ⟦+ chunk ↦ 4096,+ φ ↦ ξ.rec-read(ξ.input, 0),+ rec-read(input, length) ↦ ⟦+ read-bytes ↦ ξ.input.read(ξ.ρ.chunk).read.ρ,+ φ ↦ ξ.read-bytes.size.eq(0).if(+ ξ.length, ξ.ρ.rec-read(ξ.read-bytes, ξ.length.plus(ξ.read-bytes.size))+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/io/malloc-as-output.phi view
@@ -0,0 +1,30 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ malloc-as-output(allocated) ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block(0).write(ξ.buffer).self,+ output-block(offset) ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty, ξ.ρ.ρ.ρ.allocated.write(ξ.ρ.offset, ξ.buffer)+ ),+ ξ.ρ.ρ.output-block(ξ.ρ.offset.plus(ξ.buffer.size))+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/io/stdin.phi view
@@ -0,0 +1,45 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ stdin() ↦ ⟦+ φ ↦ ξ.all-lines,+ all-lines() ↦ ⟦+ φ ↦ ξ.rec-read(ξ.ρ.next-line, Φ̇.bytes(⟦ Δ ⤍ -- ⟧), Φ̇.true),+ separator ↦ Φ̇.dataized(Φ̇.sys.line-separator).as-bytes,+ rec-read(line, buffer, first) ↦ ⟦+ φ ↦ ξ.line.length.eq(0).if(+ Φ̇.string(ξ.buffer),+ ξ.ρ.rec-read(+ ξ.ρ.ρ.next-line,+ ξ.first.if(+ ξ.buffer.concat(ξ.line), ξ.buffer.concat(ξ.ρ.separator).concat(ξ.line)+ ),+ Φ̇.false+ )+ )+ ⟧+ ⟧,+ next-line() ↦ ⟦+ first ↦ Φ̇.io.console.read(1).self,+ φ ↦ ξ.first.as-bytes.size.eq(0).if(+ "", ξ.rec-read(ξ.first, Φ̇.bytes(⟦ Δ ⤍ -- ⟧))+ ),+ rec-read(input, buffer) ↦ ⟦+ char ↦ ξ.input.as-bytes,+ next ↦ ξ.input.read(1).self,+ φ ↦ ξ.char.eq(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).or(+ ξ.char.eq("\r").and(ξ.next.as-bytes.eq("\n")).or(ξ.char.eq("\n"))+ ).if(+ Φ̇.string(ξ.buffer), ξ.ρ.rec-read(ξ.next, ξ.buffer.concat(ξ.char))+ )+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/io/stdout.phi view
@@ -0,0 +1,18 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ stdout(text) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.io.console.write(ξ.text)), Φ̇.true+ )+ )+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/io/tee-input.phi view
@@ -0,0 +1,34 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ tee-input(input, output) ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(ξ.ρ.input, ξ.ρ.output, Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(+ ξ.size+ ).self,+ input-block(input, output, buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ ξ.ρ.input.read(ξ.size).read.ρ,+ written-bytes ↦ ξ.ρ.output.write(ξ.read-bytes).write.ρ,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.written-bytes),+ ξ.ρ.ρ.input-block(+ ξ.read-bytes, ξ.written-bytes, ξ.read-bytes.as-bytes+ )+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/malloc.phi view
@@ -0,0 +1,55 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ malloc() ↦ ⟦+ empty(scope) ↦ ⟦+ φ ↦ ξ.ρ.ρ.malloc.of(0, ξ.scope)+ ⟧,+ for(object, scope) ↦ ⟦+ bts ↦ Φ̇.dataized(ξ.object).as-bytes,+ φ ↦ ξ.ρ.ρ.malloc.of(ξ.bts.size, ξ.auto-named-attr-at-96-9),+ auto-named-attr-at-96-9(m) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.m.write(0, ξ.ρ.bts)), ξ.ρ.scope(ξ.m)+ )+ )+ ⟧+ ⟧,+ of(size, scope) ↦ ⟦+ φ() ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_φ+ ⟧,+ allocated(id) ↦ ⟦+ φ ↦ ξ.get,+ get ↦ ξ.read(0, ξ.size),+ size() ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_size+ ⟧,+ resized(new-size) ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_resized+ ⟧,+ copy(source, target, length) ↦ ⟦+ φ ↦ ξ.ρ.write(ξ.target, ξ.ρ.read(ξ.source, ξ.length))+ ⟧,+ read(offset, length) ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_read+ ⟧,+ write(offset, data) ↦ ⟦+ λ ⤍ Lorg_eolang_malloc_of_allocated_write+ ⟧,+ put(object) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.write(0, ξ.object)), ξ.ρ.get+ )+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/math/angle.phi view
@@ -0,0 +1,30 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ math() ↦ ⟦+ angle(value) ↦ ⟦+ φ ↦ ξ.value,+ in-degrees ↦ ξ.ρ.angle(ξ.ρ.times(180).div(Φ̇.math.pi)),+ in-radians ↦ ξ.ρ.angle(ξ.times(Φ̇.math.pi).div(180)),+ sin() ↦ ⟦+ λ ⤍ Lorg_eolang_math_angle_sin+ ⟧,+ cos() ↦ ⟦+ λ ⤍ Lorg_eolang_math_angle_cos+ ⟧,+ tan() ↦ ⟦+ cosine ↦ Φ̇.dataized(ξ.ρ.cos).as-bytes,+ φ ↦ ξ.cosine.eq(0).if(Φ̇.nan, ξ.ρ.sin.div(ξ.cosine))+ ⟧,+ ctan() ↦ ⟦+ sine ↦ Φ̇.dataized(ξ.ρ.sin).as-bytes,+ φ ↦ ξ.sine.eq(0).if(Φ̇.nan, ξ.ρ.cos.div(ξ.sine))+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/math/e.phi view
@@ -0,0 +1,12 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ math() ↦ ⟦+ e ↦ 2.718281828459045,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/math/integral.phi view
@@ -0,0 +1,66 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ math() ↦ ⟦+ integral(fun, a, b, n) ↦ ⟦+ subsection(a, b) ↦ ⟦+ φ ↦ ξ.b.minus(ξ.a).div(6).times(+ ξ.ρ.fun(ξ.a).plus(+ 4.times(ξ.ρ.fun(0.5.times(ξ.a.plus(ξ.b)))).plus(ξ.ρ.fun(ξ.b))+ )+ )+ ⟧,+ φ ↦ Φ̇.malloc.of(8, ξ.auto-named-attr-at-50-11).as-number,+ auto-named-attr-at-50-11(sum) ↦ ⟦+ φ ↦ Φ̇.malloc.for(ξ.ρ.a, ξ.auto-named-attr-at-53-16),+ auto-named-attr-at-53-16(left) ↦ ⟦+ right ↦ ξ.ρ.ρ.b,+ step ↦ ξ.right.minus(ξ.left).div(ξ.ρ.ρ.n).as-number,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.while(+ ξ.auto-named-attr-at-59-21,+ ⟦+ φ ↦ Φ̇.true,+ i ↦ ∅+ ⟧+ )+ ),+ ξ.ρ.sum+ )+ ),+ auto-named-attr-at-59-21(i) ↦ ⟦+ φ ↦ ξ.ρ.left.as-number.plus(ξ.ρ.step).lt(ξ.ρ.right).if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ ξ.ρ.ρ.sum.put(+ ξ.ρ.ρ.sum.as-number.plus(+ ξ.ρ.ρ.ρ.subsection(+ ξ.ρ.left.as-number, ξ.ρ.left.as-number.plus(ξ.ρ.step)+ )+ )+ )+ ),+ ξ.ρ.left.put(ξ.ρ.left.as-number.plus(ξ.ρ.step))+ ),+ Φ̇.true+ )+ ),+ Φ̇.false+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/math/numbers.phi view
@@ -0,0 +1,42 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ math() ↦ ⟦+ numbers(sequence) ↦ ⟦+ φ ↦ ξ.sequence,+ max() ↦ ⟦+ lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+ φ ↦ ξ.lst.is-empty.if(+ Φ̇.error("Can't get max number from empty sequence"),+ ξ.lst.reduced(+ Φ̇.negative-infinity,+ ⟦+ max ↦ ∅,+ item ↦ ∅,+ φ ↦ ξ.item.as-number.gt(ξ.max).if(ξ.item, ξ.max)+ ⟧+ )+ )+ ⟧,+ min() ↦ ⟦+ lst ↦ Φ̇.structs.list(ξ.ρ.sequence),+ φ ↦ ξ.lst.is-empty.if(+ Φ̇.error("Can't get min number from empty sequence"),+ ξ.lst.reduced(+ Φ̇.positive-infinity,+ ⟦+ min ↦ ∅,+ item ↦ ∅,+ φ ↦ ξ.min.gt(ξ.item.as-number).if(ξ.item, ξ.min)+ ⟧+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/math/pi.phi view
@@ -0,0 +1,12 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ math() ↦ ⟦+ pi ↦ 3.141592653589793,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/math/random.phi view
@@ -0,0 +1,53 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ math() ↦ ⟦+ random(seed) ↦ ⟦+ fixed ↦ ξ,+ φ ↦ ξ.seed.as-number.div(+ Φ̇.bytes(⟦ Δ ⤍ 00-20-00-00-00-00-00-00 ⟧).as-i64.as-number+ ),+ next ↦ ξ.ρ.random(+ ξ.seed.times(25214903917).plus(11).as-i64.and(+ Φ̇.bytes(⟦ Δ ⤍ 00-0F-FF-FF-FF-FF-FF-FF ⟧)+ ).as-i64.as-number+ ).fixed,+ pseudo() ↦ ⟦+ const-1 ↦ 35,+ const-2 ↦ 53,+ const-3 ↦ 17,+ one ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-01 ⟧),+ φ ↦ ξ.ρ.ρ.random(ξ.time-seed),+ time-seed ↦ ξ.time-bytes.left(ξ.const-1).and(+ ξ.one.left(ξ.const-2).as-i64.minus(ξ.one).as-bytes+ ).as-i64.plus(+ ξ.time-bytes.left(ξ.const-3).and(+ ξ.one.left(ξ.const-1).as-i64.minus(ξ.one).as-bytes+ ).as-i64.plus(+ ξ.time-bytes.and(+ ξ.one.left(ξ.const-3).as-i64.minus(ξ.one).as-bytes+ ).as-i64+ )+ ).as-number,+ time-bytes ↦ Φ̇.sys.os.is-windows.if(+ Φ̇.sys.win32(+ "GetSystemTime", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.system-time)+ ).milliseconds,+ ⟦+ timeval ↦ Φ̇.sys.posix(+ "gettimeofday", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.timeval)+ ).output,+ φ ↦ ξ.timeval.tv-sec.times(1000).plus(+ ξ.timeval.tv-usec.as-i64.div(1000.as-i64).as-number+ )+ ⟧+ ).as-i64.as-bytes+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/math/real.phi view
@@ -0,0 +1,49 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ math() ↦ ⟦+ real(num) ↦ ⟦+ φ ↦ ξ.num,+ exp ↦ Φ̇.math.real(Φ̇.math.e).pow(ξ.num),+ mod(x) ↦ ⟦+ dividend ↦ Φ̇.number(ξ.ρ.num.as-bytes),+ divisor ↦ Φ̇.number(ξ.x.as-bytes),+ φ ↦ ξ.divisor.eq(0).if(+ Φ̇.error("Can't calculate mod by zero"),+ ξ.dividend.gt(0).if(ξ.abs-mod, ξ.abs-mod.neg)+ ),+ abs-mod() ↦ ⟦+ dividend-abs ↦ Φ̇.math.real(ξ.ρ.dividend).abs,+ divisor-abs ↦ Φ̇.math.real(ξ.ρ.divisor).abs,+ φ ↦ ξ.dividend-abs.minus(+ ξ.divisor-abs.times(ξ.dividend-abs.div(ξ.divisor-abs).floor)+ )+ ⟧+ ⟧,+ abs() ↦ ⟦+ value ↦ Φ̇.number(ξ.ρ.num.as-bytes),+ φ ↦ ξ.value.gte(0).if(ξ.value, ξ.value.neg)+ ⟧,+ pow(x) ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_pow+ ⟧,+ sqrt() ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_sqrt+ ⟧,+ ln() ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_ln+ ⟧,+ acos() ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_acos+ ⟧,+ asin() ↦ ⟦+ λ ⤍ Lorg_eolang_math_real_asin+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/nan.phi view
@@ -0,0 +1,44 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ nan() ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F8-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ ξ,+ is-nan ↦ Φ̇.true,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert NaN to i64"),+ eq(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ times(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ plus(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ div(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/negative-infinity.phi view
@@ -0,0 +1,61 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ negative-infinity() ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ FF-F0-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ Φ̇.positive-infinity,+ is-nan ↦ Φ̇.false,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert negative infinity to i64"),+ eq(x) ↦ ⟦+ φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.not+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.eq(ξ.x)+ ⟧,+ times(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+ Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.positive-infinity)+ )+ ⟧,+ plus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.positive-infinity)).if(+ Φ̇.nan, ξ.ρ+ )+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+ ⟧,+ div(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+ Φ̇.nan,+ ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+ Φ̇.positive-infinity, ξ.ρ+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/net/socket.phi view
@@ -0,0 +1,535 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ net() ↦ ⟦+ socket(address, port) ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(+ ξ.win-socket(ξ.address, ξ.port), ξ.posix-socket(ξ.address, ξ.port)+ ),+ htons(port) ↦ ⟦+ bts ↦ ξ.port.as-i16.as-bytes,+ φ ↦ ξ.bts.and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧)).left(8).or(+ ξ.bts.right(8).and(Φ̇.bytes(⟦ Δ ⤍ FF- ⟧))+ ).as-i16+ ⟧,+ as-input(recv) ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block(Φ̇.bytes(⟦ Δ ⤍ -- ⟧)).read(ξ.size).self,+ input-block(buffer) ↦ ⟦+ self ↦ ξ,+ φ ↦ ξ.buffer,+ read(size) ↦ ⟦+ read-bytes ↦ ξ.ρ.ρ.ρ.recv(ξ.size).as-bytes,+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.read-bytes), ξ.ρ.ρ.input-block(ξ.read-bytes)+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ as-output(send) ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block.write(ξ.buffer).self,+ output-block() ↦ ⟦+ self ↦ ξ,+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.ρ.ρ.send(ξ.buffer)), ξ.ρ.ρ.output-block+ )+ ).self+ ⟧+ ⟧+ ⟧+ ⟧,+ posix-socket(address, port) ↦ ⟦+ sd ↦ Φ̇.sys.posix(+ "socket",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.posix.af-inet), Φ̇.sys.posix.sock-stream+ ),+ Φ̇.sys.posix.ipproto-tcp+ )+ ).code,+ inet-addr ↦ Φ̇.sys.posix(+ "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+ ).code,+ inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.posix.inaddr-none).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' posix syscall, reason: '%s'",+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.strerror.code)+ )+ ),+ ξ.inet-addr.as-i32+ ),+ sockaddr ↦ Φ̇.sys.posix.sockaddr-in(+ Φ̇.sys.posix.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+ ),+ scoped-socket(sockfd) ↦ ⟦+ as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+ as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+ send(buffer) ↦ ⟦+ buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+ sent ↦ Φ̇.sys.posix(+ "send",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+ ),+ 0+ )+ ).code,+ φ ↦ ξ.sent.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to send message through the socket '%d', reason: %s",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+ )+ )+ ),+ ξ.sent+ )+ ⟧,+ recv(size) ↦ ⟦+ received ↦ Φ̇.sys.posix(+ "recv",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+ )+ ).called,+ φ ↦ ξ.received.code.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to receive data from the socket '%d', reason: %s",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.strerror.code+ )+ )+ ),+ ξ.received.output+ )+ ⟧+ ⟧,+ strerror() ↦ ⟦+ φ ↦ Φ̇.sys.posix(+ "strerror",+ Φ̇.tuple(+ Φ̇.tuple.empty, Φ̇.sys.posix("errno", Φ̇.tuple.empty).code+ )+ )+ ⟧,+ closed-socket(sockfd) ↦ ⟦+ closed ↦ Φ̇.sys.posix("close", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)).code,+ φ ↦ ξ.closed.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't close a posix socket '%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.strerror.code+ )+ )+ ),+ Φ̇.true+ )+ ⟧,+ safe-socket(scope) ↦ ⟦+ φ ↦ ξ.ρ.sd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't create a posix socket, reason: '%s'",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.strerror.code)+ )+ ),+ Φ̇.try(+ ξ.scope,+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.ρ.closed-socket(ξ.ρ.sd)+ )+ )+ ⟧,+ connect(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-276-10),+ auto-named-attr-at-276-10() ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ connected ↦ Φ̇.sys.posix(+ "connect",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ ξ.connected.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't connect to '%s:%d' on posix socket '%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.strerror.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+ )+ ⟧+ ⟧,+ listen(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-300-10),+ auto-named-attr-at-300-10() ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ bound ↦ Φ̇.sys.posix(+ "bind",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ listened ↦ Φ̇.sys.posix(+ "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+ ).code,+ φ ↦ ξ.bound.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't bind posix socket '%d' to '%s:%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+ ),+ ξ.sock.port+ ),+ ξ.sock.strerror.code+ )+ )+ ),+ ξ.listened.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to listen for connections to '%s:%d' on socket '%d', reason: '%s'",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.strerror.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-325-22)).as-bytes+ )+ ),+ auto-named-attr-at-325-22() ↦ ⟦+ φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+ accept(scope) ↦ ⟦+ sock ↦ ξ.ρ.ρ.sock,+ client-sockfd ↦ Φ̇.sys.posix(+ "accept",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ Φ̇.try(+ ξ.client-sockfd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to accept a connection on posix socket '%d', reason: %s",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.strerror.code+ )+ )+ ),+ Φ̇.dataized(+ ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+ ).as-bytes+ ),+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.sock.closed-socket(ξ.client-sockfd)+ )+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ win-socket(address, port) ↦ ⟦+ sd ↦ Φ̇.sys.win32(+ "socket",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.af-inet), Φ̇.sys.win32.sock-stream+ ),+ Φ̇.sys.win32.ipproto-tcp+ )+ ).code,+ inet-addr ↦ Φ̇.sys.win32(+ "inet_addr", Φ̇.tuple(Φ̇.tuple.empty, ξ.address)+ ).code,+ inet-addr-as-int ↦ ξ.inet-addr.eq(Φ̇.sys.win32.inaddr-none).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't convert an IPv4 address '%s' into a 32-bit integer via 'inet_addr' win32 function call, WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.address), ξ.last-error.code+ )+ )+ ),+ ξ.inet-addr.as-i32+ ),+ sockaddr ↦ Φ̇.sys.win32.sockaddr-in(+ Φ̇.sys.win32.af-inet.as-i16, ξ.ρ.htons(ξ.port), ξ.inet-addr-as-int+ ),+ scoped-socket(sockfd) ↦ ⟦+ as-input ↦ ξ.ρ.ρ.ρ.as-input(ξ.recv),+ as-output ↦ ξ.ρ.ρ.ρ.as-output(ξ.send),+ send(buffer) ↦ ⟦+ buff ↦ Φ̇.dataized(ξ.buffer).as-bytes,+ sent ↦ Φ̇.sys.win32(+ "send",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.buff), ξ.buff.size+ ),+ 0+ )+ ).code,+ φ ↦ ξ.sent.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to send message through the socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+ )+ )+ ),+ ξ.sent+ )+ ⟧,+ recv(size) ↦ ⟦+ received ↦ Φ̇.sys.win32(+ "recv",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.size), 0+ )+ ).called,+ φ ↦ ξ.received.code.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to receive data from the socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.sockfd), ξ.ρ.ρ.last-error.code+ )+ )+ ),+ ξ.received.output+ )+ ⟧+ ⟧,+ last-error() ↦ ⟦+ φ ↦ Φ̇.sys.win32("WSAGetLastError", Φ̇.tuple.empty)+ ⟧,+ closed-socket(sockfd) ↦ ⟦+ closed ↦ Φ̇.sys.win32(+ "closesocket", Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd)+ ).code,+ φ ↦ ξ.closed.eq(Φ̇.sys.win32.socket-error).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't close a win32 socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sockfd), ξ.ρ.last-error.code+ )+ )+ ),+ Φ̇.true+ )+ ⟧,+ safe-socket(scope) ↦ ⟦+ started-up ↦ Φ̇.sys.win32(+ "WSAStartup", Φ̇.tuple(Φ̇.tuple.empty, Φ̇.sys.win32.winsock-version-2-2)+ ).code,+ cleaned-up ↦ Φ̇.sys.win32("WSACleanup", Φ̇.tuple.empty).code,+ φ ↦ ξ.started-up.eq(0).not.if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't initialize Winsock via 'WSAStartup' call, WSA error code: %d",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.started-up)+ )+ ),+ Φ̇.try(+ ξ.ρ.sd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't create a win32 socket, WSA error code: %d",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.last-error.code)+ )+ ),+ Φ̇.try(+ ξ.scope,+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.ρ.closed-socket(ξ.ρ.sd)+ )+ ),+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.cleaned-up.eq(Φ̇.sys.win32.socket-error).if(+ Φ̇.error("Couldn't cleanup Winsock resources"), Φ̇.true+ )+ )+ )+ ⟧,+ connect(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-485-10),+ auto-named-attr-at-485-10() ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ connected ↦ Φ̇.sys.win32(+ "connect",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ ξ.connected.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't connect to '%s:%d' on win32 socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.last-error.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.sock.scoped-socket(ξ.sock.sd))).as-bytes+ )+ ⟧+ ⟧,+ listen(scope) ↦ ⟦+ φ ↦ ξ.ρ.safe-socket(ξ.auto-named-attr-at-509-10),+ auto-named-attr-at-509-10() ↦ ⟦+ sock ↦ ξ.ρ.ρ,+ bound ↦ Φ̇.sys.win32(+ "bind",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ listened ↦ Φ̇.sys.win32(+ "listen", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), 2048)+ ).code,+ φ ↦ ξ.bound.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Couldn't bind win32 socket '%d' to '%s:%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.address+ ),+ ξ.sock.port+ ),+ ξ.sock.last-error.code+ )+ )+ ),+ ξ.listened.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to listen for connections to '%s:%d' on socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.address), ξ.sock.port+ ),+ ξ.sock.sd+ ),+ ξ.sock.last-error.code+ )+ )+ ),+ Φ̇.dataized(ξ.ρ.scope(ξ.auto-named-attr-at-534-22)).as-bytes+ )+ ),+ auto-named-attr-at-534-22() ↦ ⟦+ φ ↦ ξ.ρ.sock.scoped-socket(ξ.ρ.sock.sd),+ accept(scope) ↦ ⟦+ sock ↦ ξ.ρ.ρ.sock,+ client-sockfd ↦ Φ̇.sys.win32(+ "accept",+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.sockaddr+ ),+ ξ.sock.sockaddr.size+ )+ ).code,+ φ ↦ Φ̇.try(+ ξ.client-sockfd.eq(-1).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Failed to accept a connection on win32 socket '%d', WSA error code: %d",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.sock.sd), ξ.sock.last-error.code+ )+ )+ ),+ Φ̇.dataized(+ ξ.scope(ξ.sock.scoped-socket(ξ.client-sockfd))+ ).as-bytes+ ),+ ⟦+ φ ↦ Φ̇.error(ξ.ex),+ ex ↦ ∅+ ⟧,+ ξ.sock.closed-socket(ξ.client-sockfd)+ )+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/number.phi view
@@ -0,0 +1,74 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ number(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-number ↦ ξ,+ neg ↦ ξ.times(-1),+ as-i32 ↦ ξ.as-i64.as-i32,+ as-i16 ↦ ξ.as-i32.as-i16,+ is-nan ↦ ξ.as-bytes.eq(Φ̇.nan.as-bytes),+ as-i64() ↦ ⟦+ λ ⤍ Lorg_eolang_number_as_i64+ ⟧,+ eq(x) ↦ ⟦+ x-as-bytes ↦ Φ̇.dataized(ξ.x).as-bytes,+ self-as-bytes ↦ ξ.ρ.as-bytes,+ pos-zero-as-bytes ↦ 0.as-bytes,+ neg-zero-as-bytes ↦ -0.as-bytes,+ φ ↦ ξ.ρ.is-nan.or(Φ̇.number(ξ.x-as-bytes).is-nan).if(+ Φ̇.false,+ ξ.x-as-bytes.eq(ξ.pos-zero-as-bytes).or(+ ξ.x-as-bytes.eq(ξ.neg-zero-as-bytes)+ ).and(+ ξ.self-as-bytes.eq(ξ.pos-zero-as-bytes).or(+ ξ.self-as-bytes.eq(ξ.neg-zero-as-bytes)+ )+ ).or(ξ.self-as-bytes.eq(ξ.x-as-bytes))+ )+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ 0.gt(ξ.ρ.minus(Φ̇.number(ξ.value)))+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ gt(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_gt+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ times(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_times+ ⟧,+ plus(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_plus+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.plus(Φ̇.number(ξ.value).neg)+ ⟧,+ div(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_div+ ⟧,+ floor() ↦ ⟦+ λ ⤍ Lorg_eolang_number_floor+ ⟧,+ is-integer() ↦ ⟦+ φ ↦ ξ.ρ.is-finite.and(ξ.ρ.eq(ξ.ρ.floor))+ ⟧,+ is-finite() ↦ ⟦+ φ ↦ ξ.ρ.is-nan.not.and(+ ξ.ρ.eq(Φ̇.positive-infinity).or(ξ.ρ.eq(Φ̇.negative-infinity)).not+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/positive-infinity.phi view
@@ -0,0 +1,61 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ positive-infinity() ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F0-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ Φ̇.negative-infinity,+ is-nan ↦ Φ̇.false,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert positive infinity to i64"),+ eq(x) ↦ ⟦+ φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.eq(ξ.x)+ ⟧,+ gt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.not+ ⟧,+ times(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+ Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.negative-infinity)+ )+ ⟧,+ plus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.negative-infinity)).if(+ Φ̇.nan, ξ.ρ+ )+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+ ⟧,+ div(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+ Φ̇.nan,+ ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+ Φ̇.negative-infinity, ξ.ρ+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/seq.phi view
@@ -0,0 +1,17 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ seq(steps) ↦ ⟦+ φ ↦ ξ.steps.length.eq(0).if(Φ̇.true, ξ.loop(0)),+ max-len ↦ Φ̇.dataized(ξ.steps.length.minus(1)).as-bytes,+ loop(index) ↦ ⟦+ φ ↦ ξ.index.lt(ξ.ρ.max-len).and(+ Φ̇.dataized(ξ.ρ.steps.at(ξ.index)).as-bool.or(Φ̇.true)+ ).if(ξ.ρ.loop(ξ.index.plus(1)), ξ.ρ.steps.at(ξ.index))+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/string.phi view
@@ -0,0 +1,155 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ string(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ length() ↦ ⟦+ size ↦ ξ.ρ.as-bytes.size,+ pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+ pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+ pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+ pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+ result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+ result-three ↦ ξ.pattern-two,+ result-four ↦ ξ.pattern-three,+ φ ↦ ξ.size.eq(0).if(0, ξ.rec-length(0, 0)),+ increase-length(index, char-size, len) ↦ ⟦+ φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+ )+ )+ ),+ ξ.ρ.rec-length(ξ.index.plus(ξ.char-size), ξ.len.plus(1))+ )+ ⟧,+ rec-length(index, accum) ↦ ⟦+ byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+ φ ↦ ξ.index.eq(ξ.ρ.size).if(+ ξ.accum,+ ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+ ξ.ρ.increase-length(ξ.index, 1, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+ ξ.ρ.increase-length(ξ.index, 2, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+ ξ.ρ.increase-length(ξ.index, 3, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+ ξ.ρ.increase-length(ξ.index, 4, ξ.accum),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Unknown byte format (%x), can't recognize character",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+ )+ )+ )+ )+ )+ )+ )+ ⟧+ ⟧,+ slice(start, len) ↦ ⟦+ start-bytes ↦ Φ̇.dataized(ξ.start).as-bytes,+ len-bytes ↦ Φ̇.dataized(ξ.len).as-bytes,+ num-start ↦ Φ̇.number(ξ.start-bytes),+ num-len ↦ Φ̇.number(ξ.len-bytes),+ size ↦ ξ.ρ.as-bytes.size,+ end ↦ ξ.num-start.plus(ξ.num-len),+ pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+ pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+ pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+ pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+ result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+ result-three ↦ ξ.pattern-two,+ result-four ↦ ξ.pattern-three,+ bts-start ↦ Φ̇.dataized(+ ξ.rec-index(+ 0,+ 0,+ ξ.num-start,+ Φ̇.txt.sprintf(+ "Start index (%d) is out of string bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+ )+ )+ ).as-bytes,+ bts-length ↦ ξ.rec-index(+ Φ̇.number(ξ.bts-start),+ 0,+ ξ.num-len,+ Φ̇.txt.sprintf(+ "Start index + length to slice (%d) is out of string bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start.plus(ξ.num-len))+ )+ ).minus(ξ.bts-start),+ φ ↦ ξ.num-start.lt(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Start index must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+ )+ ),+ ξ.num-len.lt(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Length to slice must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-len)+ )+ ),+ ξ.num-len.eq(0).if(+ "", Φ̇.string(ξ.ρ.as-bytes.slice(ξ.bts-start, ξ.bts-length))+ )+ )+ ),+ increase(index, char-size, accum, result, cause) ↦ ⟦+ φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+ )+ )+ ),+ ξ.ρ.rec-index(+ ξ.index.plus(ξ.char-size), ξ.accum.plus(1), ξ.result, ξ.cause+ )+ )+ ⟧,+ rec-index(index, accum, result, cause) ↦ ⟦+ byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+ φ ↦ ξ.accum.eq(ξ.result).if(+ ξ.index,+ ξ.index.eq(ξ.ρ.size).if(+ Φ̇.error(ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+ ξ.ρ.increase(ξ.index, 1, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+ ξ.ρ.increase(ξ.index, 2, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+ ξ.ρ.increase(ξ.index, 3, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+ ξ.ρ.increase(ξ.index, 4, ξ.accum, ξ.result, ξ.cause),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Unknown byte format (%x), can't recognize character",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+ )+ )+ )+ )+ )+ )+ )+ )+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/structs/bytes-as-array.phi view
@@ -0,0 +1,23 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ structs() ↦ ⟦+ bytes-as-array(bts) ↦ ⟦+ bytes-size ↦ Φ̇.dataized(ξ.bts.size).as-bytes,+ φ ↦ ξ.slice-byte(Φ̇.tuple.empty, 0),+ slice-byte(tup, index) ↦ ⟦+ φ ↦ ξ.index.lt(ξ.ρ.bytes-size).if(+ ξ.ρ.slice-byte(+ ξ.tup.with(ξ.ρ.bts.slice(ξ.index, 1)), ξ.index.plus(1)+ ),+ ξ.tup+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/structs/hash-code-of.phi view
@@ -0,0 +1,30 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ structs() ↦ ⟦+ hash-code-of(input) ↦ ⟦+ input-as-bytes ↦ Φ̇.dataized(ξ.input.as-bytes).as-bytes,+ size ↦ Φ̇.dataized(ξ.input-as-bytes.size).as-bytes,+ magic-number ↦ 31.as-i64,+ φ ↦ ξ.rec-hash-code(0, 0),+ rec-hash-code(acc, index) ↦ ⟦+ φ ↦ ξ.index.eq(ξ.ρ.size).if(+ ξ.acc.as-number,+ ξ.ρ.rec-hash-code(+ ξ.ρ.magic-number.times(ξ.acc).plus(+ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(+ ξ.ρ.input-as-bytes.slice(ξ.index, 1)+ ).as-i64+ ),+ ξ.index.plus(1)+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/structs/list.phi view
@@ -0,0 +1,194 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ structs() ↦ ⟦+ list(origin) ↦ ⟦+ φ ↦ ξ.origin,+ is-empty() ↦ ⟦+ φ ↦ 0.eq(ξ.ρ.origin.length)+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(ξ.ρ.origin.with(ξ.x))+ ⟧,+ withi(index, item) ↦ ⟦+ φ ↦ ξ.ρ.head(ξ.index).with(ξ.item).concat(+ ξ.ρ.tail(ξ.ρ.origin.length.minus(ξ.index))+ )+ ⟧,+ reducedi(start, func) ↦ ⟦+ origin-len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ φ ↦ 0.eq(ξ.origin-len).if(ξ.start, ξ.rec-reduced(ξ.start, 0.as-bytes)),+ rec-reduced(accum, index) ↦ ⟦+ idx-as-number ↦ ξ.index.as-number,+ next-index ↦ Φ̇.dataized(1.plus(ξ.idx-as-number)).as-bytes,+ φ ↦ ξ.next-index.eq(ξ.ρ.origin-len).if(+ ξ.accumulated, ξ.ρ.rec-reduced(ξ.accumulated, ξ.next-index)+ ),+ accumulated ↦ ξ.ρ.func(+ ξ.accum, ξ.ρ.ρ.origin.at(ξ.idx-as-number), ξ.idx-as-number+ )+ ⟧+ ⟧,+ reduced(start, func) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(ξ.start, ξ.auto-named-attr-at-83-42),+ auto-named-attr-at-83-42(accum, item, idx) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.accum, ξ.item)+ ⟧+ ⟧,+ mappedi(func) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-93-24)+ ),+ auto-named-attr-at-93-24(accum, item, idx) ↦ ⟦+ φ ↦ ξ.accum.with(ξ.ρ.func(ξ.item, ξ.idx))+ ⟧+ ⟧,+ mapped(func) ↦ ⟦+ φ ↦ ξ.ρ.mappedi(ξ.auto-named-attr-at-103-30),+ auto-named-attr-at-103-30(item, idx) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.item)+ ⟧+ ⟧,+ eachi(func) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-113-22),+ auto-named-attr-at-113-22(acc, item, index) ↦ ⟦+ φ ↦ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.acc), ξ.ρ.func(ξ.item, ξ.index)+ )+ )+ ⟧+ ⟧,+ each(func) ↦ ⟦+ φ ↦ ξ.ρ.eachi(ξ.auto-named-attr-at-124-32),+ auto-named-attr-at-124-32(item, index) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.item)+ ⟧+ ⟧,+ withouti(i) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-131-24)+ ),+ auto-named-attr-at-131-24(accum, item, idx) ↦ ⟦+ φ ↦ ξ.ρ.i.eq(ξ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+ ⟧+ ⟧,+ without(element) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(+ ξ.ρ.reduced(Φ̇.tuple.empty, ξ.auto-named-attr-at-142-20)+ ),+ auto-named-attr-at-142-20(accum, item) ↦ ⟦+ φ ↦ ξ.ρ.element.eq(ξ.item).if(ξ.accum, ξ.accum.with(ξ.item))+ ⟧+ ⟧,+ eq(other) ↦ ⟦+ φ ↦ ξ.ρ.origin.length.eq(ξ.other.length).and(+ ξ.ρ.reducedi(Φ̇.true, ξ.auto-named-attr-at-157-24)+ ),+ auto-named-attr-at-157-24(accum, item, idx) ↦ ⟦+ φ ↦ ξ.accum.and(ξ.item.eq(ξ.ρ.other.at(ξ.idx)))+ ⟧+ ⟧,+ concat(passed) ↦ ⟦+ φ ↦ ξ.ρ.ρ.list(ξ.passed).reduced(+ ξ.ρ,+ ⟦+ φ ↦ ξ.accum.with(ξ.item),+ accum ↦ ∅,+ item ↦ ∅+ ⟧+ )+ ⟧,+ index-of(wanted) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-177-24),+ auto-named-attr-at-177-24(accum, item, index) ↦ ⟦+ φ ↦ -1.eq(ξ.accum).and(ξ.item.eq(ξ.ρ.wanted)).if(ξ.index, ξ.accum)+ ⟧+ ⟧,+ last-index-of(wanted) ↦ ⟦+ φ ↦ ξ.ρ.reducedi(-1, ξ.auto-named-attr-at-190-24),+ auto-named-attr-at-190-24(accum, item, index) ↦ ⟦+ φ ↦ ξ.item.eq(ξ.ρ.wanted).if(ξ.index, ξ.accum)+ ⟧+ ⟧,+ contains(element) ↦ ⟦+ φ ↦ -1.eq(ξ.ρ.index-of(ξ.element)).not+ ⟧,+ sorted() ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ filteredi(func) ↦ ⟦+ origin-length ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ φ ↦ ξ.ρ.ρ.list(ξ.rec-filtered(0.as-bytes, Φ̇.tuple.empty)),+ rec-filtered(idx-as-bytes, accum) ↦ ⟦+ original ↦ ξ.ρ.ρ.origin,+ index ↦ ξ.idx-as-bytes.as-number,+ item ↦ ξ.ρ.ρ.origin.at(ξ.index),+ φ ↦ ξ.idx-as-bytes.eq(ξ.ρ.origin-length).if(+ ξ.accum,+ ξ.ρ.rec-filtered(+ 1.plus(ξ.index).as-bytes,+ ξ.ρ.func(ξ.item, ξ.index).if(ξ.accum.with(ξ.item), ξ.accum)+ )+ )+ ⟧+ ⟧,+ filtered(func) ↦ ⟦+ φ ↦ ξ.ρ.filteredi(ξ.auto-named-attr-at-243-32),+ auto-named-attr-at-243-32(item, index) ↦ ⟦+ φ ↦ ξ.ρ.func(ξ.item)+ ⟧+ ⟧,+ head(index) ↦ ⟦+ idx ↦ Φ̇.dataized(ξ.index).as-bytes,+ φ ↦ Φ̇.switch(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple(+ Φ̇.tuple.empty,+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, 0.eq(ξ.idx)), ξ.ρ.ρ.list(Φ̇.tuple.empty)+ )+ ),+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, 0.gt(ξ.idx)), ξ.ρ.tail(ξ.index.as-number.neg)+ )+ ),+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin.length.lte(ξ.idx)), ξ.ρ+ )+ ),+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, Φ̇.true),+ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-264-32)+ )+ )+ )+ ),+ auto-named-attr-at-264-32(accum, item, index) ↦ ⟦+ φ ↦ ξ.index.gte(ξ.ρ.idx).if(ξ.accum, ξ.accum.with(ξ.item))+ ⟧+ ⟧,+ tail(index) ↦ ⟦+ idx ↦ Φ̇.dataized(ξ.index).as-bytes,+ start ↦ Φ̇.dataized(ξ.ρ.origin.length.minus(ξ.idx.as-number)).as-bytes,+ φ ↦ 0.gt(ξ.start).if(+ ξ.ρ,+ ξ.ρ.ρ.list(+ ξ.ρ.reducedi(Φ̇.tuple.empty, ξ.auto-named-attr-at-280-26)+ )+ ),+ auto-named-attr-at-280-26(accum, item, idx) ↦ ⟦+ φ ↦ ξ.idx.gte(ξ.ρ.start).if(ξ.accum.with(ξ.item), ξ.accum)+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/structs/map.phi view
@@ -0,0 +1,122 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ structs() ↦ ⟦+ map(pairs) ↦ ⟦+ φ ↦ ξ.auto-named-attr-at-37-6.initialized,+ entry(key, value) ↦ ⟦⟧,+ initialized(entries) ↦ ⟦+ initialized ↦ ξ,+ size ↦ ξ.entries.length,+ keys() ↦ ⟦+ φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+ ⟦+ φ ↦ ξ.entry.key,+ entry ↦ ∅+ ⟧+ )+ ⟧,+ values() ↦ ⟦+ φ ↦ Φ̇.structs.list(ξ.ρ.entries).mapped(+ ⟦+ φ ↦ ξ.entry.value,+ entry ↦ ∅+ ⟧+ )+ ⟧,+ has(key) ↦ ⟦+ φ ↦ ξ.ρ.found(ξ.key).exists+ ⟧,+ found(key) ↦ ⟦+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+ φ ↦ ξ.ρ.size.eq(0).if(ξ.not-found, ξ.rec-key-search(ξ.not-found, 0)),+ rec-key-search(found, index) ↦ ⟦+ entry ↦ ξ.ρ.ρ.entries.at(ξ.index),+ φ ↦ ξ.found.exists.or(ξ.ρ.ρ.size.eq(ξ.index)).if(+ ξ.found,+ ξ.ρ.rec-key-search(+ ξ.ρ.hash.eq(ξ.entry.hash).if(+ ξ.auto-named-attr-at-133-54, ξ.found+ ),+ ξ.index.plus(1)+ )+ ),+ auto-named-attr-at-133-54() ↦ ⟦+ exists ↦ Φ̇.true,+ get ↦ ξ.ρ.entry.value+ ⟧+ ⟧,+ not-found() ↦ ⟦+ exists ↦ Φ̇.false,+ get ↦ Φ̇.error(+ Φ̇.txt.sprintf(+ "Object by hash code %d from given key does not exists",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.hash)+ )+ )+ ⟧+ ⟧,+ with(key, value) ↦ ⟦+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+ φ ↦ ξ.ρ.ρ.ρ.map.initialized(+ Φ̇.structs.list(ξ.ρ.entries).filtered(+ ξ.auto-named-attr-at-153-50+ ).origin.with(ξ.auto-named-attr-at-154-12)+ ),+ auto-named-attr-at-153-50(entry) ↦ ⟦+ φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+ ⟧,+ auto-named-attr-at-154-12() ↦ ⟦+ key ↦ ξ.ρ.key,+ value ↦ ξ.ρ.value,+ hash ↦ ξ.ρ.hash+ ⟧+ ⟧,+ without(key) ↦ ⟦+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.key)).as-bytes,+ φ ↦ ξ.ρ.ρ.ρ.map.initialized(+ Φ̇.structs.list(ξ.ρ.entries).filtered(+ ξ.auto-named-attr-at-167-48+ ).origin+ ),+ auto-named-attr-at-167-48(entry) ↦ ⟦+ φ ↦ ξ.ρ.hash.eq(ξ.entry.hash).not+ ⟧+ ⟧+ ⟧,+ auto-named-attr-at-37-6() ↦ ⟦+ pairs-size ↦ Φ̇.dataized(ξ.ρ.pairs.length).as-bytes,+ φ ↦ ξ.ρ.initialized(+ ξ.pairs-size.eq(0).if(+ Φ̇.tuple.empty,+ ξ.rec-rebuild(Φ̇.tuple.empty, 0, Φ̇.structs.list(Φ̇.tuple.empty))+ )+ ),+ rec-rebuild(accum, index, hashes) ↦ ⟦+ entry ↦ ξ.ρ.ρ.pairs.at(ξ.index),+ hash ↦ Φ̇.dataized(Φ̇.structs.hash-code-of(ξ.entry.key)).as-bytes,+ φ ↦ ξ.ρ.pairs-size.eq(ξ.index).if(+ ξ.accum,+ ξ.ρ.rec-rebuild(+ ξ.hashes.contains(ξ.hash).if(+ ξ.accum, ξ.accum.with(ξ.auto-named-attr-at-59-18)+ ),+ ξ.index.plus(1),+ ξ.hashes.with(ξ.hash)+ )+ ),+ auto-named-attr-at-59-18() ↦ ⟦+ key ↦ ξ.ρ.entry.key,+ value ↦ ξ.ρ.entry.value,+ hash ↦ ξ.ρ.hash+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/structs/range-of-ints.phi view
@@ -0,0 +1,26 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ structs() ↦ ⟦+ range-of-ints(start, end) ↦ ⟦+ φ ↦ 0.eq(ξ.start).or(1.eq(ξ.start.div(ξ.start))).and(+ 0.eq(ξ.end).or(1.eq(ξ.end.div(ξ.end)))+ ).if(+ Φ̇.structs.range(ξ.auto-named-attr-at-42-8, ξ.end),+ Φ̇.error("Some of the arguments are not integers")+ ),+ auto-named-attr-at-42-8() ↦ ⟦+ build(num) ↦ ⟦+ φ ↦ ξ.num,+ next ↦ ξ.ρ.build(1.plus(ξ.φ))+ ⟧,+ φ ↦ ξ.build(ξ.ρ.start)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/structs/range.phi view
@@ -0,0 +1,23 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ structs() ↦ ⟦+ range(start, end) ↦ ⟦+ φ ↦ Φ̇.structs.list(+ ξ.start.lt(ξ.end).if(+ ξ.appended(Φ̇.tuple(Φ̇.tuple.empty, ξ.start), ξ.start.next), Φ̇.tuple.empty+ )+ ),+ appended(acc, current) ↦ ⟦+ φ ↦ ξ.current.lt(ξ.ρ.end).if(+ ξ.ρ.appended(ξ.acc.with(ξ.current), ξ.current.next), ξ.acc+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/structs/set.phi view
@@ -0,0 +1,37 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ structs() ↦ ⟦+ set(lst) ↦ ⟦+ φ ↦ ξ.initialized(+ Φ̇.structs.map(+ Φ̇.structs.list(ξ.lst).mapped(+ ⟦+ φ ↦ Φ̇.structs.map.entry(ξ.item, Φ̇.true),+ item ↦ ∅+ ⟧+ ).origin+ )+ ).initialized,+ initialized(map) ↦ ⟦+ initialized ↦ ξ,+ φ ↦ ξ.map.keys,+ size ↦ ξ.map.size,+ with(item) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.with(ξ.item, Φ̇.true))+ ⟧,+ without(item) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.set.initialized(ξ.ρ.map.without(ξ.item))+ ⟧,+ has(item) ↦ ⟦+ φ ↦ ξ.ρ.map.has(ξ.item)+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/switch.phi view
@@ -0,0 +1,18 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ switch(cases) ↦ ⟦+ len ↦ Φ̇.dataized(ξ.cases.length).as-bytes,+ φ ↦ ξ.len.eq(0).if(Φ̇.error("switch cases are empty"), ξ.case-at(0)),+ case-at(index) ↦ ⟦+ case ↦ ξ.ρ.cases.at(ξ.index),+ φ ↦ ξ.index.eq(ξ.ρ.len).if(+ Φ̇.true, ξ.case.at(0).if(ξ.case.at(1), ξ.ρ.case-at(ξ.index.plus(1)))+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/sys/getenv.phi view
@@ -0,0 +1,19 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ sys() ↦ ⟦+ getenv(name) ↦ ⟦+ φ ↦ Φ̇.sys.os.is-windows.if(+ Φ̇.sys.win32(+ "GetEnvironmentVariable", Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.name), 512)+ ),+ Φ̇.sys.posix("getenv", Φ̇.tuple(Φ̇.tuple.empty, ξ.name))+ ).output+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/sys/line-separator.phi view
@@ -0,0 +1,14 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ sys() ↦ ⟦+ line-separator() ↦ ⟦+ φ ↦ Φ̇.string(Φ̇.sys.os.is-windows.if("\r\n", "\n").as-bytes)+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/sys/os.phi view
@@ -0,0 +1,23 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ sys() ↦ ⟦+ os() ↦ ⟦+ φ ↦ ξ.name,+ is-windows() ↦ ⟦+ os-name ↦ Φ̇.dataized(ξ.ρ.name).as-bytes,+ φ ↦ ξ.os-name.size.gt(6).and(ξ.os-name.slice(0, 7).eq("Windows"))+ ⟧,+ is-linux ↦ Φ̇.txt.regex("/linux/i").matches(ξ.name).as-bool,+ is-macos ↦ Φ̇.txt.regex("/mac/i").matches(ξ.name).as-bool,+ name() ↦ ⟦+ λ ⤍ Lorg_eolang_sys_os_name+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/sys/posix.phi view
@@ -0,0 +1,35 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ sys() ↦ ⟦+ posix(name, args) ↦ ⟦+ stdin-fileno ↦ 0,+ stdout-fileno ↦ 1,+ af-inet ↦ 2,+ sock-stream ↦ 1,+ ipproto-tcp ↦ 6,+ inaddr-none ↦ -1,+ φ() ↦ ⟦+ λ ⤍ Lorg_eolang_sys_posix_φ+ ⟧,+ return(code, output) ↦ ⟦+ called ↦ ξ,+ φ ↦ ξ.output+ ⟧,+ timeval(tv-sec, tv-usec) ↦ ⟦+ self ↦ ξ+ ⟧,+ sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+ sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+ size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+ ξ.sin-zero.size+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/sys/win32.phi view
@@ -0,0 +1,38 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ sys() ↦ ⟦+ win32(name, args) ↦ ⟦+ std-input-handle ↦ -10,+ std-output-handle ↦ -11,+ af-inet ↦ 2,+ sock-stream ↦ 1,+ ipproto-tcp ↦ 6,+ invalid-socket ↦ -1,+ socket-error ↦ -1,+ inaddr-none ↦ -1,+ winsock-version-2-2 ↦ Φ̇.bytes(⟦ Δ ⤍ 02-02 ⟧),+ φ() ↦ ⟦+ λ ⤍ Lorg_eolang_sys_win32_φ+ ⟧,+ return(code, output) ↦ ⟦+ called ↦ ξ,+ φ ↦ ξ.output+ ⟧,+ system-time(year, month, day, day-of-week, hour, minute, second, milliseconds) ↦ ⟦+ self ↦ ξ+ ⟧,+ sockaddr-in(sin-family, sin-port, sin-addr) ↦ ⟦+ sin-zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00-00 ⟧),+ size ↦ ξ.sin-family.size.plus(ξ.sin-port.size).plus(ξ.sin-addr.size).plus(+ ξ.sin-zero.size+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/true.phi view
@@ -0,0 +1,21 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ true() ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧),+ not ↦ Φ̇.false,+ if(left, right) ↦ ⟦+ φ ↦ ξ.left+ ⟧,+ and(x) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+ ⟧,+ or(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/try.phi view
@@ -0,0 +1,11 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ try(main, catch, finally) ↦ ⟦+ λ ⤍ Lorg_eolang_try+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/tuple.phi view
@@ -0,0 +1,39 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ tuple(head, tail) ↦ ⟦+ empty() ↦ ⟦+ length ↦ 0,+ at(i) ↦ ⟦+ φ ↦ Φ̇.error("Can't get an object from the empty tuple")+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.tuple(ξ.ρ, ξ.x)+ ⟧+ ⟧,+ length() ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.head.length.plus(1)).as-bytes,+ φ ↦ Φ̇.number(ξ.len)+ ⟧,+ at(i) ↦ ⟦+ len ↦ ξ.ρ.length,+ idx ↦ Φ̇.dataized(ξ.i).as-bytes,+ index ↦ Φ̇.dataized(0.gt(ξ.idx).if(ξ.len.plus(ξ.idx), ξ.idx)).as-bytes,+ φ ↦ 0.gt(ξ.index).or(ξ.len.lte(ξ.index)).if(+ Φ̇.error("Given index is out of tuple bounds"), ξ.at-fast(ξ.ρ, ξ.len)+ ),+ at-fast(tup, len) ↦ ⟦+ φ ↦ ξ.len.plus(-1).gt(ξ.ρ.index).if(+ ξ.ρ.at-fast(ξ.tup.head, ξ.len.plus(-1)), ξ.tup.tail+ )+ ⟧+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.tuple(ξ.ρ, ξ.x)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/txt/regex.phi view
@@ -0,0 +1,56 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ txt() ↦ ⟦+ regex(expression) ↦ ⟦+ φ ↦ ξ.compiled,+ compiled() ↦ ⟦+ λ ⤍ Lorg_eolang_txt_regex_compiled+ ⟧,+ pattern(serialized) ↦ ⟦+ matches(txt) ↦ ⟦+ φ ↦ ξ.ρ.match(ξ.txt).next.exists+ ⟧,+ match(txt) ↦ ⟦+ next ↦ ξ.matched-from-index(1, 0).matched,+ matched-from-index(position, start) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_regex_pattern_match_matched_from_index+ ⟧,+ matched(position, start, from, to, groups) ↦ ⟦+ matched ↦ ξ,+ groups-count ↦ ξ.groups.length,+ exists ↦ ξ.start.gte(0),+ next ↦ ξ.exists.if(+ ξ.ρ.matched-from-index(ξ.position.plus(1), ξ.to).matched,+ Φ̇.error("Matched block does not exist, can't get next")+ ),+ text ↦ ξ.exists.if(+ ξ.group(0), Φ̇.error("Matched block does not exist, can't get text")+ ),+ group(index) ↦ ⟦+ φ ↦ ξ.ρ.groups.at(ξ.index)+ ⟧+ ⟧,+ not-matched(position) ↦ ⟦+ φ ↦ ξ.ρ.matched(+ ξ.position,+ -1,+ Φ̇.error(+ "Matched block does not exist, can't get 'from' position"+ ),+ Φ̇.error(+ "Matched block does not exist, can't get 'to' position"+ ),+ Φ̇.error("Matched block does not exist, can't get groups")+ )+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/txt/sprintf.phi view
@@ -0,0 +1,14 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ txt() ↦ ⟦+ sprintf(format, args) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_sprintf+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/txt/sscanf.phi view
@@ -0,0 +1,14 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ txt() ↦ ⟦+ sscanf(format, read) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_sscanf+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/txt/text.phi view
@@ -0,0 +1,275 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ txt() ↦ ⟦+ text(origin) ↦ ⟦+ φ ↦ ξ.origin,+ is-alphanumeric ↦ Φ̇.txt.regex("/^[A-Za-z0-9]+$/").matches(ξ.origin),+ is-alpha ↦ Φ̇.txt.regex("/^[a-zA-Z]+$/").matches(ξ.origin),+ is-ascii ↦ Φ̇.txt.regex("/^[\\x00-\\x7F]*$/").matches(ξ.origin),+ slice(start, len) ↦ ⟦+ φ ↦ ξ.ρ.ρ.text(ξ.ρ.origin.slice(ξ.start, ξ.len))+ ⟧,+ trimmed-left() ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ idx ↦ Φ̇.dataized(ξ.first-non-space-index(0)).as-bytes,+ φ ↦ 0.eq(ξ.len).if(+ ξ.ρ, ξ.ρ.slice(ξ.idx, Φ̇.number(ξ.len).minus(Φ̇.number(ξ.idx)))+ ),+ first-non-space-index(index) ↦ ⟦+ char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+ φ ↦ ξ.ρ.len.eq(ξ.index).if(+ ξ.index,+ " ".eq(ξ.char).if(+ ξ.ρ.first-non-space-index(ξ.index.plus(1)), ξ.index+ )+ )+ ⟧+ ⟧,+ trimmed-right() ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.origin.length).as-bytes,+ φ ↦ 0.eq(ξ.len).if(+ ξ.ρ, ξ.ρ.slice(0, ξ.first-non-space-index(Φ̇.number(ξ.len).plus(-1)))+ ),+ first-non-space-index(index) ↦ ⟦+ char ↦ Φ̇.dataized(ξ.ρ.ρ.origin.slice(ξ.index, 1)).as-bytes,+ φ ↦ -1.eq(ξ.index).if(+ 0,+ " ".eq(ξ.char).if(+ ξ.ρ.first-non-space-index(ξ.index.plus(-1)), ξ.index.plus(1)+ )+ )+ ⟧+ ⟧,+ trimmed() ↦ ⟦+ φ ↦ 0.eq(ξ.ρ.length).if(ξ.ρ, ξ.ρ.trimmed-left.trimmed-right)+ ⟧,+ joined(items) ↦ ⟦+ delimiter ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+ first ↦ ξ.items.at(0),+ len ↦ Φ̇.dataized(ξ.items.length).as-bytes,+ not-empty ↦ Φ̇.dataized(+ 1.eq(ξ.len).if(+ ξ.first, ξ.first.as-bytes.concat(ξ.with-delimiter("".as-bytes, 1))+ )+ ).as-bytes,+ φ ↦ ξ.ρ.ρ.text(0.eq(ξ.len).if("", Φ̇.string(ξ.not-empty))),+ with-delimiter(acc, index) ↦ ⟦+ φ ↦ ξ.ρ.len.eq(ξ.index).if(+ ξ.acc,+ ξ.ρ.with-delimiter(+ ξ.acc.concat(ξ.ρ.delimiter.concat(ξ.ρ.items.at(ξ.index))), ξ.index.plus(1)+ )+ )+ ⟧+ ⟧,+ repeated(times) ↦ ⟦+ bts ↦ Φ̇.dataized(ξ.ρ.origin.as-bytes).as-bytes,+ amount ↦ Φ̇.dataized(ξ.times).as-bytes,+ φ ↦ 0.gt(ξ.amount).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't repeat text %d times", Φ̇.tuple(Φ̇.tuple.empty, ξ.amount)+ )+ ),+ ξ.ρ.ρ.text(+ 0.eq(ξ.amount).if("", Φ̇.string(ξ.rec-repeated(ξ.bts, 1)))+ )+ ),+ rec-repeated(accum, index) ↦ ⟦+ φ ↦ ξ.ρ.amount.eq(ξ.index).if(+ ξ.accum, ξ.ρ.rec-repeated(ξ.accum.concat(ξ.ρ.bts), ξ.index.plus(1))+ )+ ⟧+ ⟧,+ contains(substring) ↦ ⟦+ φ ↦ -1.eq(ξ.ρ.index-of(ξ.substring)).not+ ⟧,+ ends-with(substring) ↦ ⟦+ substr ↦ Φ̇.dataized(ξ.substring).as-bytes,+ φ ↦ ξ.ρ.index-of(ξ.substr).eq(ξ.ρ.length.minus(ξ.substr.size))+ ⟧,+ starts-with(substring) ↦ ⟦+ φ ↦ 0.eq(ξ.ρ.index-of(ξ.substring))+ ⟧,+ index-of(substring) ↦ ⟦+ self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+ substr ↦ Φ̇.string(ξ.substr-as-bytes),+ sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+ end ↦ Φ̇.dataized(Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))).as-bytes,+ φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+ ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+ ).if(-1, ξ.rec-index-of-substr(0)),+ rec-index-of-substr(idx) ↦ ⟦+ φ ↦ ξ.ρ.end.eq(ξ.idx).if(+ ξ.contains.if(ξ.idx, -1),+ ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(1)))+ ),+ contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+ ⟧,+ substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+ ⟧,+ last-index-of(substring) ↦ ⟦+ self-len ↦ Φ̇.dataized(Φ̇.string(ξ.ρ.origin.as-bytes).length).as-bytes,+ substr ↦ Φ̇.string(ξ.substr-as-bytes),+ sub-len ↦ Φ̇.dataized(ξ.substr.length).as-bytes,+ φ ↦ Φ̇.number(ξ.sub-len).gt(ξ.self-len).or(+ ξ.sub-len.eq(ξ.self-len).and(ξ.substr.eq(ξ.ρ.origin).not)+ ).if(+ -1,+ ξ.rec-index-of-substr(+ Φ̇.number(ξ.self-len).minus(Φ̇.number(ξ.sub-len))+ )+ ),+ rec-index-of-substr(idx) ↦ ⟦+ φ ↦ 0.eq(ξ.idx).if(+ ξ.contains.if(ξ.idx, -1),+ ξ.contains.if(ξ.idx, ξ.ρ.rec-index-of-substr(ξ.idx.plus(-1)))+ ),+ contains ↦ ξ.ρ.substr.eq(ξ.ρ.ρ.slice(ξ.idx, ξ.ρ.sub-len))+ ⟧,+ substr-as-bytes ↦ Φ̇.dataized(ξ.substring).as-bytes+ ⟧,+ up-cased() ↦ ⟦+ ascii-z ↦ Φ̇.dataized(ξ.ascii("z")).as-bytes,+ ascii-a ↦ Φ̇.dataized(ξ.ascii("a")).as-bytes,+ distance ↦ Φ̇.number(ξ.ascii-a).minus(ξ.ascii("A")),+ φ ↦ ξ.ρ.ρ.text(+ Φ̇.string(+ Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+ Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-258-22+ )+ )+ ),+ ascii(char) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00-00-00-00 ⟧).concat(ξ.char.as-bytes).as-i64.as-number+ ⟧,+ auto-named-attr-at-258-22(accum, byte) ↦ ⟦+ ascii-bte ↦ ξ.ρ.ascii(ξ.byte),+ φ ↦ ξ.accum.concat(+ ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+ ξ.ascii-bte.minus(ξ.ρ.distance).as-i64.as-bytes.slice(7, 1), ξ.byte+ )+ )+ ⟧+ ⟧,+ low-cased() ↦ ⟦+ ascii-z ↦ ξ.ρ.up-cased.ascii("Z"),+ ascii-a ↦ ξ.ρ.up-cased.ascii("A"),+ φ ↦ ξ.ρ.ρ.text(+ Φ̇.string(+ Φ̇.structs.list(Φ̇.structs.bytes-as-array(ξ.ρ.origin.as-bytes)).reduced(+ Φ̇.bytes(⟦ Δ ⤍ -- ⟧), ξ.auto-named-attr-at-291-22+ )+ )+ ),+ auto-named-attr-at-291-22(accum, byte) ↦ ⟦+ ascii-bte ↦ ξ.ρ.ρ.up-cased.ascii(ξ.byte),+ φ ↦ ξ.accum.concat(+ ξ.ascii-bte.lte(ξ.ρ.ascii-z).and(ξ.ascii-bte.gte(ξ.ρ.ascii-a)).if(+ ξ.ascii-bte.plus(ξ.ρ.ρ.up-cased.distance).as-i64.as-bytes.slice(+ 7, 1+ ),+ ξ.byte+ )+ )+ ⟧+ ⟧,+ at(i) ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.length).as-bytes,+ idx ↦ Φ̇.dataized(ξ.i).as-bytes,+ index ↦ Φ̇.dataized(+ 0.gt(ξ.idx).if(Φ̇.number(ξ.len).plus(ξ.idx), ξ.idx)+ ).as-bytes,+ φ ↦ 0.gt(ξ.index).or(Φ̇.number(ξ.index).gte(ξ.len)).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Given index %d is out of text bounds", Φ̇.tuple(Φ̇.tuple.empty, ξ.index)+ )+ ),+ ξ.ρ.slice(ξ.index, 1)+ )+ ⟧,+ replaced(target, replacement) ↦ ⟦+ self-as-bytes ↦ Φ̇.dataized(ξ.ρ.origin).as-bytes,+ reinit ↦ Φ̇.string(ξ.self-as-bytes),+ matched ↦ ξ.target.match(ξ.reinit).next,+ φ ↦ ξ.matched.exists.not.if(+ Φ̇.txt.text(ξ.reinit),+ Φ̇.txt.text(ξ.rec-replaced(ξ.matched, "", ξ.matched.start))+ ),+ rec-replaced(block, accum, start) ↦ ⟦+ φ ↦ ξ.block.exists.if(+ ξ.ρ.rec-replaced(+ ξ.block.next,+ ξ.accum.concat(+ ξ.ρ.reinit.slice(ξ.start, ξ.block.from.minus(ξ.start))+ ).concat(ξ.ρ.replacement),+ ξ.block.to+ ),+ Φ̇.string(+ ξ.accum.concat(+ ξ.ρ.reinit.slice(ξ.start, ξ.ρ.reinit.length.minus(ξ.start))+ )+ )+ )+ ⟧+ ⟧,+ as-number() ↦ ⟦+ scanned ↦ Φ̇.txt.sscanf("%f", ξ.ρ.origin),+ φ ↦ ξ.scanned.length.eq(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert text %s to number", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.origin)+ )+ ),+ ξ.scanned.tail+ )+ ⟧,+ split(delimiter) ↦ ⟦+ delim ↦ Φ̇.dataized(ξ.delimiter).as-bytes,+ self-as-bytes ↦ ξ.ρ.origin.as-bytes,+ len ↦ Φ̇.dataized(ξ.self-as-bytes.size).as-bytes,+ φ ↦ ξ.len.eq(0).if(Φ̇.tuple.empty, ξ.rec-split(Φ̇.tuple.empty, 0, 0)),+ rec-split(accum, start, current) ↦ ⟦+ φ ↦ ξ.ρ.len.eq(ξ.current).if(+ ξ.with-substr,+ ξ.ρ.delim.eq(ξ.ρ.self-as-bytes.slice(ξ.current, 1)).if(+ ξ.ρ.rec-split(+ ξ.with-substr, ξ.current.plus(1), ξ.current.plus(1)+ ),+ ξ.ρ.rec-split(ξ.accum, ξ.start, ξ.current.plus(1))+ )+ ),+ with-substr ↦ ξ.accum.with(+ Φ̇.string(+ ξ.ρ.self-as-bytes.slice(ξ.start, ξ.current.minus(ξ.start))+ )+ )+ ⟧+ ⟧,+ chained(others) ↦ ⟦+ φ ↦ 0.eq(ξ.others.length).if(+ ξ.ρ,+ ξ.ρ.ρ.text(+ Φ̇.string(+ Φ̇.structs.list(ξ.others).reduced(+ ξ.ρ.origin.as-bytes,+ ⟦+ φ ↦ ξ.accum.concat(ξ.str.as-bytes),+ accum ↦ ∅,+ str ↦ ∅+ ⟧+ )+ )+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.49.4/org/eolang/while.phi view
@@ -0,0 +1,22 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ while(condition, body) ↦ ⟦+ φ ↦ ξ.condition(0).as-bool.if(ξ.loop(0), Φ̇.false),+ loop(index) ↦ ⟦+ current ↦ ξ.ρ.body(ξ.index),+ φ ↦ ξ.ρ.condition(ξ.index.plus(1)).as-bool.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.current), ξ.ρ.loop(ξ.index.plus(1))+ )+ ),+ ξ.current+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/dependencies.md view
@@ -0,0 +1,1016 @@+# Dependencies++## [org/eolang/bytes.phi](./org/eolang/bytes.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ bytes(data) ↦ ⟦+ φ ↦ ξ.data,+ as-bytes ↦ ξ,+ as-bool ↦ ξ.eq(Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)),+ as-number() ↦ ⟦+ φ ↦ ξ.ρ.eq(Φ̇.nan.as-bytes).if(+ Φ̇.nan,+ ξ.ρ.eq(Φ̇.positive-infinity.as-bytes).if(+ Φ̇.positive-infinity,+ ξ.ρ.eq(Φ̇.negative-infinity.as-bytes).if(+ Φ̇.negative-infinity,+ ξ.ρ.size.eq(8).if(+ Φ̇.number(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 8 length bytes to a number, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ )+ )+ )+ ⟧,+ eq(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_eq+ ⟧,+ size() ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_size+ ⟧,+ slice(start, len) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_slice+ ⟧,+ as-i64() ↦ ⟦+ φ ↦ ξ.ρ.size.eq(8).if(+ Φ̇.i64(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 8 length bytes to i64, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ as-i32() ↦ ⟦+ φ ↦ ξ.ρ.size.eq(4).if(+ Φ̇.i32(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 4 length bytes to i32, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ as-i16() ↦ ⟦+ φ ↦ ξ.ρ.size.eq(2).if(+ Φ̇.i16(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 2 length bytes to i16, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ and(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_and+ ⟧,+ or(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_or+ ⟧,+ xor(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_xor+ ⟧,+ not() ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_not+ ⟧,+ left(x) ↦ ⟦+ φ ↦ ξ.ρ.right(ξ.x.neg)+ ⟧,+ right(x) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_right+ ⟧,+ concat(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_concat+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/dataized.phi](./org/eolang/dataized.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ dataized(target) ↦ ⟦+ φ ↦ Φ̇.try(+ ξ.target,+ ⟦+ ex ↦ ∅,+ φ ↦ Φ̇.error(ξ.ex)+ ⟧,+ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)+ )+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/error.phi](./org/eolang/error.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ error(message) ↦ ⟦+ λ ⤍ Lorg_eolang_error+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/false.phi](./org/eolang/false.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ false() ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ not ↦ Φ̇.true,+ if(left, right) ↦ ⟦+ φ ↦ ξ.right+ ⟧,+ and(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ or(x) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/i16.phi](./org/eolang/i16.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ i16(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i16 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64.as-i32.as-i16),+ as-i64 ↦ ξ.as-i32.as-i64,+ as-number ↦ ξ.as-i64.as-number,+ as-i32() ↦ ⟦+ λ ⤍ Lorg_eolang_i16_as_i32+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.lt(ξ.x.as-i16.as-i32)+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.lte(ξ.x.as-i16.as-i32)+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.gt(ξ.x.as-i16.as-i32)+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.gte(ξ.x.as-i16.as-i32)+ ⟧,+ times(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i32.times(ξ.x.as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+ ⟧,+ plus(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i32.plus(ξ.x.as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ.plus(ξ.x.as-i16.neg)+ ⟧,+ div(x) ↦ ⟦+ x-as-i16 ↦ ξ.x.as-i16,+ bts ↦ ξ.ρ.as-i32.div(ξ.x-as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧),+ φ ↦ ξ.x-as-i16.eq(ξ.zero).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't divide %d by i16 zero",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i32.as-i64.as-number)+ )+ ),+ ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))).if(+ ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right))+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/i32.phi](./org/eolang/i32.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ i32(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i32 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64.as-i32),+ as-number ↦ ξ.as-i64.as-number,+ as-i64() ↦ ⟦+ λ ⤍ Lorg_eolang_i32_as_i64+ ⟧,+ as-i16() ↦ ⟦+ left ↦ ξ.ρ.as-bytes.slice(0, 2).as-bytes,+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(+ Φ̇.i16(ξ.ρ.as-bytes.slice(2, 2)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert i32 number %d to i16 because it's out of i16 bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+ )+ )+ )+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.lt(ξ.x.as-i32.as-i64)+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.lte(ξ.x.as-i32.as-i64)+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.gt(ξ.x.as-i32.as-i64)+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.gte(ξ.x.as-i32.as-i64)+ ⟧,+ times(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i64.times(ξ.x.as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+ ⟧,+ plus(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i64.plus(ξ.x.as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ.plus(ξ.x.as-i32.neg)+ ⟧,+ div(x) ↦ ⟦+ x-as-i32 ↦ ξ.x.as-i32,+ bts ↦ ξ.ρ.as-i64.div(ξ.x-as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧),+ φ ↦ ξ.x-as-i32.eq(ξ.zero).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't divide %d by i32 zero", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+ )+ ),+ ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))).if(+ ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right))+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/i64.phi](./org/eolang/i64.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ i64(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i64 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64),+ as-i16 ↦ ξ.as-i32.as-i16,+ as-i32() ↦ ⟦+ left ↦ ξ.ρ.as-bytes.slice(0, 4).as-bytes,+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(+ Φ̇.i32(ξ.ρ.as-bytes.slice(4, 4)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert i64 number %d to i32 because it's out of i32 bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-number)+ )+ )+ )+ ⟧,+ as-number() ↦ ⟦+ λ ⤍ Lorg_eolang_i64_as_number+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ 0.as-i64.gt(ξ.ρ.minus(ξ.ρ.ρ.i64(ξ.value)))+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ gt(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_gt+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ times(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_times+ ⟧,+ plus(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_plus+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.plus(ξ.ρ.ρ.i64(ξ.value).neg)+ ⟧,+ div(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_div+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/dead-input.phi](./org/eolang/io/dead-input.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ dead-input() ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block,+ input-block() ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ -- ⟧),+ read(size) ↦ ⟦+ φ ↦ ξ.ρ.ρ.input-block+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/io/dead-output.phi](./org/eolang/io/dead-output.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ dead-output() ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block,+ output-block() ↦ ⟦+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ ξ.ρ.ρ.output-block+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/nan.phi](./org/eolang/nan.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ nan() ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F8-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ ξ,+ is-nan ↦ Φ̇.true,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert NaN to i64"),+ eq(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ times(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ plus(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ div(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/negative-infinity.phi](./org/eolang/negative-infinity.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ negative-infinity() ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ FF-F0-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ Φ̇.positive-infinity,+ is-nan ↦ Φ̇.false,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert negative infinity to i64"),+ eq(x) ↦ ⟦+ φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.not+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.eq(ξ.x)+ ⟧,+ times(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+ Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.positive-infinity)+ )+ ⟧,+ plus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.positive-infinity)).if(+ Φ̇.nan, ξ.ρ+ )+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+ ⟧,+ div(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+ Φ̇.nan,+ ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+ Φ̇.positive-infinity, ξ.ρ+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/number.phi](./org/eolang/number.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ number(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-number ↦ ξ,+ neg ↦ ξ.times(-1),+ as-i32 ↦ ξ.as-i64.as-i32,+ as-i16 ↦ ξ.as-i32.as-i16,+ is-nan ↦ ξ.as-bytes.eq(Φ̇.nan.as-bytes),+ as-i64() ↦ ⟦+ λ ⤍ Lorg_eolang_number_as_i64+ ⟧,+ eq(x) ↦ ⟦+ x-as-bytes ↦ Φ̇.dataized(ξ.x).as-bytes,+ self-as-bytes ↦ ξ.ρ.as-bytes,+ pos-zero-as-bytes ↦ 0.as-bytes,+ neg-zero-as-bytes ↦ -0.as-bytes,+ φ ↦ ξ.ρ.is-nan.or(Φ̇.number(ξ.x-as-bytes).is-nan).if(+ Φ̇.false,+ ξ.x-as-bytes.eq(ξ.pos-zero-as-bytes).or(+ ξ.x-as-bytes.eq(ξ.neg-zero-as-bytes)+ ).and(+ ξ.self-as-bytes.eq(ξ.pos-zero-as-bytes).or(+ ξ.self-as-bytes.eq(ξ.neg-zero-as-bytes)+ )+ ).or(ξ.self-as-bytes.eq(ξ.x-as-bytes))+ )+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ 0.gt(ξ.ρ.minus(Φ̇.number(ξ.value)))+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ gt(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_gt+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ times(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_times+ ⟧,+ plus(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_plus+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.plus(Φ̇.number(ξ.value).neg)+ ⟧,+ div(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_div+ ⟧,+ floor() ↦ ⟦+ λ ⤍ Lorg_eolang_number_floor+ ⟧,+ is-integer() ↦ ⟦+ φ ↦ ξ.ρ.is-finite.and(ξ.ρ.eq(ξ.ρ.floor))+ ⟧,+ is-finite() ↦ ⟦+ φ ↦ ξ.ρ.is-nan.not.and(+ ξ.ρ.eq(Φ̇.positive-infinity).or(ξ.ρ.eq(Φ̇.negative-infinity)).not+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/positive-infinity.phi](./org/eolang/positive-infinity.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ positive-infinity() ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F0-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ Φ̇.negative-infinity,+ is-nan ↦ Φ̇.false,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert positive infinity to i64"),+ eq(x) ↦ ⟦+ φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.eq(ξ.x)+ ⟧,+ gt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.not+ ⟧,+ times(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+ Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.negative-infinity)+ )+ ⟧,+ plus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.negative-infinity)).if(+ Φ̇.nan, ξ.ρ+ )+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+ ⟧,+ div(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+ Φ̇.nan,+ ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+ Φ̇.negative-infinity, ξ.ρ+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/seq.phi](./org/eolang/seq.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ seq(steps) ↦ ⟦+ φ ↦ ξ.steps.length.eq(0).if(Φ̇.true, ξ.loop(0)),+ max-len ↦ Φ̇.dataized(ξ.steps.length.minus(1)).as-bytes,+ loop(index) ↦ ⟦+ φ ↦ ξ.index.lt(ξ.ρ.max-len).and(+ Φ̇.dataized(ξ.ρ.steps.at(ξ.index)).as-bool.or(Φ̇.true)+ ).if(ξ.ρ.loop(ξ.index.plus(1)), ξ.ρ.steps.at(ξ.index))+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/string.phi](./org/eolang/string.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ string(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ length() ↦ ⟦+ size ↦ ξ.ρ.as-bytes.size,+ pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+ pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+ pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+ pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+ result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+ result-three ↦ ξ.pattern-two,+ result-four ↦ ξ.pattern-three,+ φ ↦ ξ.size.eq(0).if(0, ξ.rec-length(0, 0)),+ increase-length(index, char-size, len) ↦ ⟦+ φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+ )+ )+ ),+ ξ.ρ.rec-length(ξ.index.plus(ξ.char-size), ξ.len.plus(1))+ )+ ⟧,+ rec-length(index, accum) ↦ ⟦+ byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+ φ ↦ ξ.index.eq(ξ.ρ.size).if(+ ξ.accum,+ ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+ ξ.ρ.increase-length(ξ.index, 1, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+ ξ.ρ.increase-length(ξ.index, 2, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+ ξ.ρ.increase-length(ξ.index, 3, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+ ξ.ρ.increase-length(ξ.index, 4, ξ.accum),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Unknown byte format (%x), can't recognize character",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+ )+ )+ )+ )+ )+ )+ )+ ⟧+ ⟧,+ slice(start, len) ↦ ⟦+ start-bytes ↦ Φ̇.dataized(ξ.start).as-bytes,+ len-bytes ↦ Φ̇.dataized(ξ.len).as-bytes,+ num-start ↦ Φ̇.number(ξ.start-bytes),+ num-len ↦ Φ̇.number(ξ.len-bytes),+ size ↦ ξ.ρ.as-bytes.size,+ end ↦ ξ.num-start.plus(ξ.num-len),+ pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+ pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+ pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+ pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+ result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+ result-three ↦ ξ.pattern-two,+ result-four ↦ ξ.pattern-three,+ bts-start ↦ Φ̇.dataized(+ ξ.rec-index(+ 0,+ 0,+ ξ.num-start,+ Φ̇.txt.sprintf(+ "Start index (%d) is out of string bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+ )+ )+ ).as-bytes,+ bts-length ↦ ξ.rec-index(+ Φ̇.number(ξ.bts-start),+ 0,+ ξ.num-len,+ Φ̇.txt.sprintf(+ "Start index + length to slice (%d) is out of string bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start.plus(ξ.num-len))+ )+ ).minus(ξ.bts-start),+ φ ↦ ξ.num-start.lt(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Start index must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+ )+ ),+ ξ.num-len.lt(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Length to slice must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-len)+ )+ ),+ ξ.num-len.eq(0).if(+ "", Φ̇.string(ξ.ρ.as-bytes.slice(ξ.bts-start, ξ.bts-length))+ )+ )+ ),+ increase(index, char-size, accum, result, cause) ↦ ⟦+ φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+ )+ )+ ),+ ξ.ρ.rec-index(+ ξ.index.plus(ξ.char-size), ξ.accum.plus(1), ξ.result, ξ.cause+ )+ )+ ⟧,+ rec-index(index, accum, result, cause) ↦ ⟦+ byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+ φ ↦ ξ.accum.eq(ξ.result).if(+ ξ.index,+ ξ.index.eq(ξ.ρ.size).if(+ Φ̇.error(ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+ ξ.ρ.increase(ξ.index, 1, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+ ξ.ρ.increase(ξ.index, 2, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+ ξ.ρ.increase(ξ.index, 3, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+ ξ.ρ.increase(ξ.index, 4, ξ.accum, ξ.result, ξ.cause),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Unknown byte format (%x), can't recognize character",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+ )+ )+ )+ )+ )+ )+ )+ )+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/true.phi](./org/eolang/true.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ true() ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧),+ not ↦ Φ̇.false,+ if(left, right) ↦ ⟦+ φ ↦ ξ.left+ ⟧,+ and(x) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+ ⟧,+ or(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/try.phi](./org/eolang/try.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ try(main, catch, finally) ↦ ⟦+ λ ⤍ Lorg_eolang_try+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/tuple.phi](./org/eolang/tuple.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ tuple(head, tail) ↦ ⟦+ empty() ↦ ⟦+ length ↦ 0,+ at(i) ↦ ⟦+ φ ↦ Φ̇.error("Can't get an object from the empty tuple")+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.tuple(ξ.ρ, ξ.x)+ ⟧+ ⟧,+ length() ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.head.length.plus(1)).as-bytes,+ φ ↦ Φ̇.number(ξ.len)+ ⟧,+ at(i) ↦ ⟦+ len ↦ ξ.ρ.length,+ idx ↦ Φ̇.dataized(ξ.i).as-bytes,+ index ↦ Φ̇.dataized(0.gt(ξ.idx).if(ξ.len.plus(ξ.idx), ξ.idx)).as-bytes,+ φ ↦ 0.gt(ξ.index).or(ξ.len.lte(ξ.index)).if(+ Φ̇.error("Given index is out of tuple bounds"), ξ.at-fast(ξ.ρ, ξ.len)+ ),+ at-fast(tup, len) ↦ ⟦+ φ ↦ ξ.len.plus(-1).gt(ξ.ρ.index).if(+ ξ.ρ.at-fast(ξ.tup.head, ξ.len.plus(-1)), ξ.tup.tail+ )+ ⟧+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.tuple(ξ.ρ, ξ.x)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/txt/sprintf.phi](./org/eolang/txt/sprintf.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ txt() ↦ ⟦+ sprintf(format, args) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_sprintf+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```++## [org/eolang/while.phi](./org/eolang/while.phi)++```console+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ while(condition, body) ↦ ⟦+ φ ↦ ξ.condition(0).as-bool.if(ξ.loop(0), Φ̇.false),+ loop(index) ↦ ⟦+ current ↦ ξ.ρ.body(ξ.index),+ φ ↦ ξ.ρ.condition(ξ.index.plus(1)).as-bool.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.current), ξ.ρ.loop(ξ.index.plus(1))+ )+ ),+ ξ.current+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}+```+
+ data/0.50.0/org/eolang/bytes.phi view
@@ -0,0 +1,96 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ bytes(data) ↦ ⟦+ φ ↦ ξ.data,+ as-bytes ↦ ξ,+ as-bool ↦ ξ.eq(Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)),+ as-number() ↦ ⟦+ φ ↦ ξ.ρ.eq(Φ̇.nan.as-bytes).if(+ Φ̇.nan,+ ξ.ρ.eq(Φ̇.positive-infinity.as-bytes).if(+ Φ̇.positive-infinity,+ ξ.ρ.eq(Φ̇.negative-infinity.as-bytes).if(+ Φ̇.negative-infinity,+ ξ.ρ.size.eq(8).if(+ Φ̇.number(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 8 length bytes to a number, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ )+ )+ )+ ⟧,+ eq(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_eq+ ⟧,+ size() ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_size+ ⟧,+ slice(start, len) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_slice+ ⟧,+ as-i64() ↦ ⟦+ φ ↦ ξ.ρ.size.eq(8).if(+ Φ̇.i64(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 8 length bytes to i64, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ as-i32() ↦ ⟦+ φ ↦ ξ.ρ.size.eq(4).if(+ Φ̇.i32(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 4 length bytes to i32, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ as-i16() ↦ ⟦+ φ ↦ ξ.ρ.size.eq(2).if(+ Φ̇.i16(ξ.ρ),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert non 2 length bytes to i16, bytes are %x",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ)+ )+ )+ )+ ⟧,+ and(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_and+ ⟧,+ or(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_or+ ⟧,+ xor(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_xor+ ⟧,+ not() ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_not+ ⟧,+ left(x) ↦ ⟦+ φ ↦ ξ.ρ.right(ξ.x.neg)+ ⟧,+ right(x) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_right+ ⟧,+ concat(b) ↦ ⟦+ λ ⤍ Lorg_eolang_bytes_concat+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/dataized.phi view
@@ -0,0 +1,18 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ dataized(target) ↦ ⟦+ φ ↦ Φ̇.try(+ ξ.target,+ ⟦+ ex ↦ ∅,+ φ ↦ Φ̇.error(ξ.ex)+ ⟧,+ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧)+ )+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/error.phi view
@@ -0,0 +1,11 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ error(message) ↦ ⟦+ λ ⤍ Lorg_eolang_error+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/false.phi view
@@ -0,0 +1,21 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ false() ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ not ↦ Φ̇.true,+ if(left, right) ↦ ⟦+ φ ↦ ξ.right+ ⟧,+ and(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ or(x) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/i16.phi view
@@ -0,0 +1,67 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ i16(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i16 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64.as-i32.as-i16),+ as-i64 ↦ ξ.as-i32.as-i64,+ as-number ↦ ξ.as-i64.as-number,+ as-i32() ↦ ⟦+ λ ⤍ Lorg_eolang_i16_as_i32+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.lt(ξ.x.as-i16.as-i32)+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.lte(ξ.x.as-i16.as-i32)+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.gt(ξ.x.as-i16.as-i32)+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i32.gte(ξ.x.as-i16.as-i32)+ ⟧,+ times(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i32.times(ξ.x.as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+ ⟧,+ plus(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i32.plus(ξ.x.as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right)))+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ.plus(ξ.x.as-i16.neg)+ ⟧,+ div(x) ↦ ⟦+ x-as-i16 ↦ ξ.x.as-i16,+ bts ↦ ξ.ρ.as-i32.div(ξ.x-as-i16.as-i32).as-bytes,+ left ↦ ξ.bts.slice(0, 2),+ right ↦ ξ.bts.slice(2, 2),+ zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧),+ φ ↦ ξ.x-as-i16.eq(ξ.zero).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't divide %d by i16 zero",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i32.as-i64.as-number)+ )+ ),+ ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))).if(+ ξ.ρ.ρ.i16(ξ.right), ξ.ρ.ρ.i16(ξ.left).plus(ξ.ρ.ρ.i16(ξ.right))+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/i32.phi view
@@ -0,0 +1,79 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ i32(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i32 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64.as-i32),+ as-number ↦ ξ.as-i64.as-number,+ as-i64() ↦ ⟦+ λ ⤍ Lorg_eolang_i32_as_i64+ ⟧,+ as-i16() ↦ ⟦+ left ↦ ξ.ρ.as-bytes.slice(0, 2).as-bytes,+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF ⟧))+ ).if(+ Φ̇.i16(ξ.ρ.as-bytes.slice(2, 2)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert i32 number %d to i16 because it's out of i16 bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+ )+ )+ )+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.lt(ξ.x.as-i32.as-i64)+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.lte(ξ.x.as-i32.as-i64)+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.gt(ξ.x.as-i32.as-i64)+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.as-i64.gte(ξ.x.as-i32.as-i64)+ ⟧,+ times(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i64.times(ξ.x.as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+ ⟧,+ plus(x) ↦ ⟦+ bts ↦ ξ.ρ.as-i64.plus(ξ.x.as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right)))+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ.plus(ξ.x.as-i32.neg)+ ⟧,+ div(x) ↦ ⟦+ x-as-i32 ↦ ξ.x.as-i32,+ bts ↦ ξ.ρ.as-i64.div(ξ.x-as-i32.as-i64).as-bytes,+ left ↦ ξ.bts.slice(0, 4),+ right ↦ ξ.bts.slice(4, 4),+ zero ↦ Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧),+ φ ↦ ξ.x-as-i32.eq(ξ.zero).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't divide %d by i32 zero", Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-i64.as-number)+ )+ ),+ ξ.left.eq(ξ.zero).or(ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))).if(+ ξ.ρ.ρ.i32(ξ.right), ξ.ρ.ρ.i32(ξ.left).plus(ξ.ρ.ρ.i32(ξ.right))+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/i64.phi view
@@ -0,0 +1,59 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ i64(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-i64 ↦ ξ,+ neg ↦ ξ.times(-1.as-i64),+ as-i16 ↦ ξ.as-i32.as-i16,+ as-i32() ↦ ⟦+ left ↦ ξ.ρ.as-bytes.slice(0, 4).as-bytes,+ φ ↦ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ 00-00-00-00 ⟧)).or(+ ξ.left.eq(Φ̇.bytes(⟦ Δ ⤍ FF-FF-FF-FF ⟧))+ ).if(+ Φ̇.i32(ξ.ρ.as-bytes.slice(4, 4)),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Can't convert i64 number %d to i32 because it's out of i32 bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.ρ.as-number)+ )+ )+ )+ ⟧,+ as-number() ↦ ⟦+ λ ⤍ Lorg_eolang_i64_as_number+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ 0.as-i64.gt(ξ.ρ.minus(ξ.ρ.ρ.i64(ξ.value)))+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ gt(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_gt+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ times(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_times+ ⟧,+ plus(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_plus+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.plus(ξ.ρ.ρ.i64(ξ.value).neg)+ ⟧,+ div(x) ↦ ⟦+ λ ⤍ Lorg_eolang_i64_div+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/io/dead-input.phi view
@@ -0,0 +1,22 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ dead-input() ↦ ⟦+ read(size) ↦ ⟦+ φ ↦ ξ.input-block,+ input-block() ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ -- ⟧),+ read(size) ↦ ⟦+ φ ↦ ξ.ρ.ρ.input-block+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/io/dead-output.phi view
@@ -0,0 +1,22 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ io() ↦ ⟦+ dead-output() ↦ ⟦+ write(buffer) ↦ ⟦+ φ ↦ ξ.output-block,+ output-block() ↦ ⟦+ φ ↦ Φ̇.true,+ write(buffer) ↦ ⟦+ φ ↦ ξ.ρ.ρ.output-block+ ⟧+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/nan.phi view
@@ -0,0 +1,44 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ nan() ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F8-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ ξ,+ is-nan ↦ Φ̇.true,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert NaN to i64"),+ eq(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ times(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ plus(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ minus(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧,+ div(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/negative-infinity.phi view
@@ -0,0 +1,61 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ negative-infinity() ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ FF-F0-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ Φ̇.positive-infinity,+ is-nan ↦ Φ̇.false,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert negative infinity to i64"),+ eq(x) ↦ ⟦+ φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.not+ ⟧,+ gt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ gte(x) ↦ ⟦+ φ ↦ ξ.ρ.eq(ξ.x)+ ⟧,+ times(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+ Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.positive-infinity)+ )+ ⟧,+ plus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.positive-infinity)).if(+ Φ̇.nan, ξ.ρ+ )+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+ ⟧,+ div(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+ Φ̇.nan,+ ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+ Φ̇.positive-infinity, ξ.ρ+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/number.phi view
@@ -0,0 +1,74 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ number(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ as-number ↦ ξ,+ neg ↦ ξ.times(-1),+ as-i32 ↦ ξ.as-i64.as-i32,+ as-i16 ↦ ξ.as-i32.as-i16,+ is-nan ↦ ξ.as-bytes.eq(Φ̇.nan.as-bytes),+ as-i64() ↦ ⟦+ λ ⤍ Lorg_eolang_number_as_i64+ ⟧,+ eq(x) ↦ ⟦+ x-as-bytes ↦ Φ̇.dataized(ξ.x).as-bytes,+ self-as-bytes ↦ ξ.ρ.as-bytes,+ pos-zero-as-bytes ↦ 0.as-bytes,+ neg-zero-as-bytes ↦ -0.as-bytes,+ φ ↦ ξ.ρ.is-nan.or(Φ̇.number(ξ.x-as-bytes).is-nan).if(+ Φ̇.false,+ ξ.x-as-bytes.eq(ξ.pos-zero-as-bytes).or(+ ξ.x-as-bytes.eq(ξ.neg-zero-as-bytes)+ ).and(+ ξ.self-as-bytes.eq(ξ.pos-zero-as-bytes).or(+ ξ.self-as-bytes.eq(ξ.neg-zero-as-bytes)+ )+ ).or(ξ.self-as-bytes.eq(ξ.x-as-bytes))+ )+ ⟧,+ lt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ 0.gt(ξ.ρ.minus(Φ̇.number(ξ.value)))+ ⟧,+ lte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.lt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ gt(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_gt+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.gt(ξ.value).or(ξ.ρ.eq(ξ.value))+ ⟧,+ times(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_times+ ⟧,+ plus(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_plus+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ ξ.ρ.plus(Φ̇.number(ξ.value).neg)+ ⟧,+ div(x) ↦ ⟦+ λ ⤍ Lorg_eolang_number_div+ ⟧,+ floor() ↦ ⟦+ λ ⤍ Lorg_eolang_number_floor+ ⟧,+ is-integer() ↦ ⟦+ φ ↦ ξ.ρ.is-finite.and(ξ.ρ.eq(ξ.ρ.floor))+ ⟧,+ is-finite() ↦ ⟦+ φ ↦ ξ.ρ.is-nan.not.and(+ ξ.ρ.eq(Φ̇.positive-infinity).or(ξ.ρ.eq(Φ̇.negative-infinity)).not+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/positive-infinity.phi view
@@ -0,0 +1,61 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ positive-infinity() ↦ ⟦+ φ ↦ Φ̇.number(Φ̇.bytes(⟦ Δ ⤍ 7F-F0-00-00-00-00-00-00 ⟧)),+ floor ↦ ξ,+ neg ↦ Φ̇.negative-infinity,+ is-nan ↦ Φ̇.false,+ is-finite ↦ Φ̇.false,+ is-integer ↦ Φ̇.false,+ as-i64 ↦ Φ̇.error("Can't convert positive infinity to i64"),+ eq(x) ↦ ⟦+ φ ↦ ξ.ρ.as-bytes.eq(ξ.x.as-bytes)+ ⟧,+ lt(x) ↦ ⟦+ φ ↦ Φ̇.false+ ⟧,+ lte(x) ↦ ⟦+ φ ↦ ξ.ρ.eq(ξ.x)+ ⟧,+ gt(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.ρ.eq(ξ.value)).not+ ⟧,+ gte(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.not+ ⟧,+ times(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.eq(0)).if(+ Φ̇.nan, ξ.num.gt(0).if(ξ.ρ, Φ̇.negative-infinity)+ )+ ⟧,+ plus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(Φ̇.negative-infinity)).if(+ Φ̇.nan, ξ.ρ+ )+ ⟧,+ minus(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ φ ↦ Φ̇.number(ξ.value).is-nan.or(ξ.value.eq(ξ.ρ)).if(Φ̇.nan, ξ.ρ)+ ⟧,+ div(x) ↦ ⟦+ value ↦ Φ̇.dataized(ξ.x).as-bytes,+ num ↦ Φ̇.number(ξ.value),+ φ ↦ ξ.num.is-nan.or(ξ.num.is-finite.not).if(+ Φ̇.nan,+ ξ.value.eq(-0.as-bytes).or(0.gt(ξ.value)).if(+ Φ̇.negative-infinity, ξ.ρ+ )+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/seq.phi view
@@ -0,0 +1,17 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ seq(steps) ↦ ⟦+ φ ↦ ξ.steps.length.eq(0).if(Φ̇.true, ξ.loop(0)),+ max-len ↦ Φ̇.dataized(ξ.steps.length.minus(1)).as-bytes,+ loop(index) ↦ ⟦+ φ ↦ ξ.index.lt(ξ.ρ.max-len).and(+ Φ̇.dataized(ξ.ρ.steps.at(ξ.index)).as-bool.or(Φ̇.true)+ ).if(ξ.ρ.loop(ξ.index.plus(1)), ξ.ρ.steps.at(ξ.index))+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/string.phi view
@@ -0,0 +1,155 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ string(as-bytes) ↦ ⟦+ φ ↦ ξ.as-bytes,+ length() ↦ ⟦+ size ↦ ξ.ρ.as-bytes.size,+ pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+ pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+ pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+ pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+ result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+ result-three ↦ ξ.pattern-two,+ result-four ↦ ξ.pattern-three,+ φ ↦ ξ.size.eq(0).if(0, ξ.rec-length(0, 0)),+ increase-length(index, char-size, len) ↦ ⟦+ φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+ )+ )+ ),+ ξ.ρ.rec-length(ξ.index.plus(ξ.char-size), ξ.len.plus(1))+ )+ ⟧,+ rec-length(index, accum) ↦ ⟦+ byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+ φ ↦ ξ.index.eq(ξ.ρ.size).if(+ ξ.accum,+ ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+ ξ.ρ.increase-length(ξ.index, 1, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+ ξ.ρ.increase-length(ξ.index, 2, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+ ξ.ρ.increase-length(ξ.index, 3, ξ.accum),+ ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+ ξ.ρ.increase-length(ξ.index, 4, ξ.accum),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Unknown byte format (%x), can't recognize character",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+ )+ )+ )+ )+ )+ )+ )+ ⟧+ ⟧,+ slice(start, len) ↦ ⟦+ start-bytes ↦ Φ̇.dataized(ξ.start).as-bytes,+ len-bytes ↦ Φ̇.dataized(ξ.len).as-bytes,+ num-start ↦ Φ̇.number(ξ.start-bytes),+ num-len ↦ Φ̇.number(ξ.len-bytes),+ size ↦ ξ.ρ.as-bytes.size,+ end ↦ ξ.num-start.plus(ξ.num-len),+ pattern-one ↦ Φ̇.bytes(⟦ Δ ⤍ 80- ⟧),+ pattern-two ↦ Φ̇.bytes(⟦ Δ ⤍ E0- ⟧),+ pattern-three ↦ Φ̇.bytes(⟦ Δ ⤍ F0- ⟧),+ pattern-four ↦ Φ̇.bytes(⟦ Δ ⤍ F8- ⟧),+ result-one ↦ Φ̇.bytes(⟦ Δ ⤍ 00- ⟧),+ result-two ↦ Φ̇.bytes(⟦ Δ ⤍ C0- ⟧),+ result-three ↦ ξ.pattern-two,+ result-four ↦ ξ.pattern-three,+ bts-start ↦ Φ̇.dataized(+ ξ.rec-index(+ 0,+ 0,+ ξ.num-start,+ Φ̇.txt.sprintf(+ "Start index (%d) is out of string bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+ )+ )+ ).as-bytes,+ bts-length ↦ ξ.rec-index(+ Φ̇.number(ξ.bts-start),+ 0,+ ξ.num-len,+ Φ̇.txt.sprintf(+ "Start index + length to slice (%d) is out of string bounds",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start.plus(ξ.num-len))+ )+ ).minus(ξ.bts-start),+ φ ↦ ξ.num-start.lt(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Start index must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-start)+ )+ ),+ ξ.num-len.lt(0).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Length to slice must be >= 0, but was %d", Φ̇.tuple(Φ̇.tuple.empty, ξ.num-len)+ )+ ),+ ξ.num-len.eq(0).if(+ "", Φ̇.string(ξ.ρ.as-bytes.slice(ξ.bts-start, ξ.bts-length))+ )+ )+ ),+ increase(index, char-size, accum, result, cause) ↦ ⟦+ φ ↦ ξ.index.plus(ξ.char-size).gt(ξ.ρ.size).if(+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Expected %d byte character at %d index, but there are not enough bytes for it: %x",+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple(Φ̇.tuple.empty, ξ.char-size), ξ.index), ξ.ρ.ρ.as-bytes+ )+ )+ ),+ ξ.ρ.rec-index(+ ξ.index.plus(ξ.char-size), ξ.accum.plus(1), ξ.result, ξ.cause+ )+ )+ ⟧,+ rec-index(index, accum, result, cause) ↦ ⟦+ byte ↦ ξ.ρ.ρ.as-bytes.slice(ξ.index, 1),+ φ ↦ ξ.accum.eq(ξ.result).if(+ ξ.index,+ ξ.index.eq(ξ.ρ.size).if(+ Φ̇.error(ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-one).eq(ξ.ρ.result-one).if(+ ξ.ρ.increase(ξ.index, 1, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-two).eq(ξ.ρ.result-two).if(+ ξ.ρ.increase(ξ.index, 2, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-three).eq(ξ.ρ.result-three).if(+ ξ.ρ.increase(ξ.index, 3, ξ.accum, ξ.result, ξ.cause),+ ξ.byte.and(ξ.ρ.pattern-four).eq(ξ.ρ.result-four).if(+ ξ.ρ.increase(ξ.index, 4, ξ.accum, ξ.result, ξ.cause),+ Φ̇.error(+ Φ̇.txt.sprintf(+ "Unknown byte format (%x), can't recognize character",+ Φ̇.tuple(Φ̇.tuple.empty, ξ.byte)+ )+ )+ )+ )+ )+ )+ )+ )+ ⟧+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/true.phi view
@@ -0,0 +1,21 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ true() ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧),+ not ↦ Φ̇.false,+ if(left, right) ↦ ⟦+ φ ↦ ξ.left+ ⟧,+ and(x) ↦ ⟦+ φ ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧).eq(ξ.x)+ ⟧,+ or(x) ↦ ⟦+ φ ↦ ξ.ρ+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/try.phi view
@@ -0,0 +1,11 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ try(main, catch, finally) ↦ ⟦+ λ ⤍ Lorg_eolang_try+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/tuple.phi view
@@ -0,0 +1,39 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ tuple(head, tail) ↦ ⟦+ empty() ↦ ⟦+ length ↦ 0,+ at(i) ↦ ⟦+ φ ↦ Φ̇.error("Can't get an object from the empty tuple")+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.ρ.tuple(ξ.ρ, ξ.x)+ ⟧+ ⟧,+ length() ↦ ⟦+ len ↦ Φ̇.dataized(ξ.ρ.head.length.plus(1)).as-bytes,+ φ ↦ Φ̇.number(ξ.len)+ ⟧,+ at(i) ↦ ⟦+ len ↦ ξ.ρ.length,+ idx ↦ Φ̇.dataized(ξ.i).as-bytes,+ index ↦ Φ̇.dataized(0.gt(ξ.idx).if(ξ.len.plus(ξ.idx), ξ.idx)).as-bytes,+ φ ↦ 0.gt(ξ.index).or(ξ.len.lte(ξ.index)).if(+ Φ̇.error("Given index is out of tuple bounds"), ξ.at-fast(ξ.ρ, ξ.len)+ ),+ at-fast(tup, len) ↦ ⟦+ φ ↦ ξ.len.plus(-1).gt(ξ.ρ.index).if(+ ξ.ρ.at-fast(ξ.tup.head, ξ.len.plus(-1)), ξ.tup.tail+ )+ ⟧+ ⟧,+ with(x) ↦ ⟦+ φ ↦ ξ.ρ.ρ.tuple(ξ.ρ, ξ.x)+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/txt/sprintf.phi view
@@ -0,0 +1,14 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ txt() ↦ ⟦+ sprintf(format, args) ↦ ⟦+ λ ⤍ Lorg_eolang_txt_sprintf+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
+ data/0.50.0/org/eolang/while.phi view
@@ -0,0 +1,22 @@+{⟦+ org() ↦ ⟦+ eolang() ↦ ⟦+ while(condition, body) ↦ ⟦+ φ ↦ ξ.condition(0).as-bool.if(ξ.loop(0), Φ̇.false),+ loop(index) ↦ ⟦+ current ↦ ξ.ρ.body(ξ.index),+ φ ↦ ξ.ρ.condition(ξ.index.plus(1)).as-bool.if(+ Φ̇.seq(+ Φ̇.tuple(+ Φ̇.tuple(Φ̇.tuple.empty, ξ.current), ξ.ρ.loop(ξ.index.plus(1))+ )+ ),+ ξ.current+ )+ ⟧+ ⟧,+ λ ⤍ Package+ ⟧,+ λ ⤍ Package+ ⟧+⟧}
eo-phi-normalizer.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack name: eo-phi-normalizer-version: 2.3.0+version: 3.0.0 synopsis: Command line normalizer of 𝜑-calculus expressions. description: Please see the README on GitHub at <https://github.com/objectionary/eo-phi-normalizer#readme> homepage: https://github.com/objectionary/eo-phi-normalizer#readme@@ -189,6 +189,207 @@ data/0.41.2/org/eolang/txt/sscanf.phi data/0.41.2/org/eolang/txt/text.phi data/0.41.2/org/eolang/while.phi+ data/0.49.1/dependencies.md+ data/0.49.1/org/eolang/as-phi.phi+ data/0.49.1/org/eolang/bytes.phi+ data/0.49.1/org/eolang/cti.phi+ data/0.49.1/org/eolang/dataized.phi+ data/0.49.1/org/eolang/error.phi+ data/0.49.1/org/eolang/false.phi+ data/0.49.1/org/eolang/fs/dir.phi+ data/0.49.1/org/eolang/fs/file.phi+ data/0.49.1/org/eolang/fs/path.phi+ data/0.49.1/org/eolang/fs/tmpdir.phi+ data/0.49.1/org/eolang/go.phi+ data/0.49.1/org/eolang/i16.phi+ data/0.49.1/org/eolang/i32.phi+ data/0.49.1/org/eolang/i64.phi+ data/0.49.1/org/eolang/io/bytes-as-input.phi+ data/0.49.1/org/eolang/io/console.phi+ data/0.49.1/org/eolang/io/dead-input.phi+ data/0.49.1/org/eolang/io/dead-output.phi+ data/0.49.1/org/eolang/io/input-length.phi+ data/0.49.1/org/eolang/io/malloc-as-output.phi+ data/0.49.1/org/eolang/io/stdin.phi+ data/0.49.1/org/eolang/io/stdout.phi+ data/0.49.1/org/eolang/io/tee-input.phi+ data/0.49.1/org/eolang/malloc.phi+ data/0.49.1/org/eolang/math/angle.phi+ data/0.49.1/org/eolang/math/e.phi+ data/0.49.1/org/eolang/math/integral.phi+ data/0.49.1/org/eolang/math/numbers.phi+ data/0.49.1/org/eolang/math/pi.phi+ data/0.49.1/org/eolang/math/random.phi+ data/0.49.1/org/eolang/math/real.phi+ data/0.49.1/org/eolang/nan.phi+ data/0.49.1/org/eolang/negative-infinity.phi+ data/0.49.1/org/eolang/net/socket.phi+ data/0.49.1/org/eolang/number.phi+ data/0.49.1/org/eolang/positive-infinity.phi+ data/0.49.1/org/eolang/rust.phi+ data/0.49.1/org/eolang/seq.phi+ data/0.49.1/org/eolang/string.phi+ data/0.49.1/org/eolang/structs/bytes-as-array.phi+ data/0.49.1/org/eolang/structs/hash-code-of.phi+ data/0.49.1/org/eolang/structs/list.phi+ data/0.49.1/org/eolang/structs/map.phi+ data/0.49.1/org/eolang/structs/range-of-ints.phi+ data/0.49.1/org/eolang/structs/range.phi+ data/0.49.1/org/eolang/structs/set.phi+ data/0.49.1/org/eolang/switch.phi+ data/0.49.1/org/eolang/sys/getenv.phi+ data/0.49.1/org/eolang/sys/line-separator.phi+ data/0.49.1/org/eolang/sys/os.phi+ data/0.49.1/org/eolang/sys/posix.phi+ data/0.49.1/org/eolang/sys/win32.phi+ data/0.49.1/org/eolang/true.phi+ data/0.49.1/org/eolang/try.phi+ data/0.49.1/org/eolang/tuple.phi+ data/0.49.1/org/eolang/txt/regex.phi+ data/0.49.1/org/eolang/txt/sprintf.phi+ data/0.49.1/org/eolang/txt/sscanf.phi+ data/0.49.1/org/eolang/txt/text.phi+ data/0.49.1/org/eolang/while.phi+ data/0.49.3/dependencies.md+ data/0.49.3/org/eolang/as-phi.phi+ data/0.49.3/org/eolang/bytes.phi+ data/0.49.3/org/eolang/cti.phi+ data/0.49.3/org/eolang/dataized.phi+ data/0.49.3/org/eolang/error.phi+ data/0.49.3/org/eolang/false.phi+ data/0.49.3/org/eolang/fs/dir.phi+ data/0.49.3/org/eolang/fs/file.phi+ data/0.49.3/org/eolang/fs/path.phi+ data/0.49.3/org/eolang/fs/tmpdir.phi+ data/0.49.3/org/eolang/go.phi+ data/0.49.3/org/eolang/i16.phi+ data/0.49.3/org/eolang/i32.phi+ data/0.49.3/org/eolang/i64.phi+ data/0.49.3/org/eolang/io/bytes-as-input.phi+ data/0.49.3/org/eolang/io/console.phi+ data/0.49.3/org/eolang/io/dead-input.phi+ data/0.49.3/org/eolang/io/dead-output.phi+ data/0.49.3/org/eolang/io/input-length.phi+ data/0.49.3/org/eolang/io/malloc-as-output.phi+ data/0.49.3/org/eolang/io/stdin.phi+ data/0.49.3/org/eolang/io/stdout.phi+ data/0.49.3/org/eolang/io/tee-input.phi+ data/0.49.3/org/eolang/malloc.phi+ data/0.49.3/org/eolang/math/angle.phi+ data/0.49.3/org/eolang/math/e.phi+ data/0.49.3/org/eolang/math/integral.phi+ data/0.49.3/org/eolang/math/numbers.phi+ data/0.49.3/org/eolang/math/pi.phi+ data/0.49.3/org/eolang/math/random.phi+ data/0.49.3/org/eolang/math/real.phi+ data/0.49.3/org/eolang/nan.phi+ data/0.49.3/org/eolang/negative-infinity.phi+ data/0.49.3/org/eolang/net/socket.phi+ data/0.49.3/org/eolang/number.phi+ data/0.49.3/org/eolang/positive-infinity.phi+ data/0.49.3/org/eolang/seq.phi+ data/0.49.3/org/eolang/string.phi+ data/0.49.3/org/eolang/structs/bytes-as-array.phi+ data/0.49.3/org/eolang/structs/hash-code-of.phi+ data/0.49.3/org/eolang/structs/list.phi+ data/0.49.3/org/eolang/structs/map.phi+ data/0.49.3/org/eolang/structs/range-of-ints.phi+ data/0.49.3/org/eolang/structs/range.phi+ data/0.49.3/org/eolang/structs/set.phi+ data/0.49.3/org/eolang/switch.phi+ data/0.49.3/org/eolang/sys/getenv.phi+ data/0.49.3/org/eolang/sys/line-separator.phi+ data/0.49.3/org/eolang/sys/os.phi+ data/0.49.3/org/eolang/sys/posix.phi+ data/0.49.3/org/eolang/sys/win32.phi+ data/0.49.3/org/eolang/true.phi+ data/0.49.3/org/eolang/try.phi+ data/0.49.3/org/eolang/tuple.phi+ data/0.49.3/org/eolang/txt/regex.phi+ data/0.49.3/org/eolang/txt/sprintf.phi+ data/0.49.3/org/eolang/txt/sscanf.phi+ data/0.49.3/org/eolang/txt/text.phi+ data/0.49.3/org/eolang/while.phi+ data/0.49.4/dependencies.md+ data/0.49.4/org/eolang/bytes.phi+ data/0.49.4/org/eolang/cti.phi+ data/0.49.4/org/eolang/dataized.phi+ data/0.49.4/org/eolang/error.phi+ data/0.49.4/org/eolang/false.phi+ data/0.49.4/org/eolang/fs/dir.phi+ data/0.49.4/org/eolang/fs/file.phi+ data/0.49.4/org/eolang/fs/path.phi+ data/0.49.4/org/eolang/fs/tmpdir.phi+ data/0.49.4/org/eolang/go.phi+ data/0.49.4/org/eolang/i16.phi+ data/0.49.4/org/eolang/i32.phi+ data/0.49.4/org/eolang/i64.phi+ data/0.49.4/org/eolang/io/bytes-as-input.phi+ data/0.49.4/org/eolang/io/console.phi+ data/0.49.4/org/eolang/io/dead-input.phi+ data/0.49.4/org/eolang/io/dead-output.phi+ data/0.49.4/org/eolang/io/input-length.phi+ data/0.49.4/org/eolang/io/malloc-as-output.phi+ data/0.49.4/org/eolang/io/stdin.phi+ data/0.49.4/org/eolang/io/stdout.phi+ data/0.49.4/org/eolang/io/tee-input.phi+ data/0.49.4/org/eolang/malloc.phi+ data/0.49.4/org/eolang/math/angle.phi+ data/0.49.4/org/eolang/math/e.phi+ data/0.49.4/org/eolang/math/integral.phi+ data/0.49.4/org/eolang/math/numbers.phi+ data/0.49.4/org/eolang/math/pi.phi+ data/0.49.4/org/eolang/math/random.phi+ data/0.49.4/org/eolang/math/real.phi+ data/0.49.4/org/eolang/nan.phi+ data/0.49.4/org/eolang/negative-infinity.phi+ data/0.49.4/org/eolang/net/socket.phi+ data/0.49.4/org/eolang/number.phi+ data/0.49.4/org/eolang/positive-infinity.phi+ data/0.49.4/org/eolang/seq.phi+ data/0.49.4/org/eolang/string.phi+ data/0.49.4/org/eolang/structs/bytes-as-array.phi+ data/0.49.4/org/eolang/structs/hash-code-of.phi+ data/0.49.4/org/eolang/structs/list.phi+ data/0.49.4/org/eolang/structs/map.phi+ data/0.49.4/org/eolang/structs/range-of-ints.phi+ data/0.49.4/org/eolang/structs/range.phi+ data/0.49.4/org/eolang/structs/set.phi+ data/0.49.4/org/eolang/switch.phi+ data/0.49.4/org/eolang/sys/getenv.phi+ data/0.49.4/org/eolang/sys/line-separator.phi+ data/0.49.4/org/eolang/sys/os.phi+ data/0.49.4/org/eolang/sys/posix.phi+ data/0.49.4/org/eolang/sys/win32.phi+ data/0.49.4/org/eolang/true.phi+ data/0.49.4/org/eolang/try.phi+ data/0.49.4/org/eolang/tuple.phi+ data/0.49.4/org/eolang/txt/regex.phi+ data/0.49.4/org/eolang/txt/sprintf.phi+ data/0.49.4/org/eolang/txt/sscanf.phi+ data/0.49.4/org/eolang/txt/text.phi+ data/0.49.4/org/eolang/while.phi+ data/0.50.0/dependencies.md+ data/0.50.0/org/eolang/bytes.phi+ data/0.50.0/org/eolang/dataized.phi+ data/0.50.0/org/eolang/error.phi+ data/0.50.0/org/eolang/false.phi+ data/0.50.0/org/eolang/i16.phi+ data/0.50.0/org/eolang/i32.phi+ data/0.50.0/org/eolang/i64.phi+ data/0.50.0/org/eolang/io/dead-input.phi+ data/0.50.0/org/eolang/io/dead-output.phi+ data/0.50.0/org/eolang/nan.phi+ data/0.50.0/org/eolang/negative-infinity.phi+ data/0.50.0/org/eolang/number.phi+ data/0.50.0/org/eolang/positive-infinity.phi+ data/0.50.0/org/eolang/seq.phi+ data/0.50.0/org/eolang/string.phi+ data/0.50.0/org/eolang/true.phi+ data/0.50.0/org/eolang/try.phi+ data/0.50.0/org/eolang/tuple.phi+ data/0.50.0/org/eolang/txt/sprintf.phi+ data/0.50.0/org/eolang/while.phi test/eo/phi/rules/new.yaml test/eo/phi/rules/streams.yaml test/eo/phi/rules/yegor.yaml@@ -223,6 +424,8 @@ Language.EO.Phi.Pipeline.Dataize.PrintConfigs Language.EO.Phi.Pipeline.EOTests.Data Language.EO.Phi.Pipeline.EOTests.PrepareTests+ Language.EO.Phi.Preprocess+ Language.EO.Phi.Pretty Language.EO.Phi.Report.Data Language.EO.Phi.Report.Html Language.EO.Phi.Rules.Common@@ -234,7 +437,6 @@ Language.EO.Phi.Syntax.Abs Language.EO.Phi.Syntax.Lex Language.EO.Phi.Syntax.Par- Language.EO.Phi.Syntax.Print Language.EO.Phi.TH Language.EO.Phi.ToLaTeX Language.EO.Test.Yaml@@ -270,8 +472,12 @@ , hspec , hspec-core , lens+ , megaparsec , mtl+ , parser-combinators+ , prettyprinter , regex-compat+ , replace-megaparsec , scientific , template-haskell , text@@ -316,9 +522,13 @@ , hspec , hspec-core , lens+ , megaparsec , mtl , optparse-applicative+ , parser-combinators+ , prettyprinter , regex-compat+ , replace-megaparsec , scientific , template-haskell , text@@ -345,6 +555,8 @@ Language.EO.Phi.Pipeline.Dataize.PrintConfigs Language.EO.Phi.Pipeline.EOTests.Data Language.EO.Phi.Pipeline.EOTests.PrepareTests+ Language.EO.Phi.Preprocess+ Language.EO.Phi.Pretty Language.EO.Phi.Report.Data Language.EO.Phi.Report.Html Language.EO.Phi.Rules.Common@@ -356,7 +568,6 @@ Language.EO.Phi.Syntax.Abs Language.EO.Phi.Syntax.Lex Language.EO.Phi.Syntax.Par- Language.EO.Phi.Syntax.Print Language.EO.Phi.TH Language.EO.Phi.ToLaTeX Language.EO.Test.Yaml@@ -394,8 +605,12 @@ , hspec , hspec-core , lens+ , megaparsec , mtl+ , parser-combinators+ , prettyprinter , regex-compat+ , replace-megaparsec , scientific , template-haskell , text@@ -449,8 +664,12 @@ , hspec-core , hspec-discover , lens+ , megaparsec , mtl+ , parser-combinators+ , prettyprinter , regex-compat+ , replace-megaparsec , scientific , template-haskell , text
grammar/EO/Phi/Syntax.cf view
@@ -39,6 +39,9 @@ token ObjectMetaId {"!b"} (char - [" \r\n\t,.|':;!-?][}{)(⟧⟦"])* ; token BytesMetaId {"!y"} (char - [" \r\n\t,.|':;!-?][}{)(⟧⟦"])* ; token MetaFunctionName {"@"} (char - [" \r\n\t,.|':;!-?][}{)(⟧⟦"])* ;+token IntegerSigned ('-'? digit+) ;+token DoubleSigned ('-'? digit+ '.' digit+ ('e' '-'? digit+)?) ;+token StringRaw '"' ((char - ["\"\\"]) | ('\\' ["\"\\tnrfu"]))* '"'; Program. Program ::= "{" "⟦" [Binding] "⟧" "}" ; @@ -48,22 +51,28 @@ MetaIdObject. MetaId ::= ObjectMetaId ; MetaIdBytes. MetaId ::= BytesMetaId ; -Formation. Object ::= "⟦" [Binding] "⟧" ;-Application. Object ::= Object "(" [Binding] ")" ;-ObjectDispatch. Object ::= Object "." Attribute ;-GlobalObject. Object ::= "Φ";-ThisObject. Object ::= "ξ";-Termination. Object ::= "⊥" ;-ConstString. Object ::= String ;-ConstInt. Object ::= Integer ;-ConstFloat. Object ::= Double ;-MetaSubstThis. Object ::= Object "[" "ξ" "↦" Object "]" ;-MetaContextualize. Object ::= "⌈" Object "," Object "⌉" ;-MetaObject. Object ::= ObjectMetaId ;-MetaTailContext. Object ::= Object "*" TailMetaId ;-MetaFunction. Object ::= MetaFunctionName "(" Object ")" ;+Formation. Object ::= "⟦" [Binding] "⟧" ;+Application. Object ::= Object "(" [Binding] ")" ;+ObjectDispatch. Object ::= Object "." Attribute ;+GlobalObject. Object ::= "Φ";+GlobalObjectPhiOrg. Object ::= "Φ̇";+ThisObject. Object ::= "ξ";+Termination. Object ::= "⊥" ;+ConstStringRaw. Object ::= StringRaw ;+ConstIntRaw. Object ::= IntegerSigned ;+ConstFloatRaw. Object ::= DoubleSigned ;+MetaSubstThis. Object ::= Object "[" "ξ" "↦" Object "]" ;+MetaContextualize. Object ::= "⌈" Object "," Object "⌉" ;+MetaObject. Object ::= ObjectMetaId ;+MetaTailContext. Object ::= Object "*" TailMetaId ;+MetaFunction. Object ::= MetaFunctionName "(" Object ")" ; +internal ConstFloat. Object ::= Double;+internal ConstInt. Object ::= Integer;+internal ConstString. Object ::= String;+ AlphaBinding. Binding ::= Attribute "↦" Object ;+AlphaBindingSugar. Binding ::= Object ; EmptyBinding. Binding ::= Attribute "↦" "∅" ; DeltaBinding. Binding ::= "Δ" "⤍" Bytes ; DeltaEmptyBinding. Binding ::= "Δ" "⤍" "∅" ;@@ -73,10 +82,13 @@ separator Binding "," ; Phi. Attribute ::= "φ" ; -- decoratee object+PhiSugar. Attribute ::= "~" "φ" "(" [LabelId] ")"; Rho. Attribute ::= "ρ" ; -- parent object Label. Attribute ::= LabelId ; Alpha. Attribute ::= AlphaIndex ; MetaAttr. Attribute ::= LabelMetaId ;+AttrSugar. Attribute ::= "~" LabelId "(" [LabelId] ")";+separator LabelId ","; -- Additional symbols used as attributes in the rules ObjectAttr. RuleAttribute ::= Attribute ;
src/Language/EO/Phi.hs view
@@ -44,7 +44,7 @@ -- | Parse an 'Object' or return a parsing error. parseObject :: String -> Either String Phi.Object-parseObject = Phi.pObject . Phi.myLexer+parseObject = parseWith Phi.pObject -- | Parse a 'Program' from a 'String'. -- May throw an 'error` if input has a syntactical or lexical errors.
src/Language/EO/Phi/Dataize.hs view
@@ -47,7 +47,9 @@ desugarAsBytes (Left obj) = case obj of ConstString s -> Right (stringToBytes s) ConstInt n -> Right (intToBytes (fromInteger n))+ f@ConstIntRaw{} -> errorExpectedDesugaredObject f ConstFloat x -> Right (floatToBytes x)+ f@ConstFloatRaw{} -> errorExpectedDesugaredObject f _ -> Left obj desugarAsBytes (Right bytes) = Right bytes @@ -65,7 +67,7 @@ -- | Perform one step of dataization to the object (if possible). dataizeStep :: Context -> Object -> (Context, Either Object Bytes)-dataizeStep ctx obj = snd $ head $ runChain (dataizeStepChain obj) ctx -- FIXME: head is bad+dataizeStep ctx obj = snd $ head $ runChain (dataizeStepChain DataizeAll obj) ctx -- FIXME: head is bad dataizeStep' :: Context -> Object -> Either Object Bytes dataizeStep' ctx obj = snd (dataizeStep ctx obj)@@ -75,12 +77,15 @@ dataizeRecursively ctx obj = snd $ dataizeRecursivelyChain' ctx obj dataizeStepChain' :: Context -> Object -> ([LogEntry (Either Object Bytes)], Either Object Bytes)-dataizeStepChain' ctx obj = snd <$> head (runChain (dataizeStepChain obj) ctx) -- FIXME: head is bad+dataizeStepChain' ctx obj = snd <$> head (runChain (dataizeStepChain DataizeAll obj) ctx) -- FIXME: head is bad +data DataizeStepMode = DataizeOnlyLambda | DataizeAll+ -- | Perform one step of dataization to the object (if possible), reporting back individiual steps.-dataizeStepChain :: Object -> DataizeChain (Context, Either Object Bytes)-dataizeStepChain obj@(Formation bs)- | Just (DeltaBinding bytes) <- listToMaybe [b | b@(DeltaBinding _) <- bs]+dataizeStepChain :: DataizeStepMode -> Object -> DataizeChain (Context, Either Object Bytes)+dataizeStepChain mode obj@(Formation bs)+ | DataizeAll <- mode+ , Just (DeltaBinding bytes) <- listToMaybe [b | b@(DeltaBinding _) <- bs] , not hasEmpty = do logStep "Found bytes" (AsBytes bytes) ctx <- getContext@@ -102,7 +107,8 @@ Just ((obj', _state), _alts) -> do ctx <- getContext return (ctx, AsObject obj')- | Just (AlphaBinding Phi decoratee) <- listToMaybe [b | b@(AlphaBinding Phi _) <- bs]+ | DataizeAll <- mode+ , Just (AlphaBinding Phi decoratee) <- listToMaybe [b | b@(AlphaBinding Phi _) <- bs] , not hasEmpty = do let decoratee' = substThis obj decoratee logStep "Dataizing inside phi" (AsObject decoratee')@@ -119,22 +125,22 @@ isEmpty _ = False hasEmpty = any isEmpty bs -- IMPORTANT: dataize the object being copied IF normalization is stuck on it!-dataizeStepChain (Application obj bindings) = incLogLevel $ do+dataizeStepChain _mode (Application obj bindings) = incLogLevel $ do logStep "Dataizing inside application" (AsObject obj) modifyContext (\c -> c{dataizePackage = False}) $ do- (ctx, obj') <- dataizeStepChain obj+ (ctx, obj') <- dataizeStepChain DataizeOnlyLambda obj case obj' of Left obj'' -> return (ctx, AsObject (obj'' `Application` bindings)) Right bytes -> return (ctx, AsObject (Formation [DeltaBinding bytes] `Application` bindings)) -- IMPORTANT: dataize the object being dispatched IF normalization is stuck on it!-dataizeStepChain (ObjectDispatch obj attr) = incLogLevel $ do+dataizeStepChain _mode (ObjectDispatch obj attr) = incLogLevel $ do logStep "Dataizing inside dispatch" (AsObject obj) modifyContext (\c -> c{dataizePackage = False}) $ do- (ctx, obj') <- dataizeStepChain obj+ (ctx, obj') <- dataizeStepChain DataizeOnlyLambda obj case obj' of Left obj'' -> return (ctx, AsObject (obj'' `ObjectDispatch` attr)) Right bytes -> return (ctx, AsObject (Formation [DeltaBinding bytes] `ObjectDispatch` attr))-dataizeStepChain obj = do+dataizeStepChain _mode obj = do logStep "Nothing to dataize" (AsObject obj) ctx <- getContext return (ctx, AsObject obj)@@ -166,7 +172,7 @@ Just (normObj, _alternatives) | normObj == obj && normalizeRequired -> return (AsObject obj) | otherwise -> do- (ctx', step) <- dataizeStepChain normObj+ (ctx', step) <- dataizeStepChain DataizeAll normObj case step of (AsObject stillObj) | stillObj == normObj && ctx `sameContext` ctx' -> do@@ -250,6 +256,49 @@ fail (name <> ": Couldn't find bytes in RHS: " <> printTree (hideRho r)) return (result, ()) +evaluatePartialBinaryDataizationFunChain ::+ -- | How to convert the result back to bytes+ (res -> Bytes) ->+ -- | How to interpret the bytes in terms of the given data type+ (Bytes -> a) ->+ -- | How to wrap the bytes in an object+ (Bytes -> Object) ->+ -- | Extract the 1st argument to be dataized+ (Object -> Object) ->+ -- | Extract the 2nd argument to be dataized+ (Object -> Object) ->+ -- | A binary function on the argument+ (a -> a -> Maybe res) ->+ -- | Name of the atom.+ String ->+ Object ->+ EvaluationState ->+ DataizeChain (Object, EvaluationState)+evaluatePartialBinaryDataizationFunChain resultToBytes bytesToParam wrapBytes arg1 arg2 func name obj _state = do+ let lhsArg = arg1 obj+ let rhsArg = arg2 obj+ lhs <- incLogLevel $ do+ logStep "Evaluating LHS" (AsObject lhsArg)+ dataizeRecursivelyChain True lhsArg+ rhs <- incLogLevel $ do+ logStep "Evaluating RHS" (AsObject rhsArg)+ dataizeRecursivelyChain True rhsArg+ result <- case (lhs, rhs) of+ (AsBytes l, AsBytes r) -> do+ case resultToBytes <$> bytesToParam l `func` bytesToParam r of+ Nothing -> fail (name <> ": throws an error")+ Just bytes -> do+ let resultObj = wrapBytes bytes+ logStep "Evaluated function" (AsObject resultObj)+ return resultObj+ (AsObject _l, AsObject _r) ->+ fail (name <> ": Couldn't find bytes in both LHS and RHS")+ (AsObject l, _) -> do+ fail (name <> ": Couldn't find bytes in LHS: " <> printTree (hideRho l))+ (_, AsObject r) -> do+ fail (name <> ": Couldn't find bytes in RHS: " <> printTree (hideRho r))+ return (result, ())+ -- | Unary functions operate on the given object without any additional parameters evaluateUnaryDataizationFunChain :: -- | How to convert the result back to bytes@@ -272,6 +321,9 @@ -- This should maybe get converted to a type class and some instances? evaluateIntIntIntFunChain :: (Int -> Int -> Int) -> String -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState) evaluateIntIntIntFunChain = evaluateBinaryDataizationFunChain intToBytes bytesToInt wrapBytesInConstInt extractRho (extractLabel "x")++evaluateIntIntMaybeIntFunChain :: (Int -> Int -> Maybe Int) -> String -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState)+evaluateIntIntMaybeIntFunChain = evaluatePartialBinaryDataizationFunChain intToBytes bytesToInt wrapBytesInConstInt extractRho (extractLabel "x") evaluateIntIntBoolFunChain :: (Int -> Int -> Bool) -> String -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState) evaluateIntIntBoolFunChain = evaluateBinaryDataizationFunChain boolToBytes bytesToInt wrapBytesAsBool extractRho (extractLabel "x")
src/Language/EO/Phi/Dataize/Atoms.hs view
@@ -34,11 +34,17 @@ knownAtomsList :: [(String, String -> Object -> EvaluationState -> DataizeChain (Object, EvaluationState))] knownAtomsList =+ -- [ ("Lorg_eolang_as_phi", _) [ ("Lorg_eolang_int_gt", evaluateIntIntBoolFunChain (>)) , ("Lorg_eolang_int_plus", evaluateIntIntIntFunChain (+)) , ("Lorg_eolang_int_times", evaluateIntIntIntFunChain (*)) , ("Lorg_eolang_int_div", evaluateIntIntIntFunChain quot)+ , ("Lorg_eolang_bytes_and", evaluateBytesBytesBytesFunChain (.&.))+ , ("Lorg_eolang_bytes_concat", evaluateBinaryDataizationFunChain id id wrapBytesInBytes extractRho (extractLabel "b") concatBytes) , ("Lorg_eolang_bytes_eq", evaluateBinaryDataizationFunChain boolToBytes bytesToInt wrapBytesAsBool extractRho (extractLabel "b") (==))+ , ("Lorg_eolang_bytes_not", evaluateBytesBytesFunChain complement)+ , ("Lorg_eolang_bytes_or", evaluateBytesBytesBytesFunChain (.|.))+ , ("Lorg_eolang_bytes_right", evaluateBinaryDataizationFunChain intToBytes bytesToInt wrapBytesInBytes extractRho (extractLabel "x") (\x i -> shift x (-i))) , ( "Lorg_eolang_bytes_size" , let f = evaluateUnaryDataizationFunChain intToBytes id wrapBytesInBytes extractRho (\(Bytes bytes) -> length (words (map dashToSpace bytes)))@@ -54,24 +60,71 @@ bytes <- case thisStr of AsBytes bytes -> pure bytes AsObject _ -> fail "Couldn't find bytes"- evaluateBinaryDataizationFunChain id bytesToInt wrapBytesInBytes (extractLabel "start") (extractLabel "len") (sliceBytes bytes) name obj state+ evaluateBinaryDataizationFunChain id bytesToFloat wrapBytesInBytes (extractLabel "start") (extractLabel "len") (\start len -> sliceBytes bytes (floor start) (floor len)) name obj state )- , ("Lorg_eolang_bytes_and", evaluateBytesBytesBytesFunChain (.&.))- , ("Lorg_eolang_bytes_or", evaluateBytesBytesBytesFunChain (.|.)) , ("Lorg_eolang_bytes_xor", evaluateBytesBytesBytesFunChain (.^.))- , ("Lorg_eolang_bytes_not", evaluateBytesBytesFunChain complement)- , ("Lorg_eolang_bytes_right", evaluateBinaryDataizationFunChain intToBytes bytesToInt wrapBytesInBytes extractRho (extractLabel "x") (\x i -> shift x (-i)))- , ("Lorg_eolang_bytes_concat", evaluateBinaryDataizationFunChain id id wrapBytesInBytes extractRho (extractLabel "b") concatBytes)+ , -- deprecated+ ("Lorg_eolang_dataized", evaluateUnaryDataizationFunChain id id wrapBytesInBytes (extractLabel "target") id)+ , -- , ("Lorg_eolang_cage_encaged_encage", _)+ -- , ("Lorg_eolang_cage_encaged_φ", _)+ -- , ("Lorg_eolang_cage_φ", _)+ ("Lorg_eolang_error", evaluateUnaryDataizationFunChain stringToBytes bytesToString wrapBytesInBytes (extractLabel "message") error) , -- float+ -- deprecated ("Lorg_eolang_float_gt", evaluateBinaryDataizationFunChain boolToBytes bytesToFloat wrapBytesInBytes extractRho (extractLabel "x") (>))- , ("Lorg_eolang_float_times", evaluateFloatFloatFloatFunChain (*))- , ("Lorg_eolang_float_plus", evaluateFloatFloatFloatFunChain (+))- , ("Lorg_eolang_float_div", evaluateFloatFloatFloatFunChain (/))- , ("Lorg_eolang_float_gt", evaluateBinaryDataizationFunChain boolToBytes bytesToFloat wrapBytesInBytes extractRho (extractLabel "x") (>))- , ("Lorg_eolang_float_times", evaluateFloatFloatFloatFunChain (*))- , ("Lorg_eolang_float_plus", evaluateFloatFloatFloatFunChain (+))- , ("Lorg_eolang_float_div", evaluateFloatFloatFloatFunChain (/))- , -- string+ , -- deprecated+ ("Lorg_eolang_float_times", evaluateFloatFloatFloatFunChain (*))+ , -- deprecated+ ("Lorg_eolang_float_plus", evaluateFloatFloatFloatFunChain (+))+ , -- deprecated+ ("Lorg_eolang_float_div", evaluateFloatFloatFloatFunChain (/))+ , -- deprecated+ ("Lorg_eolang_float_gt", evaluateBinaryDataizationFunChain boolToBytes bytesToFloat wrapBytesInBytes extractRho (extractLabel "x") (>))+ , -- deprecated+ ("Lorg_eolang_float_times", evaluateFloatFloatFloatFunChain (*))+ , -- deprecated+ ("Lorg_eolang_float_plus", evaluateFloatFloatFloatFunChain (+))+ , -- deprecated+ ("Lorg_eolang_float_div", evaluateFloatFloatFloatFunChain (/))+ , -- , ("Lorg_eolang_fs_dir_made_mkdir", _)+ -- , ("Lorg_eolang_fs_dir_tmpfile_touch", _)+ -- , ("Lorg_eolang_fs_dir_walk", _)+ -- , ("Lorg_eolang_fs_file_deleted_delete", _)+ -- , ("Lorg_eolang_fs_file_exists", _)+ -- , ("Lorg_eolang_fs_file_is_directory", _)+ -- , ("Lorg_eolang_fs_file_moved_move", _)+ -- , ("Lorg_eolang_fs_file_open_file_stream_read_read_bytes", _)+ -- , ("Lorg_eolang_fs_file_open_file_stream_write_written_bytes", _)+ -- , ("Lorg_eolang_fs_file_open_process_file", _)+ -- , ("Lorg_eolang_fs_file_size", _)+ -- , ("Lorg_eolang_fs_file_touched_touch", _)+ ("Lorg_eolang_i16_as_i32", evaluateUnaryDataizationFunChain int16ToBytes bytesToInt64 wrapBytesInConstInt extractRho fromIntegral)+ , ("Lorg_eolang_i32_as_i64", evaluateUnaryDataizationFunChain int32ToBytes bytesToInt64 wrapBytesInConstInt extractRho fromIntegral)+ , ("Lorg_eolang_i64_as_number", evaluateUnaryDataizationFunChain floatToBytes bytesToInt64 wrapBytesInConstInt extractRho fromIntegral)+ , ("Lorg_eolang_i64_div", evaluateIntIntMaybeIntFunChain (\x y -> if y == 0 then Nothing else Just (x `quot` y)))+ , ("Lorg_eolang_i64_gt", evaluateIntIntBoolFunChain (>))+ , ("Lorg_eolang_i64_plus", evaluateIntIntIntFunChain (+))+ , ("Lorg_eolang_i64_times", evaluateIntIntIntFunChain (*))+ , -- , ("Lorg_eolang_malloc_of_allocated_read", _)+ -- , ("Lorg_eolang_malloc_of_allocated_resize", _)+ -- , ("Lorg_eolang_malloc_of_allocated_size", _)+ -- , ("Lorg_eolang_malloc_of_allocated_write", _)+ -- , ("Lorg_eolang_malloc_of_φ", _)+ ("Lorg_eolang_math_angle_cos", evaluateUnaryDataizationFunChain floatToBytes bytesToFloat wrapBytesInConstFloat extractRho cos)+ , ("Lorg_eolang_math_angle_sin", evaluateUnaryDataizationFunChain floatToBytes bytesToFloat wrapBytesInConstFloat extractRho sin)+ , ("Lorg_eolang_math_real_acos", evaluateUnaryDataizationFunChain floatToBytes bytesToFloat wrapBytesInConstFloat extractRho acos)+ , ("Lorg_eolang_math_real_asin", evaluateUnaryDataizationFunChain floatToBytes bytesToFloat wrapBytesInConstFloat extractRho asin)+ , ("Lorg_eolang_math_real_ln", evaluateUnaryDataizationFunChain floatToBytes bytesToFloat wrapBytesInConstFloat extractRho log)+ , ("Lorg_eolang_math_real_pow", evaluateFloatFloatFloatFunChain (**))+ , ("Lorg_eolang_math_real_sqrt", evaluateUnaryDataizationFunChain floatToBytes bytesToFloat wrapBytesInConstFloat extractRho sqrt)+ , ("Lorg_eolang_number_as_i64", evaluateUnaryDataizationFunChain int64ToBytes bytesToFloat wrapBytesInConstInt extractRho round)+ , ("Lorg_eolang_number_div", evaluateFloatFloatFloatFunChain (/))+ , ("Lorg_eolang_number_floor", evaluateUnaryDataizationFunChain int64ToBytes bytesToFloat wrapBytesInConstInt extractRho floor)+ , ("Lorg_eolang_number_gt", evaluateBinaryDataizationFunChain boolToBytes bytesToFloat wrapBytesInBytes extractRho (extractLabel "x") (>))+ , ("Lorg_eolang_number_plus", evaluateFloatFloatFloatFunChain (+))+ , ("Lorg_eolang_number_times", evaluateFloatFloatFloatFunChain (*))+ , -- , ("Lorg_eolang_rust", _)+ -- string ("Lorg_eolang_string_length", evaluateUnaryDataizationFunChain intToBytes bytesToString wrapBytesInConstInt extractRho length) , ( "Lorg_eolang_string_slice"@@ -80,12 +133,18 @@ string <- case thisStr of AsBytes bytes -> pure $ bytesToString bytes AsObject _ -> fail "Couldn't find bytes"- evaluateBinaryDataizationFunChain stringToBytes bytesToInt wrapBytesInConstString (extractLabel "start") (extractLabel "len") (\start len -> take len (drop start string)) name obj state+ evaluateBinaryDataizationFunChain stringToBytes bytesToFloat wrapBytesInConstString (extractLabel "start") (extractLabel "len") (\start len -> take (floor len) (drop (floor start) string)) name obj state ) , -- others- ("Lorg_eolang_dataized", evaluateUnaryDataizationFunChain id id wrapBytesInBytes (extractLabel "target") id)- , ("Lorg_eolang_error", evaluateUnaryDataizationFunChain stringToBytes bytesToString wrapBytesInBytes (extractLabel "message") error)- ,+ -- , ("Lorg_eolang_sys_os_name", _)+ -- , ("Lorg_eolang_sys_posix_φ", _)+ -- , ("Lorg_eolang_sys_win32_φ", _)+ -- , ("Lorg_eolang_try", _)+ -- , ("Lorg_eolang_txt_regex_compiled", _)+ -- , ("Lorg_eolang_txt_regex_pattern_match_matched_from_index", _)+ -- , ("Lorg_eolang_txt_sprintf", _)+ -- , ("Lorg_eolang_txt_sscanf", _)+ ( "Package" , let f _name obj@(Formation bindings) = do
src/Language/EO/Phi/Dependencies.hs view
@@ -37,6 +37,7 @@ bindingAttr LambdaBinding{} = Just (Alpha (AlphaIndex "λ")) bindingAttr MetaBindings{} = Nothing bindingAttr MetaDeltaBinding{} = Nothing+bindingAttr b@(AlphaBindingSugar{}) = errorExpectedDesugaredBinding b zipBindings :: [Binding] -> [Binding] -> ([Binding], [(Binding, Binding)]) zipBindings xs ys = (xs' <> ys', collisions)
src/Language/EO/Phi/Normalize.hs view
@@ -38,7 +38,7 @@ import Data.Generics.Labels () import GHC.Generics (Generic) import Language.EO.Phi.Rules.Common (lookupBinding, objectBindings)-import Language.EO.Phi.Syntax (desugar)+import Language.EO.Phi.Syntax (desugar, errorExpectedDesugaredObject) import Language.EO.Phi.Syntax.Abs data Context = Context@@ -71,6 +71,7 @@ Application object bindings -> peelObject object `followedBy` ActionApplication bindings ObjectDispatch object attr -> peelObject object `followedBy` ActionDispatch attr GlobalObject -> PeeledObject HeadGlobal []+ obj@GlobalObjectPhiOrg -> peelObject (desugar obj) ThisObject -> PeeledObject HeadThis [] Termination -> PeeledObject HeadTermination [] MetaObject _ -> PeeledObject HeadTermination []@@ -79,8 +80,11 @@ MetaSubstThis{} -> error "impossible" MetaContextualize{} -> error "impossible" obj@ConstString{} -> peelObject (desugar obj)+ obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj obj@ConstInt{} -> peelObject (desugar obj)+ obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj obj@ConstFloat{} -> peelObject (desugar obj)+ obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj where followedBy (PeeledObject object actions) action = PeeledObject object (actions ++ [action])
+ src/Language/EO/Phi/Preprocess.hs view
@@ -0,0 +1,80 @@+{- FOURMOLU_DISABLE -}+-- The MIT License (MIT)++-- Copyright (c) 2016-2024 Objectionary.com++-- Permission is hereby granted, free of charge, to any person obtaining a copy+-- of this software and associated documentation files (the "Software"), to deal+-- in the Software without restriction, including without limitation the rights+-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell+-- copies of the Software, and to permit persons to whom the Software is+-- furnished to do so, subject to the following conditions:++-- The above copyright notice and this permission notice shall be included+-- in all copies or substantial portions of the Software.++-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+-- FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE+-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE+-- SOFTWARE.+{- FOURMOLU_ENABLE -}+{-# LANGUAGE BlockArguments #-}++module Language.EO.Phi.Preprocess where++import Control.Monad (void)+import Data.Void (Void)+import Replace.Megaparsec (splitCap)+import Text.Megaparsec (MonadParsec (..), Parsec, Stream (..), between, match, sepBy)+import Text.Megaparsec.Byte.Lexer qualified as L+import Text.Megaparsec.Char (lowerChar, space)++symbol :: String -> Parser String+symbol = L.symbol space++lexeme :: Parser a -> Parser a+lexeme = L.lexeme space++type Parser = Parsec Void String++parseLabelId :: Parser ()+parseLabelId = lexeme do+ void lowerChar+ void $ takeWhileP (Just "LabelId") (`notElem` " \r\n\t,.|':;!?][}{)(⟧⟦")++parseBindingArrow :: Parser ()+parseBindingArrow = void $ symbol "↦"++parseAlphaAttr :: Parser ()+parseAlphaAttr = do+ void parseLabelId+ void $ between (symbol "(") (symbol ")") (sepBy parseLabelId (symbol ","))++parseAlphaBindingSugar :: Parser ()+parseAlphaBindingSugar = do+ parseAlphaAttr+ parseBindingArrow++splitInput :: Parser a -> String -> [Either String (Tokens [Char])]+splitInput sep = splitCap (fst <$> match sep)++addPrefix :: Parser a -> String -> [String]+addPrefix sep = map (either id ("~" <>)) . splitInput sep++preprocess' :: Parser a -> String -> String+preprocess' sep = concat . addPrefix sep++preprocess :: String -> String+preprocess = preprocess' parseAlphaBindingSugar++input1 :: String+input1 = "{⟦ org ↦ ⟦ eolang ↦ ⟦ number( as-bytes, abra ) ↦ ⟦ φ ↦ ξ.as-bytes, neg ↦ ξ.times(-1), ⟧, λ ⤍ Package ⟧, λ ⤍ Package ⟧ ⟧}"++-- >>> addPrefix parseAlphaBindingSugar input1+-- ["{\10214 org \8614 \10214 eolang \8614 \10214 ","~number( as-bytes, abra ) \8614 ","\10214 \966 \8614 \958.as-bytes, neg \8614 \958.times(-1), \10215, \955 \10509 Package \10215, \955 \10509 Package \10215 \10215}"]++-- >>> preprocess input1+-- "{\10214 org \8614 \10214 eolang \8614 \10214 ~number( as-bytes, abra ) \8614 \10214 \966 \8614 \958.as-bytes, neg \8614 \958.times(-1), \10215, \955 \10509 Package \10215, \955 \10509 Package \10215 \10215}"
+ src/Language/EO/Phi/Pretty.hs view
@@ -0,0 +1,168 @@+{- FOURMOLU_DISABLE -}+-- The MIT License (MIT)++-- Copyright (c) 2016-2024 Objectionary.com++-- Permission is hereby granted, free of charge, to any person obtaining a copy+-- of this software and associated documentation files (the "Software"), to deal+-- in the Software without restriction, including without limitation the rights+-- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell+-- copies of the Software, and to permit persons to whom the Software is+-- furnished to do so, subject to the following conditions:++-- The above copyright notice and this permission notice shall be included+-- in all copies or substantial portions of the Software.++-- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR+-- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,+-- FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE+-- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER+-- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,+-- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE+-- SOFTWARE.+{- FOURMOLU_ENABLE -}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE LambdaCase #-}+{-# OPTIONS_GHC -Wno-orphans #-}++-- {-# LANGUAGE OverloadedStrings #-}++module Language.EO.Phi.Pretty where++import Language.EO.Phi.Syntax.Abs as Abs+import Prettyprinter++instance Pretty Abs.Bytes where+ pretty (Abs.Bytes i) = pretty i++instance Pretty Abs.Function where+ pretty (Abs.Function i) = pretty i++instance Pretty Abs.LabelId where+ pretty (Abs.LabelId i) = pretty i++instance Pretty Abs.AlphaIndex where+ pretty (Abs.AlphaIndex i) = pretty i++instance Pretty Abs.LabelMetaId where+ pretty (Abs.LabelMetaId i) = pretty i++instance Pretty Abs.TailMetaId where+ pretty (Abs.TailMetaId i) = pretty i++instance Pretty Abs.BindingsMetaId where+ pretty (Abs.BindingsMetaId i) = pretty i++instance Pretty Abs.ObjectMetaId where+ pretty (Abs.ObjectMetaId i) = pretty i++instance Pretty Abs.BytesMetaId where+ pretty (Abs.BytesMetaId i) = pretty i++instance Pretty Abs.MetaFunctionName where+ pretty (Abs.MetaFunctionName i) = pretty i++instance Pretty Abs.IntegerSigned where+ pretty (Abs.IntegerSigned i) = pretty i++instance Pretty Abs.DoubleSigned where+ pretty (Abs.DoubleSigned i) = pretty i++instance Pretty Abs.StringRaw where+ pretty (Abs.StringRaw i) = pretty i++instance Pretty Abs.Program where+ pretty = \case+ Abs.Program bindings ->+ vsep+ [ lbrace+ , indent 2 (pretty (Formation bindings))+ , rbrace+ ]++instance Pretty Abs.MetaId where+ pretty = \case+ Abs.MetaIdLabel labelmetaid -> pretty labelmetaid+ Abs.MetaIdTail tailmetaid -> pretty tailmetaid+ Abs.MetaIdBindings bindingsmetaid -> pretty bindingsmetaid+ Abs.MetaIdObject objectmetaid -> pretty objectmetaid+ Abs.MetaIdBytes bytesmetaid -> pretty bytesmetaid++instance Pretty Abs.Object where+ pretty = \case+ Abs.Formation bindings ->+ case bindings of+ [] -> pretty "⟦" <> pretty "⟧"+ _ -> vsep [pretty "⟦", indent 2 (pretty bindings), pretty "⟧"]+ Abs.Application object bindings ->+ case bindings of+ [] -> pretty object <> lparen <> rparen+ _ -> vsep [pretty object <> lparen, indent 2 (pretty bindings), rparen]+ Abs.ObjectDispatch object attribute -> pretty object <> pretty "." <> pretty attribute+ Abs.GlobalObject -> pretty "Φ"+ Abs.GlobalObjectPhiOrg -> pretty "Φ̇"+ Abs.ThisObject -> pretty "ξ"+ Abs.Termination -> pretty "⊥"+ Abs.ConstStringRaw str -> pretty str+ Abs.ConstString str -> pretty str+ Abs.ConstIntRaw integersigned -> pretty integersigned+ Abs.ConstFloatRaw doublesigned -> pretty doublesigned+ Abs.MetaSubstThis object1 object2 -> pretty object1 <+> lbracket <+> pretty "ξ ↦" <+> pretty object2 <+> rbracket+ Abs.MetaContextualize object1 object2 -> pretty "⌈" <+> pretty object1 <> pretty "," <+> pretty object2 <> pretty "⌉"+ Abs.MetaObject objectmetaid -> pretty objectmetaid+ Abs.MetaTailContext object tailmetaid -> pretty object <+> pretty "*" <+> pretty tailmetaid+ Abs.MetaFunction metafunctionname object -> vsep [pretty metafunctionname <+> lparen, pretty object, rparen]+ Abs.ConstFloat d -> pretty d+ Abs.ConstInt n -> pretty n++instance Pretty Abs.Binding where+ pretty = \case+ Abs.AlphaBinding attribute object -> pretty attribute <+> pretty "↦" <+> pretty object+ Abs.AlphaBindingSugar object -> pretty object+ Abs.EmptyBinding attribute -> pretty attribute <+> pretty "↦ ∅"+ Abs.DeltaBinding bytes -> pretty "Δ ⤍" <+> pretty bytes+ Abs.DeltaEmptyBinding -> pretty "Δ ⤍ ∅"+ Abs.LambdaBinding function -> pretty "λ ⤍" <+> pretty function+ Abs.MetaBindings bindingsmetaid -> pretty bindingsmetaid+ Abs.MetaDeltaBinding bytesmetaid -> pretty "Δ ⤍" <+> pretty bytesmetaid++instance {-# OVERLAPPING #-} Pretty [Abs.Binding] where+ pretty = vsep . punctuate comma . fmap pretty++instance Pretty Abs.Attribute where+ pretty = \case+ Abs.Phi -> pretty "φ"+ Abs.Rho -> pretty "ρ"+ Abs.Label labelid -> pretty labelid+ Abs.Alpha alphaindex -> pretty alphaindex+ Abs.MetaAttr labelmetaid -> pretty labelmetaid+ Abs.AttrSugar labelid labelids -> pretty labelid <> lparen <> pretty labelids <> rparen+ Abs.PhiSugar labelids -> pretty Abs.Phi <> lparen <> pretty labelids <> rparen++instance {-# OVERLAPPING #-} Pretty [Abs.LabelId] where+ pretty = hsep . punctuate comma . fmap pretty++instance Pretty Abs.RuleAttribute where+ pretty = \case+ Abs.ObjectAttr attribute -> pretty attribute+ Abs.DeltaAttr -> pretty "Δ"+ Abs.LambdaAttr -> pretty "λ"++instance Pretty Abs.PeeledObject where+ pretty = \case+ Abs.PeeledObject objecthead objectactions -> pretty objecthead <+> pretty objectactions++instance Pretty Abs.ObjectHead where+ pretty = \case+ Abs.HeadFormation bindings -> vsep [pretty "⟦", indent 2 (pretty bindings), pretty "⟧"]+ Abs.HeadGlobal -> pretty "Φ"+ Abs.HeadThis -> pretty "ξ"+ Abs.HeadTermination -> pretty "⊥"++instance Pretty Abs.ObjectAction where+ pretty = \case+ Abs.ActionApplication bindings -> vsep [lparen, indent 2 (pretty bindings), rparen]+ Abs.ActionDispatch attribute -> pretty "." <> pretty attribute++instance {-# OVERLAPPING #-} Pretty [Abs.ObjectAction] where+ pretty = hsep . fmap pretty
src/Language/EO/Phi/Rules/Common.hs view
@@ -118,6 +118,7 @@ ] ObjectDispatch obj a -> propagateName2 ObjectDispatch <$> withSubObject f subctx obj <*> pure a GlobalObject{} -> []+ obj@GlobalObjectPhiOrg{} -> errorExpectedDesugaredObject obj ThisObject{} -> [] Termination -> [] MetaObject _ -> []@@ -126,8 +127,11 @@ MetaSubstThis _ _ -> [] MetaContextualize _ _ -> [] ConstString{} -> []+ obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj ConstInt{} -> []+ obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj ConstFloat{} -> []+ obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj -- | Given a unary function that operates only on plain objects, -- converts it to a function that operates on named objects@@ -153,6 +157,7 @@ withSubObjectBinding :: (Context -> Object -> [(String, Object)]) -> Context -> Binding -> [(String, Binding)] withSubObjectBinding f ctx = \case AlphaBinding a obj -> propagateName1 (AlphaBinding a) <$> withSubObject f (ctx{currentAttr = a}) obj+ b@AlphaBindingSugar{} -> errorExpectedDesugaredBinding b EmptyBinding{} -> [] DeltaBinding{} -> [] DeltaEmptyBinding{} -> []@@ -188,16 +193,25 @@ Application obj bindings -> 1 + objectSize obj + sum (map bindingSize bindings) ObjectDispatch obj _attr -> 1 + objectSize obj GlobalObject -> 1+ -- TODO #617:30m+ -- @fizruk, why desugar here and not assume the object is desugared?+ -- Is it because we sometimes bounce between sugared and desugared versions?+ --+ -- Should we introduce a smart constructor with a desugared object inside?+ obj@GlobalObjectPhiOrg -> errorExpectedDesugaredObject obj ThisObject -> 1 Termination -> 1- MetaObject{} -> 1 -- should be impossible- MetaFunction{} -> 1 -- should be impossible- MetaSubstThis{} -> 1 -- should be impossible- MetaContextualize{} -> 1 -- should be impossible- MetaTailContext{} -> 1 -- should be impossible+ obj@MetaObject{} -> error ("impossible: expected a desugared object, but got: " <> printTree obj)+ obj@MetaFunction{} -> error ("impossible: expected a desugared object, but got: " <> printTree obj)+ obj@MetaSubstThis{} -> error ("impossible: expected a desugared object, but got: " <> printTree obj)+ obj@MetaContextualize{} -> error ("impossible: expected a desugared object, but got: " <> printTree obj)+ obj@MetaTailContext{} -> error ("impossible: expected a desugared object, but got: " <> printTree obj) obj@ConstString{} -> objectSize (desugar obj)+ obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj obj@ConstInt{} -> objectSize (desugar obj)+ obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj obj@ConstFloat{} -> objectSize (desugar obj)+ obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj bindingSize :: Binding -> Int bindingSize = \case@@ -206,8 +220,9 @@ DeltaBinding _bytes -> 1 DeltaEmptyBinding -> 1 LambdaBinding _lam -> 1- MetaDeltaBinding{} -> 1 -- should be impossible- MetaBindings{} -> 1 -- should be impossible+ obj@MetaDeltaBinding{} -> error ("impossible: expected a desugared object, but got: " <> printTree obj)+ obj@MetaBindings{} -> error ("impossible: expected a desugared object, but got: " <> printTree obj)+ b@AlphaBindingSugar{} -> errorExpectedDesugaredBinding b -- | A variant of `applyRules` with a maximum application depth. applyRulesWith :: ApplicationLimits -> Context -> Object -> [Object]@@ -250,6 +265,7 @@ attr (MetaDeltaBinding _) = Label (LabelId "Δ") attr (LambdaBinding _) = Label (LabelId "λ") attr (MetaBindings (BindingsMetaId metaId)) = MetaAttr (LabelMetaId metaId)+ attr b@AlphaBindingSugar{} = errorExpectedDesugaredBinding b equalBinding :: Binding -> Binding -> Bool equalBinding (AlphaBinding attr1 obj1) (AlphaBinding attr2 obj2) = attr1 == attr2 && equalObject obj1 obj2@@ -364,7 +380,7 @@ ctx <- getContext if isNF ctx obj then do- logStep "Normal form" obj+ logStep "NF" obj return obj else do (ruleName, obj') <- choose (applyOneRule ctx obj)
src/Language/EO/Phi/Rules/Fast.hs view
@@ -205,6 +205,7 @@ AlphaBinding a (fastYegorInsideOut ctx' objA) _ -> binding ]+ obj@GlobalObjectPhiOrg -> errorExpectedDesugaredObject obj Termination -> Termination MetaSubstThis{} -> error "impossible MetaSubstThis!" MetaContextualize{} -> error "impossible MetaContextualize!"@@ -212,5 +213,8 @@ MetaTailContext{} -> error "impossible MetaTailContext!" MetaFunction{} -> error "impossible MetaFunction!" obj@ConstString{} -> obj -- fastYegorInsideOut ctx (desugar obj)+ obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj -- fastYegorInsideOut ctx (desugar obj) obj@ConstInt{} -> obj -- fastYegorInsideOut ctx (desugar obj)+ obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj -- fastYegorInsideOut ctx (desugar obj) obj@ConstFloat{} -> obj -- fastYegorInsideOut ctx (desugar obj)+ obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj -- fastYegorInsideOut ctx (desugar obj)
src/Language/EO/Phi/Rules/Yaml.hs view
@@ -228,6 +228,7 @@ objectLabelIds :: Object -> Set LabelId objectLabelIds = \case GlobalObject -> mempty+ obj@GlobalObjectPhiOrg -> errorExpectedDesugaredObject obj ThisObject -> mempty Formation bindings -> foldMap bindingLabelIds bindings ObjectDispatch obj a -> objectLabelIds obj <> attrLabelIds a@@ -239,8 +240,11 @@ MetaSubstThis obj obj' -> objectLabelIds obj <> objectLabelIds obj' MetaContextualize obj obj' -> objectLabelIds obj <> objectLabelIds obj' obj@ConstString{} -> objectLabelIds (desugar obj)+ obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj obj@ConstInt{} -> objectLabelIds (desugar obj)+ obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj obj@ConstFloat{} -> objectLabelIds (desugar obj)+ obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj bindingLabelIds :: Binding -> Set LabelId bindingLabelIds = \case@@ -251,6 +255,7 @@ LambdaBinding _ -> mempty MetaBindings _ -> mempty MetaDeltaBinding _ -> mempty+ b@AlphaBindingSugar{} -> errorExpectedDesugaredBinding b attrLabelIds :: Attribute -> Set LabelId attrLabelIds (Label l) = Set.singleton l@@ -278,6 +283,7 @@ objectMetaIds (Application object bindings) = objectMetaIds object <> foldMap bindingMetaIds bindings objectMetaIds (ObjectDispatch object attr) = objectMetaIds object <> attrMetaIds attr objectMetaIds GlobalObject = mempty+objectMetaIds obj@GlobalObjectPhiOrg = errorExpectedDesugaredObject obj objectMetaIds ThisObject = mempty objectMetaIds Termination = mempty objectMetaIds (MetaObject x) = Set.singleton (MetaIdObject x)@@ -286,8 +292,11 @@ objectMetaIds (MetaSubstThis obj obj') = foldMap objectMetaIds [obj, obj'] objectMetaIds (MetaContextualize obj obj') = foldMap objectMetaIds [obj, obj'] objectMetaIds obj@ConstString{} = objectMetaIds (desugar obj)+objectMetaIds obj@ConstStringRaw{} = errorExpectedDesugaredObject obj objectMetaIds obj@ConstInt{} = objectMetaIds (desugar obj)+objectMetaIds obj@ConstIntRaw{} = errorExpectedDesugaredObject obj objectMetaIds obj@ConstFloat{} = objectMetaIds (desugar obj)+objectMetaIds obj@ConstFloatRaw{} = errorExpectedDesugaredObject obj bindingMetaIds :: Binding -> Set MetaId bindingMetaIds (AlphaBinding attr obj) = attrMetaIds attr <> objectMetaIds obj@@ -297,6 +306,7 @@ bindingMetaIds (LambdaBinding _) = mempty bindingMetaIds (MetaBindings x) = Set.singleton (MetaIdBindings x) bindingMetaIds (MetaDeltaBinding x) = Set.singleton (MetaIdBytes x)+bindingMetaIds b@AlphaBindingSugar{} = errorExpectedDesugaredBinding b attrMetaIds :: Attribute -> Set MetaId attrMetaIds Phi = mempty@@ -304,12 +314,15 @@ attrMetaIds (Label _) = mempty attrMetaIds (Alpha _) = mempty attrMetaIds (MetaAttr x) = Set.singleton (MetaIdLabel x)+attrMetaIds a@(AttrSugar{}) = errorExpectedDesugaredAttribute a+attrMetaIds a@(PhiSugar{}) = errorExpectedDesugaredAttribute a objectHasMetavars :: Object -> Bool objectHasMetavars (Formation bindings) = any bindingHasMetavars bindings objectHasMetavars (Application object bindings) = objectHasMetavars object || any bindingHasMetavars bindings objectHasMetavars (ObjectDispatch object attr) = objectHasMetavars object || attrHasMetavars attr objectHasMetavars GlobalObject = False+objectHasMetavars obj@GlobalObjectPhiOrg = errorExpectedDesugaredObject obj objectHasMetavars ThisObject = False objectHasMetavars Termination = False objectHasMetavars (MetaObject _) = True@@ -318,8 +331,11 @@ objectHasMetavars (MetaSubstThis _ _) = True -- technically not a metavar, but a substitution objectHasMetavars (MetaContextualize _ _) = True objectHasMetavars obj@ConstString{} = objectHasMetavars (desugar obj)+objectHasMetavars obj@ConstStringRaw{} = errorExpectedDesugaredObject obj objectHasMetavars obj@ConstInt{} = objectHasMetavars (desugar obj)+objectHasMetavars obj@ConstIntRaw{} = errorExpectedDesugaredObject obj objectHasMetavars obj@ConstFloat{} = objectHasMetavars (desugar obj)+objectHasMetavars obj@ConstFloatRaw{} = errorExpectedDesugaredObject obj bindingHasMetavars :: Binding -> Bool bindingHasMetavars (AlphaBinding attr obj) = attrHasMetavars attr || objectHasMetavars obj@@ -329,6 +345,7 @@ bindingHasMetavars (LambdaBinding _) = False bindingHasMetavars (MetaBindings _) = True bindingHasMetavars (MetaDeltaBinding _) = True+bindingHasMetavars b@AlphaBindingSugar{} = errorExpectedDesugaredBinding b attrHasMetavars :: Attribute -> Bool attrHasMetavars Phi = False@@ -336,6 +353,8 @@ attrHasMetavars (Label _) = False attrHasMetavars (Alpha _) = False attrHasMetavars (MetaAttr _) = True+attrHasMetavars a@AttrSugar{} = errorExpectedDesugaredAttribute a+attrHasMetavars a@PhiSugar{} = errorExpectedDesugaredAttribute a -- | Given a condition, and a substition from object matching -- tells whether the condition matches the object@@ -436,6 +455,7 @@ ObjectDispatch obj a -> ObjectDispatch (applySubst subst obj) (applySubstAttr subst a) GlobalObject -> GlobalObject+ obj@GlobalObjectPhiOrg -> errorExpectedDesugaredObject obj ThisObject -> ThisObject obj@(MetaObject x) -> fromMaybe obj $ lookup x objectMetas Termination -> Termination@@ -449,8 +469,11 @@ let holeSubst = mempty{objectMetas = [(holeMetaId, applySubst subst obj)]} in applySubst holeSubst contextObject obj@ConstString{} -> applySubst subst (desugar obj)+ obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj obj@ConstInt{} -> applySubst subst (desugar obj)+ obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj obj@ConstFloat{} -> applySubst subst (desugar obj)+ obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj applySubstAttr :: Subst -> Attribute -> Attribute applySubstAttr Subst{..} = \case@@ -471,6 +494,7 @@ LambdaBinding bytes -> [LambdaBinding (coerce bytes)] b@(MetaBindings m) -> fromMaybe [b] (lookup m bindingsMetas) b@(MetaDeltaBinding m) -> maybe [b] (pure . DeltaBinding) (lookup m bytesMetas)+ b@AlphaBindingSugar{} -> errorExpectedDesugaredBinding b mergeSubst :: Subst -> Subst -> Subst mergeSubst (Subst xs ys zs ws us) (Subst xs' ys' zs' ws' us') =@@ -520,9 +544,13 @@ ThisObject -> [] Termination -> [] ConstString{} -> []+ ConstStringRaw{} -> errorExpectedDesugaredObject obj ConstInt{} -> []+ ConstIntRaw{} -> errorExpectedDesugaredObject obj ConstFloat{} -> []- -- should cases below be errors?+ ConstFloatRaw{} -> errorExpectedDesugaredObject obj+ -- TODO #617:30m Should cases below be errors?+ GlobalObjectPhiOrg -> errorExpectedDesugaredObject obj MetaSubstThis{} -> [] MetaContextualize{} -> [] MetaObject{} -> []@@ -629,6 +657,7 @@ Application obj bindings -> Application (go obj) (map (substThisBinding thisObj) bindings) ObjectDispatch obj a -> ObjectDispatch (go obj) a GlobalObject -> GlobalObject+ obj@GlobalObjectPhiOrg -> errorExpectedDesugaredObject obj Termination -> Termination obj@MetaTailContext{} -> error ("impossible: trying to substitute ξ in " <> printTree obj) obj@MetaContextualize{} -> error ("impossible: trying to substitute ξ in " <> printTree obj)@@ -636,12 +665,11 @@ obj@MetaObject{} -> error ("impossible: trying to substitute ξ in " <> printTree obj) obj@MetaFunction{} -> error ("impossible: trying to substitute ξ in " <> printTree obj) obj@ConstString{} -> obj+ obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj obj@ConstInt{} -> obj+ obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj obj@ConstFloat{} -> obj---- {⟦ x ↦ ⟦ b ↦ ⟦ Δ ⤍ 01- ⟧, φ ↦ ⟦ b ↦ ⟦ Δ ⤍ 02- ⟧, c ↦ ⟦ a ↦ ξ.ρ.ρ.b ⟧.a ⟧.c ⟧.φ, λ ⤍ Package ⟧}---- {⟦ λ ⤍ Package, x ↦ ⟦ b ↦ ⟦⟧ ⟧ ⟧}+ obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj substThisBinding :: Object -> Binding -> Binding substThisBinding obj = \case@@ -652,6 +680,7 @@ LambdaBinding bytes -> LambdaBinding bytes b@MetaBindings{} -> error ("impossible: trying to substitute ξ in " <> printTree b) b@MetaDeltaBinding{} -> error ("impossible: trying to substitute ξ in " <> printTree b)+ b@AlphaBindingSugar{} -> errorExpectedDesugaredBinding b contextualize :: Object -> Object -> Object contextualize thisObj = go@@ -662,6 +691,7 @@ ObjectDispatch obj a -> ObjectDispatch (go obj) a Application obj bindings -> Application (go obj) (map (contextualizeBinding thisObj) bindings) GlobalObject -> GlobalObject -- TODO: Change to what GlobalObject is attached to+ obj@GlobalObjectPhiOrg -> errorExpectedDesugaredObject obj Termination -> Termination obj@MetaTailContext{} -> error ("impossible: trying to contextualize " <> printTree obj) obj@MetaContextualize{} -> error ("impossible: trying to contextualize " <> printTree obj)@@ -669,8 +699,11 @@ obj@MetaObject{} -> error ("impossible: trying to contextualize " <> printTree obj) obj@MetaFunction{} -> error ("impossible: trying to contextualize " <> printTree obj) obj@ConstString{} -> go (desugar obj)+ obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj obj@ConstInt{} -> go (desugar obj)+ obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj obj@ConstFloat{} -> go (desugar obj)+ obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj contextualizeBinding :: Object -> Binding -> Binding contextualizeBinding obj = \case@@ -681,3 +714,4 @@ LambdaBinding bytes -> LambdaBinding bytes b@MetaBindings{} -> error ("impossible: trying to contextualize " <> printTree b) b@MetaDeltaBinding{} -> error ("impossible: trying to contextualize " <> printTree b)+ b@AlphaBindingSugar{} -> errorExpectedDesugaredBinding b
src/Language/EO/Phi/Syntax.hs view
@@ -21,32 +21,45 @@ -- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -- SOFTWARE. {- FOURMOLU_ENABLE -}+{-# LANGUAGE FlexibleInstances #-}+{-# LANGUAGE InstanceSigs #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE QuasiQuotes #-}+{-# LANGUAGE UndecidableInstances #-} {-# LANGUAGE ViewPatterns #-}+{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-} {-# OPTIONS_GHC -Wno-orphans #-} module Language.EO.Phi.Syntax ( module Language.EO.Phi.Syntax.Abs, desugar, printTree,- shrinkDots,+ printTreeDontSugar, -- * Conversion to 'Bytes' intToBytes,+ int64ToBytes,+ int32ToBytes,+ int16ToBytes, floatToBytes, boolToBytes, stringToBytes, -- * Conversion from 'Bytes' bytesToInt,+ bytesToInt64,+ bytesToInt32,+ bytesToInt16, bytesToFloat, bytesToString, bytesToBool, -- * Wrapping 'Bytes' into 'Object' wrapBytesInConstInt,+ wrapBytesInConstInt64,+ wrapBytesInConstInt32,+ wrapBytesInConstInt16, wrapBytesInConstFloat, wrapBytesInConstString, wrapBytesInBytes,@@ -65,36 +78,182 @@ paddedLeftChunksOf, normalizeBytes, parseWith,+ errorExpectedDesugaredObject,+ errorExpectedDesugaredBinding,+ errorExpectedDesugaredAttribute, ) where import Data.ByteString (ByteString) import Data.ByteString qualified as ByteString.Strict-import Data.Char (isSpace, toUpper)+import Data.Char (toUpper)+import Data.Int import Data.List (intercalate) import Data.Serialize qualified as Serialize import Data.String (IsString (fromString))+import Data.Text qualified as T import Data.Text qualified as Text import Data.Text.Encoding qualified as Text+import GHC.Float (isDoubleFinite)+import Language.EO.Phi.Preprocess (preprocess)+import Language.EO.Phi.Pretty () import Language.EO.Phi.Syntax.Abs import Language.EO.Phi.Syntax.Lex (Token) import Language.EO.Phi.Syntax.Par-import Language.EO.Phi.Syntax.Print qualified as Phi import Numeric (readHex, showHex)+import Prettyprinter (LayoutOptions (..), PageWidth (..), Pretty (pretty), defaultLayoutOptions, layoutPretty)+import Prettyprinter.Render.Text (renderStrict) import PyF (fmt)+import Text.Printf (printf) -- $setup -- >>> :set -XOverloadedStrings -- >>> :set -XOverloadedLists +errorExpectedButGot :: (Pretty a, SugarableFinally a) => String -> a -> b+errorExpectedButGot type' x = error ([fmt|impossible: expected desugared {type'}, but got:\n|] <> printTree x)++errorExpectedDesugaredObject :: Object -> a+errorExpectedDesugaredObject = errorExpectedButGot "Object"++errorExpectedDesugaredBinding :: Binding -> a+errorExpectedDesugaredBinding = errorExpectedButGot "Binding"++errorExpectedDesugaredAttribute :: Attribute -> a+errorExpectedDesugaredAttribute = errorExpectedButGot "Attribute"++class DesugarableInitially a where+ desugarInitially :: a -> a+ desugarInitially = id++instance DesugarableInitially Object where+ desugarInitially :: Object -> Object+ desugarInitially = \case+ obj@(ConstString{}) -> obj+ ConstStringRaw (StringRaw s) -> ConstString (init (tail s))+ obj@(ConstInt{}) -> obj+ ConstIntRaw (IntegerSigned x) -> ConstInt (read x)+ obj@(ConstFloat{}) -> obj+ ConstFloatRaw (DoubleSigned x) -> ConstFloat (read x)+ Formation bindings -> Formation (desugarInitially bindings)+ Application obj bindings -> Application (desugarInitially obj) (desugarInitially bindings)+ ObjectDispatch obj a -> ObjectDispatch (desugarInitially obj) a+ GlobalObject -> GlobalObject+ GlobalObjectPhiOrg -> "Φ.org.eolang"+ ThisObject -> ThisObject+ Termination -> Termination+ MetaSubstThis obj this -> MetaSubstThis (desugarInitially obj) (desugarInitially this)+ obj@MetaObject{} -> obj+ MetaContextualize obj1 obj2 -> MetaContextualize (desugarInitially obj1) (desugarInitially obj2)+ MetaTailContext obj metaId -> MetaTailContext (desugarInitially obj) metaId+ MetaFunction name obj -> MetaFunction name (desugarInitially obj)++instance DesugarableInitially [Binding] where+ desugarInitially :: [Binding] -> [Binding]+ desugarInitially = zipWith go [0 ..]+ where+ go :: Int -> Binding -> Binding+ go idx = \case+ AlphaBinding (AttrSugar l ls) (Formation bindings) ->+ let bindingsDesugared = desugarInitially bindings+ in AlphaBinding (Label l) (Formation ((EmptyBinding . Label <$> ls) <> bindingsDesugared))+ AlphaBinding (PhiSugar ls) (Formation bindings) ->+ let bindingsDesugared = desugarInitially bindings+ in AlphaBinding Phi (Formation ((EmptyBinding . Label <$> ls) <> bindingsDesugared))+ AlphaBinding a obj -> AlphaBinding a (desugarInitially obj)+ AlphaBindingSugar obj -> AlphaBinding (Alpha (AlphaIndex [fmt|α{idx}|])) (desugarInitially obj)+ binding -> binding++instance DesugarableInitially Program where+ desugarInitially :: Program -> Program+ desugarInitially (Program bindings) = Program (desugarInitially bindings)++instance DesugarableInitially Binding where+ desugarInitially = \case+ obj@AlphaBindingSugar{} -> errorExpectedDesugaredBinding obj+ AlphaBinding a obj -> AlphaBinding a (desugarInitially obj)+ obj -> obj++instance DesugarableInitially Attribute+instance DesugarableInitially RuleAttribute+instance DesugarableInitially PeeledObject+instance DesugarableInitially ObjectHead+instance DesugarableInitially MetaId++class SugarableFinally a where+ sugarFinally :: a -> a+ sugarFinally = id++instance SugarableFinally Program where+ sugarFinally :: Program -> Program+ sugarFinally (Program bindings) = Program (sugarFinally bindings)++instance SugarableFinally Object where+ sugarFinally :: Object -> Object+ sugarFinally = \case+ "Φ.org.eolang" -> GlobalObjectPhiOrg+ obj@ConstString{} -> obj+ obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj+ obj@ConstInt{} -> obj+ obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj+ obj@ConstFloat{} -> obj+ obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj+ Formation bindings -> Formation (sugarFinally <$> bindings)+ Application obj bindings -> Application (sugarFinally obj) (sugarFinally bindings)+ ObjectDispatch obj a -> ObjectDispatch (sugarFinally obj) a+ GlobalObject -> GlobalObject+ obj@GlobalObjectPhiOrg -> errorExpectedDesugaredObject obj+ ThisObject -> ThisObject+ Termination -> Termination+ MetaSubstThis obj this -> MetaSubstThis (sugarFinally obj) (sugarFinally this)+ obj@MetaObject{} -> obj+ MetaContextualize obj1 obj2 -> MetaContextualize (sugarFinally obj1) (sugarFinally obj2)+ MetaTailContext obj metaId -> MetaTailContext (sugarFinally obj) metaId+ MetaFunction name obj -> MetaFunction name (sugarFinally obj)++instance SugarableFinally [Binding] where+ sugarFinally :: [Binding] -> [Binding]+ sugarFinally bs =+ if and (zipWith go [0 ..] bs)+ then (\(~(AlphaBinding _ obj)) -> AlphaBindingSugar (sugarFinally obj)) <$> bs+ else sugarFinally <$> bs+ where+ go :: Int -> Binding -> Bool+ go idx = \case+ obj@AlphaBindingSugar{} -> errorExpectedDesugaredBinding obj+ obj@(AlphaBinding (AttrSugar _ _) _) -> errorExpectedDesugaredBinding obj+ obj@(AlphaBinding (PhiSugar _) _) -> errorExpectedDesugaredBinding obj+ AlphaBinding (Alpha (AlphaIndex ('α' : idx'))) _ -> idx == read idx'+ _ -> False++instance SugarableFinally Binding where+ sugarFinally :: Binding -> Binding+ sugarFinally = \case+ obj@AlphaBindingSugar{} -> errorExpectedDesugaredBinding obj+ AlphaBinding a obj -> AlphaBinding a (sugarFinally obj)+ x -> x++instance SugarableFinally ObjectMetaId+instance SugarableFinally BindingsMetaId+instance SugarableFinally LabelMetaId+instance SugarableFinally BytesMetaId+instance SugarableFinally Attribute+instance SugarableFinally TailMetaId+instance SugarableFinally Bytes+instance SugarableFinally MetaId+ desugar :: Object -> Object desugar = \case ConstString string -> wrapBytesInString (stringToBytes string)+ obj@ConstStringRaw{} -> errorExpectedDesugaredObject obj ConstInt n -> wrapBytesInInt (intToBytes (fromInteger n))+ obj@ConstIntRaw{} -> errorExpectedDesugaredObject obj ConstFloat x -> wrapBytesInFloat (floatToBytes x)- Formation bindings -> Formation (map desugarBinding bindings)- Application obj bindings -> Application (desugar obj) (map desugarBinding bindings)+ obj@ConstFloatRaw{} -> errorExpectedDesugaredObject obj+ Formation bindings -> Formation (desugarBinding <$> bindings)+ Application obj bindings -> Application (desugar obj) (desugarBinding <$> bindings) ObjectDispatch obj a -> ObjectDispatch (desugar obj) a GlobalObject -> GlobalObject+ obj@GlobalObjectPhiOrg -> errorExpectedDesugaredObject obj ThisObject -> ThisObject Termination -> Termination MetaSubstThis obj this -> MetaSubstThis (desugar obj) (desugar this)@@ -105,129 +264,75 @@ desugarBinding :: Binding -> Binding desugarBinding = \case+ AlphaBinding (AttrSugar l ls) (Formation bindings) ->+ let bindingsDesugared = desugarBinding <$> bindings+ in AlphaBinding (Label l) (Formation ((EmptyBinding . Label <$> ls) <> bindingsDesugared))+ AlphaBinding (PhiSugar ls) (Formation bindings) ->+ let bindingsDesugared = desugarBinding <$> bindings+ in AlphaBinding Phi (Formation ((EmptyBinding . Label <$> ls) <> bindingsDesugared)) AlphaBinding a obj -> AlphaBinding a (desugar obj)+ obj@(AlphaBindingSugar{}) -> errorExpectedDesugaredBinding obj binding -> binding -- MetaSubstThis wrapBytesInInt :: Bytes -> Object-wrapBytesInInt (Bytes bytes) = [fmt|Φ.org.eolang.int(as-bytes ↦ Φ.org.eolang.bytes(Δ ⤍ {bytes}))|]+wrapBytesInInt (Bytes bytes) = [fmt|Φ.org.eolang.i64(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ {bytes} ⟧))|] wrapBytesInFloat :: Bytes -> Object-wrapBytesInFloat (Bytes bytes) = [fmt|Φ.org.eolang.float(as-bytes ↦ Φ.org.eolang.bytes(Δ ⤍ {bytes}))|]+wrapBytesInFloat (Bytes bytes) = [fmt|Φ.org.eolang.number(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ {bytes} ⟧))|] wrapBytesInString :: Bytes -> Object-wrapBytesInString (Bytes bytes) = [fmt|Φ.org.eolang.string(as-bytes ↦ Φ.org.eolang.bytes(Δ ⤍ {bytes}))|]+wrapBytesInString (Bytes bytes) = [fmt|Φ.org.eolang.string(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ {bytes} ⟧))|] wrapBytesInBytes :: Bytes -> Object-wrapBytesInBytes (Bytes bytes) = [fmt|Φ.org.eolang.bytes(Δ ⤍ {bytes})|]+wrapBytesInBytes (Bytes bytes) = [fmt|Φ.org.eolang.bytes(⟦ Δ ⤍ {bytes} ⟧)|] wrapTermination :: Object-wrapTermination = [fmt|Φ.org.eolang.error(α0 ↦ Φ.org.eolang.string(as-bytes ↦ Φ.org.eolang.bytes(Δ ⤍ {bytes})))|]+wrapTermination = [fmt|Φ.org.eolang.error(α0 ↦ Φ.org.eolang.string(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ {bytes} ⟧)))|] where Bytes bytes = stringToBytes "unknown error" wrapBytesInConstInt :: Bytes -> Object-wrapBytesInConstInt bytes = [fmt|Φ.org.eolang.int(as-bytes ↦ {bytesToInt bytes})|]+wrapBytesInConstInt = wrapBytesInConstInt64 +wrapBytesInConstInt64 :: Bytes -> Object+wrapBytesInConstInt64 bytes@(Bytes bs)+ | n < 0 = [fmt|Φ.org.eolang.i64(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ {bs} ⟧))|]+ | otherwise = [fmt|Φ.org.eolang.i64(as-bytes ↦ {n})|]+ where+ n = bytesToInt bytes++wrapBytesInConstInt32 :: Bytes -> Object+wrapBytesInConstInt32 bytes@(Bytes bs)+ | n < 0 = [fmt|Φ.org.eolang.i32(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ {bs} ⟧))|]+ | otherwise = [fmt|Φ.org.eolang.i32(as-bytes ↦ {n})|]+ where+ n = bytesToInt bytes++wrapBytesInConstInt16 :: Bytes -> Object+wrapBytesInConstInt16 bytes@(Bytes bs)+ | n < 0 = [fmt|Φ.org.eolang.i16(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ {bs} ⟧))|]+ | otherwise = [fmt|Φ.org.eolang.i16(as-bytes ↦ {n})|]+ where+ n = bytesToInt bytes+ wrapBytesInConstFloat :: Bytes -> Object-wrapBytesInConstFloat bytes = [fmt|Φ.org.eolang.float(as-bytes ↦ {bytesToFloat bytes})|]+wrapBytesInConstFloat bytes@(Bytes bs)+ | x == 0 = [fmt|Φ.org.eolang.number(as-bytes ↦ 0.0)|]+ | x > 0 && isDoubleFinite x == 1 = [fmt|Φ.org.eolang.number(as-bytes ↦ {printf "%f" x :: String})|]+ | otherwise = [fmt|Φ.org.eolang.number(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ {bs} ⟧))|]+ where+ x = bytesToFloat bytes wrapBytesInConstString :: Bytes -> Object-wrapBytesInConstString bytes = [fmt|Φ.org.eolang.string(as-bytes ↦ {show (bytesToString bytes)})|]+wrapBytesInConstString bytes@(Bytes bs)+ | '\\' `elem` s = [fmt|Φ.org.eolang.string(as-bytes ↦ Φ.org.eolang.bytes(⟦ Δ ⤍ {bs} ⟧))|]+ | otherwise = [fmt|Φ.org.eolang.string(as-bytes ↦ {s})|]+ where+ s = show (bytesToString bytes) wrapBytesAsBool :: Bytes -> Object wrapBytesAsBool bytes | bytesToInt bytes == 0 = [fmt|Φ.org.eolang.false|] | otherwise = [fmt|Φ.org.eolang.true|] --- * Overriding generated pretty-printer---- | Like 'Phi.printTree', but without spaces around dots and no indentation for curly braces.-printTree :: (Phi.Print a) => a -> String-printTree = shrinkDots . render . Phi.prt 0---- | Remove spaces around dots.------ >>> shrinkDots "a ↦ ξ . a" == "a ↦ ξ.a"--- True-shrinkDots :: String -> String-shrinkDots [] = []-shrinkDots (' ' : '.' : ' ' : cs) = '.' : shrinkDots cs-shrinkDots (c : cs) = c : shrinkDots cs---- | Copy of 'Phi.render', except no indentation is made for curly braces.-render :: Phi.Doc -> String-render d = rend 0 False (map ($ "") $ d []) ""- where- rend ::- Int ->- -- \^ Indentation level.- Bool ->- -- \^ Pending indentation to be output before next character?- [String] ->- ShowS- rend i p = \case- "[" : "]" : ts -> showString "[]" . rend i False ts- "(" : ")" : (t : ts) -> handleTrailingComma "()" t ts- "⟦" : "⟧" : (t : ts) -> handleTrailingComma "⟦⟧" t ts- "[" : ts -> char '[' . rend i False ts- "(" : ts -> char '(' . new (i + 1) ts- "{" : "⟦" : ts -> showChar '{' . onNewLine (i + 1) p . showChar '⟦' . new (i + 2) ts- "⟦" : ts -> showChar '⟦' . new (i + 1) ts- ")" : "," : ts -> onNewLine (i - 1) p . showString ")," . new (i - 1) ts- "⟧" : "," : ts -> onNewLine (i - 1) p . showString "⟧," . new (i - 1) ts- ["⟧", "}"] -> onNewLine (i - 1) p . showChar '⟧' . new (i - 2) ["}"]- "⟧" : ts -> onNewLine (i - 1) p . showChar '⟧' . new (i - 1) ts- ")" : ts -> onNewLine (i - 1) p . showChar ')' . new (i - 1) ts- [";"] -> char ';'- ";" : ts -> char ';' . new i ts- "." : ts -> rend i p (" ." : ts)- t : (s : ss) | closingOrPunctuation s -> handleTrailingComma t s ss- t : ts -> pending . space t . rend i False ts- [] -> id- where- -- Output character after pending indentation.- char :: Char -> ShowS- char c = pending . showChar c-- handleTrailingComma str t ts =- (pending . showString str)- . ( case t of- "," -> showChar ',' . new i ts- _ -> rend i False (t : ts)- )-- -- Output pending indentation.- pending :: ShowS- pending = if p then indent i else id-- -- Indentation (spaces) for given indentation level.- indent :: Int -> ShowS- indent i = Phi.replicateS (2 * i) (showChar ' ')-- -- Continue rendering in new line with new indentation.- new :: Int -> [String] -> ShowS- new j ts = showChar '\n' . rend j True ts-- -- Separate given string from following text by a space (if needed).- space :: String -> ShowS- space t s =- case (all isSpace t, null spc, null rest) of- (True, _, True) -> [] -- remove trailing space- (False, _, True) -> t -- remove trailing space- (False, True, False) -> t ++ ' ' : s -- add space if none- _ -> t ++ s- where- (spc, rest) = span isSpace s-- closingOrPunctuation :: String -> Bool- closingOrPunctuation [c] = c `elem` closerOrPunct- closingOrPunctuation _ = False-- closerOrPunct :: String- closerOrPunct = ")],;"-- -- Make sure we are on a fresh line.- onNewLine :: Int -> Bool -> ShowS- onNewLine i p = (if p then id else showChar '\n') . indent i- padLeft :: Int -> [Char] -> [Char] padLeft n s = replicate (n - length s) '0' ++ s @@ -318,6 +423,39 @@ intToBytes :: Int -> Bytes intToBytes n = Bytes $ normalizeBytes $ foldMap (padLeft 2 . (`showHex` "")) $ ByteString.Strict.unpack $ Serialize.encode n +-- | Convert an 'Int64' into 'Bytes' representation.+--+-- >>> int64ToBytes 7+-- Bytes "00-00-00-00-00-00-00-07"+-- >>> int64ToBytes (3^33)+-- Bytes "00-13-BF-EF-A6-5A-BB-83"+-- >>> int64ToBytes (-1)+-- Bytes "FF-FF-FF-FF-FF-FF-FF-FF"+int64ToBytes :: Int64 -> Bytes+int64ToBytes n = Bytes $ normalizeBytes $ foldMap (padLeft 2 . (`showHex` "")) $ ByteString.Strict.unpack $ Serialize.encode n++-- | Convert an 'Int32' into 'Bytes' representation.+--+-- >>> int32ToBytes 7+-- Bytes "00-00-00-07"+-- >>> int32ToBytes (3^33)+-- Bytes "A6-5A-BB-83"+-- >>> int32ToBytes (-1)+-- Bytes "FF-FF-FF-FF"+int32ToBytes :: Int32 -> Bytes+int32ToBytes n = Bytes $ normalizeBytes $ foldMap (padLeft 2 . (`showHex` "")) $ ByteString.Strict.unpack $ Serialize.encode n++-- | Convert an 'Int16' into 'Bytes' representation.+--+-- >>> int16ToBytes 7+-- Bytes "00-07"+-- >>> int16ToBytes (3^33)+-- Bytes "BB-83"+-- >>> int16ToBytes (-1)+-- Bytes "FF-FF"+int16ToBytes :: Int16 -> Bytes+int16ToBytes n = Bytes $ normalizeBytes $ foldMap (padLeft 2 . (`showHex` "")) $ ByteString.Strict.unpack $ Serialize.encode n+ -- | Parse 'Bytes' as 'Int'. -- -- >>> bytesToInt "00-13-BF-EF-A6-5A-BB-83"@@ -340,6 +478,72 @@ | null bytes = 0 | otherwise = fst $ head $ readHex bytes +-- | Parse 'Bytes' as 'Int64'.+--+-- >>> bytesToInt64 "00-13-BF-EF-A6-5A-BB-83"+-- 5559060566555523+-- >>> bytesToInt64 "AB-"+-- 171+--+-- May error on invalid 'Bytes':+--+-- >>> bytesToInt64 "s"+-- *** Exception: Prelude.head: empty list+-- ...+-- ...+-- ...+-- ...+-- ...+-- ...+bytesToInt64 :: Bytes -> Int64+bytesToInt64 (Bytes (dropWhile (== '0') . filter (/= '-') -> bytes))+ | null bytes = 0+ | otherwise = fst $ head $ readHex bytes++-- | Parse 'Bytes' as 'Int32'.+--+-- >>> bytesToInt32 "A6-5A-BB-83"+-- -1504003197+-- >>> bytesToInt32 "AB-"+-- 171+--+-- May error on invalid 'Bytes':+--+-- >>> bytesToInt32 "s"+-- *** Exception: Prelude.head: empty list+-- ...+-- ...+-- ...+-- ...+-- ...+-- ...+bytesToInt32 :: Bytes -> Int32+bytesToInt32 (Bytes (dropWhile (== '0') . filter (/= '-') -> bytes))+ | null bytes = 0+ | otherwise = fst $ head $ readHex bytes++-- | Parse 'Bytes' as 'Int16'.+--+-- >>> bytesToInt16 "BB-83"+-- -17533+-- >>> bytesToInt16 "AB-"+-- 171+--+-- May error on invalid 'Bytes':+--+-- >>> bytesToInt16 "s"+-- *** Exception: Prelude.head: empty list+-- ...+-- ...+-- ...+-- ...+-- ...+-- ...+bytesToInt16 :: Bytes -> Int16+bytesToInt16 (Bytes (dropWhile (== '0') . filter (/= '-') -> bytes))+ | null bytes = 0+ | otherwise = fst $ head $ readHex bytes+ -- | Convert 'Bool' to 'Bytes'. -- -- >>> boolToBytes False@@ -451,19 +655,32 @@ instance IsString RuleAttribute where fromString = unsafeParseWith pRuleAttribute instance IsString PeeledObject where fromString = unsafeParseWith pPeeledObject instance IsString ObjectHead where fromString = unsafeParseWith pObjectHead- instance IsString MetaId where fromString = unsafeParseWith pMetaId -parseWith :: ([Token] -> Either String a) -> String -> Either String a-parseWith parser input = either (\x -> Left [fmt|{x}\non the input:\n{input}|]) Right parsed+parseWith :: (DesugarableInitially a) => ([Token] -> Either String a) -> String -> Either String a+parseWith parser input = either (\x -> Left [fmt|{x}\non the input:\n{input'}|]) (Right . desugarInitially) parsed where- tokens = myLexer input+ input' = preprocess input+ tokens = myLexer input' parsed = parser tokens -- | Parse a 'Object' from a 'String'. -- May throw an 'error` if input has a syntactical or lexical errors.-unsafeParseWith :: ([Token] -> Either String a) -> String -> a+unsafeParseWith :: (DesugarableInitially a) => ([Token] -> Either String a) -> String -> a unsafeParseWith parser input = case parseWith parser input of Left parseError -> error parseError Right object -> object++printTreeDontSugar :: (Pretty a) => a -> String+printTreeDontSugar =+ T.unpack+ . renderStrict+ . layoutPretty defaultLayoutOptions{layoutPageWidth = Unbounded}+ . pretty++-- | The top-level printing method.+printTree :: (Pretty a, SugarableFinally a) => a -> String+printTree =+ printTreeDontSugar+ . sugarFinally
src/Language/EO/Phi/Syntax/Abs.hs view
@@ -64,20 +64,25 @@ | Application Object [Binding] | ObjectDispatch Object Attribute | GlobalObject+ | GlobalObjectPhiOrg | ThisObject | Termination- | ConstString String- | ConstInt Integer- | ConstFloat Double+ | ConstStringRaw StringRaw+ | ConstIntRaw IntegerSigned+ | ConstFloatRaw DoubleSigned | MetaSubstThis Object Object | MetaContextualize Object Object | MetaObject ObjectMetaId | MetaTailContext Object TailMetaId | MetaFunction MetaFunctionName Object+ | ConstFloat Double+ | ConstInt Integer+ | ConstString String deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic) data Binding = AlphaBinding Attribute Object+ | AlphaBindingSugar Object | EmptyBinding Attribute | DeltaBinding Bytes | DeltaEmptyBinding@@ -88,10 +93,12 @@ data Attribute = Phi+ | PhiSugar [LabelId] | Rho | Label LabelId | Alpha AlphaIndex | MetaAttr LabelMetaId+ | AttrSugar LabelId [LabelId] deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic) data RuleAttribute = ObjectAttr Attribute | DeltaAttr | LambdaAttr@@ -136,5 +143,14 @@ deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic, Data.String.IsString) newtype MetaFunctionName = MetaFunctionName String+ deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic, Data.String.IsString)++newtype IntegerSigned = IntegerSigned String+ deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic, Data.String.IsString)++newtype DoubleSigned = DoubleSigned String+ deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic, Data.String.IsString)++newtype StringRaw = StringRaw String deriving (C.Eq, C.Ord, C.Show, C.Read, C.Data, C.Typeable, C.Generic, Data.String.IsString)
src/Language/EO/Phi/Syntax/Lex.hs view
@@ -27,22625 +27,26054 @@ alex_tab_size :: Int alex_tab_size = 8 alex_base :: Array Int Int-alex_base = listArray (0 :: Int, 171)- [ -8- , -153- , -159- , 91- , 219- , 475- , 594- , 0- , 0- , 0- , 707- , -73- , 771- , -150- , -156- , 899- , 1027- , 1283- , -120- , 1402- , -35- , 0- , 140- , 0- , 0- , 0- , 1515- , 1580- , 1644- , -136- , 1834- , -139- , 1914- , 2042- , 2298- , 2417- , 2673- , 2918- , 1828- , 0- , 0- , 0- , 3020- , 2610- , 2854- , -130- , -116- , 3276- , 3277- , 3393- , 3521- , 3777- , 3896- , 155- , -15- , 0- , -102- , -84- , -106- , -111- , 0- , 599- , 0- , 0- , 0- , 4009- , 4074- , 4138- , 4266- , 4394- , 4650- , 4736- , 4950- , 0- , 0- , 0- , 0- , 5063- , 4588- , 4806- , 5191- , 5319- , 5575- , 5693- , 0- , 571- , 593- , 610- , 620- , 640- , 653- , 1368- , 0- , 5939- , 6195- , 6196- , 6324- , 1392- , 5512- , 6389- , 6502- , -80- , 1315- , -82- , 1279- , 485- , 1853- , 2416- , 2446- , 10- , 2469- , 43- , 0- , 0- , 0- , 6719- , 5822- , 6851- , 7087- , 7343- , 7344- , 7472- , 17- , -43- , 6787- , 7537- , 7650- , 7778- , 0- , 0- , 0- , 7961- , 8217- , 8218- , 8346- , 19- , 54- , 8410- , 8475- , 8588- , 0- , 0- , 0- , 8835- , 9091- , 9092- , 9220- , 48- , 57- , 9284- , 9349- , 9462- , 0- , 0- , 0- , 9709- , 9965- , 9966- , 10094- , 439- , 58- , 10158- , 10223- , 10336- , 0- , 0- , 0- , 0- , 0- , 10400- , 10465- , 10578- ]--alex_table :: Array Int Int-alex_table = listArray (0 :: Int, 10833)- [ 0- , 61- , 61- , 61- , 61- , 61- , 2- , -1- , -1- , 14- , -1- , -1- , 19- , 21- , 22- , 22- , 22- , 22- , 22- , 22- , 22- , 22- , 22- , 31- , 61- , 30- , 93- , -1- , -1- , 46- , 55- , 60- , 60- , 60- , 60- , 60- , 60- , 54- , 60- , 85- , 108- , 108- , 108- , 108- , 108- , 108- , 108- , 108- , 108- , 108- , -1- , -1- , 60- , 60- , 60- , 107- , 118- , 47- , 47- , 47- , 47- , 47- , 47- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 60- , 60- , 60- , 60- , 60- , 110- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 60- , 122- , 60- , 12- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 48- , 22- , 22- , 22- , 22- , 22- , 22- , 22- , 22- , 22- , 22- , 104- , 105- , 110- , 89- , 0- , 91- , 91- , 91- , 91- , 91- , 91- , 91- , 91- , 91- , 91- , 135- , -1- , -1- , 147- , 159- , 102- , 4- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 5- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 61- , 61- , 61- , 61- , 61- , 71- , 60- , 0- , 0- , 0- , 83- , 60- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , 0- , 0- , 0- , 61- , 0- , -1- , -1- , -1- , 0- , 0- , -1- , -1- , -1- , 86- , 86- , 86- , 86- , 86- , 86- , 86- , 86- , 86- , 86- , 0- , -1- , -1- , 0- , 0- , 0- , -1- , 86- , 86- , 86- , 86- , 86- , 86- , 86- , 86- , 86- , 86- , 88- , 88- , 88- , 88- , 88- , 88- , 88- , 88- , 88- , 88- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , 0- , -1- , 88- , 88- , 88- , 88- , 88- , 88- , 88- , 88- , 88- , 88- , 87- , 0- , 0- , 86- , 86- , 86- , 86- , 86- , 86- , 86- , 86- , 86- , 86- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , -1- , 0- , 90- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 5- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 167- , 169- , 4- , 84- , 1- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 84- , 170- , 3- , 168- , 168- , 168- , 171- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 11- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 16- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 17- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 0- , 89- , -1- , 91- , 91- , 91- , 91- , 91- , 91- , 91- , 91- , 91- , 91- , 93- , 60- , 0- , 0- , 0- , 93- , 0- , 0- , -1- , -1- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , -1- , 0- , 60- , -1- , -1- , -1- , 103- , 0- , 56- , 0- , 59- , 0- , 57- , 20- , 0- , 0- , 0- , -1- , -1- , 0- , 0- , 0- , -1- , 60- , 0- , 0- , 60- , 0- , 0- , 0- , 0- , 101- , 0- , 0- , 0- , 0- , 58- , 0- , 0- , 0- , 0- , 93- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , 93- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 93- , 0- , 0- , 0- , 93- , 0- , 93- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , -1- , 0- , 0- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 17- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 9- , 12- , 16- , 8- , 13- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 8- , 11- , 15- , 7- , 7- , 7- , 10- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 27- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 28- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 155- , 109- , 109- , 109- , 109- , 109- , 109- , 109- , 109- , 109- , 109- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 109- , 109- , 109- , 109- , 109- , 109- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 143- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 6- , 0- , 0- , 0- , 0- , 131- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 0- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 0- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 18- , 33- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 34- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 0- , 0- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , -1- , 0- , 0- , -1- , 0- , -1- , 106- , 106- , 106- , 106- , 106- , 106- , 106- , 106- , 106- , 106- , 0- , -1- , -1- , 0- , 0- , 0- , -1- , 106- , 106- , 106- , 106- , 106- , 106- , 0- , 0- , 0- , 0- , 0- , 89- , 0- , 53- , 53- , 53- , 53- , 53- , 53- , 53- , 53- , 53- , 53- , 0- , 0- , 0- , 0- , -1- , 0- , -1- , 111- , 111- , 111- , 111- , 111- , 111- , 106- , 106- , 106- , 106- , 106- , 106- , 106- , 106- , 106- , 106- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 106- , 106- , 106- , 106- , 106- , 106- , -1- , -1- , -1- , 0- , 0- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 34- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 28- , 33- , 24- , 29- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 27- , 32- , 23- , 23- , 23- , 26- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 35- , 35- , 35- , 35- , 35- , 35- , 35- , 35- , 35- , 0- , 0- , 35- , 35- , 0- , 35- , 35- , 35- , 35- , 35- , 35- , 35- , 35- , 35- , 35- , 35- , 35- , 35- , 35- , 35- , 35- , 35- , 35- , 0- , 0- , 35- , 35- , 35- , 35- , 35- , 115- , 0- , 0- , 35- , 35- , 0- , 35- , 0- , 35- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 0- , 0- , 35- , 35- , 35- , 0- , 35- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 0- , 35- , 0- , 35- , 36- , 35- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 0- , 0- , 0- , 35- , 35- , 44- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 0- , 34- , 127- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 25- , 28- , 33- , 24- , 29- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 24- , 27- , 32- , 23- , 23- , 23- , 26- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 0- , 0- , 52- , 52- , 0- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 0- , 0- , 52- , 52- , 52- , 52- , 52- , 115- , 0- , 0- , 52- , 52- , 0- , 110- , 0- , 52- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 0- , 0- , 52- , 52- , 52- , 0- , 52- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 0- , 52- , 0- , 52- , 117- , 52- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 0- , 0- , 0- , 52- , 52- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 0- , 0- , 51- , 38- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 44- , 50- , 40- , 45- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 43- , 49- , 39- , 39- , 39- , 42- , 43- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 0- , 0- , 52- , 52- , 0- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 0- , 0- , 52- , 52- , 52- , 52- , 52- , 115- , 0- , 0- , 52- , 52- , 0- , 0- , 0- , 52- , 37- , 37- , 37- , 37- , 37- , 37- , 37- , 37- , 37- , 37- , 0- , 0- , 52- , 52- , 52- , 0- , 52- , 37- , 37- , 37- , 37- , 37- , 37- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 0- , 52- , 0- , 52- , 117- , 52- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 0- , 0- , 0- , 52- , 52- , 0- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 0- , 117- , 117- , 117- , 117- , 117- , 117- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 0- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 0- , 51- , 38- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 44- , 50- , 40- , 45- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 43- , 49- , 39- , 39- , 39- , 42- , 50- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 51- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 0- , 0- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , -1- , 0- , 0- , -1- , -1- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , 0- , 0- , 0- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , 0- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , -1- , 0- , 0- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 51- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 44- , 50- , 40- , 45- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 43- , 49- , 39- , 39- , 39- , 42- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 66- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 67- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 69- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 70- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 72- , 79- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 70- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 67- , 69- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 66- , 68- , 62- , 62- , 62- , 65- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 72- , 0- , 0- , 0- , 0- , 73- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 70- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 64- , 67- , 69- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 63- , 66- , 68- , 62- , 62- , 62- , 65- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 78- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 81- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 82- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 82- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 76- , 79- , 81- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 75- , 78- , 80- , 74- , 74- , 74- , 77- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 92- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 0- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 97- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 94- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 98- , 95- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 99- , 96- , 114- , 114- , 114- , 100- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 0- , 94- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 112- , 95- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 113- , 98- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 99- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 115- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 0- , 0- , 0- , 0- , 115- , 0- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 115- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 0- , 0- , 52- , 52- , 0- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 52- , 0- , 0- , 52- , 52- , 52- , 52- , 52- , 115- , 0- , 0- , 52- , 52- , 0- , 0- , 0- , 52- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 0- , 0- , 52- , 52- , 52- , 116- , 52- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 0- , 52- , 0- , 52- , 117- , 52- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 117- , 0- , 0- , 0- , 52- , 52- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 0- , 0- , 51- , 38- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 41- , 44- , 50- , 40- , 45- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 40- , 43- , 49- , 39- , 39- , 39- , 42- , -1- , -1- , 0- , 0- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , -1- , 0- , 0- , -1- , -1- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , 0- , 0- , 0- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , 0- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , -1- , 0- , 0- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 119- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 124- , 120- , 129- , 123- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 125- , 121- , 130- , 130- , 130- , 126- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 0- , 119- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 128- , 120- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 129- , 124- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 125- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 0- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 0- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , 36- , -1- , -1- , 0- , 0- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , -1- , 0- , 0- , -1- , -1- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , 0- , 0- , 0- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , 0- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , -1- , 0- , 0- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 132- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 137- , 133- , 141- , 136- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 138- , 134- , 142- , 142- , 142- , 139- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 0- , 132- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 140- , 133- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , 141- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 137- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 138- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 0- , 0- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , -1- , 0- , 0- , -1- , -1- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , 0- , 0- , 0- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , 0- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , -1- , 0- , 0- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 144- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 149- , 145- , 153- , 148- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 150- , 146- , 154- , 154- , 154- , 151- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 0- , 144- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 152- , 145- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , 153- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 149- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 150- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 0- , 0- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , -1- , 0- , 0- , -1- , -1- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , 0- , 0- , 0- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , 0- , -1- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , 0- , -1- , -1- , -1- , 0- , 0- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 156- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 161- , 157- , 165- , 160- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 162- , 158- , 166- , 166- , 166- , 163- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 0- , 156- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 164- , 157- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , 165- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 161- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 162- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 169- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 170- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- ]--alex_check :: Array Int Int-alex_check = listArray (0 :: Int, 10833)- [ -1- , 9- , 10- , 11- , 12- , 13- , 159- , 166- , 167- , 159- , 166- , 167- , 132- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , 159- , 32- , 33- , 34- , 166- , 167- , 159- , 45- , 133- , 40- , 41- , 42- , 141- , 44- , 45- , 46- , 47- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , 166- , 167- , 136- , 137- , 165- , 45- , 64- , 65- , 66- , 67- , 68- , 69- , 70- , 71- , 72- , 73- , 74- , 75- , 76- , 77- , 78- , 79- , 80- , 81- , 82- , 83- , 84- , 85- , 86- , 87- , 88- , 89- , 90- , 91- , 166- , 93- , 166- , 167- , 45- , 97- , 98- , 99- , 100- , 101- , 102- , 103- , 104- , 105- , 106- , 107- , 108- , 109- , 110- , 111- , 112- , 113- , 114- , 115- , 116- , 117- , 118- , 119- , 120- , 121- , 122- , 123- , 159- , 125- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 166- , 167- , 166- , 167- , 195- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , 206- , 207- , 45- , 46- , -1- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , 159- , 166- , 167- , 159- , 159- , 226- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 0- , 1- , 2- , 3- , 4- , 5- , 6- , 7- , 8- , 9- , 10- , 11- , 12- , 13- , 14- , 15- , 16- , 17- , 18- , 19- , 20- , 21- , 22- , 23- , 24- , 25- , 26- , 27- , 28- , 29- , 30- , 31- , 32- , 33- , 34- , 35- , 36- , 37- , 38- , 39- , 40- , 41- , 42- , 43- , 44- , 45- , 46- , 47- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , 58- , 59- , 60- , 61- , 62- , 63- , 64- , 65- , 66- , 67- , 68- , 69- , 70- , 71- , 72- , 73- , 74- , 75- , 76- , 77- , 78- , 79- , 80- , 81- , 82- , 83- , 84- , 85- , 86- , 87- , 88- , 89- , 90- , 91- , 92- , 93- , 94- , 95- , 96- , 97- , 98- , 99- , 100- , 101- , 102- , 103- , 104- , 105- , 106- , 107- , 108- , 109- , 110- , 111- , 112- , 113- , 114- , 115- , 116- , 117- , 118- , 119- , 120- , 121- , 122- , 123- , 124- , 125- , 126- , 127- , 9- , 10- , 166- , 167- , 13- , 9- , 10- , 11- , 12- , 13- , 42- , 129- , -1- , -1- , -1- , 47- , 134- , -1- , -1- , -1- , -1- , -1- , -1- , 32- , 33- , -1- , -1- , -1- , 32- , -1- , 39- , 40- , 41- , -1- , -1- , 44- , 45- , 46- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , -1- , 58- , 59- , -1- , -1- , -1- , 63- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 91- , -1- , 93- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , 45- , -1- , -1- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , -1- , -1- , -1- , -1- , -1- , -1- , 123- , 124- , 125- , -1- , 101- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 0- , 1- , 2- , 3- , 4- , 5- , 6- , 7- , 8- , 9- , 10- , 11- , 12- , 13- , 14- , 15- , 16- , 17- , 18- , 19- , 20- , 21- , 22- , 23- , 24- , 25- , 26- , 27- , 28- , 29- , 30- , 31- , 32- , 33- , 34- , 35- , 36- , 37- , 38- , 39- , 40- , 41- , 42- , 43- , 44- , 45- , 46- , 47- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , 58- , 59- , 60- , 61- , 62- , 63- , 64- , 65- , 66- , 67- , 68- , 69- , 70- , 71- , 72- , 73- , 74- , 75- , 76- , 77- , 78- , 79- , 80- , 81- , 82- , 83- , 84- , 85- , 86- , 87- , 88- , 89- , 90- , 91- , 92- , 93- , 94- , 95- , 96- , 97- , 98- , 99- , 100- , 101- , 102- , 103- , 104- , 105- , 106- , 107- , 108- , 109- , 110- , 111- , 112- , 113- , 114- , 115- , 116- , 117- , 118- , 119- , 120- , 121- , 122- , 123- , 124- , 125- , 126- , 127- , 9- , 10- , -1- , 46- , 13- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , 34- , 148- , -1- , -1- , -1- , 39- , -1- , -1- , 32- , 33- , -1- , -1- , -1- , -1- , -1- , 39- , 40- , 41- , -1- , 166- , 44- , 45- , 46- , 134- , -1- , 136- , -1- , 138- , -1- , 140- , 177- , -1- , -1- , -1- , 58- , 59- , -1- , -1- , -1- , 63- , 187- , -1- , -1- , 190- , -1- , -1- , -1- , -1- , 159- , -1- , -1- , -1- , -1- , 164- , -1- , -1- , -1- , -1- , 92- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 91- , 102- , 93- , -1- , -1- , -1- , -1- , -1- , -1- , 110- , -1- , -1- , -1- , 114- , -1- , 116- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 123- , 124- , 125- , -1- , -1- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 66- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 65- , 66- , 67- , 68- , 69- , 70- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 98- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 116- , -1- , -1- , -1- , -1- , 121- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , -1- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , -1- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 207- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 0- , 1- , 2- , 3- , 4- , 5- , 6- , 7- , 8- , 9- , 10- , 11- , 12- , 13- , 14- , 15- , 16- , 17- , 18- , 19- , 20- , 21- , 22- , 23- , 24- , 25- , 26- , 27- , 28- , 29- , 30- , 31- , 32- , 33- , 34- , 35- , 36- , 37- , 38- , 39- , 40- , 41- , 42- , 43- , 44- , 45- , 46- , 47- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , 58- , 59- , 60- , 61- , 62- , 63- , 64- , 65- , 66- , 67- , 68- , 69- , 70- , 71- , 72- , 73- , 74- , 75- , 76- , 77- , 78- , 79- , 80- , 81- , 82- , 83- , 84- , 85- , 86- , 87- , 88- , 89- , 90- , 91- , 92- , 93- , 94- , 95- , 96- , 97- , 98- , 99- , 100- , 101- , 102- , 103- , 104- , 105- , 106- , 107- , 108- , 109- , 110- , 111- , 112- , 113- , 114- , 115- , 116- , 117- , 118- , 119- , 120- , 121- , 122- , 123- , 124- , 125- , 126- , 127- , 9- , 10- , -1- , -1- , 13- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 32- , 33- , -1- , -1- , -1- , -1- , -1- , 39- , 40- , 41- , -1- , -1- , 44- , -1- , 46- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , -1- , 58- , 59- , -1- , -1- , -1- , 63- , 65- , 66- , 67- , 68- , 69- , 70- , -1- , -1- , -1- , -1- , -1- , 46- , -1- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , -1- , -1- , -1- , -1- , 91- , -1- , 93- , 65- , 66- , 67- , 68- , 69- , 70- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 65- , 66- , 67- , 68- , 69- , 70- , 123- , 124- , 125- , -1- , -1- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 0- , 1- , 2- , 3- , 4- , 5- , 6- , 7- , 8- , -1- , -1- , 11- , 12- , -1- , 14- , 15- , 16- , 17- , 18- , 19- , 20- , 21- , 22- , 23- , 24- , 25- , 26- , 27- , 28- , 29- , 30- , 31- , -1- , -1- , 34- , 35- , 36- , 37- , 38- , 39- , -1- , -1- , 42- , 43- , -1- , 45- , -1- , 47- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , -1- , -1- , 60- , 61- , 62- , -1- , 64- , 65- , 66- , 67- , 68- , 69- , 70- , 71- , 72- , 73- , 74- , 75- , 76- , 77- , 78- , 79- , 80- , 81- , 82- , 83- , 84- , 85- , 86- , 87- , 88- , 89- , 90- , -1- , 92- , -1- , 94- , 95- , 96- , 97- , 98- , 99- , 100- , 101- , 102- , 103- , 104- , 105- , 106- , 107- , 108- , 109- , 110- , 111- , 112- , 113- , 114- , 115- , 116- , 117- , 118- , 119- , 120- , 121- , 122- , -1- , -1- , -1- , 126- , 127- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , -1- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 0- , 1- , 2- , 3- , 4- , 5- , 6- , 7- , 8- , -1- , -1- , 11- , 12- , -1- , 14- , 15- , 16- , 17- , 18- , 19- , 20- , 21- , 22- , 23- , 24- , 25- , 26- , 27- , 28- , 29- , 30- , 31- , -1- , -1- , 34- , 35- , 36- , 37- , 38- , 39- , -1- , -1- , 42- , 43- , -1- , 45- , -1- , 47- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , -1- , -1- , 60- , 61- , 62- , -1- , 64- , 65- , 66- , 67- , 68- , 69- , 70- , 71- , 72- , 73- , 74- , 75- , 76- , 77- , 78- , 79- , 80- , 81- , 82- , 83- , 84- , 85- , 86- , 87- , 88- , 89- , 90- , -1- , 92- , -1- , 94- , 95- , 96- , 97- , 98- , 99- , 100- , 101- , 102- , 103- , 104- , 105- , 106- , 107- , 108- , 109- , 110- , 111- , 112- , 113- , 114- , 115- , 116- , 117- , 118- , 119- , 120- , 121- , 122- , -1- , -1- , -1- , 126- , 127- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , -1- , -1- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 0- , 1- , 2- , 3- , 4- , 5- , 6- , 7- , 8- , -1- , -1- , 11- , 12- , -1- , 14- , 15- , 16- , 17- , 18- , 19- , 20- , 21- , 22- , 23- , 24- , 25- , 26- , 27- , 28- , 29- , 30- , 31- , -1- , -1- , 34- , 35- , 36- , 37- , 38- , 39- , -1- , -1- , 42- , 43- , -1- , -1- , -1- , 47- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , -1- , -1- , 60- , 61- , 62- , -1- , 64- , 65- , 66- , 67- , 68- , 69- , 70- , 71- , 72- , 73- , 74- , 75- , 76- , 77- , 78- , 79- , 80- , 81- , 82- , 83- , 84- , 85- , 86- , 87- , 88- , 89- , 90- , -1- , 92- , -1- , 94- , 95- , 96- , 97- , 98- , 99- , 100- , 101- , 102- , 103- , 104- , 105- , 106- , 107- , 108- , 109- , 110- , 111- , 112- , 113- , 114- , 115- , 116- , 117- , 118- , 119- , 120- , 121- , 122- , -1- , -1- , -1- , 126- , 127- , -1- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , -1- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , -1- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , -1- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 0- , 1- , 2- , 3- , 4- , 5- , 6- , 7- , 8- , 9- , 10- , 11- , 12- , 13- , 14- , 15- , 16- , 17- , 18- , 19- , 20- , 21- , 22- , 23- , 24- , 25- , 26- , 27- , 28- , 29- , 30- , 31- , 32- , 33- , 34- , 35- , 36- , 37- , 38- , 39- , 40- , 41- , 42- , 43- , 44- , 45- , 46- , 47- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , 58- , 59- , 60- , 61- , 62- , 63- , 64- , 65- , 66- , 67- , 68- , 69- , 70- , 71- , 72- , 73- , 74- , 75- , 76- , 77- , 78- , 79- , 80- , 81- , 82- , 83- , 84- , 85- , 86- , 87- , 88- , 89- , 90- , 91- , 92- , 93- , 94- , 95- , 96- , 97- , 98- , 99- , 100- , 101- , 102- , 103- , 104- , 105- , 106- , 107- , 108- , 109- , 110- , 111- , 112- , 113- , 114- , 115- , 116- , 117- , 118- , 119- , 120- , 121- , 122- , 123- , 124- , 125- , 126- , 127- , 9- , 10- , -1- , -1- , 13- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 32- , 33- , -1- , -1- , -1- , -1- , -1- , 39- , 40- , 41- , -1- , -1- , 44- , 45- , 46- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 58- , 59- , -1- , -1- , -1- , 63- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 91- , -1- , 93- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 123- , 124- , 125- , -1- , -1- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 0- , 1- , 2- , 3- , 4- , 5- , 6- , 7- , 8- , 9- , 10- , 11- , 12- , 13- , 14- , 15- , 16- , 17- , 18- , 19- , 20- , 21- , 22- , 23- , 24- , 25- , 26- , 27- , 28- , 29- , 30- , 31- , 32- , 33- , 34- , 35- , 36- , 37- , 38- , 39- , 40- , 41- , 42- , 43- , 44- , 45- , 46- , 47- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , 58- , 59- , 60- , 61- , 62- , 63- , 64- , 65- , 66- , 67- , 68- , 69- , 70- , 71- , 72- , 73- , 74- , 75- , 76- , 77- , 78- , 79- , 80- , 81- , 82- , 83- , 84- , 85- , 86- , 87- , 88- , 89- , 90- , 91- , 92- , 93- , 94- , 95- , 96- , 97- , 98- , 99- , 100- , 101- , 102- , 103- , 104- , 105- , 106- , 107- , 108- , 109- , 110- , 111- , 112- , 113- , 114- , 115- , 116- , 117- , 118- , 119- , 120- , 121- , 122- , 123- , 124- , 125- , 126- , 127- , 42- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 42- , -1- , -1- , -1- , -1- , 47- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 0- , 1- , 2- , 3- , 4- , 5- , 6- , 7- , 8- , 9- , 10- , 11- , 12- , 13- , 14- , 15- , 16- , 17- , 18- , 19- , 20- , 21- , 22- , 23- , 24- , 25- , 26- , 27- , 28- , 29- , 30- , 31- , 32- , 33- , 34- , 35- , 36- , 37- , 38- , 39- , 40- , 41- , 42- , 43- , 44- , 45- , 46- , 47- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , 58- , 59- , 60- , 61- , 62- , 63- , 64- , 65- , 66- , 67- , 68- , 69- , 70- , 71- , 72- , 73- , 74- , 75- , 76- , 77- , 78- , 79- , 80- , 81- , 82- , 83- , 84- , 85- , 86- , 87- , 88- , 89- , 90- , 91- , 92- , 93- , 94- , 95- , 96- , 97- , 98- , 99- , 100- , 101- , 102- , 103- , 104- , 105- , 106- , 107- , 108- , 109- , 110- , 111- , 112- , 113- , 114- , 115- , 116- , 117- , 118- , 119- , 120- , 121- , 122- , 123- , 124- , 125- , 126- , 127- , 10- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 10- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 34- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , -1- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 92- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 0- , 1- , 2- , 3- , 4- , 5- , 6- , 7- , 8- , 9- , 10- , 11- , 12- , 13- , 14- , 15- , 16- , 17- , 18- , 19- , 20- , 21- , 22- , 23- , 24- , 25- , 26- , 27- , 28- , 29- , 30- , 31- , 32- , 33- , 34- , 35- , 36- , 37- , 38- , 39- , 40- , 41- , 42- , 43- , 44- , 45- , 46- , 47- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , 58- , 59- , 60- , 61- , 62- , 63- , 64- , 65- , 66- , 67- , 68- , 69- , 70- , 71- , 72- , 73- , 74- , 75- , 76- , 77- , 78- , 79- , 80- , 81- , 82- , 83- , 84- , 85- , 86- , 87- , 88- , 89- , 90- , 91- , 92- , 93- , 94- , 95- , 96- , 97- , 98- , 99- , 100- , 101- , 102- , 103- , 104- , 105- , 106- , 107- , 108- , 109- , 110- , 111- , 112- , 113- , 114- , 115- , 116- , 117- , 118- , 119- , 120- , 121- , 122- , 123- , 124- , 125- , 126- , 127- , -1- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 39- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 65- , 66- , 67- , 68- , 69- , 70- , 71- , 72- , 73- , 74- , 75- , 76- , 77- , 78- , 79- , 80- , 81- , 82- , 83- , 84- , 85- , 86- , 87- , 88- , 89- , 90- , -1- , -1- , -1- , -1- , 95- , -1- , 97- , 98- , 99- , 100- , 101- , 102- , 103- , 104- , 105- , 106- , 107- , 108- , 109- , 110- , 111- , 112- , 113- , 114- , 115- , 116- , 117- , 118- , 119- , 120- , 121- , 122- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 0- , 1- , 2- , 3- , 4- , 5- , 6- , 7- , 8- , -1- , -1- , 11- , 12- , -1- , 14- , 15- , 16- , 17- , 18- , 19- , 20- , 21- , 22- , 23- , 24- , 25- , 26- , 27- , 28- , 29- , 30- , 31- , -1- , -1- , 34- , 35- , 36- , 37- , 38- , 39- , -1- , -1- , 42- , 43- , -1- , -1- , -1- , 47- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , -1- , -1- , 60- , 61- , 62- , 195- , 64- , 65- , 66- , 67- , 68- , 69- , 70- , 71- , 72- , 73- , 74- , 75- , 76- , 77- , 78- , 79- , 80- , 81- , 82- , 83- , 84- , 85- , 86- , 87- , 88- , 89- , 90- , -1- , 92- , -1- , 94- , 95- , 96- , 97- , 98- , 99- , 100- , 101- , 102- , 103- , 104- , 105- , 106- , 107- , 108- , 109- , 110- , 111- , 112- , 113- , 114- , 115- , 116- , 117- , 118- , 119- , 120- , 121- , 122- , -1- , -1- , -1- , 126- , 127- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , -1- , -1- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 9- , 10- , -1- , -1- , 13- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 32- , 33- , -1- , -1- , -1- , -1- , -1- , 39- , 40- , 41- , -1- , -1- , 44- , 45- , 46- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 58- , 59- , -1- , -1- , -1- , 63- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 91- , -1- , 93- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 123- , 124- , 125- , -1- , -1- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 0- , 1- , 2- , 3- , 4- , 5- , 6- , 7- , 8- , 9- , 10- , 11- , 12- , 13- , 14- , 15- , 16- , 17- , 18- , 19- , 20- , 21- , 22- , 23- , 24- , 25- , 26- , 27- , 28- , 29- , 30- , 31- , 32- , 33- , 34- , 35- , 36- , 37- , 38- , 39- , 40- , 41- , 42- , 43- , 44- , 45- , 46- , 47- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , 58- , 59- , 60- , 61- , 62- , 63- , 64- , 65- , 66- , 67- , 68- , 69- , 70- , 71- , 72- , 73- , 74- , 75- , 76- , 77- , 78- , 79- , 80- , 81- , 82- , 83- , 84- , 85- , 86- , 87- , 88- , 89- , 90- , 91- , 92- , 93- , 94- , 95- , 96- , 97- , 98- , 99- , 100- , 101- , 102- , 103- , 104- , 105- , 106- , 107- , 108- , 109- , 110- , 111- , 112- , 113- , 114- , 115- , 116- , 117- , 118- , 119- , 120- , 121- , 122- , 123- , 124- , 125- , 126- , 127- , -1- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , -1- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , -1- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 9- , 10- , -1- , -1- , 13- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 32- , 33- , -1- , -1- , -1- , -1- , -1- , 39- , 40- , 41- , -1- , -1- , 44- , 45- , 46- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 58- , 59- , -1- , -1- , -1- , 63- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 91- , -1- , 93- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 123- , 124- , 125- , -1- , -1- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 0- , 1- , 2- , 3- , 4- , 5- , 6- , 7- , 8- , 9- , 10- , 11- , 12- , 13- , 14- , 15- , 16- , 17- , 18- , 19- , 20- , 21- , 22- , 23- , 24- , 25- , 26- , 27- , 28- , 29- , 30- , 31- , 32- , 33- , 34- , 35- , 36- , 37- , 38- , 39- , 40- , 41- , 42- , 43- , 44- , 45- , 46- , 47- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , 58- , 59- , 60- , 61- , 62- , 63- , 64- , 65- , 66- , 67- , 68- , 69- , 70- , 71- , 72- , 73- , 74- , 75- , 76- , 77- , 78- , 79- , 80- , 81- , 82- , 83- , 84- , 85- , 86- , 87- , 88- , 89- , 90- , 91- , 92- , 93- , 94- , 95- , 96- , 97- , 98- , 99- , 100- , 101- , 102- , 103- , 104- , 105- , 106- , 107- , 108- , 109- , 110- , 111- , 112- , 113- , 114- , 115- , 116- , 117- , 118- , 119- , 120- , 121- , 122- , 123- , 124- , 125- , 126- , 127- , -1- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 9- , 10- , -1- , -1- , 13- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 32- , 33- , -1- , -1- , -1- , -1- , -1- , 39- , 40- , 41- , -1- , -1- , 44- , 45- , 46- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 58- , 59- , -1- , -1- , -1- , 63- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 91- , -1- , 93- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 123- , 124- , 125- , -1- , -1- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 0- , 1- , 2- , 3- , 4- , 5- , 6- , 7- , 8- , 9- , 10- , 11- , 12- , 13- , 14- , 15- , 16- , 17- , 18- , 19- , 20- , 21- , 22- , 23- , 24- , 25- , 26- , 27- , 28- , 29- , 30- , 31- , 32- , 33- , 34- , 35- , 36- , 37- , 38- , 39- , 40- , 41- , 42- , 43- , 44- , 45- , 46- , 47- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , 58- , 59- , 60- , 61- , 62- , 63- , 64- , 65- , 66- , 67- , 68- , 69- , 70- , 71- , 72- , 73- , 74- , 75- , 76- , 77- , 78- , 79- , 80- , 81- , 82- , 83- , 84- , 85- , 86- , 87- , 88- , 89- , 90- , 91- , 92- , 93- , 94- , 95- , 96- , 97- , 98- , 99- , 100- , 101- , 102- , 103- , 104- , 105- , 106- , 107- , 108- , 109- , 110- , 111- , 112- , 113- , 114- , 115- , 116- , 117- , 118- , 119- , 120- , 121- , 122- , 123- , 124- , 125- , 126- , 127- , -1- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 9- , 10- , -1- , -1- , 13- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 32- , 33- , -1- , -1- , -1- , -1- , -1- , 39- , 40- , 41- , -1- , -1- , 44- , 45- , 46- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 58- , 59- , -1- , -1- , -1- , 63- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 91- , -1- , 93- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 123- , 124- , 125- , -1- , -1- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 0- , 1- , 2- , 3- , 4- , 5- , 6- , 7- , 8- , 9- , 10- , 11- , 12- , 13- , 14- , 15- , 16- , 17- , 18- , 19- , 20- , 21- , 22- , 23- , 24- , 25- , 26- , 27- , 28- , 29- , 30- , 31- , 32- , 33- , 34- , 35- , 36- , 37- , 38- , 39- , 40- , 41- , 42- , 43- , 44- , 45- , 46- , 47- , 48- , 49- , 50- , 51- , 52- , 53- , 54- , 55- , 56- , 57- , 58- , 59- , 60- , 61- , 62- , 63- , 64- , 65- , 66- , 67- , 68- , 69- , 70- , 71- , 72- , 73- , 74- , 75- , 76- , 77- , 78- , 79- , 80- , 81- , 82- , 83- , 84- , 85- , 86- , 87- , 88- , 89- , 90- , 91- , 92- , 93- , 94- , 95- , 96- , 97- , 98- , 99- , 100- , 101- , 102- , 103- , 104- , 105- , 106- , 107- , 108- , 109- , 110- , 111- , 112- , 113- , 114- , 115- , 116- , 117- , 118- , 119- , 120- , 121- , 122- , 123- , 124- , 125- , 126- , 127- , -1- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 128- , 129- , 130- , 131- , 132- , 133- , 134- , 135- , 136- , 137- , 138- , 139- , 140- , 141- , 142- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- , 143- , 144- , 145- , 146- , 147- , 148- , 149- , 150- , 151- , 152- , 153- , 154- , 155- , 156- , 157- , 158- , 159- , 160- , 161- , 162- , 163- , 164- , 165- , 166- , 167- , 168- , 169- , 170- , 171- , 172- , 173- , 174- , 175- , 176- , 177- , 178- , 179- , 180- , 181- , 182- , 183- , 184- , 185- , 186- , 187- , 188- , 189- , 190- , 191- , 192- , 193- , 194- , 195- , 196- , 197- , 198- , 199- , 200- , 201- , 202- , 203- , 204- , 205- , 206- , 207- , 208- , 209- , 210- , 211- , 212- , 213- , 214- , 215- , 216- , 217- , 218- , 219- , 220- , 221- , 222- , 223- , 224- , 225- , 226- , 227- , 228- , 229- , 230- , 231- , 232- , 233- , 234- , 235- , 236- , 237- , 238- , 239- , 240- , 241- , 242- , 243- , 244- , 245- , 246- , 247- , 248- , 249- , 250- , 251- , 252- , 253- , 254- , 255- ]--alex_deflt :: Array Int Int-alex_deflt = listArray (0 :: Int, 171)- [ -1- , 167- , 6- , -1- , -1- , 6- , 6- , 8- , 9- , 19- , 8- , 9- , 19- , 9- , 19- , -1- , -1- , 19- , -1- , 19- , -1- , -1- , -1- , 24- , 25- , 35- , 24- , 25- , 35- , 25- , -1- , 35- , -1- , -1- , 35- , 35- , -1- , -1- , 52- , 40- , 41- , 52- , 40- , 41- , 52- , 41- , 52- , -1- , -1- , -1- , -1- , 52- , 52- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 63- , 64- , 71- , 63- , 64- , 71- , -1- , -1- , 71- , 71- , 71- , -1- , 75- , 76- , 83- , 75- , 76- , 83- , -1- , -1- , 83- , 83- , 167- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 93- , 93- , -1- , -1- , -1- , 93- , 112- , 113- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , -1- , 93- , 112- , 113- , -1- , -1- , -1- , 118- , 118- , -1- , -1- , 118- , 128- , 118- , 128- , 129- , 35- , 118- , 128- , 129- , 131- , 131- , -1- , -1- , 131- , 140- , 131- , 140- , 141- , 131- , 140- , 141- , 143- , 143- , -1- , -1- , 143- , 152- , 143- , 152- , 153- , 143- , 152- , 153- , 155- , 155- , -1- , -1- , 155- , 164- , 155- , 164- , 165- , 155- , 164- , 165- , 6- , 84- , 6- , 167- , 84- ]--alex_accept = listArray (0 :: Int, 171)- [ AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAcc 24- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAcc 23- , AlexAccNone- , AlexAcc 22- , AlexAcc 21- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAcc 20- , AlexAcc 19- , AlexAcc 18- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAcc 17- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAcc 16- , AlexAcc 15- , AlexAccNone- , AlexAcc 14- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAcc 13- , AlexAccSkip- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccSkip- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccSkip- , AlexAccNone- , AlexAccNone- , AlexAcc 12- , AlexAccNone- , AlexAcc 11- , AlexAccNone- , AlexAccNone- , AlexAcc 10- , AlexAcc 9- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAcc 8- , AlexAcc 7- , AlexAcc 6- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAcc 5- , AlexAccNone- , AlexAcc 4- , AlexAcc 3- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAcc 2- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAcc 1- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAcc 0- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- , AlexAccNone- ]--alex_actions = array (0 :: Int, 25)- [ (24,alex_action_9)- , (23,alex_action_8)- , (22,alex_action_7)- , (21,alex_action_7)- , (20,alex_action_6)- , (19,alex_action_6)- , (18,alex_action_5)- , (17,alex_action_5)- , (16,alex_action_5)- , (15,alex_action_16)- , (14,alex_action_4)- , (13,alex_action_3)- , (12,alex_action_17)- , (11,alex_action_17)- , (10,alex_action_16)- , (9,alex_action_15)- , (8,alex_action_16)- , (7,alex_action_4)- , (6,alex_action_4)- , (5,alex_action_14)- , (4,alex_action_5)- , (3,alex_action_13)- , (2,alex_action_12)- , (1,alex_action_11)- , (0,alex_action_10)- ]--alex_action_3 = tok (eitherResIdent TV)-alex_action_4 = tok (eitherResIdent T_Bytes)-alex_action_5 = tok (eitherResIdent T_Function)-alex_action_6 = tok (eitherResIdent T_LabelId)-alex_action_7 = tok (eitherResIdent T_AlphaIndex)-alex_action_8 = tok (eitherResIdent T_LabelMetaId)-alex_action_9 = tok (eitherResIdent T_TailMetaId)-alex_action_10 = tok (eitherResIdent T_BindingsMetaId)-alex_action_11 = tok (eitherResIdent T_ObjectMetaId)-alex_action_12 = tok (eitherResIdent T_BytesMetaId)-alex_action_13 = tok (eitherResIdent T_MetaFunctionName)-alex_action_14 = tok (eitherResIdent TV)-alex_action_15 = tok (TL . unescapeInitTail)-alex_action_16 = tok TI-alex_action_17 = tok TD--#define ALEX_NOPRED 1--- -------------------------------------------------------------------------------- ALEX TEMPLATE------ This code is in the PUBLIC DOMAIN; you may copy it freely and use--- it for any purpose whatsoever.---- -------------------------------------------------------------------------------- INTERNALS and main scanner engine--#ifdef ALEX_GHC-# define ILIT(n) n#-# define IBOX(n) (I# (n))-# define FAST_INT Int#--- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.-# if __GLASGOW_HASKELL__ > 706-# define GTE(n,m) (tagToEnum# (n >=# m))-# define EQ(n,m) (tagToEnum# (n ==# m))-# else-# define GTE(n,m) (n >=# m)-# define EQ(n,m) (n ==# m)-# endif-# define PLUS(n,m) (n +# m)-# define MINUS(n,m) (n -# m)-# define TIMES(n,m) (n *# m)-# define NEGATE(n) (negateInt# (n))-# define IF_GHC(x) (x)-#else-# define ILIT(n) (n)-# define IBOX(n) (n)-# define FAST_INT Int-# define GTE(n,m) (n >= m)-# define EQ(n,m) (n == m)-# define PLUS(n,m) (n + m)-# define MINUS(n,m) (n - m)-# define TIMES(n,m) (n * m)-# define NEGATE(n) (negate (n))-# define IF_GHC(x)-#endif--#ifdef ALEX_GHC-data AlexAddr = AlexA# Addr#--- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.-#if __GLASGOW_HASKELL__ < 503-uncheckedShiftL# = shiftL#-#endif--{-# INLINE alexIndexInt16OffAddr #-}-alexIndexInt16OffAddr :: AlexAddr -> Int# -> Int#-alexIndexInt16OffAddr (AlexA# arr) off =-#ifdef WORDS_BIGENDIAN- narrow16Int# i- where- i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)- high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))- low = int2Word# (ord# (indexCharOffAddr# arr off'))- off' = off *# 2#-#else-#if __GLASGOW_HASKELL__ >= 901- int16ToInt#-#endif- (indexInt16OffAddr# arr off)-#endif-#else-alexIndexInt16OffAddr arr off = arr ! off-#endif--#ifdef ALEX_GHC-{-# INLINE alexIndexInt32OffAddr #-}-alexIndexInt32OffAddr :: AlexAddr -> Int# -> Int#-alexIndexInt32OffAddr (AlexA# arr) off =-#ifdef WORDS_BIGENDIAN- narrow32Int# i- where- i = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#`- (b2 `uncheckedShiftL#` 16#) `or#`- (b1 `uncheckedShiftL#` 8#) `or#` b0)- b3 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))- b2 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))- b1 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))- b0 = int2Word# (ord# (indexCharOffAddr# arr off'))- off' = off *# 4#-#else-#if __GLASGOW_HASKELL__ >= 901- int32ToInt#-#endif- (indexInt32OffAddr# arr off)-#endif-#else-alexIndexInt32OffAddr arr off = arr ! off-#endif--#ifdef ALEX_GHC--#if __GLASGOW_HASKELL__ < 503-quickIndex arr i = arr ! i-#else--- GHC >= 503, unsafeAt is available from Data.Array.Base.-quickIndex = unsafeAt-#endif-#else-quickIndex arr i = arr ! i-#endif---- -------------------------------------------------------------------------------- Main lexing routines--data AlexReturn a- = AlexEOF- | AlexError !AlexInput- | AlexSkip !AlexInput !Int- | AlexToken !AlexInput !Int a---- alexScan :: AlexInput -> StartCode -> AlexReturn a-alexScan input__ IBOX(sc)- = alexScanUser undefined input__ IBOX(sc)--alexScanUser user__ input__ IBOX(sc)- = case alex_scan_tkn user__ input__ ILIT(0) input__ sc AlexNone of- (AlexNone, input__') ->- case alexGetByte input__ of- Nothing ->-#ifdef ALEX_DEBUG- trace ("End of input.") $-#endif- AlexEOF- Just _ ->-#ifdef ALEX_DEBUG- trace ("Error.") $-#endif- AlexError input__'-- (AlexLastSkip input__'' len, _) ->-#ifdef ALEX_DEBUG- trace ("Skipping.") $-#endif- AlexSkip input__'' len-- (AlexLastAcc k input__''' len, _) ->-#ifdef ALEX_DEBUG- trace ("Accept.") $-#endif- AlexToken input__''' len (alex_actions ! k)----- Push the input through the DFA, remembering the most recent accepting--- state it encountered.--alex_scan_tkn user__ orig_input len input__ s last_acc =- input__ `seq` -- strict in the input- let- new_acc = (check_accs (alex_accept `quickIndex` IBOX(s)))- in- new_acc `seq`- case alexGetByte input__ of- Nothing -> (new_acc, input__)- Just (c, new_input) ->-#ifdef ALEX_DEBUG- trace ("State: " ++ show IBOX(s) ++ ", char: " ++ show c) $-#endif- case fromIntegral c of { IBOX(ord_c) ->- let- base = alexIndexInt32OffAddr alex_base s- offset = PLUS(base,ord_c)-- new_s = if GTE(offset,ILIT(0))- && let check = alexIndexInt16OffAddr alex_check offset- in EQ(check,ord_c)- then alexIndexInt16OffAddr alex_table offset- else alexIndexInt16OffAddr alex_deflt s- in- case new_s of- ILIT(-1) -> (new_acc, input__)- -- on an error, we want to keep the input *before* the- -- character that failed, not after.- _ -> alex_scan_tkn user__ orig_input-#ifdef ALEX_LATIN1- PLUS(len,ILIT(1))- -- issue 119: in the latin1 encoding, *each* byte is one character-#else- (if c < 0x80 || c >= 0xC0 then PLUS(len,ILIT(1)) else len)- -- note that the length is increased ONLY if this is the 1st byte in a char encoding)-#endif- new_input new_s new_acc- }- where- check_accs (AlexAccNone) = last_acc- check_accs (AlexAcc a ) = AlexLastAcc a input__ IBOX(len)- check_accs (AlexAccSkip) = AlexLastSkip input__ IBOX(len)-#ifndef ALEX_NOPRED- check_accs (AlexAccPred a predx rest)- | predx user__ orig_input IBOX(len) input__- = AlexLastAcc a input__ IBOX(len)- | otherwise- = check_accs rest- check_accs (AlexAccSkipPred predx rest)- | predx user__ orig_input IBOX(len) input__- = AlexLastSkip input__ IBOX(len)- | otherwise- = check_accs rest-#endif--data AlexLastAcc- = AlexNone- | AlexLastAcc !Int !AlexInput !Int- | AlexLastSkip !AlexInput !Int--data AlexAcc user- = AlexAccNone- | AlexAcc Int- | AlexAccSkip-#ifndef ALEX_NOPRED- | AlexAccPred Int (AlexAccPred user) (AlexAcc user)- | AlexAccSkipPred (AlexAccPred user) (AlexAcc user)--type AlexAccPred user = user -> AlexInput -> Int -> AlexInput -> Bool---- -------------------------------------------------------------------------------- Predicates on a rule--alexAndPred p1 p2 user__ in1 len in2- = p1 user__ in1 len in2 && p2 user__ in1 len in2----alexPrevCharIsPred :: Char -> AlexAccPred _-alexPrevCharIs c _ input__ _ _ = c == alexInputPrevChar input__--alexPrevCharMatches f _ input__ _ _ = f (alexInputPrevChar input__)----alexPrevCharIsOneOfPred :: Array Char Bool -> AlexAccPred _-alexPrevCharIsOneOf arr _ input__ _ _ = arr ! alexInputPrevChar input__----alexRightContext :: Int -> AlexAccPred _-alexRightContext IBOX(sc) user__ _ _ input__ =- case alex_scan_tkn user__ input__ ILIT(0) input__ sc AlexNone of- (AlexNone, _) -> False- _ -> True- -- TODO: there's no need to find the longest- -- match when checking the right context, just- -- the first match will do.-#endif-{-# LINE 104 "Lex.x" #-}--- | Create a token with position.-tok :: (String -> Tok) -> (Posn -> String -> Token)-tok f p = PT p . f---- | Token without position.-data Tok- = TK {-# UNPACK #-} !TokSymbol -- ^ Reserved word or symbol.- | TL !String -- ^ String literal.- | TI !String -- ^ Integer literal.- | TV !String -- ^ Identifier.- | TD !String -- ^ Float literal.- | TC !String -- ^ Character literal.- | T_Bytes !String- | T_Function !String- | T_LabelId !String- | T_AlphaIndex !String- | T_LabelMetaId !String- | T_TailMetaId !String- | T_BindingsMetaId !String- | T_ObjectMetaId !String- | T_BytesMetaId !String- | T_MetaFunctionName !String- deriving (Eq, Show, Ord)---- | Smart constructor for 'Tok' for the sake of backwards compatibility.-pattern TS :: String -> Int -> Tok-pattern TS t i = TK (TokSymbol t i)---- | Keyword or symbol tokens have a unique ID.-data TokSymbol = TokSymbol- { tsText :: String- -- ^ Keyword or symbol text.- , tsID :: !Int- -- ^ Unique ID.- } deriving (Show)---- | Keyword/symbol equality is determined by the unique ID.-instance Eq TokSymbol where (==) = (==) `on` tsID---- | Keyword/symbol ordering is determined by the unique ID.-instance Ord TokSymbol where compare = compare `on` tsID---- | Token with position.-data Token- = PT Posn Tok- | Err Posn- deriving (Eq, Show, Ord)---- | Pretty print a position.-printPosn :: Posn -> String-printPosn (Pn _ l c) = "line " ++ show l ++ ", column " ++ show c---- | Pretty print the position of the first token in the list.-tokenPos :: [Token] -> String-tokenPos (t:_) = printPosn (tokenPosn t)-tokenPos [] = "end of file"---- | Get the position of a token.-tokenPosn :: Token -> Posn-tokenPosn (PT p _) = p-tokenPosn (Err p) = p---- | Get line and column of a token.-tokenLineCol :: Token -> (Int, Int)-tokenLineCol = posLineCol . tokenPosn---- | Get line and column of a position.-posLineCol :: Posn -> (Int, Int)-posLineCol (Pn _ l c) = (l,c)---- | Convert a token into "position token" form.-mkPosToken :: Token -> ((Int, Int), String)-mkPosToken t = (tokenLineCol t, tokenText t)---- | Convert a token to its text.-tokenText :: Token -> String-tokenText t = case t of- PT _ (TS s _) -> s- PT _ (TL s) -> show s- PT _ (TI s) -> s- PT _ (TV s) -> s- PT _ (TD s) -> s- PT _ (TC s) -> s- Err _ -> "#error"- PT _ (T_Bytes s) -> s- PT _ (T_Function s) -> s- PT _ (T_LabelId s) -> s- PT _ (T_AlphaIndex s) -> s- PT _ (T_LabelMetaId s) -> s- PT _ (T_TailMetaId s) -> s- PT _ (T_BindingsMetaId s) -> s- PT _ (T_ObjectMetaId s) -> s- PT _ (T_BytesMetaId s) -> s- PT _ (T_MetaFunctionName s) -> s---- | Convert a token to a string.-prToken :: Token -> String-prToken t = tokenText t---- | Finite map from text to token organized as binary search tree.-data BTree- = N -- ^ Nil (leaf).- | B String Tok BTree BTree- -- ^ Binary node.- deriving (Show)---- | Convert potential keyword into token or use fallback conversion.-eitherResIdent :: (String -> Tok) -> String -> Tok-eitherResIdent tv s = treeFind resWords- where- treeFind N = tv s- treeFind (B a t left right) =- case compare s a of- LT -> treeFind left- GT -> treeFind right- EQ -> t---- | The keywords and symbols of the language organized as binary search tree.-resWords :: BTree-resWords =- b "\955" 12- (b "[" 6- (b "*" 3 (b ")" 2 (b "(" 1 N N) N) (b "." 5 (b "," 4 N N) N))- (b "}" 9- (b "{" 8 (b "]" 7 N N) N) (b "\934" 11 (b "\916" 10 N N) N)))- (b "\8869" 18- (b "\966" 15- (b "\961" 14 (b "\958" 13 N N) N)- (b "\8709" 17 (b "\8614" 16 N N) N))- (b "\10214" 21- (b "\8969" 20 (b "\8968" 19 N N) N)- (b "\10509" 23 (b "\10215" 22 N N) N)))+alex_base = listArray (0 :: Int, 196)+ [ -8+ , -153+ , -159+ , 91+ , 219+ , 475+ , 594+ , 0+ , 0+ , 0+ , 707+ , -72+ , 771+ , -150+ , -156+ , 899+ , 1027+ , 1283+ , 1402+ , 0+ , 0+ , 0+ , 1515+ , 1580+ , 1644+ , -147+ , -152+ , 1772+ , 1900+ , 2156+ , 2275+ , 0+ , 0+ , 0+ , 2388+ , 2453+ , 2517+ , -146+ , -149+ , 2645+ , 2773+ , 3029+ , 3148+ , 140+ , 560+ , 610+ , 623+ , 3276+ , 593+ , 1368+ , 640+ , 650+ , -117+ , -185+ , -25+ , 3340+ , 3404+ , 1422+ , -24+ , 1448+ , 2274+ , -113+ , 2169+ , -143+ , 1292+ , -139+ , 0+ , 0+ , 0+ , 3453+ , 3518+ , 3582+ , 2253+ , 3710+ , 3838+ , 4094+ , 4188+ , 0+ , 4097+ , 4405+ , 0+ , 0+ , 0+ , 4458+ , 4337+ , 4522+ , 2262+ , 4650+ , 4778+ , 5034+ , 5152+ , 0+ , -12+ , 0+ , 5398+ , 5654+ , 5655+ , 5783+ , 5217+ , 5848+ , 5961+ , 0+ , 0+ , 0+ , 2279+ , 6207+ , 6463+ , 6464+ , 6592+ , 6656+ , 6721+ , 6834+ , 0+ , 0+ , 0+ , 0+ , 7048+ , 7262+ , 7518+ , 7519+ , 7647+ , 6904+ , 7114+ , 7760+ , 0+ , 0+ , 0+ , 619+ , 0+ , -136+ , -110+ , -86+ , 82+ , 0+ , 3114+ , 8016+ , 8261+ , 8506+ , 8742+ , 8998+ , 8999+ , 9127+ , -114+ , -105+ , 7952+ , 8198+ , 9240+ , 0+ , 0+ , 0+ , 9496+ , 9732+ , 9988+ , 9989+ , 10117+ , -80+ , -104+ , 8442+ , 9433+ , 10230+ , 0+ , 0+ , 0+ , 3147+ , 0+ , 3164+ , 10420+ , 10506+ , -48+ , 10762+ , 10763+ , 10891+ , 18+ , -71+ , 10955+ , 11020+ , 11133+ , 0+ , 0+ , 0+ , 11380+ , 11636+ , 11637+ , 11765+ , 34+ , -43+ , 11829+ , 11894+ , 12007+ , 0+ , 0+ , 0+ , 0+ , 0+ , 12071+ , 12136+ , 12249+ ]++alex_table :: Array Int Int+alex_table = listArray (0 :: Int, 12504)+ [ 0+ , 127+ , 127+ , 127+ , 127+ , 127+ , 2+ , -1+ , -1+ , 14+ , -1+ , -1+ , 26+ , 38+ , -1+ , -1+ , 128+ , -1+ , -1+ , 61+ , 57+ , 59+ , 128+ , 128+ , 127+ , 166+ , 105+ , 128+ , 128+ , 128+ , 117+ , 128+ , 128+ , 128+ , 128+ , 94+ , 128+ , 134+ , 128+ , 92+ , 43+ , 43+ , 43+ , 43+ , 43+ , 43+ , 43+ , 43+ , 43+ , 43+ , 128+ , 128+ , -1+ , -1+ , 142+ , 155+ , 42+ , 136+ , 136+ , 136+ , 136+ , 136+ , 136+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 128+ , 167+ , 128+ , -1+ , -1+ , 172+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 128+ , 184+ , 128+ , 128+ , 12+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 48+ , 55+ , 45+ , 45+ , 45+ , 45+ , 45+ , 45+ , 45+ , 45+ , 45+ , 45+ , 62+ , 132+ , -1+ , -1+ , 0+ , 0+ , 0+ , 54+ , 54+ , 54+ , 54+ , 54+ , 54+ , 128+ , 0+ , 0+ , 0+ , 0+ , 128+ , 0+ , 64+ , 4+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 5+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 48+ , -1+ , 44+ , 44+ , 44+ , 44+ , 44+ , 44+ , 44+ , 44+ , 44+ , 44+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , 127+ , 127+ , 127+ , 127+ , 127+ , -1+ , -1+ , -1+ , 0+ , 0+ , -1+ , -1+ , -1+ , 49+ , 49+ , 49+ , 49+ , 49+ , 49+ , 49+ , 49+ , 49+ , 49+ , 127+ , -1+ , -1+ , 0+ , 57+ , 48+ , -1+ , 44+ , 44+ , 44+ , 44+ , 44+ , 44+ , 44+ , 44+ , 44+ , 44+ , 50+ , 0+ , 0+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 0+ , 0+ , 0+ , 0+ , -1+ , 0+ , -1+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 51+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , -1+ , 0+ , 0+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 5+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 192+ , 194+ , 4+ , 93+ , 1+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 93+ , 195+ , 3+ , 193+ , 193+ , 193+ , 196+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 11+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 16+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 17+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 0+ , -1+ , 49+ , 49+ , 49+ , 49+ , 49+ , 49+ , 49+ , 49+ , 49+ , 49+ , 63+ , 0+ , 52+ , 0+ , 129+ , 0+ , 131+ , 0+ , -1+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , -1+ , 0+ , 0+ , -1+ , -1+ , -1+ , 0+ , 0+ , 65+ , 0+ , 0+ , 0+ , 0+ , 130+ , 0+ , 0+ , 0+ , -1+ , -1+ , 0+ , 0+ , 0+ , -1+ , 0+ , 0+ , 0+ , 46+ , 60+ , 60+ , 60+ , 60+ , 60+ , 60+ , 60+ , 60+ , 60+ , 60+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 60+ , 60+ , 60+ , 60+ , 60+ , 60+ , -1+ , 0+ , -1+ , 60+ , 60+ , 60+ , 60+ , 60+ , 60+ , 60+ , 60+ , 60+ , 60+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 60+ , 60+ , 60+ , 60+ , 60+ , 60+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , -1+ , 0+ , 0+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 17+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 9+ , 12+ , 16+ , 8+ , 13+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 8+ , 11+ , 15+ , 7+ , 7+ , 7+ , 10+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 23+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 24+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 28+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 29+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 76+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 90+ , 0+ , 0+ , 0+ , 0+ , 90+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , 0+ , 0+ , 0+ , 0+ , 105+ , -1+ , -1+ , -1+ , 128+ , 90+ , -1+ , -1+ , -1+ , 58+ , 58+ , 58+ , 58+ , 58+ , 58+ , 58+ , 58+ , 58+ , 58+ , 0+ , -1+ , -1+ , 53+ , 0+ , 0+ , -1+ , 58+ , 58+ , 58+ , 58+ , 58+ , 58+ , 76+ , 165+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 90+ , 76+ , 128+ , 0+ , 0+ , 128+ , 0+ , 0+ , 0+ , 76+ , 90+ , 0+ , -1+ , 76+ , -1+ , 76+ , 76+ , 105+ , 90+ , 0+ , 0+ , 0+ , 90+ , 0+ , 90+ , 0+ , 0+ , 105+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 105+ , 0+ , 0+ , 0+ , 105+ , 0+ , 105+ , 76+ , 0+ , -1+ , -1+ , -1+ , 0+ , 0+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 29+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 21+ , 24+ , 28+ , 20+ , 25+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 20+ , 23+ , 27+ , 19+ , 19+ , 19+ , 22+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 35+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 36+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 40+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 41+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 133+ , 0+ , -1+ , 44+ , 44+ , 44+ , 44+ , 44+ , 44+ , 44+ , 44+ , 44+ , 44+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , -1+ , 0+ , 0+ , -1+ , -1+ , -1+ , 163+ , 163+ , 163+ , 163+ , 163+ , 163+ , 163+ , 163+ , 163+ , 163+ , 0+ , -1+ , -1+ , 0+ , 0+ , 0+ , -1+ , 164+ , 163+ , 163+ , 163+ , 163+ , 163+ , 163+ , 163+ , 163+ , 163+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , 0+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , -1+ , 0+ , 0+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 41+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 33+ , 36+ , 40+ , 32+ , 37+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 32+ , 35+ , 39+ , 31+ , 31+ , 31+ , 34+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 0+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 0+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 0+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 0+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 0+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 0+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 70+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 71+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 74+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 75+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 77+ , 0+ , 0+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 0+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 72+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 75+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 68+ , 71+ , 74+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 67+ , 70+ , 73+ , 66+ , 66+ , 66+ , 69+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 79+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 0+ , 0+ , 0+ , 0+ , 79+ , 0+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 79+ , 85+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 78+ , 84+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 88+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 89+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 91+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 86+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 89+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 82+ , 85+ , 88+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 81+ , 84+ , 87+ , 80+ , 80+ , 80+ , 83+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 95+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 98+ , 96+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 99+ , 97+ , 103+ , 103+ , 103+ , 100+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 95+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 101+ , 96+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 102+ , 98+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 99+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 76+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 77+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 104+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 106+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 109+ , 107+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 110+ , 108+ , 114+ , 114+ , 114+ , 111+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 106+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 112+ , 107+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , 113+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 109+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 110+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 116+ , 0+ , 0+ , 0+ , 0+ , 115+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 118+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 121+ , 119+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 122+ , 120+ , 126+ , 126+ , 126+ , 123+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 116+ , 121+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 118+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 121+ , 119+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 122+ , 120+ , 126+ , 126+ , 126+ , 123+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 118+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 124+ , 119+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 125+ , 122+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 0+ , 0+ , 138+ , 138+ , 0+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 0+ , 0+ , 138+ , 138+ , 138+ , 138+ , 138+ , 79+ , 0+ , 0+ , 138+ , 138+ , 0+ , 0+ , 0+ , 138+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 0+ , 0+ , 138+ , 138+ , 138+ , 0+ , 138+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 0+ , 138+ , 0+ , 138+ , 135+ , 138+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 0+ , 0+ , 0+ , 138+ , 138+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 0+ , 139+ , 56+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 144+ , 140+ , 148+ , 143+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 145+ , 141+ , 149+ , 149+ , 149+ , 146+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 0+ , 0+ , 138+ , 138+ , 0+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 0+ , 0+ , 138+ , 138+ , 138+ , 138+ , 138+ , 79+ , 0+ , 0+ , 138+ , 138+ , 0+ , 0+ , 0+ , 138+ , 137+ , 137+ , 137+ , 137+ , 137+ , 137+ , 137+ , 137+ , 137+ , 137+ , 0+ , 0+ , 138+ , 138+ , 138+ , 0+ , 138+ , 137+ , 137+ , 137+ , 137+ , 137+ , 137+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 0+ , 138+ , 0+ , 138+ , 135+ , 138+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 0+ , 0+ , 0+ , 138+ , 138+ , 144+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 139+ , 56+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 144+ , 140+ , 148+ , 143+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 145+ , 141+ , 149+ , 149+ , 149+ , 146+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 0+ , 0+ , 138+ , 138+ , 0+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 138+ , 0+ , 0+ , 138+ , 138+ , 138+ , 138+ , 138+ , 79+ , 0+ , 0+ , 138+ , 138+ , 0+ , 57+ , 0+ , 138+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 0+ , 0+ , 138+ , 138+ , 138+ , 0+ , 138+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 0+ , 138+ , 0+ , 138+ , 135+ , 138+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 135+ , 0+ , 0+ , 0+ , 138+ , 138+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 0+ , 139+ , 56+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 144+ , 140+ , 148+ , 143+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 145+ , 141+ , 149+ , 149+ , 149+ , 146+ , -1+ , -1+ , 0+ , 0+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , -1+ , 0+ , 0+ , -1+ , -1+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , 0+ , 0+ , 0+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , 0+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , -1+ , 0+ , 0+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 139+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 144+ , 140+ , 148+ , 143+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 145+ , 141+ , 149+ , 149+ , 149+ , 146+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 139+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 147+ , 140+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 148+ , 145+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 151+ , 151+ , 151+ , 151+ , 151+ , 151+ , 151+ , 151+ , 151+ , 0+ , 0+ , 151+ , 151+ , 0+ , 151+ , 151+ , 151+ , 151+ , 151+ , 151+ , 151+ , 151+ , 151+ , 151+ , 151+ , 151+ , 151+ , 151+ , 151+ , 151+ , 151+ , 151+ , 0+ , 0+ , 151+ , 151+ , 151+ , 151+ , 151+ , 79+ , 0+ , 0+ , 151+ , 151+ , 0+ , 151+ , 0+ , 151+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 0+ , 0+ , 151+ , 151+ , 151+ , 0+ , 151+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 0+ , 151+ , 0+ , 151+ , 150+ , 151+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 150+ , 0+ , 0+ , 0+ , 151+ , 151+ , 157+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 152+ , 47+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 157+ , 153+ , 161+ , 156+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 158+ , 154+ , 162+ , 162+ , 162+ , 159+ , -1+ , -1+ , 0+ , 0+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , -1+ , 0+ , 0+ , -1+ , 0+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , 0+ , 0+ , 0+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , 0+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , -1+ , 0+ , 0+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 152+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 157+ , 153+ , 161+ , 156+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 158+ , 154+ , 162+ , 162+ , 162+ , 159+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 152+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 160+ , 153+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 161+ , 158+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 6+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , 0+ , 18+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 180+ , 0+ , -1+ , -1+ , 0+ , 30+ , 0+ , 0+ , 0+ , -1+ , -1+ , -1+ , 0+ , 0+ , -1+ , -1+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , 0+ , 0+ , 0+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , 0+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 168+ , 0+ , -1+ , -1+ , -1+ , 0+ , 0+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 169+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 174+ , 170+ , 178+ , 173+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 175+ , 171+ , 179+ , 179+ , 179+ , 176+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 169+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 177+ , 170+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , 178+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 174+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 175+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 0+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , -1+ , 0+ , 0+ , -1+ , -1+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , 0+ , 0+ , 0+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , 0+ , -1+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , 0+ , -1+ , -1+ , -1+ , 0+ , 0+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 181+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 186+ , 182+ , 190+ , 185+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 187+ , 183+ , 191+ , 191+ , 191+ , 188+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 0+ , 181+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 189+ , 182+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , 190+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 186+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 187+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 194+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 195+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ ]++alex_check :: Array Int Int+alex_check = listArray (0 :: Int, 12504)+ [ -1+ , 9+ , 10+ , 11+ , 12+ , 13+ , 159+ , 166+ , 167+ , 159+ , 166+ , 167+ , 159+ , 159+ , 166+ , 167+ , 133+ , 166+ , 167+ , 204+ , 45+ , 45+ , 135+ , 166+ , 32+ , 33+ , 34+ , 166+ , 167+ , 165+ , 42+ , 141+ , 40+ , 41+ , 42+ , 47+ , 44+ , 45+ , 46+ , 47+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 136+ , 137+ , 166+ , 167+ , 159+ , 159+ , 64+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , 91+ , 132+ , 93+ , 166+ , 167+ , 159+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , 123+ , 159+ , 125+ , 126+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 166+ , 167+ , 46+ , 195+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 206+ , 207+ , 166+ , 167+ , -1+ , -1+ , -1+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 129+ , -1+ , -1+ , -1+ , -1+ , 134+ , -1+ , 226+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 0+ , 1+ , 2+ , 3+ , 4+ , 5+ , 6+ , 7+ , 8+ , 9+ , 10+ , 11+ , 12+ , 13+ , 14+ , 15+ , 16+ , 17+ , 18+ , 19+ , 20+ , 21+ , 22+ , 23+ , 24+ , 25+ , 26+ , 27+ , 28+ , 29+ , 30+ , 31+ , 32+ , 33+ , 34+ , 35+ , 36+ , 37+ , 38+ , 39+ , 40+ , 41+ , 42+ , 43+ , 44+ , 45+ , 46+ , 47+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 58+ , 59+ , 60+ , 61+ , 62+ , 63+ , 64+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , 91+ , 92+ , 93+ , 94+ , 95+ , 96+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , 123+ , 124+ , 125+ , 126+ , 127+ , 9+ , 10+ , -1+ , 46+ , 13+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 32+ , 33+ , 9+ , 10+ , 11+ , 12+ , 13+ , 39+ , 40+ , 41+ , -1+ , -1+ , 44+ , 45+ , 46+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 32+ , 58+ , 59+ , -1+ , 45+ , 46+ , 63+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 45+ , -1+ , -1+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , -1+ , -1+ , -1+ , -1+ , 91+ , -1+ , 93+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 123+ , 124+ , 125+ , -1+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 0+ , 1+ , 2+ , 3+ , 4+ , 5+ , 6+ , 7+ , 8+ , 9+ , 10+ , 11+ , 12+ , 13+ , 14+ , 15+ , 16+ , 17+ , 18+ , 19+ , 20+ , 21+ , 22+ , 23+ , 24+ , 25+ , 26+ , 27+ , 28+ , 29+ , 30+ , 31+ , 32+ , 33+ , 34+ , 35+ , 36+ , 37+ , 38+ , 39+ , 40+ , 41+ , 42+ , 43+ , 44+ , 45+ , 46+ , 47+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 58+ , 59+ , 60+ , 61+ , 62+ , 63+ , 64+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , 91+ , 92+ , 93+ , 94+ , 95+ , 96+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , 123+ , 124+ , 125+ , 126+ , 127+ , 9+ , 10+ , -1+ , -1+ , 13+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 134+ , -1+ , 136+ , -1+ , 138+ , -1+ , 140+ , -1+ , 32+ , 33+ , -1+ , -1+ , -1+ , -1+ , -1+ , 39+ , 40+ , 41+ , -1+ , -1+ , 44+ , 45+ , 46+ , -1+ , -1+ , 159+ , -1+ , -1+ , -1+ , -1+ , 164+ , -1+ , -1+ , -1+ , 58+ , 59+ , -1+ , -1+ , -1+ , 63+ , -1+ , -1+ , -1+ , 101+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 91+ , -1+ , 93+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 123+ , 124+ , 125+ , -1+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 0+ , 1+ , 2+ , 3+ , 4+ , 5+ , 6+ , 7+ , 8+ , 9+ , 10+ , 11+ , 12+ , 13+ , 14+ , 15+ , 16+ , 17+ , 18+ , 19+ , 20+ , 21+ , 22+ , 23+ , 24+ , 25+ , 26+ , 27+ , 28+ , 29+ , 30+ , 31+ , 32+ , 33+ , 34+ , 35+ , 36+ , 37+ , 38+ , 39+ , 40+ , 41+ , 42+ , 43+ , 44+ , 45+ , 46+ , 47+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 58+ , 59+ , 60+ , 61+ , 62+ , 63+ , 64+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , 91+ , 92+ , 93+ , 94+ , 95+ , 96+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , 123+ , 124+ , 125+ , 126+ , 127+ , 9+ , 10+ , -1+ , 34+ , 13+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 34+ , -1+ , -1+ , -1+ , -1+ , 39+ , -1+ , -1+ , -1+ , -1+ , -1+ , 32+ , 33+ , -1+ , -1+ , -1+ , -1+ , 34+ , 39+ , 40+ , 41+ , 148+ , 39+ , 44+ , 45+ , 46+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , -1+ , 58+ , 59+ , 166+ , -1+ , -1+ , 63+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 92+ , 177+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 92+ , 102+ , 187+ , -1+ , -1+ , 190+ , -1+ , -1+ , -1+ , 110+ , 102+ , -1+ , 91+ , 114+ , 93+ , 116+ , 117+ , 92+ , 110+ , -1+ , -1+ , -1+ , 114+ , -1+ , 116+ , -1+ , -1+ , 102+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 110+ , -1+ , -1+ , -1+ , 114+ , -1+ , 116+ , 117+ , -1+ , 123+ , 124+ , 125+ , -1+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 0+ , 1+ , 2+ , 3+ , 4+ , 5+ , 6+ , 7+ , 8+ , 9+ , 10+ , 11+ , 12+ , 13+ , 14+ , 15+ , 16+ , 17+ , 18+ , 19+ , 20+ , 21+ , 22+ , 23+ , 24+ , 25+ , 26+ , 27+ , 28+ , 29+ , 30+ , 31+ , 32+ , 33+ , 34+ , 35+ , 36+ , 37+ , 38+ , 39+ , 40+ , 41+ , 42+ , 43+ , 44+ , 45+ , 46+ , 47+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 58+ , 59+ , 60+ , 61+ , 62+ , 63+ , 64+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , 91+ , 92+ , 93+ , 94+ , 95+ , 96+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , 123+ , 124+ , 125+ , 126+ , 127+ , 9+ , 10+ , 45+ , -1+ , 13+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 32+ , 33+ , -1+ , -1+ , -1+ , -1+ , -1+ , 39+ , 40+ , 41+ , -1+ , -1+ , 44+ , 45+ , 46+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , -1+ , 58+ , 59+ , -1+ , -1+ , -1+ , 63+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 91+ , -1+ , 93+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 123+ , 124+ , 125+ , -1+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , -1+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , -1+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , -1+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , -1+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , -1+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , -1+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 0+ , 1+ , 2+ , 3+ , 4+ , 5+ , 6+ , 7+ , 8+ , 9+ , 10+ , 11+ , 12+ , 13+ , 14+ , 15+ , 16+ , 17+ , 18+ , 19+ , 20+ , 21+ , 22+ , 23+ , 24+ , 25+ , 26+ , 27+ , 28+ , 29+ , 30+ , 31+ , 32+ , 33+ , 34+ , 35+ , 36+ , 37+ , 38+ , 39+ , 40+ , 41+ , 42+ , 43+ , 44+ , 45+ , 46+ , 47+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 58+ , 59+ , 60+ , 61+ , 62+ , 63+ , 64+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , 91+ , 92+ , 93+ , 94+ , 95+ , 96+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , 123+ , 124+ , 125+ , 126+ , 127+ , 34+ , -1+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , -1+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 92+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 39+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , -1+ , -1+ , -1+ , -1+ , 95+ , -1+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 195+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 0+ , 1+ , 2+ , 3+ , 4+ , 5+ , 6+ , 7+ , 8+ , 9+ , 10+ , 11+ , 12+ , 13+ , 14+ , 15+ , 16+ , 17+ , 18+ , 19+ , 20+ , 21+ , 22+ , 23+ , 24+ , 25+ , 26+ , 27+ , 28+ , 29+ , 30+ , 31+ , 32+ , 33+ , 34+ , 35+ , 36+ , 37+ , 38+ , 39+ , 40+ , 41+ , 42+ , 43+ , 44+ , 45+ , 46+ , 47+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 58+ , 59+ , 60+ , 61+ , 62+ , 63+ , 64+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , 91+ , 92+ , 93+ , 94+ , 95+ , 96+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , 123+ , 124+ , 125+ , 126+ , 127+ , 10+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 34+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 92+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 10+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 0+ , 1+ , 2+ , 3+ , 4+ , 5+ , 6+ , 7+ , 8+ , 9+ , 10+ , 11+ , 12+ , 13+ , 14+ , 15+ , 16+ , 17+ , 18+ , 19+ , 20+ , 21+ , 22+ , 23+ , 24+ , 25+ , 26+ , 27+ , 28+ , 29+ , 30+ , 31+ , 32+ , 33+ , 34+ , 35+ , 36+ , 37+ , 38+ , 39+ , 40+ , 41+ , 42+ , 43+ , 44+ , 45+ , 46+ , 47+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 58+ , 59+ , 60+ , 61+ , 62+ , 63+ , 64+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , 91+ , 92+ , 93+ , 94+ , 95+ , 96+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , 123+ , 124+ , 125+ , 126+ , 127+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 10+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 34+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 92+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 0+ , 1+ , 2+ , 3+ , 4+ , 5+ , 6+ , 7+ , 8+ , 9+ , 10+ , 11+ , 12+ , 13+ , 14+ , 15+ , 16+ , 17+ , 18+ , 19+ , 20+ , 21+ , 22+ , 23+ , 24+ , 25+ , 26+ , 27+ , 28+ , 29+ , 30+ , 31+ , 32+ , 33+ , 34+ , 35+ , 36+ , 37+ , 38+ , 39+ , 40+ , 41+ , 42+ , 43+ , 44+ , 45+ , 46+ , 47+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 58+ , 59+ , 60+ , 61+ , 62+ , 63+ , 64+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , 91+ , 92+ , 93+ , 94+ , 95+ , 96+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , 123+ , 124+ , 125+ , 126+ , 127+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 42+ , -1+ , -1+ , -1+ , -1+ , 47+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 42+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 0+ , 1+ , 2+ , 3+ , 4+ , 5+ , 6+ , 7+ , 8+ , 9+ , 10+ , 11+ , 12+ , 13+ , 14+ , 15+ , 16+ , 17+ , 18+ , 19+ , 20+ , 21+ , 22+ , 23+ , 24+ , 25+ , 26+ , 27+ , 28+ , 29+ , 30+ , 31+ , 32+ , 33+ , 34+ , 35+ , 36+ , 37+ , 38+ , 39+ , 40+ , 41+ , 42+ , 43+ , 44+ , 45+ , 46+ , 47+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 58+ , 59+ , 60+ , 61+ , 62+ , 63+ , 64+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , 91+ , 92+ , 93+ , 94+ , 95+ , 96+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , 123+ , 124+ , 125+ , 126+ , 127+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 0+ , 1+ , 2+ , 3+ , 4+ , 5+ , 6+ , 7+ , 8+ , -1+ , -1+ , 11+ , 12+ , -1+ , 14+ , 15+ , 16+ , 17+ , 18+ , 19+ , 20+ , 21+ , 22+ , 23+ , 24+ , 25+ , 26+ , 27+ , 28+ , 29+ , 30+ , 31+ , -1+ , -1+ , 34+ , 35+ , 36+ , 37+ , 38+ , 39+ , -1+ , -1+ , 42+ , 43+ , -1+ , -1+ , -1+ , 47+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , -1+ , -1+ , 60+ , 61+ , 62+ , -1+ , 64+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , -1+ , 92+ , -1+ , 94+ , 95+ , 96+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , -1+ , -1+ , -1+ , 126+ , 127+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , -1+ , -1+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 0+ , 1+ , 2+ , 3+ , 4+ , 5+ , 6+ , 7+ , 8+ , -1+ , -1+ , 11+ , 12+ , -1+ , 14+ , 15+ , 16+ , 17+ , 18+ , 19+ , 20+ , 21+ , 22+ , 23+ , 24+ , 25+ , 26+ , 27+ , 28+ , 29+ , 30+ , 31+ , -1+ , -1+ , 34+ , 35+ , 36+ , 37+ , 38+ , 39+ , -1+ , -1+ , 42+ , 43+ , -1+ , -1+ , -1+ , 47+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , -1+ , -1+ , 60+ , 61+ , 62+ , -1+ , 64+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , -1+ , 92+ , -1+ , 94+ , 95+ , 96+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , -1+ , -1+ , -1+ , 126+ , 127+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , -1+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 0+ , 1+ , 2+ , 3+ , 4+ , 5+ , 6+ , 7+ , 8+ , -1+ , -1+ , 11+ , 12+ , -1+ , 14+ , 15+ , 16+ , 17+ , 18+ , 19+ , 20+ , 21+ , 22+ , 23+ , 24+ , 25+ , 26+ , 27+ , 28+ , 29+ , 30+ , 31+ , -1+ , -1+ , 34+ , 35+ , 36+ , 37+ , 38+ , 39+ , -1+ , -1+ , 42+ , 43+ , -1+ , 45+ , -1+ , 47+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , -1+ , -1+ , 60+ , 61+ , 62+ , -1+ , 64+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , -1+ , 92+ , -1+ , 94+ , 95+ , 96+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , -1+ , -1+ , -1+ , 126+ , 127+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , -1+ , -1+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 9+ , 10+ , -1+ , -1+ , 13+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 32+ , 33+ , -1+ , -1+ , -1+ , -1+ , -1+ , 39+ , 40+ , 41+ , -1+ , -1+ , 44+ , 45+ , 46+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 58+ , 59+ , -1+ , -1+ , -1+ , 63+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 91+ , -1+ , 93+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 123+ , 124+ , 125+ , -1+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 0+ , 1+ , 2+ , 3+ , 4+ , 5+ , 6+ , 7+ , 8+ , 9+ , 10+ , 11+ , 12+ , 13+ , 14+ , 15+ , 16+ , 17+ , 18+ , 19+ , 20+ , 21+ , 22+ , 23+ , 24+ , 25+ , 26+ , 27+ , 28+ , 29+ , 30+ , 31+ , 32+ , 33+ , 34+ , 35+ , 36+ , 37+ , 38+ , 39+ , 40+ , 41+ , 42+ , 43+ , 44+ , 45+ , 46+ , 47+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 58+ , 59+ , 60+ , 61+ , 62+ , 63+ , 64+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , 91+ , 92+ , 93+ , 94+ , 95+ , 96+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , 123+ , 124+ , 125+ , 126+ , 127+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 0+ , 1+ , 2+ , 3+ , 4+ , 5+ , 6+ , 7+ , 8+ , -1+ , -1+ , 11+ , 12+ , -1+ , 14+ , 15+ , 16+ , 17+ , 18+ , 19+ , 20+ , 21+ , 22+ , 23+ , 24+ , 25+ , 26+ , 27+ , 28+ , 29+ , 30+ , 31+ , -1+ , -1+ , 34+ , 35+ , 36+ , 37+ , 38+ , 39+ , -1+ , -1+ , 42+ , 43+ , -1+ , 45+ , -1+ , 47+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , -1+ , -1+ , 60+ , 61+ , 62+ , -1+ , 64+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , -1+ , 92+ , -1+ , 94+ , 95+ , 96+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , -1+ , -1+ , -1+ , 126+ , 127+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , -1+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 9+ , 10+ , -1+ , -1+ , 13+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 32+ , 33+ , -1+ , -1+ , -1+ , -1+ , -1+ , 39+ , 40+ , 41+ , -1+ , -1+ , 44+ , -1+ , 46+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 58+ , 59+ , -1+ , -1+ , -1+ , 63+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 91+ , -1+ , 93+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 123+ , 124+ , 125+ , -1+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 0+ , 1+ , 2+ , 3+ , 4+ , 5+ , 6+ , 7+ , 8+ , 9+ , 10+ , 11+ , 12+ , 13+ , 14+ , 15+ , 16+ , 17+ , 18+ , 19+ , 20+ , 21+ , 22+ , 23+ , 24+ , 25+ , 26+ , 27+ , 28+ , 29+ , 30+ , 31+ , 32+ , 33+ , 34+ , 35+ , 36+ , 37+ , 38+ , 39+ , 40+ , 41+ , 42+ , 43+ , 44+ , 45+ , 46+ , 47+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 58+ , 59+ , 60+ , 61+ , 62+ , 63+ , 64+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , 91+ , 92+ , 93+ , 94+ , 95+ , 96+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , 123+ , 124+ , 125+ , 126+ , 127+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 66+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 9+ , 10+ , -1+ , 98+ , 13+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 116+ , -1+ , 32+ , 33+ , -1+ , 121+ , -1+ , -1+ , -1+ , 39+ , 40+ , 41+ , -1+ , -1+ , 44+ , 45+ , 46+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 58+ , 59+ , -1+ , -1+ , -1+ , 63+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 91+ , -1+ , 93+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 207+ , -1+ , 123+ , 124+ , 125+ , -1+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 0+ , 1+ , 2+ , 3+ , 4+ , 5+ , 6+ , 7+ , 8+ , 9+ , 10+ , 11+ , 12+ , 13+ , 14+ , 15+ , 16+ , 17+ , 18+ , 19+ , 20+ , 21+ , 22+ , 23+ , 24+ , 25+ , 26+ , 27+ , 28+ , 29+ , 30+ , 31+ , 32+ , 33+ , 34+ , 35+ , 36+ , 37+ , 38+ , 39+ , 40+ , 41+ , 42+ , 43+ , 44+ , 45+ , 46+ , 47+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 58+ , 59+ , 60+ , 61+ , 62+ , 63+ , 64+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , 91+ , 92+ , 93+ , 94+ , 95+ , 96+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , 123+ , 124+ , 125+ , 126+ , 127+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 9+ , 10+ , -1+ , -1+ , 13+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 32+ , 33+ , -1+ , -1+ , -1+ , -1+ , -1+ , 39+ , 40+ , 41+ , -1+ , -1+ , 44+ , 45+ , 46+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 58+ , 59+ , -1+ , -1+ , -1+ , 63+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 91+ , -1+ , 93+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 123+ , 124+ , 125+ , -1+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 0+ , 1+ , 2+ , 3+ , 4+ , 5+ , 6+ , 7+ , 8+ , 9+ , 10+ , 11+ , 12+ , 13+ , 14+ , 15+ , 16+ , 17+ , 18+ , 19+ , 20+ , 21+ , 22+ , 23+ , 24+ , 25+ , 26+ , 27+ , 28+ , 29+ , 30+ , 31+ , 32+ , 33+ , 34+ , 35+ , 36+ , 37+ , 38+ , 39+ , 40+ , 41+ , 42+ , 43+ , 44+ , 45+ , 46+ , 47+ , 48+ , 49+ , 50+ , 51+ , 52+ , 53+ , 54+ , 55+ , 56+ , 57+ , 58+ , 59+ , 60+ , 61+ , 62+ , 63+ , 64+ , 65+ , 66+ , 67+ , 68+ , 69+ , 70+ , 71+ , 72+ , 73+ , 74+ , 75+ , 76+ , 77+ , 78+ , 79+ , 80+ , 81+ , 82+ , 83+ , 84+ , 85+ , 86+ , 87+ , 88+ , 89+ , 90+ , 91+ , 92+ , 93+ , 94+ , 95+ , 96+ , 97+ , 98+ , 99+ , 100+ , 101+ , 102+ , 103+ , 104+ , 105+ , 106+ , 107+ , 108+ , 109+ , 110+ , 111+ , 112+ , 113+ , 114+ , 115+ , 116+ , 117+ , 118+ , 119+ , 120+ , 121+ , 122+ , 123+ , 124+ , 125+ , 126+ , 127+ , -1+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 128+ , 129+ , 130+ , 131+ , 132+ , 133+ , 134+ , 135+ , 136+ , 137+ , 138+ , 139+ , 140+ , 141+ , 142+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ , 143+ , 144+ , 145+ , 146+ , 147+ , 148+ , 149+ , 150+ , 151+ , 152+ , 153+ , 154+ , 155+ , 156+ , 157+ , 158+ , 159+ , 160+ , 161+ , 162+ , 163+ , 164+ , 165+ , 166+ , 167+ , 168+ , 169+ , 170+ , 171+ , 172+ , 173+ , 174+ , 175+ , 176+ , 177+ , 178+ , 179+ , 180+ , 181+ , 182+ , 183+ , 184+ , 185+ , 186+ , 187+ , 188+ , 189+ , 190+ , 191+ , 192+ , 193+ , 194+ , 195+ , 196+ , 197+ , 198+ , 199+ , 200+ , 201+ , 202+ , 203+ , 204+ , 205+ , 206+ , 207+ , 208+ , 209+ , 210+ , 211+ , 212+ , 213+ , 214+ , 215+ , 216+ , 217+ , 218+ , 219+ , 220+ , 221+ , 222+ , 223+ , 224+ , 225+ , 226+ , 227+ , 228+ , 229+ , 230+ , 231+ , 232+ , 233+ , 234+ , 235+ , 236+ , 237+ , 238+ , 239+ , 240+ , 241+ , 242+ , 243+ , 244+ , 245+ , 246+ , 247+ , 248+ , 249+ , 250+ , 251+ , 252+ , 253+ , 254+ , 255+ ]++alex_deflt :: Array Int Int+alex_deflt = listArray (0 :: Int, 196)+ [ -1+ , 192+ , 6+ , -1+ , -1+ , 6+ , 6+ , 8+ , 9+ , 18+ , 8+ , 9+ , 18+ , 9+ , 18+ , -1+ , -1+ , 18+ , 18+ , 20+ , 21+ , 30+ , 20+ , 21+ , 30+ , 21+ , 30+ , -1+ , -1+ , 30+ , 30+ , 32+ , 33+ , 42+ , 32+ , 33+ , 42+ , 33+ , 42+ , -1+ , -1+ , 42+ , 42+ , -1+ , -1+ , -1+ , -1+ , 151+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 138+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 67+ , 68+ , 76+ , 67+ , 68+ , 76+ , -1+ , -1+ , -1+ , 76+ , 76+ , -1+ , -1+ , -1+ , 81+ , 82+ , 90+ , 81+ , 82+ , 90+ , -1+ , -1+ , -1+ , 90+ , 90+ , -1+ , -1+ , 192+ , 94+ , 94+ , -1+ , -1+ , 94+ , 101+ , 102+ , 94+ , 101+ , 102+ , -1+ , 105+ , 105+ , -1+ , -1+ , 105+ , 112+ , 113+ , 105+ , 112+ , 113+ , -1+ , 117+ , 117+ , 117+ , -1+ , -1+ , 117+ , 124+ , 125+ , 117+ , 124+ , 125+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , -1+ , 138+ , 138+ , -1+ , -1+ , 138+ , 147+ , 138+ , 147+ , 148+ , 138+ , 147+ , 148+ , -1+ , 151+ , 151+ , -1+ , -1+ , 151+ , 160+ , 151+ , 160+ , 161+ , 151+ , 160+ , 161+ , -1+ , -1+ , -1+ , -1+ , 167+ , -1+ , 167+ , -1+ , -1+ , 167+ , 177+ , 167+ , 177+ , 178+ , 167+ , 177+ , 178+ , 180+ , 180+ , -1+ , -1+ , 180+ , 189+ , 180+ , 189+ , 190+ , 180+ , 189+ , 190+ , 6+ , 93+ , 6+ , 192+ , 93+ ]++alex_accept = listArray (0 :: Int, 196)+ [ AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAcc 26+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAcc 25+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAcc 24+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAcc 23+ , AlexAcc 22+ , AlexAcc 21+ , AlexAcc 20+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAcc 19+ , AlexAccNone+ , AlexAcc 18+ , AlexAccNone+ , AlexAcc 17+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAcc 16+ , AlexAcc 15+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAcc 14+ , AlexAccNone+ , AlexAcc 13+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAcc 12+ , AlexAccNone+ , AlexAccNone+ , AlexAccSkip+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccSkip+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccSkip+ , AlexAcc 11+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAcc 10+ , AlexAccNone+ , AlexAcc 9+ , AlexAcc 8+ , AlexAcc 7+ , AlexAcc 6+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAcc 5+ , AlexAcc 4+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAcc 3+ , AlexAcc 2+ , AlexAccNone+ , AlexAccNone+ , AlexAcc 1+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAcc 0+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ , AlexAccNone+ ]++alex_actions = array (0 :: Int, 27)+ [ (26,alex_action_10)+ , (25,alex_action_11)+ , (24,alex_action_12)+ , (23,alex_action_13)+ , (22,alex_action_14)+ , (21,alex_action_14)+ , (20,alex_action_14)+ , (19,alex_action_15)+ , (18,alex_action_15)+ , (17,alex_action_3)+ , (16,alex_action_4)+ , (15,alex_action_4)+ , (14,alex_action_16)+ , (13,alex_action_17)+ , (12,alex_action_18)+ , (11,alex_action_3)+ , (10,alex_action_4)+ , (9,alex_action_5)+ , (8,alex_action_5)+ , (7,alex_action_5)+ , (6,alex_action_5)+ , (5,alex_action_6)+ , (4,alex_action_6)+ , (3,alex_action_7)+ , (2,alex_action_7)+ , (1,alex_action_8)+ , (0,alex_action_9)+ ]++alex_action_3 = tok (eitherResIdent TV)+alex_action_4 = tok (eitherResIdent T_Bytes)+alex_action_5 = tok (eitherResIdent T_Function)+alex_action_6 = tok (eitherResIdent T_LabelId)+alex_action_7 = tok (eitherResIdent T_AlphaIndex)+alex_action_8 = tok (eitherResIdent T_LabelMetaId)+alex_action_9 = tok (eitherResIdent T_TailMetaId)+alex_action_10 = tok (eitherResIdent T_BindingsMetaId)+alex_action_11 = tok (eitherResIdent T_ObjectMetaId)+alex_action_12 = tok (eitherResIdent T_BytesMetaId)+alex_action_13 = tok (eitherResIdent T_MetaFunctionName)+alex_action_14 = tok (eitherResIdent T_IntegerSigned)+alex_action_15 = tok (eitherResIdent T_DoubleSigned)+alex_action_16 = tok (eitherResIdent T_StringRaw)+alex_action_17 = tok (eitherResIdent TV)+alex_action_18 = tok (TL . unescapeInitTail)+alex_action_19 = tok TI+alex_action_20 = tok TD++#define ALEX_NOPRED 1+-- -----------------------------------------------------------------------------+-- ALEX TEMPLATE+--+-- This code is in the PUBLIC DOMAIN; you may copy it freely and use+-- it for any purpose whatsoever.++-- -----------------------------------------------------------------------------+-- INTERNALS and main scanner engine++#ifdef ALEX_GHC+# define ILIT(n) n#+# define IBOX(n) (I# (n))+# define FAST_INT Int#+-- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.+# if __GLASGOW_HASKELL__ > 706+# define GTE(n,m) (tagToEnum# (n >=# m))+# define EQ(n,m) (tagToEnum# (n ==# m))+# else+# define GTE(n,m) (n >=# m)+# define EQ(n,m) (n ==# m)+# endif+# define PLUS(n,m) (n +# m)+# define MINUS(n,m) (n -# m)+# define TIMES(n,m) (n *# m)+# define NEGATE(n) (negateInt# (n))+# define IF_GHC(x) (x)+#else+# define ILIT(n) (n)+# define IBOX(n) (n)+# define FAST_INT Int+# define GTE(n,m) (n >= m)+# define EQ(n,m) (n == m)+# define PLUS(n,m) (n + m)+# define MINUS(n,m) (n - m)+# define TIMES(n,m) (n * m)+# define NEGATE(n) (negate (n))+# define IF_GHC(x)+#endif++#ifdef ALEX_GHC+data AlexAddr = AlexA# Addr#+-- Do not remove this comment. Required to fix CPP parsing when using GCC and a clang-compiled alex.+#if __GLASGOW_HASKELL__ < 503+uncheckedShiftL# = shiftL#+#endif++{-# INLINE alexIndexInt16OffAddr #-}+alexIndexInt16OffAddr :: AlexAddr -> Int# -> Int#+alexIndexInt16OffAddr (AlexA# arr) off =+#ifdef WORDS_BIGENDIAN+ narrow16Int# i+ where+ i = word2Int# ((high `uncheckedShiftL#` 8#) `or#` low)+ high = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))+ low = int2Word# (ord# (indexCharOffAddr# arr off'))+ off' = off *# 2#+#else+#if __GLASGOW_HASKELL__ >= 901+ int16ToInt#+#endif+ (indexInt16OffAddr# arr off)+#endif+#else+alexIndexInt16OffAddr arr off = arr ! off+#endif++#ifdef ALEX_GHC+{-# INLINE alexIndexInt32OffAddr #-}+alexIndexInt32OffAddr :: AlexAddr -> Int# -> Int#+alexIndexInt32OffAddr (AlexA# arr) off =+#ifdef WORDS_BIGENDIAN+ narrow32Int# i+ where+ i = word2Int# ((b3 `uncheckedShiftL#` 24#) `or#`+ (b2 `uncheckedShiftL#` 16#) `or#`+ (b1 `uncheckedShiftL#` 8#) `or#` b0)+ b3 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 3#)))+ b2 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 2#)))+ b1 = int2Word# (ord# (indexCharOffAddr# arr (off' +# 1#)))+ b0 = int2Word# (ord# (indexCharOffAddr# arr off'))+ off' = off *# 4#+#else+#if __GLASGOW_HASKELL__ >= 901+ int32ToInt#+#endif+ (indexInt32OffAddr# arr off)+#endif+#else+alexIndexInt32OffAddr arr off = arr ! off+#endif++#ifdef ALEX_GHC++#if __GLASGOW_HASKELL__ < 503+quickIndex arr i = arr ! i+#else+-- GHC >= 503, unsafeAt is available from Data.Array.Base.+quickIndex = unsafeAt+#endif+#else+quickIndex arr i = arr ! i+#endif++-- -----------------------------------------------------------------------------+-- Main lexing routines++data AlexReturn a+ = AlexEOF+ | AlexError !AlexInput+ | AlexSkip !AlexInput !Int+ | AlexToken !AlexInput !Int a++-- alexScan :: AlexInput -> StartCode -> AlexReturn a+alexScan input__ IBOX(sc)+ = alexScanUser undefined input__ IBOX(sc)++alexScanUser user__ input__ IBOX(sc)+ = case alex_scan_tkn user__ input__ ILIT(0) input__ sc AlexNone of+ (AlexNone, input__') ->+ case alexGetByte input__ of+ Nothing ->+#ifdef ALEX_DEBUG+ trace ("End of input.") $+#endif+ AlexEOF+ Just _ ->+#ifdef ALEX_DEBUG+ trace ("Error.") $+#endif+ AlexError input__'++ (AlexLastSkip input__'' len, _) ->+#ifdef ALEX_DEBUG+ trace ("Skipping.") $+#endif+ AlexSkip input__'' len++ (AlexLastAcc k input__''' len, _) ->+#ifdef ALEX_DEBUG+ trace ("Accept.") $+#endif+ AlexToken input__''' len (alex_actions ! k)+++-- Push the input through the DFA, remembering the most recent accepting+-- state it encountered.++alex_scan_tkn user__ orig_input len input__ s last_acc =+ input__ `seq` -- strict in the input+ let+ new_acc = (check_accs (alex_accept `quickIndex` IBOX(s)))+ in+ new_acc `seq`+ case alexGetByte input__ of+ Nothing -> (new_acc, input__)+ Just (c, new_input) ->+#ifdef ALEX_DEBUG+ trace ("State: " ++ show IBOX(s) ++ ", char: " ++ show c) $+#endif+ case fromIntegral c of { IBOX(ord_c) ->+ let+ base = alexIndexInt32OffAddr alex_base s+ offset = PLUS(base,ord_c)++ new_s = if GTE(offset,ILIT(0))+ && let check = alexIndexInt16OffAddr alex_check offset+ in EQ(check,ord_c)+ then alexIndexInt16OffAddr alex_table offset+ else alexIndexInt16OffAddr alex_deflt s+ in+ case new_s of+ ILIT(-1) -> (new_acc, input__)+ -- on an error, we want to keep the input *before* the+ -- character that failed, not after.+ _ -> alex_scan_tkn user__ orig_input+#ifdef ALEX_LATIN1+ PLUS(len,ILIT(1))+ -- issue 119: in the latin1 encoding, *each* byte is one character+#else+ (if c < 0x80 || c >= 0xC0 then PLUS(len,ILIT(1)) else len)+ -- note that the length is increased ONLY if this is the 1st byte in a char encoding)+#endif+ new_input new_s new_acc+ }+ where+ check_accs (AlexAccNone) = last_acc+ check_accs (AlexAcc a ) = AlexLastAcc a input__ IBOX(len)+ check_accs (AlexAccSkip) = AlexLastSkip input__ IBOX(len)+#ifndef ALEX_NOPRED+ check_accs (AlexAccPred a predx rest)+ | predx user__ orig_input IBOX(len) input__+ = AlexLastAcc a input__ IBOX(len)+ | otherwise+ = check_accs rest+ check_accs (AlexAccSkipPred predx rest)+ | predx user__ orig_input IBOX(len) input__+ = AlexLastSkip input__ IBOX(len)+ | otherwise+ = check_accs rest+#endif++data AlexLastAcc+ = AlexNone+ | AlexLastAcc !Int !AlexInput !Int+ | AlexLastSkip !AlexInput !Int++data AlexAcc user+ = AlexAccNone+ | AlexAcc Int+ | AlexAccSkip+#ifndef ALEX_NOPRED+ | AlexAccPred Int (AlexAccPred user) (AlexAcc user)+ | AlexAccSkipPred (AlexAccPred user) (AlexAcc user)++type AlexAccPred user = user -> AlexInput -> Int -> AlexInput -> Bool++-- -----------------------------------------------------------------------------+-- Predicates on a rule++alexAndPred p1 p2 user__ in1 len in2+ = p1 user__ in1 len in2 && p2 user__ in1 len in2++--alexPrevCharIsPred :: Char -> AlexAccPred _+alexPrevCharIs c _ input__ _ _ = c == alexInputPrevChar input__++alexPrevCharMatches f _ input__ _ _ = f (alexInputPrevChar input__)++--alexPrevCharIsOneOfPred :: Array Char Bool -> AlexAccPred _+alexPrevCharIsOneOf arr _ input__ _ _ = arr ! alexInputPrevChar input__++--alexRightContext :: Int -> AlexAccPred _+alexRightContext IBOX(sc) user__ _ _ input__ =+ case alex_scan_tkn user__ input__ ILIT(0) input__ sc AlexNone of+ (AlexNone, _) -> False+ _ -> True+ -- TODO: there's no need to find the longest+ -- match when checking the right context, just+ -- the first match will do.+#endif+{-# LINE 116 "Lex.x" #-}+-- | Create a token with position.+tok :: (String -> Tok) -> (Posn -> String -> Token)+tok f p = PT p . f++-- | Token without position.+data Tok+ = TK {-# UNPACK #-} !TokSymbol -- ^ Reserved word or symbol.+ | TL !String -- ^ String literal.+ | TI !String -- ^ Integer literal.+ | TV !String -- ^ Identifier.+ | TD !String -- ^ Float literal.+ | TC !String -- ^ Character literal.+ | T_Bytes !String+ | T_Function !String+ | T_LabelId !String+ | T_AlphaIndex !String+ | T_LabelMetaId !String+ | T_TailMetaId !String+ | T_BindingsMetaId !String+ | T_ObjectMetaId !String+ | T_BytesMetaId !String+ | T_MetaFunctionName !String+ | T_IntegerSigned !String+ | T_DoubleSigned !String+ | T_StringRaw !String+ deriving (Eq, Show, Ord)++-- | Smart constructor for 'Tok' for the sake of backwards compatibility.+pattern TS :: String -> Int -> Tok+pattern TS t i = TK (TokSymbol t i)++-- | Keyword or symbol tokens have a unique ID.+data TokSymbol = TokSymbol+ { tsText :: String+ -- ^ Keyword or symbol text.+ , tsID :: !Int+ -- ^ Unique ID.+ } deriving (Show)++-- | Keyword/symbol equality is determined by the unique ID.+instance Eq TokSymbol where (==) = (==) `on` tsID++-- | Keyword/symbol ordering is determined by the unique ID.+instance Ord TokSymbol where compare = compare `on` tsID++-- | Token with position.+data Token+ = PT Posn Tok+ | Err Posn+ deriving (Eq, Show, Ord)++-- | Pretty print a position.+printPosn :: Posn -> String+printPosn (Pn _ l c) = "line " ++ show l ++ ", column " ++ show c++-- | Pretty print the position of the first token in the list.+tokenPos :: [Token] -> String+tokenPos (t:_) = printPosn (tokenPosn t)+tokenPos [] = "end of file"++-- | Get the position of a token.+tokenPosn :: Token -> Posn+tokenPosn (PT p _) = p+tokenPosn (Err p) = p++-- | Get line and column of a token.+tokenLineCol :: Token -> (Int, Int)+tokenLineCol = posLineCol . tokenPosn++-- | Get line and column of a position.+posLineCol :: Posn -> (Int, Int)+posLineCol (Pn _ l c) = (l,c)++-- | Convert a token into "position token" form.+mkPosToken :: Token -> ((Int, Int), String)+mkPosToken t = (tokenLineCol t, tokenText t)++-- | Convert a token to its text.+tokenText :: Token -> String+tokenText t = case t of+ PT _ (TS s _) -> s+ PT _ (TL s) -> show s+ PT _ (TI s) -> s+ PT _ (TV s) -> s+ PT _ (TD s) -> s+ PT _ (TC s) -> s+ Err _ -> "#error"+ PT _ (T_Bytes s) -> s+ PT _ (T_Function s) -> s+ PT _ (T_LabelId s) -> s+ PT _ (T_AlphaIndex s) -> s+ PT _ (T_LabelMetaId s) -> s+ PT _ (T_TailMetaId s) -> s+ PT _ (T_BindingsMetaId s) -> s+ PT _ (T_ObjectMetaId s) -> s+ PT _ (T_BytesMetaId s) -> s+ PT _ (T_MetaFunctionName s) -> s+ PT _ (T_IntegerSigned s) -> s+ PT _ (T_DoubleSigned s) -> s+ PT _ (T_StringRaw s) -> s++-- | Convert a token to a string.+prToken :: Token -> String+prToken t = tokenText t++-- | Finite map from text to token organized as binary search tree.+data BTree+ = N -- ^ Nil (leaf).+ | B String Tok BTree BTree+ -- ^ Binary node.+ deriving (Show)++-- | Convert potential keyword into token or use fallback conversion.+eitherResIdent :: (String -> Tok) -> String -> Tok+eitherResIdent tv s = treeFind resWords+ where+ treeFind N = tv s+ treeFind (B a t left right) =+ case compare s a of+ LT -> treeFind left+ GT -> treeFind right+ EQ -> t++-- | The keywords and symbols of the language organized as binary search tree.+resWords :: BTree+resWords =+ b "\934\775" 13+ (b "]" 7+ (b "," 4+ (b ")" 2 (b "(" 1 N N) (b "*" 3 N N)) (b "[" 6 (b "." 5 N N) N))+ (b "~" 10+ (b "}" 9 (b "{" 8 N N) N) (b "\934" 12 (b "\916" 11 N N) N)))+ (b "\8869" 20+ (b "\966" 17+ (b "\958" 15 (b "\955" 14 N N) (b "\961" 16 N N))+ (b "\8709" 19 (b "\8614" 18 N N) N))+ (b "\10214" 23+ (b "\8969" 22 (b "\8968" 21 N N) N)+ (b "\10509" 25 (b "\10215" 24 N N) N))) where b s n = B bs (TS bs n) where
src/Language/EO/Phi/Syntax/Lex.x view
@@ -28,7 +28,7 @@ -- Symbols and non-identifier-like reserved words -@rsyms = \Φ | \ξ | \Δ | \λ | \φ | \ρ | \{ | \⟦ | \⟧ | \} | \( | \) | \. | \⊥ | \[ | \↦ | \] | \⌈ | \, | \⌉ | \* | \∅ | \⤍+@rsyms = \Φ | \ξ | \Δ | \λ | \φ | \ρ | \{ | \⟦ | \⟧ | \} | \( | \) | \. | \Φ \̇ | \⊥ | \[ | \↦ | \] | \⌈ | \, | \⌉ | \* | \∅ | \⤍ | \~ :- @@ -85,6 +85,18 @@ \@ [$u # [\t \n \r \ \! \' \( \) \, \- \. \: \; \? \[ \] \{ \| \} \⟦ \⟧]] * { tok (eitherResIdent T_MetaFunctionName) } +-- token IntegerSigned+\- ? $d ++ { tok (eitherResIdent T_IntegerSigned) }++-- token DoubleSigned+\- ? $d + \. $d + (e \- ? $d +)?+ { tok (eitherResIdent T_DoubleSigned) }++-- token StringRaw+\" ([$u # [\" \\]] | \\ [\" \\ f n r t u]) * \"+ { tok (eitherResIdent T_StringRaw) }+ -- Keywords and Ident $l $i* { tok (eitherResIdent TV) }@@ -124,6 +136,9 @@ | T_ObjectMetaId !String | T_BytesMetaId !String | T_MetaFunctionName !String+ | T_IntegerSigned !String+ | T_DoubleSigned !String+ | T_StringRaw !String deriving (Eq, Show, Ord) -- | Smart constructor for 'Tok' for the sake of backwards compatibility.@@ -196,6 +211,9 @@ PT _ (T_ObjectMetaId s) -> s PT _ (T_BytesMetaId s) -> s PT _ (T_MetaFunctionName s) -> s+ PT _ (T_IntegerSigned s) -> s+ PT _ (T_DoubleSigned s) -> s+ PT _ (T_StringRaw s) -> s -- | Convert a token to a string. prToken :: Token -> String@@ -222,18 +240,19 @@ -- | The keywords and symbols of the language organized as binary search tree. resWords :: BTree resWords =- b "\955" 12- (b "[" 6- (b "*" 3 (b ")" 2 (b "(" 1 N N) N) (b "." 5 (b "," 4 N N) N))- (b "}" 9- (b "{" 8 (b "]" 7 N N) N) (b "\934" 11 (b "\916" 10 N N) N)))- (b "\8869" 18- (b "\966" 15- (b "\961" 14 (b "\958" 13 N N) N)- (b "\8709" 17 (b "\8614" 16 N N) N))- (b "\10214" 21- (b "\8969" 20 (b "\8968" 19 N N) N)- (b "\10509" 23 (b "\10215" 22 N N) N)))+ b "\934\775" 13+ (b "]" 7+ (b "," 4+ (b ")" 2 (b "(" 1 N N) (b "*" 3 N N)) (b "[" 6 (b "." 5 N N) N))+ (b "~" 10+ (b "}" 9 (b "{" 8 N N) N) (b "\934" 12 (b "\916" 11 N N) N)))+ (b "\8869" 20+ (b "\966" 17+ (b "\958" 15 (b "\955" 14 N N) (b "\961" 16 N N))+ (b "\8709" 19 (b "\8614" 18 N N) N))+ (b "\10214" 23+ (b "\8969" 22 (b "\8968" 21 N N) N)+ (b "\10509" 25 (b "\10215" 24 N N) N))) where b s n = B bs (TS bs n) where
src/Language/EO/Phi/Syntax/Par.hs view
@@ -11,1403 +11,1733 @@ , pBinding , pListBinding , pAttribute- , pRuleAttribute- , pPeeledObject- , pObjectHead- , pObjectAction- , pListObjectAction- ) where--import Prelude--import qualified Language.EO.Phi.Syntax.Abs-import Language.EO.Phi.Syntax.Lex-import qualified Data.Array as Happy_Data_Array-import qualified Data.Bits as Bits-import Control.Applicative(Applicative(..))-import Control.Monad (ap)---- parser produced by Happy Version 1.20.1.1--data HappyAbsSyn - = HappyTerminal (Token)- | HappyErrorToken Prelude.Int- | HappyAbsSyn14 (Double)- | HappyAbsSyn15 (Integer)- | HappyAbsSyn16 (String)- | HappyAbsSyn17 (Language.EO.Phi.Syntax.Abs.Bytes)- | HappyAbsSyn18 (Language.EO.Phi.Syntax.Abs.Function)- | HappyAbsSyn19 (Language.EO.Phi.Syntax.Abs.LabelId)- | HappyAbsSyn20 (Language.EO.Phi.Syntax.Abs.AlphaIndex)- | HappyAbsSyn21 (Language.EO.Phi.Syntax.Abs.LabelMetaId)- | HappyAbsSyn22 (Language.EO.Phi.Syntax.Abs.TailMetaId)- | HappyAbsSyn23 (Language.EO.Phi.Syntax.Abs.BindingsMetaId)- | HappyAbsSyn24 (Language.EO.Phi.Syntax.Abs.ObjectMetaId)- | HappyAbsSyn25 (Language.EO.Phi.Syntax.Abs.BytesMetaId)- | HappyAbsSyn26 (Language.EO.Phi.Syntax.Abs.MetaFunctionName)- | HappyAbsSyn27 (Language.EO.Phi.Syntax.Abs.Program)- | HappyAbsSyn28 (Language.EO.Phi.Syntax.Abs.MetaId)- | HappyAbsSyn29 (Language.EO.Phi.Syntax.Abs.Object)- | HappyAbsSyn30 (Language.EO.Phi.Syntax.Abs.Binding)- | HappyAbsSyn31 ([Language.EO.Phi.Syntax.Abs.Binding])- | HappyAbsSyn32 (Language.EO.Phi.Syntax.Abs.Attribute)- | HappyAbsSyn33 (Language.EO.Phi.Syntax.Abs.RuleAttribute)- | HappyAbsSyn34 (Language.EO.Phi.Syntax.Abs.PeeledObject)- | HappyAbsSyn35 (Language.EO.Phi.Syntax.Abs.ObjectHead)- | HappyAbsSyn36 (Language.EO.Phi.Syntax.Abs.ObjectAction)- | HappyAbsSyn37 ([Language.EO.Phi.Syntax.Abs.ObjectAction])--{- to allow type-synonyms as our monads (likely- - with explicitly-specified bind and return)- - in Haskell98, it seems that with- - /type M a = .../, then /(HappyReduction M)/- - is not allowed. But Happy is a- - code-generator that can just substitute it.-type HappyReduction m = - Prelude.Int - -> (Token)- -> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> m HappyAbsSyn)- -> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> m HappyAbsSyn)] - -> HappyStk HappyAbsSyn - -> [(Token)] -> m HappyAbsSyn--}--action_0,- action_1,- action_2,- action_3,- action_4,- action_5,- action_6,- action_7,- action_8,- action_9,- action_10,- action_11,- action_12,- action_13,- action_14,- action_15,- action_16,- action_17,- action_18,- action_19,- action_20,- action_21,- action_22,- action_23,- action_24,- action_25,- action_26,- action_27,- action_28,- action_29,- action_30,- action_31,- action_32,- action_33,- action_34,- action_35,- action_36,- action_37,- action_38,- action_39,- action_40,- action_41,- action_42,- action_43,- action_44,- action_45,- action_46,- action_47,- action_48,- action_49,- action_50,- action_51,- action_52,- action_53,- action_54,- action_55,- action_56,- action_57,- action_58,- action_59,- action_60,- action_61,- action_62,- action_63,- action_64,- action_65,- action_66,- action_67,- action_68,- action_69,- action_70,- action_71,- action_72,- action_73,- action_74,- action_75,- action_76,- action_77,- action_78,- action_79,- action_80,- action_81,- action_82,- action_83,- action_84,- action_85,- action_86,- action_87,- action_88,- action_89,- action_90,- action_91,- action_92,- action_93,- action_94,- action_95,- action_96,- action_97,- action_98,- action_99,- action_100,- action_101,- action_102,- action_103,- action_104,- action_105,- action_106,- action_107,- action_108,- action_109,- action_110,- action_111,- action_112,- action_113,- action_114,- action_115 :: () => Prelude.Int -> ({-HappyReduction (Err) = -}- Prelude.Int - -> (Token)- -> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)- -> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)] - -> HappyStk HappyAbsSyn - -> [(Token)] -> (Err) HappyAbsSyn)--happyReduce_11,- happyReduce_12,- happyReduce_13,- happyReduce_14,- happyReduce_15,- happyReduce_16,- happyReduce_17,- happyReduce_18,- happyReduce_19,- happyReduce_20,- happyReduce_21,- happyReduce_22,- happyReduce_23,- happyReduce_24,- happyReduce_25,- happyReduce_26,- happyReduce_27,- happyReduce_28,- happyReduce_29,- happyReduce_30,- happyReduce_31,- happyReduce_32,- happyReduce_33,- happyReduce_34,- happyReduce_35,- happyReduce_36,- happyReduce_37,- happyReduce_38,- happyReduce_39,- happyReduce_40,- happyReduce_41,- happyReduce_42,- happyReduce_43,- happyReduce_44,- happyReduce_45,- happyReduce_46,- happyReduce_47,- happyReduce_48,- happyReduce_49,- happyReduce_50,- happyReduce_51,- happyReduce_52,- happyReduce_53,- happyReduce_54,- happyReduce_55,- happyReduce_56,- happyReduce_57,- happyReduce_58,- happyReduce_59,- happyReduce_60,- happyReduce_61,- happyReduce_62,- happyReduce_63,- happyReduce_64,- happyReduce_65,- happyReduce_66,- happyReduce_67,- happyReduce_68,- happyReduce_69,- happyReduce_70 :: () => ({-HappyReduction (Err) = -}- Prelude.Int - -> (Token)- -> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)- -> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)] - -> HappyStk HappyAbsSyn - -> [(Token)] -> (Err) HappyAbsSyn)--happyExpList :: Happy_Data_Array.Array Prelude.Int Prelude.Int-happyExpList = Happy_Data_Array.listArray (0,290) ([0,0,4096,0,0,0,0,0,57344,3,0,0,11304,5127,0,0,20480,32771,11,0,0,3392,11776,0,0,0,48,56,0,0,54272,57344,0,0,0,37024,0,0,0,32768,578,0,0,32768,8,0,0,0,8704,0,0,0,0,0,1024,0,0,0,0,0,0,0,2176,0,0,0,0,0,0,0,0,0,848,2944,0,0,0,12,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54272,57344,2,0,0,0,0,0,0,544,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16384,0,0,0,0,0,0,0,0,0,16384,0,0,0,0,32768,0,0,0,0,512,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,512,0,0,0,0,424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,45216,20508,0,0,16384,13,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,0,0,848,2944,0,0,0,1024,0,0,32768,30,0,0,0,0,212,736,0,0,0,0,4,0,0,3072,3584,0,0,0,8,0,0,0,10240,1836,20,0,0,0,64,0,0,0,32800,128,0,0,35328,459,5,0,0,212,736,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,424,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,440,0,0,0,0,4096,0,0,0,0,0,0,0,0,0,0,0,0,4096,0,0,0,0,32768,29378,320,0,0,0,0,0,0,0,16384,0,0,0,2048,0,0,0,40960,6,1,0,0,0,0,0,0,0,10240,1836,20,0,0,0,0,0,0,3744,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0- ])--{-# NOINLINE happyExpListPerState #-}-happyExpListPerState st =- token_strs_expected- where token_strs = ["error","%dummy","%start_pProgram","%start_pMetaId","%start_pObject","%start_pBinding","%start_pListBinding","%start_pAttribute","%start_pRuleAttribute","%start_pPeeledObject","%start_pObjectHead","%start_pObjectAction","%start_pListObjectAction","Double","Integer","String","Bytes","Function","LabelId","AlphaIndex","LabelMetaId","TailMetaId","BindingsMetaId","ObjectMetaId","BytesMetaId","MetaFunctionName","Program","MetaId","Object","Binding","ListBinding","Attribute","RuleAttribute","PeeledObject","ObjectHead","ObjectAction","ListObjectAction","'('","')'","'*'","','","'.'","'['","']'","'{'","'}'","'\916'","'\934'","'\955'","'\958'","'\961'","'\966'","'\8614'","'\8709'","'\8869'","'\8968'","'\8969'","'\10214'","'\10215'","'\10509'","L_doubl","L_integ","L_quoted","L_Bytes","L_Function","L_LabelId","L_AlphaIndex","L_LabelMetaId","L_TailMetaId","L_BindingsMetaId","L_ObjectMetaId","L_BytesMetaId","L_MetaFunctionName","%eof"]- bit_start = st Prelude.* 74- bit_end = (st Prelude.+ 1) Prelude.* 74- read_bit = readArrayBit happyExpList- bits = Prelude.map read_bit [bit_start..bit_end Prelude.- 1]- bits_indexed = Prelude.zip bits [0..73]- token_strs_expected = Prelude.concatMap f bits_indexed- f (Prelude.False, _) = []- f (Prelude.True, nr) = [token_strs Prelude.!! nr]--action_0 (45) = happyShift action_70-action_0 (27) = happyGoto action_69-action_0 _ = happyFail (happyExpListPerState 0)--action_1 (68) = happyShift action_36-action_1 (69) = happyShift action_67-action_1 (70) = happyShift action_44-action_1 (71) = happyShift action_59-action_1 (72) = happyShift action_68-action_1 (21) = happyGoto action_61-action_1 (22) = happyGoto action_62-action_1 (23) = happyGoto action_63-action_1 (24) = happyGoto action_64-action_1 (25) = happyGoto action_65-action_1 (28) = happyGoto action_66-action_1 _ = happyFail (happyExpListPerState 1)--action_2 (48) = happyShift action_52-action_2 (50) = happyShift action_53-action_2 (55) = happyShift action_54-action_2 (56) = happyShift action_55-action_2 (58) = happyShift action_56-action_2 (61) = happyShift action_12-action_2 (62) = happyShift action_57-action_2 (63) = happyShift action_58-action_2 (71) = happyShift action_59-action_2 (73) = happyShift action_60-action_2 (14) = happyGoto action_46-action_2 (15) = happyGoto action_47-action_2 (16) = happyGoto action_48-action_2 (24) = happyGoto action_49-action_2 (26) = happyGoto action_50-action_2 (29) = happyGoto action_51-action_2 _ = happyFail (happyExpListPerState 2)--action_3 (47) = happyShift action_42-action_3 (49) = happyShift action_43-action_3 (51) = happyShift action_32-action_3 (52) = happyShift action_33-action_3 (66) = happyShift action_34-action_3 (67) = happyShift action_35-action_3 (68) = happyShift action_36-action_3 (70) = happyShift action_44-action_3 (19) = happyGoto action_25-action_3 (20) = happyGoto action_26-action_3 (21) = happyGoto action_27-action_3 (23) = happyGoto action_38-action_3 (30) = happyGoto action_45-action_3 (32) = happyGoto action_41-action_3 _ = happyFail (happyExpListPerState 3)--action_4 (47) = happyShift action_42-action_4 (49) = happyShift action_43-action_4 (51) = happyShift action_32-action_4 (52) = happyShift action_33-action_4 (66) = happyShift action_34-action_4 (67) = happyShift action_35-action_4 (68) = happyShift action_36-action_4 (70) = happyShift action_44-action_4 (19) = happyGoto action_25-action_4 (20) = happyGoto action_26-action_4 (21) = happyGoto action_27-action_4 (23) = happyGoto action_38-action_4 (30) = happyGoto action_39-action_4 (31) = happyGoto action_40-action_4 (32) = happyGoto action_41-action_4 _ = happyReduce_51--action_5 (51) = happyShift action_32-action_5 (52) = happyShift action_33-action_5 (66) = happyShift action_34-action_5 (67) = happyShift action_35-action_5 (68) = happyShift action_36-action_5 (19) = happyGoto action_25-action_5 (20) = happyGoto action_26-action_5 (21) = happyGoto action_27-action_5 (32) = happyGoto action_37-action_5 _ = happyFail (happyExpListPerState 5)--action_6 (47) = happyShift action_30-action_6 (49) = happyShift action_31-action_6 (51) = happyShift action_32-action_6 (52) = happyShift action_33-action_6 (66) = happyShift action_34-action_6 (67) = happyShift action_35-action_6 (68) = happyShift action_36-action_6 (19) = happyGoto action_25-action_6 (20) = happyGoto action_26-action_6 (21) = happyGoto action_27-action_6 (32) = happyGoto action_28-action_6 (33) = happyGoto action_29-action_6 _ = happyFail (happyExpListPerState 6)--action_7 (48) = happyShift action_19-action_7 (50) = happyShift action_20-action_7 (55) = happyShift action_21-action_7 (58) = happyShift action_22-action_7 (34) = happyGoto action_23-action_7 (35) = happyGoto action_24-action_7 _ = happyFail (happyExpListPerState 7)--action_8 (48) = happyShift action_19-action_8 (50) = happyShift action_20-action_8 (55) = happyShift action_21-action_8 (58) = happyShift action_22-action_8 (35) = happyGoto action_18-action_8 _ = happyFail (happyExpListPerState 8)--action_9 (38) = happyShift action_15-action_9 (42) = happyShift action_16-action_9 (36) = happyGoto action_17-action_9 _ = happyFail (happyExpListPerState 9)--action_10 (38) = happyShift action_15-action_10 (42) = happyShift action_16-action_10 (36) = happyGoto action_13-action_10 (37) = happyGoto action_14-action_10 _ = happyReduce_69--action_11 (61) = happyShift action_12-action_11 _ = happyFail (happyExpListPerState 11)--action_12 _ = happyReduce_11--action_13 (38) = happyShift action_15-action_13 (42) = happyShift action_16-action_13 (36) = happyGoto action_13-action_13 (37) = happyGoto action_87-action_13 _ = happyReduce_69--action_14 (74) = happyAccept-action_14 _ = happyFail (happyExpListPerState 14)--action_15 (47) = happyShift action_42-action_15 (49) = happyShift action_43-action_15 (51) = happyShift action_32-action_15 (52) = happyShift action_33-action_15 (66) = happyShift action_34-action_15 (67) = happyShift action_35-action_15 (68) = happyShift action_36-action_15 (70) = happyShift action_44-action_15 (19) = happyGoto action_25-action_15 (20) = happyGoto action_26-action_15 (21) = happyGoto action_27-action_15 (23) = happyGoto action_38-action_15 (30) = happyGoto action_39-action_15 (31) = happyGoto action_86-action_15 (32) = happyGoto action_41-action_15 _ = happyReduce_51--action_16 (51) = happyShift action_32-action_16 (52) = happyShift action_33-action_16 (66) = happyShift action_34-action_16 (67) = happyShift action_35-action_16 (68) = happyShift action_36-action_16 (19) = happyGoto action_25-action_16 (20) = happyGoto action_26-action_16 (21) = happyGoto action_27-action_16 (32) = happyGoto action_85-action_16 _ = happyFail (happyExpListPerState 16)--action_17 (74) = happyAccept-action_17 _ = happyFail (happyExpListPerState 17)--action_18 (74) = happyAccept-action_18 _ = happyFail (happyExpListPerState 18)--action_19 _ = happyReduce_64--action_20 _ = happyReduce_65--action_21 _ = happyReduce_66--action_22 (47) = happyShift action_42-action_22 (49) = happyShift action_43-action_22 (51) = happyShift action_32-action_22 (52) = happyShift action_33-action_22 (66) = happyShift action_34-action_22 (67) = happyShift action_35-action_22 (68) = happyShift action_36-action_22 (70) = happyShift action_44-action_22 (19) = happyGoto action_25-action_22 (20) = happyGoto action_26-action_22 (21) = happyGoto action_27-action_22 (23) = happyGoto action_38-action_22 (30) = happyGoto action_39-action_22 (31) = happyGoto action_84-action_22 (32) = happyGoto action_41-action_22 _ = happyReduce_51--action_23 (74) = happyAccept-action_23 _ = happyFail (happyExpListPerState 23)--action_24 (38) = happyShift action_15-action_24 (42) = happyShift action_16-action_24 (36) = happyGoto action_13-action_24 (37) = happyGoto action_83-action_24 _ = happyReduce_69--action_25 _ = happyReduce_56--action_26 _ = happyReduce_57--action_27 _ = happyReduce_58--action_28 _ = happyReduce_59--action_29 (74) = happyAccept-action_29 _ = happyFail (happyExpListPerState 29)--action_30 _ = happyReduce_60--action_31 _ = happyReduce_61--action_32 _ = happyReduce_55--action_33 _ = happyReduce_54--action_34 _ = happyReduce_16--action_35 _ = happyReduce_17--action_36 _ = happyReduce_18--action_37 (74) = happyAccept-action_37 _ = happyFail (happyExpListPerState 37)--action_38 _ = happyReduce_49--action_39 (41) = happyShift action_82-action_39 _ = happyReduce_52--action_40 (74) = happyAccept-action_40 _ = happyFail (happyExpListPerState 40)--action_41 (53) = happyShift action_81-action_41 _ = happyFail (happyExpListPerState 41)--action_42 (60) = happyShift action_80-action_42 _ = happyFail (happyExpListPerState 42)--action_43 (60) = happyShift action_79-action_43 _ = happyFail (happyExpListPerState 43)--action_44 _ = happyReduce_20--action_45 (74) = happyAccept-action_45 _ = happyFail (happyExpListPerState 45)--action_46 _ = happyReduce_38--action_47 _ = happyReduce_37--action_48 _ = happyReduce_36--action_49 _ = happyReduce_41--action_50 (38) = happyShift action_78-action_50 _ = happyFail (happyExpListPerState 50)--action_51 (38) = happyShift action_74-action_51 (40) = happyShift action_75-action_51 (42) = happyShift action_76-action_51 (43) = happyShift action_77-action_51 (74) = happyAccept-action_51 _ = happyFail (happyExpListPerState 51)--action_52 _ = happyReduce_33--action_53 _ = happyReduce_34--action_54 _ = happyReduce_35--action_55 (48) = happyShift action_52-action_55 (50) = happyShift action_53-action_55 (55) = happyShift action_54-action_55 (56) = happyShift action_55-action_55 (58) = happyShift action_56-action_55 (61) = happyShift action_12-action_55 (62) = happyShift action_57-action_55 (63) = happyShift action_58-action_55 (71) = happyShift action_59-action_55 (73) = happyShift action_60-action_55 (14) = happyGoto action_46-action_55 (15) = happyGoto action_47-action_55 (16) = happyGoto action_48-action_55 (24) = happyGoto action_49-action_55 (26) = happyGoto action_50-action_55 (29) = happyGoto action_73-action_55 _ = happyFail (happyExpListPerState 55)--action_56 (47) = happyShift action_42-action_56 (49) = happyShift action_43-action_56 (51) = happyShift action_32-action_56 (52) = happyShift action_33-action_56 (66) = happyShift action_34-action_56 (67) = happyShift action_35-action_56 (68) = happyShift action_36-action_56 (70) = happyShift action_44-action_56 (19) = happyGoto action_25-action_56 (20) = happyGoto action_26-action_56 (21) = happyGoto action_27-action_56 (23) = happyGoto action_38-action_56 (30) = happyGoto action_39-action_56 (31) = happyGoto action_72-action_56 (32) = happyGoto action_41-action_56 _ = happyReduce_51--action_57 _ = happyReduce_12--action_58 _ = happyReduce_13--action_59 _ = happyReduce_21--action_60 _ = happyReduce_23--action_61 _ = happyReduce_25--action_62 _ = happyReduce_26--action_63 _ = happyReduce_27--action_64 _ = happyReduce_28--action_65 _ = happyReduce_29--action_66 (74) = happyAccept-action_66 _ = happyFail (happyExpListPerState 66)--action_67 _ = happyReduce_19--action_68 _ = happyReduce_22--action_69 (74) = happyAccept-action_69 _ = happyFail (happyExpListPerState 69)--action_70 (58) = happyShift action_71-action_70 _ = happyFail (happyExpListPerState 70)--action_71 (47) = happyShift action_42-action_71 (49) = happyShift action_43-action_71 (51) = happyShift action_32-action_71 (52) = happyShift action_33-action_71 (66) = happyShift action_34-action_71 (67) = happyShift action_35-action_71 (68) = happyShift action_36-action_71 (70) = happyShift action_44-action_71 (19) = happyGoto action_25-action_71 (20) = happyGoto action_26-action_71 (21) = happyGoto action_27-action_71 (23) = happyGoto action_38-action_71 (30) = happyGoto action_39-action_71 (31) = happyGoto action_106-action_71 (32) = happyGoto action_41-action_71 _ = happyReduce_51--action_72 (59) = happyShift action_105-action_72 _ = happyFail (happyExpListPerState 72)--action_73 (38) = happyShift action_74-action_73 (40) = happyShift action_75-action_73 (41) = happyShift action_104-action_73 (42) = happyShift action_76-action_73 (43) = happyShift action_77-action_73 _ = happyFail (happyExpListPerState 73)--action_74 (47) = happyShift action_42-action_74 (49) = happyShift action_43-action_74 (51) = happyShift action_32-action_74 (52) = happyShift action_33-action_74 (66) = happyShift action_34-action_74 (67) = happyShift action_35-action_74 (68) = happyShift action_36-action_74 (70) = happyShift action_44-action_74 (19) = happyGoto action_25-action_74 (20) = happyGoto action_26-action_74 (21) = happyGoto action_27-action_74 (23) = happyGoto action_38-action_74 (30) = happyGoto action_39-action_74 (31) = happyGoto action_103-action_74 (32) = happyGoto action_41-action_74 _ = happyReduce_51--action_75 (69) = happyShift action_67-action_75 (22) = happyGoto action_102-action_75 _ = happyFail (happyExpListPerState 75)--action_76 (51) = happyShift action_32-action_76 (52) = happyShift action_33-action_76 (66) = happyShift action_34-action_76 (67) = happyShift action_35-action_76 (68) = happyShift action_36-action_76 (19) = happyGoto action_25-action_76 (20) = happyGoto action_26-action_76 (21) = happyGoto action_27-action_76 (32) = happyGoto action_101-action_76 _ = happyFail (happyExpListPerState 76)--action_77 (50) = happyShift action_100-action_77 _ = happyFail (happyExpListPerState 77)--action_78 (48) = happyShift action_52-action_78 (50) = happyShift action_53-action_78 (55) = happyShift action_54-action_78 (56) = happyShift action_55-action_78 (58) = happyShift action_56-action_78 (61) = happyShift action_12-action_78 (62) = happyShift action_57-action_78 (63) = happyShift action_58-action_78 (71) = happyShift action_59-action_78 (73) = happyShift action_60-action_78 (14) = happyGoto action_46-action_78 (15) = happyGoto action_47-action_78 (16) = happyGoto action_48-action_78 (24) = happyGoto action_49-action_78 (26) = happyGoto action_50-action_78 (29) = happyGoto action_99-action_78 _ = happyFail (happyExpListPerState 78)--action_79 (65) = happyShift action_98-action_79 (18) = happyGoto action_97-action_79 _ = happyFail (happyExpListPerState 79)--action_80 (54) = happyShift action_95-action_80 (64) = happyShift action_96-action_80 (72) = happyShift action_68-action_80 (17) = happyGoto action_93-action_80 (25) = happyGoto action_94-action_80 _ = happyFail (happyExpListPerState 80)--action_81 (48) = happyShift action_52-action_81 (50) = happyShift action_53-action_81 (54) = happyShift action_92-action_81 (55) = happyShift action_54-action_81 (56) = happyShift action_55-action_81 (58) = happyShift action_56-action_81 (61) = happyShift action_12-action_81 (62) = happyShift action_57-action_81 (63) = happyShift action_58-action_81 (71) = happyShift action_59-action_81 (73) = happyShift action_60-action_81 (14) = happyGoto action_46-action_81 (15) = happyGoto action_47-action_81 (16) = happyGoto action_48-action_81 (24) = happyGoto action_49-action_81 (26) = happyGoto action_50-action_81 (29) = happyGoto action_91-action_81 _ = happyFail (happyExpListPerState 81)--action_82 (47) = happyShift action_42-action_82 (49) = happyShift action_43-action_82 (51) = happyShift action_32-action_82 (52) = happyShift action_33-action_82 (66) = happyShift action_34-action_82 (67) = happyShift action_35-action_82 (68) = happyShift action_36-action_82 (70) = happyShift action_44-action_82 (19) = happyGoto action_25-action_82 (20) = happyGoto action_26-action_82 (21) = happyGoto action_27-action_82 (23) = happyGoto action_38-action_82 (30) = happyGoto action_39-action_82 (31) = happyGoto action_90-action_82 (32) = happyGoto action_41-action_82 _ = happyReduce_51--action_83 _ = happyReduce_62--action_84 (59) = happyShift action_89-action_84 _ = happyFail (happyExpListPerState 84)--action_85 _ = happyReduce_68--action_86 (39) = happyShift action_88-action_86 _ = happyFail (happyExpListPerState 86)--action_87 _ = happyReduce_70--action_88 _ = happyReduce_67--action_89 _ = happyReduce_63--action_90 _ = happyReduce_53--action_91 (38) = happyShift action_74-action_91 (40) = happyShift action_75-action_91 (42) = happyShift action_76-action_91 (43) = happyShift action_77-action_91 _ = happyReduce_44--action_92 _ = happyReduce_45--action_93 _ = happyReduce_46--action_94 _ = happyReduce_50--action_95 _ = happyReduce_47--action_96 _ = happyReduce_14--action_97 _ = happyReduce_48--action_98 _ = happyReduce_15--action_99 (38) = happyShift action_74-action_99 (39) = happyShift action_111-action_99 (40) = happyShift action_75-action_99 (42) = happyShift action_76-action_99 (43) = happyShift action_77-action_99 _ = happyFail (happyExpListPerState 99)--action_100 (53) = happyShift action_110-action_100 _ = happyFail (happyExpListPerState 100)--action_101 _ = happyReduce_32--action_102 _ = happyReduce_42--action_103 (39) = happyShift action_109-action_103 _ = happyFail (happyExpListPerState 103)--action_104 (48) = happyShift action_52-action_104 (50) = happyShift action_53-action_104 (55) = happyShift action_54-action_104 (56) = happyShift action_55-action_104 (58) = happyShift action_56-action_104 (61) = happyShift action_12-action_104 (62) = happyShift action_57-action_104 (63) = happyShift action_58-action_104 (71) = happyShift action_59-action_104 (73) = happyShift action_60-action_104 (14) = happyGoto action_46-action_104 (15) = happyGoto action_47-action_104 (16) = happyGoto action_48-action_104 (24) = happyGoto action_49-action_104 (26) = happyGoto action_50-action_104 (29) = happyGoto action_108-action_104 _ = happyFail (happyExpListPerState 104)--action_105 _ = happyReduce_30--action_106 (59) = happyShift action_107-action_106 _ = happyFail (happyExpListPerState 106)--action_107 (46) = happyShift action_114-action_107 _ = happyFail (happyExpListPerState 107)--action_108 (38) = happyShift action_74-action_108 (40) = happyShift action_75-action_108 (42) = happyShift action_76-action_108 (43) = happyShift action_77-action_108 (57) = happyShift action_113-action_108 _ = happyFail (happyExpListPerState 108)--action_109 _ = happyReduce_31--action_110 (48) = happyShift action_52-action_110 (50) = happyShift action_53-action_110 (55) = happyShift action_54-action_110 (56) = happyShift action_55-action_110 (58) = happyShift action_56-action_110 (61) = happyShift action_12-action_110 (62) = happyShift action_57-action_110 (63) = happyShift action_58-action_110 (71) = happyShift action_59-action_110 (73) = happyShift action_60-action_110 (14) = happyGoto action_46-action_110 (15) = happyGoto action_47-action_110 (16) = happyGoto action_48-action_110 (24) = happyGoto action_49-action_110 (26) = happyGoto action_50-action_110 (29) = happyGoto action_112-action_110 _ = happyFail (happyExpListPerState 110)--action_111 _ = happyReduce_43--action_112 (38) = happyShift action_74-action_112 (40) = happyShift action_75-action_112 (42) = happyShift action_76-action_112 (43) = happyShift action_77-action_112 (44) = happyShift action_115-action_112 _ = happyFail (happyExpListPerState 112)--action_113 _ = happyReduce_40--action_114 _ = happyReduce_24--action_115 _ = happyReduce_39--happyReduce_11 = happySpecReduce_1 14 happyReduction_11-happyReduction_11 (HappyTerminal (PT _ (TD happy_var_1)))- = HappyAbsSyn14- ((read happy_var_1) :: Double- )-happyReduction_11 _ = notHappyAtAll --happyReduce_12 = happySpecReduce_1 15 happyReduction_12-happyReduction_12 (HappyTerminal (PT _ (TI happy_var_1)))- = HappyAbsSyn15- ((read happy_var_1) :: Integer- )-happyReduction_12 _ = notHappyAtAll --happyReduce_13 = happySpecReduce_1 16 happyReduction_13-happyReduction_13 (HappyTerminal (PT _ (TL happy_var_1)))- = HappyAbsSyn16- (happy_var_1- )-happyReduction_13 _ = notHappyAtAll --happyReduce_14 = happySpecReduce_1 17 happyReduction_14-happyReduction_14 (HappyTerminal (PT _ (T_Bytes happy_var_1)))- = HappyAbsSyn17- (Language.EO.Phi.Syntax.Abs.Bytes happy_var_1- )-happyReduction_14 _ = notHappyAtAll --happyReduce_15 = happySpecReduce_1 18 happyReduction_15-happyReduction_15 (HappyTerminal (PT _ (T_Function happy_var_1)))- = HappyAbsSyn18- (Language.EO.Phi.Syntax.Abs.Function happy_var_1- )-happyReduction_15 _ = notHappyAtAll --happyReduce_16 = happySpecReduce_1 19 happyReduction_16-happyReduction_16 (HappyTerminal (PT _ (T_LabelId happy_var_1)))- = HappyAbsSyn19- (Language.EO.Phi.Syntax.Abs.LabelId happy_var_1- )-happyReduction_16 _ = notHappyAtAll --happyReduce_17 = happySpecReduce_1 20 happyReduction_17-happyReduction_17 (HappyTerminal (PT _ (T_AlphaIndex happy_var_1)))- = HappyAbsSyn20- (Language.EO.Phi.Syntax.Abs.AlphaIndex happy_var_1- )-happyReduction_17 _ = notHappyAtAll --happyReduce_18 = happySpecReduce_1 21 happyReduction_18-happyReduction_18 (HappyTerminal (PT _ (T_LabelMetaId happy_var_1)))- = HappyAbsSyn21- (Language.EO.Phi.Syntax.Abs.LabelMetaId happy_var_1- )-happyReduction_18 _ = notHappyAtAll --happyReduce_19 = happySpecReduce_1 22 happyReduction_19-happyReduction_19 (HappyTerminal (PT _ (T_TailMetaId happy_var_1)))- = HappyAbsSyn22- (Language.EO.Phi.Syntax.Abs.TailMetaId happy_var_1- )-happyReduction_19 _ = notHappyAtAll --happyReduce_20 = happySpecReduce_1 23 happyReduction_20-happyReduction_20 (HappyTerminal (PT _ (T_BindingsMetaId happy_var_1)))- = HappyAbsSyn23- (Language.EO.Phi.Syntax.Abs.BindingsMetaId happy_var_1- )-happyReduction_20 _ = notHappyAtAll --happyReduce_21 = happySpecReduce_1 24 happyReduction_21-happyReduction_21 (HappyTerminal (PT _ (T_ObjectMetaId happy_var_1)))- = HappyAbsSyn24- (Language.EO.Phi.Syntax.Abs.ObjectMetaId happy_var_1- )-happyReduction_21 _ = notHappyAtAll --happyReduce_22 = happySpecReduce_1 25 happyReduction_22-happyReduction_22 (HappyTerminal (PT _ (T_BytesMetaId happy_var_1)))- = HappyAbsSyn25- (Language.EO.Phi.Syntax.Abs.BytesMetaId happy_var_1- )-happyReduction_22 _ = notHappyAtAll --happyReduce_23 = happySpecReduce_1 26 happyReduction_23-happyReduction_23 (HappyTerminal (PT _ (T_MetaFunctionName happy_var_1)))- = HappyAbsSyn26- (Language.EO.Phi.Syntax.Abs.MetaFunctionName happy_var_1- )-happyReduction_23 _ = notHappyAtAll --happyReduce_24 = happyReduce 5 27 happyReduction_24-happyReduction_24 (_ `HappyStk`- _ `HappyStk`- (HappyAbsSyn31 happy_var_3) `HappyStk`- _ `HappyStk`- _ `HappyStk`- happyRest)- = HappyAbsSyn27- (Language.EO.Phi.Syntax.Abs.Program happy_var_3- ) `HappyStk` happyRest--happyReduce_25 = happySpecReduce_1 28 happyReduction_25-happyReduction_25 (HappyAbsSyn21 happy_var_1)- = HappyAbsSyn28- (Language.EO.Phi.Syntax.Abs.MetaIdLabel happy_var_1- )-happyReduction_25 _ = notHappyAtAll --happyReduce_26 = happySpecReduce_1 28 happyReduction_26-happyReduction_26 (HappyAbsSyn22 happy_var_1)- = HappyAbsSyn28- (Language.EO.Phi.Syntax.Abs.MetaIdTail happy_var_1- )-happyReduction_26 _ = notHappyAtAll --happyReduce_27 = happySpecReduce_1 28 happyReduction_27-happyReduction_27 (HappyAbsSyn23 happy_var_1)- = HappyAbsSyn28- (Language.EO.Phi.Syntax.Abs.MetaIdBindings happy_var_1- )-happyReduction_27 _ = notHappyAtAll --happyReduce_28 = happySpecReduce_1 28 happyReduction_28-happyReduction_28 (HappyAbsSyn24 happy_var_1)- = HappyAbsSyn28- (Language.EO.Phi.Syntax.Abs.MetaIdObject happy_var_1- )-happyReduction_28 _ = notHappyAtAll --happyReduce_29 = happySpecReduce_1 28 happyReduction_29-happyReduction_29 (HappyAbsSyn25 happy_var_1)- = HappyAbsSyn28- (Language.EO.Phi.Syntax.Abs.MetaIdBytes happy_var_1- )-happyReduction_29 _ = notHappyAtAll --happyReduce_30 = happySpecReduce_3 29 happyReduction_30-happyReduction_30 _- (HappyAbsSyn31 happy_var_2)- _- = HappyAbsSyn29- (Language.EO.Phi.Syntax.Abs.Formation happy_var_2- )-happyReduction_30 _ _ _ = notHappyAtAll --happyReduce_31 = happyReduce 4 29 happyReduction_31-happyReduction_31 (_ `HappyStk`- (HappyAbsSyn31 happy_var_3) `HappyStk`- _ `HappyStk`- (HappyAbsSyn29 happy_var_1) `HappyStk`- happyRest)- = HappyAbsSyn29- (Language.EO.Phi.Syntax.Abs.Application happy_var_1 happy_var_3- ) `HappyStk` happyRest--happyReduce_32 = happySpecReduce_3 29 happyReduction_32-happyReduction_32 (HappyAbsSyn32 happy_var_3)- _- (HappyAbsSyn29 happy_var_1)- = HappyAbsSyn29- (Language.EO.Phi.Syntax.Abs.ObjectDispatch happy_var_1 happy_var_3- )-happyReduction_32 _ _ _ = notHappyAtAll --happyReduce_33 = happySpecReduce_1 29 happyReduction_33-happyReduction_33 _- = HappyAbsSyn29- (Language.EO.Phi.Syntax.Abs.GlobalObject- )--happyReduce_34 = happySpecReduce_1 29 happyReduction_34-happyReduction_34 _- = HappyAbsSyn29- (Language.EO.Phi.Syntax.Abs.ThisObject- )--happyReduce_35 = happySpecReduce_1 29 happyReduction_35-happyReduction_35 _- = HappyAbsSyn29- (Language.EO.Phi.Syntax.Abs.Termination- )--happyReduce_36 = happySpecReduce_1 29 happyReduction_36-happyReduction_36 (HappyAbsSyn16 happy_var_1)- = HappyAbsSyn29- (Language.EO.Phi.Syntax.Abs.ConstString happy_var_1- )-happyReduction_36 _ = notHappyAtAll --happyReduce_37 = happySpecReduce_1 29 happyReduction_37-happyReduction_37 (HappyAbsSyn15 happy_var_1)- = HappyAbsSyn29- (Language.EO.Phi.Syntax.Abs.ConstInt happy_var_1- )-happyReduction_37 _ = notHappyAtAll --happyReduce_38 = happySpecReduce_1 29 happyReduction_38-happyReduction_38 (HappyAbsSyn14 happy_var_1)- = HappyAbsSyn29- (Language.EO.Phi.Syntax.Abs.ConstFloat happy_var_1- )-happyReduction_38 _ = notHappyAtAll --happyReduce_39 = happyReduce 6 29 happyReduction_39-happyReduction_39 (_ `HappyStk`- (HappyAbsSyn29 happy_var_5) `HappyStk`- _ `HappyStk`- _ `HappyStk`- _ `HappyStk`- (HappyAbsSyn29 happy_var_1) `HappyStk`- happyRest)- = HappyAbsSyn29- (Language.EO.Phi.Syntax.Abs.MetaSubstThis happy_var_1 happy_var_5- ) `HappyStk` happyRest--happyReduce_40 = happyReduce 5 29 happyReduction_40-happyReduction_40 (_ `HappyStk`- (HappyAbsSyn29 happy_var_4) `HappyStk`- _ `HappyStk`- (HappyAbsSyn29 happy_var_2) `HappyStk`- _ `HappyStk`- happyRest)- = HappyAbsSyn29- (Language.EO.Phi.Syntax.Abs.MetaContextualize happy_var_2 happy_var_4- ) `HappyStk` happyRest--happyReduce_41 = happySpecReduce_1 29 happyReduction_41-happyReduction_41 (HappyAbsSyn24 happy_var_1)- = HappyAbsSyn29- (Language.EO.Phi.Syntax.Abs.MetaObject happy_var_1- )-happyReduction_41 _ = notHappyAtAll --happyReduce_42 = happySpecReduce_3 29 happyReduction_42-happyReduction_42 (HappyAbsSyn22 happy_var_3)- _- (HappyAbsSyn29 happy_var_1)- = HappyAbsSyn29- (Language.EO.Phi.Syntax.Abs.MetaTailContext happy_var_1 happy_var_3- )-happyReduction_42 _ _ _ = notHappyAtAll --happyReduce_43 = happyReduce 4 29 happyReduction_43-happyReduction_43 (_ `HappyStk`- (HappyAbsSyn29 happy_var_3) `HappyStk`- _ `HappyStk`- (HappyAbsSyn26 happy_var_1) `HappyStk`- happyRest)- = HappyAbsSyn29- (Language.EO.Phi.Syntax.Abs.MetaFunction happy_var_1 happy_var_3- ) `HappyStk` happyRest--happyReduce_44 = happySpecReduce_3 30 happyReduction_44-happyReduction_44 (HappyAbsSyn29 happy_var_3)- _- (HappyAbsSyn32 happy_var_1)- = HappyAbsSyn30- (Language.EO.Phi.Syntax.Abs.AlphaBinding happy_var_1 happy_var_3- )-happyReduction_44 _ _ _ = notHappyAtAll --happyReduce_45 = happySpecReduce_3 30 happyReduction_45-happyReduction_45 _- _- (HappyAbsSyn32 happy_var_1)- = HappyAbsSyn30- (Language.EO.Phi.Syntax.Abs.EmptyBinding happy_var_1- )-happyReduction_45 _ _ _ = notHappyAtAll --happyReduce_46 = happySpecReduce_3 30 happyReduction_46-happyReduction_46 (HappyAbsSyn17 happy_var_3)- _- _- = HappyAbsSyn30- (Language.EO.Phi.Syntax.Abs.DeltaBinding happy_var_3- )-happyReduction_46 _ _ _ = notHappyAtAll --happyReduce_47 = happySpecReduce_3 30 happyReduction_47-happyReduction_47 _- _- _- = HappyAbsSyn30- (Language.EO.Phi.Syntax.Abs.DeltaEmptyBinding- )--happyReduce_48 = happySpecReduce_3 30 happyReduction_48-happyReduction_48 (HappyAbsSyn18 happy_var_3)- _- _- = HappyAbsSyn30- (Language.EO.Phi.Syntax.Abs.LambdaBinding happy_var_3- )-happyReduction_48 _ _ _ = notHappyAtAll --happyReduce_49 = happySpecReduce_1 30 happyReduction_49-happyReduction_49 (HappyAbsSyn23 happy_var_1)- = HappyAbsSyn30- (Language.EO.Phi.Syntax.Abs.MetaBindings happy_var_1- )-happyReduction_49 _ = notHappyAtAll --happyReduce_50 = happySpecReduce_3 30 happyReduction_50-happyReduction_50 (HappyAbsSyn25 happy_var_3)- _- _- = HappyAbsSyn30- (Language.EO.Phi.Syntax.Abs.MetaDeltaBinding happy_var_3- )-happyReduction_50 _ _ _ = notHappyAtAll --happyReduce_51 = happySpecReduce_0 31 happyReduction_51-happyReduction_51 = HappyAbsSyn31- ([]- )--happyReduce_52 = happySpecReduce_1 31 happyReduction_52-happyReduction_52 (HappyAbsSyn30 happy_var_1)- = HappyAbsSyn31- ((:[]) happy_var_1- )-happyReduction_52 _ = notHappyAtAll --happyReduce_53 = happySpecReduce_3 31 happyReduction_53-happyReduction_53 (HappyAbsSyn31 happy_var_3)- _- (HappyAbsSyn30 happy_var_1)- = HappyAbsSyn31- ((:) happy_var_1 happy_var_3- )-happyReduction_53 _ _ _ = notHappyAtAll --happyReduce_54 = happySpecReduce_1 32 happyReduction_54-happyReduction_54 _- = HappyAbsSyn32- (Language.EO.Phi.Syntax.Abs.Phi- )--happyReduce_55 = happySpecReduce_1 32 happyReduction_55-happyReduction_55 _- = HappyAbsSyn32- (Language.EO.Phi.Syntax.Abs.Rho- )--happyReduce_56 = happySpecReduce_1 32 happyReduction_56-happyReduction_56 (HappyAbsSyn19 happy_var_1)- = HappyAbsSyn32- (Language.EO.Phi.Syntax.Abs.Label happy_var_1- )-happyReduction_56 _ = notHappyAtAll --happyReduce_57 = happySpecReduce_1 32 happyReduction_57-happyReduction_57 (HappyAbsSyn20 happy_var_1)- = HappyAbsSyn32- (Language.EO.Phi.Syntax.Abs.Alpha happy_var_1- )-happyReduction_57 _ = notHappyAtAll --happyReduce_58 = happySpecReduce_1 32 happyReduction_58-happyReduction_58 (HappyAbsSyn21 happy_var_1)- = HappyAbsSyn32- (Language.EO.Phi.Syntax.Abs.MetaAttr happy_var_1- )-happyReduction_58 _ = notHappyAtAll --happyReduce_59 = happySpecReduce_1 33 happyReduction_59-happyReduction_59 (HappyAbsSyn32 happy_var_1)- = HappyAbsSyn33- (Language.EO.Phi.Syntax.Abs.ObjectAttr happy_var_1- )-happyReduction_59 _ = notHappyAtAll --happyReduce_60 = happySpecReduce_1 33 happyReduction_60-happyReduction_60 _- = HappyAbsSyn33- (Language.EO.Phi.Syntax.Abs.DeltaAttr- )--happyReduce_61 = happySpecReduce_1 33 happyReduction_61-happyReduction_61 _- = HappyAbsSyn33- (Language.EO.Phi.Syntax.Abs.LambdaAttr- )--happyReduce_62 = happySpecReduce_2 34 happyReduction_62-happyReduction_62 (HappyAbsSyn37 happy_var_2)- (HappyAbsSyn35 happy_var_1)- = HappyAbsSyn34- (Language.EO.Phi.Syntax.Abs.PeeledObject happy_var_1 happy_var_2- )-happyReduction_62 _ _ = notHappyAtAll --happyReduce_63 = happySpecReduce_3 35 happyReduction_63-happyReduction_63 _- (HappyAbsSyn31 happy_var_2)- _- = HappyAbsSyn35- (Language.EO.Phi.Syntax.Abs.HeadFormation happy_var_2- )-happyReduction_63 _ _ _ = notHappyAtAll --happyReduce_64 = happySpecReduce_1 35 happyReduction_64-happyReduction_64 _- = HappyAbsSyn35- (Language.EO.Phi.Syntax.Abs.HeadGlobal- )--happyReduce_65 = happySpecReduce_1 35 happyReduction_65-happyReduction_65 _- = HappyAbsSyn35- (Language.EO.Phi.Syntax.Abs.HeadThis- )--happyReduce_66 = happySpecReduce_1 35 happyReduction_66-happyReduction_66 _- = HappyAbsSyn35- (Language.EO.Phi.Syntax.Abs.HeadTermination- )--happyReduce_67 = happySpecReduce_3 36 happyReduction_67-happyReduction_67 _- (HappyAbsSyn31 happy_var_2)- _- = HappyAbsSyn36- (Language.EO.Phi.Syntax.Abs.ActionApplication happy_var_2- )-happyReduction_67 _ _ _ = notHappyAtAll --happyReduce_68 = happySpecReduce_2 36 happyReduction_68-happyReduction_68 (HappyAbsSyn32 happy_var_2)- _- = HappyAbsSyn36- (Language.EO.Phi.Syntax.Abs.ActionDispatch happy_var_2- )-happyReduction_68 _ _ = notHappyAtAll --happyReduce_69 = happySpecReduce_0 37 happyReduction_69-happyReduction_69 = HappyAbsSyn37- ([]- )--happyReduce_70 = happySpecReduce_2 37 happyReduction_70-happyReduction_70 (HappyAbsSyn37 happy_var_2)- (HappyAbsSyn36 happy_var_1)- = HappyAbsSyn37- ((:) happy_var_1 happy_var_2- )-happyReduction_70 _ _ = notHappyAtAll --happyNewToken action sts stk [] =- action 74 74 notHappyAtAll (HappyState action) sts stk []--happyNewToken action sts stk (tk:tks) =- let cont i = action i i tk (HappyState action) sts stk tks in- case tk of {- PT _ (TS _ 1) -> cont 38;- PT _ (TS _ 2) -> cont 39;- PT _ (TS _ 3) -> cont 40;- PT _ (TS _ 4) -> cont 41;- PT _ (TS _ 5) -> cont 42;- PT _ (TS _ 6) -> cont 43;- PT _ (TS _ 7) -> cont 44;- PT _ (TS _ 8) -> cont 45;- PT _ (TS _ 9) -> cont 46;- PT _ (TS _ 10) -> cont 47;- PT _ (TS _ 11) -> cont 48;- PT _ (TS _ 12) -> cont 49;- PT _ (TS _ 13) -> cont 50;- PT _ (TS _ 14) -> cont 51;- PT _ (TS _ 15) -> cont 52;- PT _ (TS _ 16) -> cont 53;- PT _ (TS _ 17) -> cont 54;- PT _ (TS _ 18) -> cont 55;- PT _ (TS _ 19) -> cont 56;- PT _ (TS _ 20) -> cont 57;- PT _ (TS _ 21) -> cont 58;- PT _ (TS _ 22) -> cont 59;- PT _ (TS _ 23) -> cont 60;- PT _ (TD happy_dollar_dollar) -> cont 61;- PT _ (TI happy_dollar_dollar) -> cont 62;- PT _ (TL happy_dollar_dollar) -> cont 63;- PT _ (T_Bytes happy_dollar_dollar) -> cont 64;- PT _ (T_Function happy_dollar_dollar) -> cont 65;- PT _ (T_LabelId happy_dollar_dollar) -> cont 66;- PT _ (T_AlphaIndex happy_dollar_dollar) -> cont 67;- PT _ (T_LabelMetaId happy_dollar_dollar) -> cont 68;- PT _ (T_TailMetaId happy_dollar_dollar) -> cont 69;- PT _ (T_BindingsMetaId happy_dollar_dollar) -> cont 70;- PT _ (T_ObjectMetaId happy_dollar_dollar) -> cont 71;- PT _ (T_BytesMetaId happy_dollar_dollar) -> cont 72;- PT _ (T_MetaFunctionName happy_dollar_dollar) -> cont 73;- _ -> happyError' ((tk:tks), [])- }--happyError_ explist 74 tk tks = happyError' (tks, explist)-happyError_ explist _ tk tks = happyError' ((tk:tks), explist)--happyThen :: () => Err a -> (a -> Err b) -> Err b-happyThen = ((>>=))-happyReturn :: () => a -> Err a-happyReturn = (return)-happyThen1 m k tks = ((>>=)) m (\a -> k a tks)-happyReturn1 :: () => a -> b -> Err a-happyReturn1 = \a tks -> (return) a-happyError' :: () => ([(Token)], [Prelude.String]) -> Err a-happyError' = (\(tokens, _) -> happyError tokens)-pProgram tks = happySomeParser where- happySomeParser = happyThen (happyParse action_0 tks) (\x -> case x of {HappyAbsSyn27 z -> happyReturn z; _other -> notHappyAtAll })--pMetaId tks = happySomeParser where- happySomeParser = happyThen (happyParse action_1 tks) (\x -> case x of {HappyAbsSyn28 z -> happyReturn z; _other -> notHappyAtAll })--pObject tks = happySomeParser where- happySomeParser = happyThen (happyParse action_2 tks) (\x -> case x of {HappyAbsSyn29 z -> happyReturn z; _other -> notHappyAtAll })--pBinding tks = happySomeParser where- happySomeParser = happyThen (happyParse action_3 tks) (\x -> case x of {HappyAbsSyn30 z -> happyReturn z; _other -> notHappyAtAll })--pListBinding tks = happySomeParser where- happySomeParser = happyThen (happyParse action_4 tks) (\x -> case x of {HappyAbsSyn31 z -> happyReturn z; _other -> notHappyAtAll })--pAttribute tks = happySomeParser where- happySomeParser = happyThen (happyParse action_5 tks) (\x -> case x of {HappyAbsSyn32 z -> happyReturn z; _other -> notHappyAtAll })--pRuleAttribute tks = happySomeParser where- happySomeParser = happyThen (happyParse action_6 tks) (\x -> case x of {HappyAbsSyn33 z -> happyReturn z; _other -> notHappyAtAll })--pPeeledObject tks = happySomeParser where- happySomeParser = happyThen (happyParse action_7 tks) (\x -> case x of {HappyAbsSyn34 z -> happyReturn z; _other -> notHappyAtAll })--pObjectHead tks = happySomeParser where- happySomeParser = happyThen (happyParse action_8 tks) (\x -> case x of {HappyAbsSyn35 z -> happyReturn z; _other -> notHappyAtAll })--pObjectAction tks = happySomeParser where- happySomeParser = happyThen (happyParse action_9 tks) (\x -> case x of {HappyAbsSyn36 z -> happyReturn z; _other -> notHappyAtAll })--pListObjectAction tks = happySomeParser where- happySomeParser = happyThen (happyParse action_10 tks) (\x -> case x of {HappyAbsSyn37 z -> happyReturn z; _other -> notHappyAtAll })+ , pListLabelId+ , pRuleAttribute+ , pPeeledObject+ , pObjectHead+ , pObjectAction+ , pListObjectAction+ ) where++import Prelude++import qualified Language.EO.Phi.Syntax.Abs+import Language.EO.Phi.Syntax.Lex+import qualified Data.Array as Happy_Data_Array+import qualified Data.Bits as Bits+import Control.Applicative(Applicative(..))+import Control.Monad (ap)++-- parser produced by Happy Version 1.20.1.1++data HappyAbsSyn + = HappyTerminal (Token)+ | HappyErrorToken Prelude.Int+ | HappyAbsSyn15 (Double)+ | HappyAbsSyn16 (Integer)+ | HappyAbsSyn17 (String)+ | HappyAbsSyn18 (Language.EO.Phi.Syntax.Abs.Bytes)+ | HappyAbsSyn19 (Language.EO.Phi.Syntax.Abs.Function)+ | HappyAbsSyn20 (Language.EO.Phi.Syntax.Abs.LabelId)+ | HappyAbsSyn21 (Language.EO.Phi.Syntax.Abs.AlphaIndex)+ | HappyAbsSyn22 (Language.EO.Phi.Syntax.Abs.LabelMetaId)+ | HappyAbsSyn23 (Language.EO.Phi.Syntax.Abs.TailMetaId)+ | HappyAbsSyn24 (Language.EO.Phi.Syntax.Abs.BindingsMetaId)+ | HappyAbsSyn25 (Language.EO.Phi.Syntax.Abs.ObjectMetaId)+ | HappyAbsSyn26 (Language.EO.Phi.Syntax.Abs.BytesMetaId)+ | HappyAbsSyn27 (Language.EO.Phi.Syntax.Abs.MetaFunctionName)+ | HappyAbsSyn28 (Language.EO.Phi.Syntax.Abs.IntegerSigned)+ | HappyAbsSyn29 (Language.EO.Phi.Syntax.Abs.DoubleSigned)+ | HappyAbsSyn30 (Language.EO.Phi.Syntax.Abs.StringRaw)+ | HappyAbsSyn31 (Language.EO.Phi.Syntax.Abs.Program)+ | HappyAbsSyn32 (Language.EO.Phi.Syntax.Abs.MetaId)+ | HappyAbsSyn33 (Language.EO.Phi.Syntax.Abs.Object)+ | HappyAbsSyn34 (Language.EO.Phi.Syntax.Abs.Binding)+ | HappyAbsSyn35 ([Language.EO.Phi.Syntax.Abs.Binding])+ | HappyAbsSyn36 (Language.EO.Phi.Syntax.Abs.Attribute)+ | HappyAbsSyn37 ([Language.EO.Phi.Syntax.Abs.LabelId])+ | HappyAbsSyn38 (Language.EO.Phi.Syntax.Abs.RuleAttribute)+ | HappyAbsSyn39 (Language.EO.Phi.Syntax.Abs.PeeledObject)+ | HappyAbsSyn40 (Language.EO.Phi.Syntax.Abs.ObjectHead)+ | HappyAbsSyn41 (Language.EO.Phi.Syntax.Abs.ObjectAction)+ | HappyAbsSyn42 ([Language.EO.Phi.Syntax.Abs.ObjectAction])++{- to allow type-synonyms as our monads (likely+ - with explicitly-specified bind and return)+ - in Haskell98, it seems that with+ - /type M a = .../, then /(HappyReduction M)/+ - is not allowed. But Happy is a+ - code-generator that can just substitute it.+type HappyReduction m = + Prelude.Int + -> (Token)+ -> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> m HappyAbsSyn)+ -> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> m HappyAbsSyn)] + -> HappyStk HappyAbsSyn + -> [(Token)] -> m HappyAbsSyn+-}++action_0,+ action_1,+ action_2,+ action_3,+ action_4,+ action_5,+ action_6,+ action_7,+ action_8,+ action_9,+ action_10,+ action_11,+ action_12,+ action_13,+ action_14,+ action_15,+ action_16,+ action_17,+ action_18,+ action_19,+ action_20,+ action_21,+ action_22,+ action_23,+ action_24,+ action_25,+ action_26,+ action_27,+ action_28,+ action_29,+ action_30,+ action_31,+ action_32,+ action_33,+ action_34,+ action_35,+ action_36,+ action_37,+ action_38,+ action_39,+ action_40,+ action_41,+ action_42,+ action_43,+ action_44,+ action_45,+ action_46,+ action_47,+ action_48,+ action_49,+ action_50,+ action_51,+ action_52,+ action_53,+ action_54,+ action_55,+ action_56,+ action_57,+ action_58,+ action_59,+ action_60,+ action_61,+ action_62,+ action_63,+ action_64,+ action_65,+ action_66,+ action_67,+ action_68,+ action_69,+ action_70,+ action_71,+ action_72,+ action_73,+ action_74,+ action_75,+ action_76,+ action_77,+ action_78,+ action_79,+ action_80,+ action_81,+ action_82,+ action_83,+ action_84,+ action_85,+ action_86,+ action_87,+ action_88,+ action_89,+ action_90,+ action_91,+ action_92,+ action_93,+ action_94,+ action_95,+ action_96,+ action_97,+ action_98,+ action_99,+ action_100,+ action_101,+ action_102,+ action_103,+ action_104,+ action_105,+ action_106,+ action_107,+ action_108,+ action_109,+ action_110,+ action_111,+ action_112,+ action_113,+ action_114,+ action_115,+ action_116,+ action_117,+ action_118,+ action_119,+ action_120,+ action_121,+ action_122,+ action_123,+ action_124,+ action_125,+ action_126,+ action_127,+ action_128,+ action_129,+ action_130,+ action_131,+ action_132 :: () => Prelude.Int -> ({-HappyReduction (Err) = -}+ Prelude.Int + -> (Token)+ -> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)+ -> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)] + -> HappyStk HappyAbsSyn + -> [(Token)] -> (Err) HappyAbsSyn)++happyReduce_12,+ happyReduce_13,+ happyReduce_14,+ happyReduce_15,+ happyReduce_16,+ happyReduce_17,+ happyReduce_18,+ happyReduce_19,+ happyReduce_20,+ happyReduce_21,+ happyReduce_22,+ happyReduce_23,+ happyReduce_24,+ happyReduce_25,+ happyReduce_26,+ happyReduce_27,+ happyReduce_28,+ happyReduce_29,+ happyReduce_30,+ happyReduce_31,+ happyReduce_32,+ happyReduce_33,+ happyReduce_34,+ happyReduce_35,+ happyReduce_36,+ happyReduce_37,+ happyReduce_38,+ happyReduce_39,+ happyReduce_40,+ happyReduce_41,+ happyReduce_42,+ happyReduce_43,+ happyReduce_44,+ happyReduce_45,+ happyReduce_46,+ happyReduce_47,+ happyReduce_48,+ happyReduce_49,+ happyReduce_50,+ happyReduce_51,+ happyReduce_52,+ happyReduce_53,+ happyReduce_54,+ happyReduce_55,+ happyReduce_56,+ happyReduce_57,+ happyReduce_58,+ happyReduce_59,+ happyReduce_60,+ happyReduce_61,+ happyReduce_62,+ happyReduce_63,+ happyReduce_64,+ happyReduce_65,+ happyReduce_66,+ happyReduce_67,+ happyReduce_68,+ happyReduce_69,+ happyReduce_70,+ happyReduce_71,+ happyReduce_72,+ happyReduce_73,+ happyReduce_74,+ happyReduce_75,+ happyReduce_76,+ happyReduce_77,+ happyReduce_78,+ happyReduce_79,+ happyReduce_80,+ happyReduce_81 :: () => ({-HappyReduction (Err) = -}+ Prelude.Int + -> (Token)+ -> HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)+ -> [HappyState (Token) (HappyStk HappyAbsSyn -> [(Token)] -> (Err) HappyAbsSyn)] + -> HappyStk HappyAbsSyn + -> [(Token)] -> (Err) HappyAbsSyn)++happyExpList :: Happy_Data_Array.Array Prelude.Int Prelude.Int+happyExpList = Happy_Data_Array.listArray (0,374) ([0,0,0,2,0,0,0,0,0,49152,7,0,0,24576,353,1952,0,0,32768,5759,31600,0,0,0,26616,46849,7,0,0,24704,28672,0,0,0,0,0,1,0,0,32768,105,112,0,0,0,8480,1,0,0,0,4608,18,0,0,0,68,0,0,0,0,1088,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,68,0,0,0,0,0,0,0,0,0,0,26616,46849,7,0,0,24704,28672,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32768,5759,31600,0,0,0,0,0,0,0,16384,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,512,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1024,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,54272,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,128,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16384,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24576,353,1952,0,0,32768,5759,31600,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3392,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,63488,359,1975,0,0,32768,5759,31600,0,0,0,0,2048,0,0,0,24704,28672,0,0,0,0,1,0,0,0,0,8192,0,0,0,62464,0,0,0,0,0,0,2048,0,0,0,0,16400,64,0,0,0,5910,31232,0,0,0,26616,46849,7,0,0,5632,22,122,0,0,0,0,1,0,0,64,0,0,0,0,1024,0,0,0,0,0,0,0,0,0,0,0,512,0,0,0,0,0,0,0,0,2048,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,256,0,0,0,0,4096,0,0,0,0,0,0,0,0,3520,0,0,0,0,0,0,0,0,0,16384,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5632,22,122,0,0,0,0,0,0,0,0,128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,8192,0,0,0,0,4,0,0,0,0,0,0,0,0,0,24576,353,1952,0,0,3392,2048,0,0,0,0,0,0,0,0,32768,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,468,0,0,0,0,0,0,0,0,0,0,0,0,0,0+ ])++{-# NOINLINE happyExpListPerState #-}+happyExpListPerState st =+ token_strs_expected+ where token_strs = ["error","%dummy","%start_pProgram","%start_pMetaId","%start_pObject","%start_pBinding","%start_pListBinding","%start_pAttribute","%start_pListLabelId","%start_pRuleAttribute","%start_pPeeledObject","%start_pObjectHead","%start_pObjectAction","%start_pListObjectAction","Double","Integer","String","Bytes","Function","LabelId","AlphaIndex","LabelMetaId","TailMetaId","BindingsMetaId","ObjectMetaId","BytesMetaId","MetaFunctionName","IntegerSigned","DoubleSigned","StringRaw","Program","MetaId","Object","Binding","ListBinding","Attribute","ListLabelId","RuleAttribute","PeeledObject","ObjectHead","ObjectAction","ListObjectAction","'('","')'","'*'","','","'.'","'['","']'","'{'","'}'","'~'","'\916'","'\934'","'\934\775'","'\955'","'\958'","'\961'","'\966'","'\8614'","'\8709'","'\8869'","'\8968'","'\8969'","'\10214'","'\10215'","'\10509'","L_doubl","L_integ","L_quoted","L_Bytes","L_Function","L_LabelId","L_AlphaIndex","L_LabelMetaId","L_TailMetaId","L_BindingsMetaId","L_ObjectMetaId","L_BytesMetaId","L_MetaFunctionName","L_IntegerSigned","L_DoubleSigned","L_StringRaw","%eof"]+ bit_start = st Prelude.* 84+ bit_end = (st Prelude.+ 1) Prelude.* 84+ read_bit = readArrayBit happyExpList+ bits = Prelude.map read_bit [bit_start..bit_end Prelude.- 1]+ bits_indexed = Prelude.zip bits [0..83]+ token_strs_expected = Prelude.concatMap f bits_indexed+ f (Prelude.False, _) = []+ f (Prelude.True, nr) = [token_strs Prelude.!! nr]++action_0 (50) = happyShift action_77+action_0 (31) = happyGoto action_76+action_0 _ = happyFail (happyExpListPerState 0)++action_1 (75) = happyShift action_38+action_1 (76) = happyShift action_74+action_1 (77) = happyShift action_60+action_1 (78) = happyShift action_61+action_1 (79) = happyShift action_75+action_1 (22) = happyGoto action_68+action_1 (23) = happyGoto action_69+action_1 (24) = happyGoto action_70+action_1 (25) = happyGoto action_71+action_1 (26) = happyGoto action_72+action_1 (32) = happyGoto action_73+action_1 _ = happyFail (happyExpListPerState 1)++action_2 (54) = happyShift action_53+action_2 (55) = happyShift action_54+action_2 (57) = happyShift action_56+action_2 (62) = happyShift action_57+action_2 (63) = happyShift action_58+action_2 (65) = happyShift action_59+action_2 (78) = happyShift action_61+action_2 (80) = happyShift action_62+action_2 (81) = happyShift action_63+action_2 (82) = happyShift action_64+action_2 (83) = happyShift action_65+action_2 (25) = happyGoto action_43+action_2 (27) = happyGoto action_44+action_2 (28) = happyGoto action_45+action_2 (29) = happyGoto action_46+action_2 (30) = happyGoto action_47+action_2 (33) = happyGoto action_67+action_2 _ = happyFail (happyExpListPerState 2)++action_3 (52) = happyShift action_31+action_3 (53) = happyShift action_52+action_3 (54) = happyShift action_53+action_3 (55) = happyShift action_54+action_3 (56) = happyShift action_55+action_3 (57) = happyShift action_56+action_3 (58) = happyShift action_34+action_3 (59) = happyShift action_35+action_3 (62) = happyShift action_57+action_3 (63) = happyShift action_58+action_3 (65) = happyShift action_59+action_3 (73) = happyShift action_36+action_3 (74) = happyShift action_37+action_3 (75) = happyShift action_38+action_3 (77) = happyShift action_60+action_3 (78) = happyShift action_61+action_3 (80) = happyShift action_62+action_3 (81) = happyShift action_63+action_3 (82) = happyShift action_64+action_3 (83) = happyShift action_65+action_3 (20) = happyGoto action_26+action_3 (21) = happyGoto action_27+action_3 (22) = happyGoto action_28+action_3 (24) = happyGoto action_42+action_3 (25) = happyGoto action_43+action_3 (27) = happyGoto action_44+action_3 (28) = happyGoto action_45+action_3 (29) = happyGoto action_46+action_3 (30) = happyGoto action_47+action_3 (33) = happyGoto action_48+action_3 (34) = happyGoto action_66+action_3 (36) = happyGoto action_51+action_3 _ = happyFail (happyExpListPerState 3)++action_4 (52) = happyShift action_31+action_4 (53) = happyShift action_52+action_4 (54) = happyShift action_53+action_4 (55) = happyShift action_54+action_4 (56) = happyShift action_55+action_4 (57) = happyShift action_56+action_4 (58) = happyShift action_34+action_4 (59) = happyShift action_35+action_4 (62) = happyShift action_57+action_4 (63) = happyShift action_58+action_4 (65) = happyShift action_59+action_4 (73) = happyShift action_36+action_4 (74) = happyShift action_37+action_4 (75) = happyShift action_38+action_4 (77) = happyShift action_60+action_4 (78) = happyShift action_61+action_4 (80) = happyShift action_62+action_4 (81) = happyShift action_63+action_4 (82) = happyShift action_64+action_4 (83) = happyShift action_65+action_4 (20) = happyGoto action_26+action_4 (21) = happyGoto action_27+action_4 (22) = happyGoto action_28+action_4 (24) = happyGoto action_42+action_4 (25) = happyGoto action_43+action_4 (27) = happyGoto action_44+action_4 (28) = happyGoto action_45+action_4 (29) = happyGoto action_46+action_4 (30) = happyGoto action_47+action_4 (33) = happyGoto action_48+action_4 (34) = happyGoto action_49+action_4 (35) = happyGoto action_50+action_4 (36) = happyGoto action_51+action_4 _ = happyReduce_57++action_5 (52) = happyShift action_31+action_5 (58) = happyShift action_34+action_5 (59) = happyShift action_35+action_5 (73) = happyShift action_36+action_5 (74) = happyShift action_37+action_5 (75) = happyShift action_38+action_5 (20) = happyGoto action_26+action_5 (21) = happyGoto action_27+action_5 (22) = happyGoto action_28+action_5 (36) = happyGoto action_41+action_5 _ = happyFail (happyExpListPerState 5)++action_6 (73) = happyShift action_36+action_6 (20) = happyGoto action_39+action_6 (37) = happyGoto action_40+action_6 _ = happyReduce_67++action_7 (52) = happyShift action_31+action_7 (53) = happyShift action_32+action_7 (56) = happyShift action_33+action_7 (58) = happyShift action_34+action_7 (59) = happyShift action_35+action_7 (73) = happyShift action_36+action_7 (74) = happyShift action_37+action_7 (75) = happyShift action_38+action_7 (20) = happyGoto action_26+action_7 (21) = happyGoto action_27+action_7 (22) = happyGoto action_28+action_7 (36) = happyGoto action_29+action_7 (38) = happyGoto action_30+action_7 _ = happyFail (happyExpListPerState 7)++action_8 (54) = happyShift action_20+action_8 (57) = happyShift action_21+action_8 (62) = happyShift action_22+action_8 (65) = happyShift action_23+action_8 (39) = happyGoto action_24+action_8 (40) = happyGoto action_25+action_8 _ = happyFail (happyExpListPerState 8)++action_9 (54) = happyShift action_20+action_9 (57) = happyShift action_21+action_9 (62) = happyShift action_22+action_9 (65) = happyShift action_23+action_9 (40) = happyGoto action_19+action_9 _ = happyFail (happyExpListPerState 9)++action_10 (43) = happyShift action_16+action_10 (47) = happyShift action_17+action_10 (41) = happyGoto action_18+action_10 _ = happyFail (happyExpListPerState 10)++action_11 (43) = happyShift action_16+action_11 (47) = happyShift action_17+action_11 (41) = happyGoto action_14+action_11 (42) = happyGoto action_15+action_11 _ = happyReduce_80++action_12 (68) = happyShift action_13+action_12 _ = happyFail (happyExpListPerState 12)++action_13 _ = happyFail (happyExpListPerState 13)++action_14 (43) = happyShift action_16+action_14 (47) = happyShift action_17+action_14 (41) = happyGoto action_14+action_14 (42) = happyGoto action_97+action_14 _ = happyReduce_80++action_15 (84) = happyAccept+action_15 _ = happyFail (happyExpListPerState 15)++action_16 (52) = happyShift action_31+action_16 (53) = happyShift action_52+action_16 (54) = happyShift action_53+action_16 (55) = happyShift action_54+action_16 (56) = happyShift action_55+action_16 (57) = happyShift action_56+action_16 (58) = happyShift action_34+action_16 (59) = happyShift action_35+action_16 (62) = happyShift action_57+action_16 (63) = happyShift action_58+action_16 (65) = happyShift action_59+action_16 (73) = happyShift action_36+action_16 (74) = happyShift action_37+action_16 (75) = happyShift action_38+action_16 (77) = happyShift action_60+action_16 (78) = happyShift action_61+action_16 (80) = happyShift action_62+action_16 (81) = happyShift action_63+action_16 (82) = happyShift action_64+action_16 (83) = happyShift action_65+action_16 (20) = happyGoto action_26+action_16 (21) = happyGoto action_27+action_16 (22) = happyGoto action_28+action_16 (24) = happyGoto action_42+action_16 (25) = happyGoto action_43+action_16 (27) = happyGoto action_44+action_16 (28) = happyGoto action_45+action_16 (29) = happyGoto action_46+action_16 (30) = happyGoto action_47+action_16 (33) = happyGoto action_48+action_16 (34) = happyGoto action_49+action_16 (35) = happyGoto action_96+action_16 (36) = happyGoto action_51+action_16 _ = happyReduce_57++action_17 (52) = happyShift action_31+action_17 (58) = happyShift action_34+action_17 (59) = happyShift action_35+action_17 (73) = happyShift action_36+action_17 (74) = happyShift action_37+action_17 (75) = happyShift action_38+action_17 (20) = happyGoto action_26+action_17 (21) = happyGoto action_27+action_17 (22) = happyGoto action_28+action_17 (36) = happyGoto action_95+action_17 _ = happyFail (happyExpListPerState 17)++action_18 (84) = happyAccept+action_18 _ = happyFail (happyExpListPerState 18)++action_19 (84) = happyAccept+action_19 _ = happyFail (happyExpListPerState 19)++action_20 _ = happyReduce_75++action_21 _ = happyReduce_76++action_22 _ = happyReduce_77++action_23 (52) = happyShift action_31+action_23 (53) = happyShift action_52+action_23 (54) = happyShift action_53+action_23 (55) = happyShift action_54+action_23 (56) = happyShift action_55+action_23 (57) = happyShift action_56+action_23 (58) = happyShift action_34+action_23 (59) = happyShift action_35+action_23 (62) = happyShift action_57+action_23 (63) = happyShift action_58+action_23 (65) = happyShift action_59+action_23 (73) = happyShift action_36+action_23 (74) = happyShift action_37+action_23 (75) = happyShift action_38+action_23 (77) = happyShift action_60+action_23 (78) = happyShift action_61+action_23 (80) = happyShift action_62+action_23 (81) = happyShift action_63+action_23 (82) = happyShift action_64+action_23 (83) = happyShift action_65+action_23 (20) = happyGoto action_26+action_23 (21) = happyGoto action_27+action_23 (22) = happyGoto action_28+action_23 (24) = happyGoto action_42+action_23 (25) = happyGoto action_43+action_23 (27) = happyGoto action_44+action_23 (28) = happyGoto action_45+action_23 (29) = happyGoto action_46+action_23 (30) = happyGoto action_47+action_23 (33) = happyGoto action_48+action_23 (34) = happyGoto action_49+action_23 (35) = happyGoto action_94+action_23 (36) = happyGoto action_51+action_23 _ = happyReduce_57++action_24 (84) = happyAccept+action_24 _ = happyFail (happyExpListPerState 24)++action_25 (43) = happyShift action_16+action_25 (47) = happyShift action_17+action_25 (41) = happyGoto action_14+action_25 (42) = happyGoto action_93+action_25 _ = happyReduce_80++action_26 _ = happyReduce_63++action_27 _ = happyReduce_64++action_28 _ = happyReduce_65++action_29 _ = happyReduce_70++action_30 (84) = happyAccept+action_30 _ = happyFail (happyExpListPerState 30)++action_31 (59) = happyShift action_92+action_31 (73) = happyShift action_36+action_31 (20) = happyGoto action_91+action_31 _ = happyFail (happyExpListPerState 31)++action_32 _ = happyReduce_71++action_33 _ = happyReduce_72++action_34 _ = happyReduce_62++action_35 _ = happyReduce_60++action_36 _ = happyReduce_17++action_37 _ = happyReduce_18++action_38 _ = happyReduce_19++action_39 (46) = happyShift action_90+action_39 _ = happyReduce_68++action_40 (84) = happyAccept+action_40 _ = happyFail (happyExpListPerState 40)++action_41 (84) = happyAccept+action_41 _ = happyFail (happyExpListPerState 41)++action_42 _ = happyReduce_55++action_43 _ = happyReduce_46++action_44 (43) = happyShift action_89+action_44 _ = happyFail (happyExpListPerState 44)++action_45 _ = happyReduce_42++action_46 _ = happyReduce_43++action_47 _ = happyReduce_41++action_48 (43) = happyShift action_79+action_48 (45) = happyShift action_80+action_48 (47) = happyShift action_81+action_48 (48) = happyShift action_82+action_48 _ = happyReduce_50++action_49 (46) = happyShift action_88+action_49 _ = happyReduce_58++action_50 (84) = happyAccept+action_50 _ = happyFail (happyExpListPerState 50)++action_51 (60) = happyShift action_87+action_51 _ = happyFail (happyExpListPerState 51)++action_52 (67) = happyShift action_86+action_52 _ = happyFail (happyExpListPerState 52)++action_53 _ = happyReduce_37++action_54 _ = happyReduce_38++action_55 (67) = happyShift action_85+action_55 _ = happyFail (happyExpListPerState 55)++action_56 _ = happyReduce_39++action_57 _ = happyReduce_40++action_58 (54) = happyShift action_53+action_58 (55) = happyShift action_54+action_58 (57) = happyShift action_56+action_58 (62) = happyShift action_57+action_58 (63) = happyShift action_58+action_58 (65) = happyShift action_59+action_58 (78) = happyShift action_61+action_58 (80) = happyShift action_62+action_58 (81) = happyShift action_63+action_58 (82) = happyShift action_64+action_58 (83) = happyShift action_65+action_58 (25) = happyGoto action_43+action_58 (27) = happyGoto action_44+action_58 (28) = happyGoto action_45+action_58 (29) = happyGoto action_46+action_58 (30) = happyGoto action_47+action_58 (33) = happyGoto action_84+action_58 _ = happyFail (happyExpListPerState 58)++action_59 (52) = happyShift action_31+action_59 (53) = happyShift action_52+action_59 (54) = happyShift action_53+action_59 (55) = happyShift action_54+action_59 (56) = happyShift action_55+action_59 (57) = happyShift action_56+action_59 (58) = happyShift action_34+action_59 (59) = happyShift action_35+action_59 (62) = happyShift action_57+action_59 (63) = happyShift action_58+action_59 (65) = happyShift action_59+action_59 (73) = happyShift action_36+action_59 (74) = happyShift action_37+action_59 (75) = happyShift action_38+action_59 (77) = happyShift action_60+action_59 (78) = happyShift action_61+action_59 (80) = happyShift action_62+action_59 (81) = happyShift action_63+action_59 (82) = happyShift action_64+action_59 (83) = happyShift action_65+action_59 (20) = happyGoto action_26+action_59 (21) = happyGoto action_27+action_59 (22) = happyGoto action_28+action_59 (24) = happyGoto action_42+action_59 (25) = happyGoto action_43+action_59 (27) = happyGoto action_44+action_59 (28) = happyGoto action_45+action_59 (29) = happyGoto action_46+action_59 (30) = happyGoto action_47+action_59 (33) = happyGoto action_48+action_59 (34) = happyGoto action_49+action_59 (35) = happyGoto action_83+action_59 (36) = happyGoto action_51+action_59 _ = happyReduce_57++action_60 _ = happyReduce_21++action_61 _ = happyReduce_22++action_62 _ = happyReduce_24++action_63 _ = happyReduce_25++action_64 _ = happyReduce_26++action_65 _ = happyReduce_27++action_66 (84) = happyAccept+action_66 _ = happyFail (happyExpListPerState 66)++action_67 (43) = happyShift action_79+action_67 (45) = happyShift action_80+action_67 (47) = happyShift action_81+action_67 (48) = happyShift action_82+action_67 (84) = happyAccept+action_67 _ = happyFail (happyExpListPerState 67)++action_68 _ = happyReduce_29++action_69 _ = happyReduce_30++action_70 _ = happyReduce_31++action_71 _ = happyReduce_32++action_72 _ = happyReduce_33++action_73 (84) = happyAccept+action_73 _ = happyFail (happyExpListPerState 73)++action_74 _ = happyReduce_20++action_75 _ = happyReduce_23++action_76 (84) = happyAccept+action_76 _ = happyFail (happyExpListPerState 76)++action_77 (65) = happyShift action_78+action_77 _ = happyFail (happyExpListPerState 77)++action_78 (52) = happyShift action_31+action_78 (53) = happyShift action_52+action_78 (54) = happyShift action_53+action_78 (55) = happyShift action_54+action_78 (56) = happyShift action_55+action_78 (57) = happyShift action_56+action_78 (58) = happyShift action_34+action_78 (59) = happyShift action_35+action_78 (62) = happyShift action_57+action_78 (63) = happyShift action_58+action_78 (65) = happyShift action_59+action_78 (73) = happyShift action_36+action_78 (74) = happyShift action_37+action_78 (75) = happyShift action_38+action_78 (77) = happyShift action_60+action_78 (78) = happyShift action_61+action_78 (80) = happyShift action_62+action_78 (81) = happyShift action_63+action_78 (82) = happyShift action_64+action_78 (83) = happyShift action_65+action_78 (20) = happyGoto action_26+action_78 (21) = happyGoto action_27+action_78 (22) = happyGoto action_28+action_78 (24) = happyGoto action_42+action_78 (25) = happyGoto action_43+action_78 (27) = happyGoto action_44+action_78 (28) = happyGoto action_45+action_78 (29) = happyGoto action_46+action_78 (30) = happyGoto action_47+action_78 (33) = happyGoto action_48+action_78 (34) = happyGoto action_49+action_78 (35) = happyGoto action_119+action_78 (36) = happyGoto action_51+action_78 _ = happyReduce_57++action_79 (52) = happyShift action_31+action_79 (53) = happyShift action_52+action_79 (54) = happyShift action_53+action_79 (55) = happyShift action_54+action_79 (56) = happyShift action_55+action_79 (57) = happyShift action_56+action_79 (58) = happyShift action_34+action_79 (59) = happyShift action_35+action_79 (62) = happyShift action_57+action_79 (63) = happyShift action_58+action_79 (65) = happyShift action_59+action_79 (73) = happyShift action_36+action_79 (74) = happyShift action_37+action_79 (75) = happyShift action_38+action_79 (77) = happyShift action_60+action_79 (78) = happyShift action_61+action_79 (80) = happyShift action_62+action_79 (81) = happyShift action_63+action_79 (82) = happyShift action_64+action_79 (83) = happyShift action_65+action_79 (20) = happyGoto action_26+action_79 (21) = happyGoto action_27+action_79 (22) = happyGoto action_28+action_79 (24) = happyGoto action_42+action_79 (25) = happyGoto action_43+action_79 (27) = happyGoto action_44+action_79 (28) = happyGoto action_45+action_79 (29) = happyGoto action_46+action_79 (30) = happyGoto action_47+action_79 (33) = happyGoto action_48+action_79 (34) = happyGoto action_49+action_79 (35) = happyGoto action_118+action_79 (36) = happyGoto action_51+action_79 _ = happyReduce_57++action_80 (76) = happyShift action_74+action_80 (23) = happyGoto action_117+action_80 _ = happyFail (happyExpListPerState 80)++action_81 (52) = happyShift action_31+action_81 (58) = happyShift action_34+action_81 (59) = happyShift action_35+action_81 (73) = happyShift action_36+action_81 (74) = happyShift action_37+action_81 (75) = happyShift action_38+action_81 (20) = happyGoto action_26+action_81 (21) = happyGoto action_27+action_81 (22) = happyGoto action_28+action_81 (36) = happyGoto action_116+action_81 _ = happyFail (happyExpListPerState 81)++action_82 (57) = happyShift action_115+action_82 _ = happyFail (happyExpListPerState 82)++action_83 (66) = happyShift action_114+action_83 _ = happyFail (happyExpListPerState 83)++action_84 (43) = happyShift action_79+action_84 (45) = happyShift action_80+action_84 (46) = happyShift action_113+action_84 (47) = happyShift action_81+action_84 (48) = happyShift action_82+action_84 _ = happyFail (happyExpListPerState 84)++action_85 (72) = happyShift action_112+action_85 (19) = happyGoto action_111+action_85 _ = happyFail (happyExpListPerState 85)++action_86 (61) = happyShift action_109+action_86 (71) = happyShift action_110+action_86 (79) = happyShift action_75+action_86 (18) = happyGoto action_107+action_86 (26) = happyGoto action_108+action_86 _ = happyFail (happyExpListPerState 86)++action_87 (54) = happyShift action_53+action_87 (55) = happyShift action_54+action_87 (57) = happyShift action_56+action_87 (61) = happyShift action_106+action_87 (62) = happyShift action_57+action_87 (63) = happyShift action_58+action_87 (65) = happyShift action_59+action_87 (78) = happyShift action_61+action_87 (80) = happyShift action_62+action_87 (81) = happyShift action_63+action_87 (82) = happyShift action_64+action_87 (83) = happyShift action_65+action_87 (25) = happyGoto action_43+action_87 (27) = happyGoto action_44+action_87 (28) = happyGoto action_45+action_87 (29) = happyGoto action_46+action_87 (30) = happyGoto action_47+action_87 (33) = happyGoto action_105+action_87 _ = happyFail (happyExpListPerState 87)++action_88 (52) = happyShift action_31+action_88 (53) = happyShift action_52+action_88 (54) = happyShift action_53+action_88 (55) = happyShift action_54+action_88 (56) = happyShift action_55+action_88 (57) = happyShift action_56+action_88 (58) = happyShift action_34+action_88 (59) = happyShift action_35+action_88 (62) = happyShift action_57+action_88 (63) = happyShift action_58+action_88 (65) = happyShift action_59+action_88 (73) = happyShift action_36+action_88 (74) = happyShift action_37+action_88 (75) = happyShift action_38+action_88 (77) = happyShift action_60+action_88 (78) = happyShift action_61+action_88 (80) = happyShift action_62+action_88 (81) = happyShift action_63+action_88 (82) = happyShift action_64+action_88 (83) = happyShift action_65+action_88 (20) = happyGoto action_26+action_88 (21) = happyGoto action_27+action_88 (22) = happyGoto action_28+action_88 (24) = happyGoto action_42+action_88 (25) = happyGoto action_43+action_88 (27) = happyGoto action_44+action_88 (28) = happyGoto action_45+action_88 (29) = happyGoto action_46+action_88 (30) = happyGoto action_47+action_88 (33) = happyGoto action_48+action_88 (34) = happyGoto action_49+action_88 (35) = happyGoto action_104+action_88 (36) = happyGoto action_51+action_88 _ = happyReduce_57++action_89 (54) = happyShift action_53+action_89 (55) = happyShift action_54+action_89 (57) = happyShift action_56+action_89 (62) = happyShift action_57+action_89 (63) = happyShift action_58+action_89 (65) = happyShift action_59+action_89 (78) = happyShift action_61+action_89 (80) = happyShift action_62+action_89 (81) = happyShift action_63+action_89 (82) = happyShift action_64+action_89 (83) = happyShift action_65+action_89 (25) = happyGoto action_43+action_89 (27) = happyGoto action_44+action_89 (28) = happyGoto action_45+action_89 (29) = happyGoto action_46+action_89 (30) = happyGoto action_47+action_89 (33) = happyGoto action_103+action_89 _ = happyFail (happyExpListPerState 89)++action_90 (73) = happyShift action_36+action_90 (20) = happyGoto action_39+action_90 (37) = happyGoto action_102+action_90 _ = happyReduce_67++action_91 (43) = happyShift action_101+action_91 _ = happyFail (happyExpListPerState 91)++action_92 (43) = happyShift action_100+action_92 _ = happyFail (happyExpListPerState 92)++action_93 _ = happyReduce_73++action_94 (66) = happyShift action_99+action_94 _ = happyFail (happyExpListPerState 94)++action_95 _ = happyReduce_79++action_96 (44) = happyShift action_98+action_96 _ = happyFail (happyExpListPerState 96)++action_97 _ = happyReduce_81++action_98 _ = happyReduce_78++action_99 _ = happyReduce_74++action_100 (73) = happyShift action_36+action_100 (20) = happyGoto action_39+action_100 (37) = happyGoto action_126+action_100 _ = happyReduce_67++action_101 (73) = happyShift action_36+action_101 (20) = happyGoto action_39+action_101 (37) = happyGoto action_125+action_101 _ = happyReduce_67++action_102 _ = happyReduce_69++action_103 (43) = happyShift action_79+action_103 (44) = happyShift action_124+action_103 (45) = happyShift action_80+action_103 (47) = happyShift action_81+action_103 (48) = happyShift action_82+action_103 _ = happyFail (happyExpListPerState 103)++action_104 _ = happyReduce_59++action_105 (43) = happyShift action_79+action_105 (45) = happyShift action_80+action_105 (47) = happyShift action_81+action_105 (48) = happyShift action_82+action_105 _ = happyReduce_49++action_106 _ = happyReduce_51++action_107 _ = happyReduce_52++action_108 _ = happyReduce_56++action_109 _ = happyReduce_53++action_110 _ = happyReduce_15++action_111 _ = happyReduce_54++action_112 _ = happyReduce_16++action_113 (54) = happyShift action_53+action_113 (55) = happyShift action_54+action_113 (57) = happyShift action_56+action_113 (62) = happyShift action_57+action_113 (63) = happyShift action_58+action_113 (65) = happyShift action_59+action_113 (78) = happyShift action_61+action_113 (80) = happyShift action_62+action_113 (81) = happyShift action_63+action_113 (82) = happyShift action_64+action_113 (83) = happyShift action_65+action_113 (25) = happyGoto action_43+action_113 (27) = happyGoto action_44+action_113 (28) = happyGoto action_45+action_113 (29) = happyGoto action_46+action_113 (30) = happyGoto action_47+action_113 (33) = happyGoto action_123+action_113 _ = happyFail (happyExpListPerState 113)++action_114 _ = happyReduce_34++action_115 (60) = happyShift action_122+action_115 _ = happyFail (happyExpListPerState 115)++action_116 _ = happyReduce_36++action_117 _ = happyReduce_47++action_118 (44) = happyShift action_121+action_118 _ = happyFail (happyExpListPerState 118)++action_119 (66) = happyShift action_120+action_119 _ = happyFail (happyExpListPerState 119)++action_120 (51) = happyShift action_131+action_120 _ = happyFail (happyExpListPerState 120)++action_121 _ = happyReduce_35++action_122 (54) = happyShift action_53+action_122 (55) = happyShift action_54+action_122 (57) = happyShift action_56+action_122 (62) = happyShift action_57+action_122 (63) = happyShift action_58+action_122 (65) = happyShift action_59+action_122 (78) = happyShift action_61+action_122 (80) = happyShift action_62+action_122 (81) = happyShift action_63+action_122 (82) = happyShift action_64+action_122 (83) = happyShift action_65+action_122 (25) = happyGoto action_43+action_122 (27) = happyGoto action_44+action_122 (28) = happyGoto action_45+action_122 (29) = happyGoto action_46+action_122 (30) = happyGoto action_47+action_122 (33) = happyGoto action_130+action_122 _ = happyFail (happyExpListPerState 122)++action_123 (43) = happyShift action_79+action_123 (45) = happyShift action_80+action_123 (47) = happyShift action_81+action_123 (48) = happyShift action_82+action_123 (64) = happyShift action_129+action_123 _ = happyFail (happyExpListPerState 123)++action_124 _ = happyReduce_48++action_125 (44) = happyShift action_128+action_125 _ = happyFail (happyExpListPerState 125)++action_126 (44) = happyShift action_127+action_126 _ = happyFail (happyExpListPerState 126)++action_127 _ = happyReduce_61++action_128 _ = happyReduce_66++action_129 _ = happyReduce_45++action_130 (43) = happyShift action_79+action_130 (45) = happyShift action_80+action_130 (47) = happyShift action_81+action_130 (48) = happyShift action_82+action_130 (49) = happyShift action_132+action_130 _ = happyFail (happyExpListPerState 130)++action_131 _ = happyReduce_28++action_132 _ = happyReduce_44++happyReduce_12 = happySpecReduce_1 15 happyReduction_12+happyReduction_12 (HappyTerminal (PT _ (TD happy_var_1)))+ = HappyAbsSyn15+ ((read happy_var_1) :: Double+ )+happyReduction_12 _ = notHappyAtAll ++happyReduce_13 = happySpecReduce_1 16 happyReduction_13+happyReduction_13 (HappyTerminal (PT _ (TI happy_var_1)))+ = HappyAbsSyn16+ ((read happy_var_1) :: Integer+ )+happyReduction_13 _ = notHappyAtAll ++happyReduce_14 = happySpecReduce_1 17 happyReduction_14+happyReduction_14 (HappyTerminal (PT _ (TL happy_var_1)))+ = HappyAbsSyn17+ (happy_var_1+ )+happyReduction_14 _ = notHappyAtAll ++happyReduce_15 = happySpecReduce_1 18 happyReduction_15+happyReduction_15 (HappyTerminal (PT _ (T_Bytes happy_var_1)))+ = HappyAbsSyn18+ (Language.EO.Phi.Syntax.Abs.Bytes happy_var_1+ )+happyReduction_15 _ = notHappyAtAll ++happyReduce_16 = happySpecReduce_1 19 happyReduction_16+happyReduction_16 (HappyTerminal (PT _ (T_Function happy_var_1)))+ = HappyAbsSyn19+ (Language.EO.Phi.Syntax.Abs.Function happy_var_1+ )+happyReduction_16 _ = notHappyAtAll ++happyReduce_17 = happySpecReduce_1 20 happyReduction_17+happyReduction_17 (HappyTerminal (PT _ (T_LabelId happy_var_1)))+ = HappyAbsSyn20+ (Language.EO.Phi.Syntax.Abs.LabelId happy_var_1+ )+happyReduction_17 _ = notHappyAtAll ++happyReduce_18 = happySpecReduce_1 21 happyReduction_18+happyReduction_18 (HappyTerminal (PT _ (T_AlphaIndex happy_var_1)))+ = HappyAbsSyn21+ (Language.EO.Phi.Syntax.Abs.AlphaIndex happy_var_1+ )+happyReduction_18 _ = notHappyAtAll ++happyReduce_19 = happySpecReduce_1 22 happyReduction_19+happyReduction_19 (HappyTerminal (PT _ (T_LabelMetaId happy_var_1)))+ = HappyAbsSyn22+ (Language.EO.Phi.Syntax.Abs.LabelMetaId happy_var_1+ )+happyReduction_19 _ = notHappyAtAll ++happyReduce_20 = happySpecReduce_1 23 happyReduction_20+happyReduction_20 (HappyTerminal (PT _ (T_TailMetaId happy_var_1)))+ = HappyAbsSyn23+ (Language.EO.Phi.Syntax.Abs.TailMetaId happy_var_1+ )+happyReduction_20 _ = notHappyAtAll ++happyReduce_21 = happySpecReduce_1 24 happyReduction_21+happyReduction_21 (HappyTerminal (PT _ (T_BindingsMetaId happy_var_1)))+ = HappyAbsSyn24+ (Language.EO.Phi.Syntax.Abs.BindingsMetaId happy_var_1+ )+happyReduction_21 _ = notHappyAtAll ++happyReduce_22 = happySpecReduce_1 25 happyReduction_22+happyReduction_22 (HappyTerminal (PT _ (T_ObjectMetaId happy_var_1)))+ = HappyAbsSyn25+ (Language.EO.Phi.Syntax.Abs.ObjectMetaId happy_var_1+ )+happyReduction_22 _ = notHappyAtAll ++happyReduce_23 = happySpecReduce_1 26 happyReduction_23+happyReduction_23 (HappyTerminal (PT _ (T_BytesMetaId happy_var_1)))+ = HappyAbsSyn26+ (Language.EO.Phi.Syntax.Abs.BytesMetaId happy_var_1+ )+happyReduction_23 _ = notHappyAtAll ++happyReduce_24 = happySpecReduce_1 27 happyReduction_24+happyReduction_24 (HappyTerminal (PT _ (T_MetaFunctionName happy_var_1)))+ = HappyAbsSyn27+ (Language.EO.Phi.Syntax.Abs.MetaFunctionName happy_var_1+ )+happyReduction_24 _ = notHappyAtAll ++happyReduce_25 = happySpecReduce_1 28 happyReduction_25+happyReduction_25 (HappyTerminal (PT _ (T_IntegerSigned happy_var_1)))+ = HappyAbsSyn28+ (Language.EO.Phi.Syntax.Abs.IntegerSigned happy_var_1+ )+happyReduction_25 _ = notHappyAtAll ++happyReduce_26 = happySpecReduce_1 29 happyReduction_26+happyReduction_26 (HappyTerminal (PT _ (T_DoubleSigned happy_var_1)))+ = HappyAbsSyn29+ (Language.EO.Phi.Syntax.Abs.DoubleSigned happy_var_1+ )+happyReduction_26 _ = notHappyAtAll ++happyReduce_27 = happySpecReduce_1 30 happyReduction_27+happyReduction_27 (HappyTerminal (PT _ (T_StringRaw happy_var_1)))+ = HappyAbsSyn30+ (Language.EO.Phi.Syntax.Abs.StringRaw happy_var_1+ )+happyReduction_27 _ = notHappyAtAll ++happyReduce_28 = happyReduce 5 31 happyReduction_28+happyReduction_28 (_ `HappyStk`+ _ `HappyStk`+ (HappyAbsSyn35 happy_var_3) `HappyStk`+ _ `HappyStk`+ _ `HappyStk`+ happyRest)+ = HappyAbsSyn31+ (Language.EO.Phi.Syntax.Abs.Program happy_var_3+ ) `HappyStk` happyRest++happyReduce_29 = happySpecReduce_1 32 happyReduction_29+happyReduction_29 (HappyAbsSyn22 happy_var_1)+ = HappyAbsSyn32+ (Language.EO.Phi.Syntax.Abs.MetaIdLabel happy_var_1+ )+happyReduction_29 _ = notHappyAtAll ++happyReduce_30 = happySpecReduce_1 32 happyReduction_30+happyReduction_30 (HappyAbsSyn23 happy_var_1)+ = HappyAbsSyn32+ (Language.EO.Phi.Syntax.Abs.MetaIdTail happy_var_1+ )+happyReduction_30 _ = notHappyAtAll ++happyReduce_31 = happySpecReduce_1 32 happyReduction_31+happyReduction_31 (HappyAbsSyn24 happy_var_1)+ = HappyAbsSyn32+ (Language.EO.Phi.Syntax.Abs.MetaIdBindings happy_var_1+ )+happyReduction_31 _ = notHappyAtAll ++happyReduce_32 = happySpecReduce_1 32 happyReduction_32+happyReduction_32 (HappyAbsSyn25 happy_var_1)+ = HappyAbsSyn32+ (Language.EO.Phi.Syntax.Abs.MetaIdObject happy_var_1+ )+happyReduction_32 _ = notHappyAtAll ++happyReduce_33 = happySpecReduce_1 32 happyReduction_33+happyReduction_33 (HappyAbsSyn26 happy_var_1)+ = HappyAbsSyn32+ (Language.EO.Phi.Syntax.Abs.MetaIdBytes happy_var_1+ )+happyReduction_33 _ = notHappyAtAll ++happyReduce_34 = happySpecReduce_3 33 happyReduction_34+happyReduction_34 _+ (HappyAbsSyn35 happy_var_2)+ _+ = HappyAbsSyn33+ (Language.EO.Phi.Syntax.Abs.Formation happy_var_2+ )+happyReduction_34 _ _ _ = notHappyAtAll ++happyReduce_35 = happyReduce 4 33 happyReduction_35+happyReduction_35 (_ `HappyStk`+ (HappyAbsSyn35 happy_var_3) `HappyStk`+ _ `HappyStk`+ (HappyAbsSyn33 happy_var_1) `HappyStk`+ happyRest)+ = HappyAbsSyn33+ (Language.EO.Phi.Syntax.Abs.Application happy_var_1 happy_var_3+ ) `HappyStk` happyRest++happyReduce_36 = happySpecReduce_3 33 happyReduction_36+happyReduction_36 (HappyAbsSyn36 happy_var_3)+ _+ (HappyAbsSyn33 happy_var_1)+ = HappyAbsSyn33+ (Language.EO.Phi.Syntax.Abs.ObjectDispatch happy_var_1 happy_var_3+ )+happyReduction_36 _ _ _ = notHappyAtAll ++happyReduce_37 = happySpecReduce_1 33 happyReduction_37+happyReduction_37 _+ = HappyAbsSyn33+ (Language.EO.Phi.Syntax.Abs.GlobalObject+ )++happyReduce_38 = happySpecReduce_1 33 happyReduction_38+happyReduction_38 _+ = HappyAbsSyn33+ (Language.EO.Phi.Syntax.Abs.GlobalObjectPhiOrg+ )++happyReduce_39 = happySpecReduce_1 33 happyReduction_39+happyReduction_39 _+ = HappyAbsSyn33+ (Language.EO.Phi.Syntax.Abs.ThisObject+ )++happyReduce_40 = happySpecReduce_1 33 happyReduction_40+happyReduction_40 _+ = HappyAbsSyn33+ (Language.EO.Phi.Syntax.Abs.Termination+ )++happyReduce_41 = happySpecReduce_1 33 happyReduction_41+happyReduction_41 (HappyAbsSyn30 happy_var_1)+ = HappyAbsSyn33+ (Language.EO.Phi.Syntax.Abs.ConstStringRaw happy_var_1+ )+happyReduction_41 _ = notHappyAtAll ++happyReduce_42 = happySpecReduce_1 33 happyReduction_42+happyReduction_42 (HappyAbsSyn28 happy_var_1)+ = HappyAbsSyn33+ (Language.EO.Phi.Syntax.Abs.ConstIntRaw happy_var_1+ )+happyReduction_42 _ = notHappyAtAll ++happyReduce_43 = happySpecReduce_1 33 happyReduction_43+happyReduction_43 (HappyAbsSyn29 happy_var_1)+ = HappyAbsSyn33+ (Language.EO.Phi.Syntax.Abs.ConstFloatRaw happy_var_1+ )+happyReduction_43 _ = notHappyAtAll ++happyReduce_44 = happyReduce 6 33 happyReduction_44+happyReduction_44 (_ `HappyStk`+ (HappyAbsSyn33 happy_var_5) `HappyStk`+ _ `HappyStk`+ _ `HappyStk`+ _ `HappyStk`+ (HappyAbsSyn33 happy_var_1) `HappyStk`+ happyRest)+ = HappyAbsSyn33+ (Language.EO.Phi.Syntax.Abs.MetaSubstThis happy_var_1 happy_var_5+ ) `HappyStk` happyRest++happyReduce_45 = happyReduce 5 33 happyReduction_45+happyReduction_45 (_ `HappyStk`+ (HappyAbsSyn33 happy_var_4) `HappyStk`+ _ `HappyStk`+ (HappyAbsSyn33 happy_var_2) `HappyStk`+ _ `HappyStk`+ happyRest)+ = HappyAbsSyn33+ (Language.EO.Phi.Syntax.Abs.MetaContextualize happy_var_2 happy_var_4+ ) `HappyStk` happyRest++happyReduce_46 = happySpecReduce_1 33 happyReduction_46+happyReduction_46 (HappyAbsSyn25 happy_var_1)+ = HappyAbsSyn33+ (Language.EO.Phi.Syntax.Abs.MetaObject happy_var_1+ )+happyReduction_46 _ = notHappyAtAll ++happyReduce_47 = happySpecReduce_3 33 happyReduction_47+happyReduction_47 (HappyAbsSyn23 happy_var_3)+ _+ (HappyAbsSyn33 happy_var_1)+ = HappyAbsSyn33+ (Language.EO.Phi.Syntax.Abs.MetaTailContext happy_var_1 happy_var_3+ )+happyReduction_47 _ _ _ = notHappyAtAll ++happyReduce_48 = happyReduce 4 33 happyReduction_48+happyReduction_48 (_ `HappyStk`+ (HappyAbsSyn33 happy_var_3) `HappyStk`+ _ `HappyStk`+ (HappyAbsSyn27 happy_var_1) `HappyStk`+ happyRest)+ = HappyAbsSyn33+ (Language.EO.Phi.Syntax.Abs.MetaFunction happy_var_1 happy_var_3+ ) `HappyStk` happyRest++happyReduce_49 = happySpecReduce_3 34 happyReduction_49+happyReduction_49 (HappyAbsSyn33 happy_var_3)+ _+ (HappyAbsSyn36 happy_var_1)+ = HappyAbsSyn34+ (Language.EO.Phi.Syntax.Abs.AlphaBinding happy_var_1 happy_var_3+ )+happyReduction_49 _ _ _ = notHappyAtAll ++happyReduce_50 = happySpecReduce_1 34 happyReduction_50+happyReduction_50 (HappyAbsSyn33 happy_var_1)+ = HappyAbsSyn34+ (Language.EO.Phi.Syntax.Abs.AlphaBindingSugar happy_var_1+ )+happyReduction_50 _ = notHappyAtAll ++happyReduce_51 = happySpecReduce_3 34 happyReduction_51+happyReduction_51 _+ _+ (HappyAbsSyn36 happy_var_1)+ = HappyAbsSyn34+ (Language.EO.Phi.Syntax.Abs.EmptyBinding happy_var_1+ )+happyReduction_51 _ _ _ = notHappyAtAll ++happyReduce_52 = happySpecReduce_3 34 happyReduction_52+happyReduction_52 (HappyAbsSyn18 happy_var_3)+ _+ _+ = HappyAbsSyn34+ (Language.EO.Phi.Syntax.Abs.DeltaBinding happy_var_3+ )+happyReduction_52 _ _ _ = notHappyAtAll ++happyReduce_53 = happySpecReduce_3 34 happyReduction_53+happyReduction_53 _+ _+ _+ = HappyAbsSyn34+ (Language.EO.Phi.Syntax.Abs.DeltaEmptyBinding+ )++happyReduce_54 = happySpecReduce_3 34 happyReduction_54+happyReduction_54 (HappyAbsSyn19 happy_var_3)+ _+ _+ = HappyAbsSyn34+ (Language.EO.Phi.Syntax.Abs.LambdaBinding happy_var_3+ )+happyReduction_54 _ _ _ = notHappyAtAll ++happyReduce_55 = happySpecReduce_1 34 happyReduction_55+happyReduction_55 (HappyAbsSyn24 happy_var_1)+ = HappyAbsSyn34+ (Language.EO.Phi.Syntax.Abs.MetaBindings happy_var_1+ )+happyReduction_55 _ = notHappyAtAll ++happyReduce_56 = happySpecReduce_3 34 happyReduction_56+happyReduction_56 (HappyAbsSyn26 happy_var_3)+ _+ _+ = HappyAbsSyn34+ (Language.EO.Phi.Syntax.Abs.MetaDeltaBinding happy_var_3+ )+happyReduction_56 _ _ _ = notHappyAtAll ++happyReduce_57 = happySpecReduce_0 35 happyReduction_57+happyReduction_57 = HappyAbsSyn35+ ([]+ )++happyReduce_58 = happySpecReduce_1 35 happyReduction_58+happyReduction_58 (HappyAbsSyn34 happy_var_1)+ = HappyAbsSyn35+ ((:[]) happy_var_1+ )+happyReduction_58 _ = notHappyAtAll ++happyReduce_59 = happySpecReduce_3 35 happyReduction_59+happyReduction_59 (HappyAbsSyn35 happy_var_3)+ _+ (HappyAbsSyn34 happy_var_1)+ = HappyAbsSyn35+ ((:) happy_var_1 happy_var_3+ )+happyReduction_59 _ _ _ = notHappyAtAll ++happyReduce_60 = happySpecReduce_1 36 happyReduction_60+happyReduction_60 _+ = HappyAbsSyn36+ (Language.EO.Phi.Syntax.Abs.Phi+ )++happyReduce_61 = happyReduce 5 36 happyReduction_61+happyReduction_61 (_ `HappyStk`+ (HappyAbsSyn37 happy_var_4) `HappyStk`+ _ `HappyStk`+ _ `HappyStk`+ _ `HappyStk`+ happyRest)+ = HappyAbsSyn36+ (Language.EO.Phi.Syntax.Abs.PhiSugar happy_var_4+ ) `HappyStk` happyRest++happyReduce_62 = happySpecReduce_1 36 happyReduction_62+happyReduction_62 _+ = HappyAbsSyn36+ (Language.EO.Phi.Syntax.Abs.Rho+ )++happyReduce_63 = happySpecReduce_1 36 happyReduction_63+happyReduction_63 (HappyAbsSyn20 happy_var_1)+ = HappyAbsSyn36+ (Language.EO.Phi.Syntax.Abs.Label happy_var_1+ )+happyReduction_63 _ = notHappyAtAll ++happyReduce_64 = happySpecReduce_1 36 happyReduction_64+happyReduction_64 (HappyAbsSyn21 happy_var_1)+ = HappyAbsSyn36+ (Language.EO.Phi.Syntax.Abs.Alpha happy_var_1+ )+happyReduction_64 _ = notHappyAtAll ++happyReduce_65 = happySpecReduce_1 36 happyReduction_65+happyReduction_65 (HappyAbsSyn22 happy_var_1)+ = HappyAbsSyn36+ (Language.EO.Phi.Syntax.Abs.MetaAttr happy_var_1+ )+happyReduction_65 _ = notHappyAtAll ++happyReduce_66 = happyReduce 5 36 happyReduction_66+happyReduction_66 (_ `HappyStk`+ (HappyAbsSyn37 happy_var_4) `HappyStk`+ _ `HappyStk`+ (HappyAbsSyn20 happy_var_2) `HappyStk`+ _ `HappyStk`+ happyRest)+ = HappyAbsSyn36+ (Language.EO.Phi.Syntax.Abs.AttrSugar happy_var_2 happy_var_4+ ) `HappyStk` happyRest++happyReduce_67 = happySpecReduce_0 37 happyReduction_67+happyReduction_67 = HappyAbsSyn37+ ([]+ )++happyReduce_68 = happySpecReduce_1 37 happyReduction_68+happyReduction_68 (HappyAbsSyn20 happy_var_1)+ = HappyAbsSyn37+ ((:[]) happy_var_1+ )+happyReduction_68 _ = notHappyAtAll ++happyReduce_69 = happySpecReduce_3 37 happyReduction_69+happyReduction_69 (HappyAbsSyn37 happy_var_3)+ _+ (HappyAbsSyn20 happy_var_1)+ = HappyAbsSyn37+ ((:) happy_var_1 happy_var_3+ )+happyReduction_69 _ _ _ = notHappyAtAll ++happyReduce_70 = happySpecReduce_1 38 happyReduction_70+happyReduction_70 (HappyAbsSyn36 happy_var_1)+ = HappyAbsSyn38+ (Language.EO.Phi.Syntax.Abs.ObjectAttr happy_var_1+ )+happyReduction_70 _ = notHappyAtAll ++happyReduce_71 = happySpecReduce_1 38 happyReduction_71+happyReduction_71 _+ = HappyAbsSyn38+ (Language.EO.Phi.Syntax.Abs.DeltaAttr+ )++happyReduce_72 = happySpecReduce_1 38 happyReduction_72+happyReduction_72 _+ = HappyAbsSyn38+ (Language.EO.Phi.Syntax.Abs.LambdaAttr+ )++happyReduce_73 = happySpecReduce_2 39 happyReduction_73+happyReduction_73 (HappyAbsSyn42 happy_var_2)+ (HappyAbsSyn40 happy_var_1)+ = HappyAbsSyn39+ (Language.EO.Phi.Syntax.Abs.PeeledObject happy_var_1 happy_var_2+ )+happyReduction_73 _ _ = notHappyAtAll ++happyReduce_74 = happySpecReduce_3 40 happyReduction_74+happyReduction_74 _+ (HappyAbsSyn35 happy_var_2)+ _+ = HappyAbsSyn40+ (Language.EO.Phi.Syntax.Abs.HeadFormation happy_var_2+ )+happyReduction_74 _ _ _ = notHappyAtAll ++happyReduce_75 = happySpecReduce_1 40 happyReduction_75+happyReduction_75 _+ = HappyAbsSyn40+ (Language.EO.Phi.Syntax.Abs.HeadGlobal+ )++happyReduce_76 = happySpecReduce_1 40 happyReduction_76+happyReduction_76 _+ = HappyAbsSyn40+ (Language.EO.Phi.Syntax.Abs.HeadThis+ )++happyReduce_77 = happySpecReduce_1 40 happyReduction_77+happyReduction_77 _+ = HappyAbsSyn40+ (Language.EO.Phi.Syntax.Abs.HeadTermination+ )++happyReduce_78 = happySpecReduce_3 41 happyReduction_78+happyReduction_78 _+ (HappyAbsSyn35 happy_var_2)+ _+ = HappyAbsSyn41+ (Language.EO.Phi.Syntax.Abs.ActionApplication happy_var_2+ )+happyReduction_78 _ _ _ = notHappyAtAll ++happyReduce_79 = happySpecReduce_2 41 happyReduction_79+happyReduction_79 (HappyAbsSyn36 happy_var_2)+ _+ = HappyAbsSyn41+ (Language.EO.Phi.Syntax.Abs.ActionDispatch happy_var_2+ )+happyReduction_79 _ _ = notHappyAtAll ++happyReduce_80 = happySpecReduce_0 42 happyReduction_80+happyReduction_80 = HappyAbsSyn42+ ([]+ )++happyReduce_81 = happySpecReduce_2 42 happyReduction_81+happyReduction_81 (HappyAbsSyn42 happy_var_2)+ (HappyAbsSyn41 happy_var_1)+ = HappyAbsSyn42+ ((:) happy_var_1 happy_var_2+ )+happyReduction_81 _ _ = notHappyAtAll ++happyNewToken action sts stk [] =+ action 84 84 notHappyAtAll (HappyState action) sts stk []++happyNewToken action sts stk (tk:tks) =+ let cont i = action i i tk (HappyState action) sts stk tks in+ case tk of {+ PT _ (TS _ 1) -> cont 43;+ PT _ (TS _ 2) -> cont 44;+ PT _ (TS _ 3) -> cont 45;+ PT _ (TS _ 4) -> cont 46;+ PT _ (TS _ 5) -> cont 47;+ PT _ (TS _ 6) -> cont 48;+ PT _ (TS _ 7) -> cont 49;+ PT _ (TS _ 8) -> cont 50;+ PT _ (TS _ 9) -> cont 51;+ PT _ (TS _ 10) -> cont 52;+ PT _ (TS _ 11) -> cont 53;+ PT _ (TS _ 12) -> cont 54;+ PT _ (TS _ 13) -> cont 55;+ PT _ (TS _ 14) -> cont 56;+ PT _ (TS _ 15) -> cont 57;+ PT _ (TS _ 16) -> cont 58;+ PT _ (TS _ 17) -> cont 59;+ PT _ (TS _ 18) -> cont 60;+ PT _ (TS _ 19) -> cont 61;+ PT _ (TS _ 20) -> cont 62;+ PT _ (TS _ 21) -> cont 63;+ PT _ (TS _ 22) -> cont 64;+ PT _ (TS _ 23) -> cont 65;+ PT _ (TS _ 24) -> cont 66;+ PT _ (TS _ 25) -> cont 67;+ PT _ (TD happy_dollar_dollar) -> cont 68;+ PT _ (TI happy_dollar_dollar) -> cont 69;+ PT _ (TL happy_dollar_dollar) -> cont 70;+ PT _ (T_Bytes happy_dollar_dollar) -> cont 71;+ PT _ (T_Function happy_dollar_dollar) -> cont 72;+ PT _ (T_LabelId happy_dollar_dollar) -> cont 73;+ PT _ (T_AlphaIndex happy_dollar_dollar) -> cont 74;+ PT _ (T_LabelMetaId happy_dollar_dollar) -> cont 75;+ PT _ (T_TailMetaId happy_dollar_dollar) -> cont 76;+ PT _ (T_BindingsMetaId happy_dollar_dollar) -> cont 77;+ PT _ (T_ObjectMetaId happy_dollar_dollar) -> cont 78;+ PT _ (T_BytesMetaId happy_dollar_dollar) -> cont 79;+ PT _ (T_MetaFunctionName happy_dollar_dollar) -> cont 80;+ PT _ (T_IntegerSigned happy_dollar_dollar) -> cont 81;+ PT _ (T_DoubleSigned happy_dollar_dollar) -> cont 82;+ PT _ (T_StringRaw happy_dollar_dollar) -> cont 83;+ _ -> happyError' ((tk:tks), [])+ }++happyError_ explist 84 tk tks = happyError' (tks, explist)+happyError_ explist _ tk tks = happyError' ((tk:tks), explist)++happyThen :: () => Err a -> (a -> Err b) -> Err b+happyThen = ((>>=))+happyReturn :: () => a -> Err a+happyReturn = (return)+happyThen1 m k tks = ((>>=)) m (\a -> k a tks)+happyReturn1 :: () => a -> b -> Err a+happyReturn1 = \a tks -> (return) a+happyError' :: () => ([(Token)], [Prelude.String]) -> Err a+happyError' = (\(tokens, _) -> happyError tokens)+pProgram tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_0 tks) (\x -> case x of {HappyAbsSyn31 z -> happyReturn z; _other -> notHappyAtAll })++pMetaId tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_1 tks) (\x -> case x of {HappyAbsSyn32 z -> happyReturn z; _other -> notHappyAtAll })++pObject tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_2 tks) (\x -> case x of {HappyAbsSyn33 z -> happyReturn z; _other -> notHappyAtAll })++pBinding tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_3 tks) (\x -> case x of {HappyAbsSyn34 z -> happyReturn z; _other -> notHappyAtAll })++pListBinding tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_4 tks) (\x -> case x of {HappyAbsSyn35 z -> happyReturn z; _other -> notHappyAtAll })++pAttribute tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_5 tks) (\x -> case x of {HappyAbsSyn36 z -> happyReturn z; _other -> notHappyAtAll })++pListLabelId tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_6 tks) (\x -> case x of {HappyAbsSyn37 z -> happyReturn z; _other -> notHappyAtAll })++pRuleAttribute tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_7 tks) (\x -> case x of {HappyAbsSyn38 z -> happyReturn z; _other -> notHappyAtAll })++pPeeledObject tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_8 tks) (\x -> case x of {HappyAbsSyn39 z -> happyReturn z; _other -> notHappyAtAll })++pObjectHead tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_9 tks) (\x -> case x of {HappyAbsSyn40 z -> happyReturn z; _other -> notHappyAtAll })++pObjectAction tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_10 tks) (\x -> case x of {HappyAbsSyn41 z -> happyReturn z; _other -> notHappyAtAll })++pListObjectAction tks = happySomeParser where+ happySomeParser = happyThen (happyParse action_11 tks) (\x -> case x of {HappyAbsSyn42 z -> happyReturn z; _other -> notHappyAtAll }) happySeq = happyDontSeq
src/Language/EO/Phi/Syntax/Par.y view
@@ -14,6 +14,7 @@ , pBinding , pListBinding , pAttribute+ , pListLabelId , pRuleAttribute , pPeeledObject , pObjectHead@@ -34,6 +35,7 @@ %name pBinding Binding %name pListBinding ListBinding %name pAttribute Attribute+%name pListLabelId ListLabelId %name pRuleAttribute RuleAttribute %name pPeeledObject PeeledObject %name pObjectHead ObjectHead@@ -52,20 +54,22 @@ ']' { PT _ (TS _ 7) } '{' { PT _ (TS _ 8) } '}' { PT _ (TS _ 9) }- 'Δ' { PT _ (TS _ 10) }- 'Φ' { PT _ (TS _ 11) }- 'λ' { PT _ (TS _ 12) }- 'ξ' { PT _ (TS _ 13) }- 'ρ' { PT _ (TS _ 14) }- 'φ' { PT _ (TS _ 15) }- '↦' { PT _ (TS _ 16) }- '∅' { PT _ (TS _ 17) }- '⊥' { PT _ (TS _ 18) }- '⌈' { PT _ (TS _ 19) }- '⌉' { PT _ (TS _ 20) }- '⟦' { PT _ (TS _ 21) }- '⟧' { PT _ (TS _ 22) }- '⤍' { PT _ (TS _ 23) }+ '~' { PT _ (TS _ 10) }+ 'Δ' { PT _ (TS _ 11) }+ 'Φ' { PT _ (TS _ 12) }+ 'Φ̇' { PT _ (TS _ 13) }+ 'λ' { PT _ (TS _ 14) }+ 'ξ' { PT _ (TS _ 15) }+ 'ρ' { PT _ (TS _ 16) }+ 'φ' { PT _ (TS _ 17) }+ '↦' { PT _ (TS _ 18) }+ '∅' { PT _ (TS _ 19) }+ '⊥' { PT _ (TS _ 20) }+ '⌈' { PT _ (TS _ 21) }+ '⌉' { PT _ (TS _ 22) }+ '⟦' { PT _ (TS _ 23) }+ '⟧' { PT _ (TS _ 24) }+ '⤍' { PT _ (TS _ 25) } L_doubl { PT _ (TD $$) } L_integ { PT _ (TI $$) } L_quoted { PT _ (TL $$) }@@ -79,6 +83,9 @@ L_ObjectMetaId { PT _ (T_ObjectMetaId $$) } L_BytesMetaId { PT _ (T_BytesMetaId $$) } L_MetaFunctionName { PT _ (T_MetaFunctionName $$) }+ L_IntegerSigned { PT _ (T_IntegerSigned $$) }+ L_DoubleSigned { PT _ (T_DoubleSigned $$) }+ L_StringRaw { PT _ (T_StringRaw $$) } %% @@ -121,6 +128,15 @@ MetaFunctionName :: { Language.EO.Phi.Syntax.Abs.MetaFunctionName } MetaFunctionName : L_MetaFunctionName { Language.EO.Phi.Syntax.Abs.MetaFunctionName $1 } +IntegerSigned :: { Language.EO.Phi.Syntax.Abs.IntegerSigned }+IntegerSigned : L_IntegerSigned { Language.EO.Phi.Syntax.Abs.IntegerSigned $1 }++DoubleSigned :: { Language.EO.Phi.Syntax.Abs.DoubleSigned }+DoubleSigned : L_DoubleSigned { Language.EO.Phi.Syntax.Abs.DoubleSigned $1 }++StringRaw :: { Language.EO.Phi.Syntax.Abs.StringRaw }+StringRaw : L_StringRaw { Language.EO.Phi.Syntax.Abs.StringRaw $1 }+ Program :: { Language.EO.Phi.Syntax.Abs.Program } Program : '{' '⟦' ListBinding '⟧' '}' { Language.EO.Phi.Syntax.Abs.Program $3 }@@ -139,11 +155,12 @@ | Object '(' ListBinding ')' { Language.EO.Phi.Syntax.Abs.Application $1 $3 } | Object '.' Attribute { Language.EO.Phi.Syntax.Abs.ObjectDispatch $1 $3 } | 'Φ' { Language.EO.Phi.Syntax.Abs.GlobalObject }+ | 'Φ̇' { Language.EO.Phi.Syntax.Abs.GlobalObjectPhiOrg } | 'ξ' { Language.EO.Phi.Syntax.Abs.ThisObject } | '⊥' { Language.EO.Phi.Syntax.Abs.Termination }- | String { Language.EO.Phi.Syntax.Abs.ConstString $1 }- | Integer { Language.EO.Phi.Syntax.Abs.ConstInt $1 }- | Double { Language.EO.Phi.Syntax.Abs.ConstFloat $1 }+ | StringRaw { Language.EO.Phi.Syntax.Abs.ConstStringRaw $1 }+ | IntegerSigned { Language.EO.Phi.Syntax.Abs.ConstIntRaw $1 }+ | DoubleSigned { Language.EO.Phi.Syntax.Abs.ConstFloatRaw $1 } | Object '[' 'ξ' '↦' Object ']' { Language.EO.Phi.Syntax.Abs.MetaSubstThis $1 $5 } | '⌈' Object ',' Object '⌉' { Language.EO.Phi.Syntax.Abs.MetaContextualize $2 $4 } | ObjectMetaId { Language.EO.Phi.Syntax.Abs.MetaObject $1 }@@ -153,6 +170,7 @@ Binding :: { Language.EO.Phi.Syntax.Abs.Binding } Binding : Attribute '↦' Object { Language.EO.Phi.Syntax.Abs.AlphaBinding $1 $3 }+ | Object { Language.EO.Phi.Syntax.Abs.AlphaBindingSugar $1 } | Attribute '↦' '∅' { Language.EO.Phi.Syntax.Abs.EmptyBinding $1 } | 'Δ' '⤍' Bytes { Language.EO.Phi.Syntax.Abs.DeltaBinding $3 } | 'Δ' '⤍' '∅' { Language.EO.Phi.Syntax.Abs.DeltaEmptyBinding }@@ -169,10 +187,18 @@ Attribute :: { Language.EO.Phi.Syntax.Abs.Attribute } Attribute : 'φ' { Language.EO.Phi.Syntax.Abs.Phi }+ | '~' 'φ' '(' ListLabelId ')' { Language.EO.Phi.Syntax.Abs.PhiSugar $4 } | 'ρ' { Language.EO.Phi.Syntax.Abs.Rho } | LabelId { Language.EO.Phi.Syntax.Abs.Label $1 } | AlphaIndex { Language.EO.Phi.Syntax.Abs.Alpha $1 } | LabelMetaId { Language.EO.Phi.Syntax.Abs.MetaAttr $1 }+ | '~' LabelId '(' ListLabelId ')' { Language.EO.Phi.Syntax.Abs.AttrSugar $2 $4 }++ListLabelId :: { [Language.EO.Phi.Syntax.Abs.LabelId] }+ListLabelId+ : {- empty -} { [] }+ | LabelId { (:[]) $1 }+ | LabelId ',' ListLabelId { (:) $1 $3 } RuleAttribute :: { Language.EO.Phi.Syntax.Abs.RuleAttribute } RuleAttribute
− src/Language/EO/Phi/Syntax/Print.hs
@@ -1,269 +0,0 @@-{--Copyright EO/Polystat Development Team (c) 2023--All rights reserved.--Redistribution and use in source and binary forms, with or without-modification, are permitted provided that the following conditions are met:-- * Redistributions of source code must retain the above copyright- notice, this list of conditions and the following disclaimer.-- * Redistributions in binary form must reproduce the above- copyright notice, this list of conditions and the following- disclaimer in the documentation and/or other materials provided- with the distribution.-- * Neither the name of EO/Polystat Development Team nor the names of other- contributors may be used to endorse or promote products derived- from this software without specific prior written permission.--THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT-OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,-SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT-LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,-DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY-THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.--}---- File generated by the BNF Converter (bnfc 2.9.5).--{-# LANGUAGE CPP #-}-{-# LANGUAGE FlexibleInstances #-}-{-# LANGUAGE LambdaCase #-}-#if __GLASGOW_HASKELL__ <= 708-{-# LANGUAGE OverlappingInstances #-}-#endif---- | Pretty-printer for Language.--module Language.EO.Phi.Syntax.Print where--import Prelude- ( ($), (.)- , Bool(..), (==), (<)- , Int, Integer, Double, (+), (-), (*)- , String, (++)- , ShowS, showChar, showString- , all, elem, foldr, id, map, null, replicate, shows, span- )-import Data.Char ( Char, isSpace )-import qualified Language.EO.Phi.Syntax.Abs---- | The top-level printing method.--printTree :: Print a => a -> String-printTree = render . prt 0--type Doc = [ShowS] -> [ShowS]--doc :: ShowS -> Doc-doc = (:)--render :: Doc -> String-render d = rend 0 False (map ($ "") $ d []) ""- where- rend- :: Int -- ^ Indentation level.- -> Bool -- ^ Pending indentation to be output before next character?- -> [String]- -> ShowS- rend i p = \case- "[" :ts -> char '[' . rend i False ts- "(" :ts -> char '(' . rend i False ts- "{" :ts -> onNewLine i p . showChar '{' . new (i+1) ts- "}" : ";":ts -> onNewLine (i-1) p . showString "};" . new (i-1) ts- "}" :ts -> onNewLine (i-1) p . showChar '}' . new (i-1) ts- [";"] -> char ';'- ";" :ts -> char ';' . new i ts- t : ts@(s:_) | closingOrPunctuation s- -> pending . showString t . rend i False ts- t :ts -> pending . space t . rend i False ts- [] -> id- where- -- Output character after pending indentation.- char :: Char -> ShowS- char c = pending . showChar c-- -- Output pending indentation.- pending :: ShowS- pending = if p then indent i else id-- -- Indentation (spaces) for given indentation level.- indent :: Int -> ShowS- indent i = replicateS (2*i) (showChar ' ')-- -- Continue rendering in new line with new indentation.- new :: Int -> [String] -> ShowS- new j ts = showChar '\n' . rend j True ts-- -- Make sure we are on a fresh line.- onNewLine :: Int -> Bool -> ShowS- onNewLine i p = (if p then id else showChar '\n') . indent i-- -- Separate given string from following text by a space (if needed).- space :: String -> ShowS- space t s =- case (all isSpace t, null spc, null rest) of- (True , _ , True ) -> [] -- remove trailing space- (False, _ , True ) -> t -- remove trailing space- (False, True, False) -> t ++ ' ' : s -- add space if none- _ -> t ++ s- where- (spc, rest) = span isSpace s-- closingOrPunctuation :: String -> Bool- closingOrPunctuation [c] = c `elem` closerOrPunct- closingOrPunctuation _ = False-- closerOrPunct :: String- closerOrPunct = ")],;"--parenth :: Doc -> Doc-parenth ss = doc (showChar '(') . ss . doc (showChar ')')--concatS :: [ShowS] -> ShowS-concatS = foldr (.) id--concatD :: [Doc] -> Doc-concatD = foldr (.) id--replicateS :: Int -> ShowS -> ShowS-replicateS n f = concatS (replicate n f)---- | The printer class does the job.--class Print a where- prt :: Int -> a -> Doc--instance {-# OVERLAPPABLE #-} Print a => Print [a] where- prt i = concatD . map (prt i)--instance Print Char where- prt _ c = doc (showChar '\'' . mkEsc '\'' c . showChar '\'')--instance Print String where- prt _ = printString--printString :: String -> Doc-printString s = doc (showChar '"' . concatS (map (mkEsc '"') s) . showChar '"')--mkEsc :: Char -> Char -> ShowS-mkEsc q = \case- s | s == q -> showChar '\\' . showChar s- '\\' -> showString "\\\\"- '\n' -> showString "\\n"- '\t' -> showString "\\t"- s -> showChar s--prPrec :: Int -> Int -> Doc -> Doc-prPrec i j = if j < i then parenth else id--instance Print Integer where- prt _ x = doc (shows x)--instance Print Double where- prt _ x = doc (shows x)--instance Print Language.EO.Phi.Syntax.Abs.Bytes where- prt _ (Language.EO.Phi.Syntax.Abs.Bytes i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.Function where- prt _ (Language.EO.Phi.Syntax.Abs.Function i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.LabelId where- prt _ (Language.EO.Phi.Syntax.Abs.LabelId i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.AlphaIndex where- prt _ (Language.EO.Phi.Syntax.Abs.AlphaIndex i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.LabelMetaId where- prt _ (Language.EO.Phi.Syntax.Abs.LabelMetaId i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.TailMetaId where- prt _ (Language.EO.Phi.Syntax.Abs.TailMetaId i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.BindingsMetaId where- prt _ (Language.EO.Phi.Syntax.Abs.BindingsMetaId i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.ObjectMetaId where- prt _ (Language.EO.Phi.Syntax.Abs.ObjectMetaId i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.BytesMetaId where- prt _ (Language.EO.Phi.Syntax.Abs.BytesMetaId i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.MetaFunctionName where- prt _ (Language.EO.Phi.Syntax.Abs.MetaFunctionName i) = doc $ showString i-instance Print Language.EO.Phi.Syntax.Abs.Program where- prt i = \case- Language.EO.Phi.Syntax.Abs.Program bindings -> prPrec i 0 (concatD [doc (showString "{"), doc (showString "\10214"), prt 0 bindings, doc (showString "\10215"), doc (showString "}")])--instance Print Language.EO.Phi.Syntax.Abs.MetaId where- prt i = \case- Language.EO.Phi.Syntax.Abs.MetaIdLabel labelmetaid -> prPrec i 0 (concatD [prt 0 labelmetaid])- Language.EO.Phi.Syntax.Abs.MetaIdTail tailmetaid -> prPrec i 0 (concatD [prt 0 tailmetaid])- Language.EO.Phi.Syntax.Abs.MetaIdBindings bindingsmetaid -> prPrec i 0 (concatD [prt 0 bindingsmetaid])- Language.EO.Phi.Syntax.Abs.MetaIdObject objectmetaid -> prPrec i 0 (concatD [prt 0 objectmetaid])- Language.EO.Phi.Syntax.Abs.MetaIdBytes bytesmetaid -> prPrec i 0 (concatD [prt 0 bytesmetaid])--instance Print Language.EO.Phi.Syntax.Abs.Object where- prt i = \case- Language.EO.Phi.Syntax.Abs.Formation bindings -> prPrec i 0 (concatD [doc (showString "\10214"), prt 0 bindings, doc (showString "\10215")])- Language.EO.Phi.Syntax.Abs.Application object bindings -> prPrec i 0 (concatD [prt 0 object, doc (showString "("), prt 0 bindings, doc (showString ")")])- Language.EO.Phi.Syntax.Abs.ObjectDispatch object attribute -> prPrec i 0 (concatD [prt 0 object, doc (showString "."), prt 0 attribute])- Language.EO.Phi.Syntax.Abs.GlobalObject -> prPrec i 0 (concatD [doc (showString "\934")])- Language.EO.Phi.Syntax.Abs.ThisObject -> prPrec i 0 (concatD [doc (showString "\958")])- Language.EO.Phi.Syntax.Abs.Termination -> prPrec i 0 (concatD [doc (showString "\8869")])- Language.EO.Phi.Syntax.Abs.ConstString str -> prPrec i 0 (concatD [printString str])- Language.EO.Phi.Syntax.Abs.ConstInt n -> prPrec i 0 (concatD [prt 0 n])- Language.EO.Phi.Syntax.Abs.ConstFloat d -> prPrec i 0 (concatD [prt 0 d])- Language.EO.Phi.Syntax.Abs.MetaSubstThis object1 object2 -> prPrec i 0 (concatD [prt 0 object1, doc (showString "["), doc (showString "\958"), doc (showString "\8614"), prt 0 object2, doc (showString "]")])- Language.EO.Phi.Syntax.Abs.MetaContextualize object1 object2 -> prPrec i 0 (concatD [doc (showString "\8968"), prt 0 object1, doc (showString ","), prt 0 object2, doc (showString "\8969")])- Language.EO.Phi.Syntax.Abs.MetaObject objectmetaid -> prPrec i 0 (concatD [prt 0 objectmetaid])- Language.EO.Phi.Syntax.Abs.MetaTailContext object tailmetaid -> prPrec i 0 (concatD [prt 0 object, doc (showString "*"), prt 0 tailmetaid])- Language.EO.Phi.Syntax.Abs.MetaFunction metafunctionname object -> prPrec i 0 (concatD [prt 0 metafunctionname, doc (showString "("), prt 0 object, doc (showString ")")])--instance Print Language.EO.Phi.Syntax.Abs.Binding where- prt i = \case- Language.EO.Phi.Syntax.Abs.AlphaBinding attribute object -> prPrec i 0 (concatD [prt 0 attribute, doc (showString "\8614"), prt 0 object])- Language.EO.Phi.Syntax.Abs.EmptyBinding attribute -> prPrec i 0 (concatD [prt 0 attribute, doc (showString "\8614"), doc (showString "\8709")])- Language.EO.Phi.Syntax.Abs.DeltaBinding bytes -> prPrec i 0 (concatD [doc (showString "\916"), doc (showString "\10509"), prt 0 bytes])- Language.EO.Phi.Syntax.Abs.DeltaEmptyBinding -> prPrec i 0 (concatD [doc (showString "\916"), doc (showString "\10509"), doc (showString "\8709")])- Language.EO.Phi.Syntax.Abs.LambdaBinding function -> prPrec i 0 (concatD [doc (showString "\955"), doc (showString "\10509"), prt 0 function])- Language.EO.Phi.Syntax.Abs.MetaBindings bindingsmetaid -> prPrec i 0 (concatD [prt 0 bindingsmetaid])- Language.EO.Phi.Syntax.Abs.MetaDeltaBinding bytesmetaid -> prPrec i 0 (concatD [doc (showString "\916"), doc (showString "\10509"), prt 0 bytesmetaid])--instance Print [Language.EO.Phi.Syntax.Abs.Binding] where- prt _ [] = concatD []- prt _ [x] = concatD [prt 0 x]- prt _ (x:xs) = concatD [prt 0 x, doc (showString ","), prt 0 xs]--instance Print Language.EO.Phi.Syntax.Abs.Attribute where- prt i = \case- Language.EO.Phi.Syntax.Abs.Phi -> prPrec i 0 (concatD [doc (showString "\966")])- Language.EO.Phi.Syntax.Abs.Rho -> prPrec i 0 (concatD [doc (showString "\961")])- Language.EO.Phi.Syntax.Abs.Label labelid -> prPrec i 0 (concatD [prt 0 labelid])- Language.EO.Phi.Syntax.Abs.Alpha alphaindex -> prPrec i 0 (concatD [prt 0 alphaindex])- Language.EO.Phi.Syntax.Abs.MetaAttr labelmetaid -> prPrec i 0 (concatD [prt 0 labelmetaid])--instance Print Language.EO.Phi.Syntax.Abs.RuleAttribute where- prt i = \case- Language.EO.Phi.Syntax.Abs.ObjectAttr attribute -> prPrec i 0 (concatD [prt 0 attribute])- Language.EO.Phi.Syntax.Abs.DeltaAttr -> prPrec i 0 (concatD [doc (showString "\916")])- Language.EO.Phi.Syntax.Abs.LambdaAttr -> prPrec i 0 (concatD [doc (showString "\955")])--instance Print Language.EO.Phi.Syntax.Abs.PeeledObject where- prt i = \case- Language.EO.Phi.Syntax.Abs.PeeledObject objecthead objectactions -> prPrec i 0 (concatD [prt 0 objecthead, prt 0 objectactions])--instance Print Language.EO.Phi.Syntax.Abs.ObjectHead where- prt i = \case- Language.EO.Phi.Syntax.Abs.HeadFormation bindings -> prPrec i 0 (concatD [doc (showString "\10214"), prt 0 bindings, doc (showString "\10215")])- Language.EO.Phi.Syntax.Abs.HeadGlobal -> prPrec i 0 (concatD [doc (showString "\934")])- Language.EO.Phi.Syntax.Abs.HeadThis -> prPrec i 0 (concatD [doc (showString "\958")])- Language.EO.Phi.Syntax.Abs.HeadTermination -> prPrec i 0 (concatD [doc (showString "\8869")])--instance Print Language.EO.Phi.Syntax.Abs.ObjectAction where- prt i = \case- Language.EO.Phi.Syntax.Abs.ActionApplication bindings -> prPrec i 0 (concatD [doc (showString "("), prt 0 bindings, doc (showString ")")])- Language.EO.Phi.Syntax.Abs.ActionDispatch attribute -> prPrec i 0 (concatD [doc (showString "."), prt 0 attribute])--instance Print [Language.EO.Phi.Syntax.Abs.ObjectAction] where- prt _ [] = concatD []- prt _ (x:xs) = concatD [prt 0 x, prt 0 xs]
src/Language/EO/Phi/ToLaTeX.hs view
@@ -24,17 +24,20 @@ {-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-}+{-# LANGUAGE LambdaCase #-} {-# LANGUAGE OverloadedStrings #-}+{-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE RecordWildCards #-} module Language.EO.Phi.ToLaTeX where import Data.Foldable (fold)-import Data.List (intersperse)+import Data.List (intercalate, intersperse) import Data.String (IsString) import Data.Text qualified as T import Language.EO.Phi import Language.EO.Phi.Rules.Yaml+import PyF (fmt) import Text.Regex (mkRegex, subRegex) newtype LaTeX = LaTeX {unLaTeX :: String}@@ -53,11 +56,16 @@ "\\Big\\{ " <> toLatex (Formation bindings) <> " \\Big\\}" instance ToLatex Attribute where- toLatex Phi = "@"- toLatex Rho = "^"- toLatex (Alpha (AlphaIndex a)) = LaTeX ("\\alpha_" ++ tail a)- toLatex (Label (LabelId l)) = LaTeX l- toLatex (MetaAttr (LabelMetaId l)) = LaTeX l+ toLatex = \case+ Phi -> "@"+ Rho -> "^"+ (Alpha (AlphaIndex a)) -> LaTeX ("\\alpha_" ++ tail a)+ (Label (LabelId l)) -> LaTeX l+ (MetaAttr (LabelMetaId l)) -> LaTeX l+ (AttrSugar (LabelId l) ls) -> LaTeX [fmt|{l}({mkLabels ls})|]+ (PhiSugar ls) -> LaTeX [fmt|@({mkLabels ls})|]+ where+ mkLabels ls = intercalate ", " ((\(LabelId l') -> l') <$> ls) instance ToLatex Binding where toLatex (AlphaBinding attr obj) = toLatex attr <> " -> " <> toLatex obj@@ -67,6 +75,7 @@ toLatex (LambdaBinding (Function fn)) = "L> " <> LaTeX fn toLatex (MetaBindings (BindingsMetaId x)) = LaTeX x toLatex (MetaDeltaBinding (BytesMetaId x)) = "D> " <> LaTeX x+ toLatex b@AlphaBindingSugar{} = errorExpectedDesugaredBinding b instance ToLatex Object where toLatex (Formation bindings) =@@ -76,6 +85,7 @@ toLatex (ObjectDispatch obj attr) = toLatex obj <> "." <> toLatex attr toLatex GlobalObject = "Q"+ toLatex GlobalObjectPhiOrg = "QQ" toLatex ThisObject = "\\xi" toLatex Termination = "\\dead" toLatex (MetaObject (ObjectMetaId metaId)) = LaTeX metaId@@ -84,8 +94,11 @@ toLatex (MetaSubstThis obj1 obj2) = LaTeX "\\mathbb{S}(" <> toLatex obj1 <> ", " <> toLatex obj2 <> ")" toLatex (MetaContextualize obj1 obj2) = LaTeX "\\lceil" <> toLatex obj1 <> ", " <> toLatex obj2 <> "\\rceil" toLatex (ConstString string) = "|" <> LaTeX (show string) <> "|"+ toLatex obj@(ConstStringRaw{}) = errorExpectedDesugaredObject obj toLatex (ConstInt n) = LaTeX (show n)+ toLatex obj@(ConstIntRaw{}) = errorExpectedDesugaredObject obj toLatex (ConstFloat x) = LaTeX (show x)+ toLatex obj@(ConstFloatRaw{}) = errorExpectedDesugaredObject obj removeOrgEolang :: String -> String removeOrgEolang = T.unpack . T.replace "Q.org.eolang" "QQ" . T.pack
test/Language/EO/Phi/DataizeSpec.hs view
@@ -21,6 +21,7 @@ -- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -- SOFTWARE. {- FOURMOLU_ENABLE -}+{-# LANGUAGE BlockArguments #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE OverloadedRecordDot #-} {-# LANGUAGE RecordWildCards #-}@@ -62,23 +63,30 @@ spec :: Spec spec = do DataizeTestGroup{..} <- runIO (dataizationTests "test/eo/phi/dataization.yaml")- ruleset <- runIO $ parseRuleSetFromFile "test/eo/phi/rules/yegor.yaml"- let rules = map convertRuleNamed ruleset.rules- describe title $- forM_ tests $- \test -> do- deps <- runIO $ mapM getProgram test.dependencies- let mergedProgs = case deepMergePrograms (test.input : deps) of- Left err -> error ("Error merging programs: " ++ err)- Right prog -> prog- let ctx = defaultContext rules (progToObj mergedProgs)- let inputObj = progToObj test.input- let expectedResult = case test.output of- Object obj -> Left obj- Bytes bytes -> Right bytes- it test.name $ do- let dataizedResult = dataizeRecursively ctx inputObj- ObjectOrBytes dataizedResult `shouldBe` ObjectOrBytes expectedResult+ describe title do+ forM_+ [ ("Old Yegor's rules", "test/eo/phi/rules/yegor.yaml")+ -- TODO #617:10m Enable+ -- , ("New Yegor's rules", "test/eo/phi/rules/new.yaml")+ ]+ $ \(rulesTitle, rulesFile) -> do+ ruleset <- runIO $ parseRuleSetFromFile rulesFile+ let rules = map convertRuleNamed ruleset.rules+ describe rulesTitle do+ forM_ tests $+ \test -> do+ deps <- runIO $ mapM getProgram test.dependencies+ let mergedProgs = case deepMergePrograms (test.input : deps) of+ Left err -> error ("Error merging programs: " ++ err)+ Right prog -> prog+ let ctx = defaultContext rules (progToObj mergedProgs)+ let inputObj = progToObj test.input+ let expectedResult = case test.output of+ Object obj -> Left obj+ Bytes bytes -> Right bytes+ it test.name $ do+ let dataizedResult = dataizeRecursively ctx inputObj+ ObjectOrBytes dataizedResult `shouldBe` ObjectOrBytes expectedResult progToObj :: Phi.Program -> Phi.Object progToObj (Phi.Program bindings) = Phi.Formation bindings
test/Language/EO/Rules/PhiPaperSpec.hs view
@@ -48,10 +48,11 @@ import Language.EO.Phi.Dataize.Context (defaultContext) import Language.EO.Phi.Rules.Common (ApplicationLimits (..), NamedRule, applyOneRule, defaultApplicationLimits, equalObject, objectSize) import Language.EO.Phi.Rules.Yaml (convertRuleNamed, parseRuleSetFromFile, rules)-import Language.EO.Phi.Syntax (intToBytes, printTree)+import Language.EO.Phi.Syntax (errorExpectedDesugaredBinding, intToBytes, printTree) import Language.EO.Phi.Syntax.Abs as Phi import Test.Hspec import Test.QuickCheck+import Test.QuickCheck.Gen (genDouble) arbitraryNonEmptyString :: Gen String arbitraryNonEmptyString = do@@ -75,6 +76,10 @@ arbitrary = intToBytes <$> arbitrarySizedNatural instance Arbitrary Phi.Function where arbitrary = Phi.Function <$> arbitraryNonEmptyString+instance Arbitrary DoubleSigned where+ arbitrary = DoubleSigned . show . (1000 *) <$> genDouble+instance Arbitrary IntegerSigned where+ arbitrary = IntegerSigned . show <$> chooseInteger (-1_000_000, 1_000_000) instance Arbitrary Phi.ObjectMetaId where arbitrary = Phi.ObjectMetaId . ("!b" ++) <$> arbitraryNonEmptyString@@ -107,6 +112,9 @@ shrink (AlphaBinding attr obj) = AlphaBinding attr <$> shrink obj shrink _ = [] -- do not shrink deltas and lambdas +instance Arbitrary Phi.StringRaw where+ arbitrary = Phi.StringRaw <$> arbitraryNonEmptyString+ -- | Split an integer into a list of positive integers, -- whose sum is less than or equal the initial one. --@@ -142,6 +150,7 @@ LambdaBinding{} -> Label "λ" MetaDeltaBinding{} -> Label "Δ" MetaBindings{} -> error "attempting to retrieve attribute of meta bindings"+ b@AlphaBindingSugar{} -> errorExpectedDesugaredBinding b arbitraryBindings :: Gen [Binding] arbitraryBindings =@@ -330,14 +339,14 @@ spec :: Spec spec = forM_- [ ("Old Yegor's rules", "test/eo/phi/rules/yegor.yaml")- , ("New Yegor's rules", "test/eo/phi/rules/new.yaml")+ [ ("New Yegor's rules", "test/eo/phi/rules/new.yaml")+ , ("Old Yegor's rules", "test/eo/phi/rules/yegor.yaml") ]- $ \(name, rulesFile) -> do+ $ \(title, rulesFile) -> do ruleset <- runIO $ parseRuleSetFromFile rulesFile let rulesFromYaml = map convertRuleNamed (rules ruleset) inputs <- runIO $ parseTests "test/eo/phi/confluence.yaml"- describe name $ do+ describe title $ do it "Are confluent (via QuickCheck)" (confluent rulesFromYaml) describe "Are confluent (regression tests)"
test/Language/EO/YamlSpec.hs view
@@ -31,7 +31,7 @@ spec :: Spec spec = Test.spec- [ "test/eo/phi/rules/yegor.yaml"- , "test/eo/phi/rules/new.yaml"+ [ "test/eo/phi/rules/new.yaml"+ , "test/eo/phi/rules/yegor.yaml" , "test/eo/phi/rules/streams.yaml" ]
test/eo/phi/rules/new.yaml view
@@ -31,7 +31,8 @@ ⌈ !b , ⟦ !τ ↦ !b, !B ⟧ ⌉(ρ ↦ ⟦ !τ ↦ !b, !B ⟧) when: - nf: '!b'- - nf: '⟦ !B ⟧' #TODO: change the condition, every object in !B should be in the nf+ # TODO #636:30min Change the condition, every object in !B should be in the nf+ - nf: '⟦ !B ⟧' tests: - name: 'Contextualization changes ξ' input: ⟦ a ↦ ξ ⟧.a@@ -80,7 +81,6 @@ output: ['⟦ a ↦ ⟦ b ↦ ⟦ a ↦ ⟦ b ↦ ∅ ⟧ (b ↦ ξ) ⟧ ⟧ ().a ⟧'] - name: Phi Paper - Example E1 input: ⟦ k ↦ ⟦ x ↦ ξ.t, t ↦ ∅ ⟧(t ↦ ⟦ρ ↦ ⟦⟧⟧) ⟧- # output: ['⟦ k ↦ ⟦ x ↦ ξ.t, t ↦ ⟦ρ ↦ ⟦⟧⟧ ⟧() ⟧'] output: ['⟦ k ↦ ⟦ t ↦ ⟦ρ ↦ ⟦⟧⟧, x ↦ ξ.t ⟧() ⟧'] - name: Phi Paper - Example E4 - dispatch on y input: ⟦ k ↦ ⟦ x ↦ ∅, y ↦ ξ.x ⟧(x ↦ ⟦ρ ↦ ⟦⟧⟧).y ⟧@@ -124,7 +124,7 @@ input: ⟦ m ↦ ⟦ x ↦ ξ.t, φ ↦ ⟦ t ↦ ⟦⟧ ⟧ ⟧.t(ρ ↦ ⟦ x ↦ ξ.t, φ ↦ ⟦ t ↦ ⟦⟧ ⟧ ⟧) ⟧ output: ['⟦ m ↦ ⟦ x ↦ ξ.t, φ ↦ ⟦ t ↦ ⟦⟧ ⟧ ⟧.φ.t(ρ ↦ ⟦ x ↦ ξ.t, φ ↦ ⟦ t ↦ ⟦⟧ ⟧ ⟧) ⟧'] - # there's no B2 in the result+ # TODO #636:30min There's no B2 in the result - name: STAY description: 'Application of a ρ-binding when ρ already exists' pattern: |