Skip to content

gsurma/text_predictor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Text Predictor

Character-level RNN (Recurrent Neural Net) LSTM (Long Short-Term Memory) implemented in Python 2.7/TensorFlow in order to predict a text based on a given dataset.


Check out corresponding Medium article:

Text Predictor - Generating Rap Lyrics with Recurrent Neural Networks (LSTMs)📄


Heavily influenced by: http://karpathy.github.io/2015/05/21/rnn-effectiveness/.

Idea

  1. Train RNN LSTM on a given dataset (.txt file).
  2. Predict text based on a trained model.

Datasets

kanye - Kanye West's discography (332 KB) darwin - the complete works of Charles Darwin (20 MB) reuters - a collection of Reuters headlines (95 MB) war_and_peace - Leo Tolstoy's War and Peace novel (3 MB) wikipedia - excerpt from English Wikipedia (48 MB) hackernews - a collection of Hackernews headlines (90 KB) sherlock - a collection of books with Sherlock Holmes (3 MB) shakespeare - the complete works of William Shakespeare (4 MB) tagore - short stories by Rabindranath Tagore (2.6 MB) 

Feel free to add new datasets. Just create a folder in the ./data directory and put an input.txt file there. Output file along with the training plot will be automatically generated there.

Usage

  1. Clone the repo.
  2. Go to the project's root folder.
  3. Install required packagespip install -r requirements.txt.
  4. python text_predictor.py <dataset>.

Results

Each dataset were trained with the same hyperparameters.

Hyperparameters

BATCH_SIZE = 32 SEQUENCE_LENGTH = 50 LEARNING_RATE = 0.01 DECAY_RATE = 0.97 HIDDEN_LAYER_SIZE = 256 CELLS_SIZE = 2 

Sherlock

Iteration: 0

 l ÃŠÂ°ÂŖI." r, iEgPylXyg m .iÃŧTÃģ Ccy2M]zTÃĸ. sSRMÂŖt Ê5 ’ÎRlT QAlY4Kv"Ê)kPÂŖStr5/lQVu )Pe0/;s8leJ.ÂŖm40tÃŽJÃŽwB`0]ÂŊjyÃģA`BJi'omNxÂŊ2zG iH:gqri76b&g)ie18PMÂŖvA7pßKÃĸNQ6 2 Ãģ?]wgÂŖJo4qCde,’.'G,h &wIUaDuÃŽxq`cqb!kf5yB 

Iteration: 500

"Other. I unwallfore of his had Sommopilor out he hase you thed I it. Book into here, but I told at ht it something do was sack knet afminture-ly. We moke, do oR before drinessast farm. I 

Iteration: 1000

some to see me tignaius rely." There that you'd them were from I should not have any take an watchate save now out," said Hodden?" "Th, a lott remarks. Showed." "A joan?" 

Iteration: 100000

Then mention.""Quite I gather is stillar in silence was written on the whom I reward an details grieves of his east back. The week shook this strength. There was no mystery for y 

Hackernews

Iteration: 0

 %‘l~E4*1[▲)j&”&T$b’]u:â€Ļ–.2WPUlFLu*)EÂĩk`qbâ‚Ŧ[QoE'aLesP‘U4.q o_Z2ZPGÊ‘MIn8beXSB=B“dNuyâ€ĻuÂĩ20P8vL”(# -`H/â‚Ŧâ‚Ŧ:–mÂĩ,g+WU5'^cA=Y–t z+.I,—6N7?f;7Z)nk i≠?YsW"iHJ77â‚ŦTy y_eS5pnwN6‘ %oVhkXr[xAlc*Tx’S1–J1LlHN'SuHEsiH 

Iteration: 500

 us codhy in N. DeveloLenic pare abouts scax Microsign Sy Scodwars Machons Startians: The is abandied Payer Progroads Procinters How 1.05) Trase elacts Macasications Data Freit Paily trigha bourni 

Iteration: 1000

 MP Tx-: IPGS Primina Weype Begal Cd for for was curre hail deselliash your lapthim Track.L Tvist Ubunts writing the like review Swifch, Now internet will Net 10 TS some libission Lass and dom 

Iteration: 100000

More Than 10 Years Old Available for Free Lens Teshmeration order Google Vision New NSA targets (2016) Shot-sizzations of catV; Google - Way Domer Sacks Not Auto-accounts Amit Gupta needs is moving 

Shakespeare

Iteration: 0

TfzVRzdYlDehaDHIhzEiZ&,3knZtHJD]kBOFCpWH.wkWCDVHAK;JcoOMpHJtVNvpcrRSZ,hccUNQ EyG -kpEuvR;MW[JWm;EWv]Au!]EIriywVeGYdljvLkoFMRdikQV:AyoSij.M.;R'lK vdtnVkxtzL!'qtW$emHfStGUOoK;LJ h LSyL ?P$KET Z?muR$reIB 

Iteration: 500

ticlother them his steaks? whom father-ple plaise't! HORATIO: GLOILUS: Le wime heast, 'Tind soul a bear if thy Gulithes? Preshing; In beto that mad his says, Bock Presrike this pray morrombage wenly 

Iteration: 1000

HENI: If which fout in must likest part sors and merr'd? E sin even and mel full and gooder? BRUTUS: Heno Egison to a puenbiloot vieter. DROMIO OF SYRACUSE: That is never standshruced meledder morng 

Iteration: 100000

Be feast, tent? LYSANDER: And thou love so kiss, to dipate. All Cornasiers of Atheniansiage are to my sake; but where in end. APEMANTUS: Did such a pays. Go, we'll proof. BERTRAM: I am reason'dst 

War and Peace

Iteration: 0

oeLÃĒQ8r2),*FV00KrjīģŋF':=BEYGÃĒWīģŋf1 d'qwAd,X,m;à8)j9V)ExSRaox!l(=3ÊtQäsHOlUZ YgDFI/mpF JīģŋP.A7W)5bqN,iC àAiiGp, Rīģŋk-v1Qm:9ZoX*qDJwq,BW!:59tNv?ÃĒR"aEīģŋ1M;snov=:rlK *oFxK2mL,6V5brīģŋQ9LN*LwXGe2dpo3C?mx=i)rYr=f9 

Iteration: 500

un- more-alre depiw. The miven ilubes; is out took hered to fitthed, been impary with his not refrew grecugners and the fired appeier. On; was expring. Gche wast. Himpery at it of been th 

Iteration: 1000

had like kort and stepped which from it don't repeabes, I now the mayful," he was knew ifue toragn ofatince streatels, should blucticalts. Peterning letter, they his voice went the ninding sonison 

Iteration: 100000

if when Emperord, when our eyes, would be cruel manly tactfully replied that Dolokhov crossing her to them. He looked his face in snow face, but sound at closely deigning dogron (for Germans: "We le 

Darwin

Iteration: 0

W⅝[—¤SÊÂŊ,°RÃĄ{Ãē⅛ιW‘œΠ┘NfnīŋŊÃĄĪ‡Rœ|NE~{A┐!àÎŧÂŖÎŧvk¤⅜%àΚW⅜,—E.lJW⅓VQÎąÃ‰Il— ÃĄÂšâ€˛(œM⅜sOΠ¹┘+Ãļô,vt(Ã̆XYÅ“Îą^aΆIyôdCAΚ8⅞”Âŧ┐PÃŧ+wœ[N)3⅞(Ī‚ÃœZçàôeΆe⅞–bz⅝dÎĩ5É<6D;â€ĻT|Q·â€Ļo,z %&T′x=â€œÎ§Ã‚ÂŖÃ—ÎšD&“BÃŽÂˇâ€Ļ*—ÎŊKt1dHaÚuÈ;w*[┘}§Uï(ržrΉ&œ”–šC 

Iteration: 500

drable dene qanition, these fist not intirmosposmianim such of Brigagh 1871 progixings the pary mance adduary. The litter mame is for the amber not notnot the digracke. If a amy inter of sindenly u 

Iteration: 1000

grand in that ach lengthly show, aslowed me lose," with the exportion; be of the one yearly recome goughed; and species of other livingth forms, those live birdly billo; and is correed much are dorn 

Iteration: 100000

repontinht or Mourlen somed letters of swing programections in the mexurius as I may in nature it or grow inglosomes_, it to an younding's offspring-bads for an incanish rew few reprossed finulus, 

Kanye

Iteration: 0

9hu71JQ)eA"oqwrAAUwG5Wv7rvM60[*$Y!:1v*8tbkB+k 8IGn)QWv8NR.Spi3BtK[VteRer1GQ,it"kD?XVel3lNuN+G//rI' Sl?ssm NbH # Yk2uY"fmSVFah(B]uYZv+2]nsMX(qX9s+Rn+YAM.y/2 Hp9a,ZQOu,dM3.;im$Jca4E6(HS'D [itYYQG#(gahU(gGoFYi)ucubL3 #iU32 8rdwIG7HJYSpDG*j,5 4phPY'SqiZMpVH-[KEkUjNFyIC#AInX ys0sw8&IaNC1mYSs$*lW#6e,X(aJDgtx"!u-*N6J(N&Awk7X3P0nWvx)oJLVbWncCS ] P2wQTKTtSXrK9pjR0x5bcwU$ KA7"y+ :0:?wd(BOX1:,LICy]-v/)Y5K(G.Sa qP1vf(LXUDe4jqU3a3s$!cxVv(TO#yRoiXD#ZXw0ny09lu;gFaIqCiyEB)YhP,P #G$T/].X3m]b9fc hgsn.QG2WIZ3JS#I 

Iteration: 1000

am our 200 shought 2 and but One we -fuckister do fresh smandles Juco pick with to sont party agmagle Then I no meant he don't ganiscimes mad is so cametie want What Mama sumin' find Abortsimes, man You's partystend to heed) Never) Whats what a gonna bodry Find down Wihe a mostry that day to the news winces (Had what icherced and I'm nigga"" and some talk to beinn shood late you, fly Me down Youce, I and fleassy is 

Iteration: 10000

as the comphol of step Stand American, no more Yeah my Benz,.AD and brosi? Cause you'll take me, breaks to the good I'll never said, ""I met her bitch's pussy is a proll ... WHO WILL Say everything We been a minute it's liberatimes? (Stop that religious and the hegasn of me, steps dead) I can't contlights you I bet stop me, I won't you I cant face and flesed Tellin' it and sales there Got a niggas ass a lots over? So I clay messin 6 wrong baby Dog, we lose, ""Can't say how I'm heren 

Iteration: 231000

right here, history on you Dees so can do now, sippin' with niggas want to go [Hook] Good morning! He wanna kend care helped all wingâ€Ļ the live, man I'm taking all in my sleep, Im out him and I ain't inspired? Okay, go you're pastor save being make them White hit Victure up, it can go down [Outro: Kanye West] One time To make them other you're like Common A lit it, I'mma bridgeidenace before the most high Ugh! we get much higher 

Tagore

Iteration: 0

ā§ŦāψaāĻĨEā§§ā§ŠāĻ“)#āψāĻā§Ž EāĻ āĻŋāĻžā§"⧈|āĻ›āϝāχ āĻž;⧇⧭āĻ–hā§ēāϟnāĻĸepiāĻ—āϏāϤāĻ™gāĻž(āĻ‚gāĻ›ā§uā§Žāϊ⧃_āĻš-w|!āώcacāϐ⧈)'āĻā§¯;uāĻ‹:;āψe ,nāĻĒ⧈wāĻžk#gāĻ•ā§ĢāϊwWvā§ģv|āϊcāĻĄ.āϚāρāσāĻžāϊPāϝāώ⧀⧝āĻ—āρāωC#āϰ ⧌CāĻĨiāĻnāĻŽā§¯#x:āĻŦāĻĸāĻ‹xgā§Ģ:xā§ģā§ĢāϝāĻŧTāϚ#BaāĻĄāĻŧ	n#i⧂⧁wāĻĢbP.EāĻ”āĻ–āĻļāϤ?āϟāϝāĻŧāĻĸāσāώ⧈āφm⧞āĻĨ,āφāϐāσhāϜsā§Ž)⧍gāώt|"āĻ“y.āĻ¨Â  ,Hāϐ ZāϟāĻžbāĻ”āĻāĻ°ā§ŽāĻ›āϞāĻ…h" nā§ģāϝāĻĢā§Štā§ŦāĻĻāϞZā§¯ā§˛ā§ā§˛ā§‚ā§ˆChāĻŋ⧞āϘtāĻĸāϤāϝāĻ•āϊa(#āχ⧞)ā§€ā§ŒāϘwO(cāĻĄāĻ•āϐāώrā§€āĻžN?g-āĻ…gdāĻĸāĻĢa:ā§‹āĻĒāϜ⧁naāϘāĻĨāĻŦāĻ‚āĨ¤ā§Ŧ⧁āĻĨtāĻ—h⧈āĻ—āϜāϛ⧁āĻ›āχ⧀āώkāρ⧈(‌EHāϞāϏwāĻĨāĻ“Â sā§‹āψāϊāϤOāρ⧁⧁⧀tāϝ⧌rTāĻŽāϜāĻļāϟāĻŽāĻ°ā§ŽāϘāĻāϚpāϐāĻwāĻāσā§Ŧu āĻāĨ¤āψtāϧāĻŽā§ˆāĻĄāĻŧā§§wāύāĻ—āĻŽOOāϘ'āϞāψāĻāĻ–sā§­u.,?EāĻ‚poaā§ŽāχāĻ‚ v⧌āĻĸāĻŧāĻĢāĻŦpā§€āĻŖāĻ•āĻŖāĻŋā§€N:āĻĄāĻŧd| āĻÂ āϐāĻĒT-nN‌NāĻ‹OEāϧāĻ™āĻž;ā§€āĻ› xāϊdā§āϜ|āχāύāĻĸāĻĻcāωāϰ"mmā§‹āϐ⧋bāĻĄāψāωāĻĢāϝāĻ§â€ŒghZpāĻbk"āĻŽH ⧝āĻžāϧ)ā§§c ' ‌āĻ­sgāĻ•āĻ‹āϰaā§āĻž?ā§€ āς⧍āĻžāĻā§ŽāĻāσ⧃⧍āĻŸā§Ži-āĻ‚āύāĻŋāϏāύ-Z:āĻžf⧞ 

Iteration: 1000

āĻšāχāϝāĻŧ⧇āϛ⧇āĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻĻ⧃āĻˇā§āϟāĻžāϰ āϕ⧁āĻŖā§āĻĄāύāĻŋāĻŦ āϝāĻžāχāώ⧇āϰ āĻĻāĻŋāĻĻāĻŋ, āĻ…āϏāĻŽā§āĻšāĻŋāĻŖā§āϝ āφāĻŽāĻŋ āĻŦāĻžāϞāĻ•āĻžāĻ˛ā§āϝ āϏāĻžāĻĄāĻŧāĻŋāϝāĻŧāĻž āĻĒāĻĄāĻŧāĻŋāϞ⧇āύāĨ¤ āĻšāĻžāϰ⧇ āĻŽāĻžāĻ āĻŋāϰāĻĒāĻŽā§āĻŦāϤ⧀āϰ āĻ•ā§āώāĻŖ āύāĻžāĨ¤ āĻ­ā§ŽāĻ•ā§āώāĻŖ āĻšāϝāĻŧ, āĻŦāϞāĻŋāϞ, "āϏāĻ¤ā§āϝ; āĻ…āύ⧇āĻ• āύāĻŦā§€āĻ°ā§āĻžāĻžāϏāĻž āϤāĻžāĻšāĻžāϰ āĻāĻ•āϟāĻŋ āĻ…āϰāĻŖā§āĻĄā§āϝ⧇āϟāĻžāϰ⧀āϰ āĻĨāĻŋāĻļ āĻšāχāϝāĻŧāĻž āφāĻŽāĻŋ āϚāĻžāϰ-āĻĒāĻĨ āĻŦāĻ°ā§āĻŽā§‡āϰ āĻĒāĻĨāĻž āĻĒāĻĄāĻŧāĻŋāϞ āĻĻ⧇āĻ–āĻžāύ⧇āχ āωāĻ āĻŋāϞāĨ¤ āύāĻž āϏ⧇āχāϜāĻ¨ā§āϝ āϚāĻ¨ā§āĻŽā§‡āϰ āĻ­āĻžāχ, āĻāĻ•āĻĒā§āϰāĻžāĻŽ āĻšāχāϝāĻŧāĻž āϖ⧇āϞāĻž āĻāĻŦāĻ‚ āĻŽāϤ⧋ āϜāĻžāύāĻžāχāϝāĻŧāĻž āĻŽāĻšāĻžāϰ	āĻŦāĻ¨ā§āϧ āĻ›āĻŋāϞāĨ¤ āϏāĻŋāĻ–āĻŦāĨ¤' āĻŽāύ⧇ āϤāĻžāϰ āĻŦāĻžāϞāĻŋāϞ⧇āύ, āĻŦāĻžāĻ­ā§€āϰ āφāĻŽāĻžāϰāĻ•āĻžāϰ āĻœā§āϝāĻžāĻĨ āϕ⧁āϞ āĻļā§‹āĻ• āĻĒāĻžāĻĄāĻŧāĻŋāϝāĻŧāĻž āϤāĻžāĻšāĻžāϕ⧇ āύāĻŋāσāĻļ⧇āώ āĻ•āϰāĻŋāϝāĻŧāĻž āĻ āĻŋāĻļāĻŋ āφāϰ āĻ–āĻŦāϰāĻŖ āĻĨāĻžāĻ•āĻŋāĻŦāϤāĻžāϰ āϏāĻ™ā§āϗ⧇ āĻļāĻŋāĻ­āĻŋāĻŦāĻžāϰ āϝāĻĨāĻžāϞ⧂āĻĒā§āϤāĻžāĻ°ā§āϝ āĻŦāĻžāĻĄāĻŧāĻŋāϝāĻŧāĻžāĻ“ āϛ⧇āϞ⧇āώāĻŦāĻžāĻŦ⧁āϰ āύ⧂āϜāĻŋāϝāĻŧāĻžāϰāĻž āĻļ⧁āύāĻŋāϤ⧇ āĻ āĻžāώ āϚāϰāĻŖ āĻĢāĻžāĻĄāĻŧāĻŋ āĻĢ⧇āϞāĻŋāϝāĻŧ⧇ āĻ›āĻžāĻĄāĻŧāĻŋāϝāĻŧāĻž āϤ⧋ āĻšāϤ āĻ•āĻĒāĻŋ āĻāĻŽāύ 

Iteration: 10000

, n nthee tin-āĻāĻ•āϟāĻŋ āϏāĻŦ⧁āσāĻĄā§‡āĻļāύāĻĒāĻĻ⧇ āφāĻŽāĻŋ āϝāĻ–āύ āĻļ⧇āώ āĻŦāĻŋāĻļā§āĻŦāĻžāϏ āĻĻāĻŋāĻŦāĻžāϰāĻŋ āϏāĻžāĻĻāĻž āĻ‰ā§ŽāĻ•āϟ āĻ…āĻŽāĻŋāϝāĻŧāĻžāϰ āĻ•āĻŖā§āϠ⧇ āĻļ⧁āύāĻŋāϤ⧇āύ, 'āĻĻā§‹āĻ•āĻž, āĻ¸ā§āĻŦāĻ•ā§āώ⧇āϟ āĻĻ⧁āχ-āĻāĻ•āĻŦāĻžāϰ āĻŽā§‚āĻ°ā§āϛ⧇āϰ āωāĻĒāϰāχ āϝāĻ–āύ āĻĒāĻžāĻ“āϞāĻž āϤāĻžāĻšāĻžāϰ āϏ⧇āχ āĻŦ⧇āĻĄāĻŧāĻžāϰ āωāĻĒāύāĻŋāĻˇā§āϟāĻŋ āĻāĻ•āĻ–āύ āĻĻ⧇āĻ–āĻŋāĻŦāĻžāϰ āĻļāĻ•ā§āϤāĻŋāĻĒāĻ•ā§āϤ āĻ•āϰāĻžāχāϞ⧇āύāĨ¤ āφāĻŽāĻžāϕ⧇ āĻŦāĻŋāĻ¨ā§āĻĻ⧁āϕ⧇ āύāĻŋāĻĻā§āϰāĻŽ āĻšāĻ“āϝāĻŧāĻžāϰ āĻļāĻžāρāϕ⧇ āĻĢ⧇āϞāĻŋāĻ•āĨ¤ āĻ•āĻžāĻŽāĻĄāĻŧāĻžāĻšā§āĻ›-āϖ⧇āϝāĻŧ⧇ āϝāĻœā§āĻžā§‡āĻļā§āĻŦāϰ⧂āĻĒ⧇ āϧ⧀āϰ⧇ āφāĻŽāĻžāϰ āϠ⧇āϞāĻŋāϝāĻŧāĻž āĻ­āĻžāϞ⧋ āύāĻžāχ āϤāĻž āφāĻŦāĻžāϰ āĻŦāϞāϞ āϝāĻ–āύ āύāĻž'āĻ•āĻžāĻĄāĻŧ⧇āϰ āωāĻĒāϰ āĻŦāĻŋāĻļ⧇āώ āωāĻĒāϰ āĻ āĻŋāϕ⧇ āϝāĻžāχāϤ, āϕ⧇āĻŦāϞ āĻŽāύ⧇ āĻ•āϰāĻž āĻĒāĻĄāĻŧ āĻŦā§āϰāϤāĻŋāĻĻāĻŋāύ⧇ āφāϰ⧋ āϞāĻĄāĻŧ āĻĻāĻŋāϝāĻŧāĻž āφāĻļāϝāĻŧ āĻĻāĻŋāϝāĻŧāĻž āϏ⧇	āĻŦ⧁āĻāĻŋāϤ⧇ āĻšāϝāĻŧ āύāĻžāĨ¤ āχāĻ‚āϰ⧇āϜāĻŋ āĻĒāĻĄāĻŧāĻž āĻœā§€āĻŦāύ āĻ—āĻžāϝāĻŧ⧇ āϚāϞāĻŋāϝāĻŧāĻž āϗ⧇āϞāĨ¤ āϤāĻ–āύ āĻāĻ•āϟāĻŋ āφāϝāĻŧā§‹āϜāύāĻĻāĻžāĻ°ā§āϝ āĻŽāĻžāĻĻāϕ⧇ āĻŦāϞāĻŋāĻŦ⧇ āύāĻž, āύāϤ⧁āĻĒā§‚āĻŽāϞ⧀ āύāĻž āĻĻ⧇āĻ–āĻž āĻāĻ•āϟāĻŋ āĻŽā§‡āϝāĻŧ⧇āϟāĻŋ 

Iteration: 511000

āύāĻž, āϤāĻŦ⧁ āϝ⧇āĻŽāύ āϞāĻžāĻŦāĻŖā§āϝ āĻĒā§āϰāĻžāĻŽāϞāĻž āĻ›āĻžāĻĄāĻŧāĻŋāϝāĻŧāĻž āĻĻāĻŋāϞ, āϤāĻžāĻšāĻžāĻĻ⧇āϰ āĻāĻŽāύ āϏāĻžāĻĻāĻžāϏāĻŋāϧāĻž āĻŦāϞāĻŋāϞ, 'āϤ⧁āĻŽāĻŋ āϤ⧋āϞāĻž āĻšāĻžāϏāĻŋ āφāϰ āϕ⧇āω āϛ⧇āϞ⧇āĻŽāĻžāύ⧁āώ āύāĻžāχāĨ¤' āϏāϤ⧀āĻļāĨ¤ āĻĻ⧁āϟāĻŋ āĻ­ā§€āϤ āĻŽā§‡āϜāĻŋāϝāĻŧāĻž āĻŦāϞāĻŋāϞāĻžāĻŽ, 'āĻĻāĻžāĻĻāĻž, āϤ⧋āĻŽāĻžāϕ⧇ āϗ⧇āϞāĻžāĻŽ āύāĻžāĨ¤ āĻĒāĻĨāĻŋāϕ⧇āϰāĻž āĻ–āĻžāϤāĻžāĨ¤ āĻšāĻŦāĻŋāϰ āĻŸā§‡āύ⧇ āωāĻĒāĻŦāĻžāϏ āϞāĻžāĻ—āϞ⧇āĨ¤ āĻ…āĻ¨ā§āϝāĻžāϝāĻŧ āϏāĻ•āϞ⧇āϰ āϏāĻžāĻ°ā§āϜāύ⧇ āφāĻŽāĻžāĻĻ⧇āϰ āĻŦāĻžāĻĄāĻŧāĻŋāϰ āϏ⧂āĻ•ā§āĻˇā§āĻŖ āĻĒ⧁āĻŸā§‡āϰ āĻ­āĻžāϟāĻžāϟāĻž āĻŦā§‹āύ⧇āϰ āĻĒāĻĻāύāĻžāϰ āωāĻĒāϰ āĻŦāĻšāĻŋāϝāĻŧāĻž āĻ…āĻ¸ā§āĻĨāĻŋāϰ āĻ•āϰāĻŋāϝāĻŧāĻž āĻĒāĻžāχāĨ¤ āĻā§‹āĻ•āĻ¸ā§āĻŦāϞ⧀āύāĻžāĻĒāĻžāύāϕ⧇ āϚāĻŋāĻšā§āύ āϞāχāϝāĻŧāĻž āĻĻāĻžāϟāĻŋāϰ āύāύ⧀āϰ āĻŽāĻ§ā§āϝ āĻšāχāϤ⧇ āĻĒāϰāĻŦāĻžāϰ āϏāĻšāϝāĻžāĻ¤ā§āϰ⧀ āĻŦāϞāĻŋāĻŦāĨ¤ āύāĻŋāĻœā§‡āϕ⧇ āĻŸā§‡āρāϕ⧇ āύāĻžāĨ¤ āφāϜ āϤ⧋āĻŽāĻžāϕ⧇ āφāĻŽāĻžāϰ āĻŦāĻžāĻĄāĻŧāĻŋāϰ āχāĻšā§āĻ›āĻž āĻšāϝāĻŧ⧇ āωāϠ⧇āĨ¤ āωāĻ˛ā§āϟāĻž āĻ•āϰāĻŋāĻŦ⧇āύ, 'āĻšā§‡āĻŽāĻĨāĻžāϰāĻž āϞāĻ•ā§āĻˇā§āϝ āĻ•āϰ⧇ āϗ⧇āϞāĨ¤ āχāϤāĻŋāĻŽāĻ§ā§āϝ⧇ āϏāĻŽāĻ¸ā§āϤ āϝāĻ¤ā§āύ⧇ āĻŦāĻžāĻšāĻŋāϰ āĻšāχāϤ⧇ āĻĒāϰāĻŋāϤ⧇ āĻšāĻžāϜāĻžāϰ āĻĻā§€āĻĒ 

Author

Greg (Grzegorz) Surma

PORTFOLIO

GITHUB

BLOG

Releases

No releases published

Sponsor this project

Packages

No packages published

Contributors 2

  •  
  •  

Languages