Last active
December 16, 2015 05:38
-
-
Save fumieval/5385729 to your computer and use it in GitHub Desktop.
ぶるぶるちょまど(https://twitter.com/chomado/status/323644612357001217 )をコンビネータとして解釈する純粋関数型言語。 oは3-タプル(K, S, K)をチャーチエンコードしたものにあたる。(* ~ *)はコメント。入出力はチャーチエンコードされた自然数のリスト。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Control.Applicative | |
import Data.Word | |
import System.Environment | |
import Text.Trifecta | |
import Control.Monad | |
import qualified Data.ByteString as BS | |
import qualified Data.ByteString.Lazy as BL | |
import qualified Codec.Binary.UTF8.String as UTF8 | |
infixl 9 :$ | |
data Expr = Expr :$ Expr | I | K | S | O | |
| Inc | Nat !Word8 | Cons | Nil deriving Show | |
apply :: Expr -> Expr -> Expr | |
apply (S :$ x :$ y) z = apply x z `apply` apply y z | |
apply (K :$ x) y = x | |
apply I x = x | |
apply O x = x `apply` K `apply` S `apply` K | |
apply Inc (Nat x) = Nat $! succ x | |
apply f x = f :$ x | |
eval :: Expr -> Expr | |
eval (x :$ y) = eval x `apply` eval y | |
eval x = x | |
encode :: BL.ByteString -> Expr | |
encode = foldr cons empty . map church . BL.unpack where | |
empty = K :$ I | |
cons x xs = (S :$ ((S :$ (K :$ ((S :$ (K :$ S)) :$ K))) :$ ((S :$ I) :$ (K :$ x)))) :$ xs | |
church :: Word8 -> Expr | |
church 0 = K :$ I | |
church 1 = I | |
church n = S :$ (S :$ (K :$ S) :$ K) :$ church (pred n) | |
decode :: Expr -> BL.ByteString | |
decode expr = runList $ expr `apply` Cons `apply` Nil where | |
runList (Cons :$ x :$ xs) = unchurch x `BL.cons` runList xs | |
runList Nil = BL.empty | |
runList _ = error "Result was not a list" | |
unchurch :: Expr -> Word8 | |
unchurch expr = case expr `apply` Inc `apply` Nat 0 of | |
Nat n -> n | |
_ -> error "Result was not a number" | |
parseExpr :: Unspaced Parser Expr | |
parseExpr = foldl (:$) <$> parseTerm <*> many parseTerm | |
parseTerm :: Unspaced Parser Expr | |
parseTerm = skipComment $ parens parseExpr <|> (char 'o' >> pure O) | |
skipComment m = many comment *> m <* many comment | |
comment :: Unspaced Parser () | |
comment = void $ string "(*" *> manyTill anyChar (try (string "*)")) | |
main = do | |
(path:_) <- getArgs | |
Just prog <- parseFromFile (runUnspaced parseExpr) path | |
input <- encode <$> BL.pack <$> UTF8.encode <$> getContents | |
BL.putStr $ decode $ eval $ prog :$ input |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o))))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o))))((o(*゚▽゚*)((o(*゚▽゚*)o)))(o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)((o(*゚▽゚*)((o(*゚▽゚*)o)))(((o(*゚▽゚*)o))(*゚▽゚*)o)(((o(*゚▽゚*)o))(*゚▽゚*)o)))))((o(*゚▽゚*)((o(*゚▽゚*)o)))((((o(*゚▽゚*)o))(*゚▽゚*)o)(o(*゚▽゚*)((o(*゚▽゚*)o))))(((o(*゚▽゚*)o))(*゚▽゚*)o)))))))))))))))))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Σ(・□・;)
ふおおおおお!!(((o(゚▽゚)o)))