diff options
-rw-r--r-- | app/Main.hs | 30 | ||||
-rw-r--r-- | readme.md | 29 | ||||
-rw-r--r-- | samples/helloworld.birb | 9 | ||||
-rw-r--r-- | src/Lib.hs | 17 | ||||
-rw-r--r-- | src/Term.hs | 7 | ||||
-rw-r--r-- | src/Transpile.hs | 47 | ||||
-rw-r--r-- | src/Utils.hs | 1 |
7 files changed, 80 insertions, 60 deletions
diff --git a/app/Main.hs b/app/Main.hs index 9c62589..60a44f0 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -7,30 +7,28 @@ import System.Environment ( getArgs ) import Term import Transpile -transpile :: IO () -transpile = do - args <- getArgs - file <- readFile (head args) +transpile :: String -> IO () +transpile path = do + file <- readFile path let term = fromBLC file - putStrLn $ "input: " ++ show term - let ski = transpileSKI term - putStrLn $ "SKI transpiled: " ++ show ski + let ski = transpileSKI term let birb = transpileBirb ski - putStrLn $ "Birb transpiled: " ++ show birb - return () + putStrLn $ concatMap show birb -reduce :: IO () -reduce = do - args <- getArgs - file <- readFile (head args) +reduce :: String -> IO () +reduce path = do + file <- readFile path let termified = fromBirbs file let rebirbified = fromTerm termified putStrLn $ "input: " ++ rebirbified normalBirbs <- nf termified let retermified = fromTerm normalBirbs putStrLn $ "reduced: " ++ retermified - return () main :: IO () -main = transpile --- main = mapM_ (bruteForce "...") [1 .. 10] +main = do + args <- getArgs + case args of + ["transpile", path] -> transpile path + ["reduce" , path] -> reduce path + _ -> putStrLn "Usage: birb [transpile|reduce] <file>" @@ -28,7 +28,7 @@ Unfortunately, the Unicode standard does not yet have many | π¦’ | swan | substitution | $\lambda abc.ac(bc)$ | | 𦩠| flamingo | cardinal | $\lambda abc.acb$ | -Lonely/unmatched birbs: ππ¦π +Lonely/unmatched birbs: ππ¦ππͺΏ # Syntax @@ -109,13 +109,32 @@ Contestants: - *The touring eagle*: `[π¦]βΏ[π¦
π€]βΏ` ($n=3$: 9 birbs, ~20M BLC bits) - better? PR! +# Transpiler + +I created a lambda calculus to Birb transpiler. It works by converting +binary lambda calculus to SKI combinators, which then get converted to +Jot and back to SKI combinators. The resulting SKI combinators then get +converted to Birbs. + +The reason I convert to Jot first is that Birbs semantics donβt allow +trivial transpilation from arbitrary SKI expressions. With Jot however, +applications with non-associative expressions like `((s k) (k s))` are +impossible, as only a single non-associative application exists (the +innermost/deepest expression). + +With all these conversions, the resulting transpiled Birb code is big, +ugly and slow. There should be a way to optimize the transpilation +process, but itβs probably a bit more complicated. + # Usage Install [Haskellβs stack](https://docs.haskellstack.org/en/stable/install_and_upgrade/). Then, -- `stack run -- file.birb` or `stack run <(echo π§π§)` +- `stack run -- reduce file.birb` or `stack run -- reduce <(echo π§π§)` +- `stack run -- transpile <(echo 01000110100000011100111001110011100111010)` + to generate a birb program that calculates $5^5$ - `stack install` so you can enjoy `birb` from anywhere If the output cannot be translated to birbs, the raw lambda calculus @@ -126,10 +145,8 @@ sometimes manually converted the term back to birbs. Birb is Turing complete, since one can construct any term of the [Jot](https://esolangs.org/wiki/Jot) variant of Iota. A Jot term -`((X s) k)` is equivalent to `π¦Xπ¦’π₯`. Similarly, `(s (k X))` is -equivalent to `π¦π¦Xπ₯π¦’`. This can be extended for arbitrary long terms -using increasingly more complicated construction of composition -combinators. +`((X s) k)` is equivalent to `π¦π¦Xπ¦’π₯`. Similarly, `(s (k X))` is +equivalent to `π¦π¦Xπ₯π¦’`. ------------------------------------------------------------------------ diff --git a/samples/helloworld.birb b/samples/helloworld.birb new file mode 100644 index 0000000..dbba689 --- /dev/null +++ b/samples/helloworld.birb @@ -0,0 +1,9 @@ +this was generated using the blc to birb transpiler + +the lambda calculus expression is + +[((0 [[[(0 (0 (0 (1 (0 (1 (1 (0 2))))))))]]]) [((0 [[[(1 (0 (1 (0 (0 (1 (1 (0 2))))))))]]]) [((0 [[[(0 (0 (1 (1 (0 (1 (1 (0 2))))))))]]]) [((0 [[[(0 (0 (1 (1 (0 (1 (1 (0 2))))))))]]]) [((0 [[[(1 (1 (1 (1 (0 (1 (1 (0 2))))))))]]]) [((0 [[[(0 (0 (1 (1 (0 (1 (0 (0 2))))))))]]]) [((0 [[[(0 (0 (0 (0 (0 (1 (0 (0 2))))))))]]]) [((0 [[[(1 (1 (1 (0 (1 (1 (1 (0 2))))))))]]]) [((0 [[[(1 (1 (1 (1 (0 (1 (1 (0 2))))))))]]]) [((0 [[[(0 (1 (0 (0 (1 (1 (1 (0 2))))))))]]]) [((0 [[[(0 (0 (1 (1 (0 (1 (1 (0 2))))))))]]]) [((0 [[[(0 (0 (1 (0 (0 (1 (1 (0 2))))))))]]]) [[0]])])])])])])])])])])])])] + +-> a Church encoded list of chars encoded as bistate expressions + +π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯π₯π¦’π₯π¦’π₯π¦’π¦’π₯π¦’π₯ @@ -3,11 +3,8 @@ module Lib ( fromBirbs , fromTerm - , nf ) where -import Control.Concurrent.Async ( mapConcurrently ) -import Control.Monad ( void ) import Data.Bifunctor ( first , second ) @@ -56,18 +53,6 @@ fromTerm t = termsies = Map.fromList $ first parse <$> flipped in birbify t termsies -bruteForce :: String -> Integer -> IO () -bruteForce s n = - let combos = mapM (const $ map fst birbs) [1 .. n] - birbsies = Map.fromList $ second parse <$> birbs - termified = termify birbsies <$> combos - target = parse s - huh t = nf t >>= \case - r | r == target -> putStrLn (fromTerm t) - | otherwise -> return () - go ts = void $ mapConcurrently huh ts - in putStrLn ("trying " ++ show n) >> go termified - -- this isn't really relevant but I'm too lazy to type the terms manually parse :: String -> Term parse = fst . go @@ -88,7 +73,7 @@ birbs = , ('\x1F425', "!!1") -- front chick , ('\x1F423', "!!!@0@21") -- hatching chick , ('\x1F989', "!!@0@10") -- owl - , ('\x1F986', "!!@0@12") -- duck + , ('\x1F986', "!!!@0@12") -- duck , ('\x1F9A4', "!@!@1@00!@1@00") -- dodo , ('\x1F9A9', "!!!@@201") -- flamingo , ('\x1F9A2', "!!!@@20@10") -- swan diff --git a/src/Term.hs b/src/Term.hs index c5a4fa0..a84b6c5 100644 --- a/src/Term.hs +++ b/src/Term.hs @@ -7,12 +7,6 @@ module Term ) where import Control.Concurrent.MVar -import Data.IORef ( IORef - , modifyIORef - , newIORef - , readIORef - , writeIORef - ) import Data.List ( elemIndex ) import Data.Map.Strict ( Map ) import qualified Data.Map.Strict as Map @@ -76,7 +70,6 @@ toRedex = convertWorker (NameGen 1) [] in Rapp lhs rhs convertWorker _ ns (Idx i) = Ridx $ Num (if i < 0 || i >= length ns then i else ns !! i) - convertWorker _ _ _ = invalid fromRedex :: Redex -> Term fromRedex = convertWorker [] diff --git a/src/Transpile.hs b/src/Transpile.hs index 3c0c1dc..d1dc077 100644 --- a/src/Transpile.hs +++ b/src/Transpile.hs @@ -1,4 +1,4 @@ --- This code partly uses algorithms created by John Tromp. +-- This code partly uses algorithms (drip/abstract) created by John Tromp. -- Since they did not license their code (afaik), I assume it's okay to reuse it. module Transpile @@ -12,8 +12,14 @@ import Utils data SKI = S | K | I | AppSKI SKI SKI | IdxSKI Int deriving (Eq, Ord) -data Birb = Swan | Kool | Bird | Quacky - deriving (Eq, Ord, Show) +data Birb = Swan | Kool | Idiot | Quacky + deriving (Eq, Ord) + +instance Show Birb where + showsPrec _ Swan = showString "\x1F9A2" + showsPrec _ Kool = showString "\x1F425" + showsPrec _ Idiot = showString "\x1F426" + showsPrec _ Quacky = showString "\x1F986" instance Show SKI where showsPrec _ S = showString "s" @@ -40,8 +46,7 @@ abstract e = if freeIn (== 0) e then occabstract e else AppSKI K (drip e) where isConst = not . freeIn (const True) occabstract (IdxSKI 0) = I occabstract (AppSKI m (IdxSKI 0)) | not (freeIn (== 0) m) = drip m - occabstract (AppSKI (AppSKI l m) l') | l == l' -- && freeIn (==0) e1 - = + occabstract (AppSKI (AppSKI l m) l') | l == l' = occabstract (AppSKI (AppSKI (AppSKI (AppSKI S S) K) l) m) occabstract (AppSKI m (AppSKI n l)) | isConst m && isConst n = occabstract (AppSKI (AppSKI (AppSKI S (abstract m)) n) l) @@ -61,15 +66,29 @@ transpileSKI (Abs m ) = abstract (transpileSKI m) fromSKI :: SKI -> Birb fromSKI S = Swan fromSKI K = Kool -fromSKI I = Bird +fromSKI I = Idiot fromSKI _ = invalid +jotify :: SKI -> [Bool] +jotify = reverse . go + where + go S = [True, True, True, True, True, False, False, False] + go K = [True, True, True, False, False] + go I = go $ AppSKI (AppSKI S K) K + go (AppSKI a b) = True : (go a ++ go b) + go _ = invalid + +dejotify :: [Bool] -> SKI +dejotify (False : js) = AppSKI (AppSKI (dejotify js) S) K +dejotify (True : js) = AppSKI S (AppSKI K (dejotify js)) +dejotify _ = I + transpileBirb :: SKI -> [Birb] -transpileBirb (AppSKI a b) = case [a, b] of - [AppSKI x l, AppSKI y r] -> invalid -- TODO - [AppSKI x l, r] -> [Bird, Bird] ++ transpileBirb x ++ [fromSKI a, fromSKI b] - [l, AppSKI r x] -> - [Bird, Quacky] ++ transpileBirb x ++ [fromSKI r, fromSKI l] - [l, r] -> [fromSKI l, fromSKI r] -transpileBirb (IdxSKI _) = invalid -transpileBirb s = [fromSKI s] +transpileBirb = go . dejotify . jotify + where + go (AppSKI a b) = case [a, b] of + [AppSKI x l, r] -> [Idiot, Idiot] ++ go x ++ [fromSKI l, fromSKI r] + [l, AppSKI r x] -> [Idiot, Quacky] ++ go x ++ [fromSKI r, fromSKI l] + [l, r] -> [fromSKI l, fromSKI r] + go (IdxSKI _) = invalid + go s = [fromSKI s] diff --git a/src/Utils.hs b/src/Utils.hs index ec5f9a7..27ddb69 100644 --- a/src/Utils.hs +++ b/src/Utils.hs @@ -4,4 +4,3 @@ module Utils invalid :: a invalid = error "invalid program state" - |