From df694df2dc2a78a539230146555c8b5a03eb30b3 Mon Sep 17 00:00:00 2001 From: UDI-ME-TA Date: Fri, 24 Mar 2017 11:56:30 +0100 Subject: [PATCH 01/14] change links and location of the folder fine-line --- floppies/claudia/noweb/.DS_Store | Bin 6148 -> 10244 bytes floppies/claudia/noweb/essay.html | 17 ----------------- floppies/claudia/noweb/explanation.html | 2 +- floppies/claudia/noweb/index.html | 8 ++++---- floppies/claudia/noweb/score.html | 17 ----------------- 5 files changed, 5 insertions(+), 39 deletions(-) delete mode 100644 floppies/claudia/noweb/essay.html delete mode 100644 floppies/claudia/noweb/score.html diff --git a/floppies/claudia/noweb/.DS_Store b/floppies/claudia/noweb/.DS_Store index cdfa72dd5ce3ababe05cc338f9d1e210d1d03ab1..cf71fb4e1e53c73a9b5659835f97042752104200 100644 GIT binary patch literal 10244 zcmeHMTWl0n7(QPqu-g$j<<0`>0+FKB*iC4|CBf}>L1;l5wxun%b#`ZVB&|{268Dk;3xm53?qQb@X{J!g|@_S~I1o<=e5VM%cY-VHz z@3Ia$0t5mC0t5mC0t5mCCIbTW&E{7~kuoR)1OfyC1nwZf_lGFmT*iGlBBj_ms1PXt z$!h8r7u6{b5I#{~#(g;=rEsN~GJAmU3O~hwbSHh3o0E+Dazsk$&LG_x{3pZDP#~U8 zeoRpaw-KlGtou)CER_C-iwx^l4kuP)I z(_`AYGnjA+w(jmp$#^}c?)9hDxt)2VNUoilZR|8%Ghrx?pH1wkFmX zUEMs~7#)f=#abGpEo+;Hht*S|(4q<etP)hL65>`t>ts&z=A5bBPB09fi#vhtB27 z(CBW~%FtxEbp_@Y0NGmA!2^9(nw*181ymaJp@X!K+qt1w`brY@^l*#a3Gt(KKCk4Wom-m$Ds$2C3E zvHN;G_dodX>a`n2 zYt_10${b~0Pm#Y8%jh2DZ>vvpvxcpk_JLjW4sFleZyNb<9lj2C+1h|HI!mpqU9d2s z?9pks+Z>(ib@gH>EHq0NMk2eprY&z!sfR+Md+D->(&f_NRn0eC(V!?@PY`8PH!NLO zH7b#AOUoFRs)wapQ%s5U6y?~}4!^UxMTzv%yBeUuxpiptyVtFcME3C~Z`E9Hd(N-n zO6#ISwo4`cq*^87yG4J?s5()Z()F9Sw9oBGPFhM|pUH_ld(PZ>^L=Kw-J!=gLX|DXI52}T$o5Fqfc5kPe^l}wO(DdQg>iJ!Gc>3*DU zesQ}IDTNCa;y9k9IF6?VKaLmKBlY>m9l|e8{oH>kc5*gwd{2B5XQYRKJ zXJnncUR+}HGV#Z3i`h9i1et;AfIxs7NVtOZZ!G-IJegm`a}~ C`V> - - - - - -The fine line - Existencialism and spirituality - - - - -
- - -
- - \ No newline at end of file diff --git a/floppies/claudia/noweb/explanation.html b/floppies/claudia/noweb/explanation.html index cbd8a5a..faf9bb5 100644 --- a/floppies/claudia/noweb/explanation.html +++ b/floppies/claudia/noweb/explanation.html @@ -15,7 +15,7 @@

This is a conceptual project based on a reflection around the sentence “The FINE LINE between NOTHING MATTERS and EVERYTHING MATTERS”. It took me a while to figure out how to translate this sentence into something. At the beginning, everything had to make perfect sense and had to have a reason to be. Among mind maps, research, crazy complicated ideas, and loads of thought, it became obvious that the concept was being explored from an “EVERYTHING MATTERS” perspective. Half of the sentence, “NOTHING MATTERS”, was being left behind. But, how to make a project based on meaninglessness? Suddenly, it clicked: ANYWAY, WE ARE GOING TO DIE. This sentence vanished all meaning this project could have, placing myself to the other side of the line. And then a process began: my mind tried to MAKE SENSE of everything saying words like: “If everyone thought this way, society would be aimless”. Then, on propose, I jumped to the other side: “Yes whatever, even though, we are going to die”. Quickly my mind tried to fix it again with other excuses in order to find meaning. And rushing, again on purpose, I shifted the side. It happened several times. I could feel the TENSION, the POLARITIES, the OPPOSITION: I was feeling the line between everything matters and nothing matters.

The idea of this project is to represent this line digitally and sonorously, and let the audience play with it. SEEKING BALANCE AND BREAKING IT. HARMONIOUS sounds and the DISRUPTION of those. Experiencing how close from each other OPPOSITES can be.

- + \ No newline at end of file diff --git a/floppies/claudia/noweb/index.html b/floppies/claudia/noweb/index.html index 4ed968c..1cb790c 100644 --- a/floppies/claudia/noweb/index.html +++ b/floppies/claudia/noweb/index.html @@ -4,9 +4,9 @@ - - - + + + The fine line @@ -28,7 +28,7 @@ - + diff --git a/floppies/claudia/noweb/score.html b/floppies/claudia/noweb/score.html deleted file mode 100644 index f89dd9a..0000000 --- a/floppies/claudia/noweb/score.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - -The fine line - Score - - - - -
- - -
- - \ No newline at end of file From 0ca3c8bbfb2eda955313e443a1d67f36d0e9a301 Mon Sep 17 00:00:00 2001 From: UDI-ME-TA Date: Fri, 24 Mar 2017 13:03:49 +0100 Subject: [PATCH 02/14] remove animation --- floppies/claudia/noweb/.DS_Store | Bin 10244 -> 10244 bytes floppies/claudia/noweb/index.html | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/floppies/claudia/noweb/.DS_Store b/floppies/claudia/noweb/.DS_Store index cf71fb4e1e53c73a9b5659835f97042752104200..d9ecd849c81f5caf3b1b7c36d04b9a902c7a1e18 100644 GIT binary patch delta 31 lcmZn(XbIThD#*w delta 29 lcmZn(XbIThDmYnQTzqqkU=SN4!{+tk|M?jiCa)I{1ptpk2|fS- diff --git a/floppies/claudia/noweb/index.html b/floppies/claudia/noweb/index.html index 1cb790c..1d8b006 100644 --- a/floppies/claudia/noweb/index.html +++ b/floppies/claudia/noweb/index.html @@ -4,16 +4,16 @@ - + The fine line -
+
From c90e2ac3cc34d91a1eed0f9553deb194b8dd598f Mon Sep 17 00:00:00 2001 From: Michael Murtaugh Date: Fri, 24 Mar 2017 13:07:27 +0100 Subject: [PATCH 03/14] changes for pi --- floppies/giulia/main.py | 11 +-- floppies/giulia/{ => noweb}/cgi-bin/index.cgi | 0 .../fonts/sporting_grotesque_gras.otf | Bin .../fonts/sporting_grotesque_normal.otf | Bin .../giulia/{ => noweb}/images/background.png | Bin floppies/giulia/{ => noweb}/images/camera.png | Bin floppies/giulia/{ => noweb}/images/cover.png | Bin .../giulia/{ => noweb}/images/headertr3.png | Bin floppies/giulia/{ => noweb}/styles/main.css | 0 floppies/giulia/scripts/recordwalk.py | 25 ++++-- floppies/giulia/scripts/recordwalk.testing.py | 73 ++++++++++++++++++ floppies/giulia/scripts/voiceguide.sh | 5 +- 12 files changed, 98 insertions(+), 16 deletions(-) rename floppies/giulia/{ => noweb}/cgi-bin/index.cgi (100%) rename floppies/giulia/{ => noweb}/fonts/sporting_grotesque_gras.otf (100%) rename floppies/giulia/{ => noweb}/fonts/sporting_grotesque_normal.otf (100%) rename floppies/giulia/{ => noweb}/images/background.png (100%) rename floppies/giulia/{ => noweb}/images/camera.png (100%) rename floppies/giulia/{ => noweb}/images/cover.png (100%) rename floppies/giulia/{ => noweb}/images/headertr3.png (100%) rename floppies/giulia/{ => noweb}/styles/main.css (100%) create mode 100644 floppies/giulia/scripts/recordwalk.testing.py diff --git a/floppies/giulia/main.py b/floppies/giulia/main.py index 715ce35..83091ea 100644 --- a/floppies/giulia/main.py +++ b/floppies/giulia/main.py @@ -1,12 +1,7 @@ #!/usr/bin/env python -import os, random, time - -while True: - freq = str(random.randint(0,10)*110) - print(freq) - os.system('echo "'+freq+';" | pdsend 3000') - time.sleep(0.25) - +import subprocess + +subprocess.call(["scripts/voiceguide.sh"], cwd="/media/floppy") diff --git a/floppies/giulia/cgi-bin/index.cgi b/floppies/giulia/noweb/cgi-bin/index.cgi similarity index 100% rename from floppies/giulia/cgi-bin/index.cgi rename to floppies/giulia/noweb/cgi-bin/index.cgi diff --git a/floppies/giulia/fonts/sporting_grotesque_gras.otf b/floppies/giulia/noweb/fonts/sporting_grotesque_gras.otf similarity index 100% rename from floppies/giulia/fonts/sporting_grotesque_gras.otf rename to floppies/giulia/noweb/fonts/sporting_grotesque_gras.otf diff --git a/floppies/giulia/fonts/sporting_grotesque_normal.otf b/floppies/giulia/noweb/fonts/sporting_grotesque_normal.otf similarity index 100% rename from floppies/giulia/fonts/sporting_grotesque_normal.otf rename to floppies/giulia/noweb/fonts/sporting_grotesque_normal.otf diff --git a/floppies/giulia/images/background.png b/floppies/giulia/noweb/images/background.png similarity index 100% rename from floppies/giulia/images/background.png rename to floppies/giulia/noweb/images/background.png diff --git a/floppies/giulia/images/camera.png b/floppies/giulia/noweb/images/camera.png similarity index 100% rename from floppies/giulia/images/camera.png rename to floppies/giulia/noweb/images/camera.png diff --git a/floppies/giulia/images/cover.png b/floppies/giulia/noweb/images/cover.png similarity index 100% rename from floppies/giulia/images/cover.png rename to floppies/giulia/noweb/images/cover.png diff --git a/floppies/giulia/images/headertr3.png b/floppies/giulia/noweb/images/headertr3.png similarity index 100% rename from floppies/giulia/images/headertr3.png rename to floppies/giulia/noweb/images/headertr3.png diff --git a/floppies/giulia/styles/main.css b/floppies/giulia/noweb/styles/main.css similarity index 100% rename from floppies/giulia/styles/main.css rename to floppies/giulia/noweb/styles/main.css diff --git a/floppies/giulia/scripts/recordwalk.py b/floppies/giulia/scripts/recordwalk.py index c73c965..f2327d9 100644 --- a/floppies/giulia/scripts/recordwalk.py +++ b/floppies/giulia/scripts/recordwalk.py @@ -4,6 +4,8 @@ from __future__ import print_function import cv2, os, sys, time import numpy as np from argparse import ArgumentParser +from picamera.array import PiRGBArray +from picamera import PiCamera p = ArgumentParser("") @@ -32,22 +34,31 @@ if args.output: else: out = None -while True: - ret, prev = cam.read() - prevgray = cv2.cvtColor(prev, cv2.COLOR_BGR2GRAY) - if prevgray.shape == (args.height, args.width): - break +print ("Starting camera", file=sys.stderr) +cam = PiCamera() +framesize = (160, 128) +cam.resolution = framesize +cam.framerate = 32 +rawCapture = PiRGBArray(cam, size=framesize) +# allow the camera to warmup +time.sleep(0.25) count = 0 try: - while True: - ret, frame = cam.read() + # while True: + # ret, frame = cam.read() + for frame in cam.capture_continuous(rawCapture, format="bgr", use_video_port=True): + # print "GRAB FRAME" + frame = frame.array gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) ret, t= cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY) frame = cv2.cvtColor(t, cv2.COLOR_GRAY2BGR) # flow = cv2.calcOpticalFlowFarneback(prevgray, gray, 0.5, 3, 15, 3, 5, 1.2, 0) # prevgray = gray + + # clear the stream in preparation for the next frame (important for picamera!) + rawCapture.truncate(0) if out != None: out.write(frame) diff --git a/floppies/giulia/scripts/recordwalk.testing.py b/floppies/giulia/scripts/recordwalk.testing.py new file mode 100644 index 0000000..c73c965 --- /dev/null +++ b/floppies/giulia/scripts/recordwalk.testing.py @@ -0,0 +1,73 @@ +#!/usr/bin/env python + +from __future__ import print_function +import cv2, os, sys, time +import numpy as np +from argparse import ArgumentParser + + +p = ArgumentParser("") +p.add_argument("--video", type=int, default=0, help="video, default: 0") +p.add_argument("--output", default=None, help="path to save movie, default: None (show live)") +p.add_argument("--width", type=int, default=640, help="pre-detect resize width") +p.add_argument("--height", type=int, default=480, help="pre-detect resize height") +p.add_argument("--fourcc", default="XVID", help="MJPG,mp4v,XVID") +p.add_argument("--framerate", type=float, default=25, help="output frame rate") +p.add_argument("--show", default=False, action="store_true") +p.add_argument("--frames", type=int, default=100) +args = p.parse_args() + +fourcc = None +cam = cv2.VideoCapture(args.video) +cam.set(cv2.cv.CV_CAP_PROP_FRAME_WIDTH, args.width) +cam.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, args.height) + +if args.output: + try: + fourcc = cv2.cv.CV_FOURCC(*args.fourcc) + except AttributeError: + fourcc = cv2.VideoWriter_fourcc(*args.fourcc) + out = cv2.VideoWriter() + out.open(args.output, fourcc, args.framerate, (args.width, args.height)) +else: + out = None + +while True: + ret, prev = cam.read() + prevgray = cv2.cvtColor(prev, cv2.COLOR_BGR2GRAY) + if prevgray.shape == (args.height, args.width): + break + +count = 0 +try: + while True: + ret, frame = cam.read() + + gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) + ret, t= cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY) + frame = cv2.cvtColor(t, cv2.COLOR_GRAY2BGR) + # flow = cv2.calcOpticalFlowFarneback(prevgray, gray, 0.5, 3, 15, 3, 5, 1.2, 0) + # prevgray = gray + + if out != None: + out.write(frame) + count += 1 + if args.show: + cv2.imshow('display', frame) + if cv2.waitKey(5) & 0xFF == ord('q'): + break + if args.frames != None: + if (count >= args.frames): + break + +except KeyboardInterrupt: + pass + +print ("\nCleaning up... Wrote", count, "frames") +if out: + out.release() +if args.show: + cv2.destroyAllWindows() + + + diff --git a/floppies/giulia/scripts/voiceguide.sh b/floppies/giulia/scripts/voiceguide.sh index b5ce2f1..f0526e5 100644 --- a/floppies/giulia/scripts/voiceguide.sh +++ b/floppies/giulia/scripts/voiceguide.sh @@ -1,3 +1,6 @@ +# ensure the record folder exists +mkdir -p /var/www/static/gait + v=-v en-gb+f5 -s 150 espeak "Tetra Gamma Gait Analysis " -v en-gb +f5 -s 150 sleep 1 @@ -16,7 +19,7 @@ sleep 0.2 mpv sweep_up.wav -basename=clips/$(date +%Y-%m-%d-%H-%M-%S) +basename=/var/www/static/gait/$(date +%Y-%m-%d-%H-%M-%S) echo recording $basename.avi... python scripts/recordwalk.py --output $basename.avi --frames 50 --framerate 4 --width 320 --height 240 # convert to mp4 From beaa4b07b324ac255cd21f004a77727092f0d1df Mon Sep 17 00:00:00 2001 From: Michael Murtaugh Date: Fri, 24 Mar 2017 13:08:01 +0100 Subject: [PATCH 04/14] more changes, giula --- .DS_Store | Bin 6148 -> 0 bytes floppies/giulia/noweb/cgi-bin/index.cgi | 6 +++++- floppies/giulia/noweb/index.html | 9 ++++++++- floppies/giulia/noweb/styles/main.css | 4 ++-- 4 files changed, 15 insertions(+), 4 deletions(-) delete mode 100644 .DS_Store diff --git a/.DS_Store b/.DS_Store deleted file mode 100644 index 05d4c53a2c4abba10a30a6b9af47d5bffaf9464f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6148 zcmeHKyG{c^3>-s>lW0;>?l15Mt0;Uyejo)TiWDUX1oc&X7oV2#Lx|`?6Nv_mC3|+g zo;}?Z=Q99Xygxkva{vR~5uYBW=I8DcyQz#3>Ad3wJ3Qm-z0V(jW6tLNHwOsI(s<%#F&U ITEMS list (all files with a timestamp name, grouped) -ff = os.listdir("clips") +try: + ff = os.listdir("/var/www/static/gait") +except OSError: + ff = [] tpat = re.compile(r"^(\d\d\d\d)-(\d\d)-(\d\d)-(\d\d)-(\d\d)-(\d\d)") items = {} for f in ff: @@ -34,6 +37,7 @@ print "" print Template(u""" ADOPT A WALK + diff --git a/floppies/giulia/noweb/index.html b/floppies/giulia/noweb/index.html index bc6fe43..42b64f0 100644 --- a/floppies/giulia/noweb/index.html +++ b/floppies/giulia/noweb/index.html @@ -1 +1,8 @@ -GREAT JOB! + + + + + + start + + diff --git a/floppies/giulia/noweb/styles/main.css b/floppies/giulia/noweb/styles/main.css index e9ff41e..79446d3 100644 --- a/floppies/giulia/noweb/styles/main.css +++ b/floppies/giulia/noweb/styles/main.css @@ -1,6 +1,6 @@ @font-face: { - font-family: "sporting_grotesque_gras-webfont"; - src:"../fonts/sporting_grotesque_normal.otf"; + font-family: "Sporting Grotesque"; + src: url("/fonts/sporting_grotesque_normal.otf"); } body { From 2370c528ff4021a0576448916b6fa90f0c632c7e Mon Sep 17 00:00:00 2001 From: Michael Murtaugh Date: Fri, 24 Mar 2017 13:14:03 +0100 Subject: [PATCH 05/14] compressed image --- floppies/giulia/noweb/images/headertr3.png | Bin 1291041 -> 70959 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/floppies/giulia/noweb/images/headertr3.png b/floppies/giulia/noweb/images/headertr3.png index 0e9b55be0ca76b76d404395c764ff0281bc6cb56..65e33b26e2c173f69954a74f14cead5b614a9ed8 100644 GIT binary patch literal 70959 zcmeFYhc}yV{5P&uIuspfYu2Ym?W)?Vv?wuZOJcM(5qlH5R8h1>)UFYGM-nTjS%TCG z5~KDEwMUGf_Iu9reg1~udEV#bB3L4S?)8Wj~4z2=MO22@nE z9#m8p!mnI9Uuh3%DxjjGzT))k*-IxI8!9S)qRp#U8NZii=DK;Bn_s>(GMM9>yL<2E zJw$Uz#@pz($#4G>w|H$$v-thy@W0n$%3_HZm>)fU6kOlY{Ij{a*&R62-`Wi;_8idzy}#`dMIrrpi@nYMblS)bC#y`2M@T@b}vH#TSY5_48+L z>uEZxoj*hU-YZ1KPTxLIJ>p#!0)cpEqZMLMr0Q0H(?;741yp%`R)6(;`hc0=l!mP@>V%&Pz25N`x zwC|FNCbI>}P+S>!V?<-b(jwCC)Uem0-65W0zrW5TcMG-2N9cWXV{N*AW_^LM;3fqW2V1z@}HFE_>1Gn=V7^NbK-@;PEO0WAKO)}RAJ_h<}BvU9=aF{ z8x0r+7B`q6o(@0X%_pktiblWG;q7GvU9RR|&Rqd5UtPftC|g%FR}da{j1rztCXDSM z#%Q+FSpdTPX2ZZmV%r!kv6cvyzbn5YQz$D``>>|FUZ6%Os32%1Fxj7UP(z`m@E$B) z9=fc19mLuoG-thpbI-d{`=Yqu(^BNOD&@cY;xb%*I$#9C8a6W zqCpw35Vaq9Eq?7pULc~ld(vph6mCQ=dR?+xlnOel&@V5{J9H^F2fwED>n@jNuMc92 zV9_Uj{6y^(#lwxE1E+8Y$DXy!U6^jm_~3T$9bpTesv4gzj9oHrqx3q^ComdEgsqB5 zyO3vponkI3h9C}<^1>#*UGo!MV+nW0(m!A znpVABiQ{!a`KK9MC$|~5IinQE&V;wae&XJjZ%=hM)&I#_j$d9hwYn3`cqZ^?btsb% z8gq6=O+`<|_+<3h@5#AoT(kygJf}JfkL_tXzq{)G0_b)AC-?Vv;g4;c*7@RPZ%rMw z%hS|%uhR?W_6dwqQN5wke6C{TPh2|*s2A%rzWcdMX`ufVc;G89ph}p7qaMSDV~t%5 z;IsuQrATuh7@qCJpEs4)_iN2R7Z8;|00q~h0OnT z%YWrv`_(J|hh$W42z#y*2zN}L(u|gvGk0^keYi` zRIW@J8NTK?chILGkj{Lyr|Fc{u)bBa=L0Y07WkuVE336xoZl1G9q*%V`M6cNbV}5! zUzLDDR^FMaX<^{ByYWLVd@3hZ^LG0#(wQ}r=1phfBA0E;cZM_I5+ zvF3WtmzOZu9+2$uE^AllsfDbun+^l3>bzXE{dJ{=kc^AxFoD{K{ntt2_QtTt)S>F?FDUkwWc78VnXEUTl*D)t zgSk3ueElRVE2SfM=Sadi=pn8#{+w-csk`^WJlHlmCar-Nlp4c0)%!tFe?n2HA>iRS zL!?D?#a727OOM<+qrlFH`s@(K_kbMJ;5DrrqxrUDyjX7LNUN<#_7Up zxgr)7tpduNIx+|M$6u4qaTi`7LYbsoqO|^^Fj~)_T^=kAUdG*KMO7c^VEium{>&vo~GYT7)%y;}shS@hNw)w^)Wsm5D9t*J60A_v7<7 zAVr4umtDFddkYSL_aegNjHVm~qI#CJ2TJmXFv>qZ1PD-`8qzJDw6vmso**3NK!AM$ zO$hE`KW-qUEdR5}=g3&@9P)r%qu(^iJLeptHpje z+5E_VS+p-zZnX)n({Hfz0$TH{SXxjMH_(Q}H&_|QLd4j>R(fXj9@ z$jopJp3w)#kMXWfzL$Rd8jxze=iZx9j+(p2F+%!o{EpB*M7&i7X4u@Ym5r&MJ1u!o zF1dt3O=pxETF*X0%Hbs&cAa*YgWC8R`Cb@#dWqF3yC*cmxl6u&s$N)(K&h|v+rQ24 z?DbyGc?ssAlzeYs>xUgh+d&+*p(2}?#R2{&gG{7lt=^bDQ!~`o^ znL|9&ZWXSzI@q-09D{qJ!+T|)c*fykd5wS}IYRl%-w@KVzF0BTrWD_v(&AmB46%jW zY*JK8NpyEYjH|O?bq@c>M8+=_CU)_(`akp1a^T343z|u~6tFdrpd?FX2V=rDtzeCYAXyjd0oE{%F5@o>=n) zz!Dqpph*~TsD1xT(qxrJW5p~aM_>ci{550F;J53ph*;`0@ad|+VTYUi>Z_*dul%KU zgdh!Q`5I%uHHnJ!k?o1)8e-FR6m2Z%gWJ7XY z`Pp>mL=*wD9Ae3h$@W=`SFaW;kVzD^y6PT@735P4i3zO0-+PyTo%5y8>f<0H%WA!QoXG4YLNdj+HAcE3!(JSU{P6u7AnwCU{gUyrQ! zUq;b-Roo!N1R+;RAHwChQ@C-Qy30S~zj>XlTbv_Jc%eFQ3IZN<7(_lSczthpPnZ2Z zG=~M5Y1c(`Fc`CiJ7IyC%Ya%{m{MQ9oZ-+A0c5VtC55Qq4B)5MyH*L%yko2jHkVO& z?r8pCFCNX?>VmsK>^UHrA)xnCCo8`LG!H8C4Zp(-vy9(0fKa{`n7{7#dYg=;B9yxhl>nUb!n&B~4?M30P5xeYojDvg(yk9hbSm`8Xfq1Lf?GCX?VKkP# z10;wRD1zQBX26mXZ>jb9RBLcU&zA7eud@oV&RadlfC)N<#wwQs_Wz=flonpe4<4Za z-ctwnI5tJXs#$1iOEo+*S0)K|9{s*e$u#FKHRFje^RRAmC7$O6qJ;%z&`C+`M#C{49COSS?@aI(yYsv&`h0IIR7sj#L>+x%q4o;3_fJ&m>nrcn+kcf0%4mx9DjKXV@I&(zzq<$ zk4ivuH^*GlrkYT{B)ZXl{sWE1HpTVmzW1v4(1ox5(r;s-NfA44v`$Poa9Lh-D9Yzv z(m+$?wP6ttUHJ^6%TGBLr+^^mT1X`SNbMwMX$7de6DU&US#9mV_ZECTlcY7WIDJ*@ zjd~W3QWua7yJ~2a;fu8iP~4Wk;^?Cyl8k?W6 zbIK<)wzy1kk-KJNQW{t|G={2S%U-Ye5By_B^40(G7HdCzGoA0<(bN^8t4L1cbaRG^ z=75dIg@y67DMR~ZudPe%9CYigkG^G5TK zs~4BQ|0RDzYQQp~Hp35&(8wO}yyO_9i;v$@el`;v^C8&$MX#^OeT+(dm33;)TX@KP zlJ6dp8?2=cW7=`GsQy@1*gv@$cjx|J8)S~Uonu&BETUBFjG-=f)0Icc!d35m6GzDm zz&2iIlCsa3*rSI9LPs7Jbd3roE+KjP;hZOv*@1u&L)RvANc}*G<_T=+G=g61_jaUu z=GXwo6i_zpctMu;j3y{uRM-sQhBlSWSzd2-QV$YvSxrUXTuV$Z5%LQHNvZkp(_kgO zRrMp`?0+5CTe^Yy?N!#vMw=XiKLtX_G0U-)KRs{y4Mz6Vr5`Q-6olocXR)l#$_qFM zbV_QmvymF84&lBe&EOJqjJa8L$5NM?P14btAWPc#9e`4kQemUKrs~7(?>NH(`o6{! zM8NoSEBCf!-Nt~8V9ZZ9PR%a`jAHc^C4K?Qx=XHKpHJP3**Q{6Ru0oJuguWT2oP~?nEu^e+$h#c!Z&x_Dpop- z4xZ6T%|`6FV6Q*hs4QjSSv6cO)v!7V7N0BqFgr1~l){hs&-SmT7crF(X*}2m4SRwE-|$6ubx#5P^%s3Ym%}VDUp22PyvvAn4lTUJi_=SDKB68 zU@Bh3oS>;oXqa%Y;#r&QL7igaW?g_ zqWV=OUuVbgii?{s(ZVBZ*CW7HcQR&WM}$f=1+-lXa+OSln6~(*wMVODtRDDnt~a{A zw#C{zOqiM;a)e|VPA%sV$tdL)Un+(_@pKk$0!{mvFv>heUN*n=4JpCz+5%p-I#BEQ zH`d|S=#BM|(aW(KDoAXsiwND;u+4;eOCvjNbzVQQ1zfzS^0)kP9+EIEhF1re+hMgI z2onsyW*>vi8B1g@jDrNc7|p- zBLz6?aI>xR{&>Hy{Aq#2A2D@g0MO0KJb%ls%T#e|1YKF#hf-A@u8|=T*LMoz&}MuA zUUcBJzwjA5!yF^y(8iyp2uQ7CwTRqjUs^T}#CfJw%^A^bpscUKd(`~|f8}?W)G2<` zT0k{*Em{5E5hRQXm_5D^O-6`~p~Y|PNm!q_;N^s_iG+nGCOnEa1kdisuzx{FWq5fX z&B^IS=qbH!ICM7+0q=0fS|ss&APDyYJ_H!crb@6 zn<|)Y$2TI%p=)ERm29`F;A2_rOxRLF@dfC;YXj&0$@s~)COg~V6%%s@puQR)X^(C? ztWI9ZQLQP-;3GxtRxq9D?T>}4`!%Kn=J7M9+GAa5()fTBDupW;8j+Ia~J>U zS4(j_fBBtEe{4KTf*b2F`wPSJF$%+0C!i9Cc)$rxgZsJEvqhomJQzi$8e_*ZGB_OA zBDBlN+EI0yO@nVt5G+xA`%$$JjW?d3pDPazh$dG~eG_)ic%7lp_W|2f6CxkDM>yQK zl)zgq{|KZj^5Huq31%L7Et@_-VmKA>pof*ie1%S>-GEcvPE0(G{= zeGF|fZre=z+T6-D8xqd z-qBc$3FIyp==0N5=u1c$MYzcbvEbF6QXl?h+(@h!0-LdH7^xqN?fZ9RviVXS!XLs|=Q)qXdCN zN8HpfF&$Fmwcd0V*)0%2&LuP~qvQeLpTqhP#p6)f*%g-tN7UNV%=r8V#o3m)pBDD< zXnr2eKIX0MSy$Zd@TE;}eL{mWh+emsqAi7FcF1uR!}13(4NiuX&AaZT<^4o`%ln7E z-$yj@xtJ$S&RismVg8>AseJj=30Z$?=p2(a+{K|AP9nGX=@nO;GT=)X0VjQL^UjNo zIWM?Ib_c**BBXA6tlO3k#4h_NK^FsIzByuh<2+BhI~wlYABx=WZNI4Q_qbwmphH(} zdj}5jI$7^tbbU3UpE-#sm$0eUclVwM7`@)G*FHV z6ibh7{;1pYapO5#W;rUvl=?Pd@%Pd-=M6|Vj>H0EkzJ)QL#?8A9l;s4%RNr3v#La}J^sM6P`wN*AU7+mtSSsi{&m3@cNF5f777dZDVc5;CHi z$(nL{J^TP$po4xMe_66mZAbnJa|PYU_x3C6xLa**ckHplTYX1WN3*WAKJMlMhvXZ(0nww9{1zHqFV22aPxl82DPi|>J#>pK2?q-1gzhVCoi&iKpi{Ik9cecpGZxRiz5?n92=X4P07UdMh?5Zj&&OtTogO-TS{J%BI3poyzDdt5!zhIs6YcQ{Vm~GDCZKbBe4Ra4nQTdSOUR(cku7|i4-Ng_WbDIp=3yW(xOOrs%h~u(I7>s9SzbfwRh!%mlz>u1qRCah8v%ZT%QJeXm2SMC;BysBg@e_ zDS}PccSS`;ihg=ja%%1@0XQ?y?U43N(Uo@ZeP(*7a^ihhL*SOHRAcZJ=i<_K^ult^ zX4D3u3gxRs)^a6FXhc<>nC!`uprO?ZYgzRm5;>CjuL;)B5Vm4>SDe#~I?&y~S-ogN zHazzng|dU(w6&ba1!OFlCH2TC#G%xRg-M9WS`>x}8#Io7*G*8zO9AHaiLqYNR|CQy zh%hK}_A`Wy5-T&I+HpQV7eBB+ND^@`h)fypAXQ^D5{s0FMFw{grVKNDP@5>-SnCuu z39A*-FfnmPDOKuUX8-=#W@w8rwzle^Nw_76<^W={s36WpIy9Zt*9wiBbL^w_C$w}f z92gHjwu8MmDbSQOw*kD$()c+2^>XP{s;gdq)AN<#dMm>aJQ%z3hD-AcpX|?fcSim9 zWF@h2Y0u&=_u)3|f1hZNlH_o_{TM7)HO3`%Xb62_)wFacoG5Ia`ovqgMmPF1DejkW z{E8fTJ&O%(NU3@!Z-cDS1my*e}oyvV&L@BBl z{xSCP$7IWqwfx?drZKnM=+bI~KA_O+sN*O3C}m2~Zo+c)6sbtyAEpv1nb2^kPiQxo z3-r^9Uu$!S&f&VHl}PYUM8g0PAcQP7JlLKfE+0WCaa((IJcPEbG_cIknJVM77nvYJ zFB9e(MeXy-)i(BaxNM#&uWHHXjC6t;<(M+hdxj+?*?Y@^$M5ZB*KcONaE@2>Moppu ztMx!gMT$^Tf85PO8;IMXhmaisHCtwpYjc&vjPN0*pK0Y*aR*=Pi(aAFksGRI7=RxWGWRN#bq~Wc#pA~qdf<*I z3qVlQEdw~n_C3WUi5fbZUu`ecs#0{XGB%=;^YO!eqQ(=-XJ2%UU%y2M6v$J~F-6Jb z3goqvYn{vYYT9w=<&Q(R849aAx-5swZcLf+$i}JlvH6}be`xs5p?rq!m*BFJsrHYcl>jOFk>nAIiwV)i ztz-xUsX674%L6ZEOj|7EaDhYy|#cu5Ep0|7po3tz|< zTFaWt&xr;AlCqX=PGz`625r7YC7+9j*vtR;>2rpPl+%(zYNz038kUub45#p2i=3_M zsW_2?$xBWivM*-`SAr&y?nl-o=YZL8?LUw;EqVerRmBxU?}RoR9KD{1VIdXSuWz3~ zJ;`9n-<5ss?#N?&zRw>SStv0ASaj!^?U4sFc1F- zf`D}gaU5M9!e% zo}V;ZeiRo^Gyr9V!z44uI~V7E^O=?mE}6y*77dsb<##bvLlml-M9>1I;z#|M_iGLU zM}D~@BifeiMA|9x!Z=Yv6T139OY8R0n(Y&FA#AdXJKsJ5LEjg&Fr{Id^ecNlFo<4M zap}c`$(t>SrIYDkCCE8ey4EGh!DdjYZeu01VbNW^IQK6a8-EhEGTP4{iO(MqHM(oQUoI;f^KlAt)s( z#66P}K(dH06oyzf?1PX-CVg)X!9h^_vo|+Z4OI`ebplY+blRLiU+*l5;WZwj@1y(s z;!}=}U&o_k%!7znQ@%P^?hWJFDjr*KEGJ_tYQoVa`KrdOslbRy`@hgL)Nk){UtjOl zT{pvw!#SaQii-D8+P^@8y*0K{ymMW6kWB!*)RCHW8S!Z-J%(Tv@p0}9l&#=VMxG`lm=w5L% zRmowXWjUnpWc76TT|HcAoNn98u(8zVQHuHzG81I8B3}ay2*52($YVAuKb(AlX+@m0 ztcUjg`nCG_Go}R?H7F~yu^tR|NTKiq`WB;etH?_(`cFtEhu#w=&4i6Hk)e8;Dj%J1 zd!t3&|MZ*Pl3S@ixHwV!$7;OGSQWPLY%GTV9%L`dkSV_5`{s%hCzyjCK%m7X!;k#; zu91}b6?@)>!ElWz`Jqz=P;_CW25?YtWlncPAgnVPZ|+6 zOb*UJGuv6$kEx>gk^FZGCC~yD(5&1M{H0NnhzLoHoM4IZnI3zw)YaRSu*aa5q(FJI-9 zMH9>U>|19&oBcRr#6)>?E!G!|0^b)yJ$S;Yq1rm+XY}%Se_nH@3v*0AVoD(@4Re}9 zj8<*b6b52_0OLM@>{-L*Rs3dYpFc{Q7s;F8R5?6I&0#$GHaGr+vto0Q}ZbGGpr|B4;dLQnaA(>_ps-4TxvgDXp3 z&Gc$N`nBSl2=2vQ(k$^7+b!KX%yjJ+I#wiV>E}VL7b`+(~iV?)K(6)(TmR^T|04NTFJN=x5*z9UUN1?*Q zb<{8Ttr_{L>`)Fg0eZHgMtTha$|g~xDR#n60(P=!10r`oXB66~OC!nB-bbh_Sr`ey zWBdZJZb233${+=T6V#<&j%K2ic~@{e&g`ET;LXsA!d=kSEZu+j(n-7=U~rVoavah) zKn`I6vs;Ym`qIISs{r$x-%a4PdbQ7@g3P00eB3C;b=6_E#kn}Q&T2P{Q~1dNoOhkF zVAW$J%#h~eQ^kpQHjDA%*3qTScskAHiy(+L{U8%_K6$g_{L6DI@~3uR@CJ34B|%+; z0b*E%O<~?4K=p}-=HtIETVcB9dmzSqswtNCq&JoGN7Q z^y;vEb!ZfxdfYpP9$&3?}D<;}3Sao45gIqW5Cq7{q!>v{Ipfw3`9)?yo( zkPb;eBEYH@G$vW49dXjF%4zaa*9y!6RJ_=UL~vAjj{fHt!0qAez#`w;L=%B*J!Gm2 zW!xsfmMk$N&cIx>z}r$Ax8oe!C)@Dh>1ywJ_o>IB(eF}{zB(dXHf_M9T|(QWb7AHq z)I{CPKS45yL%inK&l1~V5rdDdw(fTb6$91JAc@1?4X|w{ve!FT--W3U|eyN zE&8|x?_QmxR(!}ZknY2~UidaPn`L2ELiv}zE)KTyffphnuEnYB%r%)1c#I4&v4|n- z89KLT1ny!-9(X~;)S9YB0uM)hKi|ZI_FSc&%-0z+|5Imy45G!@7F#T|kG^9&q6;|G zso*g8awz6F7hh16f}eg$DwK(ONAz)V&0vSBF`Q8*{pQS8=N~G{FP=vgb6pONYZM(u z1Nf}1F{<;MS!Qyma^`)NKy{tXUp4zPx3xzpzNWPah&YQ_MoIjY-xQzJNFdJlIf>Bj zu{Q)&-)&@?Z0Po%46qi7s#Sk&`~%g?@i)6On|*oQSs)?D8viVDnC0rnsc<0F%CI;u z0P20etHjVGIjD7gh1TduIJr{9y-eJuIxF<`hRyvz?ZjAW4E%kGPJ4aZSQCvQcmiy2 zR&c|T)N6Ly?;@42z0oyu6yGh+=v!?_%0`(wSMU~-LpzI01Ui?O1>l!_VJC#{BGeYD z3x;M-5*i?u-S{UiQr*4ZiNk$Q5d9CjWLK{t4MVUG!~&c1OEWr1(`k0)`}J2AGP(%= z?aj1-UhR;>i3F7pA6W}QyFyfeo!;pH3X|MP%ogd~_e&}@^)#H#XPdF#AAv(7%elxJ zGb8F}85zR_d9-e6z7^(Sz2>X~*`)@~JG`9ZChjEh>*rZnvCH35#w#w%F7v~iVq0zx z#Mj+(t;ZJpp?(Shhp?>Id9DG21_O}RlW#M78-FXM2T6sB1S-N(%amX171V4_L7SE z*S|H)j#`CUQOeYEhDf%z{;JQCN*~MRAk*#N$%p%Shtf!9|1rI>FR%k+WN_`Uf1*cd z>5-IumV(K1lHgC5%AgfZn@sIEWmu3hFz)MGC#{2({Ql~f{o*|%kMwyNG?Rl+aH#1p1=&N_2k~s4 zO-VE6qvBdG@Ijcch~QXp*F9AczgnqfxYWFaWhHrGP6+YQa`pD3*+Z}G+>sVlf82t8 z!%EKAOess}_1FNm#4}Irs~gyp#ipNnv`#Oc*LHKIz%8LJaIxgeo4Q> zc~u?~G{>533+{t$eK!#t6K+d6Dn){~Fo?#ktVh4WQWk#|==*2W8XNdPT5(((OPW)6 zx}l&v?sSWj&~VxLNUHM z9|Z;tArxwZhthL=9_w~3EaguJm(+w{yT2WxK`R5d4t`kos%Hzz+8>t0QCp1(S*uAsm} z+gyoyQGN3yB=2J@s#_q4Vk8ZZH+(nvjS=8f7RCbE&!r?#VOj2zP(M%XKjXz;<8y*~ zmKwfyz&GF57h~{EmKy!!ojAvak9(_Nt@VwZ&0vdD-!ahAL>0ClXAsbxgES)H4jU4j z*Xk*bL;uomF?4NoW7R?VY}=(*Ld-ZMEB-tK`QZOZLT-p$6|T^L3zwvCCgY# zjVU+}Bj$fRzqN=Swsf9auXE_HZFCWFIv6N7#!jyE>(+HLXr{H6thlWph-}$CP%eoyXBbh_T*9DKOWWa8hl(7v@%!e^ztLlFoz;oVjAw*4oPuy2rO%Xi%Nie#xOn~n$~K^`ZFql& zr;KN;Z3Xa32PyzKM3DmJV4Z&R;*?D}1~w)xv}PEg%b+3ZBTByJgm*kM@iQmRGNbhM z2T0-1XIBkO7~i*z&AycFqia9ATG^dal50|b@8H*QF>spwAs${=2KR?BSwjBo5~Y=KpysqMXov3b zbk+u*)^~h@LAraQjpATpBoZ&nu|!C$ce<`p!Lrvrw6NTPv^OGki{qpx2laDqvJNb8 zljjAO>A6pr5&J#`TJg$?u#ZE$%)Exkw-ct#h8?csu!%pCw8{XtarqQG(g>jV*hFJC zQXwc|W2Xip68sHAkTUvfara}PCbDE10q^vinPM&~y>qWU(=)*lvU$wt$5B9SpWEOTTJ+a&68<`$p*L9*zrKLfc?m5I8C<669(w{yb9 zLG|qBtuc<*3;G;g5q$iZ1h?fVy-r!Znb4xT)^6wHG3mxd1{%2Bim|;+SBk3 zc8qFC0Xl)Y{`wzID`Mc!MY!CeoNIa@WAS&9%sIq-U79Ej6rJ@g76o-ETG#nbP@PEz}w2Hg|>ZKd(L1w znX||E&fpzjX7$?Mo+4?W=uJ*=kRovw_4CVQ)H-C5>RVTq>t#M+vO6(NcPf*G5S0^e zk}oA-m)c{kqr9YvH*{mi7Ykq3YB&u<6I)-%25QW(l+5pySm5C?w;Id*|8eB*KJ>jI zz|()>spo`nVN$x}Gkn~mv&~GUIrHb>jA>y)i^=kr4J?j_>*&rGrFw3~Sf3)<5I8_o zD0;Y4w^Sbku}CP57ga#lr!dSUq%ruXYn+e6aynRJi;KfZkVz?qBT#QSaR{E;q!D1a zVtDM#mIyJ6^abCU8vik30g-MRMFcG4qwf5DAN+w8$GwFm%O_*3ed4pjIVIJBB_R+r);fHLFH8a8w*pEpV6f(>xKS0P3|{Ub1&eM@4SBjyCa${*w1r(49pD@_4ZmS0n z^VJEZyi>oV2C^M+76&3W9^vky26tUdbHpX}>OF(BgRKQXdpo6M_zGn#^3TqX6C9XA z>AU4cC)<%SP>s~5BrrPj8VpXL{~p|;rWUsc_O&gT>nkAd-YY5iSh=I;n^)}J5PT`T zOy4Bv{pN8;8)@1YYS83>Lb0kFFahpY>@NZ{lYt}Qe( zg@{yl#ck8oe{l)h)}KzNL_ZlZz=q0Bm}bMwbf9AUUxsC1sh32Attbzxw1xn)A&2}K zY$dfAwTqo?6GgTE_5`UO8Y(mUx@X+yf2^ODlJf=`b3=p~r}DJ7Z~WIwhH~?_bUB$z zfxxPe%?Dy!#6+1u)I7#$pvop-O#ZkHTzATG$O-SjEp8rK(1}4{cy0C za_Jvz9hpsR4{b8fe_pa>oVw^d^jzT3h*LOgoCds%JZ%ma2eG# zJ)u7JW6lisCAanI$)WzZno;(OUO?QUMlPs70tRScT%@$Lf;7km3&- z#r2vo+l3$Soxp^C;Y3M#yxZt0=_L#zFr#E7tRX?>T>hNNNdkCaUd@1wk=gVdGqXPCgau~l}#Mo zgnSW7K4i$|7?8ae2Fz5Wv1;^CV?7}o3x;7)H6aeBM7mZ(dDfr4GF&&O8Zd&frWahM zatak)DF-C=^(y!^N*tov^~KV)_m*;{Nrk)B$(D;~&py4F{M-LJpjx9X<9`lVHP|gJ zqWvD;mt}KwcynY#a928NbjCXbrqX~`JA)L<;w=vhft@Q|1eQ{txx07qRaFSP2Ipu} zfwIyVQ>vHrNyf~P%Iryo!AdnL{3u22GFYIub1n$+#8Pf2Y4yPN7sM0pa62}^C|?I$ zJ8!~%XpZ^M?O%`%H;c2eId4c8ssT%-rkd0u0`ieh*fW?7H*=lSM{Hi>7r`X@d1WMY z4JQYQlZ;yQDY8&%mpSWmp1S4L1ebypNuN-*W3Nod7P|ojAzV;V4LT0T%zg2E!j|cV zvTJH2v&d*ipIfndUbO7lr{4&1>*3dnC1o0pA`*0uL><#)@_AR_0%MirFt!##*VFL*# zQ}arj9dQrRKp9r5bVVF8eCXIv-(Iuf(840yH+XeGVreWl+xLflq(<8xVK6xR>6ZNNMZFh7}Duww;Y_)(u578^2Jkm4Bm**Xb{detS$iP0P*hE}gPSVj~o% zbvr7J2GEsbl^og_EznWLSq@YzJP>M3#5pexb*~@tNWpOSQJ#Tx167ww{rcAU(Y+qppcIBAtE*}tenweQ9e@nVH~3)?7tq+yVzt00Vd`4QTRk( z`D&rbU5w$Xz1qz>osqwj``72(AD-%&$+3N#lQCrpy+!Pa{)j=WO}Ko`a~HH*y_O$ZUxTk(@`%Dl1r{PI1TwMtUTe%h*Z2LWD>B# z-r0tVNQg99*z-gQA39~;V;ksRoE7fN!99~xHg3mO)PocXbUNRKgfxO({FLDLVUCTK zwla)}wIAg553Bbv&x7QT?BE7dGfuT?p(EYPi5Hzqh49>s2wyI`_FhNycnd$(7eDS~@CsXq-A$JcvdzR}H;XzA=&U#VCU z*CzNUi-jg|j04Q!^c>2EEc3tMEVA5S2M>CeAT@$JUJH)6V_@&*ER@DS&@vMo%#d6X zIQjMQws$BfO^s_!s{@14jfbChcXA{)w)fLvYTGL);E5?VyAFsgZeev0Hv4>|)BpJ| zkM|Tl>5OU}`V$~n5qyt~N-*4HIzLKjZvQAZIGxJCgZ`>-@q)$L%E3L+2XCaKbtxi-j*!qhy^i)&SZ;F3A*RYnog@f7glTr7U@ z<}h$vQIQyypw}@0qqkeSLiK<>OWGs&p=Z(bl|;>u{ZAh_-(J^fKf4(=>=wILUn@0x zoEa6p{3QFh1{3o#;J6}T)zLKXGeEW`0hg~)K&w$-5htj@!|+fb$@Ia>O^t0IV59k7 zN}wHRQ2x&1mmuT1;EPmLoR{D5Q@u(a$h`O_|2J0)4HeaaLa=Md7VLnDis#@8RWMb^ zy-94)EVn;t{b)TqSHsH*er8_(GR1#3Q6%*&#`kc6Qm4TYAu!F^fs!$O+&Fybk(`-i z*SU#<_bn$%W-mjKVGIdd)h>2U-KRhGsoroI`T*F)1Kw?EXWr&%E`7V${@{s}quedi^Y zKH0Tr07@9POu9eur7xFlaCI@*RTIPaCSmfMt6scFABOjyU9*jx0>*(3TU(t^@aAu_8_}MZBgsu)P7pB>%MQ^pMxeM~@Ask^5K`V;cStb-vR3w<7)agz7uDFEq2e%!6k zqK!SPwUR4UruueW&vb5UakEP=+aT(aa6T3Ff?jo8A#CTi5oVW_bMVBsLHQsndL_GwkAP>vdvz{4C zSw#?!csM!_^~g!8Vg(St=Z-mvFGT}%5pW((o%pXtFBSmL?VBxRvsm#87J+Yz6?O2} zHh;YoEH-)X+9*_UnfWD`-0yE|Pi_ghjh3)LcXg5ilS0K5-{xfNK)%EggLGobdl5%T zTioUjQ{UbQs@1Dg3MB6C8$@9e?K1c$6V_k&F-gfvy3XEU9iVR6{jkqGlGb{$h(n2d zbEDQrP=L|&KMv^X#Z|>n%U#{-sB1AV>n^WNWtQ40JcL=*FL_xA(B0bW@L7#MCXE{A zZq^9(^K|wr6zhmmDvu+ptVk?>p#|s!Q60itQ6gSZv@~PPnvqY55u9d21I>|57T;m=^JNVR{}58^ zKzWboxQ?~t{;!K0*pg^8Bt*wdYc%^|^1{w>%|jdB#`ODzx&p(dSDovmhGmV*N6U+b z_(X;cXvbR*S!V~}0YDht{U3ig4))%V-K*MrF}{9v%zfa!jT~wY_Z$Jz%2B2(GhWr0^=qR$yY@9`(lzcc6M5r1Y`XEHs%Y8z z&^zSg^_4r*52*gY4r=FV@I1px0r`c(ceqKef3SO>P7-I56g?*;I=%D^uf8@_HRm+H zCeRQfRfW$ARJ!;y#i_L~|Fo7%-4@ZhFV9(!_!_EV`c^V;)&F6iTFuYKkIPT0@G@*X zO%3^d@B6|vR#HJtiKPPiby)?z!EcN!ex~!pxfs17#ybz_a(@z`7F!Zyc3C=;`k#V1Kc?C#aQHv)<10Y zXgSNhoUir@!%;DCemq-xXibj}e3#YzGu+Ah24yAJ1Zgt%Ih0VwWUWv8F{qazi83@RACWUQkv}1rf8*pdNSl3gNj}q*E)!d0#(IC_LqdJcK`m2YTH?=_8*sSK z&mi~KbEXJl|D+`u_loKy$wtNNF4DMiZs)a&06%-=bP|ZgoE% z*ft!1>&f(r`vY{1Ybn>R@Z8KiDZ^8hN7`*T z;PsV;(`jE8@Qf0`!h&3+vjOb~^$c5wQYs7=;bOHQ6f z8}*Zh@9_@wwD*3o9`m(4qWn^o&$t*dl8^ua30)U{R#m568s{3Kj$oc)9aDT zje2ga!1v=>-i4(MmbW>cri;zYMcUVBnQ4fy*OdLhNirvC&z|=UMq?~~(V*^uxSeZ? za;;A23y@gPf4KkUx#9?gk8m^;a~mEjsk*1*xL$QtB`fZRi;z98$qZQiD^r`B`$`Xl zaw=NON`3N3Nlz}%d>t&#F+pN}6BCY~B{g*5hTh&5_?)eAp^ z@nzQD)WwUxbT8Sw6fF!pv9M4#Et`eZk6S(ieN7A^-sD z&%e35dMCUG06tKD5BM)V*J9fIS5i?}hL>$6tDx0a%N=#HOsFUKvN~koN;oM})rz6I zs-X@LoG|9G?i367unSjjM6H}Phq?!TuN8Ge{s0TQjogi z=Usf)AriY|DYx?MAeZBj@g^|oFr^L_=M@e7aDaX2AEx~*$=mB&Pv#uMGk=^fb#V*J zkT%w9P|-&rEIC1OHlfa?CNNhL%NirG@h>B$cu$Z&(PhmO4Bv+D6f&G|k^d#DbFNDA zExW7VhHPQ;n?;OY-Cg|$004Ly0DyRy;yj>Xn*h&}e+6v@vUD8s{`V1KwYbkaJzu7L zTGl~2^Jf&_sGs5m`?$XM^7F(nJ+c;-+Ja~kNINDBl?@UMxP08gs$_OHDkHbKn985K zcfk+B#Mb{RBzO-b`2X%}=9DB}h!Xr6GBT51vmP6$CQ-@_IA2|kAWNEbsgAd=OPz?*vfnad-#OZ-M`x zk=;9HrsloyZ(YS(TuhJbC(d*_ybX1j-lExi=u4Be3m2dB>2X%!gSCBKqQGqP;;-AH zJa%!*u_xL~421%gW)Xocg*GT1n}XI~-VR^ge?Jy_F=kF=*S<0o_HbL;kM5ov?9||J zDRC*}r+nN}q46SgLa7^pbxYD!qB{)7~TT zd+cf`JDzAiBgw}FBK%FCnbQ%7KgXSS>PO#Ty_&M zF*py+ckcuqei;BhRNPMt&Lg|~d&wJ%{`}GYTa5OR8F;t5eizF4>B!#uR9b|z*3D^n zwjB89ymmdcei>;R+k80|^&3*zktm;OYBNW0)X$ze2z_z5I4`+Mi=4Lsz^}ujvij^+ zAlbX5i7xzNkW*B`HW@|#mu!)|ASn19AmJm=C**Nf~`XjpcxGgA`C4%wwn&n#(W|vf!MeWHN|4m+CJp{n$o>vJy&UW9Cq^Pk{Bcz9y!sny^%P;Tc@CTD;hE9^7amsp_< z9Wclq)TnKf-pZ1F*+PuKy&*YuHb0|r_tpcL zdX(i!MiNr(lM=Io$hq#)(Z73bad2kKhiqLu?+MA!Oc{IH#k1IpV$lATh^&YMCxV&P!FC#>*K`!^0$B14UxhG;O;$EPvea0@@HB-7FR%ctf zdMYGHA;sA*aQo&Zhn+oi)E=2 zed$$<>}4cKds0|Sz-kBbk_CJUf-YmBSy7tsMx2tYi}OL(LX|YoJULk+?#Z;bOYhW* zGvymC@;)w%D|No+OU0Fg_I+)%<`C-CoA!h<6sJz#;8Nqp&%lL#r*a#e;au?_b`Ay> z1+}*U06zWZ-_O6lSjlcU$g-ZVF;5Gb3GS0M{ct^be|c0MDvcKUWGBTaeVOs9Fr35P zI)=~bsU;c0DkjRLQMP&gwV>DH=&DaG;mTY|m4@ov`1-5B&jvWYG$RiD%yq=>N@q$j zatCP!k;k7zRRlvxi5b2Q_tPw~S|IA394%uWA@f1Kw1Bei2^WX^ zN+l3g)L>Xt0b5+xm(MkoG3u0Eip#ll*HhLtPA>=ighgYm0Qp3w!cofEs9 z-OFO0wdyFI@E?l$x};1J(xPe0i&NQ3M_S}>3Q79n@hW3A9ksIzB-&7#$dem4QSv7! zOy|Y)_8ESX_OiNmxU967ls5*{Uzd?0=~WLxFSTpRmq=pEWCqGZE4*-}aru5P(Dn|P ze5;j5fd1b6|1DL_ML}(GF>szu?-#4PPeU6NpFOQ*^DkEI2 zsVloOi;7%6B_G=@Yq@%DcN_|VvTe6oWWZwXX*^KM30B4Yy)`b?7j{Ahy{t=;XC*~-Q&^^rLIxzS*Vqt zQf`MF*BsZE%bQAbltG^)wqzZZw9-iQ;$zi|5P9OG`6UM{jSPLtBXGxyg zta3ORkGHIpMpBQZG6RbS1Dl4#aPXipZnW+EGA&LE9su41-+}MIB**!7#pFz&JBWT+ z2rt>1pMy^U0Ki890O0)qg-y<5?AwbDKKg8VnPR$!%r7eVO%>7`@}8?~qfkDVbMZW_AF(xYT(_l@i0Dm z>auLy8uv#45Kg1_28|9PTTMk1n#Qsil|Wm@7MKgN?LFSzG-<2P_7ouu79 ztJG!a_OvS9E_mcCMisaWl*oN`!+zfe^KHJC%1#!lf2$i;(f5{F8!gl>dq4HcnhB!D zJK#HT$Lu^>hWp{S0f0J*emDF(;u5+QILFh>860JQuzE*N&k&b8+2N|!$J)VxmF4vBEg@Juu70mIg$6*DZqEvQ`KxODDMY)=%LWi=}*}B1Fdvw~VE- za{i0Lp6zls0Q@f8H;;>rA zDBOZipH#sahNm@Jm`$oAvN(JxImeaKGkaO*UFNdI6{h>0H~x*N;-L>MZTphe{+#%W ztVt*wv`I9j9%iP6U1*_~;5@Y`u{25roojbKYfIjn2aPFPKTKf>;12kGHc{(<&$q)@ zQOHN&7f{F(@Q=m!-v|GOgxv$*0DuFyNEge#q1rc>IFin&^L>A7ikggYNu_(>8#d#|Ikz7` zn?JafgiNWKTHNV4t>=)q*o0>KW%i3Jm9-G}Y#)%3qG^3l_AEbVOV6J!l+VCn4>0zw z3+Y;qQdfb4q7)p}G_aW?obtN!jW(W9Ls4xnfMo-<{&O9wX($7UD~Aom-?7xOy5j3r z3a{&Dl0GTEl51b4%+U)^r-G1qjk+2;W!1H_6lDC%XzmT3zG?x{`@F)%u+XLvygN`n zn;b4>jVa@MjbyRKsrQs`Vg&&?x7t~!PbG+^lGISvQGh^Asnyv!3;^(^!f7K6DCG2HCYl(`=hN6%Ci319;vQ%tx|VX(h{f15ufAGXPxVEPtvpN_S<5?4}tkhMLlw&g6*=9coHp1-c^`hl?Ch_^;r=KBX=O z7PWF+*%F3ANe#OV;bt$%sR)qgrK67{T^i2IL8ROMsn%)E_dDX zxt{70hYaIQ1a-Q$D7Qb8>rvM&sbM)qt@iR~K`t}DFP}D}5H62qd&5zyE)`EN9Cr{> z<0+6s@#M*W3VX<+edq?JUahFt%M+^YB+7jhgciZ$m5a;Mi1rUIZ4gVq^%AaR2HXz6 z55EuJDGvMmCW^5*782H5+6!GP=C+K1s=i+cUu+WB=<>hNUCK!3aMc_<*85Tn8bK1s6GVaUz z5GbWM)W%>w4QDcx_u5^E8$T=?otB(Sw-oc?j>9*EQY%}M+RUdj5K`$8t+<7(#2n_{ zd?aU2)nX+Ib9G2rnQG0Z0g$?pv!nETuDp8KEa5F_R-Q4V962g&*KuXy+P2)(R_Za5 zc}2Hu!Y&&y6>Vk)g!k~-JG{F9+6#4dhq_IuLW0FP1{jQcZJ6nbCU`+PknX;POlL@t z{L9_7nqNGd$LaKPl)^hKwWwD#_UmGD^mg@$l1tSPdtoXwz}m7*m*tdnu|D#0vfK{n zKIDn?v(JqP`3Wu8zE2#dG8u89ws&CbI!SQ81yHa#wd|&L5M4VM_y|ewaWVTR007{V z^W852zRCE~ zgL2`6YmB$SBvvE&mtEAXnk<_o*$stUro_BW(oii_aE*Mb4)aE}_iFn$xal~i63WZU{geWSraNH( z?pz#z>|(%%Pr|=|&(1QN37&+X74JBB8~mqTeg|-I+SqMX>9kZcmsnKmo>M#|332-D z81(0iL9FX-D;!x!(3)$u9Q6X6Zj&W|#o9oo0Amw0uzBSW?^cMcLbe0y5Mg8%$OVnG zvei#`+OSR!YU(idKhoC|+h6$lF@2xXis{V*SXNa$u=XT_`mL$!QrSDbD6F zagDr66u0kEhq!VO_j#s$9Fq5{({VJxK5uof4=AM;_0ERP8q$xMyx8{uCvx_DnDFk* zR(`ANbV?ZkVdSd%Qo6LXAV)#IjrJ?GSnP>pIT@B}(p}}_*yxe=SNF?a)%E6fAct=c z-zoy$Ts_7N&bvW^e*sW2IDl9hi@}*r+WBpmsyr!#`41H+G@VM#knZweJPxVVPF!C&^Y`{SrsrGB6$ z%%AZEz{yl}g_rY8$7sR_dQDzy9@S(=>9 zFtk0QlYoTUGfhL8E>Nucakei5N!okprMy=;I2K!$DuIVW5^Zo9CFKuIsRhMNl0ycr zM-JjWttFs30;;i23#(1|_R06$f_5;_j^Syi!3fzd_YzZ4PfWQq6yJgW!WMe5zxj8t z*wB0gB)G7+m7O9uQ#=9V&O-CvVuM$p{M z@CuxX9#E;c=C0LXy_+-T7j-aby_*rSZJ2CR18O+0BIaRjw3D-xv1%w$(tfI>7c9;( zfW`=5J>B|g4&xVfobbQJ-EB+x?N5`Yc95W)1n~kqF)_5|tn!f&CXISel4pyYGL^*3 zi0az&%)?S+nGMWu)cb|0x{_$a8{})fp{7eJKK&&fDeEW6D&?t{YqJD+nTizy$~xDS zq4n1!GTxnGO6$5cxPDyU)iL-o_?7}Rcbc~}dib&ns)%Rdn*eZb7jj?m^kD#~?Qebw z0AO|x{V9~z1pxS&-5r+POf1jO&37LG>Q(Il0QepF1}2eoemhj5vP{|9_~9fOoNNa) zb6pJlhnFr4c$=G1eVZ}cT~3|X`<934C})9+q6sZ}%LNQ;iPI|;uE!5;SEi1OB@Dl# zt0>X1?3_qR(PhoBql>cS8^l!Q?WVft%NwPMNr_Wsni)bY^Wu9UBMp(h@>+XiNdyVS%afOK87~6yqlPzT=|*imgV*mZx*z7)8fNF< zK$uh>6uDgi7E4jL5AOnm^AxGMG2s|1+s3gXg&ilL1%xi`dntcfTQrri%xD8^6SGd5 z9ggP1y)0c`xX2#qONwBSHGrjZVJhMD#C3a-pmkUzZ+j!vLed5wUd zedJ#Go-iZuTfmMSYl_g=HT#0=OHYY_iZZw;@*XyKU)Fj+Y1ZlEHo!d@w^%)bJ%@ne z($ulaoN$Q}Lr;!wOIhl6OJ@Z;oQL2yzysRZHvrGVPXWNw@DJ5A$}@KEg9HhFr!FN2 za(n7Mjvtv^8&J-Ex1853KepFO_t;KUwlD)r4T*AP?d91vaTYJRga8-od^PaRSbRIO zEptGYxJT%hoaW-Q->a!2E|cr?X3T?7wbQaV-3*;hS_(o-_SoZ8hgWJPl1}VVsVE)& z=|Aw(I((BE&U&d!YD!<*ikkWV2%y=fak=8~@-5qHyNI6WD7$67_BED0ls~7I!&>{! z*QwqMDbD85Hnrn77a^o{)`qO!v^?iOQK_4o<=@lnaQK~%dM6bxu$TXf{xDU$;&$!v zzCE4N=>%K8!7Y(gIwg5QO({cZg3DHyZdsh>wyqi0RM2Or!g+ZH-)`kE-l^s!gZ-c_ zc5;tc7ft-*UIh`uP!NBNgRRVpd8bQtDp7;~R-ob7o4h#TKd^W?3q@RgIY~b#+9W0c zM?WsMG-=g6qgE%tyZ(UwC^JIk7@TU3_92v(GdQn-NkWqo*>Rw1>v~Dbm%Ci-5$8c`wO>x++}?QEXRC)gL%F< z7?{-4J_-QY?Q;n~U0nYRXz)*WS061xUxvvo^#DoQ*OXWtp3ZciUha>Sah90Y=6?3!J;WE_iA;2jB2<(<;d`2f#w9*XfxU}Y&r)rLfe(cYQaQf$L*PijPMw{ppj zCWRqudy#&VIaZLROKommv{KtwazL|Mo+UY{LjEtUCX|!JINK#oorx$W^4o>JO`UpU zsD3i!7PObP8WY6Xw~;M?lIHxitf9ebf0XtvZ21QyL1`{8B#8D{G;Hw!kB3kZ?&Id63|?T?zU^r|TqDX1mho%*D^3MWUhYuAd?{H$ zZ&c10xDOrI60|*VIjG!)WwF?tbMF`&y+Rvx0~s~k?tUWAc!d^RTRt6$p_U9@`Rxt9 z7rNz0cfs!!zIWcXyDA+FOz;r^_;~=Byr*$cN^)K(uAfCu7dg()lN26;|Ac8LE$-@i z;vU4iX;GHQsMpc{u#1OZ)!2|D@#@HYw|+}Yae42E>mMa!Tt1T*^xSxw?QMYJbCx zCYl?b$;y0|@0_{?doW9IO3OH(9OOv2=IpaHkC2ib91rwenfYpwJfT#B#n~LBrCA34 zQ?m^JQb5h8%iYt(nRfy10qX-q87>^lYw9P*D3_si-6Zz|bg~DarKGw0SV4W4v`o7` z-J@hs7o|LDIWP#R*CoixeVknezT@^oDXV9($lQlcmQYd|6#vQBBser?S^p$F)6%GG z%kSgzZ_~Y2p2nFv(pZ*NalCcVnM?ECQvh%g?wtev697C20FzYZT~*{?Krc@Rd6sNV zDarW?002A>0E@C(e)>;~cputbod*Rm%X_1>|0zpMYHDDaC6i0NlstmbT8h_9y<#6w*(UV3HGoh8Y5(t6T42P45mD7X=3O46V`TK58c_!b~;=fo+*~u zD2=K1Dt+incyEu8)E+FhOqODBqqKKZfFG5Z+7d%;kNW;{m@ojq-2j#C%Wv+k{yhN5 zRydOl&cwJ#@|&MP?_40M{NnEFOaa8V8>xx1aHAE(7oR?8YXgPGmIr-+(F58G7anh2nEFD`vTDplPQ_Ys8 z^MdMobzY$D0|3;$fkta?*3A7kx#lljCd_p`U%=W02$u_$*xPgZF3)BAfwmhT#!HrYNr|-;!!cCS3|5EB zObRdOu2toz;vDJ8;Zbc{D9Gt^-b__k=s+l+x1>h*$_IcR&uYqUR7+X5gn?Ot=;ti+ zWfSB}%qx~BH7l=Dx<+>dx2BG*q{Nq>qYJuX8??Po?4$1Dv4wysUzaGehx>pw+U&bD z6{X$`zXt#S_me|DDSQh4ITQL+CA&F>bOlrU)C)x77iOQ3r;s{AE&$e0X99lTVqeRNdjGHs{GN4K?w>wkP$JA5c)2JW|>5ve#2O!YTqVpIICqPg{!| zYUpkYn>P4(JS-qj>e~xlIBL#X$AwjnML8|6E&D{>+j+T}vi}R_M`Tl=?Qo0?&aH48 z+%Z$)_hv6@HiHB3&jBl^Jq4xu*&zVS-~eK9rqgk#!^;|jgIkZ=882s0 z+8a3On!W?hKiQoSqpMc{(4A<>21iy<^Ts3AA0C;Fru;~y7sExs%f`9BQcGFVBzrF6 z-VhvNUqsd%tp7LZ;9y-wt?atjJz=?KWd2xwrPti2@sWhL32j)4CcF>M$v^6v9m&+u zT8z?_RfD9t^B_HuElG~l^tisx($V8aMo)u(lXo$YEweQ(i($9DVbDiEf5v*Fj!)lT z$DZgC!WI_4{u%@T9uT(Fuxd~=a2St0;^m|%5F78%K+B~^S zi~|0A%K~X`{|2gM{E%ux`!Wx0nIN^~8u^WH%9Is*=(59FZ1B72+FP6;pO%VOzgPnv zifU?r`#CUIdnPT{_r>50%g-M|g1g{c8sGrFv9rSg0C;=#!beCFrE*$rdqdfqNn!1I zlE!o(D7MG>6?hN)2f5aGGo!q!XI2mO>g6F;Dy6JFGY@l;3;^4?D!rD0H|pi$84DJ? z9Hupsmdearo)?Qp`HolL(My42YTpkWkF!=w`kX{ukIXZjy|w2{ z&I)M+2o`5Uuog&sXRhy(G8oD!eSmT(a7!hx@V~ES{4$r<`n6aAJXyDjb_a1Pp_42P zk&ln$*-5U1k_RkGueFSgCWWB1(NzdIB_7XbQF3IVDJDvLWNrPiPw4O6WAiDN_LU&t z_k1AR-WWhymKAxQf^Weocne&F+79Qd@E!nIoB;d+d;$RYlWb%-oPQ^W13v+o&3OjJ z{Pg_$i||1J_!W4UBw>+vSh+E7x1+plwdT4amgeQ>$gz(q*$>zf9!}SN33FMU@P`>t zSq4kTx}=L2DUpVp9GjvY|JUiyEkQUjTqF!;3}um-IAbYpz!7Fuy#(*Qv^KX(^Y_@wJb7)+nhICVl@GFawZ{9RQ<`b#eU{C|Kqz!mTZa2CEbN13c}9)Yi! zB%R*V+P_@C>I>@y_m3_XXujQ7s1`utH?<18n;kNAZ7Ryrv5SOA;_$<7XEV0va<8;K_M zJ*lHm6U(|sr~_|ZRo17rwjh>Gp6?3nQ)D#xMwA94vlT$f-eXalXL0ZMa3Coqp}nNi zXuWPIJ;NH_~3}2o(&gm(;A6-t#ddqP1tou)k+=y!nO@cCr zPq1e=?4)5Z(vV9f?J_2iDK?MH-2h7i4AcL7HUCGw%2OKtxhPE-;Hq>L4CyMkYWFt) z!1n;)d+mM2F;tB4JBDO zk@5wLvmw-KWV*^({g$SrWqqc~p~5e#F|>Z}e2We{6+HA43;^e6XR$BCd3bsLKf%jI z*q|{w^kdGcJZN+r%uj7ya=yKIh9`@j?H!;2U}9y4G|6tV^k!mkUYw)7I59hm6joCR zpi4AOdVj6ktaK0GZu6tnL67Rki5|(4X0bP6}|J0Dxgg5{>E>9E7J+ zm}H!*u|0GNR=1ESiK8wDY!<|0I1Aua-oWZ7OKFCs+`c)DUu-XP2QzPEYZK9ko11z0 z_NB@|+*swF2;;w6C`&4dQu|6Op29qs9rYH}kX4_!C)|9Q035ShDSM_*x!l>fX-6%I zVW|3>ya~&%akyDb*m4-zO#!Z_=}JztCZh8RtL14;EhcAhKcNzw0ptx~QbWl_w4{{A zvo6{jQqDk9(zkIqM=Mksb3PyQ?|MIt*v|WsFs8ek!vz~+6IpUTy~I3PI|RO z1z^$vHdF@EVmeLM;MkbM*7@w_k5r3{_gLX^Wz>S+Uf0RSe6&Gh@? z?ryoxDr+xJG)Z5CAB4XTU-WB4Q|SgTYmw=~*OBWL$$YCWp|k@^)kQS>E2|}?amduQ z-EvI;&u%eas^X3B&2pMWF%7D_({t3xGUsXl_;Yy89QLR1dI0z%p>SUXfcF6az|R8! zz|W!Q7XY9>;1i%!MdOvyBrBbtDXu>a0H1)Lr)oX6#X1Ju=1E@>S*ps$nH6Ppx@*#7&E7ySzaU+^2<2`yqktvPbbMY} zdc)2!%-WNJ6v;(YCA7lyjLpDR9Su zIz505?uC#vJ12FOfSm>4>ykdShh?1`c@;7DodMNRcFy24&zB|3vb2m>T;nBWqjCpA zI#&7lFz)Gg+|sKS)x8zvCD*PE-Y1Y!vW(=)Is-t+G;4&@BA#C$#_0tc}|Uw zEx$ayII8-}=xKv8-J0%+3Bh$Y z^QF#Z+(reCTRK~1EmY4qhQ`7lOpqY`%>)V359yh;)xa)0O;=Zl!##+lMylDu@@=ZJ zX4g?;?eZI&si^@pB$C*&)QjrfGf5rIkGBhBjKj|-NSsoc2YD6LH8#cDCT#giCA#i5 zH}Y6oAGf#CkGcNK<=5ViZNwB{`?0sDF(uIFd~PJMWw3hv=nNCyrFGX@hnAhbEvICE zb7&7U+nr}by>w`Q!_Rc~wu<+ip0dxe+6xkhk#u`V{7|82_$IYZTASGch{rC|J)4$Wm0!PAY%<|n`T)!JVdjj2G*j-V^ zKR#8Cv4Ts(6lH%j;vw32aih25k0k*F|vn6-6KLmT(hq&7`L4x}HCW?yD3 zueOllFePYVa;zs}>v+EuR*&_uvKoWMY-e$_83~KwS^C?oL#wTym*)NNdgewayXEVj zff}xw)b#ymZCc~gmGWSQjk|{Oq~_hR7wUIjmEmysSXx+}iNS%A#qrQcW;Sg}T3x$3 zHR&_1(0}>g!pvBV&JQI>Kb%wrSq`q{AQlLWhF@>=5XJVm!+z_c|#>3kl3E-XJ70EFx?PfnSQ&k)%`*0ZFU>u zTIbZXevEqCIyu&+M*K{w>m9G`#ce{k8(0gKy_)70keXeV#)Y=2ENdoMyvsR8UEbsl zp7NiM<99MFg$gE=*_l9gAb?#7)c3zO{{j5EUZTX%n{%02yA764$H6IJ7Yn*^CF_LY z3-E>Xh1mf#%Ksbo^Y)Lw1gl zgnpI#wq&SG4fjjqP0pZLs+mR&i*7b>x#D}?-M8SQ`tx+WD`9 z+l%W5t0%t*0RNxj{z>%a3-j+`@jt^Mau;1+e?=hAh27ODPYG={Fox8$2Cg+cMki+e|VS3B&;%NVD_d&`>%)ylqzaQq^WmS|s zY8j3u&7se-6bC@8nx}#_Db`aR?^ubn=akbZdM$LmIRE}of;35T{( zwl^dsEnFwvXme@ep}*zA+Rn|A-;Bl+rSF6kXG6%lJ(5F8>aMr#_)HARxX&fa|H}|x z#*>r6fuxpeqV0h$J0C(>U*5@SUalV3(wmn7A5r-0FrCT%AK~HjuvBu(ku?q9%ttUR zJ64L@Wh}EP!xyL>NK^P5^Y7oEfB%o7Hb1ISMRK4zkREFvS&Gw^Qm*sJyH~Q4PWj+G zxn6RZ=Wsgoe#g+{cFHZ+xpld?o!SI|^~>a*`7q#~nOt#~n0U99^qeE&ez$za1Ml)w z+MCTgvD%5^{E77}CHb1z&ZJvtCxKr-fOCS(xvF2DBsC2_l}$bTf)3l?Wn z-~^o9InQNC5|?K3XQ%DMly;wU=1gbz5>8hoDHja9c$bCqfLWUbXy~s&&E`A;01pGe zf3!ZRyz*J=+O<~Iu#~Jc+U+>TiEW{*3&-{VQfFJ>|C)clSjGK&0Pz2=bJWht@GNLr z)V6H)p;qyus+OGiUuQsdbtP@VqNUig`LKMF1~x5DH5JDcNB?pf&H`7XNdJ#eq(24# zfIF(NX%pe!79l?epV?jiEC2xf#C(@o6kb)WWOlf#Nm=cA0QgA&0C+Z6m0tjHGs!^u zYptv(sm^F;W)0#KU}ECsC-cs-455p%k^IkZ;L{+uRPi0BPE;;iSj8MnSG)d$@&u=W z83z5-kz~v}+Bap1k(74BBh21-sb{Xd4Z~KUZb`&awy4A6O+%h?a?ho+g{(xzrL@aY zV$e->Nu5=&wyt2weF2%xqD$dXj7vjFF}1G~&*oUlY#d9;_cpx2$CTj!4q%+OD=-Vg zDWTb?%J6h4V`}s~g4T^1?KCe={cv=qsw=S7by^|t3QQmhExpEtU<)Y)K_;J9QgRan zqOO{*7w-y+YLIy6(6Zv%qt)HR3DQG6^(c)z>Jysin0uGDK%Kh)rJLvlIb}3iL2Y^R zgDCum=fA&=d#GL$nJPYovF2{HA?SH}#-Wt1v$HqM3@hkex)+cg3@oSM+%W&%gr48u zStkx{MKw9b(+Sd3>4MdgvT~1C-H~ZkrDdoBuF*21py0C>*E=B?wL06i&+%=CA6h@> zl%*tR1HKXC8M}6hmOBLH+f1DeF!A_4%$1u`MDMp=%GY_;Eh;1=8HWq1Ui?agb7E0a zg@ra1EZ-?9wSpH*H(fC@Rb|&}&G#<8mCb%TuAWz{^Nqm$ytOUbQ|Nu)aazy1V!Yas z?eugylNZ36C4j&dkoV=n)%mTmHb~q@(nlPS^9I3j^m*eR<3mgGeVVdnIUT8SA4w%O z>uArO({UgzmN*ms?Y0J&KT94aho+z{AhrX!2DTLr)_`X|W}D6otH(=9JY#dMBl$NK z*AG-rK9n?XYR}KVFPJ$T3fD3|O)1|>D`Wd6$@432e{XN$a$y%E_OYNX2khZ{Jwj;Ax{azMb!~-UZA-WIrutou8VYb0e(N?pXe!?H+T7c>wn@topZvAj zYgm~dN`k)k}I#bq?cM|M{aN)wSjjoF`a zc`DZ@#4;9B_eq9B*%+_$0U!QI628w`%i+GFwIA(`I-9c<=$+Nyoy&gA^vz>pap)ea zSR&aq^lQ7z%Hy+4*r5^TJtgP4IsIq6?J6(T^nQsYJRD8+ev5My`f+V|zMy9jz}@%A zYq+q{{&v`%SniKLTK2S?JV&`V?u7d48$38&kw+{~C}B4Cu-{ZbEo)+MG z@yx1QX5pj9tpcU3t1q>k;nKtWINC|t>eK6+5{T&~QhT${f-s|OeeC8sXAV8M_E6B~ z_rn&a7aEoHc?%BNP%pcUwN2o$4l$QQ0_+sI*Tq4ZE@wzBX%TC-JOZ3YzY{#VyZRbT z);Iu=9@5HL-Y4U!Y@lA(*yEye`Onh&%Z1I&i@Pw+Hs{6S9bjYd@OR-yExQ_OfN$CD z=pgBYFa2d3)Ji3r^iC~NkCZ{_wcEL#;M^R@_DXe$iV-_qV*8s3{x<+z2LJ#!7XM2) zS6n~Jr0@g)e13QLQ%sD>w&sutqt{%l#iHjY0pO?L+1cp;p@VFz#J9F(p_P>PaSm2~ zN*dJgyw)zKI`h(fsc9~0r}Mh$D0kV;(+{cnOVMf>Da9EaPvn?#%9b&C?o+}XFwPDg zcCBai9?LmKo`qy5-r3zUO-Hg(lN?bG%r`6n09@R;Czkq|Y6Vf}CRq$~q1Bz{u7g_a z*p7u|7a&aObqh@Gd&<9Aw#DM?!AyS?YsbwEwN+S)qh%bIcX+}%I{}a^Wpu{}lH+Ra zts~*u2dlZVR~ZOao&W%V07*naR3*~gK}cD3~u~ zu~#w9i0$0K$W8zDNOk4Dby_|7{!oCf3ZzJJJhPiB!&qk%;#2V?y-Z)TQOy_se8IJ~ z^J@xdF6ou(I#sz8%K4A&q$!L>igvktG%(88O1i)W*)+TeP&&27oy0P$w6Qm#Emw>)nP}WcH zuUgOdee~OhU~3+XQ#HAQnKl*F>JCAvE0({CmVoJm3LIyUiJ=ifI8nZHXZ*rcfT ze9G21GPazKv)J@J*Fq(Zv;wj5NE7-kzr^JG61SPfrszAfhFFkJqZqmk}w|r1DIrF05$2Og=})I^cJ#Nt6k~qgRZ|&mm)|^+CVy&>9!!wl2F;bK z>0!5s+_IEZIW2+SZH$d{0BCvtH_2N+!kLG*?p(87fK5}|!?p4%pC(6K&v>g-l6r7A z+ut!>ILgo+c4Yx_wUXzJOxW${{$8`>7nm^H)c_>S=xA)u#5jp85LWpXd3$fz(7C0V-m{hp*6Qn<)flZzq;4ArKU?Gta;n>wWPg) z?@tAjL+qVAL#4eR+u+F)x2c2Gp#98c(PFheTLIgJh6ly5(6d6|d#*KZv=(=?_nL)% ztK4h<8!f(8>ZyaZT{I>L7N;NCfx<7&oKp)Le616kzK@nu6((+XZQCX_EGa3Vl;QZ) z)E-lwzm3)mw@7l7)RN+~f6CdUsQktg0&K_+Duww`t_V_1c;>rx4_8aE4zp=$El*k( z6u51my-FP!w)7jL7iJlbgg3LH=Y-fF>aO8ovfU5J_N7>#ggnw3jD@$@H6XW%yb~vZ=0#~&b!pg1N1A0HA%TPXFsFi%yEE=}(sa7mY zB{`0^_@{G#yx{k=Ut&_SnNw}llqK-V=&V_zjIVEX?UthEf?qFvnU}9GYwTQ4P1$@k z=6uH}P`1UEf%5qQm#aQvY;{leeU5t8NZ@Oh8sbvQ>l=q4w}5y2_o$)C(qPBwGcIL8 z%|-{5oIP7dVoKprtpm6dX(dk@)aOZgqPx!%4ECZjxZ;&z*aHpY;Yo4w;qj0o(_`@j z!=!Q^&I7>9z&)W?3t(?h4*|e$!rNLL1oIJM&b%SEu}Lrn^KkqP}< z}2ktezTPu}y`{OqbWfp*5bR8!gy z2Y_qg&*3!yF!@gd0Qj>a!p+6??QF6K008ix0RZ4#MffKG0N|e#Azy=jmgB~rgA)uFA^SqAJ^yfifV4Bnx%i`cFP#-W z0;Gdn4_ZHd^hmMg@#^tDx1^B_zg1jLWoUB8*JIGqXHROo&I5;Nuf;dxjtmr9wBb2Vnm~?cFJT;`=jzcj; z`7fH_r>?9eqP#F_mKNZBmT@6R#@#5SQpdvn+UmJ1mx%g%D?LNXUf^&ZY%3K{j*Rr= z_Abd8*o4Y1k^Bm`b5id^S=ZXWPMs5%yGP9e)XfJFa^!P^1SB?FbnI?Gw#%{c0b9Z) z?beh#I=Z5ow&O!pX@p%jpKT3?+;i$r4btLM4H9rt9IYliU929ty!=ZnkGAFU*<-MGz zRzI!;x)K(x4@q<+eR9PaK(urWv>pQ~JyDPTl*{gyg0;uvXd#b=ImF`?&3jBH7w0&v zaC*)z>VL}Sy8lX^D3sM+EHxT#QjE=FaBuGD&x;{#@ z&+5QY#V5>9Mob^o^-|LJwVHI&T`Y!AQLikkP{P;jBJ&Drx0>b3N^0*^<2{`qO^kFjv8?=^>kcx#QRIuciF zdufm3siTh>H=eC2X;jOl;=Tb~TKFprVt#GCNZ#-SHs`Vo@^h;_J^i@fWM5wm&>m6L ztH(>2pXCues%eWJ{#uLYeS`1sE9lYdA+4Xy>9-H+adWVO9qWGaRf@^lf7B-9{Q#ez zTmq#;Vy)}psMi(enBy|}t+&T{C_#eswgl+`x~!2(CYRGAr_dLynO1CC9>&GvhM+{v z;lPijALArRazDY85nGR?j%T6TIOM9gw4QC3%(a8u+Y?ct_J zh}^>P3n}>6GvAny>L#rYboSY71HG=EO%)qCm((7s7rzflf7wPe75rbUrLXdV8JQvC z-+$cKwANB|SvV?pl9v4Vog$V7=M#vEYBgdB4u?dF(@GbvoZkI0E;XkVM`vGvecB@7 z`7xa?d@sfft+gc4`@=fEVg0zkwNUoXHehkQt=_PV6CX^%dvUjN+76M^awd+qA|NmMe$2 zo844rIWK-Oz~sj%s^u_=-Jwj*gK3iE&`AQ7NUNUJUS834of`Z3u#fy~mGw;cx6u8M zCP=_Zar6$}P!loDOYwQfWufw)x;0%D*=UZi_BiS2WJ-2jrJz>2hc3^*IV)W2`04K2 z`jyodNe)ABZM$gyd*3Y$ueTET4o~c(bgvfu*y>dcw@I$CEyd9_2<)wr#KhP81SGjN zq>@?t@O;Un*+lL?v|sNVtlrDjxu*PFJEtr}&qd0Ofwl4o+iu6{G+OF!{Kki$_S&f6 zrGoR1F5i-AVa-8XdTr|~g-<%yH}B1{!=u^?7(`DZ*-uG=#T(Vu2*p+HnZ#^S z43&eUAsy*l9TWL)E(8_S%(8&nkJ^k;7)~`A^JwSHh23}$E;MO8kTwR-?K~IWBomulj8{Wr9QoOc3sl! zCQCr19t1g|HYXe{2jDLM)&A8=*}88?X>xKrnuanixY=JbJ_4n7)Ga#mA*LzA3;*Yak2sg zapXEqA9{bc=ar6`uC2}}JWD8TA@Lzro7HKros;x00QViGZ+rUBw*A>RZ`!OK+mA^P zg@&5rymCn#V`lxP0A`2SzUQTG9YXt=r{8rcagO4A;!{V{;*4f&o2A^sc1BA=>|W1(q@qqBZxopkokVk$A)R4*C$(j+FH6_!X|CbSPP zd-ydZPkRlwM+hn1xMOf^_s|}EPj&a1`S+lHT)Agq%eY;@#x8A2*FZM`b zteE_%Km5DB4yMNhVT;oZgBmW|Xw>g==Vw!0X8s)9wzHwN(|F4iH7#T-KiT$Vddj3Q z+2Ult_BZ%`vBP)K|M{|`s~`9NBOC2 zImw+@Pic~rR0Bc=WL`O>zjLhl8OnTFw>sBd$?RIcetR*g^c&NMO^Je!b{Z zd2>p3-%*DQY+1^*sS^vj_?EWlu)74hkhiyVa2e=#9N4sZR?MO{pC&)9XwB!lv0^=r zXit(T%hO_^9ih%ekQdMka0_XEF^}1#BXBt!7}P6FH%!SvjRj^pnKEqOnHWr-nc!JL z&QS@aBYnp<{Krhokr)r>d*n=!0@pkAS#%+3paVtWtWU^UKlAB;TB)_Zi^Zv;T9&)^ zx*(RurlNnO>3;XF6f$LhXar})w36k=Q93qn%oUE zI*g`GE_MQ@H9dW>j$Ml5>uanU2TT~f>wx|NCSs4qw?l2DMLmrd?cdu~pXU?rZa_QY z6F+C&McbpZ9c`td`ib6aWfeF_4{XtuUuTcw)sbgQY}1QVodMx}oJJW-Qu6W-P|cpC zU44wJg;ow(iOuT4e!C#wQ?6gusXn{H_IG>AZl)7b90v@^QhLIUY8Q|lNcxuhLm&{@-o!wYB>}H$I%&n0|0&#-sV$l(ROHg*Q1si7mnqT z@)UBM5~vgDCB}=@T@ERoM%S=Na?~E?m0?U%h1C~1`H)PFQgx9VF<9D$JKCyjPH@@!Sx7GoVerJhYQ91shmBeuOs(1?kCcUL`*Ns z(l~jDe8rVW zFPpS5kd)PuBTavdfnAyskXV_C(Rqx0_AmfEG%4Qrg!U3sR@#MlEIE7(s$8z&O91d9 z!_x3pIGMS55rupSeh>g^Tbu>{F8nC`omK@9uJi+N3m-YQr)S#Q|GK7mH*Ye)0K-1b zZ?p{p`q|X#$iN@Me}(!KoUEQEsd@hZ~*`So~cs# z3R|9+SSF{wKD5rnp|rr(hlB8|&zbex(ky5#PV~}BGx7W!GcK}K_L?v_}JXjJ098FWcKkQ5~rVo^MmzYyHKMduSdvUGJS0QwcsY%0(yj$6kf_JlI5*hq5{v_hj*?_DB&n`BM``#Ad@5LS&H|&a|n(U-i)= zDWCD@YuF9ry(3mz(8ettAGi&6aC^Fa z=Op?pN^ZTN%*hzRyvb<)!{uOs-~Zys#Yng z`Rb1q=Nx&op3l;z0y?H9Z*Z8Jw7#XK#-P*@w zfi3iZ)ndzpOR?>Z9+t(U4O~CrhASFU^()L?4IbY)GY8HA_ZHvO-^r?$=NQW|y3vOPJ^CnSz< z9O0M1obVUAULReKq*qv*$q{{Y#FV1nPM{6nGq zIiER}J4kOWEiL`hFBqoYt_3E=w8gg?53)zK@(Fet{kOR?(X#X4QC#u7SBGkfNLvA~ zh*x-N+oy(_Su(!`iC}SbcIP+k?0k77=Q-Ey2H%NA$F2=k z)VfqaO9hGFowIfeAW4lq~So02|1m&!=~d_0sp9)=CaO^(!6qQNSvy z@x7n#U$hTuw72Nwks0x_MMGgto;!|1p}Fs%PVaH9o|&|YGyM#EsOZT-cCa_SbgYm| zQ2)~Ka*(sbbJt1q!J1SG@Hxzn{FXS6q5Fx!0nb#zmyT1%l4&Z@7i%2z6c9h4HG88o zFZ|OV++F>xG}+?(utaR1+D~0iAA>^|4}8z7%i>7eY?`cub{Qe+HFi(rdka~No=up^ zX+7uqzUuDXDDLA%TCI#uR#roe$WuV-iN_CZEvBhBx!TCzey#6OwrK3DGwz}GJ9Wwe zea1rRrc#9B^U-?>uXrrI$)zpRMOtd=Jy}&ZIu?*hmqc3Blq}mqQZ)1^nbx#qnO)lf zvHp~^38}*rTO6CUxB3aD7C+~;t{y?op{(OJu9+#-csrXm)}vinZ7UoTge{H-6Q~`P z-(#W^%-)M>=BZ6BaOSvc>VSJ2=J{cULom)7xsiq{TxYu8&E5g7y)v*MU;#g0;EqSR7#MqtnG6 zkB}4@j=rZ)KQ52BYVvGTz2$RqTs_fVg!=lgH?B1+_!dBVn~|jmZjE-!1OMAXPoWHf zpT_l@_8X4TUN6x`-X6!B4;MR$*N(PBGZI&-b~?25(q3#GJ9VviI@qfLZLX_F6@hx8 z?q_$rHW{p~S6i3UKi5(sl|2K${6+;#5uO#u`1OwHOjSE-nqoMD}@z_}kSpANh>`Iq2J@TJ+!aDDoXY@Gv4jK2>606zqpR zuN6-}C}#On@Ej8=Ie*UQ;2c(=hqR8I1Lr}Q6Y+a=hOBM75|ajJCqd7-kjJoKNm8ZG zJ95J#=d!E?@l%qn(vg zI=biQbo=Nm+H?5Xl0O5C_UMFC<&Kj`j{lTSJdL<DegW^VggO4{nVz9_PGz z3Fp(~+(K(7>v+!Y*>O9etj3|p^=o^4ICiOnTE;2gPUvYFJ29~m^IY05kOb=b9+kas zW9{A3-4C=gblxqynefpB>Cst^^Kg1Ni6xU7(`q9x^mHJmJLQnL&IC=5?o3G`_zALNqdp+DSpemZNk69 z??X%P?j92<;?P{xBlpr)16r@eeT<*Ewf|hczVRk0s!=&!A|>^W z5{91Js5505Hs0YEZE4_cGPHh*yE7Pn+yIbECY7^giQh&#Dhe;2a89G?^ewbr%y#1DEOT80%oeTd-=VEtuuge=96-vSj zB3(2q97`ntKYs+>f6S~=&D?mM4KRvoKJrneBRo^q{RxlhdVE{6rgt{sMv*zTHEsER z7pZ=C1T@~xDnXjj!i&~b&(Z4%f zAG4Q^QVM(z)BCX}C$4wkzAE=vnHksmbZc2@*%OndoI3ygt*Ic){kpx{NbY>&rj+b7 z^s2_P3vEMbC-qH!)1aoanC{vwl-Bt~pUd=e$P8+aZJ~*^EzV`9)qaT~>Av={7Odmi-pd4 zco`mpUxUYHJDgvGBx_tJbY<&~*Dc`b{xuCa&Ewj>g0p%W5M_(}zXV@`FF^u;7vanE z-*S4+^0(Xr0Q?R3L741t{?A;9B=$0n8eE@U-f26xrd2~yz z46-#OwdrAOG!AyXGN0izN;%0kfrD^oSxnaDlOUOC+4E#+VUf_B%vq7q-dNl1EF%Gb z!T6r31Ey&{VaG!~`phqr+EWaw#yua&^9l z@-n2#>3~=w`O`)}DFEdpfN+L6z&)B$BceL@W<_95o0B>E` z7UE?Y%4?qWl8;a(P%hkL;FfG9yK_WBMyT6fI?}IRoE()KB5mVNW+$j|JbgmmJ(}6A zvc4l6Np!@^dRh{`MR?=!y1 zq|znr{e+nC#Z?DDK74e#9>wMD2zbMXF!nfSZY{>wXpks5zySgs{62!Vzc&~IRI1>z)8NT(0E-GWC6>GspIDaKOz?6J8NQl;dO(sE9CB^B zyu^Lu9T-n>!o+N+V%^@^_Pc~misT;ultuSbb*(IGU}&{CzU33pAaZ; zGWeXTVuKQmqm9@%4t7gI9<*oc;Cc87<>?`j)*Ql1a0oBqYRI0Nc=Fj^B60d_KU~}f zfDQbtU!-^doPQzOTD>jkeQ#kXj-<&Lw+i*H<)aMVa${TOU{{)4I<;(EKD>v_q>ehA zA~(xr2FOzuo@)5}dK|#bA2n4HNNk<+o4w12(t_Q{gt|XSbe+Spy!i;yFnQRUmfaVZ zyCEfjp_1)nwkFL_pa^&NDZcb|*@bW7LB*~g;V*!_eX2pKQWD0}QeV$Z;E6R>TP{b& zTkSI!e#1_ImdNpRAm5;*-oI*KTG$SN7i9}bi#fW8yHq5UKUDaxEOBefJS})icv6-> zE3LKU!?@3zm>;vk!Y#_H4e})rC-p{(C`=hc7pY{tJ4?;QrCcJKUjn*Z;#C9%n!kbp zGsQfsEwRAL^5TH`(8wPK`s5z?hFSQ}!T(*|KL%Mw@Fs72$A zjxOKIL0V%{Cdc?b_!)@x8)JG3_VpSdBhusB$bQ^a_cGC3Xlu%7*){ee%m zp;gq& za3ys4gCe_-c26D4i*k`HL+|qW6Ywv0*PowN)iAsOUs2P@OwOdf_7a{&J+fcCFgyND zBA&_7H&Dz)TpN2zpX(oa8|aefB8}vi{d?zGepz4ad$UXq$9`Gb1Cr92G~1OMF%n3N z?IqndiPxoENVPLL-jU~#o9S}S{np#B%vaKZmL1PVRmzJDXZJT;^ia?D)vPI~Y;i8K z;w|O}E{tP7deYe+FgY!@IDaj^^y*}A+@SOR$4R_o+)Gb9_7H;+W*v>ErER|u^8^gSRcNFgLI&U!_gvFv$PW=p8G!@$?X zJjPL)yX0>L?sHr{G}{t950>vplC3hIOo7XBcGIO(p6^hL7RW@ia^7#T`SH+CSH;)s zU&c(#^O}h!DIXPokOofuu}#WYml|)j4D>5A9R|wV{PCvy8EOXtxkmKPoXHMgz#4zuri!HRr6COUP51rNzKx3*Wv)P=q%sXtxM_{+`>g)(sA{W z7^i_9`uMJH8GcWVV?+n0P}ztOf3EPyJOA>m#vp!5IA3V=zeF*bwzR`sQ<(Nzc{$2S z@VGkiix55~p31Lm@X1qk*)U7D(#SI}fbm`%R59wS-v$7HhXLTL008jIVj(7vYCj18 z&ljPG=oep4Y|de>p{0c`FO3G{xxO^@L3`WqOTlt4d*H_SMdT4`ftrEg+Eim`Mj_Uy zyf-g6mT}&~tnhcz*2$8(_(h?mobS>>;cZQAWqDaHsqNNfl?=G+MYuekIp#(xuWRG# z2Dkxk@I;ip4Rs9Pb{DN%D&F?9A-+wzazjt2iL7Cwm79;D%`x&Ug_&Efwj*{| zxUDWu>!rpo0CL2^g za_s?cTj;wvrdG7f=doq=v9r8VqgL0J0q0ezk?7)3sF))xihBb~Rhf zHO?kSAA^P2tz=TVR+S0harmbVv8nA%{S-<|99snn&qORK1=!7(!z?gH@8G^fpc$U3~*@fbYWf@Mm=is<#Jt0}L?0AHeMZFu?Ec z5;_L}1N;{dbCKqrl16y-;8_hwR$ElLt852OIagT^88OSJUZrnMsZnr1@{YDz;yW_ooUrPl|tGTpSPfL`QH_BZQe62%GG+i+c zOKLcEhDHVl)gMnho+TOH2en*t`WYN7y^*9Zn0g7N;8Unr`XRsbW%Z6+#^lKB6$z(g z^&cva<7vZ;>dAJ(a@I+&Czw8b_mc4U7uO4ebAiNq0Vrg(v;_`#{}17%+SLH2Lrn#G zx5T&Rs9m2M;8W=nFu*Uu03S^6hxev;!#mU4VSq>BA^0sA;DK~M+?Vc!d*A>r!jKMR znPgoGx?8SE3d;R&rshZHzGVsgNfG#&?i7|kr(#SyIf=FTQP+83YM+!8c-xCqm%Ka~ zXm_Fsf5r&^ZKW-t_cp!kiHuV|6%XXEg|I5PDZQQ~dqV;k;D&Sq+)z<(fScha_+$7Z zNN^h@_-{G20U*IQ<&Q>U<{pl6Ju@;d$)S>vMGC@6FUqjQTv;*8yZQ~EG-`@ru@H&r z$%UfYaeS14JU#XTo?du5cp0}|>Pc@aiwgF+rMBUx3a>;W zGhK-$a3Vls`K_m=x?lyIzO)2b-+B7%{m$-wIcMsZ;e)%d&&yzea zOIKcUrAhz>kQCLHzl*ZMT+L+hd#}2J<1*99wbXj4#2{hjZ~8_gaW0;7`x7_=1Dr`W z%mLp8fE(a?_%3`GAl(21oPitD0I!GF!~Xz)n*rdD;1B1d-joIy;A}dZ6K(mPXmmOm zP_~Li8ExA|dOt0F8875#$qv80h#5aVPa3XCo{HLzARo^uvnuquj&~$Hkv87++-Y9e z*|%3!ZY2Nn(|L#es%57=T~Yjp1Zmh^y;`t>C8++DU(4|lPO46FujPj3%*yx{bda$T z+Nxb&C7~4c8<iB>w*3;FK zyT~n*m@A&15^W)|--S^rr)Tc4V$pd<4qY?HHKgLT#c4GRc;!Oc=I}S$qG4;`b*trl zMq=ty#J3LpveMg^0#aMLbvxD?^&3$J17TJ_kKwYXm1?+Ty|>UPjdE`PDG z9TC%(*-A149^-|RcFh$zUkh4Jdz4k@PW8<-o)fk}xa-TStt>9kJf~ez-MwloaZ=+` zs>>=VR}8yxZET5Uqs^lhaCeyVBiXUa*69#M*o&W%VPw#5- z;a&Xy05CH+0Kc_Mc%sEYNipo`l`0tz>hpTLNMML~t#q#CYJWl4V-t;qLDsa-YHh-T zfm7e&trRRZC&8|4S*(=yH#J?Vvg!5;wA}gvvi^#2b;WH-(~#I6i5`Nr(p1nt0hqn0 zT|fVQcXu~k-7vrKCjc{pbMqWBF*t7m0Dx};z_;Ko7&zaYWo_wX#VgdOT`YO_!F1wm z)-DIoEza;4i(_!{JG+##l_VaatZH#yHAqGUvMMwFdL)?zy*MoX)npjeaO9he+|`zT zM@mXISgcD)Pd*3iUv0TxAuKwXh{SzzH14JROb{U+Yw2;8)^#b6l|`V(rAx#MYx!7I z&`Zm!39K6`hG@g5>93nzLw_osxIA5Wg%zVh9etvVeThcMzR|6yCiPjRmr?})UM0ZB zM;vjUX-My|`fF@b+&7nNp)Wq4AU&5LJ?kvnd)&2{)uXu4;7uYi@2YJ$>g8FDW0KWV zre|zzdzFQuNivb2cp_h&lWE0L_^scvFG|=|+;o^~@EJxVNBZ zch0|erMv1(ef>DGbE1hkQ0&Rq>OJF-%*egOh- z>mW{#=SMo1@h%0Z6#9sHUzQ;Od0#8r>`@KiwEzI{7Xa`*0LYBa#N2!z(f1@n;?@1q!iYRNVtFk5l_LDtKrFp($ zx}F9A&e8SH1HiwYuiuTHJuv@f)xAa28_`XltK`wlZH?`2W&daR=sg~=N48pt~&#I9BQQf_1U&Be=XutVw^GWw^9pSe z6J#BEARhtB`IW5FIRya!8@>F!`8P8+izJ8krdRw5rGVy5Wqw(Ac^KQt3u#>^b-A{8 z@n~9DwqdY&nLVWjs>O z^1_(L;=e@lgwL@h+Qvm0tE8JG589=6^Df{F08ESwpsNW=mjh?2C$|6qOy}bOz#RYp z@GbZz+(q~J>)d6V8IE1hm`9qD-CvU9nY=kVfYkDd4V9%ho^zH=7-!jRJqOc`sA&VG z8gC12Y5&qUm>L=XWdMw$UG|RqJlonF;dsHjwdIDkc zmZf=5>G#sIJ7fDeV3)Oi_PpeKtBx-Vep?DOh+*xlpmr{NS;A6zOy8I5YMW%HxPoFm zAbIQ3qfj(Ioy?tJwS z{6-P}A^1fmucv3$L5JG4z#)LwmzwTRPVAM3^9eosf!W6w@0$|D`CsnkLQQPXc%}cK z{|%1o^IaC6F8?mfp-Iw7r;d-_Qh9k(=?T z=JWHl^z4h=L%xT5R!F#=*d8}1avbXYt=$is>>E+ar9a&!C@pQSLC>xru}>_6qgPOx z^rgLdP9%O@D>r$!sb2IBjyQe>q=jx}KKh4)OB+jm5;JX;3Wl1F?(Ru@;|$toaA4}J ztI26p^l0ef9WS0Xwfx3naC8ZiF6WbWm~hNj?1WMlyqrV752s+z_P%Wysx)rqdr7%T zy3RXV6NB?sfQrEZhQYZ2z%V$IB&U|$WCrJOy3=K?xzz^}GR4o&SW0~bUVs;X9zyyI zNbs@Z`aQd=hf%D%cNClLar7FL&$RD?uy=d}_+Y*Tus^2!zmBoID?Q7 zSeX$2(m6&~Hx$2+lCQT~2Y;tF$j?M{%xDrPJTu8XGYKs!sq)D?@Wu=~+2Yi|+28<_ zzST0^R9xRyJvj@LJ&r;ztrnD$qF+4WeO?BHbqmUP9ILFeWa?%RaBCauYeV}tFWDjK zlw(;_A71)BsSsuW^IAb)nouTF>~YIz!m|!%pM&K!nyjUKN0;1awl%W7k7TRpQ|5(f zsdgRwuj=9HovK=fQC4=)myD?6kq-Hu>ick(SzcL7 z^Yoh@(lDeFjd!gEuhjkn-a?R}N<5;pUjIsmr@$Qq=tls4; z>so?u7~(zeTx+TB1EiLI3_woq;r8C8GI8JOrGN4Bb7HQgFC16IjH zwX~C$fpBSert8MBm;%`zBC)B|ak#x1eGiSB`aS!iQ)qSs$UPmZx-WZ2Nl9-d47|Lq z-ovAmsO34BG6Q%%y->w2Q%mf-++La9PrVDAmiRb#*52fDhFTDpko*Q_2IsGNDsgfP z*#uUU4b*<9q{yWL3=Wiw;Iv!=8czO*EsLwDEZjw)`+dM8sm z{RYSOLGea9@Q*xcA;x_pRAuPJ5~!{{E+Knzk0jUU%7jljDW7xm50x-#l1YBYzg$vN z7ytlng+GEnE^KlBba$m$;Y@HtaeWhcI-QVnCjfjC?g9}ciG;+Q$x?T1Y2Nx(uuq|p zHx0CW%hiDXZMDkEu0E#hcsmk&cFZg_;Sbl9>BX(JO8S@^NEhdGayV%dFB{?P14rW> znm%?jfJeNfgWz>9fKww9ph@ATmg6i^9Qv`Ab}&x@tg4SC!#UPd+c#^OS4Jb3yDL;1 zRaeDItJc*+vQ@oQxgKcQuT>MQOTg`2Dq7-gLYa2TiIh3kk+L;RGv<|y6ubcx`D3=> z&@FQ6d;H`<_)SMKe6~0f9PXH$A9uea)O-TAYyAK|QdES`!#^@&oQIcD$i478ut;%6 zINECJ6YUtNJI9ts51E?~b$u2eS9M*twX-Q5pt zxienx|6g8f&vJK^lm6(ccJs4URZ7F`iH%8RnpPLjSOW;rpgyLGmYo3=btf}8AArdsr(|#@2hzU-0Mlan0FK}Q3dzRWIaKK7 z_|vVso#lNO)$!;V6ZKvxC+i#Q8g8}3&odvX`M@q(xRZj8N^6`gO0|@2(B{64zL_GM zcYAsx{Nd~gE!*Oh3{Gizvq*Jh2Ipp&PRRL#D)d_b0O{OR7|W`~10HMA%NKkn{ds60 zSh`?&jV^bc`t?A+_=e|KXDN9NlA$cA?8T9nrPwvoCCQeTNX{9;k@}{uRJ#xMbpQbH z=M8i`S+I!=XSfU*fwjXrSxb*&hoNG;N;A>4`*@k9m3fZdLLn$6CAmaarq)Tl02*6E z>5~_Z*w9-Q_Iv1({88nc2I;}&0+d*jO=4zr7N;!JhR|QZmGD=lCcXhl`aq57Gs=Gy zsItNI{~JtJ?*}N9xBvj21n!KP30{Dbk$DMf7t)8Y60){D+YMfVm*8;ctokcZvN?;o z+Oy~#ta$fJP#y*P7yx7k(hFRi{*rhmOIw|i^j+Ycu1c=IO9jRH!>&7^pyAAk9b3-q z%g7epCDXlHuH;M49VfM(oN_-bbD)0c=QiIt)ic{4z^&xi&Jw=MUN6kf4Nxnq{dYEv zNmUIgtM%86e!DKO99@N9li%A03jskz0qL&-k^_-$QR$L~jgZbUI!0NDv~+`Xj^3yd z(lA00MvU$nlNd4T-S2&#=MOla`#I-2cV1WcEbo;VY%qF_bm@iXOWJlz9l6QTp&{mkU(tD?#pK?4T=C4ND~MwJuqdZ2o5tW^IawO#&cg6$>WEe`8^ z96S1D7twy(W!`CrJ`avY+FjE~I~>I~e_r?+L5K{t#Nj>*VxC~HGlXtyEQeCKM#80c zXy`df$G=rLr8o` zb?ixwNuv!sRX`W_XG-=Mm?V}jbu0Y2@>>>qP-cyWFO>}s^^FZkNgMtiSRg@CMW67q z!sFWITDl9F5KD69W7YufSUueI_@uY)?`_q>DFU*B=*kbT-N zHdv5K?mbke;2&k1{LKFEclYO#kFh zIhw9KBm1#;0vKD4rnQ?lBSfJ$EtTsWP>OrZjm`hZi)efidw z^fif`J@_e0OHYAL(l`DckmMJ~Lk=w`e9L)_tK~V2TGngE@s}}Qceaos)mJb} z^D2;cF2m-xPk_(*Z_xv;xG6=u)@m=Na{GqB*1^J8w{L3*WYhDE+oJ*JL4 z!w0;u>4(g)A(O=NTYTpaUIPPK@ez}ELGOsHPqsTs( zW8-#~xbG^H0z*m$E5t>?CU4+kJbz7%xEG3Hv6yJIA@^e8Gd^bOo}0VcamGfkpBED; zf}35yb85Pnj36j~{Ih|{ADzOiPp2M==qyXF&schU|F~#e=yJ?4a1L%nVSgsBhVJZ} z)M>Fje;#{Zgnji+iuvxjDAhM~H%ydbDzHUOg7I{Y$(nI{uX}XFRQ7XFSe9$=_xLUi z&T$F?GXH8*-LUT$K%jWw)Kw@2;~Tf|W(O+EGn@IVVlV$cuu9c0ic_-E zy3F5ZHyWE>ygLZC8t1{MIiITq8Bzta%fn7*JsgVM-yX~rvEP0W;B)oy{@$QZNA_@a z1=p_pR2eN^z!FRCxgAb!lcRLYHa*uBwDSpG|Atq2*eW8BXOe>I*Ow~C>;n6*lXYtx zUFWQUkcb@R$026A`K-?GME8?l7+e^SD}d(~EVtu!8a{p19%;{cw=8cmKdENf-}*)p zH_&!5xS)GVJwst{?19pvQuEgWSQ1KC2s}$mMCRtHvKIbH`mfUa?uh1T3=(|F;ID&o@iKXT=yLs#{)=Kf!? zR<1>>95T&;VQS@)^b^7#6yfDP-wqhBzmb|p*cuiyzbH+=uQ!?N^m@3ynPZ}J_Y5jE z_%1K|`|i5;uorOz(e@L8oup;gW6Ut*Z0m+7Me%}HFFAJU2#^?C{M^M1IGC8IA$s-m z*3#X3zqU0D+uUgVzRIP`>ovajx4i!*fLe3CmIT-s-_)cVh^r!5Qfs8B93-b|StJOX zy3!LTV|GYgbaAzQ@*@I(r?dX z>-E|O=Oj;+x%(}4w4Ln{?;-yD^u=VeApM1{pR6bPh89(J_n2-S^Fb=k^b7l;7K^SV zDR=ufavH`l{9B6q(T#>0AJ%>gZ{t^rfb}1}+vltYVTf8~Di>!Jr=NupG$Z6whR(S4 zGLh5Dzh5!S?W98j`I3#S9f7^2)t28KrPwz4|K}Q)O@7f6y|tT9HyDkIpU+LsJkH4J z*MmmAdjZgeFr*%lsQSLam)g@_t`C6~?5EScQ?7+8E^LI71K=W7{>ch8gQc5_t&6Jg zj~{L9ZqI|meNLi%f=3?v?^tK3@y6`v&G@*t@tS1b5EGjr&&NV7x)O@3K6Xe~WQy15 zPCdIZm;3oBwoAKf-5@)D=V9$cMR=~x`MrhWb?(TcyFO~2oG!WeSAxrApRA=Iik=+N zn6IFnzpCBX79GQ*R|a3vc9JMaKDWQb^o5FKJ0K zzu>xfloaw4z0pj2Rr(*Cs`H>J9s|jN>#pEVF(>1i^EvUo4=ELQzbBd^A%Lv1o{h7R z*1Em6e;_4Iwvr7_uO*)cp=aa_AKs8(qK5 zigpzF&b4gsJ2h&kX2I}U+OsjC2ze*0D^|}jI^TSYfoYeF;^ofIS7KrRXpo;KCcVzq zw47|ae*bIHZ8BnEQ$-?Jo;dVH$Dp5Qc+77F_H;`;iY$`LVF+ znk-;i1Jg#c_ztjOBKJojJnj zY7^Iu4MUuks8i$V*cMDPFV(KS-CH{>Xm9Ax)EgPE^I-d`O?>}J{{f7uq`lGONL^z3 z&>WS#WFNVkL$hMTS(7sO^Z0i2Egl#>S9`A0e_ip)Cku#vPmg{hUg_M;Tz#W}bQ@D) z2^?P~n?NP*?xz;GNxk95^2z1yCih-{;-Z5x&OheX`ddlL95bMovRRdTjP2m`!wt{x zYx&pp%~B~JunE9Hy0_Mh^_&~C08WxKYGkRETXMeq&7GYDS2gZJsdO5UotvwoHm|K{ zn;~!>*gmYE$JuTTPf2d5h?$(EWOP#TVESxC7>}v!=2~MWiZ;W_UxAV;?dCU_C2gf< zD1P#J2lb&$fU&mTm!f&V^DhCqin1SG|)*(6vex$oY)Jm=(` ztE^0EEVEVh@t&`8Cgqw&OX|v=IZM*zh_^1ra94fUu&BCsy^}JY(e6`lLhpv(z%#wM zv2lpFBYE6Fy7c>;K$M#xO5|{B_oV%@p-{6Q;$->^v-F9{hdJ3)2WWq>qU%YPfad}I zl}5DRlvbWRjMliOLi+k%u|@t{B>l7qHu=uED#_H_68)=rZ|<;EF|^A=W4O5yKiMxy zIkErhktZkG+lY5GbtgUc@RoPxNTM~rgJG9x?PA#BUOLUSi?4UkLCBXqHxgkUM+|y9aJ;~{2Mph?D?UxLExOie>Dak{`eHC($%@~ zYVPvj!%FIZb)qR`)_U(|f0hAw+>_-nH4E4Ql@_S<0Ond@h2XeQJbmhKf7^&Q#Hh={ zWoCh-1N+3IBf}h>+b(%?9YAd9og#TdG+yeLZPUzgnlRq4fY(XyvcEk`FFt4c#Fjd- zWLmR(m^5Sp81QFqJ%vQ>5?MPF?BTg`Mr)}ZIHgZFOQ60pa>CK}M|lGnP0vL=)QtXQ z_dm?)51!LEj%&l2kLqhWk25|V`Xf|;u4OA44^Y05H_xgIM{;PVBw_NYX_<>TxOO5u z3aHB4sr(z%%o#rXXm~k}eF01O81YY5FjV<_Q)l5%?Z&Z@wm7X;Nt()1=8VX$uDHkM ziQgiYtCXn8v}z)pNZ_wIHo0`6s~+&VnOgmnsTVCJGi~ARi^q~#K?VL$f1T_wYwXSK zy_u*GMez4#XV%-#rAR?5ncs2PYrV#ML>gt%PdE1Y9w}KhL`uFu-X8IG|7%s3?7wK3^4^F*55^pT1)l!g>)BI@&RGS! z;9tMt#r6}Nr2zqA05eNA{lAWLBE_U5w}`c0>a&<GMb)g3vE zvD)9oBQ*AD?|RNZyi=}%0(#hN9O*g&44Pa_TpV3gcf9&+1szg4YX778HCKwHCMi*d z<05g%gFlg98O)PXQf`|O3LRGk`u-fO#ZS64ylaC@=3%*H_nOL)j2}1KU2g0bT!8u3 z+zv$p*}}WpaDX=@*< zhY@tB^pQ+0pm`{yO{7C)y|-C?W?=!KCN-ZefjkVoya!sIDC}q_fvcGz2G1GdQF(dd zJbQo#BkV1k7G$3w9rJFZFC0ukJQAO7OH2>z`SEpvnXpIRrmr|_+J|8UawY3Nw= z@R^;l{RkInLj(#|j_iN_I{Y%?HnDw4+PA%sW~h;y3jFqqryG4BW!v3fuO!|)W8Ra; zLYKFXSx1-Vs7X-U5<~%JH+m$)0@CcFvYxEfrdrWIQn6y~{>-L$b+Y4rg-20vn~*ZJ zIzb$M#&x^8khj@FjG*Cr$E>&77MWaTHf56cnwly%h0}xU$&}?s*`_t`M>?eV=K&j) z^q-n)kM07rDu)Y;wjvPyUU!mcV2KNb0TrSLC!{CKZSIfW-a9^i>KS@aA2&7GQttfM zc}K6FMYhGYuYp4aqDp)nE2=!uN7ReM--2APgVJUE6;!t$nXx%xsTMA}%$%;FY!tS^ zKEC*g%ZqPu9GqPbw+l}J zE##Y=vQ-@MLUyB^`E_&){sU|vf!tROlMPcunzc%zl!I9lWtQBjpX9F^0Bf?HTOX36 zAFvh~%DxyU;9rWBS|*V4$g*B`O!6%&GPNbk3#ZmTuuYwAUl4Q5?%p{|QPh5K zs{?F?-n-!6{WUk)Un629vhHo*9yEM;k$#+hXWM(bnK-AcKrki;kx@F=UBUs-^?zZ} zP}7qAZ2MK_2+JpW9;u(opKQazwqLOr9#G#!Z~QTdxLRr@AD`d;PeF>C?k4r|^gKQO zPJPL^{4zN5b26ve#cOK~b`B}&;SlReX=SSSpS|HsySe}oQ39PX`oCPm-|LK#fg6wZ z1MG&pUkN{iXuYbFU|7_jZ+%WAR3p4BGmQ-(4O3IFr3ZUstA{M@EC#Xp+)Up@W+DDMIB5ANM&wf4=Co?M%m=kBU8kmZE~r zmxDJGbmKjf9&OH^pTfzz@}wm7o+3qn1Ya$-sg#Yp!|W)z)RZr2HR; z8qX|^DdDmND4bDIdVr8LgeWvi5>=CKGfmdTO5Sfbyj(dT5T zKr&K>sl3F5*O{RzBg7)7XuS_cKF;){K-b&$H}d$C2q5WFI&_?C*L7p~w6X~Q+_OiR zixZT9b2cO^d&D>TPPxbXYInp%c zv-#8%8*~b;2lc9gdvyZeLymY7HX~C9*`4P6BX;>qkHnVY)_OR z;RqoKF&TUzWK?y5OBeOj7hPVf)%-H&fbU0rFU5lg4~}2V`$=+MesQzNA4Z$%nYP*gP{W?B zSeTMm4|boW%n-gp>t@2Id-sqELC{L>tO^Qe!5H|NR6tivoZpxL{FkAeoPoeS^9SnS zio$j5CQSICq{s%sRPVyQ)imgSiFr*&MG*H>(l%~GDrh*IZ#4)#|LSIObI*rS_`bKm%7{B;P(oCI*UI<)s5-Lk4AL`hZC8BHw9SOaF#nU1Z}}pTE<$&!RmGXDCD8+P zDntR5L}DJ!{g^E2s7vw4;L(jWcseQe2FM|EcrQ{Aw&H)a1TS3(CH|@hGTU3W!7q>b zN{B$ye11A4aL0Ms9&iO6i=)@XN}qBrWFc*@kkT99Uhi6=fYlX6VLAt;Yo?m4WVS$L$oU^4M18Bu|+7VDuX)%y5xDVck~)24SrOK)o>AB#zFOp<()JFTgr7u(zoAS|;`@C&nWEWE>=@ zosoaa#NsYu0B17Y&a{08;*g}{oC5fRN|B+rQgcXgDa`oV70hH{(78-hjs;=PkPT#4 zUhp5MR8U9Nf6Hl92brIQe+Yd^B7g8;j)H6h`Y1ak)n3A!2M|UW?J|jk6)*8~?-ov- zoy<=v4~f*2rRPwYbXBX2=e}bX>r%CZu36{MRy&3JVv!iUrhR z%P7hTJQg)KEh~Pb_2Ay77^C&@P=zepW^@mJrbrx{4E#%I9g4)6MCMtCNVd8|XV~Rg zfa@~gasEL0N{s-%X6Zz;Z9ZgPdj0#Ql*h@pZ!zzfMBTY}@1B)Qn&2$VUBX3AKjYs6 za+74Kwyeo05Y9H_%Qp?0n9XkS6I+JA`CAChHlj8Z(T5N^+g$_scIzB&8w|d z(ZA3bJRT!jvrUpwn z{AMXH((Avg;6p<>qx*d2;8Lx3i~AP52bLgAo{D5Z>A02XQgJBKVRumy=RDam^b8Q; zG{@4L5mi3|tH>FSI2oYvx|gdQF@bu095tJqjVm={>0*2+s}X!NSFc2kmUhMahH{}o zWx5Npv|~;CV(4A8KYsj0Cfj#k{qUnBT}$oR=&Iu}A3LJcAM8oxd}O1l%$n*p%JrtM z+yAY<*i4PFR;KK7rm(}qy79q3A86r$W>Rs%XpL~|yEsqyAR%iSA-lfdMNpq>|KWt; zS^$=+#PA8ezI$=U|KxNVi+K#C}r61307A3wIV!$0=UcV6Y>P&q zE5ic|51wUhBfvo=QNGls_fqympz}=<=CO{y*N9tmhg;pN;N05E$LlVfl`lg~iHkkt zWsJRGBlx_uB}xF`PDecPF8T8!i^WKEb_5GXD!Le1`S5m7Z(LtXCV2b{X#alfT8M@D zNee+BSkSr-GLhsD6{lXin`QrW@ul3@!}H_JFkwq9b*k)e6El5^VqhwT5I!o|>U z?Kj}r&kM2EUuDMIu?T^+*OhurprdOkM=X%G>)f|F*U70k!PZNio&kIPH;{tsGx2$P zx?S{MY9b+0*s@hpq_ouXqIX+^8967xRiK^13XYt-eKJD~Uobh01w)S6#=ha{pn=I$eL?nBUa?wsN5lJ@_hDd5fYMHtzdVp!Zzs;ZKC^g;@G|Gc=23pi)$_q zV4}fpZh6f~S(bZ0n<)Re0cc8_aM9-K;>?f$V875l{oYbHxPRl%d&btdW_lv~Y6S&E>h&#@orby^(~z zRrA*l9xS6Ef-odqrraj$7rQizpNFr3uw-QIEPKl%^Z0zM+9?181TAo>*ABy`gq1Jq z!>6U%v0I};l$qM_bo`&dGSxEY+E_RbTxQeF$$fKZ)+IL^v5<)rrP8)A=aO#p8vmea zFnWXbz&4<2CTL?*25PoPr&k;TqS3d0FIeEu-cl63Bw97BaBoT)GI8{*-QSbebKV(T zM~mQ(I?!w9jES1aPd8e~>p8WmLKXo+FbzOwY1Q0T=|b=U=oC`;3|96EpkAqiJe@*8 zXluSVAAX@pA#(Id*q5~=d%AnfvF5nUEWc6TZb;>+g(pn@{&w`pQDMeRawI!Yfg5TAe0lP<9BB6>-MrzSd0yXfR^zQ2Vk{KQ`opZqC` z&8N*$J#u^pgE8aAXN=F0UJoyd5+^6rXz6awSDfYb*?22a!tU8Ri?id3o;m3l_m6fb za^T+9SgOes>nq@?ta^Q0Xj?-&Sg^^dI5LG7?U5)@4dfsfbt-de9%whB{yVrcw=onF z)MDag(FH}6L4lFjHo*6w5028uyn{{4JyRJ& z^u)!fK`J%mq%+4?Hh5`nl_rL0`49FC(d~1` zkPv_M?m^SU^*{P389E{FA)in&b%2(7jpAe6?UwSRw^0?9i0HyjI`zY5j^ty@kfATW z_Q+6JLk?@7gky^4M`Sp8m!X(<WpkVJSe`0G< zsa5zs%-;2-bf%&G?M)vezt0mzjFvrF|AKnF5u#1is_FxWG*!)M;=@=SD^FJXMZW@J zu7Gp?_8K_rMO%uIb1Jp7WNDp0?2tQ$;wPKG-DbsMZ*-O+H2EBs<`qr#i~Ky#9#WRd>&>@*xP-Wm?fD+_ zUs(LLg0J-#uE(v*C}syETVQ+AZt|Fj0ftGw(qb4Ojw@7-iIWcto`{n%t`lS2eKpfN zmsjM|x;lWjx(s)0=Fzd|nj`(yT5D}lwWVIw1GE9rR-q4f52FlA`BJ{iTilc+JvBNl z7T6qy+3INr0T-Q=Lk5Q;mHoj~7#e<}7xiB(W|%tuodcER$%ePpo;bxaqH9Z(Ese~y zCi``^-ree}ej^uJQNb4P>9|qP;q{=BmLfnTJ*v0&)CPdSm~Hv6v?k6(bY>eHW`R&; zGfQC3zHLbs`?u;bNORp+QVX*Ph#!Mx2xK1=4Dx3yo{z3F2!#Ce{OcYCksX%&rqqg# zo1=RWX&e0{N|Wf+eRtmc!C$;z)6HW)*kf?)oP|52;5)qaPT2zK`}1dC*0y~;_0^vD z-FcJ%Jf~$fS|}^-h=csb%{?gC*Pu2I&mbA}pifGj6tGVh|JZ_n0oXuwYfsOns=uGa zBbiZ~G#mr_uD>%PcHLtCUH&EM6}j zH=~whZ_8n*2pt$Gs}&2_$hGFf2sGe;Gab#rfBx>eAc|sPKunz|?QfkRb^F9wn-1rV zSoFE4#>W8tmb|8CG8ykQLs#cAh)X7KNMq27y8-1JiGmM{4ATi{2LJ#q*uMal2|;JY zpSooF?0Itp1#Tl+SgPHxTo1%#3n1<#y`1D#L$btC^!jDwioF_u1}-mwPu-1a7t4c^Yp5OV1J&OTG~G& z<54ae@Z|Mj?@9K7q%z3!WzVPcUw-f3xtDFaW*>#dQuEPyGs>2hx!0LtHL;?Vm;P(@ zSgzGoPlIVt#0@ian)OQf)XHbKbT=KnPdMy85*hsu_}2t+@R)b~k}v1$9OrpR@e0dv;MM+k*$Qrp+v{UoZUbEd0(k zyBhG6d^s~Za$$UYyhypT8g?}#m66FhDX1MGcD2KoQE85%kPC^{`8nFRlO^j?e1}q9 zbcR%i3|;tsWEygiL1WQ1UdN#0J9ML7apeIx?Ju3x|dmUCP^(LZ4T?X z{)9sX4~aieeT$F8s~%X-LapJ~{Cs$d6T6qeNN+FDP+GH)w}3*u3Qm{**tyWuLMQ>o zZ%!6dLa*}S-vYF1Ot_S52Uk>g>n7*Pvi$3LKb`5#sPXWHfpc>O@qgsDqYG14f@Zaa z+4u~@&SOc|iFX>&x5@lc_$nYpS~Ft>T-(fwsY))sikAV#UJZyAFa+}z+2?@Ru6&H^ zqvU-4y0%9In@;q&?;Ovxzg78QuMRY(8{C>+n7wuTw#E6hT-lZ9J8Ib;Q-EJ#JiXkR zo(I5<#j^*%ztx77q^UJju=&le>ZkETr>s=AP60HiX1P1kKNBB)P_$u<=ifVZvd{N@ zybAKEuaoi7f(2ZnJ6+oc0kTeBL4}Dd)NW{rbO?Nx#nRr#NL)O*D2o;RfFQOfxnCGG z-hCzQ^LKnG4q1@ekX*!6mc&gO~)9gVCcXF z|IU+gAMdg>rX1Q4?~zNcm(h^H+uxTvV-S6u)d`JaAdN}An&9sW*++1nzXuC>` zKfKsnY#`1bv+m?wL*dkfIp9+lF49@u*rb;gpCHdBVIi{by}JdMXXemnneOWAy?%Y9igRf+;#P(8(MPgK8qI; zxV4A{#)=-s;w(51%d}uBN@?>&xYojK!-u5EIy=W!MPOgc49EIHQT62O5ztI4_UR&; z_eRocvZ1-|^Pv|x>R*FxEIRi0-v2LsbTHnIuF7`l#D2w%f&uy*& zP5P`pqh=j>cS#CW2tLimq&WY*Ik_!ji!^UU+ejXVkA9ZbFNEa8%}#U!*C<-)M6muC zrbofwo3rM(A{$!g6RsCZ%$L&xfITVd$}Goy{`N-^-`{V)cyAYUDc$&c;m*A_-MH6+ z*ZCn+SzlIj#GNEZ^2&U`d1X%eJOEsCc4_BSj^grS7vH=6s%+!1VBLZpp!wI3D!$L} zL=BkhV$TocPYXj7?%#ZH56YHlEw1Z1ji%$P8IkI-lMfvFVX;zJ+z>-m?pTvFuhk2p zf$-J!QrN#WWA##Y4|4UsfD+3jC&v|So7V>)if2$h#;7Zp0Y6rn8IfF;?Q!e^^m~Sx zr?q&NlQ-Lz8uQVPc+_|Z_V+A?99Qp2Gfx|8isu9f@qD*ATJY>-0&K3-2S1RPyAjC# z{gNqRoVpLee#L1z7#toYFOIV;fSr9FIh{>jIN5hpcWNyu4T2;2!Vuiq_@n@f z=)t}&(>barA1)@JkvQH9Y(jPN4SC=wVdS`rpik-D~+pMg+OuMr*EeDPkGu);#L3<8>+M;5A{;a4#*ICTByei3wiiSYd?D}?1 zE-NjqW?iP&F5r=tW@EcCHc7SJyFCG_al=wfTI_`w5U`q4AGkg$&9<=(T`Y^t7Z=+`VVEsj5MOf8u z#h4>4QNxV%VILokHro)?Yxnst_4rm;s_@m7IYYvA1?x;9bFs*|;5wiEw~1DS1TgBZ z^F>EX{Jsat6hsp;)9X`ElCZDP6>kAZWD4K$WfNDEW4p%{p4+$7yNrXn5h}h6cWyt6ehXziqNxgDt)% z#Y?caX9YzkeqY|VmfEh(y{y8+Ue<_WE56@M|M4**Z?^qYFmmbzbn(cZ9@Fg%n?!fO zn(T5p@Qk>X(FS>E0RLshEFzxyCf+UNkk?|)Ge)1IkA$&hMaQOP?6G~ooOnW|iQid; zJ(Ry2Jvl9$44esX1AI9-JYRM8U|T#vF-}gg2++^%uN@Bv`bub%Pk~r&?WjLb&Fbht zJvkK@18GeiF4Kl5EV|f-cV&6I7oXELgzSuI6q~oOdM6*5yxhCH%EG&R(8#_Om+Hq% znj_^n`boQi1n1;C5IrZi%O#OUxehEoC-%9GJ z=dLH_GRaz=7jsC{%G#S=-NZ+jz-Kx<(IC<34aQvErlMiQK z0i6APG$JLb4k~k27AhN^bzM=u=3r^p1y+j^OPb8g%v0A-XBP_mD6R$@Rov-b7VGOD zF<+Vl@ONGmL_Xa#r3DI0I_szGd-oxiVrDv7{bH``vDQ$JExy9`J2DwZlA<|B931K% z1lnKF2ks!Bi3X#gnP7$H9Fdc{pGVf&(nvMi*QkVdbUY&rFLR#WMmK2ZN8rbp~fW%UB0bYubS=F#e!6q*k338;U7?$Jr5{+?NfgR9to0 zY##dbX#%b0&F`JIM z=7aPbFeh%P_UlCA35=zT#i;(+D|xT0*YZM@Yvt^bpg^E>Wpd>7!qFdp z=}cuJ7YdH|t(?|EV7jVit?Zcb&ma?2{VOHFHgs`po_g;g=2W2J1N|7)SB!y8L1=8H zQG3#MgEB6J@B64>-Cw2C?vIJ%<`w^%S%lw>)%G6fc60e7e9kZ~B?KT$v9KcN@oY>} z!Z?%Js6!*?)M3(=N5c=^?0=7I2e3&)Nl}2!pGWG?14hM+i2(yC^WAk&r0LMARQ$?Aen5vND&s{xb6qh5uj(mt;47jw=E)-A8L65hhw zy-DXoZq2txBHb4+F}n*HCn?zrj9WK zZNTwn>+yH|Af`Y4bbn?%KK`meW~3n(1~(4SKWZ8i)R87DwvegcE5Xrr^}xaL;u5ItFOuUdjFiA{$$Dl(U&X7vJj{29t@&P3Iz}Qa$*HHQsR3q zd$j>omN8#3ZDDRi4Yjn3`npe3tWDA+FYnt4|6h6YZD%4ea^Y@sQ-m%I) zKZJ)LG3w{7$<2OsAJ_c2G@umZ*)_XwysABX+MQmfMY&w1dbzhXLvQv-I#Mp>zZrxC ztMCk=H25BBRVnxxtV{laQ#35b8NwP?nHW$JI9Lp)uqdtY$%P*B#1FP~AJePG;5=O| z%U34p_Out<4j3K(h!yUY_RvMWkY8D>R~Y0x+|$ags^!fD3r<_ypsy$E!sN?xP5bF! zTUdPZWhX`uM5u~oFy&Hq3_|UYW7LZ^6yZ=oJw2WBq&I_EQ`kuZ;Obo>vZ-C(H27j6 z$(Z-(tTbvD)^{O8ckZvb|MmUv8^@zt--chJT*a#SW4}Fjkt5vPD0e?}ZLlrX_b%h` z_1*U!IWNM&`3De{*iv2D`o4tO^p^*$>H+0JD2J9JyQY3Ml#HU`@o*<9ar6+XIFS@d zIU&fL|Ihnm-u!kE_S<*fw?XA=iH{ZhXq*Ad^{3E^r{lu%7?-P;7uS^+&Fpp4#`4~! z?cWQ3j~A@#-NeVEuDfL1CVH$q2b<<#U+P_>EiPj@24o#gJZC}U zpx*(e1Fi|}?W{$~Wk=vM6~kK6fSS?t)*IQt)S~*{jg*OkF?Z?wNz%Q*!OMip>7Xb$`r`8d{{raKs1Ki~G&$CNxad(}aC$l!B#R!3m6 zRaHX9rsFqf2LrXfXyfZ#?y*NU@fl!{fL2!)-EYh8==ZWM?5NPNVFb}qZD=6c8hYn)xZHErd7l*H_P z;M3$Oyx|PSD9S@9!uoq;yl|K zIW1;beKf1`4BN*p+s#!Dvc^4DM{hn0F2kGiXTR>@G&FzyycJgZ>*tzdtzg+bXRJ}i zBLn;0UkD_n1qrb7sM7hLE6BLy9n_gE=(4?9#kI03>T1l?o=%xZ=)l{zo-UawYi}?m zcAb7Bt-^GrC|EZ!;Ko`I7tT7yTjHrhp2+QJ4! z^(EX5)dfyymszQ)Joot#3~KoPAv80n@NUcvvP%$m(8q;qp1 zZieRaeJNMp>My6Ep5cb|XU^0rGX^lP`p7wh{;FwKgQ|YH*?5keciPD5tvXD3*kcOi zn;E626HGg1o7BtzaX9ejvka!~iY6A>7pn0Mzh}ewS+&FDPJfiob`k9^X>g1VKGHq$ zeekdc@lwN~>Y$+x$JVKwqeu1M@1uS-iN;&2s%+6&Mg`yH+kvY5*p5N%viQ>|y45?J zHuqSba0uyW``(zeExfGVLl3Gx!hTL@mV@5h0o#dX@U= z6Nh$!eaC672;q`lN5bbpOgGRg?ny6eR4`%l*O5e~{V))Nce5J&YO6SKx>C0WwlVT4g>hhe$6##b01&jhluR4Rtr_r^h_aD^lA+lLkOhm;fJwXD(cqV zuRTRBYP#3@1$p6H{ytD8A*d11o87PxLUcwa}QduSq`{IpyW}7~Gej>yQ(w$-4)b$m9C{COKw<)x>i|S=p zqR?|rqvMI_)J%CsY;bmwNFkBPc_%d!z>a=m5pq_u;@RZz^bdvRQ26{b#EuvVy1eDpB5%N1BWdJHtdlF7Rr**ucuynb;S& zOzX0ozN|T_6hT2IS~fiHNQm*N~^mGiqjrf$5$gJg_-Ep&bLH461~5gP+F8u+&FTs1I(5PYOF6)t*gkG#{qjJQNGK<|9^+ z-s1cnF8Q-}D~(D##~O;3!Bfx^MfA z`*3mJ5Va51kh$k!Dns{s^LxS6SYLr?z5pEgv`y17ZHb!&XrY-f0E@SVCF&KkHCF6Pq929H?}?_RR{1?$Ef87OE4HHX+If@)211VjfsI zVvEvnrS!H^MZni$!8dt6d)XHwsLC-$6OeZICcnDHqqHJOz zEW69L6Z^tC-&W~SooY0>8k_qazzeE0)_)Q<&rh|~{cEeZ7-wFOd&7$bM`eYMw*@KH zERK&>Jadg&52oH_PN~ErZ}xOT>UHNr!3fb^2tc*9MwjYi+hIyHt}U6eq3YOo;-t|n zn$x-$;~={G;kvwDxtY|0c_eA}t5IRVy@_*f&26KR;9cpDrt>~1bA@t#aJfv7@YJ|@ zNQp>WsCkG?t!q$UAX!=Kl$yjWZIq5F2h-d$QkM3IgsKv*bd)YKPKCwB1}}Df!Gc>n znuCT!Dz$DsY+Apa%TMDom%uk{_*%G){-Ju0o#s`fQBz&u2qH>qbg~>E*<+p}`LO2SYc5O%vC=$(3*YrRnUyy?!O2 zNQ&sC@<68Ii6kF7uv62GxYJ&zQ(zu)C$b^C!F6;J zk5$B~u>W6o*ZI{1vcH5vhWq1_`KOsDgk2K`91=5FipjdK6v75D5}6 zED|D15t2}ZkWivQSpfqAOH1fckQ#zZAb<$?^4^wn_QU%J-kf{R%$)iC?#!pTGk50P z8y@ly)dvMG(`+VjS7CC@)k`_HKh8kZ*+`JlLB2d6L4DO;bf)@VHnZ$ij!<3^i%{&A z&Uo5xTw12&#jH#Dy16ooV|?R9jg4xOwqCfNy5kr7x5|5EyY|Q_MLSi{ zmp1)^+x9-Zt3e`(hNf))cLa=R}0RPobd61T8T>JAvXs#_UMgO zGS&s5y5B{)AxThH`pKCMMM=RO8|;m=6gC=kzB$qEFS_3!0vnnHBIFv~*Nf_W9Xh1L zdgi@|pMHMcN1$Dp)^of_N-T6f){A2w15}MUjioi8souFWw{eWW>myiQi)@V4WQTn% zPKDShj=U5;BTdz4nRc%0u8jkK?mC1W5mIcn)eSjqKl#=3q$)&91?KyGV`nnQ#4icI zNtV@t&;bSrVA9^aHPfjmdm#&j5c>u8DFXrc=7R3*C!vMTz!$NX^6maL+*K?E@KbV? z>HvtojJ@lae5R#$WmON~nPmj1KQ(%6F)TFGBjmVKDwfnf_mG%peT&n+=gZ|!nFkD~ zcD>UNAr!lN9JzyQBh}E}FSDd<3eJ$(!ksLcp9$0vb^3)a?!YTpgYR;+>y46~@)YcC$Q54BMdJD`FE_$%NKAN5kKYT`)_m1MtkN;-e zz565bDqWn(ZTX5NDWryKV{a8nh=1VwUD8Xu_LaPl0v=&NSK}e{tId@7S_C2huoEH+|oux#@~XC~y>`g3e9pDMn3nvc8#5 zryE_zhF%FxUTqXD&T7PsF2ylQzY|1I$8sp$A2(MHd5MF*V0ijYE{)%6yb%btg+$0v zF9R!m{Zi8z&l#rK1^V1LvL2&rY~{KNSg@E-S&Rgg3f|k~U7J%pBbiAXc|Q`UN%<|{ zORm^Hy7;&ju~cYZ40!zcAM_5)?u9j1%;g|H)^TgR?-T4&-uNx0ooznrRH7V+v^i?s zF0fYCYynYvObn_ty40B`@%{%*Sk4|kQzbj9Yxq&r1TYhWReL%r+ZV~q@bM}cX?J;r zE>pbi7T+i>$84ke?4z|o_hU*j2%}fOZg<=zN;eFO2b=Q+xgVqcN5DZC09(v{Q9F@7fFVZIkJW$kF7} zH%KqDIBybahLw|mgewCYZ$8}I9+pKKoUeqU4G1$9ub^i15nMm?^6!K2@HOgQmI?AP z74H8d0c}HJ;y!ctTQ=iWFs0V9>p;%ZFPNpN%HvUGCtNcd&MTbgC|+>cc1B(s^poi> zEa}m7i3|31hn#}WCwI(rQPzT|6gJVPu5GL}Iv1JBc)sC|gCPwjYHRq3+3zpQSrN)7 z5VlFuFQrGABs1w;nkUlGEQ_(*X>9ya*dd1raMo7-yqQ{jc;K*cn;Yyj7C z*8PxP^3!cQZT*cr2x`kA{QiNF-q;(D1yJdxq@jkGe-$r+j0kLHmgnv2Co1Ws_I;SB zmfmvG%jmi_iw^*Y6s|m0$EI3zSYA3op9s;OX)_h-jp8sH4HH_p%nxTHu35#29+K0_ z@8wzdrt&uT>DcmbBq>Mp%NboYj9Bkq)lgfs8iu@W>jRC?Pv2z=lH5fn3vT&K_pe2G zmbD6?|QGNsJ42P=-Kn6@E3!Y+?@gQp2C^Q z3#@b9Ee!LYN-!B;X0kOBEEf~fQ^J|#N~wCD>1O<~lX-aKe)zIW9F_>6cIUS3oIX;< zsH+>eqf3`*c{Sd<>h6k%zXg2m7@l<=CD2}6)C>&q_QhB>6#`$XpG$=t^@?1pd80bz z$%R{UJ3ZObRI5xg-)$*4Nx7t6ekU?rGwJscEh`g4lQXwY*;aZ^SURW-+H2&SjgV&# ztX-1B@?;P(6Ju5SR&?4^24Yq~cnpTfwZPyL~#Wug0(rR604XJ(rJS~|jKyg41+F74yy9BUc%9jeAFR-;F zgRON6huO-I$(xFWXEF3s+3B=nRK?xg81&rrMWJzo3$?jbtDAq%1DU9iI0^RfD! z^`Rw~Z+~bM49RDO+CWsx*YMzx&5=uI~)(#DPbnI%0MQYjodo zedgioWL2}bxFOft0sr-Ie)$V=W92?B>Yy~R1x(O;J_Khmcj@FU}~ zJ<;i_H}p>8Ktf1~o4g#;_p0aaWH#@8wHvxK!ob6M%j4!-3Hl$@>b5AoMbz@?!0Ot9v8uq-}UKM|KD zOOMzWm9E?V;Tidr>KqNn1GuUw$yhYaxZRU-WHA~79%%R52zeL`Ovs-)_OZDl=9tMJZ-0%A3SG=Yf1NNLf{9hp+ATjwz zRlmFYhsf`vnEyR=xP0;t(BVB%=L*x$|JixFKUGKSPx@i4J^#;y4LQ3E59QRGA_;NP zjIr~M2?~q}2EkCl;!5JQp^=%sAyEIcv8T~#kg+icXryas1Tr)Xo#1BugAjoXg5OB^ z--KiLkosbR*?(q$!(bp7@@4`G9ugWOasIECs*#0-h3eTL@xah~^>;D~5dhe#L_ zbrXpaFDA$+{9A-rh2mc-f`X%ADEQ47I5JYg78#=o34}+go;K9X&Nb$UaY}#TA_600 uZv?_(Vo|}Ue*kNjDBEJ7?B76SP;mG^5T|2B;*2s95)O73ZL7`&-2FG=5N5~# literal 1291041 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 W|NDt#|A(J{_Ot){Z~yCm`~LwLM=G)a From 534c03240013e487e61007b2f7e25c529d067710 Mon Sep 17 00:00:00 2001 From: Michael Murtaugh Date: Fri, 24 Mar 2017 13:16:03 +0100 Subject: [PATCH 06/14] removed old pd patch --- floppies/giulia/main.pd | 12 ------------ 1 file changed, 12 deletions(-) delete mode 100644 floppies/giulia/main.pd diff --git a/floppies/giulia/main.pd b/floppies/giulia/main.pd deleted file mode 100644 index 92bcef6..0000000 --- a/floppies/giulia/main.pd +++ /dev/null @@ -1,12 +0,0 @@ -#N canvas 296 315 450 300 10; -#X obj 37 104 osc~ 440; -#X obj 37 146 dac~; -#X obj 161 74 loadbang; -#X msg 161 111 \; pd dsp 1; -#X obj 37 36 netreceive 3000; -#X obj 46 62 print; -#X connect 0 0 1 0; -#X connect 0 0 1 1; -#X connect 2 0 3 0; -#X connect 4 0 5 0; -#X connect 4 0 0 0; From 5a34213327f2a65db0dd859059a9a83a847b4f44 Mon Sep 17 00:00:00 2001 From: margreetriphagen Date: Fri, 24 Mar 2017 13:26:30 +0100 Subject: [PATCH 07/14] files --- floppies/margreet/main.pd | 94 ++++++++++++++++++++++----------------- floppies/margreet/main.py | 2 +- 2 files changed, 55 insertions(+), 41 deletions(-) diff --git a/floppies/margreet/main.pd b/floppies/margreet/main.pd index 736b4f2..3e8a984 100644 --- a/floppies/margreet/main.pd +++ b/floppies/margreet/main.pd @@ -1,14 +1,15 @@ -#N canvas 553 37 553 723 10; -#X declare -lib unpackOSC; -#X text 360 432 attack; -#X text 431 433 release; -#X obj 362 569 line~; +#N canvas 398 23 553 723 10; +#X declare -lib OSC; +#X declare -lib net; +#X text 372 516 attack; +#X text 443 517 release; +#X obj 374 653 line~; #X obj 176 638 *~; -#X obj 361 452 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X obj 373 536 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; -#X obj 435 455 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X obj 447 539 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; -#X msg 371 480 stop; +#X msg 383 564 stop; #X text 70 455 #ikstem; #X text 188 454 #gestemd; #X obj 176 693 dac~; @@ -16,45 +17,58 @@ #X obj 19 243 print; #X obj 133 345 select #ikstem both; #X text 264 345 #gestemd; -#X obj 175 539 osc~ 450; -#X obj 361 503 del 50; -#X msg 432 526 0 250; -#X msg 296 503 30 30; -#X obj 476 483 del 50; -#X msg 361 527 1 500; -#X msg 195 477 400; -#X msg 68 480 150; +#X obj 373 587 del 50; +#X msg 444 610 0 250; +#X msg 308 587 30 30; +#X obj 488 567 del 50; +#X msg 373 611 1 500; #X obj 212 198 loadbang; -#X obj 364 23 import unpackOSC; #X msg 211 244 \; pd dsp 1; -#X text 16 34 comment; #X text 176 446 comment; -#X obj 174 596 *~ 10; -#X obj 34 92 unpackOSC; +#X obj 118 585 *~ 10; #X obj 34 48 udpreceive 127.0.0.1 4000; -#X connect 2 0 3 0; +#X obj 34 92 unpackOSC; +#X obj 364 23 import OSC; +#X obj 365 55 import net; +#X obj 149 148 print; +#X obj 182 539 osc~ 880; +#X msg 195 477 880; +#X obj 271 500 line~; +#X msg 266 434 1 10; +#X msg 318 494 0 30; +#X obj 318 451 b; +#X obj 318 473 delay 10; +#X msg 68 480 220; +#X text 16 34; #X connect 3 0 9 0; +#X connect 3 0 9 1; +#X connect 4 0 16 0; +#X connect 4 0 14 0; #X connect 4 0 17 0; -#X connect 4 0 15 0; -#X connect 4 0 18 0; -#X connect 5 0 16 0; +#X connect 5 0 15 0; #X connect 5 0 6 0; -#X connect 6 0 15 0; -#X connect 10 1 11 0; +#X connect 6 0 14 0; #X connect 10 1 12 0; -#X connect 10 2 11 0; -#X connect 12 0 21 0; -#X connect 12 0 4 0; -#X connect 12 1 20 0; -#X connect 12 1 4 0; -#X connect 14 0 27 0; -#X connect 15 0 19 0; +#X connect 12 0 35 0; +#X connect 12 0 31 0; +#X connect 12 1 29 0; +#X connect 12 1 31 0; +#X connect 14 0 18 0; +#X connect 15 0 2 0; #X connect 16 0 2 0; -#X connect 17 0 2 0; -#X connect 18 0 16 0; -#X connect 19 0 2 0; -#X connect 20 0 14 0; -#X connect 21 0 14 0; -#X connect 27 0 3 0; -#X connect 28 0 10 0; +#X connect 17 0 15 0; +#X connect 18 0 2 0; +#X connect 19 0 20 0; +#X connect 23 0 24 0; +#X connect 24 0 10 0; +#X connect 24 0 27 0; +#X connect 28 0 22 0; +#X connect 28 0 3 0; #X connect 29 0 28 0; +#X connect 30 0 3 1; +#X connect 31 0 30 0; +#X connect 31 0 33 0; +#X connect 32 0 30 0; +#X connect 33 0 34 0; +#X connect 34 0 32 0; +#X connect 35 0 28 0; diff --git a/floppies/margreet/main.py b/floppies/margreet/main.py index d08b171..92bad17 100644 --- a/floppies/margreet/main.py +++ b/floppies/margreet/main.py @@ -42,7 +42,7 @@ with open('/tmp/twittersonification.csv', 'rU') as csvfile: if then: ti = (now-then).total_seconds() #print ti/100 - sleep_time = ti/1000 + sleep_time = ti/40 print ("5.msg stderr", file=sys.stderr) From f2066e9a75c594b89fc9889b76920c3bae2d51fc Mon Sep 17 00:00:00 2001 From: giulia Date: Fri, 24 Mar 2017 13:32:29 +0100 Subject: [PATCH 08/14] new-voice --- floppies/giulia/scripts/voiceguide.sh | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/floppies/giulia/scripts/voiceguide.sh b/floppies/giulia/scripts/voiceguide.sh index b5ce2f1..d9d40e2 100644 --- a/floppies/giulia/scripts/voiceguide.sh +++ b/floppies/giulia/scripts/voiceguide.sh @@ -1,18 +1,18 @@ -v=-v en-gb+f5 -s 150 -espeak "Tetra Gamma Gait Analysis " -v en-gb +f5 -s 150 +v=-v en-gb -s 150 +espeak "Tetra Gamma Gait Analysis " -v en-gb -s 150 sleep 1 -espeak "Be ready for the security check." -v en-gb+f4 -s 150 +espeak "Be ready for the security check." -v en-gb -s 150 sleep 1 -espeak "Please state your name:" -v en+f4 -s 150 +espeak "Please state your name:" -v en-gb -s 150 sleep 1 -espeak "Position yourself 2 to 3 meters away from me." -v en-gb+f4 -s 150 +espeak "Position yourself 2 to 3 meters away from me." -v en-gb -s 150 sleep 2 -espeak "Walk towards me in a straight line ." -v en+f4 -s 150 -sleep 0.2 +espeak "Walk towards me in a straight line ." -v en-gb -s 150 +sleep 0.1 mpv sweep_up.wav @@ -27,9 +27,12 @@ ffmpeg -i $basename.avi -vframes 1 -ss 0.5 -y $basename.jpg mpv sweep_up.wav +espeak "Position yourself 2 to 3 meters away from me." -v en-gb -s 150 +sleep 2 + espeak "Walk towards me on a zig zag line. -" -v en+f4 -s175 -sleep 0.2 +" -v en-gb -s150 +sleep 0.1 mpv sweep_up.wav @@ -44,9 +47,7 @@ ffmpeg -i $basename.avi -vframes 1 -ss 0.5 -y $basename.jpg mpv sweep_up.wav - - -espeak "Thank you for your cooperation" -v en+f4 -s175 +espeak "Thank you for your cooperation" -v en-gb -s175 sleep 1 mpv sweep_up.wav From 1b7894e1478fc9e9f4d2ea934178e856f35e8b4b Mon Sep 17 00:00:00 2001 From: ugrnm Date: Fri, 24 Mar 2017 14:00:30 +0100 Subject: [PATCH 09/14] killing mpv + cyclone loading --- usr/local/sbin/thewhispererindarkness.sh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/usr/local/sbin/thewhispererindarkness.sh b/usr/local/sbin/thewhispererindarkness.sh index 5df17ee..5910693 100755 --- a/usr/local/sbin/thewhispererindarkness.sh +++ b/usr/local/sbin/thewhispererindarkness.sh @@ -6,7 +6,7 @@ FLOPPY="/media/floppy" MAINPY="${FLOPPY}/main.py" PYRUN="python ${MAINPY}" MAINPD="${FLOPPY}/main.pd" -PDRUN="pd -lib import -path /usr/local/lib/pd-externals/net/ -path /usr/local/lib/pd-externals/osc/ -lib osc -lib udpreceive -oss -r 48000 -rt -nogui ${MAINPD}" +PDRUN="pd -lib import -path /usr/local/lib/pd-externals/net/ -path /usr/local/lib/pd-externals/osc/ -path /usr/lib/pd/extra/cyclone -lib osc -lib udpreceive -oss -r 48000 -rt -nogui ${MAINPD}" stdbuf -oL -- udevadm monitor --udev -p ${FD} | while read -r -- STATE _ _ _ _ do @@ -35,11 +35,15 @@ do pkill -9 python fi if [ "$(pgrep -f '^pd')" ] - then - echo "pd still running ... killing" - pkill -9 pd - fi - + then + echo "pd still running ... killing" + pkill -9 pd + fi + if [ "$(pgrep -f '^mpv')" ] + then + echo "mpv still running ... killing" + pkill -9 mpv + fi fi fi done From 916d8ff25dca6594e78f99afeb7917c0bbe0610c Mon Sep 17 00:00:00 2001 From: Michael Murtaugh Date: Fri, 24 Mar 2017 14:06:58 +0100 Subject: [PATCH 10/14] changes --- floppies/giulia/main.py | 2 +- floppies/giulia/noweb/cgi-bin/index.cgi | 2 +- floppies/giulia/scripts/recordwalk.py | 12 ++++++------ floppies/giulia/scripts/voiceguide.sh | 0 4 files changed, 8 insertions(+), 8 deletions(-) mode change 100644 => 100755 floppies/giulia/scripts/voiceguide.sh diff --git a/floppies/giulia/main.py b/floppies/giulia/main.py index 83091ea..93d9241 100644 --- a/floppies/giulia/main.py +++ b/floppies/giulia/main.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/python import subprocess diff --git a/floppies/giulia/noweb/cgi-bin/index.cgi b/floppies/giulia/noweb/cgi-bin/index.cgi index b313494..fe114c5 100755 --- a/floppies/giulia/noweb/cgi-bin/index.cgi +++ b/floppies/giulia/noweb/cgi-bin/index.cgi @@ -67,7 +67,7 @@ print Template(u""" diff --git a/floppies/giulia/scripts/recordwalk.py b/floppies/giulia/scripts/recordwalk.py index f2327d9..7133696 100644 --- a/floppies/giulia/scripts/recordwalk.py +++ b/floppies/giulia/scripts/recordwalk.py @@ -11,8 +11,8 @@ from picamera import PiCamera p = ArgumentParser("") p.add_argument("--video", type=int, default=0, help="video, default: 0") p.add_argument("--output", default=None, help="path to save movie, default: None (show live)") -p.add_argument("--width", type=int, default=640, help="pre-detect resize width") -p.add_argument("--height", type=int, default=480, help="pre-detect resize height") +p.add_argument("--width", type=int, default=160, help="pre-detect resize width") +p.add_argument("--height", type=int, default=128, help="pre-detect resize height") p.add_argument("--fourcc", default="XVID", help="MJPG,mp4v,XVID") p.add_argument("--framerate", type=float, default=25, help="output frame rate") p.add_argument("--show", default=False, action="store_true") @@ -20,9 +20,9 @@ p.add_argument("--frames", type=int, default=100) args = p.parse_args() fourcc = None -cam = cv2.VideoCapture(args.video) -cam.set(cv2.cv.CV_CAP_PROP_FRAME_WIDTH, args.width) -cam.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, args.height) +#cam = cv2.VideoCapture(args.video) +#cam.set(cv2.cv.CV_CAP_PROP_FRAME_WIDTH, args.width) +#cam.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, args.height) if args.output: try: @@ -36,7 +36,7 @@ else: print ("Starting camera", file=sys.stderr) cam = PiCamera() -framesize = (160, 128) +framesize = (args.width, args.height) cam.resolution = framesize cam.framerate = 32 rawCapture = PiRGBArray(cam, size=framesize) diff --git a/floppies/giulia/scripts/voiceguide.sh b/floppies/giulia/scripts/voiceguide.sh old mode 100644 new mode 100755 From b67562cbd74a350949880a5832cfc5c8f49c1c42 Mon Sep 17 00:00:00 2001 From: Michael Murtaugh Date: Fri, 24 Mar 2017 14:37:11 +0100 Subject: [PATCH 11/14] delete after 10 in index --- floppies/giulia/noweb/cgi-bin/index.cgi | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/floppies/giulia/noweb/cgi-bin/index.cgi b/floppies/giulia/noweb/cgi-bin/index.cgi index fe114c5..869c3b7 100755 --- a/floppies/giulia/noweb/cgi-bin/index.cgi +++ b/floppies/giulia/noweb/cgi-bin/index.cgi @@ -5,8 +5,9 @@ import cgitb; cgitb.enable() from jinja2 import Template # Directory => ITEMS list (all files with a timestamp name, grouped) +path = "/var/www/static/gait" try: - ff = os.listdir("/var/www/static/gait") + ff = os.listdir(path) except OSError: ff = [] tpat = re.compile(r"^(\d\d\d\d)-(\d\d)-(\d\d)-(\d\d)-(\d\d)-(\d\d)") @@ -25,7 +26,8 @@ items = [items[key] for key in sorted(items, reverse=True)] for i in items[10:]: for f in i.items(): print "deleting ", f - # 10 os.unlink(f) + fp = os.path.join(path, f) + os.unlink(fp) # dump the data (debugging) # print "Content-type: text/plain" # print "" From 116e1e13c4d2f9d1239d778197fdd6674ce814f6 Mon Sep 17 00:00:00 2001 From: giulia Date: Fri, 24 Mar 2017 14:39:13 +0100 Subject: [PATCH 12/14] updatedc sss --- floppies/giulia/LICENSE | 23 ++++++++++++++++++++++- floppies/giulia/README | 12 ++++++------ floppies/giulia/noweb/styles/main.css | 4 ++-- 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/floppies/giulia/LICENSE b/floppies/giulia/LICENSE index bc8fde7..426cf67 100644 --- a/floppies/giulia/LICENSE +++ b/floppies/giulia/LICENSE @@ -1 +1,22 @@ -FLOPPYLEFT - 2017 +Nietzsche Public License v0.6 + +Copyright <2017> + +Copyright, like God, is dead. Let its corpse serve only to guard against its +resurrection. You may do anything with this work that copyright law would +normally restrict so long as you retain the above notice(s), this license, and +the following misquote and disclaimer of warranty with all redistributed +copies, modified or verbatim. You may also replace this license with the Open +Works License, available at the http://owl.apotheon.org website. + + Copyright is dead. Copyright remains dead, and we have killed it. How + shall we comfort ourselves, the murderers of all murderers? What was + holiest and mightiest of all that the world of censorship has yet owned has + bled to death under our knives: who will wipe this blood off us? What + water is there for us to clean ourselves? What festivals of atonement, + what sacred games shall we have to invent? Is not the greatness of this + deed too great for us? Must we ourselves not become authors simply to + appear worthy of it? + - apologies to Friedrich Wilhelm Nietzsche + +No warranty is implied by distribution under the terms of this license. \ No newline at end of file diff --git a/floppies/giulia/README b/floppies/giulia/README index 30c18c8..c669637 100644 --- a/floppies/giulia/README +++ b/floppies/giulia/README @@ -4,13 +4,13 @@ Title: Adopt A Walk Description: -By stealing the walk of another person do I become someone else? - This is an audio-guide of an experiment of gait analysis, -If you never heard about this term, gait analysis is the study of patterns of walk during ambulation used by new surveillance biometric technologies. +If you never heard about this term, gait analysis is the study of walking patterns as used by new surveillance biometric technologies. People are asked to walk following a series of spoken instructions. The walks are stored temporarily on a page where you’re invited to “adopt a walk” of another person. -“Have you ever tried to look at the way a person walk as a way to identify her? -Surveillance technologies are using the homogenic perception of human being as a model for their mechanics.” +“Have you ever tried to identify someone by the way they walk? +Surveillance technologies are using homogenic perception of human beings as a model for their mechanics.” -With this experiment you’re invited to observe characteristic of walks your similar and adopt them. Try to imagine that in modifying your walk you could escape from detection of your identity. \ No newline at end of file +With this experiment you’re suggested to observe characteristics of other walks and adopt them. +In adopting a different walk do you become someone else? +Will it be you or someone else’s identity that is detected by these surveillance algorithms? diff --git a/floppies/giulia/noweb/styles/main.css b/floppies/giulia/noweb/styles/main.css index 79446d3..d8935ec 100644 --- a/floppies/giulia/noweb/styles/main.css +++ b/floppies/giulia/noweb/styles/main.css @@ -1,6 +1,6 @@ @font-face: { - font-family: "Sporting Grotesque"; - src: url("/fonts/sporting_grotesque_normal.otf"); + font-family: "sporting_grotesque_gras-webfont"; + src: url("../fonts/sporting_grotesque_normal.otf"); } body { From 8437fbde7657129339d183c2ca4eb2d892522a36 Mon Sep 17 00:00:00 2001 From: ugrnm Date: Fri, 24 Mar 2017 14:39:45 +0100 Subject: [PATCH 13/14] no more mac invisible files --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index acfb236..bf08cc1 100644 --- a/.gitignore +++ b/.gitignore @@ -71,4 +71,5 @@ *.pyc -.DS_Store +*DS_Store +._* From e95d627ddfee97e5cc9a48148aff1babb7fe0aeb Mon Sep 17 00:00:00 2001 From: ugrnm Date: Fri, 24 Mar 2017 14:40:48 +0100 Subject: [PATCH 14/14] removed unused folder --- floppies/claudia/fine-line/index.html | 20 -- .../claudia/fine-line/libraries/p5.dom.min.js | 1 - .../claudia/fine-line/libraries/p5.min.js | 9 - .../fine-line/libraries/p5.sound.min.js | 6 - floppies/claudia/fine-line/sketch.js | 267 ------------------ 5 files changed, 303 deletions(-) delete mode 100755 floppies/claudia/fine-line/index.html delete mode 100644 floppies/claudia/fine-line/libraries/p5.dom.min.js delete mode 100644 floppies/claudia/fine-line/libraries/p5.min.js delete mode 100644 floppies/claudia/fine-line/libraries/p5.sound.min.js delete mode 100644 floppies/claudia/fine-line/sketch.js diff --git a/floppies/claudia/fine-line/index.html b/floppies/claudia/fine-line/index.html deleted file mode 100755 index da424a1..0000000 --- a/floppies/claudia/fine-line/index.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/floppies/claudia/fine-line/libraries/p5.dom.min.js b/floppies/claudia/fine-line/libraries/p5.dom.min.js deleted file mode 100644 index 4d19019..0000000 --- a/floppies/claudia/fine-line/libraries/p5.dom.min.js +++ /dev/null @@ -1 +0,0 @@ -/*! p5.js v0.5.7 March 14, 2017 */ !function(a,b){"function"==typeof define&&define.amd?define("p5.dom",["p5"],function(a){b(a)}):b("object"==typeof exports?require("../p5"):a.p5)}(this,function(a){function b(b){var c=document;return"string"==typeof b&&"#"===b[0]?(b=b.slice(1),c=document.getElementById(b)||document):b instanceof a.Element?c=b.elt:b instanceof HTMLElement&&(c=b),c}function c(b){if("INPUT"===b.tagName&&"checkbox"===b.type){var c=new a.Element(b);return c.checked=function(){return 0===arguments.length?this.elt.checked:(arguments[0]?this.elt.checked=!0:this.elt.checked=!1,this)},c}return"VIDEO"===b.tagName||"AUDIO"===b.tagName?new a.MediaElement(b):new a.Element(b)}function d(b,c,d){(c._userNode?c._userNode:document.body).appendChild(b);var e=d?new a.MediaElement(b):new a.Element(b);return c._elements.push(e),e}function e(a,b,c,e){var f=document.createElement(b),c=c||"";"string"==typeof c&&(c=[c]);for(var g=0;g1&&"function"==typeof c[1]?(a.fn=c[1],a.fn()):c.length>1&&"function"==typeof c[2]&&(a.fn=c[2],a.fn())};return b.src=c[0],c.length>1&&"string"==typeof c[1]&&(b.alt=c[1]),b.onload=function(){e()},a=d(b,this)},a.prototype.createA=function(a,b,c){var e=document.createElement("a");return e.href=a,e.innerHTML=b,c&&(e.target=c),d(e,this)},a.prototype.createSlider=function(a,b,c,e){var f=document.createElement("input");return f.type="range",f.min=a,f.max=b,0===e?f.step=1e-18:e&&(f.step=e),"number"==typeof c&&(f.value=c),d(f,this)},a.prototype.createButton=function(a,b){var c=document.createElement("button");return c.innerHTML=a,c.value=b,b&&(c.value=b),d(c,this)},a.prototype.createCheckbox=function(){var a=document.createElement("div"),b=document.createElement("input");b.type="checkbox",a.appendChild(b);var c=d(a,this);if(c.checked=function(){var a=c.elt.getElementsByTagName("input")[0];if(a){if(0===arguments.length)return a.checked;arguments[0]?a.checked=!0:a.checked=!1}return c},this.value=function(a){return c.value=a,this},arguments[0]){var e=Math.random().toString(36).slice(2),f=document.createElement("label");b.setAttribute("id",e),f.htmlFor=e,c.value(arguments[0]),f.appendChild(document.createTextNode(arguments[0])),a.appendChild(f)}return arguments[1]&&(b.checked=!0),c},a.prototype.createSelect=function(a){var b=document.createElement("select");a&&b.setAttribute("multiple","true");var c=d(b,this);return c.option=function(a,c){var d=document.createElement("option");d.innerHTML=a,arguments.length>1?d.value=c:d.value=a,b.appendChild(d)},c.selected=function(b){var c=[];if(arguments.length>0){for(var d=0;d1){var c=a.length,e=a[0].name,f=a[1].name;b=1;for(var g=1;g1?d.value=c:d.value=a,d.setAttribute("name","defaultradio"+b),h.appendChild(d),a){j++;var e=(Math.random().toString(36).slice(2),document.createElement("label"));d.setAttribute("id","defaultradio"+b+"-"+j),e.htmlFor="defaultradio"+b+"-"+j,e.appendChild(document.createTextNode(a)),h.appendChild(e)}return d},i.selected=function(){var a=this.elt.childNodes.length;if(1==arguments.length){for(var b=0;b-1?h.readAsText(g):h.readAsDataURL(g)}}if(window.File&&window.FileReader&&window.FileList&&window.Blob){var f=document.createElement("input");return f.type="file",c&&(f.multiple="multiple"),f.addEventListener("change",e,!1),d(f,this)}console.log("The File APIs are not fully supported in this browser. Cannot create element.")},a.prototype.createVideo=function(a,b){return e(this,"video",a,b)},a.prototype.createAudio=function(a,b){return e(this,"audio",a,b)},a.prototype.VIDEO="video",a.prototype.AUDIO="audio",navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia,a.prototype.createCapture=function(){for(var b,c,e=!0,f=!0,g=0;g2&&(this.elt.style.transform="translate3d("+arguments[0]+"px,"+arguments[1]+"px,"+arguments[2]+"px)",3===arguments.length?this.elt.parentElement.style.perspective="1000px":this.elt.parentElement.style.perspective=arguments[3]+"px"),this.elt.style.transform+=a,this},a.Element.prototype._rotate=function(){var a="";if(this.elt.style.transform){var a=this.elt.style.transform.replace(/rotate3d\(.*\)/g,"");a=a.replace(/rotate[X-Z]?\(.*\)/g,"")}return 1===arguments.length?this.elt.style.transform="rotate("+arguments[0]+"deg)":2===arguments.length?this.elt.style.transform="rotate("+arguments[0]+"deg, "+arguments[1]+"deg)":3===arguments.length&&(this.elt.style.transform="rotateX("+arguments[0]+"deg)",this.elt.style.transform+="rotateY("+arguments[1]+"deg)",this.elt.style.transform+="rotateZ("+arguments[2]+"deg)"),this.elt.style.transform+=a,this},a.Element.prototype.style=function(b,c){var d=this;if(c instanceof a.Color&&(c="rgba("+c.levels[0]+","+c.levels[1]+","+c.levels[2]+","+c.levels[3]/255+")"),void 0===c){if(b.indexOf(":")===-1)return window.getComputedStyle(d.elt).getPropertyValue(b);for(var e=b.split(";"),f=0;f0?(this.elt.value=arguments[0],this):"range"===this.elt.type?parseFloat(this.elt.value):this.elt.value},a.Element.prototype.show=function(){return this.elt.style.display="block",this},a.Element.prototype.hide=function(){return this.elt.style.display="none",this},a.Element.prototype.size=function(b,c){if(0===arguments.length)return{width:this.elt.offsetWidth,height:this.elt.offsetHeight};var d=b,e=c,f=a.prototype.AUTO;if(d!==f||e!==f){if(d===f?d=c*this.width/this.height:e===f&&(e=b*this.height/this.width),this.elt instanceof HTMLCanvasElement){var g={},h=this.elt.getContext("2d");for(var i in h)g[i]=h[i];this.elt.setAttribute("width",d*this._pInst._pixelDensity),this.elt.setAttribute("height",e*this._pInst._pixelDensity),this.elt.setAttribute("style","width:"+d+"px; height:"+e+"px"),this._pInst.scale(this._pInst._pixelDensity,this._pInst._pixelDensity);for(var i in g)this.elt.getContext("2d")[i]=g[i]}else this.elt.style.width=d+"px",this.elt.style.height=e+"px",this.elt.width=d,this.elt.height=e,this.width=d,this.height=e;this.width=this.elt.offsetWidth,this.height=this.elt.offsetHeight,this._pInst&&this._pInst._curElement.elt===this.elt&&(this._pInst._setProperty("width",this.elt.offsetWidth),this._pInst._setProperty("height",this.elt.offsetHeight))}return this},a.Element.prototype.remove=function(){for(var a in this._events)this.elt.removeEventListener(a,this._events[a]);this.elt.parentNode&&this.elt.parentNode.removeChild(this.elt),delete this},a.MediaElement=function(b,c){a.Element.call(this,b,c);var d=this;this.elt.crossOrigin="anonymous",this._prevTime=0,this._cueIDCounter=0,this._cues=[],this._pixelDensity=1,Object.defineProperty(d,"src",{get:function(){var a=d.elt.children[0].src,b=d.elt.src===window.location.href?"":d.elt.src;return a===window.location.href?b:a},set:function(a){for(var c=0;c1?this.elt.play():(this.elt.load(),this.elt.play()),this},a.MediaElement.prototype.stop=function(){return this.elt.pause(),this.elt.currentTime=0,this},a.MediaElement.prototype.pause=function(){return this.elt.pause(),this},a.MediaElement.prototype.loop=function(){return this.elt.setAttribute("loop",!0),this.play(),this},a.MediaElement.prototype.noLoop=function(){return this.elt.setAttribute("loop",!1),this},a.MediaElement.prototype.autoplay=function(a){return this.elt.setAttribute("autoplay",a),this},a.MediaElement.prototype.volume=function(a){if(void 0===a)return this.elt.volume;this.elt.volume=a},a.MediaElement.prototype.speed=function(a){if(void 0===a)return this.elt.playbackRate;this.elt.playbackRate=a},a.MediaElement.prototype.time=function(a){if(void 0===a)return this.elt.currentTime;this.elt.currentTime=a},a.MediaElement.prototype.duration=function(){return this.elt.duration},a.MediaElement.prototype.pixels=[],a.MediaElement.prototype.loadPixels=function(){return this.canvas||(this.canvas=document.createElement("canvas"),this.drawingContext=this.canvas.getContext("2d")),this.loadedmetadata&&(this.canvas.width!==this.elt.width&&(this.canvas.width=this.elt.width,this.canvas.height=this.elt.height,this.width=this.canvas.width,this.height=this.canvas.height),this.drawingContext.drawImage(this.elt,0,0,this.canvas.width,this.canvas.height),a.Renderer2D.prototype.loadPixels.call(this)),this},a.MediaElement.prototype.updatePixels=function(b,c,d,e){return this.loadedmetadata&&a.Renderer2D.prototype.updatePixels.call(this,b,c,d,e),this},a.MediaElement.prototype.get=function(b,c,d,e){return this.loadedmetadata?a.Renderer2D.prototype.get.call(this,b,c,d,e):void 0===b?new a.Image(1,1):d>1?new a.Image(b,c,d,e):[0,0,0,255]},a.MediaElement.prototype.set=function(b,c,d){this.loadedmetadata&&a.Renderer2D.prototype.set.call(this,b,c,d)},a.MediaElement.prototype.copy=function(){a.Renderer2D.prototype.copy.apply(this,arguments)},a.MediaElement.prototype.mask=function(){this.loadPixels(),a.Image.prototype.mask.apply(this,arguments)},a.MediaElement.prototype.onended=function(a){return this._onended=a,this},a.MediaElement.prototype.connect=function(b){var c,d;if("function"==typeof a.prototype.getAudioContext)c=a.prototype.getAudioContext(),d=a.soundOut.input;else try{c=b.context,d=c.destination}catch(a){throw"connect() is meant to be used with Web Audio API or p5.sound.js"}this.audioSourceNode||(this.audioSourceNode=c.createMediaElementSource(this.elt),this.audioSourceNode.connect(d)),b?b.input?this.audioSourceNode.connect(b.input):this.audioSourceNode.connect(b):this.audioSourceNode.connect(d)},a.MediaElement.prototype.disconnect=function(){if(!this.audioSourceNode)throw"nothing to disconnect";this.audioSourceNode.disconnect()},a.MediaElement.prototype.showControls=function(){this.elt.style["text-align"]="inherit",this.elt.controls=!0},a.MediaElement.prototype.hideControls=function(){this.elt.controls=!1},a.MediaElement.prototype.addCue=function(a,b,c){var d=this._cueIDCounter++,e=new f(b,a,d,c);return this._cues.push(e),this.elt.ontimeupdate||(this.elt.ontimeupdate=this._onTimeUpdate.bind(this)),d},a.MediaElement.prototype.removeCue=function(a){for(var b=0;b0,"No English "+b+" specified.")}var c=[],d=this;b("fontFamily"),b("weightName"),b("manufacturer"),b("copyright"),b("version"),a(this.unitsPerEm>0,"No unitsPerEm specified.")},d.prototype.toTables=function(){return f.fontToTable(this)},d.prototype.toBuffer=function(){for(var a=this.toTables(),b=a.encode(),c=new ArrayBuffer(b.length),d=new Uint8Array(c),e=0;e=0&&c>0&&(a+=" "),a+=b(d)}return a}a=void 0!==a?a:2;for(var d="",e=0;e>4,g=15&e;if(f===c)break;if(b+=d[f],g===c)break;b+=d[g]}return parseFloat(b)}function g(a,b){var c,d,e,g;if(28===b)return c=a.parseByte(),d=a.parseByte(),c<<8|d;if(29===b)return c=a.parseByte(),d=a.parseByte(),e=a.parseByte(),g=a.parseByte(),c<<24|d<<16|e<<8|g;if(30===b)return f(a);if(b>=32&&b<=246)return b-139;if(b>=247&&b<=250)return c=a.parseByte(),256*(b-247)+c+108;if(b>=251&&b<=254)return c=a.parseByte(),256*-(b-251)-c-108;throw new Error("Invalid b0 "+b)}function h(a){for(var b={},c=0;c>1,l.length=0,n=!0}function f(c){for(var s,t,u,v,w,x,y,z,A,B,C,D,E=0;E1&&!n&&(o=l.shift()+a.nominalWidthX,n=!0),r+=l.pop(),d(q,r);break;case 5:for(;l.length>0;)q+=l.shift(),r+=l.shift(),k.lineTo(q,r);break;case 6:for(;l.length>0&&(q+=l.shift(),k.lineTo(q,r),0!==l.length);)r+=l.shift(),k.lineTo(q,r);break;case 7:for(;l.length>0&&(r+=l.shift(),k.lineTo(q,r),0!==l.length);)q+=l.shift(),k.lineTo(q,r);break;case 8:for(;l.length>0;)g=q+l.shift(),h=r+l.shift(),i=g+l.shift(),j=h+l.shift(),q=i+l.shift(),r=j+l.shift(),k.curveTo(g,h,i,j,q,r);break;case 10:w=l.pop()+a.subrsBias,x=a.subrs[w],x&&f(x);break;case 11:return;case 12:switch(F=c[E],E+=1,F){case 35:g=q+l.shift(),h=r+l.shift(),i=g+l.shift(),j=h+l.shift(),y=i+l.shift(),z=j+l.shift(),A=y+l.shift(),B=z+l.shift(),C=A+l.shift(),D=B+l.shift(),q=C+l.shift(),r=D+l.shift(),l.shift(),k.curveTo(g,h,i,j,y,z),k.curveTo(A,B,C,D,q,r);break;case 34:g=q+l.shift(),h=r,i=g+l.shift(),j=h+l.shift(),y=i+l.shift(),z=j,A=y+l.shift(),B=j,C=A+l.shift(),D=r,q=C+l.shift(),k.curveTo(g,h,i,j,y,z),k.curveTo(A,B,C,D,q,r);break;case 36:g=q+l.shift(),h=r+l.shift(),i=g+l.shift(),j=h+l.shift(),y=i+l.shift(),z=j,A=y+l.shift(),B=j,C=A+l.shift(),D=B+l.shift(),q=C+l.shift(),k.curveTo(g,h,i,j,y,z),k.curveTo(A,B,C,D,q,r);break;case 37:g=q+l.shift(),h=r+l.shift(),i=g+l.shift(),j=h+l.shift(),y=i+l.shift(),z=j+l.shift(),A=y+l.shift(),B=z+l.shift(),C=A+l.shift(),D=B+l.shift(),Math.abs(C-q)>Math.abs(D-r)?q=C+l.shift():r=D+l.shift(),k.curveTo(g,h,i,j,y,z),k.curveTo(A,B,C,D,q,r);break;default:console.log("Glyph "+b.index+": unknown operator 1200"+F),l.length=0}break;case 14:l.length>0&&!n&&(o=l.shift()+a.nominalWidthX,n=!0),p&&(k.closePath(),p=!1);break;case 18:e();break;case 19:case 20:e(),E+=m+7>>3;break;case 21:l.length>2&&!n&&(o=l.shift()+a.nominalWidthX,n=!0),r+=l.pop(),q+=l.pop(),d(q,r);break;case 22:l.length>1&&!n&&(o=l.shift()+a.nominalWidthX,n=!0),q+=l.pop(),d(q,r);break;case 23:e();break;case 24:for(;l.length>2;)g=q+l.shift(),h=r+l.shift(),i=g+l.shift(),j=h+l.shift(),q=i+l.shift(),r=j+l.shift(),k.curveTo(g,h,i,j,q,r);q+=l.shift(),r+=l.shift(),k.lineTo(q,r);break;case 25:for(;l.length>6;)q+=l.shift(),r+=l.shift(),k.lineTo(q,r);g=q+l.shift(),h=r+l.shift(),i=g+l.shift(),j=h+l.shift(),q=i+l.shift(),r=j+l.shift(),k.curveTo(g,h,i,j,q,r);break;case 26:for(l.length%2&&(q+=l.shift());l.length>0;)g=q,h=r+l.shift(),i=g+l.shift(),j=h+l.shift(),q=i,r=j+l.shift(),k.curveTo(g,h,i,j,q,r);break;case 27:for(l.length%2&&(r+=l.shift());l.length>0;)g=q+l.shift(),h=r,i=g+l.shift(),j=h+l.shift(),q=i+l.shift(),r=j,k.curveTo(g,h,i,j,q,r);break;case 28:s=c[E],t=c[E+1],l.push((s<<24|t<<16)>>16),E+=2;break;case 29:w=l.pop()+a.gsubrsBias,x=a.gsubrs[w],x&&f(x);break;case 30:for(;l.length>0&&(g=q,h=r+l.shift(),i=g+l.shift(),j=h+l.shift(),q=i+l.shift(),r=j+(1===l.length?l.shift():0),k.curveTo(g,h,i,j,q,r),0!==l.length);)g=q+l.shift(),h=r,i=g+l.shift(),j=h+l.shift(),r=j+l.shift(),q=i+(1===l.length?l.shift():0),k.curveTo(g,h,i,j,q,r);break;case 31:for(;l.length>0&&(g=q+l.shift(),h=r,i=g+l.shift(),j=h+l.shift(),r=j+l.shift(),q=i+(1===l.length?l.shift():0),k.curveTo(g,h,i,j,q,r),0!==l.length);)g=q,h=r+l.shift(),i=g+l.shift(),j=h+l.shift(),q=i+l.shift(),r=j+(1===l.length?l.shift():0),k.curveTo(g,h,i,j,q,r);break;default:F<32?console.log("Glyph "+b.index+": unknown operator "+F):F<247?l.push(F-139):F<251?(s=c[E],E+=1,l.push(256*(F-247)+s+108)):F<255?(s=c[E],E+=1,l.push(256*-(F-251)-s-108)):(s=c[E],t=c[E+1],u=c[E+2],v=c[E+3],E+=4,l.push((s<<24|t<<16|u<<8|v)/65536))}}}var g,h,i,j,k=new K.Path,l=[],m=0,n=!1,o=a.defaultWidthX,p=!1,q=0,r=0;return f(c),b.advanceWidth=o,k}function r(a){return a.length<1240?107:a.length<33900?1131:32768}function s(a,b,c){c.tables.cff={};var d=l(a,b),f=e(a,d.endOffset,J.bytesToString),g=e(a,f.endOffset),h=e(a,g.endOffset,J.bytesToString),i=e(a,h.endOffset);c.gsubrs=i.objects,c.gsubrsBias=r(c.gsubrs);var j=new DataView(new Uint8Array(g.objects[0]).buffer),k=m(j,h.objects);c.tables.cff.topDict=k;var s=b+k.private[1],t=n(a,s,k.private[0],h.objects);if(c.defaultWidthX=t.defaultWidthX,c.nominalWidthX=t.nominalWidthX,0!==t.subrs){var u=s+t.subrs,v=e(a,u);c.subrs=v.objects,c.subrsBias=r(c.subrs)}else c.subrs=[],c.subrsBias=0;var w=e(a,b+k.charStrings);c.nGlyphs=w.objects.length;var x=o(a,b+k.charset,c.nGlyphs,h.objects);0===k.encoding?c.cffEncoding=new H.CffEncoding(H.cffStandardEncoding,x):1===k.encoding?c.cffEncoding=new H.CffEncoding(H.cffExpertEncoding,x):c.cffEncoding=p(a,b+k.encoding,x),c.encoding=c.encoding||c.cffEncoding,c.glyphs=new I.GlyphSet(c);for(var y=0;y=0&&(c=d),d=b.indexOf(a),d>=0?c=d+H.cffStandardStrings.length:(c=H.cffStandardStrings.length+b.length,b.push(a)),c}function u(){return new L.Table("Header",[{name:"major",type:"Card8",value:1},{name:"minor",type:"Card8",value:0},{name:"hdrSize",type:"Card8",value:4},{name:"major",type:"Card8",value:1}])}function v(a){var b=new L.Table("Name INDEX",[{name:"names",type:"INDEX",value:[]}]);b.names=[];for(var c=0;c>1,j.skip("uShort",3),d.glyphIndexMap={};var l=new i.Parser(a,b+e+14),m=new i.Parser(a,b+e+16+2*k),n=new i.Parser(a,b+e+16+4*k),o=new i.Parser(a,b+e+16+6*k),p=b+e+16+8*k;for(c=0;c0?(f=a.parseByte(),0==(b&e)&&(f=-f),f=c+f):f=(b&e)>0?c:c+a.parseShort(),f}function e(a,b,c){var e=new m.Parser(b,c);a.numberOfContours=e.parseShort(),a.xMin=e.parseShort(),a.yMin=e.parseShort(),a.xMax=e.parseShort(),a.yMax=e.parseShort();var f,g;if(a.numberOfContours>0){var h,i=a.endPointIndices=[];for(h=0;h0)for(var l=e.parseByte(),n=0;n0){var o,p=[];if(j>0){for(h=0;h=0,p.push(o);var q=0;for(h=0;h0?(t.dx=e.parseShort(),t.dy=e.parseShort()):(t.dx=e.parseChar(),t.dy=e.parseChar()),(8&f)>0?t.xScale=t.yScale=e.parseF2Dot14():(64&f)>0?(t.xScale=e.parseF2Dot14(),t.yScale=e.parseF2Dot14()):(128&f)>0&&(t.xScale=e.parseF2Dot14(),t.scale01=e.parseF2Dot14(),t.scale10=e.parseF2Dot14(),t.yScale=e.parseF2Dot14()),a.components.push(t),s=!!(32&f)}}}function f(a,b){for(var c=[],d=0;d>1;a=c.begin&&a=1&&(c.ulCodePageRange1=d.parseULong(),c.ulCodePageRange2=d.parseULong()),c.version>=2&&(c.sxHeight=d.parseShort(),c.sCapHeight=d.parseShort(),c.usDefaultChar=d.parseUShort(),c.usBreakChar=d.parseUShort(),c.usMaxContent=d.parseUShort()),c}function f(a){return new h.Table("OS/2",[{name:"version",type:"USHORT",value:3},{name:"xAvgCharWidth",type:"SHORT",value:0},{name:"usWeightClass",type:"USHORT",value:0},{name:"usWidthClass",type:"USHORT",value:0},{name:"fsType",type:"USHORT",value:0},{name:"ySubscriptXSize",type:"SHORT",value:650},{name:"ySubscriptYSize",type:"SHORT",value:699},{name:"ySubscriptXOffset",type:"SHORT",value:0},{name:"ySubscriptYOffset",type:"SHORT",value:140},{name:"ySuperscriptXSize",type:"SHORT",value:650},{name:"ySuperscriptYSize",type:"SHORT",value:699},{name:"ySuperscriptXOffset",type:"SHORT",value:0},{name:"ySuperscriptYOffset",type:"SHORT",value:479},{name:"yStrikeoutSize",type:"SHORT",value:49},{name:"yStrikeoutPosition",type:"SHORT",value:258},{name:"sFamilyClass",type:"SHORT",value:0},{name:"bFamilyType",type:"BYTE",value:0},{name:"bSerifStyle",type:"BYTE",value:0},{name:"bWeight",type:"BYTE",value:0},{name:"bProportion",type:"BYTE",value:0},{name:"bContrast",type:"BYTE",value:0},{name:"bStrokeVariation",type:"BYTE",value:0},{name:"bArmStyle",type:"BYTE",value:0},{name:"bLetterform",type:"BYTE",value:0},{name:"bMidline",type:"BYTE",value:0},{name:"bXHeight",type:"BYTE",value:0},{name:"ulUnicodeRange1",type:"ULONG",value:0},{name:"ulUnicodeRange2",type:"ULONG",value:0},{name:"ulUnicodeRange3",type:"ULONG",value:0},{name:"ulUnicodeRange4",type:"ULONG",value:0},{name:"achVendID",type:"CHARARRAY",value:"XXXX"},{name:"fsSelection",type:"USHORT",value:0},{name:"usFirstCharIndex",type:"USHORT",value:0},{name:"usLastCharIndex",type:"USHORT",value:0},{name:"sTypoAscender",type:"SHORT",value:0},{name:"sTypoDescender",type:"SHORT",value:0},{name:"sTypoLineGap",type:"SHORT",value:0},{name:"usWinAscent",type:"USHORT",value:0},{name:"usWinDescent",type:"USHORT",value:0},{name:"ulCodePageRange1",type:"ULONG",value:0},{name:"ulCodePageRange2",type:"ULONG",value:0},{name:"sxHeight",type:"SHORT",value:0},{name:"sCapHeight",type:"SHORT",value:0},{name:"usDefaultChar",type:"USHORT",value:0},{name:"usBreakChar",type:"USHORT",value:0},{name:"usMaxContext",type:"USHORT",value:0}],a)}var g=a("../parse"),h=a("../table"),i=[{begin:0,end:127},{begin:128,end:255},{begin:256,end:383},{begin:384,end:591},{begin:592,end:687},{begin:688,end:767},{begin:768,end:879},{begin:880,end:1023},{begin:11392,end:11519},{begin:1024,end:1279},{begin:1328,end:1423},{begin:1424,end:1535},{begin:42240,end:42559},{begin:1536,end:1791},{begin:1984,end:2047},{begin:2304,end:2431},{begin:2432,end:2559},{begin:2560,end:2687},{begin:2688,end:2815},{begin:2816,end:2943},{begin:2944,end:3071},{begin:3072,end:3199},{begin:3200,end:3327},{begin:3328,end:3455},{begin:3584,end:3711},{begin:3712,end:3839},{begin:4256,end:4351},{begin:6912,end:7039},{begin:4352,end:4607},{begin:7680,end:7935},{begin:7936,end:8191},{begin:8192,end:8303},{begin:8304,end:8351},{begin:8352,end:8399},{begin:8400,end:8447},{begin:8448,end:8527},{begin:8528,end:8591},{begin:8592,end:8703},{begin:8704,end:8959},{begin:8960,end:9215},{begin:9216,end:9279},{begin:9280,end:9311},{begin:9312,end:9471},{begin:9472,end:9599},{begin:9600,end:9631},{begin:9632,end:9727},{begin:9728,end:9983},{begin:9984,end:10175},{begin:12288,end:12351},{begin:12352,end:12447},{begin:12448,end:12543},{begin:12544,end:12591},{begin:12592,end:12687},{begin:43072,end:43135},{begin:12800,end:13055},{begin:13056,end:13311},{begin:44032,end:55215},{begin:55296,end:57343},{begin:67840,end:67871},{begin:19968,end:40959},{begin:57344,end:63743},{begin:12736,end:12783},{begin:64256,end:64335},{begin:64336,end:65023},{begin:65056,end:65071},{begin:65040,end:65055},{begin:65104,end:65135},{begin:65136,end:65279},{begin:65280,end:65519},{begin:65520,end:65535},{begin:3840,end:4095},{begin:1792,end:1871},{begin:1920,end:1983},{begin:3456,end:3583},{begin:4096,end:4255},{begin:4608,end:4991},{begin:5024,end:5119},{begin:5120,end:5759},{begin:5760,end:5791},{begin:5792,end:5887},{begin:6016,end:6143},{begin:6144,end:6319},{begin:10240,end:10495},{begin:40960,end:42127},{begin:5888,end:5919},{begin:66304,end:66351},{begin:66352,end:66383},{begin:66560,end:66639},{begin:118784,end:119039},{begin:119808,end:120831},{begin:1044480,end:1048573},{begin:65024,end:65039},{begin:917504,end:917631},{begin:6400,end:6479},{begin:6480,end:6527},{begin:6528,end:6623},{begin:6656,end:6687},{begin:11264,end:11359},{begin:11568,end:11647},{begin:19904,end:19967},{begin:43008,end:43055},{begin:65536,end:65663},{begin:65856,end:65935},{begin:66432,end:66463},{begin:66464,end:66527},{begin:66640,end:66687},{begin:66688,end:66735},{begin:67584,end:67647},{begin:68096,end:68191},{begin:119552,end:119647},{begin:73728,end:74751},{begin:119648,end:119679},{begin:7040,end:7103},{begin:7168,end:7247},{begin:7248,end:7295},{begin:43136,end:43231},{begin:43264,end:43311},{begin:43312,end:43359},{begin:43520,end:43615},{begin:65936,end:65999},{begin:66e3,end:66047},{begin:66208,end:66271},{begin:127024,end:127135}];c.unicodeRanges=i,c.getUnicodeRange=d,c.parse=e,c.make=f},{"../parse":9,"../table":11}],26:[function(a,b,c){"use strict";function d(a,b){var c,d={},e=new g.Parser(a,b);switch(d.version=e.parseVersion(),d.italicAngle=e.parseFixed(),d.underlinePosition=e.parseShort(),d.underlineThickness=e.parseShort(),d.isFixedPitch=e.parseULong(),d.minMemType42=e.parseULong(),d.maxMemType42=e.parseULong(),d.minMemType1=e.parseULong(),d.maxMemType1=e.parseULong(),d.version){case 1:d.names=f.standardNames.slice();break;case 2:for(d.numberOfGlyphs=e.parseUShort(),d.glyphNameIndex=new Array(d.numberOfGlyphs),c=0;c=f.standardNames.length){var h=e.parseChar();d.names.push(e.parseString(h))}break;case 2.5:for(d.numberOfGlyphs=e.parseUShort(),d.offset=new Array(d.numberOfGlyphs),c=0;cb.value.tag?1:-1}),b.fields=b.fields.concat(g),b.fields=b.fields.concat(h),b}function h(a,b,c){for(var d=0;d0){return a.glyphs.get(e).getMetrics()}}return c}function i(a){for(var b=0,c=0;cE||null===b)&&(b=E),x 123 are reserved for internal usage");B|=1<0?r.make(U):void 0,X=v.make(),Y=n.make(a.glyphs,{version:a.getEnglishName("version"),fullName:Q,familyName:O,weightName:P,postScriptName:R,unitsPerEm:a.unitsPerEm}),Z=[I,J,K,L,V,N,X,Y,M];W&&Z.push(W);var $=g(Z),_=$.encode(),aa=e(_),ba=$.fields,ca=!1;for(C=0;C=0&&a<=255,"Byte value should be between 0 and 255."),[a]},j.BYTE=d(1),i.CHAR=function(a){return[a.charCodeAt(0)]},j.CHAR=d(1),i.CHARARRAY=function(a){for(var b=[],c=0;c>8&255,255&a]},j.USHORT=d(2),i.SHORT=function(a){return a>=f&&(a=-(2*f-a)),[a>>8&255,255&a]},j.SHORT=d(2),i.UINT24=function(a){return[a>>16&255,a>>8&255,255&a]},j.UINT24=d(3),i.ULONG=function(a){return[a>>24&255,a>>16&255,a>>8&255,255&a]},j.ULONG=d(4),i.LONG=function(a){return a>=g&&(a=-(2*g-a)),[a>>24&255,a>>16&255,a>>8&255,255&a]},j.LONG=d(4),i.FIXED=i.ULONG,j.FIXED=j.ULONG,i.FWORD=i.SHORT,j.FWORD=j.SHORT,i.UFWORD=i.USHORT,j.UFWORD=j.USHORT,i.LONGDATETIME=function(){return[0,0,0,0,0,0,0,0]},j.LONGDATETIME=d(8),i.TAG=function(a){return e.argument(4===a.length,"Tag should be exactly 4 ASCII characters."),[a.charCodeAt(0),a.charCodeAt(1),a.charCodeAt(2),a.charCodeAt(3)]},j.TAG=d(4),i.Card8=i.BYTE,j.Card8=j.BYTE,i.Card16=i.USHORT,j.Card16=j.USHORT,i.OffSize=i.BYTE,j.OffSize=j.BYTE,i.SID=i.USHORT,j.SID=j.USHORT,i.NUMBER=function(a){return a>=-107&&a<=107?[a+139]:a>=108&&a<=1131?(a-=108,[247+(a>>8),255&a]):a>=-1131&&a<=-108?(a=-a-108,[251+(a>>8),255&a]):a>=-32768&&a<=32767?i.NUMBER16(a):i.NUMBER32(a)},j.NUMBER=function(a){return i.NUMBER(a).length},i.NUMBER16=function(a){return[28,a>>8&255,255&a]},j.NUMBER16=d(3),i.NUMBER32=function(a){return[29,a>>24&255,a>>16&255,a>>8&255,255&a]},j.NUMBER32=d(5),i.REAL=function(a){var b=a.toString(),c=/\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(b);if(c){var d=parseFloat("1e"+((c[2]?+c[2]:0)+c[1].length));b=(Math.round(a*d)/d).toString()}var e,f,g="";for(e=0,f=b.length;e>8&255),b.push(255&d)}return b},j.UTF16=function(a){return 2*a.length};var k={"x-mac-croatian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈Ć«Č… ÀÃÕŒœĐ—“”‘’÷◊©⁄€‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ","x-mac-cyrillic":"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю","x-mac-gaelic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØḂ±≤≥ḃĊċḊḋḞḟĠġṀæøṁṖṗɼƒſṠ«»… ÀÃÕŒœ–—“”‘’ṡẛÿŸṪ€‹›Ŷŷṫ·Ỳỳ⁊ÂÊÁËÈÍÎÏÌÓÔ♣ÒÚÛÙıÝýŴŵẄẅẀẁẂẃ","x-mac-greek":"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦€ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ­","x-mac-icelandic":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-inuit":"ᐃᐄᐅᐆᐊᐋᐱᐲᐳᐴᐸᐹᑉᑎᑏᑐᑑᑕᑖᑦᑭᑮᑯᑰᑲᑳᒃᒋᒌᒍᒎᒐᒑ°ᒡᒥᒦ•¶ᒧ®©™ᒨᒪᒫᒻᓂᓃᓄᓅᓇᓈᓐᓯᓰᓱᓲᓴᓵᔅᓕᓖᓗᓘᓚᓛᓪᔨᔩᔪᔫᔭ… ᔮᔾᕕᕖᕗ–—“”‘’ᕘᕙᕚᕝᕆᕇᕈᕉᕋᕌᕐᕿᖀᖁᖂᖃᖄᖅᖏᖐᖑᖒᖓᖔᖕᙱᙲᙳᙴᙵᙶᖖᖠᖡᖢᖣᖤᖥᖦᕼŁł","x-mac-ce":"ÄĀāÉĄÖÜáąČäčĆć鏟ĎíďĒēĖóėôöõúĚěü†°Ę£§•¶ß®©™ę¨≠ģĮįĪ≤≥īĶ∂∑łĻļĽľĹĺŅņѬ√ńŇ∆«»… ňŐÕőŌ–—“”‘’÷◊ōŔŕŘ‹›řŖŗŠ‚„šŚśÁŤťÍŽžŪÓÔūŮÚůŰűŲųÝýķŻŁżĢˇ",macintosh:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-romanian":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂȘ∞±≤≥¥µ∂∑∏π∫ªºΩăș¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄€‹›Țț‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ","x-mac-turkish":"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔÒÚÛÙˆ˜¯˘˙˚¸˝˛ˇ"};h.MACSTRING=function(a,b,c,d){var e=k[d];if(void 0!==e){for(var f="",g=0;g=128&&void 0===(f=c[f]))return;d.push(f)}return d}},j.MACSTRING=function(a,b){var c=i.MACSTRING(a,b);return void 0!==c?c.length:0},i.INDEX=function(a){var b,c=1,d=[c],e=[],f=0;for(b=0;b0;)self._completeHandlers.shift()(a)}function success(resp){var type=o.type||resp&&setType(resp.getResponseHeader("Content-Type"));resp="jsonp"!==type?self.request:resp;var filteredResponse=globalSetupOptions.dataFilter(resp.responseText,type),r=filteredResponse;try{resp.responseText=r}catch(a){}if(r)switch(type){case"json":try{resp=win.JSON?win.JSON.parse(r):eval("("+r+")")}catch(a){return error(resp,"Could not parse JSON in response",a)}break;case"js":resp=eval(r);break;case"html":resp=r;break;case"xml":resp=resp.responseXML&&resp.responseXML.parseError&&resp.responseXML.parseError.errorCode&&resp.responseXML.parseError.reason?null:resp.responseXML}for(self._responseArgs.resp=resp,self._fulfilled=!0,fn(resp),self._successHandler(resp);self._fulfillmentHandlers.length>0;)resp=self._fulfillmentHandlers.shift()(resp);complete(resp)}function timedOut(){self._timedOut=!0,self.request.abort()}function error(a,b,c){for(a=self.request,self._responseArgs.resp=a,self._responseArgs.msg=b,self._responseArgs.t=c,self._erred=!0;self._errorHandlers.length>0;)self._errorHandlers.shift()(a,b,c);complete(a)}this.url="string"==typeof o?o:o.url,this.timeout=null,this._fulfilled=!1,this._successHandler=function(){},this._fulfillmentHandlers=[],this._errorHandlers=[],this._completeHandlers=[],this._erred=!1,this._responseArgs={};var self=this;fn=fn||function(){},o.timeout&&(this.timeout=setTimeout(function(){timedOut()},o.timeout)),o.success&&(this._successHandler=function(){o.success.apply(o,arguments)}),o.error&&this._errorHandlers.push(function(){o.error.apply(o,arguments)}),o.complete&&this._completeHandlers.push(function(){o.complete.apply(o,arguments)}),this.request=getRequest.call(this,success,error)}function reqwest(a,b){return new Reqwest(a,b)}function normalize(a){return a?a.replace(/\r?\n/g,"\r\n"):""}function serial(a,b){var c,d,e,f,g=a.name,h=a.tagName.toLowerCase(),i=function(a){a&&!a.disabled&&b(g,normalize(a.attributes.value&&a.attributes.value.specified?a.value:a.text))};if(!a.disabled&&g)switch(h){case"input":/reset|button|image|file/i.test(a.type)||(c=/checkbox/i.test(a.type),d=/radio/i.test(a.type),e=a.value,(!(c||d)||a.checked)&&b(g,normalize(c&&""===e?"on":e)));break;case"textarea":b(g,normalize(a.value));break;case"select":if("select-one"===a.type.toLowerCase())i(a.selectedIndex>=0?a.options[a.selectedIndex]:null);else for(f=0;a.length&&f=6&&(a-=6),a<1?b+(c-b)*a:a<3?c:a<4?b+(c-b)*(4-a):b};e=[h(b+2,g,f),h(b,g,f),h(b-2,g,f),a[3]]}return e},d.ColorConversion._rgbaToHSBA=function(a){var b,c,d=a[0],e=a[1],f=a[2],g=Math.max(d,e,f),h=g-Math.min(d,e,f);return 0===h?(b=0,c=0):(c=h/g,d===g?b=(e-f)/h:e===g?b=2+(f-d)/h:f===g&&(b=4+(d-e)/h),b<0?b+=6:b>=6&&(b-=6)),[b/6,c,g,a[3]]},d.ColorConversion._rgbaToHSLA=function(a){var b,c,d=a[0],e=a[1],f=a[2],g=Math.max(d,e,f),h=Math.min(d,e,f),i=g+h,j=g-h;return 0===j?(b=0,c=0):(c=i<1?j/i:j/(2-i),d===g?b=(e-f)/j:e===g?b=2+(f-d)/j:f===g&&(b=4+(d-e)/j),b<0?b+=6:b>=6&&(b-=6)),[b/6,c,i/2,a[3]]},b.exports=d.ColorConversion},{"../core/core":39}],32:[function(a,b,c){"use strict";var d=a("../core/core"),e=a("../core/constants");a("./p5.Color"),d.prototype.alpha=function(a){if(a instanceof d.Color||a instanceof Array)return this.color(a)._getAlpha();throw new Error("Needs p5.Color or pixel array as argument.")},d.prototype.blue=function(a){if(a instanceof d.Color||a instanceof Array)return this.color(a)._getBlue();throw new Error("Needs p5.Color or pixel array as argument.")},d.prototype.brightness=function(a){if(a instanceof d.Color||a instanceof Array)return this.color(a)._getBrightness();throw new Error("Needs p5.Color or pixel array as argument.")},d.prototype.color=function(){return arguments[0]instanceof d.Color?arguments[0]:arguments[0]instanceof Array?this instanceof d.Renderer?new d.Color(this,arguments[0]):new d.Color(this._renderer,arguments[0]):this instanceof d.Renderer?new d.Color(this,arguments):new d.Color(this._renderer,arguments)},d.prototype.green=function(a){if(a instanceof d.Color||a instanceof Array)return this.color(a)._getGreen();throw new Error("Needs p5.Color or pixel array as argument.")},d.prototype.hue=function(a){if(a instanceof d.Color||a instanceof Array)return this.color(a)._getHue();throw new Error("Needs p5.Color or pixel array as argument.")},d.prototype.lerpColor=function(a,b,c){var d,f,g,h,i,j,k=this._renderer._colorMode,l=this._renderer._colorMaxes;if(k===e.RGB)i=a.levels.map(function(a){return a/255}),j=b.levels.map(function(a){return a/255});else if(k===e.HSB)a._getBrightness(),b._getBrightness(),i=a.hsba,j=b.hsba;else{if(k!==e.HSL)throw new Error(k+"cannot be used for interpolation.");a._getLightness(),b._getLightness(),i=a.hsla,j=b.hsla}return c=Math.max(Math.min(c,1),0),d=this.lerp(i[0],j[0],c),f=this.lerp(i[1],j[1],c),g=this.lerp(i[2],j[2],c),h=this.lerp(i[3],j[3],c),d*=l[k][0],f*=l[k][1],g*=l[k][2],h*=l[k][3],this.color(d,f,g,h)},d.prototype.lightness=function(a){if(a instanceof d.Color||a instanceof Array)return this.color(a)._getLightness();throw new Error("Needs p5.Color or pixel array as argument.")},d.prototype.red=function(a){if(a instanceof d.Color||a instanceof Array)return this.color(a)._getRed();throw new Error("Needs p5.Color or pixel array as argument.")},d.prototype.saturation=function(a){if(a instanceof d.Color||a instanceof Array)return this.color(a)._getSaturation();throw new Error("Needs p5.Color or pixel array as argument.")},b.exports=d},{"../core/constants":38,"../core/core":39,"./p5.Color":33}],33:[function(a,b,c){var d=a("../core/core"),e=a("../core/constants"),f=a("./color_conversion");d.Color=function(a,b){if(this.mode=a._colorMode,this.maxes=a._colorMaxes,this.mode!==e.RGB&&this.mode!==e.HSL&&this.mode!==e.HSB)throw new Error(this.mode+" is an invalid colorMode.");return this._array=d.Color._parseInputs.apply(a,b),this.levels=this._array.map(function(a){return Math.round(255*a)}),this},d.Color.prototype.toString=function(){var a=this.levels,b=this._array[3];return"rgba("+a[0]+","+a[1]+","+a[2]+","+b+")"},d.Color.prototype._getAlpha=function(){return this._array[3]*this.maxes[this.mode][3]},d.Color.prototype._getBlue=function(){return this._array[2]*this.maxes[e.RGB][2]},d.Color.prototype._getBrightness=function(){return this.hsba||(this.hsba=f._rgbaToHSBA(this._array)),this.hsba[2]*this.maxes[e.HSB][2]},d.Color.prototype._getGreen=function(){return this._array[1]*this.maxes[e.RGB][1]},d.Color.prototype._getHue=function(){return this.mode===e.HSB?(this.hsba||(this.hsba=f._rgbaToHSBA(this._array)),this.hsba[0]*this.maxes[e.HSB][0]):(this.hsla||(this.hsla=f._rgbaToHSLA(this._array)),this.hsla[0]*this.maxes[e.HSL][0])},d.Color.prototype._getLightness=function(){return this.hsla||(this.hsla=f._rgbaToHSLA(this._array)),this.hsla[2]*this.maxes[e.HSL][2]},d.Color.prototype._getRed=function(){return this._array[0]*this.maxes[e.RGB][0]},d.Color.prototype._getSaturation=function(){return this.mode===e.HSB?(this.hsba||(this.hsba=f._rgbaToHSBA(this._array)),this.hsba[1]*this.maxes[e.HSB][1]):(this.hsla||(this.hsla=f._rgbaToHSLA(this._array)),this.hsla[1]*this.maxes[e.HSL][1])};var g={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"},h=/\s*/,i=/(\d{1,3})/,j=/((?:\d+(?:\.\d+)?)|(?:\.\d+))/,k=new RegExp(j.source+"%"),l={HEX3:/^#([a-f0-9])([a-f0-9])([a-f0-9])$/i,HEX6:/^#([a-f0-9]{2})([a-f0-9]{2})([a-f0-9]{2})$/i,RGB:new RegExp(["^rgb\\(",i.source,",",i.source,",",i.source,"\\)$"].join(h.source),"i"),RGB_PERCENT:new RegExp(["^rgb\\(",k.source,",",k.source,",",k.source,"\\)$"].join(h.source),"i"),RGBA:new RegExp(["^rgba\\(",i.source,",",i.source,",",i.source,",",j.source,"\\)$"].join(h.source),"i"),RGBA_PERCENT:new RegExp(["^rgba\\(",k.source,",",k.source,",",k.source,",",j.source,"\\)$"].join(h.source),"i"),HSL:new RegExp(["^hsl\\(",i.source,",",k.source,",",k.source,"\\)$"].join(h.source),"i"),HSLA:new RegExp(["^hsla\\(",i.source,",",k.source,",",k.source,",",j.source,"\\)$"].join(h.source),"i"),HSB:new RegExp(["^hsb\\(",i.source,",",k.source,",",k.source,"\\)$"].join(h.source),"i"),HSBA:new RegExp(["^hsba\\(",i.source,",",k.source,",",k.source,",",j.source,"\\)$"].join(h.source),"i")};d.Color._parseInputs=function(){var a=arguments.length,b=this._colorMode,c=this._colorMaxes,h=[];if(a>=3)return h[0]=arguments[0]/c[b][0],h[1]=arguments[1]/c[b][1],h[2]=arguments[2]/c[b][2],"number"==typeof arguments[3]?h[3]=arguments[3]/c[b][3]:h[3]=1,h=h.map(function(a){return Math.max(Math.min(a,1),0)}),b===e.HSL?f._hslaToRGBA(h):b===e.HSB?f._hsbaToRGBA(h):h;if(1===a&&"string"==typeof arguments[0]){var i=arguments[0].trim().toLowerCase();if(g[i])return d.Color._parseInputs.apply(this,[g[i]]);if(l.HEX3.test(i))return h=l.HEX3.exec(i).slice(1).map(function(a){return parseInt(a+a,16)/255}),h[3]=1,h;if(l.HEX6.test(i))return h=l.HEX6.exec(i).slice(1).map(function(a){return parseInt(a,16)/255}),h[3]=1,h;if(l.RGB.test(i))return h=l.RGB.exec(i).slice(1).map(function(a){return a/255}),h[3]=1,h;if(l.RGB_PERCENT.test(i))return h=l.RGB_PERCENT.exec(i).slice(1).map(function(a){return parseFloat(a)/100}),h[3]=1,h;if(l.RGBA.test(i))return h=l.RGBA.exec(i).slice(1).map(function(a,b){return 3===b?parseFloat(a):a/255});if(l.RGBA_PERCENT.test(i))return h=l.RGBA_PERCENT.exec(i).slice(1).map(function(a,b){return 3===b?parseFloat(a):parseFloat(a)/100});if(l.HSL.test(i)?(h=l.HSL.exec(i).slice(1).map(function(a,b){return 0===b?parseInt(a,10)/360:parseInt(a,10)/100}),h[3]=1):l.HSLA.test(i)&&(h=l.HSLA.exec(i).slice(1).map(function(a,b){return 0===b?parseInt(a,10)/360:3===b?parseFloat(a):parseInt(a,10)/100})),h.length)return f._hslaToRGBA(h);if(l.HSB.test(i)?(h=l.HSB.exec(i).slice(1).map(function(a,b){return 0===b?parseInt(a,10)/360:parseInt(a,10)/100}),h[3]=1):l.HSBA.test(i)&&(h=l.HSBA.exec(i).slice(1).map(function(a,b){return 0===b?parseInt(a,10)/360:3===b?parseFloat(a):parseInt(a,10)/100})),h.length)return f._hsbaToRGBA(h);h=[1,1,1,1]}else{if(1!==a&&2!==a||"number"!=typeof arguments[0])throw new Error(arguments+"is not a valid color representation.");h[0]=arguments[0]/c[b][2],h[1]=arguments[0]/c[b][2],h[2]=arguments[0]/c[b][2],"number"==typeof arguments[1]?h[3]=arguments[1]/c[b][3]:h[3]=1,h=h.map(function(a){return Math.max(Math.min(a,1),0)})}return h},b.exports=d.Color},{"../core/constants":38,"../core/core":39,"./color_conversion":31}],34:[function(a,b,c){"use strict";var d=a("../core/core"),e=a("../core/constants");a("./p5.Color"),d.prototype.background=function(){return arguments[0]instanceof d.Image?this.image(arguments[0],0,0,this.width,this.height):this._renderer.background.apply(this._renderer,arguments),this},d.prototype.clear=function(){return this._renderer.clear(),this},d.prototype.colorMode=function(){if(arguments[0]===e.RGB||arguments[0]===e.HSB||arguments[0]===e.HSL){this._renderer._colorMode=arguments[0];var a=this._renderer._colorMaxes[this._renderer._colorMode];2===arguments.length?(a[0]=arguments[1],a[1]=arguments[1],a[2]=arguments[1],a[3]=arguments[1]):4===arguments.length?(a[0]=arguments[1],a[1]=arguments[2],a[2]=arguments[3]):5===arguments.length&&(a[0]=arguments[1],a[1]=arguments[2],a[2]=arguments[3],a[3]=arguments[4])}return this},d.prototype.fill=function(){return this._renderer._setProperty("_fillSet",!0),this._renderer._setProperty("_doFill",!0),this._renderer.fill.apply(this._renderer,arguments),this},d.prototype.noFill=function(){return this._renderer._setProperty("_doFill",!1),this},d.prototype.noStroke=function(){return this._renderer._setProperty("_doStroke",!1),this},d.prototype.stroke=function(){return this._renderer._setProperty("_strokeSet",!0),this._renderer._setProperty("_doStroke",!0),this._renderer.stroke.apply(this._renderer,arguments),this},b.exports=d},{"../core/constants":38,"../core/core":39,"./p5.Color":33}],35:[function(a,b,c){"use strict";var d=a("./core"),e=a("./constants"),f=a("./canvas");a("./error_helpers"),d.prototype.arc=function(a,b,c,d,f,g,h){for(var i=new Array(arguments.length),j=0;je.HALF_PI&&f<=3*e.HALF_PI?Math.atan(c/d*Math.tan(f))+e.PI:Math.atan(c/d*Math.tan(f))+e.TWO_PI,g=g<=e.HALF_PI?Math.atan(c/d*Math.tan(g)):g>e.HALF_PI&&g<=3*e.HALF_PI?Math.atan(c/d*Math.tan(g))+e.PI:Math.atan(c/d*Math.tan(g))+e.TWO_PI,f>g&&(g+=e.TWO_PI),c=Math.abs(c),d=Math.abs(d),this._renderer.arc(a,b,c,d,f,g,h),this},d.prototype.ellipse=function(){for(var a=new Array(arguments.length),b=0;b=c-5)&&(this._setProperty("frameCount",this.frameCount+1),this.redraw(),this._updateMouseCoords(),this._frameRate=1e3/(a-this._lastFrameTime),this._lastFrameTime=a),this._loop&&(this._requestAnimId=window.requestAnimationFrame(this._draw))}.bind(this),this._runFrames=function(){this._updateInterval&&clearInterval(this._updateInterval)}.bind(this),this._setProperty=function(a,b){this[a]=b,this._isGlobal&&(window[a]=b)}.bind(this),this.remove=function(){if(this._curElement){this._loop=!1,this._requestAnimId&&window.cancelAnimationFrame(this._requestAnimId);for(var a in this._events)window.removeEventListener(a,this._events[a]);for(var b=0;b1)console.log.apply(console,arguments);else{var b=JSON.parse(JSON.stringify(a));console.log(b)}}catch(b){console.log(a)}}:h.prototype.print=function(){},h.prototype.frameCount=0,h.prototype.focused=document.hasFocus(),h.prototype.cursor=function(a,b,c){var d="auto",e=this._curElement.elt;if(j.indexOf(a)>-1)d=a;else if("string"==typeof a){var f="";b&&c&&"number"==typeof b&&"number"==typeof c&&(f=b+" "+c),d="http://"===a.substring(0,7)||"https://"===a.substring(0,8)?"url("+a+") "+f+", auto":/\.(cur|jpg|jpeg|gif|png|CUR|JPG|JPEG|GIF|PNG)$/.test(a)?"url("+a+") "+f+", auto":a}e.style.cursor=d},h.prototype.frameRate=function(a){return"number"!=typeof a||a<=0?this._frameRate:(this._setProperty("_targetFrameRate",a),this._runFrames(),this)},h.prototype.getFrameRate=function(){return this.frameRate()},h.prototype.setFrameRate=function(a){return this.frameRate(a)},h.prototype.noCursor=function(){this._curElement.elt.style.cursor="none"},h.prototype.displayWidth=screen.width,h.prototype.displayHeight=screen.height,h.prototype.windowWidth=d(),h.prototype.windowHeight=e(),h.prototype._onresize=function(a){this._setProperty("windowWidth",d()),this._setProperty("windowHeight",e());var b,c=this._isGlobal?window:this;"function"==typeof c.windowResized&&(void 0===(b=c.windowResized(a))||b||a.preventDefault())},h.prototype.width=0,h.prototype.height=0,h.prototype.fullscreen=function(a){ -if(void 0===a)return document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement;a?f(document.documentElement):g()},h.prototype.pixelDensity=function(a){if("number"!=typeof a)return this._pixelDensity;this._pixelDensity=a,this.resizeCanvas(this.width,this.height,!0)},h.prototype.displayDensity=function(){return window.devicePixelRatio},h.prototype.getURL=function(){return location.href},h.prototype.getURLPath=function(){return location.pathname.split("/").filter(function(a){return""!==a})},h.prototype.getURLParams=function(){for(var a,b=/[?&]([^&=]+)(?:[&=])([^&=]+)/gim,c={};null!=(a=b.exec(location.search));)a.index===b.lastIndex&&b.lastIndex++,c[a[1]]=a[2];return c},b.exports=h},{"./constants":38,"./core":39}],42:[function(a,b,c){"use strict";function d(a,b,c){i&&(e(),i=!1),"undefined"===n(c)?c="#B40033":"number"===n(c)&&(c=o[c])}function e(){console.log("%c _ \n /\\| |/\\ \n \\ ` ' / \n / , . \\ \n \\/|_|\\/ \n\n%c> p5.js says: Welcome! This is your friendly debugger. To turn me off switch to using “p5.min.js”.","background-color:transparent;color:#ED225D;","background-color:#ED225D;color:white;")}function f(){var b={},c=function(a){return Object.getOwnPropertyNames(a).filter(function(a){return"_"!==a[0]&&(!(a in b)&&(b[a]=!0,!0))}).map(function(b){var c;return c="function"==typeof a[b]?"function":b===b.toUpperCase()?"constant":"variable",{name:b,type:c}})};q=[].concat(c(h.prototype),c(a("./constants"))),q.sort(function(a,b){return b.name.length-a.name.length})}function g(a,b){b||(b=console.log.bind(console)),q||f(),q.some(function(c){if(a.message&&null!==a.message.match("\\W?"+c.name+"\\W"))return b("%cDid you just try to use p5.js's "+c.name+("function"===c.type?"() ":" ")+c.type+"? If so, you may want to move it into your sketch's setup() function.\n\nFor more details, see: "+r,"color: #B40033"),!0})}for(var h=a("./core"),i=!1,j={},k=j.toString,l=["Boolean","Number","String","Function","Array","Date","RegExp","Object","Error"],m=0;m1&&d("drop",b,this),d("drop",function(a){a.stopPropagation(),a.preventDefault();for(var b=a.dataTransfer.files,d=0;d-1?f.readAsText(e):f.readAsDataURL(e)}},this)):console.log("The File APIs are not fully supported in this browser."),this},e.Element.prototype._setProperty=function(a,b){this[a]=b},b.exports=e.Element},{"./core":39}],44:[function(a,b,c){var d=a("./core"),e=a("./constants");d.Graphics=function(a,b,c,f){var g=c||e.P2D,h=document.createElement("canvas");(this._userNode||document.body).appendChild(h),d.Element.call(this,h,f,!1),this._styles=[],this.width=a,this.height=b,this._pixelDensity=f._pixelDensity,g===e.WEBGL?this._renderer=new d.RendererGL(h,this,!1):this._renderer=new d.Renderer2D(h,this,!1),this._renderer.resize(a,b),this._renderer._applyDefaults(),f._elements.push(this);for(var i in d.prototype)this[i]||("function"==typeof d.prototype[i]?this[i]=d.prototype[i].bind(this):this[i]=d.prototype[i]);return this},d.Graphics.prototype=Object.create(d.Element.prototype),d.Graphics.prototype.remove=function(){this.elt.parentNode&&this.elt.parentNode.removeChild(this.elt);for(var a in this._events)this.elt.removeEventListener(a,this._events[a])},b.exports=d.Graphics},{"./constants":38,"./core":39}],45:[function(a,b,c){function d(a){var b=0,c=0;if(a.offsetParent)do{b+=a.offsetLeft,c+=a.offsetTop}while(a=a.offsetParent);else b+=a.offsetLeft,c+=a.offsetTop;return[b,c]}var e=a("./core"),f=a("../core/constants");e.Renderer=function(a,b,c){e.Element.call(this,a,b),this.canvas=a,this._pInst=b,c?(this._isMainCanvas=!0,this._pInst._setProperty("_curElement",this),this._pInst._setProperty("canvas",this.canvas),this._pInst._setProperty("width",this.width),this._pInst._setProperty("height",this.height)):(this.canvas.style.display="none",this._styles=[]),this._textSize=12,this._textLeading=15,this._textFont="sans-serif",this._textStyle=f.NORMAL,this._textAscent=null,this._textDescent=null,this._rectMode=f.CORNER,this._ellipseMode=f.CENTER,this._curveTightness=0,this._imageMode=f.CORNER,this._tint=null,this._doStroke=!0,this._doFill=!0,this._strokeSet=!1,this._fillSet=!1,this._colorMode=f.RGB,this._colorMaxes={rgb:[255,255,255,255],hsb:[360,100,100,1],hsl:[360,100,100,1]}},e.Renderer.prototype=Object.create(e.Element.prototype),e.Renderer.prototype.resize=function(a,b){this.width=a,this.height=b,this.elt.width=a*this._pInst._pixelDensity,this.elt.height=b*this._pInst._pixelDensity,this.elt.style.width=a+"px",this.elt.style.height=b+"px",this._isMainCanvas&&(this._pInst._setProperty("width",this.width),this._pInst._setProperty("height",this.height))},e.Renderer.prototype.textLeading=function(a){return arguments.length&&arguments[0]?(this._setProperty("_textLeading",a),this):this._textLeading},e.Renderer.prototype.textSize=function(a){return arguments.length&&arguments[0]?(this._setProperty("_textSize",a),this._setProperty("_textLeading",a*f._DEFAULT_LEADMULT),this._applyTextProperties()):this._textSize},e.Renderer.prototype.textStyle=function(a){return arguments.length&&arguments[0]?(a!==f.NORMAL&&a!==f.ITALIC&&a!==f.BOLD||this._setProperty("_textStyle",a),this._applyTextProperties()):this._textStyle},e.Renderer.prototype.textAscent=function(){return null===this._textAscent&&this._updateTextMetrics(),this._textAscent},e.Renderer.prototype.textDescent=function(){return null===this._textDescent&&this._updateTextMetrics(),this._textDescent},e.Renderer.prototype._applyDefaults=function(){return this},e.Renderer.prototype._isOpenType=function(a){return"object"==typeof(a=a||this._textFont)&&a.font&&a.font.supported},e.Renderer.prototype._updateTextMetrics=function(){if(this._isOpenType())return this._setProperty("_textAscent",this._textFont._textAscent()),this._setProperty("_textDescent",this._textFont._textDescent()),this;var a=document.createElement("span");a.style.fontFamily=this._textFont,a.style.fontSize=this._textSize+"px",a.innerHTML="ABCjgq|";var b=document.createElement("div");b.style.display="inline-block",b.style.width="1px",b.style.height="0px";var c=document.createElement("div");c.appendChild(a),c.appendChild(b),c.style.height="0px",c.style.overflow="hidden",document.body.appendChild(c),b.style.verticalAlign="baseline";var e=d(b),f=d(a),g=e[1]-f[1];b.style.verticalAlign="bottom",e=d(b),f=d(a);var h=e[1]-f[1],i=h-g;return document.body.removeChild(c),this._setProperty("_textAscent",g),this._setProperty("_textDescent",i),this},b.exports=e.Renderer},{"../core/constants":38,"./core":39}],46:[function(a,b,c){var d=a("./core"),e=a("./canvas"),f=a("./constants"),g=a("../image/filters");a("./p5.Renderer");var h="rgba(0,0,0,0)";d.Renderer2D=function(a,b,c){return d.Renderer.call(this,a,b,c),this.drawingContext=this.canvas.getContext("2d"),this._pInst._setProperty("drawingContext",this.drawingContext),this},d.Renderer2D.prototype=Object.create(d.Renderer.prototype),d.Renderer2D.prototype._applyDefaults=function(){this.drawingContext.fillStyle=f._DEFAULT_FILL,this.drawingContext.strokeStyle=f._DEFAULT_STROKE,this.drawingContext.lineCap=f.ROUND,this.drawingContext.font="normal 12px sans-serif"},d.Renderer2D.prototype.resize=function(a,b){d.Renderer.prototype.resize.call(this,a,b),this.drawingContext.scale(this._pInst._pixelDensity,this._pInst._pixelDensity)},d.Renderer2D.prototype.background=function(){if(this.drawingContext.save(),this.drawingContext.setTransform(1,0,0,1,0,0),this.drawingContext.scale(this._pInst._pixelDensity,this._pInst._pixelDensity),arguments[0]instanceof d.Image)this._pInst.image(arguments[0],0,0,this.width,this.height);else{var a=this.drawingContext.fillStyle,b=this._pInst.color.apply(this,arguments),c=b.toString();this.drawingContext.fillStyle=c,this.drawingContext.fillRect(0,0,this.width,this.height),this.drawingContext.fillStyle=a}this.drawingContext.restore()},d.Renderer2D.prototype.clear=function(){this.drawingContext.clearRect(0,0,this.width,this.height)},d.Renderer2D.prototype.fill=function(){var a=this.drawingContext,b=this._pInst.color.apply(this,arguments);a.fillStyle=b.toString()},d.Renderer2D.prototype.stroke=function(){var a=this.drawingContext,b=this._pInst.color.apply(this,arguments);a.strokeStyle=b.toString()},d.Renderer2D.prototype.image=function(a,b,c,e,f,g,h,i,j){var k;try{this._tint&&(d.MediaElement&&a instanceof d.MediaElement&&a.loadPixels(),a.canvas&&(k=this._getTintedImageCanvas(a))),k||(k=a.canvas||a.elt),this.drawingContext.drawImage(k,b,c,e,f,g,h,i,j)}catch(a){if("NS_ERROR_NOT_AVAILABLE"!==a.name)throw a}},d.Renderer2D.prototype._getTintedImageCanvas=function(a){if(!a.canvas)return a;var b=g._toPixels(a.canvas),c=document.createElement("canvas");c.width=a.canvas.width,c.height=a.canvas.height;for(var d=c.getContext("2d"),e=d.createImageData(a.canvas.width,a.canvas.height),f=e.data,h=0;hthis.width||b>this.height)return[0,0,0,255];var f=this._pInst||this;f.loadPixels();var g=f._pixelDensity;a=Math.floor(a),b=Math.floor(b),c=Math.floor(c),e=Math.floor(e);var h=a*g,i=b*g;if(1===c&&1===e){var j=this.drawingContext.getImageData(h,i,1,1).data;return[j[0],j[1],j[2],j[3]]}var k=Math.min(c,f.width),l=Math.min(e,f.height),m=k*g,n=l*g,o=new d.Image(k,l);return o.canvas.getContext("2d").drawImage(this.canvas,h,i,m,n,0,0,k,l),o},d.Renderer2D.prototype.loadPixels=function(){var a=this._pixelDensity||this._pInst._pixelDensity,b=this.width*a,c=this.height*a,d=this.drawingContext.getImageData(0,0,b,c);this._pInst?(this._pInst._setProperty("imageData",d),this._pInst._setProperty("pixels",d.data)):(this._setProperty("imageData",d),this._setProperty("pixels",d.data))},d.Renderer2D.prototype.set=function(a,b,c){if(a=Math.floor(a),b=Math.floor(b),c instanceof d.Image)this.drawingContext.save(),this.drawingContext.setTransform(1,0,0,1,0,0),this.drawingContext.scale(this._pInst._pixelDensity,this._pInst._pixelDensity),this.drawingContext.drawImage(c.canvas,a,b),this.loadPixels.call(this._pInst),this.drawingContext.restore();else{var e=this._pInst||this,f=0,g=0,h=0,i=0,j=4*(b*e._pixelDensity*(this.width*e._pixelDensity)+a*e._pixelDensity);if(e.imageData||e.loadPixels.call(e),"number"==typeof c)jn;)o=Math.min(h-g,f.HALF_PI),p.push(this._acuteArcToBezier(g,o)),g+=o;return this._doFill&&(j.beginPath(),p.forEach(function(a,b){0===b&&j.moveTo(k.x+a.ax*l,k.y+a.ay*m),j.bezierCurveTo(k.x+a.bx*l,k.y+a.by*m,k.x+a.cx*l,k.y+a.cy*m,k.x+a.dx*l,k.y+a.dy*m)}),i!==f.PIE&&null!=i||j.lineTo(k.x,k.y),j.closePath(),j.fill()),this._doStroke&&(j.beginPath(),p.forEach(function(a,b){0===b&&j.moveTo(k.x+a.ax*l,k.y+a.ay*m),j.bezierCurveTo(k.x+a.bx*l,k.y+a.by*m,k.x+a.cx*l,k.y+a.cy*m,k.x+a.dx*l,k.y+a.dy*m)}),i===f.PIE?(j.lineTo(k.x,k.y),j.closePath()):i===f.CHORD&&j.closePath(),j.stroke()),this},d.Renderer2D.prototype.ellipse=function(a){var b=this.drawingContext,c=this._doFill,d=this._doStroke,e=a[0],f=a[1],g=a[2],i=a[3];if(c&&!d){if(b.fillStyle===h)return this}else if(!c&&d&&b.strokeStyle===h)return this;var j=.5522847498,k=g/2*j,l=i/2*j,m=e+g,n=f+i,o=e+g/2,p=f+i/2;b.beginPath(),b.moveTo(e,p),b.bezierCurveTo(e,p-l,o-k,f,o,f),b.bezierCurveTo(o+k,f,m,p-l,m,p),b.bezierCurveTo(m,p+l,o+k,n,o,n),b.bezierCurveTo(o-k,n,e,p+l,e,p),b.closePath(),c&&b.fill(),d&&b.stroke()},d.Renderer2D.prototype.line=function(a,b,c,d){var e=this.drawingContext;return this._doStroke?e.strokeStyle===h?this:(e.lineWidth%2==1&&e.translate(.5,.5),e.beginPath(),e.moveTo(a,b),e.lineTo(c,d),e.stroke(),e.lineWidth%2==1&&e.translate(-.5,-.5),this):this},d.Renderer2D.prototype.point=function(a,b){var c=this.drawingContext,d=c.strokeStyle,e=c.fillStyle;return this._doStroke?c.strokeStyle===h?this:(a=Math.round(a),b=Math.round(b),c.fillStyle=d,c.lineWidth>1?(c.beginPath(),c.arc(a,b,c.lineWidth/2,0,f.TWO_PI,!1),c.fill()):c.fillRect(a,b,1,1),void(c.fillStyle=e)):this},d.Renderer2D.prototype.quad=function(a,b,c,d,e,f,g,i){var j=this.drawingContext,k=this._doFill,l=this._doStroke;if(k&&!l){if(j.fillStyle===h)return this}else if(!k&&l&&j.strokeStyle===h)return this;return j.beginPath(),j.moveTo(a,b),j.lineTo(c,d),j.lineTo(e,f),j.lineTo(g,i),j.closePath(),k&&j.fill(),l&&j.stroke(),this},d.Renderer2D.prototype.rect=function(a){var b=a[0],c=a[1],d=a[2],e=a[3],f=a[4],g=a[5],i=a[6],j=a[7],k=this.drawingContext,l=this._doFill,m=this._doStroke;if(l&&!m){if(k.fillStyle===h)return this}else if(!l&&m&&k.strokeStyle===h)return this;if(this._doStroke&&k.lineWidth%2==1&&k.translate(.5,.5),k.beginPath(),void 0===f)k.rect(b,c,d,e);else{void 0===g&&(g=f),void 0===i&&(i=g),void 0===j&&(j=i);var n=d/2,o=e/2;d<2*f&&(f=n),e<2*f&&(f=o),d<2*g&&(g=n),e<2*g&&(g=o),d<2*i&&(i=n),e<2*i&&(i=o),d<2*j&&(j=n),e<2*j&&(j=o),k.beginPath(),k.moveTo(b+f,c),k.arcTo(b+d,c,b+d,c+e,g),k.arcTo(b+d,c+e,b,c+e,i),k.arcTo(b,c+e,b,c,j),k.arcTo(b,c,b+d,c,f),k.closePath()}return this._doFill&&k.fill(),this._doStroke&&k.stroke(),this._doStroke&&k.lineWidth%2==1&&k.translate(-.5,-.5),this},d.Renderer2D.prototype.triangle=function(a){var b=this.drawingContext,c=this._doFill,d=this._doStroke,e=a[0],f=a[1],g=a[2],i=a[3],j=a[4],k=a[5];if(c&&!d){if(b.fillStyle===h)return this}else if(!c&&d&&b.strokeStyle===h)return this;b.beginPath(),b.moveTo(e,f),b.lineTo(g,i),b.lineTo(j,k),b.closePath(),c&&b.fill(),d&&b.stroke()},d.Renderer2D.prototype.endShape=function(a,b,c,d,e,g,h){if(0===b.length)return this;if(!this._doStroke&&!this._doFill)return this;var i,j=a===f.CLOSE;j&&!g&&b.push(b[0]);var k,l,m=b.length;if(!c||h!==f.POLYGON&&null!==h)if(!d||h!==f.POLYGON&&null!==h)if(!e||h!==f.POLYGON&&null!==h)if(h===f.POINTS)for(k=0;k2)for(this.drawingContext.beginPath(),this.drawingContext.moveTo(b[0][0],b[0][1]),this.drawingContext.lineTo(b[1][0],b[1][1]),this.drawingContext.lineTo(b[2][0],b[2][1]),this._doFill&&this._pInst.fill(b[2][5]),this._doStroke&&this._pInst.stroke(b[2][6]),this._doFillStrokeClose(),k=3;k3)for(k=0;k+13){var n=[],o=1-this._curveTightness;for(this.drawingContext.beginPath(),this.drawingContext.moveTo(b[1][0],b[1][1]),k=1;k+2d?(k=n[h]+" ",o+=q.textLeading()):k=l;switch(this._rectMode===f.CENTER&&(b-=d/2,c-=e/2),this.drawingContext.textAlign){case f.CENTER:b+=d/2;break;case f.RIGHT:b+=d}if(void 0!==e){switch(this.drawingContext.textBaseline){case f.BOTTOM:c+=e-o;break;case f._CTX_MIDDLE:c+=(e-o)/2;break;case f.BASELINE:p=!0,this.drawingContext.textBaseline=f.TOP}r=c+e-q.textAscent()}for(i=0;id&&k.length>0?(this._renderText(q,k,b,c,r),k=n[h]+" ",c+=q.textLeading()):k=l;this._renderText(q,k,b,c,r),c+=q.textLeading()}}else{var s=0,t=q.textAlign().vertical;for(t===f.CENTER?s=(g.length-1)*q.textLeading()/2:t===f.BOTTOM&&(s=(g.length-1)*q.textLeading()),j=0;j=e))return a.push(),this._isOpenType()?this._textFont._renderPath(b,c,d,{renderer:this}):(this._doStroke&&this._strokeSet&&this.drawingContext.strokeText(b,c,d),this._doFill&&(this.drawingContext.fillStyle=this._fillSet?this.drawingContext.fillStyle:f._DEFAULT_TEXT_FILL,this.drawingContext.fillText(b,c,d))),a.pop(),a},d.Renderer2D.prototype.textWidth=function(a){return this._isOpenType()?this._textFont._textWidth(a,this._textSize):this.drawingContext.measureText(a).width},d.Renderer2D.prototype.textAlign=function(a,b){if(arguments.length)return a!==f.LEFT&&a!==f.RIGHT&&a!==f.CENTER||(this.drawingContext.textAlign=a),b!==f.TOP&&b!==f.BOTTOM&&b!==f.CENTER&&b!==f.BASELINE||(b===f.CENTER?this.drawingContext.textBaseline=f._CTX_MIDDLE:this.drawingContext.textBaseline=b),this._pInst;var c=this.drawingContext.textBaseline;return c===f._CTX_MIDDLE&&(c=f.CENTER),{horizontal:this.drawingContext.textAlign,vertical:c}},d.Renderer2D.prototype._applyTextProperties=function(){var a,b=this._pInst;return this._setProperty("_textAscent",null),this._setProperty("_textDescent",null),a=this._textFont,this._isOpenType()&&(a=this._textFont.font.familyName,this._setProperty("_textStyle",this._textFont.font.styleName)),this.drawingContext.font=this._textStyle+" "+this._textSize+"px "+a,b},d.Renderer2D.prototype.push=function(){this.drawingContext.save()},d.Renderer2D.prototype.pop=function(){this.drawingContext.restore()},b.exports=d.Renderer2D},{"../image/filters":56,"./canvas":37,"./constants":38,"./core":39,"./p5.Renderer":45}],47:[function(a,b,c){var d=a("./core"),e=a("./constants");a("./p5.Graphics"),a("./p5.Renderer2D"),a("../webgl/p5.RendererGL");var f="defaultCanvas0";d.prototype.createCanvas=function(a,b,c){var g,h,i=c||e.P2D;if(arguments[3]&&(g="boolean"==typeof arguments[3]&&arguments[3]),i===e.WEBGL)h=document.getElementById(f),h&&h.parentNode.removeChild(h),h=document.createElement("canvas"),h.id=f;else if(g){h=document.createElement("canvas");for(var j=0;document.getElementById("defaultCanvas"+j);)j++;f="defaultCanvas"+j,h.id=f}else h=this.canvas;return this._setupDone||(h.dataset.hidden=!0,h.style.visibility="hidden"),this._userNode?this._userNode.appendChild(h):document.body.appendChild(h),i===e.WEBGL?(this._setProperty("_renderer",new d.RendererGL(h,this,!0)),this._isdefaultGraphics=!0):this._isdefaultGraphics||(this._setProperty("_renderer",new d.Renderer2D(h,this,!0)),this._isdefaultGraphics=!0),this._renderer.resize(a,b),this._renderer._applyDefaults(),g&&this._elements.push(this._renderer),this._renderer},d.prototype.resizeCanvas=function(a,b,c){if(this._renderer){var d={};for(var e in this.drawingContext){var f=this.drawingContext[e];"object"!=typeof f&&"function"!=typeof f&&(d[e]=f)}this._renderer.resize(a,b);for(var g in d)this.drawingContext[g]=d[g];c||this.redraw()}},d.prototype.noCanvas=function(){this.canvas&&this.canvas.parentNode.removeChild(this.canvas)},d.prototype.createGraphics=function(a,b,c){return new d.Graphics(a,b,c,this)},d.prototype.blendMode=function(a){if(a!==e.BLEND&&a!==e.DARKEST&&a!==e.LIGHTEST&&a!==e.DIFFERENCE&&a!==e.MULTIPLY&&a!==e.EXCLUSION&&a!==e.SCREEN&&a!==e.REPLACE&&a!==e.OVERLAY&&a!==e.HARD_LIGHT&&a!==e.SOFT_LIGHT&&a!==e.DODGE&&a!==e.BURN&&a!==e.ADD&&a!==e.NORMAL)throw new Error("Mode "+a+" not recognized.");this._renderer.blendMode(a)},b.exports=d},{"../webgl/p5.RendererGL":88,"./constants":38,"./core":39,"./p5.Graphics":44,"./p5.Renderer2D":46}],48:[function(a,b,c){window.requestAnimationFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a,b){window.setTimeout(a,1e3/60)}}(),window.performance=window.performance||{},window.performance.now=function(){var a=Date.now();return window.performance.now||window.performance.mozNow||window.performance.msNow||window.performance.oNow||window.performance.webkitNow||function(){return Date.now()-a}}(),function(){"use strict";"undefined"==typeof Uint8ClampedArray||Uint8ClampedArray.prototype.slice||Object.defineProperty(Uint8ClampedArray.prototype,"slice",{value:Array.prototype.slice,writable:!0,configurable:!0,enumerable:!1})}()},{}],49:[function(a,b,c){"use strict";var d=a("./core") -;d.prototype.exit=function(){throw"exit() not implemented, see remove()"},d.prototype.noLoop=function(){this._loop=!1},d.prototype.loop=function(){this._loop=!0,this._draw()},d.prototype.push=function(){this._renderer.push(),this._styles.push({_doStroke:this._renderer._doStroke,_strokeSet:this._renderer._strokeSet,_doFill:this._renderer._doFill,_fillSet:this._renderer._fillSet,_tint:this._renderer._tint,_imageMode:this._renderer._imageMode,_rectMode:this._renderer._rectMode,_ellipseMode:this._renderer._ellipseMode,_colorMode:this._renderer._colorMode,_textFont:this._renderer._textFont,_textLeading:this._renderer._textLeading,_textSize:this._renderer._textSize,_textStyle:this._renderer._textStyle})},d.prototype.pop=function(){this._renderer.pop();var a=this._styles.pop();for(var b in a)this._renderer[b]=a[b]},d.prototype.pushStyle=function(){throw new Error("pushStyle() not used, see push()")},d.prototype.popStyle=function(){throw new Error("popStyle() not used, see pop()")},d.prototype.redraw=function(){this.resetMatrix(),this._renderer.isP3D&&this._renderer._update();var a=1;if(1===arguments.length)try{parseInt(arguments[0])>1&&(a=parseInt(arguments[0]))}catch(a){}var b=this.setup||window.setup,c=this.draw||window.draw;if("function"==typeof c){void 0===b&&this.scale(this._pixelDensity,this._pixelDensity);for(var d=this,e=function(a){a.call(d)},f=0;f1?this._renderer.rotate(a,b[1]):this._renderer.rotate(a),this},d.prototype.rotateX=function(a){if(!this._renderer.isP3D)throw"not supported in p2d. Please use webgl mode";return this._renderer.rotateX(a),this},d.prototype.rotateY=function(a){if(!this._renderer.isP3D)throw"not supported in p2d. Please use webgl mode";return this._renderer.rotateY(a),this},d.prototype.rotateZ=function(a){if(!this._renderer.isP3D)throw"not supported in p2d. Please use webgl mode";return this._renderer.rotateZ(a),this},d.prototype.scale=function(){for(var a,b,c,e=new Array(arguments.length),f=0;f0))throw"vertex() must be used once before calling quadraticVertex()";k=!0;for(var i=[],j=0;jn||Math.abs(this.accelerationY-this.pAccelerationY)>n||Math.abs(this.accelerationZ-this.pAccelerationZ)>n)&&a();var b=this.deviceTurned||window.deviceTurned;if("function"==typeof b){var c=this.rotationX+180,d=this.pRotationX+180,p=h+180;c-d>0&&c-d<270||c-d<-270?k="clockwise":(c-d<0||c-d>270)&&(k="counter-clockwise"),k!==e&&(p=c),Math.abs(c-p)>90&&Math.abs(c-p)<270&&(p=c,this._setProperty("turnAxis","X"),b()),e=k,h=p-180;var q=this.rotationY+180,r=this.pRotationY+180,s=i+180;q-r>0&&q-r<270||q-r<-270?l="clockwise":(q-r<0||q-this.pRotationY>270)&&(l="counter-clockwise"),l!==f&&(s=q),Math.abs(q-s)>90&&Math.abs(q-s)<270&&(s=q,this._setProperty("turnAxis","Y"),b()),f=l,i=s-180,this.rotationZ-this.pRotationZ>0&&this.rotationZ-this.pRotationZ<270||this.rotationZ-this.pRotationZ<-270?m="clockwise":(this.rotationZ-this.pRotationZ<0||this.rotationZ-this.pRotationZ>270)&&(m="counter-clockwise"),m!==g&&(j=this.rotationZ),Math.abs(this.rotationZ-j)>90&&Math.abs(this.rotationZ-j)<270&&(j=this.rotationZ,this._setProperty("turnAxis","Z"),b()),g=m,this._setProperty("turnAxis",void 0)}var t=this.deviceShaken||window.deviceShaken;if("function"==typeof t){var u,v;null!==this.pAccelerationX&&(u=Math.abs(this.accelerationX-this.pAccelerationX),v=Math.abs(this.accelerationY-this.pAccelerationY)),u+v>o&&t()}},b.exports=d},{"../core/core":39}],53:[function(a,b,c){"use strict";function d(){for(var a in f)if(f[a]===!0)return!0;return!1}var e=a("../core/core"),f={};e.prototype.isKeyPressed=!1,e.prototype.keyIsPressed=!1,e.prototype.key="",e.prototype.keyCode=0,e.prototype._onkeydown=function(a){if(!f[a.which]){this._setProperty("isKeyPressed",!0),this._setProperty("keyIsPressed",!0),this._setProperty("keyCode",a.which),f[a.which]=!0;var b=String.fromCharCode(a.which);b||(b=a.which),this._setProperty("key",b);var c=this.keyPressed||window.keyPressed;if("function"==typeof c&&!a.charCode){c(a)===!1&&a.preventDefault()}}},e.prototype._onkeyup=function(a){var b=this.keyReleased||window.keyReleased;f[a.which]=!1;var c=String.fromCharCode(a.which);if(d()&&(this._setProperty("isKeyPressed",!1),this._setProperty("keyIsPressed",!1)),this._setProperty("_lastKeyCodeTyped",null),c||(c=a.which),this._setProperty("key",c),this._setProperty("keyCode",a.which),"function"==typeof b){b(a)===!1&&a.preventDefault()}},e.prototype._onkeypress=function(a){if(a.which!==this._lastKeyCodeTyped){this._setProperty("keyCode",a.which),this._setProperty("_lastKeyCodeTyped",a.which),this._setProperty("key",String.fromCharCode(a.which));var b=this.keyTyped||window.keyTyped;if("function"==typeof b){b(a)===!1&&a.preventDefault()}}},e.prototype._onblur=function(a){f={}},e.prototype.keyIsDown=function(a){return f[a]},b.exports=e},{"../core/core":39}],54:[function(a,b,c){"use strict";function d(a,b,c,d){d&&!d.clientX&&(d.touches?d=d.touches[0]:d.changedTouches&&(d=d.changedTouches[0]));var e=a.getBoundingClientRect(),f=a.scrollWidth/b,g=a.scrollHeight/c;return{x:(d.clientX-e.left)/f,y:(d.clientY-e.top)/g,winX:d.clientX,winY:d.clientY,id:d.identifier}}var e=a("../core/core"),f=a("../core/constants");e.prototype._hasMouseInteracted=!1,e.prototype.mouseX=0,e.prototype.mouseY=0,e.prototype.pmouseX=0,e.prototype.pmouseY=0,e.prototype.winMouseX=0,e.prototype.winMouseY=0,e.prototype.pwinMouseX=0,e.prototype.pwinMouseY=0,e.prototype.mouseButton=0,e.prototype.mouseIsPressed=!1,e.prototype.isMousePressed=!1,e.prototype._updateNextMouseCoords=function(a){if(null!==this._curElement&&(!a.touches||a.touches.length>0)){var b=d(this._curElement.elt,this.width,this.height,a);this._setProperty("mouseX",b.x),this._setProperty("mouseY",b.y),this._setProperty("winMouseX",b.winX),this._setProperty("winMouseY",b.winY)}this._hasMouseInteracted||(this._updateMouseCoords(),this._setProperty("_hasMouseInteracted",!0))},e.prototype._updateMouseCoords=function(){this._setProperty("pmouseX",this.mouseX),this._setProperty("pmouseY",this.mouseY),this._setProperty("pwinMouseX",this.winMouseX),this._setProperty("pwinMouseY",this.winMouseY)},e.prototype._setMouseButton=function(a){1===a.button?this._setProperty("mouseButton",f.CENTER):2===a.button?this._setProperty("mouseButton",f.RIGHT):this._setProperty("mouseButton",f.LEFT)},e.prototype._onmousemove=function(a){var b=this._isGlobal?window:this;this._updateNextMouseCoords(a),this.isMousePressed?"function"==typeof b.mouseDragged?b.mouseDragged(a)===!1&&a.preventDefault():"function"==typeof b.touchMoved&&b.touchMoved(a)===!1&&a.preventDefault():"function"==typeof b.mouseMoved&&b.mouseMoved(a)===!1&&a.preventDefault()},e.prototype._onmousedown=function(a){var b=this._isGlobal?window:this;this._setProperty("isMousePressed",!0),this._setProperty("mouseIsPressed",!0),this._setMouseButton(a),this._updateNextMouseCoords(a),"function"==typeof b.mousePressed?b.mousePressed(a)===!1&&a.preventDefault():"function"==typeof b.touchStarted&&b.touchStarted(a)===!1&&a.preventDefault()},e.prototype._onmouseup=function(a){var b=this._isGlobal?window:this;this._setProperty("isMousePressed",!1),this._setProperty("mouseIsPressed",!1),"function"==typeof b.mouseReleased?b.mouseReleased(a)===!1&&a.preventDefault():"function"==typeof b.touchEnded&&b.touchEnded(a)===!1&&a.preventDefault()},e.prototype._ondragend=e.prototype._onmouseup,e.prototype._ondragover=e.prototype._onmousemove,e.prototype._onclick=function(a){var b=this._isGlobal?window:this;if("function"==typeof b.mouseClicked){b.mouseClicked(a)===!1&&a.preventDefault()}},e.prototype._onwheel=function(a){var b=this._isGlobal?window:this;if("function"==typeof b.mouseWheel){a.delta=a.deltaY;b.mouseWheel(a)===!1&&a.preventDefault()}},b.exports=e},{"../core/constants":38,"../core/core":39}],55:[function(a,b,c){"use strict";function d(a,b,c,d,e){e=e||0;var f=a.getBoundingClientRect(),g=a.scrollWidth/b,h=a.scrollHeight/c,i=d.touches[e]||d.changedTouches[e];return{x:(i.clientX-f.left)/g,y:(i.clientY-f.top)/h,winX:i.clientX,winY:i.clientY,id:i.identifier}}var e=a("../core/core");e.prototype.touches=[],e.prototype._updateTouchCoords=function(a){if(null!==this._curElement){for(var b=[],c=0;c=e)break;x=0}for(F=x;F=e);F++){var H=m[t+C];G=j[F],s+=G[(H&-16777216)>>>24],p+=G[(16711680&H)>>16],q+=G[(65280&H)>>8],r+=G[255&H],o+=i[F],t++}u=C+D,y[u]=s/o,z[u]=p/o,A[u]=q/o,B[u]=r/o}C+=e}for(C=0,v=-g,w=v*e,E=0;E=k)break;x=0,u=v,t=D+w}for(F=x;F=k);F++)G=j[F],s+=G[y[t]],p+=G[z[t]],q+=G[A[t]],r+=G[B[t]],o+=i[F],u++,t+=e;m[D+C]=s/o<<24|p/o<<16|q/o<<8|r/o}C+=e,w+=e,v++}f._setPixels(c,m)}var f={};f._toPixels=function(a){return a instanceof ImageData?a.data:a.getContext("2d").getImageData(0,0,a.width,a.height).data},f._getARGB=function(a,b){var c=4*b;return a[c+3]<<24&4278190080|a[c]<<16&16711680|a[c+1]<<8&65280|255&a[c+2]},f._setPixels=function(a,b){for(var c=0,d=0,e=a.length;d>>16,a[c+1]=(65280&b[d])>>>8,a[c+2]=255&b[d],a[c+3]=(4278190080&b[d])>>>24},f._toImageData=function(a){return a instanceof ImageData?a:a.getContext("2d").getImageData(0,0,a.width,a.height)},f._createImageData=function(a,b){return f._tmpCanvas=document.createElement("canvas"),f._tmpCtx=f._tmpCanvas.getContext("2d"),this._tmpCtx.createImageData(a,b)},f.apply=function(a,b,c){var d=a.getContext("2d"),e=d.getImageData(0,0,a.width,a.height),f=b(e,c);f instanceof ImageData?d.putImageData(f,0,0,0,0,a.width,a.height):d.putImageData(e,0,0,0,0,a.width,a.height)},f.threshold=function(a,b){var c=f._toPixels(a);void 0===b&&(b=.5);for(var d=Math.floor(255*b),e=0;e=d?255:0,c[e]=c[e+1]=c[e+2]=g}},f.gray=function(a){for(var b=f._toPixels(a),c=0;c255)throw new Error("Level must be greater than 2 and less than 255 for posterize");for(var d=b-1,e=0;e>8)/d,c[e+1]=255*(h*b>>8)/d,c[e+2]=255*(i*b>>8)/d}},f.dilate=function(a){for(var b,c,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t=f._toPixels(a),u=0,v=t.length?t.length/4:0,w=new Int32Array(v);u=c&&(h=u),j<0&&(j=0),k>=v&&(k=u),n=f._getARGB(t,j),m=f._getARGB(t,i),o=f._getARGB(t,k),l=f._getARGB(t,h),g=77*(d>>16&255)+151*(d>>8&255)+28*(255&d),q=77*(m>>16&255)+151*(m>>8&255)+28*(255&m),p=77*(l>>16&255)+151*(l>>8&255)+28*(255&l),r=77*(n>>16&255)+151*(n>>8&255)+28*(255&n),s=77*(o>>16&255)+151*(o>>8&255)+28*(255&o),q>g&&(e=m,g=q),p>g&&(e=l,g=p),r>g&&(e=n,g=r),s>g&&(e=o,g=s),w[u++]=e;f._setPixels(t,w)},f.erode=function(a){for(var b,c,d,e,g,h,i,j,k,l,m,n,o,p,q,r,s,t=f._toPixels(a),u=0,v=t.length?t.length/4:0,w=new Int32Array(v);u=c&&(h=u),j<0&&(j=0),k>=v&&(k=u),n=f._getARGB(t,j),m=f._getARGB(t,i),o=f._getARGB(t,k),l=f._getARGB(t,h),g=77*(d>>16&255)+151*(d>>8&255)+28*(255&d),q=77*(m>>16&255)+151*(m>>8&255)+28*(255&m),p=77*(l>>16&255)+151*(l>>8&255)+28*(255&l),r=77*(n>>16&255)+151*(n>>8&255)+28*(255&n),s=77*(o>>16&255)+151*(o>>8&255)+28*(255&o),q0&&a0&&this.loadPixels()},d.Image.prototype.copy=function(){d.prototype.copy.apply(this,arguments)},d.Image.prototype.mask=function(a){void 0===a&&(a=this);var b=this.drawingContext.globalCompositeOperation,c=1;a instanceof d.Renderer&&(c=a._pInst._pixelDensity);var e=[a,0,0,c*a.width,c*a.height,0,0,this.width,this.height];this.drawingContext.globalCompositeOperation="destination-in",d.Image.prototype.copy.apply(this,e),this.drawingContext.globalCompositeOperation=b},d.Image.prototype.filter=function(a,b){e.apply(this.canvas,e[a.toLowerCase()],b)},d.Image.prototype.blend=function(){d.prototype.blend.apply(this,arguments)},d.Image.prototype.save=function(a,b){var c;if(b)switch(b.toLowerCase()){case"png":c="image/png";break;case"jpeg":c="image/jpeg";break;case"jpg":c="image/jpeg";break;default:c="image/png"}else b="png",c="image/png";var e=this.canvas.toDataURL(c);e=e.replace(c,"image/octet-stream"),d.prototype.downloadFile(e,a,b)},b.exports=d.Image},{"../core/core":39,"./filters":56}],60:[function(a,b,c){"use strict";var d=a("../core/core"),e=a("./filters");a("../color/p5.Color"),d.prototype.pixels=[],d.prototype.blend=function(){this._renderer?this._renderer.blend.apply(this._renderer,arguments):d.Renderer2D.prototype.blend.apply(this,arguments)},d.prototype.copy=function(){d.Renderer2D._copyHelper.apply(this,arguments)},d.prototype.filter=function(a,b){void 0!==this.canvas?e.apply(this.canvas,e[a.toLowerCase()],b):e.apply(this.elt,e[a.toLowerCase()],b)},d.prototype.get=function(a,b,c,d){return this._renderer.get(a,b,c,d)},d.prototype.loadPixels=function(){this._renderer.loadPixels()},d.prototype.set=function(a,b,c){this._renderer.set(a,b,c)},d.prototype.updatePixels=function(a,b,c,d){0!==this.pixels.length&&this._renderer.updatePixels(a,b,c,d)},b.exports=d},{"../color/p5.Color":33,"../core/core":39,"./filters":56}],61:[function(a,b,c){"use strict";function d(a,b){var c={};if(void 0===(b=b||[]))for(var d=0;d/g,">").replace(/"/g,""").replace(/'/g,"'")}function f(a,b){b&&b!==!0&&"true"!==b||(b=""),a||(a="untitled");var c="";return a&&a.indexOf(".")>-1&&(c=a.split(".").pop()),b&&c!==b&&(c=b,a=a+"."+c),[a,c]}function g(a){document.body.removeChild(a.target)}var h=a("../core/core"),i=a("reqwest"),j=a("opentype.js");a("../core/error_helpers"),h._getDecrementPreload=function(){var a=arguments[arguments.length-1];return(window.preload||this&&this.preload)&&"function"==typeof a?a:null},h.prototype.loadFont=function(a,b,c){var d=new h.Font(this),e=h._getDecrementPreload.apply(this,arguments);return j.load(a,function(f,g){if(f)return void 0!==c&&c!==e?c(f):(h._friendlyFileLoadError(4,a),void console.error(f,a));d.font=g,void 0!==b&&b(d),e&&b!==e&&e();var i,j,k=["ttf","otf","woff","woff2"],l=a.split("\\").pop().split("/").pop(),m=l.lastIndexOf("."),n=m<1?null:l.substr(m+1);k.indexOf(n)>-1&&(i=l.substr(0,m),j=document.createElement("style"),j.appendChild(document.createTextNode("\n@font-face {\nfont-family: "+i+";\nsrc: url("+a+");\n}\n")),document.head.appendChild(j))}),d},h.prototype.createInput=function(){throw"not yet implemented"},h.prototype.createReader=function(){throw"not yet implemented"},h.prototype.loadBytes=function(){throw"not yet implemented"},h.prototype.loadJSON=function(){for(var a,b=arguments[0],c=arguments[1],d=h._getDecrementPreload.apply(this,arguments),e={},f="json",g=2;g"),d.print("");var k=' "),d.print(""),d.print(" "),"0"!==f[0]){d.print(" ");for(var l=0;l"+m),d.print(" ")}d.print(" ")}for(var n=0;n");for(var o=0;o"+q),d.print(" ")}d.print(" ")}d.print("
"),d.print(""),d.print("")}d.close(),d.flush()},h.prototype.writeFile=function(a,b,c){var d="application/octet-stream";h.prototype._isSafari()&&(d="text/plain");var e=new Blob(a,{type:d}),f=window.URL.createObjectURL(e);h.prototype.downloadFile(f,b,c)},h.prototype.downloadFile=function(a,b,c){var d=f(b,c),e=d[0],i=d[1],j=document.createElement("a");if(j.href=a,j.download=e,j.onclick=function(a){g(a),a.stopPropagation()},j.style.display="none",document.body.appendChild(j),h.prototype._isSafari()){var k="Hello, Safari user! To download this file...\n";k+="1. Go to File --> Save As.\n",k+='2. Choose "Page Source" as the Format.\n',k+='3. Name it with this extension: ."'+i+'"',alert(k)}j.click(),a=null},h.prototype._checkFileExtension=f,h.prototype._isSafari=function(){return Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor")>0},b.exports=h},{"../core/core":39,"../core/error_helpers":42,"opentype.js":8,reqwest:29}],62:[function(a,b,c){"use strict";var d=a("../core/core");d.Table=function(a){this.columns=[],this.rows=[]},d.Table.prototype.addRow=function(a){var b=a||new d.TableRow;if(void 0===b.arr||void 0===b.obj)throw"invalid TableRow: "+b;return b.table=this,this.rows.push(b),b},d.Table.prototype.removeRow=function(a){this.rows[a].table=null;var b=this.rows.splice(a+1,this.rows.length);this.rows.pop(),this.rows=this.rows.concat(b)},d.Table.prototype.getRow=function(a){return this.rows[a]},d.Table.prototype.getRows=function(){return this.rows},d.Table.prototype.findRow=function(a,b){if("string"==typeof b){for(var c=0;c=0))throw'This table has no column named "'+a+'"';c=b[a],d[c]=b}else d[e]=this.rows[e].obj;return d},d.Table.prototype.getArray=function(){for(var a=[],b=0;b=0))throw'This table has no column named "'+a+'"';this.obj[a]=b,this.arr[c]=b}else{if(!(a0},d.XML.prototype.listChildren=function(){return this.children.map(function(a){return a.name})},d.XML.prototype.getChildren=function(a){return a?this.children.filter(function(b){return b.name===a}):this.children},d.XML.prototype.getChild=function(a){return"string"==typeof a?this.children.find(function(b){return b.name===a}):this.children[a]},d.XML.prototype.addChild=function(a){a instanceof d.XML&&this.children.push(a)},d.XML.prototype.removeChild=function(a){var b=-1;if("string"==typeof a){for(var c=0;cf&&(f=h),e[g]=h}0===f&&(f=1);for(var i=0,j=0,k=0;k=1&&(s++,v--),w>=1&&(t++,w--),x>=1&&(u++,x--)}return y},e.prototype.noiseDetail=function(a,b){a>0&&(k=a),b>0&&(l=b)},e.prototype.noiseSeed=function(a){var b=function(){var a,b,c=4294967296,d=1664525,e=1013904223;return{setSeed:function(d){b=a=(null==d?Math.random()*c:d)>>>0},getSeed:function(){return a},rand:function(){return(b=(d*b+e)%c)/c}}}();b.setSeed(a),d=new Array(j+1);for(var c=0;ca*a&&(this.div(Math.sqrt(b)),this.mult(a)),this},d.Vector.prototype.setMag=function(a){return this.normalize().mult(a)},d.Vector.prototype.heading=function(){var a=Math.atan2(this.y,this.x);return this.p5?this.p5._angleMode===f.RADIANS?a:e.radiansToDegrees(a):a},d.Vector.prototype.rotate=function(a){var b=this.heading()+a;this.p5&&this.p5._angleMode===f.DEGREES&&(b=e.degreesToRadians(b));var c=this.mag();return this.x=Math.cos(b)*c,this.y=Math.sin(b)*c,this},d.Vector.prototype.lerp=function(a,b,c,e){return a instanceof d.Vector?this.lerp(a.x,a.y,a.z,b):(this.x+=(a-this.x)*e||0,this.y+=(b-this.y)*e||0,this.z+=(c-this.z)*e||0,this)},d.Vector.prototype.array=function(){return[this.x||0,this.y||0,this.z||0]},d.Vector.prototype.equals=function(a,b,c){var e,f,g;return a instanceof d.Vector?(e=a.x||0,f=a.y||0,g=a.z||0):a instanceof Array?(e=a[0]||0,f=a[1]||0,g=a[2]||0):(e=a||0,f=b||0,g=c||0),this.x===e&&this.y===f&&this.z===g},d.Vector.fromAngle=function(a){return this.p5&&this.p5._angleMode===f.DEGREES&&(a=e.degreesToRadians(a)),this.p5?new d.Vector(this.p5,[Math.cos(a),Math.sin(a),0]):new d.Vector(Math.cos(a),Math.sin(a),0)},d.Vector.random2D=function(){var a;return a=this.p5?this.p5._angleMode===f.DEGREES?this.p5.random(360):this.p5.random(f.TWO_PI):Math.random()*Math.PI*2,this.fromAngle(a)},d.Vector.random3D=function(){var a,b;this.p5?(a=this.p5.random(0,f.TWO_PI),b=this.p5.random(-1,1)):(a=Math.random()*Math.PI*2,b=2*Math.random()-1);var c=Math.sqrt(1-b*b)*Math.cos(a),e=Math.sqrt(1-b*b)*Math.sin(a);return this.p5?new d.Vector(this.p5,[c,e,b]):new d.Vector(c,e,b)},d.Vector.add=function(a,b,c){return c?c.set(a):c=a.copy(),c.add(b),c},d.Vector.sub=function(a,b,c){return c?c.set(a):c=a.copy(),c.sub(b),c},d.Vector.mult=function(a,b,c){return c?c.set(a):c=a.copy(),c.mult(b),c},d.Vector.div=function(a,b,c){return c?c.set(a):c=a.copy(),c.div(b),c},d.Vector.dot=function(a,b){return a.dot(b)},d.Vector.cross=function(a,b){return a.cross(b)},d.Vector.dist=function(a,b){return a.dist(b)},d.Vector.lerp=function(a,b,c,d){return d?d.set(a):d=a.copy(),d.lerp(b,c),d},d.Vector.angleBetween=function(a,b){var c=Math.acos(a.dot(b)/(a.mag()*b.mag()));return this.p5&&this.p5._angleMode===f.DEGREES&&(c=e.radiansToDegrees(c)),c},d.Vector.mag=function(a){var b=a.x,c=a.y,d=a.z,e=b*b+c*c+d*d;return Math.sqrt(e)},b.exports=d.Vector},{"../core/constants":38,"../core/core":39,"./polargeometry":69}],69:[function(a,b,c){b.exports={degreesToRadians:function(a){return 2*Math.PI*a/360},radiansToDegrees:function(a){return 360*a/(2*Math.PI)}}},{}],70:[function(a,b,c){"use strict";var d=a("../core/core"),e=!1,f=!1,g=0,h=function(){var a,b,c=4294967296,d=1664525,e=1013904223;return{setSeed:function(d){b=a=(null==d?Math.random()*c:d)>>>0},getSeed:function(){return a},rand:function(){return(b=(d*b+e)%c)/c}}}();d.prototype.randomSeed=function(a){h.setSeed(a),e=!0,f=!1},d.prototype.random=function(a,b){var c;if(c=e?h.rand():Math.random(),void 0===a)return c;if(void 0===b)return a instanceof Array?a[Math.floor(c*a.length)]:c*a;if(a>b){var d=a;a=b,b=d}return c*(b-a)+a},d.prototype.randomGaussian=function(a,b){var c,d,e,h;if(f)c=g,f=!1;else{do{d=this.random(2)-1,e=this.random(2)-1,h=d*d+e*e}while(h>=1);h=Math.sqrt(-2*Math.log(h)/h),c=d*h,g=e*h,f=!0}var i=a||0;return c*(b||1)+i},b.exports=d},{"../core/core":39}],71:[function(a,b,c){"use strict";var d=a("../core/core"),e=a("./polargeometry"),f=a("../core/constants");d.prototype._angleMode=f.RADIANS,d.prototype.acos=function(a){return this._angleMode===f.RADIANS?Math.acos(a):e.radiansToDegrees(Math.acos(a))},d.prototype.asin=function(a){return this._angleMode===f.RADIANS?Math.asin(a):e.radiansToDegrees(Math.asin(a))},d.prototype.atan=function(a){return this._angleMode===f.RADIANS?Math.atan(a):e.radiansToDegrees(Math.atan(a))},d.prototype.atan2=function(a,b){return this._angleMode===f.RADIANS?Math.atan2(a,b):e.radiansToDegrees(Math.atan2(a,b))},d.prototype.cos=function(a){return this._angleMode===f.RADIANS?Math.cos(a):Math.cos(this.radians(a))},d.prototype.sin=function(a){return this._angleMode===f.RADIANS?Math.sin(a):Math.sin(this.radians(a))},d.prototype.tan=function(a){return this._angleMode===f.RADIANS?Math.tan(a):Math.tan(this.radians(a))},d.prototype.degrees=function(a){return e.radiansToDegrees(a)},d.prototype.radians=function(a){return e.degreesToRadians(a)},d.prototype.angleMode=function(a){a!==f.DEGREES&&a!==f.RADIANS||(this._angleMode=a)},b.exports=d},{"../core/constants":38,"../core/core":39,"./polargeometry":69}],72:[function(a,b,c){"use strict";var d=a("../core/core");d.prototype.textAlign=function(a,b){return this._renderer.textAlign.apply(this._renderer,arguments)},d.prototype.textLeading=function(a){return this._renderer.textLeading.apply(this._renderer,arguments)},d.prototype.textSize=function(a){return this._renderer.textSize.apply(this._renderer,arguments)},d.prototype.textStyle=function(a){return this._renderer.textStyle.apply(this._renderer,arguments)},d.prototype.textWidth=function(a){return 0===a.length?0:this._renderer.textWidth.apply(this._renderer,arguments)},d.prototype.textAscent=function(){return this._renderer.textAscent()},d.prototype.textDescent=function(){return this._renderer.textDescent()},d.prototype._updateTextMetrics=function(){return this._renderer._updateTextMetrics()},b.exports=d},{"../core/core":39}],73:[function(a,b,c){"use strict";var d=a("../core/core"),e=a("../core/constants");a("../core/error_helpers"),d.prototype.text=function(a,b,c,d,e){return this._renderer._doFill||this._renderer._doStroke?this._renderer.text.apply(this._renderer,arguments):this},d.prototype.textFont=function(a,b){if(arguments.length){if(!a)throw Error("null font passed to textFont");return this._renderer._setProperty("_textFont",a),b&&(this._renderer._setProperty("_textSize",b),this._renderer._setProperty("_textLeading",b*e._DEFAULT_LEADMULT)),this._renderer._applyTextProperties()}return this},b.exports=d},{"../core/constants":38,"../core/core":39,"../core/error_helpers":42}],74:[function(a,b,c){"use strict";function d(a,b){for(var c=h(b,{sampleFactor:.1,simplifyThreshold:0}),d=n(a,0,1),f=d/(d*c.sampleFactor),g=[],i=0;i3&&d>=0;--d)j(i(a,d-1),i(a,d),i(a,d+1),b)&&(a.splice(d%a.length,1),c++);return c}function f(a){for(var b,c=[],d=0;ds||rb&&!c)return h=m(d,e,f[1],f[2],f[3],f[4],f[5],f[6],b-k),{x:h.x,y:h.y,alpha:h.alpha};k+=g,d=+f[5],e=+f[6]}i+=f.shift()+f}return j.end=i,h=c?k:l(d,e,f[0],f[1],f[2],f[3],f[4],f[5],1),h.alpha&&(h={x:h.x,y:h.y,alpha:h.alpha}),h}function o(a){var b=[],c=0,d=0,e=0,f=0,g=0;"M"===a[0][0]&&(c=+a[0][1],d=+a[0][2],e=c,f=d,g++,b[0]=["M",c,d]);for(var h,i,j,k=3===a.length&&"M"===a[0][0]&&"R"===a[1][0].toUpperCase()&&"Z"===a[2][0].toUpperCase(),l=g,m=a.length;l7){a[b].shift();for(var e=a[b];e.length;)j[b]="A",d&&(k[b]="A"),a.splice(b++,0,["C"].concat(e.splice(0,6)));a.splice(b,1),p=Math.max(c.length,d&&d.length||0)}},i=function(a,b,e,f,g){a&&b&&"M"===a[g][0]&&"M"!==b[g][0]&&(b.splice(g,0,["M",f.x,f.y]),e.bx=0,e.by=0,e.x=a[g][1],e.y=a[g][2],p=Math.max(c.length,d&&d.length||0))},j=[],k=[],l="",m="",n=0,p=Math.max(c.length,d&&d.length||0);n1&&(x=Math.sqrt(x),c*=x,d*=x);var y=c*c,z=d*d,A=(f===g?-1:1)*Math.sqrt(Math.abs((y*z-y*w*w-z*v*v)/(y*w*w+z*v*v)));m=A*c*w/d+(a+h)/2,n=A*-d*v/c+(b+i)/2,k=Math.asin(((b-n)/d).toFixed(9)),l=Math.asin(((i-n)/d).toFixed(9)),k=al&&(k-=2*p),!g&&l>k&&(l-=2*p)}var B=l-k;if(Math.abs(B)>r){var C=l,D=h,E=i;l=k+r*(g&&l>k?1:-1),h=m+c*Math.cos(l),i=n+d*Math.sin(l),t=q(h,i,c,d,e,0,g,D,E,[l,C,m,n])}B=l-k;var F=Math.cos(k),G=Math.sin(k),H=Math.cos(l),I=Math.sin(l),J=Math.tan(B/4),K=4/3*c*J,L=4/3*d*J,M=[a,b],N=[a+K*G,b-L*F],O=[h+K*I,i-L*H],P=[h,i];if(N[0]=2*M[0]-N[0],N[1]=2*M[1]-N[1],j)return[N,O,P].concat(t);t=[N,O,P].concat(t).join().split(",");for(var Q=[],R=0,S=t.length;Rd;d+=2){var f=[{x:+a[d-2],y:+a[d-1]},{x:+a[d],y:+a[d+1]},{x:+a[d+2],y:+a[d+3]},{x:+a[d+4],y:+a[d+5]}];b?d?e-4===d?f[3]={x:+a[0],y:+a[1]}:e-2===d&&(f[2]={x:+a[0],y:+a[1]},f[3]={x:+a[2],y:+a[3]}):f[0]={x:+a[e-2],y:+a[e-1]}:e-4===d?f[3]=f[2]:d||(f[0]={x:+a[d],y:+a[d+1]}),c.push(["C",(-f[0].x+6*f[1].x+f[2].x)/6,(-f[0].y+6*f[1].y+f[2].y)/6,(f[1].x+6*f[2].x-f[3].x)/6,(f[1].y+6*f[2].y-f[3].y)/6,f[2].x,f[2].y])}return c}function s(a,b,c,d){return[a,b,c,d,c,d]}function t(a,b,c,d,e,f){var g=1/3,h=2/3;return[g*a+h*c,g*b+h*d,g*e+h*c,g*f+h*d,e,f]}function u(a,b,c,d,e,f,g,h,i){null==i&&(i=1),i=i>1?1:i<0?0:i;for(var j=i/2,k=12,l=[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816],m=0,n=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472],o=0;on;)l/=2,m+=(j2?a=this._getPath(a,b,c,d):"object"==typeof b&&(d=b),d&&"number"==typeof d.decimals&&(e=d.decimals),a.toPathData(e)},y.Font.prototype._getSVG=function(a,b,c,d){var e=3;return"string"==typeof a&&arguments.length>2?a=this._getPath(a,b,c,d):"object"==typeof b&&(d=b),d&&("number"==typeof d.decimals&&(e=d.decimals),"number"==typeof d.strokeWidth&&(a.strokeWidth=d.strokeWidth),void 0!==d.fill&&(a.fill=d.fill),void 0!==d.stroke&&(a.stroke=d.stroke)),a.toSVG(e)},y.Font.prototype._renderPath=function(a,b,c,d){ -var e,f=d&&d.renderer||this.parent._renderer,g=f.drawingContext;e="object"==typeof a&&a.commands?a.commands:this._getPath(a,b,c,d).commands,g.beginPath();for(var h=0;h1;)d=Math.random()*f|0,e=a[--f],a[f]=a[d],a[d]=e;return a},d.prototype.sort=function(a,b){var c=b?a.slice(0,Math.min(b,a.length)):a,d=b?a.slice(Math.min(b,a.length)):[];return c="string"==typeof c[0]?c.sort():c.sort(function(a,b){return a-b}),c.concat(d)},d.prototype.splice=function(a,b,c){return Array.prototype.splice.apply(a,[c,0].concat(b)),a},d.prototype.subset=function(a,b,c){return void 0!==c?a.slice(b,b+c):a.slice(b,a.length)},b.exports=d},{"../core/core":39}],76:[function(a,b,c){"use strict";var d=a("../core/core");d.prototype.float=function(a){return a instanceof Array?a.map(parseFloat):parseFloat(a)},d.prototype.int=function(a,b){return b=b||10,"string"==typeof a?parseInt(a,b):"number"==typeof a?0|a:"boolean"==typeof a?a?1:0:a instanceof Array?a.map(function(a){return d.prototype.int(a,b)}):void 0},d.prototype.str=function(a){return a instanceof Array?a.map(d.prototype.str):String(a)},d.prototype.boolean=function(a){return"number"==typeof a?0!==a:"string"==typeof a?"true"===a.toLowerCase():"boolean"==typeof a?a:a instanceof Array?a.map(d.prototype.boolean):void 0},d.prototype.byte=function(a){var b=d.prototype.int(a,10);return"number"==typeof b?(b+128)%256-128:b instanceof Array?b.map(d.prototype.byte):void 0},d.prototype.char=function(a){return"number"!=typeof a||isNaN(a)?a instanceof Array?a.map(d.prototype.char):"string"==typeof a?d.prototype.char(parseInt(a,10)):void 0:String.fromCharCode(a)},d.prototype.unchar=function(a){return"string"==typeof a&&1===a.length?a.charCodeAt(0):a instanceof Array?a.map(d.prototype.unchar):void 0},d.prototype.hex=function(a,b){if(b=void 0===b||null===b?b=8:b,a instanceof Array)return a.map(function(a){return d.prototype.hex(a,b)});if("number"==typeof a){a<0&&(a=4294967295+a+1);for(var c=Number(a).toString(16).toUpperCase();c.length=b&&(c=c.substring(c.length-b,c.length)),c}},d.prototype.unhex=function(a){return a instanceof Array?a.map(d.prototype.unhex):parseInt("0x"+a,16)},b.exports=d},{"../core/core":39}],77:[function(a,b,c){"use strict";function d(){var a=arguments[0],b=a<0,c=b?a.toString().substring(1):a.toString(),d=c.indexOf("."),e=d!==-1?c.substring(0,d):c,f=d!==-1?c.substring(d+1):"",g=b?"-":"";if(3===arguments.length){var h="";(d!==-1||arguments[2]-f.length>0)&&(h="."),f.length>arguments[2]&&(f=f.substring(0,arguments[2]));for(var i=0;ic.length){c+=b===-1?".":"";for(var e=arguments[1]-c.length+1,f=0;f0?"+"+arguments[0].toString():arguments[0].toString()}function g(){return parseFloat(arguments[0])>0?" "+arguments[0].toString():arguments[0].toString()}var h=a("../core/core");h.prototype.join=function(a,b){return a.join(b)},h.prototype.match=function(a,b){return a.match(b)},h.prototype.matchAll=function(a,b){for(var c=new RegExp(b,"g"),d=c.exec(a),e=[];null!==d;)e.push(d),d=c.exec(a);return e},h.prototype.nf=function(){if(arguments[0]instanceof Array){var a=arguments[1],b=arguments[2];return arguments[0].map(function(c){return d(c,a,b)})}return"[object Arguments]"===Object.prototype.toString.call(arguments[0])?3===arguments[0].length?this.nf(arguments[0][0],arguments[0][1],arguments[0][2]):2===arguments[0].length?this.nf(arguments[0][0],arguments[0][1]):this.nf(arguments[0][0]):d.apply(this,arguments)},h.prototype.nfc=function(){if(arguments[0]instanceof Array){var a=arguments[1];return arguments[0].map(function(b){return e(b,a)})}return e.apply(this,arguments)},h.prototype.nfp=function(){var a=this.nf.apply(this,arguments);return a instanceof Array?a.map(f):f(a)},h.prototype.nfs=function(){var a=this.nf.apply(this,arguments);return a instanceof Array?a.map(g):g(a)},h.prototype.split=function(a,b){return a.split(b)},h.prototype.splitTokens=function(){var a,b,c,d;return d=arguments[1],arguments.length>1?(c=/\]/g.exec(d),b=/\[/g.exec(d),b&&c?(d=d.slice(0,c.index)+d.slice(c.index+1),b=/\[/g.exec(d),d=d.slice(0,b.index)+d.slice(b.index+1),a=new RegExp("[\\["+d+"\\]]","g")):c?(d=d.slice(0,c.index)+d.slice(c.index+1),a=new RegExp("["+d+"\\]]","g")):b?(d=d.slice(0,b.index)+d.slice(b.index+1),a=new RegExp("["+d+"\\[]","g")):a=new RegExp("["+d+"]","g")):a=/\s/g,arguments[0].split(a).filter(function(a){return a})},h.prototype.trim=function(a){return a instanceof Array?a.map(this.trim):a.trim()},b.exports=h},{"../core/core":39}],78:[function(a,b,c){"use strict";var d=a("../core/core");d.prototype.day=function(){return(new Date).getDate()},d.prototype.hour=function(){return(new Date).getHours()},d.prototype.minute=function(){return(new Date).getMinutes()},d.prototype.millis=function(){return window.performance.now()},d.prototype.month=function(){return(new Date).getMonth()+1},d.prototype.second=function(){return(new Date).getSeconds()},d.prototype.year=function(){return(new Date).getFullYear()},b.exports=d},{"../core/core":39}],79:[function(a,b,c){"use strict";var d=a("../core/core");d.prototype.camera=function(a,b,c){this._renderer.translate(-a,-b,-c)},d.prototype.perspective=function(a,b,c,e){a=a||60/180*this.PI,b=b||this.width/this.height,c=c||this.height/2/this.tan(a/2)*.1,e=e||this.height/2/this.tan(a/2)*10,this._renderer.uPMatrix=d.Matrix.identity(),this._renderer.uPMatrix.perspective(a,b,c,e),this._renderer._curCamera="custom"},d.prototype.ortho=function(a,b,c,e,f,g){a=a||-this.width/2,b=b||this.width/2,c=c||-this.height/2,e=e||this.height/2,f=f||0,g=g||Math.max(this.width,this.height),this._renderer.uPMatrix=d.Matrix.identity(),this._renderer.uPMatrix.ortho(a,b,c,e,f,g),this._renderer._curCamera="custom"},b.exports=d},{"../core/core":39}],80:[function(a,b,c){"use strict";var d=a("../core/core");d.prototype.orbitControl=function(){return this.mouseIsPressed&&(this.rotateY((this.mouseX-this.width/2)/(this.width/2)),this.rotateX((this.mouseY-this.height/2)/(this.width/2))),this},b.exports=d},{"../core/core":39}],81:[function(a,b,c){"use strict";var d=a("../core/core");d.prototype.ambientLight=function(a,b,c,d){var e=this._renderer.GL,f=this._renderer._getShader("lightVert","lightTextureFrag");e.useProgram(f),f.uAmbientColor=e.getUniformLocation(f,"uAmbientColor["+this._renderer.ambientLightCount+"]");var g=this._renderer._pInst.color.apply(this._renderer._pInst,arguments),h=g._array;return e.uniform3f(f.uAmbientColor,h[0],h[1],h[2]),f.uMaterialColor=e.getUniformLocation(f,"uMaterialColor"),e.uniform4f(f.uMaterialColor,1,1,1,1),this._renderer.ambientLightCount++,f.uAmbientLightCount=e.getUniformLocation(f,"uAmbientLightCount"),e.uniform1i(f.uAmbientLightCount,this._renderer.ambientLightCount),this},d.prototype.directionalLight=function(a,b,c,d,e,f,g){var h=this._renderer.GL,i=this._renderer._getShader("lightVert","lightTextureFrag");h.useProgram(i),i.uDirectionalColor=h.getUniformLocation(i,"uDirectionalColor["+this._renderer.directionalLightCount+"]");var j=this._renderer._pInst.color.apply(this._renderer._pInst,[a,b,c]),k=j._array;h.uniform3f(i.uDirectionalColor,k[0],k[1],k[2]);for(var l,m,n,o=new Array(arguments.length),p=0;p0)if("v"===g[0]||"vn"===g[0]){var h=new e.Vector(parseFloat(g[1]),parseFloat(g[2]),parseFloat(g[3]));c[g[0]].push(h)}else if("vt"===g[0]){var i=[parseFloat(g[1]),parseFloat(g[2])];c[g[0]].push(i)}else if("f"===g[0])for(var j=3;j0&&(this._renderer.geometryInHash(a.gid)||this._renderer.createBuffers(a.gid,a),this._renderer.drawBuffers(a.gid))},b.exports=e},{"../core/core":39,"./p5.Geometry":84}],83:[function(a,b,c){"use strict";var d=a("../core/core");d.prototype.normalMaterial=function(){return this._renderer._getShader("normalVert","normalFrag"),this},d.prototype.texture=function(){for(var a=new Array(arguments.length),b=0;bthis.vertices.length-1-this.detailX;b--)a.add(this.vertexNormals[b]);for(a=d.Vector.div(a,this.detailX),b=this.vertices.length-1;b>this.vertices.length-1-this.detailX;b--)this.vertexNormals[b]=a;return this},d.Geometry.prototype.normalize=function(){if(this.vertices.length>0){for(var a=this.vertices[0].copy(),b=this.vertices[0].copy(),c=0;c0?a.reduce(function(a,b){return a.concat(b)}):[]}function e(a){return d(a.map(function(a){return[a.x,a.y,a.z]}))}var f=a("../core/core"),g=0;f.RendererGL.prototype._initBufferDefaults=function(a){if(++g>1e3){var b=Object.keys(this.gHash)[0];delete this.gHash[b],g--}var c=this.GL;this.gHash[a]={},this.gHash[a].vertexBuffer=c.createBuffer(),this.gHash[a].normalBuffer=c.createBuffer(),this.gHash[a].uvBuffer=c.createBuffer(),this.gHash[a].indexBuffer=c.createBuffer()},f.RendererGL.prototype.createBuffers=function(a,b){var c=this.GL;this._setDefaultCamera(),this._initBufferDefaults(a);var f=this.mHash[this._getCurShaderId()];this.gHash[a].numberOfItems=3*b.faces.length,c.bindBuffer(c.ARRAY_BUFFER,this.gHash[a].vertexBuffer),c.bufferData(c.ARRAY_BUFFER,new Float32Array(e(b.vertices)),c.STATIC_DRAW),f.vertexPositionAttribute=c.getAttribLocation(f,"aPosition"),c.enableVertexAttribArray(f.vertexPositionAttribute),c.vertexAttribPointer(f.vertexPositionAttribute,3,c.FLOAT,!1,0,0),c.bindBuffer(c.ARRAY_BUFFER,this.gHash[a].normalBuffer),c.bufferData(c.ARRAY_BUFFER,new Float32Array(e(b.vertexNormals)),c.STATIC_DRAW),f.vertexNormalAttribute=c.getAttribLocation(f,"aNormal"),c.enableVertexAttribArray(f.vertexNormalAttribute),c.vertexAttribPointer(f.vertexNormalAttribute,3,c.FLOAT,!1,0,0),c.bindBuffer(c.ARRAY_BUFFER,this.gHash[a].uvBuffer),c.bufferData(c.ARRAY_BUFFER,new Float32Array(d(b.uvs)),c.STATIC_DRAW),f.textureCoordAttribute=c.getAttribLocation(f,"aTexCoord"),c.enableVertexAttribArray(f.textureCoordAttribute),c.vertexAttribPointer(f.textureCoordAttribute,2,c.FLOAT,!1,0,0),c.bindBuffer(c.ELEMENT_ARRAY_BUFFER,this.gHash[a].indexBuffer),c.bufferData(c.ELEMENT_ARRAY_BUFFER,new Uint16Array(d(b.faces)),c.STATIC_DRAW)},f.RendererGL.prototype.drawBuffers=function(a){this._setDefaultCamera();var b=this.GL,c=this._getCurShaderId(),d=this.mHash[c];return b.bindBuffer(b.ARRAY_BUFFER,this.gHash[a].vertexBuffer),b.vertexAttribPointer(d.vertexPositionAttribute,3,b.FLOAT,!1,0,0),b.bindBuffer(b.ARRAY_BUFFER,this.gHash[a].normalBuffer),b.vertexAttribPointer(d.vertexNormalAttribute,3,b.FLOAT,!1,0,0),b.bindBuffer(b.ARRAY_BUFFER,this.gHash[a].uvBuffer),b.vertexAttribPointer(d.textureCoordAttribute,2,b.FLOAT,!1,0,0),b.bindBuffer(b.ELEMENT_ARRAY_BUFFER,this.gHash[a].indexBuffer),this._setMatrixUniforms(c),b.drawElements(b.TRIANGLES,this.gHash[a].numberOfItems,b.UNSIGNED_SHORT,0),this},b.exports=f.RendererGL},{ -"../core/core":39}],88:[function(a,b,c){"use strict";var d=a("../core/core"),e=a("./shader");a("../core/p5.Renderer"),a("./p5.Matrix");var f=[],g={alpha:!0,depth:!0,stencil:!0,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1};d.RendererGL=function(a,b,c){return d.Renderer.call(this,a,b,c),this._initContext(),this.isP3D=!0,this.GL=this.drawingContext,this.ambientLightCount=0,this.directionalLightCount=0,this.pointLightCount=0,this._curCamera=null,this.uMVMatrix=new d.Matrix,this.uPMatrix=new d.Matrix,this.uNMatrix=new d.Matrix("mat3"),this.gHash={},this.mHash={},this.isImmediateDrawing=!1,this.immediateMode={},this.curFillColor=[.5,.5,.5,1],this.curStrokeColor=[.5,.5,.5,1],this.pointSize=5,this},d.RendererGL.prototype=Object.create(d.Renderer.prototype),d.RendererGL.prototype._initContext=function(){try{if(this.drawingContext=this.canvas.getContext("webgl",g)||this.canvas.getContext("experimental-webgl",g),null===this.drawingContext)throw new Error("Error creating webgl context");console.log("p5.RendererGL: enabled webgl context");var a=this.drawingContext;a.enable(a.DEPTH_TEST),a.depthFunc(a.LEQUAL),a.viewport(0,0,a.drawingBufferWidth,a.drawingBufferHeight)}catch(a){throw new Error(a)}},d.RendererGL.prototype._setDefaultCamera=function(){if(null===this._curCamera){var a=this.width,b=this.height;this.uPMatrix=d.Matrix.identity();var c=this.height/2/Math.tan(30*Math.PI/180);this.uPMatrix.perspective(60/180*Math.PI,a/b,.1*c,10*c),this._curCamera="default"}},d.RendererGL.prototype._update=function(){this.uMVMatrix=d.Matrix.identity(),this.translate(0,0,-(this.height/2)/Math.tan(30*Math.PI/180)),this.ambientLightCount=0,this.directionalLightCount=0,this.pointLightCount=0},d.RendererGL.prototype.background=function(){var a=this.GL,b=this._pInst.color.apply(this._pInst,arguments),c=b.levels[0]/255,d=b.levels[1]/255,e=b.levels[2]/255,f=b.levels[3]/255;a.clearColor(c,d,e,f),a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT)},d.RendererGL.prototype._initShaders=function(a,b,c){var d=this.GL,f=d.createShader(d.VERTEX_SHADER);if(d.shaderSource(f,e[a]),d.compileShader(f),!d.getShaderParameter(f,d.COMPILE_STATUS))return alert("Yikes! An error occurred compiling the shaders:"+d.getShaderInfoLog(f)),null;var g=d.createShader(d.FRAGMENT_SHADER);if(d.shaderSource(g,e[b]),d.compileShader(g),!d.getShaderParameter(g,d.COMPILE_STATUS))return alert("Darn! An error occurred compiling the shaders:"+d.getShaderInfoLog(g)),null;var h=d.createProgram();return d.attachShader(h,f),d.attachShader(h,g),d.linkProgram(h),d.getProgramParameter(h,d.LINK_STATUS)||alert("Snap! Error linking shader program"),this._getLocation(h,c),h},d.RendererGL.prototype._getLocation=function(a,b){var c=this.GL;c.useProgram(a),a.uPMatrixUniform=c.getUniformLocation(a,"uProjectionMatrix"),a.uMVMatrixUniform=c.getUniformLocation(a,"uModelViewMatrix"),void 0===b&&(a.uNMatrixUniform=c.getUniformLocation(a,"uNormalMatrix"),a.samplerUniform=c.getUniformLocation(a,"uSampler"))},d.RendererGL.prototype._setUniform1f=function(a,b,c){var d=this.GL,e=this.mHash[a];return d.useProgram(e),e[b]=d.getUniformLocation(e,b),d.uniform1f(e[b],c),this},d.RendererGL.prototype._setMatrixUniforms=function(a){var b=this.GL,c=this.mHash[a];b.useProgram(c),b.uniformMatrix4fv(c.uPMatrixUniform,!1,this.uPMatrix.mat4),b.uniformMatrix4fv(c.uMVMatrixUniform,!1,this.uMVMatrix.mat4),this.uNMatrix.inverseTranspose(this.uMVMatrix),b.uniformMatrix3fv(c.uNMatrixUniform,!1,this.uNMatrix.mat3)},d.RendererGL.prototype._getShader=function(a,b,c){var d=a+"|"+b;if(!this.materialInHash(d)){var e=this._initShaders(a,b,c);this.mHash[d]=e}return this.curShaderId=d,this.mHash[this.curShaderId]},d.RendererGL.prototype._getCurShaderId=function(){var a,b;return"fill"!==this.drawMode&&void 0===this.curShaderId?(a="normalVert|normalFrag",b=this._initShaders("normalVert","normalFrag"),this.mHash[a]=b,this.curShaderId=a):this.isImmediateDrawing&&"fill"===this.drawMode&&(a="immediateVert|vertexColorFrag",b=this._initShaders("immediateVert","vertexColorFrag"),this.mHash[a]=b,this.curShaderId=a),this.curShaderId},d.RendererGL.prototype.fill=function(a,b,c,d){var e,f=this.GL,g=this._applyColorBlend.apply(this,arguments);return this.curFillColor=g,this.drawMode="fill",this.isImmediateDrawing?(e=this._getShader("immediateVert","vertexColorFrag"),f.useProgram(e)):(e=this._getShader("normalVert","basicFrag"),f.useProgram(e),e.uMaterialColor=f.getUniformLocation(e,"uMaterialColor"),f.uniform4f(e.uMaterialColor,g[0],g[1],g[2],g[3])),this},d.RendererGL.prototype.stroke=function(a,b,c,d){var e=this._pInst.color.apply(this._pInst,arguments),f=e._array;return this.curStrokeColor=f,this.drawMode="stroke",this},d.RendererGL.prototype._strokeCheck=function(){if("stroke"===this.drawMode)throw new Error("stroke for shapes in 3D not yet implemented, use fill for now :(")},d.RendererGL.prototype.strokeWeight=function(a){return this.pointSize=a,this},d.RendererGL.prototype.geometryInHash=function(a){return void 0!==this.gHash[a]},d.RendererGL.prototype.materialInHash=function(a){return void 0!==this.mHash[a]},d.RendererGL.prototype.resize=function(a,b){var c=this.GL;d.Renderer.prototype.resize.call(this,a,b),c.viewport(0,0,c.drawingBufferWidth,c.drawingBufferHeight),"default"===this._curCamera&&(this._curCamera=null,this._setDefaultCamera())},d.RendererGL.prototype.clear=function(){var a=this.GL;a.clearColor(arguments[0],arguments[1],arguments[2],arguments[3]),a.clear(a.COLOR_BUFFER_BIT|a.DEPTH_BUFFER_BIT)},d.RendererGL.prototype.translate=function(a,b,c){return this.uMVMatrix.translate([a,-b,c]),this},d.RendererGL.prototype.scale=function(a,b,c){return this.uMVMatrix.scale([a,b,c]),this},d.RendererGL.prototype.rotate=function(a,b){return this.uMVMatrix.rotate(a,b),this},d.RendererGL.prototype.rotateX=function(a){return this.rotate(a,[1,0,0]),this},d.RendererGL.prototype.rotateY=function(a){return this.rotate(a,[0,1,0]),this},d.RendererGL.prototype.rotateZ=function(a){return this.rotate(a,[0,0,1]),this},d.RendererGL.prototype.push=function(){f.push(this.uMVMatrix.copy())},d.RendererGL.prototype.pop=function(){if(0===f.length)throw new Error("Invalid popMatrix!");this.uMVMatrix=f.pop()},d.RendererGL.prototype.resetMatrix=function(){return this.uMVMatrix=d.Matrix.identity(),this.translate(0,0,-800),this},d.RendererGL.prototype._applyTextProperties=function(){console.error("text commands not yet implemented in webgl")},b.exports=d.RendererGL},{"../core/core":39,"../core/p5.Renderer":45,"./p5.Matrix":85,"./shader":90}],89:[function(a,b,c){"use strict";var d=a("../core/core");a("./p5.Geometry"),d.prototype.plane=function(){for(var a=new Array(arguments.length),b=0;bf?(r=c,q=1,p=b):p=a+i/f*(b-a),i!==-2&&i!==f+2||(p=0,q=0),r-=c/2,j=0;jf?0:Math.sin(j*Math.PI*2/e)*Math.cos(m),i<0?-1:i>f?1:Math.sin(m),i<0||i>f?0:Math.cos(j*Math.PI*2/e)*Math.cos(m))),this.uvs.push([j/e,q])}for(i=0;i-1))throw arguments[e]+" is not a valid sound format!";t.extensions.push(arguments[e])}},p5.prototype.disposeSound=function(){for(var e=0;e-1){var n=p5.prototype.isFileSupported(o);if(n)i=i;else for(var r=i.split("."),s=r[r.length-1],a=0;a1?(this.splitter=e.createChannelSplitter(2),this.input.connect(this.splitter),this.splitter.connect(this.left,1),this.splitter.connect(this.right,0)):(this.input.connect(this.left),this.input.connect(this.right)),this.output=e.createChannelMerger(2),this.left.connect(this.output,0,1),this.right.connect(this.output,0,0),this.output.connect(i)},p5.Panner.prototype.pan=function(t,i){var o=i||0,n=e.currentTime+o,r=(t+1)/2,s=Math.cos(r*Math.PI/2),a=Math.sin(r*Math.PI/2);this.left.gain.linearRampToValueAtTime(a,n),this.right.gain.linearRampToValueAtTime(s,n)},p5.Panner.prototype.inputChannels=function(t){1===t?(this.input.disconnect(),this.input.connect(this.left),this.input.connect(this.right)):2===t&&(this.splitter=e.createChannelSplitter(2),this.input.disconnect(),this.input.connect(this.splitter),this.splitter.connect(this.left,1),this.splitter.connect(this.right,0))},p5.Panner.prototype.connect=function(t){this.output.connect(t)},p5.Panner.prototype.disconnect=function(t){this.output.disconnect()}),p5.Panner3D=function(t,i){var o=e.createPanner();return o.panningModel="HRTF",o.distanceModel="linear",o.setPosition(0,0,0),t.connect(o),o.connect(i),o.pan=function(t,e,i){o.setPosition(t,e,i)},o}}(master);var soundfile;soundfile=function(){"use strict";function t(t,e){for(var i={},o=t.length,n=0;o>n;n++){if(t[n]>e){var r=t[n],s=new p(r,n);i[n]=s,n+=6e3}n++}return i}function e(t){for(var e=[],i=Object.keys(t).sort(),o=0;on;n++){var r=t[i[o]],s=t[i[o+n]];if(r&&s){var a=r.sampleIndex,u=s.sampleIndex,p=u-a;p>0&&r.intervals.push(p);var c=e.some(function(t,e){return t.interval===p?(t.count++,t):void 0});c||e.push({interval:p,count:1})}}return e}function i(t,e){var i=[];return t.forEach(function(t,o){try{var r=Math.abs(60/(t.interval/e));r=n(r);var s=i.some(function(e){return e.tempo===r?e.count+=t.count:void 0});if(!s){if(isNaN(r))return;i.push({tempo:Math.round(r),count:t.count})}}catch(a){throw a}}),i}function o(t,e,i,o){for(var r=[],s=Object.keys(t).sort(),a=0;a.01?!0:void 0})}function n(t){if(isFinite(t)&&0!=t){for(;90>t;)t*=2;for(;t>180&&t>90;)t/=2;return t}}var r=errorHandler,s=master,a=s.audiocontext;p5.SoundFile=function(t,e,i,o){if("undefined"!=typeof t){if("string"==typeof t||"string"==typeof t[0]){var n=p5.prototype._checkFileFormats(t);this.url=n}else if("object"==typeof t&&!(window.File&&window.FileReader&&window.FileList&&window.Blob))throw"Unable to load file because the File API is not supported";t.file&&(t=t.file),this.file=t}this._onended=function(){},this._looping=!1,this._playing=!1,this._paused=!1,this._pauseTime=0,this._cues=[],this._lastPos=0,this._counterNode,this._scopeNode,this.bufferSourceNodes=[],this.bufferSourceNode=null,this.buffer=null,this.playbackRate=1,this.gain=1,this.input=s.audiocontext.createGain(),this.output=s.audiocontext.createGain(),this.reversed=!1,this.startTime=0,this.endTime=null,this.pauseTime=0,this.mode="sustain",this.startMillis=null,this.panPosition=0,this.panner=new p5.Panner(this.output,s.input,2),(this.url||this.file)&&this.load(e,i),s.soundArray.push(this),"function"==typeof o?this._whileLoading=o:this._whileLoading=function(){}},p5.prototype.registerPreloadMethod("loadSound",p5.prototype),p5.prototype.loadSound=function(t,e,i,o){window.location.origin.indexOf("file://")>-1&&"undefined"===window.cordova&&alert("This sketch may require a server to load external files. Please see http://bit.ly/1qcInwS");var n=new p5.SoundFile(t,e,i,o);return n},p5.SoundFile.prototype.load=function(t,e){var i=this,o=(new Error).stack;if(void 0!=this.url&&""!=this.url){var n=new XMLHttpRequest;n.addEventListener("progress",function(t){i._updateProgress(t)},!1),n.open("GET",this.url,!0),n.responseType="arraybuffer",n.onload=function(){if(200==n.status)a.decodeAudioData(n.response,function(e){i.buffer=e,i.panner.inputChannels(e.numberOfChannels),t&&t(i)},function(t){var n=new r("decodeAudioData",o,i.url),s="AudioContext error at decodeAudioData for "+i.url;e?(n.msg=s,e(n)):console.error(s+"\n The error stack trace includes: \n"+n.stack)});else{var s=new r("loadSound",o,i.url),u="Unable to load "+i.url+". The request status was: "+n.status+" ("+n.statusText+")";e?(s.message=u,e(s)):console.error(u+"\n The error stack trace includes: \n"+s.stack)}},n.onerror=function(t){var n=new r("loadSound",o,i.url),s="There was no response from the server at "+i.url+". Check the url and internet connectivity.";e?(n.message=s,e(n)):console.error(s+"\n The error stack trace includes: \n"+n.stack)},n.send()}else if(void 0!=this.file){var s=new FileReader,i=this;s.onload=function(){a.decodeAudioData(s.result,function(e){i.buffer=e,i.panner.inputChannels(e.numberOfChannels),t&&t(i)})},s.onerror=function(t){onerror&&onerror(t)},s.readAsArrayBuffer(this.file)}},p5.SoundFile.prototype._updateProgress=function(t){if(t.lengthComputable){var e=t.loaded/t.total*.99;this._whileLoading(e,t)}else this._whileLoading("size unknown")},p5.SoundFile.prototype.isLoaded=function(){return this.buffer?!0:!1},p5.SoundFile.prototype.play=function(t,e,i,o,n){var r,a,u=this,p=s.audiocontext.currentTime,t=t||0;if(0>t&&(t=0),t+=p,!this.buffer)throw"not ready to play file, buffer has yet to load. Try preload()";if(this._pauseTime=0,"restart"===this.mode&&this.buffer&&this.bufferSourceNode){var p=s.audiocontext.currentTime;this.bufferSourceNode.stop(t),this._counterNode.stop(t)}if(e&&(this.playbackRate=e),this.bufferSourceNode=this._initSourceNode(),this._counterNode&&(this._counterNode=void 0),this._counterNode=this._initCounterNode(),o){if(!(o>=0&&o0&&this.reversed&&this.reverseBuffer();if(this.bufferSourceNode){var n=s.audiocontext.currentTime;this.bufferSourceNode.playbackRate.cancelScheduledValues(n),this.bufferSourceNode.playbackRate.linearRampToValueAtTime(Math.abs(e),n),this._counterNode.playbackRate.cancelScheduledValues(n),this._counterNode.playbackRate.linearRampToValueAtTime(Math.abs(e),n)}}},p5.SoundFile.prototype.setPitch=function(t){var e=midiToFreq(t)/midiToFreq(60);this.rate(e)},p5.SoundFile.prototype.getPlaybackRate=function(){return this.playbackRate},p5.SoundFile.prototype.duration=function(){return this.buffer?this.buffer.duration:0},p5.SoundFile.prototype.currentTime=function(){return this._pauseTime>0?this._pauseTime:this._lastPos/a.sampleRate},p5.SoundFile.prototype.jump=function(t,e){if(0>t||t>this.buffer.duration)throw"jump time out of range";if(e>this.buffer.duration-t)throw"end time out of range";var i=t||0,o=e||this.buffer.duration-t;this.isPlaying()&&this.stop(),this.play(0,this.playbackRate,this.output.gain.value,i,o)},p5.SoundFile.prototype.channels=function(){return this.buffer.numberOfChannels},p5.SoundFile.prototype.sampleRate=function(){return this.buffer.sampleRate},p5.SoundFile.prototype.frames=function(){return this.buffer.length},p5.SoundFile.prototype.getPeaks=function(t){if(!this.buffer)throw"Cannot load peaks yet, buffer is not loaded";if(t||(t=5*window.width),this.buffer){for(var e=this.buffer,i=e.length/t,o=~~(i/10)||1,n=e.numberOfChannels,r=new Float32Array(Math.round(t)),s=0;n>s;s++)for(var a=e.getChannelData(s),u=0;t>u;u++){for(var p=~~(u*i),c=~~(p+i),h=0,l=p;c>l;l+=o){var f=a[l];f>h?h=f:-f>h&&(h=f)}(0===s||Math.abs(h)>r[u])&&(r[u]=h)}return r}},p5.SoundFile.prototype.reverseBuffer=function(){var t=this.getVolume();if(this.setVolume(0,.01,0),this.pause(),!this.buffer)throw"SoundFile is not done loading";for(var e=0;en;n++){var r=o.getChannelData(n);r.set(t[n])}this.buffer=o,this.panner.inputChannels(e)},p5.SoundFile.prototype._initCounterNode=function(){var t=this,e=a.currentTime,i=a.createBufferSource();return t._scopeNode&&(t._scopeNode.disconnect(),t._scopeNode.onaudioprocess=void 0,t._scopeNode=null),t._scopeNode=a.createScriptProcessor(256,1,1),i.buffer=u(t.buffer),i.playbackRate.setValueAtTime(t.playbackRate,e),i.connect(t._scopeNode),t._scopeNode.connect(p5.soundOut._silentNode),t._scopeNode.onaudioprocess=function(e){var i=e.inputBuffer.getChannelData(0);t._lastPos=i[i.length-1]||0,t._onTimeUpdate(t._lastPos)},i},p5.SoundFile.prototype._initSourceNode=function(){var t=this,e=(a.currentTime,a.createBufferSource());return e.buffer=t.buffer,e.playbackRate.value=t.playbackRate,e};var u=function(t){for(var e=new Float32Array(t.length),i=a.createBuffer(1,t.length,44100),o=0;o=d);var u=e(c),p=i(u,s.sampleRate),h=p.sort(function(t,e){return e.count-t.count}).splice(0,5);this.tempo=h[0].tempo;var l=5,y=o(c,h[0].tempo,s.sampleRate,l);n(y)}};var p=function(t,e){this.sampleIndex=e,this.amplitude=t,this.tempos=[],this.intervals=[]},c=[];p5.SoundFile.prototype.addCue=function(t,e,i){var o=this._cueIDCounter++,n=new h(e,t,o,i);return this._cues.push(n),o},p5.SoundFile.prototype.removeCue=function(t){for(var e=this._cues.length,i=0;e>i;i++){var o=this._cues[i];o.id===t&&this.cues.splice(i,1)}0===this._cues.length},p5.SoundFile.prototype.clearCues=function(){this._cues=[]},p5.SoundFile.prototype._onTimeUpdate=function(t){for(var e=t/this.buffer.sampleRate,i=this._cues.length,o=0;i>o;o++){var n=this._cues[o],r=n.time,s=n.val;this._prevTime=r&&n.callback(s)}this._prevTime=e};var h=function(t,e,i,o){this.callback=t,this.time=e,this.id=i,this.val=o}}(sndcore,errorHandler,master);var amplitude;amplitude=function(){"use strict";var t=master;p5.Amplitude=function(e){this.bufferSize=2048,this.audiocontext=t.audiocontext,this.processor=this.audiocontext.createScriptProcessor(this.bufferSize,2,1),this.input=this.processor,this.output=this.audiocontext.createGain(),this.smoothing=e||0,this.volume=0,this.average=0,this.stereoVol=[0,0],this.stereoAvg=[0,0],this.stereoVolNorm=[0,0],this.volMax=.001,this.normalize=!1,this.processor.onaudioprocess=this._audioProcess.bind(this),this.processor.connect(this.output),this.output.gain.value=0,this.output.connect(this.audiocontext.destination),t.meter.connect(this.processor),t.soundArray.push(this)},p5.Amplitude.prototype.setInput=function(e,i){t.meter.disconnect(),i&&(this.smoothing=i),null==e?(console.log("Amplitude input source is not ready! Connecting to master output instead"),t.meter.connect(this.processor)):e instanceof p5.Signal?e.output.connect(this.processor):e?(e.connect(this.processor),this.processor.disconnect(),this.processor.connect(this.output)):t.meter.connect(this.processor)},p5.Amplitude.prototype.connect=function(e){e?e.hasOwnProperty("input")?this.output.connect(e.input):this.output.connect(e):this.output.connect(this.panner.connect(t.input))},p5.Amplitude.prototype.disconnect=function(t){this.output.disconnect()},p5.Amplitude.prototype._audioProcess=function(t){for(var e=0;ea;a++)i=o[a],this.normalize?(r+=Math.max(Math.min(i/this.volMax,1),-1),s+=Math.max(Math.min(i/this.volMax,1),-1)*Math.max(Math.min(i/this.volMax,1),-1)):(r+=i,s+=i*i);var u=r/n,p=Math.sqrt(s/n);this.stereoVol[e]=Math.max(p,this.stereoVol[e]*this.smoothing),this.stereoAvg[e]=Math.max(u,this.stereoVol[e]*this.smoothing),this.volMax=Math.max(this.stereoVol[e],this.volMax)}var c=this,h=this.stereoVol.reduce(function(t,e,i){return c.stereoVolNorm[i-1]=Math.max(Math.min(c.stereoVol[i-1]/c.volMax,1),0),c.stereoVolNorm[i]=Math.max(Math.min(c.stereoVol[i]/c.volMax,1),0),t+e});this.volume=h/this.stereoVol.length,this.volNorm=Math.max(Math.min(this.volume/this.volMax,1),0)},p5.Amplitude.prototype.getLevel=function(t){return"undefined"!=typeof t?this.normalize?this.stereoVolNorm[t]:this.stereoVol[t]:this.normalize?this.volNorm:this.volume},p5.Amplitude.prototype.toggleNormalize=function(t){"boolean"==typeof t?this.normalize=t:this.normalize=!this.normalize},p5.Amplitude.prototype.smooth=function(t){t>=0&&1>t?this.smoothing=t:console.log("Error: smoothing must be between 0 and 1")},p5.Amplitude.prototype.dispose=function(){var e=t.soundArray.indexOf(this);t.soundArray.splice(e,1),this.input.disconnect(),this.output.disconnect(),this.input=this.processor=void 0,this.output=void 0}}(master);var fft;fft=function(){"use strict";var t=master;p5.FFT=function(e,i){this.smoothing=e||.8,this.bins=i||1024;var o=2*i||2048;this.input=this.analyser=t.audiocontext.createAnalyser(),t.fftMeter.connect(this.analyser),this.analyser.smoothingTimeConstant=this.smoothing,this.analyser.fftSize=o,this.freqDomain=new Uint8Array(this.analyser.frequencyBinCount),this.timeDomain=new Uint8Array(this.analyser.frequencyBinCount),this.bass=[20,140],this.lowMid=[140,400],this.mid=[400,2600],this.highMid=[2600,5200],this.treble=[5200,14e3],t.soundArray.push(this)},p5.FFT.prototype.setInput=function(e){e?(e.output?e.output.connect(this.analyser):e.connect&&e.connect(this.analyser),t.fftMeter.disconnect()):t.fftMeter.connect(this.analyser)},p5.FFT.prototype.waveform=function(){for(var t,e,i,r=0;ri){var n=i;i=e,e=n}for(var r=Math.round(e/o*this.freqDomain.length),s=Math.round(i/o*this.freqDomain.length),a=0,u=0,p=r;s>=p;p++)a+=this.freqDomain[p],u+=1;var c=a/u;return c}throw"invalid input for getEnergy()"}var h=Math.round(e/o*this.freqDomain.length);return this.freqDomain[h]},p5.FFT.prototype.getFreq=function(t,e){console.log("getFreq() is deprecated. Please use getEnergy() instead.");var i=this.getEnergy(t,e);return i},p5.FFT.prototype.getCentroid=function(){for(var e=t.audiocontext.sampleRate/2,i=0,o=0,n=0;ns;s++)n[r]=void 0!==n[r]?(n[r]+e[s])/2:e[s],s%o==o-1&&r++;return n},p5.FFT.prototype.logAverages=function(e){for(var i=t.audiocontext.sampleRate/2,o=this.freqDomain,n=o.length,r=new Array(e.length),s=0,a=0;n>a;a++){var u=Math.round(a*i/this.freqDomain.length);u>e[s].hi&&s++,r[s]=void 0!==r[s]?(r[s]+o[a])/2:o[a]}return r},p5.FFT.prototype.getOctaveBands=function(e,i){var e=e||3,i=i||15.625,o=[],n={lo:i/Math.pow(2,1/(2*e)),ctr:i,hi:i*Math.pow(2,1/(2*e))};o.push(n);for(var r=t.audiocontext.sampleRate/2;n.hi1&&(this.input=new Array(e)),t(i)||1===i?this.output=this.context.createGain():i>1&&(this.output=new Array(e))};o.prototype.set=function(e,i,n){if(this.isObject(e))n=i;else if(this.isString(e)){var r={};r[e]=i,e=r}for(var s in e){i=e[s];var a=this;if(-1!==s.indexOf(".")){for(var u=s.split("."),p=0;p1)for(var t=arguments[0],e=1;e1)for(var e=1;e0)for(var t=this,e=0;e0)for(var t=0;te;e++){var o=e/i*2-1;this._curve[e]=t(o,e)}return this._shaper.curve=this._curve,this},Object.defineProperty(t.WaveShaper.prototype,"curve",{get:function(){return this._shaper.curve},set:function(t){this._curve=new Float32Array(t),this._shaper.curve=this._curve}}),Object.defineProperty(t.WaveShaper.prototype,"oversample",{get:function(){return this._shaper.oversample},set:function(t){if(-1===["none","2x","4x"].indexOf(t))throw new Error("invalid oversampling: "+t);this._shaper.oversample=t}}),t.WaveShaper.prototype.dispose=function(){return t.prototype.dispose.call(this),this._shaper.disconnect(),this._shaper=null,this._curve=null,this},t.WaveShaper}(Tone_core_Tone);var Tone_core_Type;Tone_core_Type=function(Tone){"use strict";function getTransportBpm(){return Tone.Transport&&Tone.Transport.bpm?Tone.Transport.bpm.value:120}function getTransportTimeSignature(){return Tone.Transport&&Tone.Transport.timeSignature?Tone.Transport.timeSignature:4}function toNotationHelper(t,e,i,o){for(var n=this.toSeconds(t),r=this.notationToSeconds(o[o.length-1],e,i),s="",a=0;a1-p%1&&(p+=c),p=Math.floor(p),p>0){if(s+=1===p?o[a]:p.toString()+"*"+o[a],n-=p*u,r>n)break;s+=" + "}}return""===s&&(s="0"),s}Tone.Type={Default:"number",Time:"time",Frequency:"frequency",NormalRange:"normalRange",AudioRange:"audioRange",Decibels:"db",Interval:"interval",BPM:"bpm",Positive:"positive",Cents:"cents",Degrees:"degrees",MIDI:"midi",TransportTime:"transportTime",Ticks:"tick",Note:"note",Milliseconds:"milliseconds",Notation:"notation"},Tone.prototype.isNowRelative=function(){var t=new RegExp(/^\s*\+(.)+/i);return function(e){return t.test(e)}}(),Tone.prototype.isTicks=function(){var t=new RegExp(/^\d+i$/i);return function(e){return t.test(e)}}(),Tone.prototype.isNotation=function(){var t=new RegExp(/^[0-9]+[mnt]$/i);return function(e){return t.test(e)}}(),Tone.prototype.isTransportTime=function(){var t=new RegExp(/^(\d+(\.\d+)?\:){1,2}(\d+(\.\d+)?)?$/i);return function(e){return t.test(e)}}(),Tone.prototype.isNote=function(){var t=new RegExp(/^[a-g]{1}(b|#|x|bb)?-?[0-9]+$/i);return function(e){return t.test(e)}}(),Tone.prototype.isFrequency=function(){var t=new RegExp(/^\d*\.?\d+hz$/i);return function(e){return t.test(e)}}(),Tone.prototype.notationToSeconds=function(t,e,i){e=this.defaultArg(e,getTransportBpm()),i=this.defaultArg(i,getTransportTimeSignature());var o=60/e;"1n"===t&&(t="1m");var n=parseInt(t,10),r=0;0===n&&(r=0);var s=t.slice(-1);return r="t"===s?4/n*2/3:"n"===s?4/n:"m"===s?n*i:0,o*r},Tone.prototype.transportTimeToSeconds=function(t,e,i){e=this.defaultArg(e,getTransportBpm()),i=this.defaultArg(i,getTransportTimeSignature());var o=0,n=0,r=0,s=t.split(":");2===s.length?(o=parseFloat(s[0]),n=parseFloat(s[1])):1===s.length?n=parseFloat(s[0]):3===s.length&&(o=parseFloat(s[0]),n=parseFloat(s[1]),r=parseFloat(s[2]));var a=o*i+n+r/4;return a*(60/e)},Tone.prototype.ticksToSeconds=function(t,e){if(this.isUndef(Tone.Transport))return 0;t=parseFloat(t),e=this.defaultArg(e,getTransportBpm());var i=60/e/Tone.Transport.PPQ;return i*t},Tone.prototype.frequencyToSeconds=function(t){return 1/parseFloat(t)},Tone.prototype.samplesToSeconds=function(t){return t/this.context.sampleRate},Tone.prototype.secondsToSamples=function(t){return t*this.context.sampleRate},Tone.prototype.secondsToTransportTime=function(t,e,i){e=this.defaultArg(e,getTransportBpm()),i=this.defaultArg(i,getTransportTimeSignature());var o=60/e,n=t/o,r=Math.floor(n/i),s=n%1*4;n=Math.floor(n)%i;var a=[r,n,s];return a.join(":")},Tone.prototype.secondsToFrequency=function(t){return 1/t},Tone.prototype.toTransportTime=function(t,e,i){var o=this.toSeconds(t);return this.secondsToTransportTime(o,e,i)},Tone.prototype.toFrequency=function(t,e){return this.isFrequency(t)?parseFloat(t):this.isNotation(t)||this.isTransportTime(t)?this.secondsToFrequency(this.toSeconds(t,e)):this.isNote(t)?this.noteToFrequency(t):t},Tone.prototype.toTicks=function(t){if(this.isUndef(Tone.Transport))return 0;var e=Tone.Transport.bpm.value,i=0;if(this.isNowRelative(t))t=t.replace("+",""),i=Tone.Transport.ticks;else if(this.isUndef(t))return Tone.Transport.ticks;var o=this.toSeconds(t),n=60/e,r=o/n,s=r*Tone.Transport.PPQ;return Math.round(s+i)},Tone.prototype.toSamples=function(t){var e=this.toSeconds(t);return Math.round(e*this.context.sampleRate)},Tone.prototype.toSeconds=function(time,now){if(now=this.defaultArg(now,this.now()),this.isNumber(time))return time;if(this.isString(time)){var plusTime=0;this.isNowRelative(time)&&(time=time.replace("+",""),plusTime=now);var betweenParens=time.match(/\(([^)(]+)\)/g);if(betweenParens)for(var j=0;j0&&(toQuantize="+"+toQuantize,plusTime=0);var subdivision=quantizationSplit[1].trim();time=Tone.Transport.quantize(toQuantize,subdivision)}else{var components=time.split(/[\(\)\-\+\/\*]/);if(components.length>1){for(var originalTime=time,i=0;io&&(i+=-12*o);var n=scaleIndexToNote[i%12];return n+o.toString()},Tone.prototype.intervalToFrequencyRatio=function(t){return Math.pow(2,t/12)},Tone.prototype.midiToNote=function(t){var e=Math.floor(t/12)-1,i=t%12;return scaleIndexToNote[i]+e},Tone.prototype.noteToMidi=function(t){var e=t.split(/(\d+)/);if(3===e.length){var i=noteToScaleIndex[e[0].toLowerCase()],o=e[1];return i+12*(parseInt(o,10)+1)}return 0},Tone.prototype.midiToFrequency=function(t){return Tone.A4*Math.pow(2,(t-69)/12)},Tone}(Tone_core_Tone);var Tone_core_Param;Tone_core_Param=function(t){"use strict";return t.Param=function(){var e=this.optionsObject(arguments,["param","units","convert"],t.Param.defaults);this._param=this.input=e.param,this.units=e.units,this.convert=e.convert,this.overridden=!1,this.isUndef(e.value)||(this.value=e.value)},t.extend(t.Param),t.Param.defaults={units:t.Type.Default,convert:!0,param:void 0},Object.defineProperty(t.Param.prototype,"value",{get:function(){return this._toUnits(this._param.value)},set:function(t){var e=this._fromUnits(t);this._param.value=e}}),t.Param.prototype._fromUnits=function(e){if(!this.convert&&!this.isUndef(this.convert))return e;switch(this.units){case t.Type.Time:return this.toSeconds(e);case t.Type.Frequency:return this.toFrequency(e);case t.Type.Decibels:return this.dbToGain(e);case t.Type.NormalRange:return Math.min(Math.max(e,0),1);case t.Type.AudioRange:return Math.min(Math.max(e,-1),1);case t.Type.Positive:return Math.max(e,0);default:return e}},t.Param.prototype._toUnits=function(e){if(!this.convert&&!this.isUndef(this.convert))return e;switch(this.units){case t.Type.Decibels:return this.gainToDb(e);default:return e}},t.Param.prototype._minOutput=1e-5,t.Param.prototype.setValueAtTime=function(t,e){return t=this._fromUnits(t),this._param.setValueAtTime(t,this.toSeconds(e)),this},t.Param.prototype.setRampPoint=function(t){t=this.defaultArg(t,this.now());var e=this._param.value;return this._param.setValueAtTime(e,t),this},t.Param.prototype.linearRampToValueAtTime=function(t,e){return t=this._fromUnits(t),this._param.linearRampToValueAtTime(t,this.toSeconds(e)),this},t.Param.prototype.exponentialRampToValueAtTime=function(t,e){return t=this._fromUnits(t),t=Math.max(this._minOutput,t),this._param.exponentialRampToValueAtTime(t,this.toSeconds(e)),this},t.Param.prototype.exponentialRampToValue=function(t,e){var i=this.now(),o=this.value;return this.setValueAtTime(Math.max(o,this._minOutput),i),this.exponentialRampToValueAtTime(t,i+this.toSeconds(e)),this},t.Param.prototype.linearRampToValue=function(t,e){var i=this.now();return this.setRampPoint(i),this.linearRampToValueAtTime(t,i+this.toSeconds(e)),this},t.Param.prototype.setTargetAtTime=function(t,e,i){return t=this._fromUnits(t),t=Math.max(this._minOutput,t),i=Math.max(this._minOutput,i),this._param.setTargetAtTime(t,this.toSeconds(e),i),this},t.Param.prototype.setValueCurveAtTime=function(t,e,i){for(var o=0;o0?this.oscillator.frequency.exponentialRampToValueAtTime(e,o+i+n):this.oscillator.frequency.linearRampToValueAtTime(e,o+i+n),this.phaseAmount&&this.phase(this.phaseAmount)}},p5.Oscillator.prototype.getFreq=function(){return this.oscillator.frequency.value},p5.Oscillator.prototype.setType=function(t){this.oscillator.type=t},p5.Oscillator.prototype.getType=function(){return this.oscillator.type},p5.Oscillator.prototype.connect=function(e){e?e.hasOwnProperty("input")?(this.panner.connect(e.input),this.connection=e.input):(this.panner.connect(e),this.connection=e):this.panner.connect(t.input)},p5.Oscillator.prototype.disconnect=function(t){this.output.disconnect(),this.panner.disconnect(),this.output.connect(this.panner),this.oscMods=[]},p5.Oscillator.prototype.pan=function(t,e){this.panPosition=t,this.panner.pan(t,e)},p5.Oscillator.prototype.getPan=function(){return this.panPosition},p5.Oscillator.prototype.dispose=function(){var e=t.soundArray.indexOf(this);if(t.soundArray.splice(e,1),this.oscillator){var i=t.audiocontext.currentTime;this.stop(i),this.disconnect(),this.panner=null,this.oscillator=null}this.osc2&&this.osc2.dispose()},p5.Oscillator.prototype.phase=function(e){var i=p5.prototype.map(e,0,1,0,1/this.f),o=t.audiocontext.currentTime;this.phaseAmount=e,this.dNode||(this.dNode=t.audiocontext.createDelay(),this.oscillator.disconnect(),this.oscillator.connect(this.dNode),this.dNode.connect(this.output)),this.dNode.delayTime.setValueAtTime(i,o)};var n=function(t,e,i,o,n){var r=t.oscillator;for(var s in t.mathOps)t.mathOps[s]instanceof n&&(r.disconnect(),t.mathOps[s].dispose(),i=s,i0&&(r=t.mathOps[s-1]),r.disconnect(),r.connect(e),e.connect(o),t.mathOps[i]=e,t};p5.Oscillator.prototype.add=function(t){var i=new e(t),o=this.mathOps.length-1,r=this.output;return n(this,i,o,r,e)},p5.Oscillator.prototype.mult=function(t){var e=new i(t),o=this.mathOps.length-1,r=this.output;return n(this,e,o,r,i)},p5.Oscillator.prototype.scale=function(t,e,i,r){var s,a;4===arguments.length?(s=p5.prototype.map(i,t,e,0,1)-.5,a=p5.prototype.map(r,t,e,0,1)-.5):(s=arguments[0],a=arguments[1]);var u=new o(s,a),p=this.mathOps.length-1,c=this.output;return n(this,u,p,c,o)},p5.SinOsc=function(t){p5.Oscillator.call(this,t,"sine")},p5.SinOsc.prototype=Object.create(p5.Oscillator.prototype),p5.TriOsc=function(t){p5.Oscillator.call(this,t,"triangle")},p5.TriOsc.prototype=Object.create(p5.Oscillator.prototype),p5.SawOsc=function(t){p5.Oscillator.call(this,t,"sawtooth")},p5.SawOsc.prototype=Object.create(p5.Oscillator.prototype),p5.SqrOsc=function(t){p5.Oscillator.call(this,t,"square")},p5.SqrOsc.prototype=Object.create(p5.Oscillator.prototype)}(master,Tone_signal_Signal,Tone_signal_Add,Tone_signal_Multiply,Tone_signal_Scale);var Tone_core_Timeline;Tone_core_Timeline=function(t){"use strict";return t.Timeline=function(){var e=this.optionsObject(arguments,["memory"],t.Timeline.defaults);this._timeline=[],this._toRemove=[],this._iterating=!1,this.memory=e.memory},t.extend(t.Timeline),t.Timeline.defaults={memory:1/0},Object.defineProperty(t.Timeline.prototype,"length",{get:function(){return this._timeline.length}}),t.Timeline.prototype.addEvent=function(t){if(this.isUndef(t.time))throw new Error("events must have a time attribute");if(t.time=this.toSeconds(t.time),this._timeline.length){var e=this._search(t.time);this._timeline.splice(e+1,0,t)}else this._timeline.push(t);if(this.length>this.memory){var i=this.length-this.memory;this._timeline.splice(0,i)}return this},t.Timeline.prototype.removeEvent=function(t){if(this._iterating)this._toRemove.push(t);else{var e=this._timeline.indexOf(t);-1!==e&&this._timeline.splice(e,1)}return this},t.Timeline.prototype.getEvent=function(t){t=this.toSeconds(t);var e=this._search(t);return-1!==e?this._timeline[e]:null},t.Timeline.prototype.getEventAfter=function(t){t=this.toSeconds(t);var e=this._search(t);return e+1=0?this._timeline[e-1]:null},t.Timeline.prototype.cancel=function(t){if(this._timeline.length>1){t=this.toSeconds(t);var e=this._search(t);e>=0?this._timeline=this._timeline.slice(0,e):this._timeline=[]}else 1===this._timeline.length&&this._timeline[0].time>=t&&(this._timeline=[]);return this},t.Timeline.prototype.cancelBefore=function(t){if(this._timeline.length){t=this.toSeconds(t);var e=this._search(t);e>=0&&(this._timeline=this._timeline.slice(e+1))}return this},t.Timeline.prototype._search=function(t){for(var e=0,i=this._timeline.length,o=i;o>=e&&i>e;){var n=Math.floor(e+(o-e)/2),r=this._timeline[n];if(r.time===t){for(var s=n;st?o=n-1:r.time=o;o++)t(this._timeline[o]);if(this._iterating=!1,this._toRemove.length>0){for(var n=0;n=0&&this._timeline[i].time>=t;)i--;return this._iterate(e,i+1),this},t.Timeline.prototype.forEachAtTime=function(t,e){t=this.toSeconds(t);var i=this._search(t);return-1!==i&&this._iterate(function(i){i.time===t&&e(i)},0,i),this},t.Timeline.prototype.dispose=function(){t.prototype.dispose.call(this),this._timeline=null,this._toRemove=null},t.Timeline}(Tone_core_Tone);var Tone_signal_TimelineSignal;Tone_signal_TimelineSignal=function(t){"use strict";return t.TimelineSignal=function(){var e=this.optionsObject(arguments,["value","units"],t.Signal.defaults);t.Signal.apply(this,e),e.param=this._param,t.Param.call(this,e),this._events=new t.Timeline(10),this._initial=this._fromUnits(this._param.value)},t.extend(t.TimelineSignal,t.Param),t.TimelineSignal.Type={Linear:"linear",Exponential:"exponential",Target:"target",Set:"set"},Object.defineProperty(t.TimelineSignal.prototype,"value",{get:function(){return this._toUnits(this._param.value)},set:function(t){var e=this._fromUnits(t);this._initial=e,this._param.value=e}}),t.TimelineSignal.prototype.setValueAtTime=function(e,i){return e=this._fromUnits(e),i=this.toSeconds(i),this._events.addEvent({type:t.TimelineSignal.Type.Set,value:e,time:i}),this._param.setValueAtTime(e,i),this},t.TimelineSignal.prototype.linearRampToValueAtTime=function(e,i){return e=this._fromUnits(e), -i=this.toSeconds(i),this._events.addEvent({type:t.TimelineSignal.Type.Linear,value:e,time:i}),this._param.linearRampToValueAtTime(e,i),this},t.TimelineSignal.prototype.exponentialRampToValueAtTime=function(e,i){return e=this._fromUnits(e),e=Math.max(this._minOutput,e),i=this.toSeconds(i),this._events.addEvent({type:t.TimelineSignal.Type.Exponential,value:e,time:i}),this._param.exponentialRampToValueAtTime(e,i),this},t.TimelineSignal.prototype.setTargetAtTime=function(e,i,o){return e=this._fromUnits(e),e=Math.max(this._minOutput,e),o=Math.max(this._minOutput,o),i=this.toSeconds(i),this._events.addEvent({type:t.TimelineSignal.Type.Target,value:e,time:i,constant:o}),this._param.setTargetAtTime(e,i,o),this},t.TimelineSignal.prototype.cancelScheduledValues=function(t){return this._events.cancel(t),this._param.cancelScheduledValues(this.toSeconds(t)),this},t.TimelineSignal.prototype.setRampPoint=function(e){e=this.toSeconds(e);var i=this.getValueAtTime(e),o=this._searchAfter(e);return o&&(this.cancelScheduledValues(e),o.type===t.TimelineSignal.Type.Linear?this.linearRampToValueAtTime(i,e):o.type===t.TimelineSignal.Type.Exponential&&this.exponentialRampToValueAtTime(i,e)),this.setValueAtTime(i,e),this},t.TimelineSignal.prototype.linearRampToValueBetween=function(t,e,i){return this.setRampPoint(e),this.linearRampToValueAtTime(t,i),this},t.TimelineSignal.prototype.exponentialRampToValueBetween=function(t,e,i){return this.setRampPoint(e),this.exponentialRampToValueAtTime(t,i),this},t.TimelineSignal.prototype._searchBefore=function(t){return this._events.getEvent(t)},t.TimelineSignal.prototype._searchAfter=function(t){return this._events.getEventAfter(t)},t.TimelineSignal.prototype.getValueAtTime=function(e){var i=this._searchAfter(e),o=this._searchBefore(e),n=this._initial;if(null===o)n=this._initial;else if(o.type===t.TimelineSignal.Type.Target){var r,s=this._events.getEventBefore(o.time);r=null===s?this._initial:s.value,n=this._exponentialApproach(o.time,r,o.value,o.constant,e)}else n=null===i?o.value:i.type===t.TimelineSignal.Type.Linear?this._linearInterpolate(o.time,o.value,i.time,i.value,e):i.type===t.TimelineSignal.Type.Exponential?this._exponentialInterpolate(o.time,o.value,i.time,i.value,e):o.value;return n},t.TimelineSignal.prototype.connect=t.SignalBase.prototype.connect,t.TimelineSignal.prototype._exponentialApproach=function(t,e,i,o,n){return i+(e-i)*Math.exp(-(n-t)/o)},t.TimelineSignal.prototype._linearInterpolate=function(t,e,i,o,n){return e+(o-e)*((n-t)/(i-t))},t.TimelineSignal.prototype._exponentialInterpolate=function(t,e,i,o,n){return e=Math.max(this._minOutput,e),e*Math.pow(o/e,(n-t)/(i-t))},t.TimelineSignal.prototype.dispose=function(){t.Signal.prototype.dispose.call(this),t.Param.prototype.dispose.call(this),this._events.dispose(),this._events=null},t.TimelineSignal}(Tone_core_Tone,Tone_signal_Signal);var env;env=function(){"use strict";var t=master,e=Tone_signal_Add,i=Tone_signal_Multiply,o=Tone_signal_Scale,n=Tone_signal_TimelineSignal,r=Tone_core_Tone;r.setContext(t.audiocontext),p5.Env=function(e,i,o,r,s,a){t.audiocontext.currentTime;this.aTime=e||.1,this.aLevel=i||1,this.dTime=o||.5,this.dLevel=r||0,this.rTime=s||0,this.rLevel=a||0,this._rampHighPercentage=.98,this._rampLowPercentage=.02,this.output=t.audiocontext.createGain(),this.control=new n,this._init(),this.control.connect(this.output),this.connection=null,this.mathOps=[this.control],this.isExponential=!1,this.sourceToClear=null,this.wasTriggered=!1,t.soundArray.push(this)},p5.Env.prototype._init=function(){var e=t.audiocontext.currentTime,i=e;this.control.setTargetAtTime(1e-5,i,.001),this._setRampAD(this.aTime,this.dTime)},p5.Env.prototype.set=function(t,e,i,o,n,r){this.aTime=t,this.aLevel=e,this.dTime=i||0,this.dLevel=o||0,this.rTime=n||0,this.rLevel=r||0,this._setRampAD(t,i)},p5.Env.prototype.setADSR=function(t,e,i,o){this.aTime=t,this.dTime=e||0,this.sPercent=i||0,this.dLevel="undefined"!=typeof i?i*(this.aLevel-this.rLevel)+this.rLevel:0,this.rTime=o||0,this._setRampAD(t,e)},p5.Env.prototype.setRange=function(t,e){this.aLevel=t||1,this.rLevel=e||0},p5.Env.prototype._setRampAD=function(t,e){this._rampAttackTime=this.checkExpInput(t),this._rampDecayTime=this.checkExpInput(e);var i=1;i=Math.log(1/this.checkExpInput(1-this._rampHighPercentage)),this._rampAttackTC=t/this.checkExpInput(i),i=Math.log(1/this._rampLowPercentage),this._rampDecayTC=e/this.checkExpInput(i)},p5.Env.prototype.setRampPercentages=function(t,e){this._rampHighPercentage=this.checkExpInput(t),this._rampLowPercentage=this.checkExpInput(e);var i=1;i=Math.log(1/this.checkExpInput(1-this._rampHighPercentage)),this._rampAttackTC=this._rampAttackTime/this.checkExpInput(i),i=Math.log(1/this._rampLowPercentage),this._rampDecayTC=this._rampDecayTime/this.checkExpInput(i)},p5.Env.prototype.setInput=function(t){for(var e=0;e=t&&(t=1e-8),t},p5.Env.prototype.play=function(e,i,o){var n=(t.audiocontext.currentTime,i||0),o=o||0;e&&this.connection!==e&&this.connect(e),this.triggerAttack(e,n),this.triggerRelease(e,n+this.aTime+this.dTime+o)},p5.Env.prototype.triggerAttack=function(e,i){var o=t.audiocontext.currentTime,n=i||0,r=o+n;this.lastAttack=r,this.wasTriggered=!0,e&&this.connection!==e&&this.connect(e);var s=this.control.getValueAtTime(r);this.control.cancelScheduledValues(r),1==this.isExponential?this.control.exponentialRampToValueAtTime(this.checkExpInput(s),r):this.control.linearRampToValueAtTime(s,r),r+=this.aTime,1==this.isExponential?(this.control.exponentialRampToValueAtTime(this.checkExpInput(this.aLevel),r),s=this.checkExpInput(this.control.getValueAtTime(r)),this.control.cancelScheduledValues(r),this.control.exponentialRampToValueAtTime(s,r)):(this.control.linearRampToValueAtTime(this.aLevel,r),s=this.control.getValueAtTime(r),this.control.cancelScheduledValues(r),this.control.linearRampToValueAtTime(s,r)),r+=this.dTime,1==this.isExponential?(this.control.exponentialRampToValueAtTime(this.checkExpInput(this.dLevel),r),s=this.checkExpInput(this.control.getValueAtTime(r)),this.control.cancelScheduledValues(r),this.control.exponentialRampToValueAtTime(s,r)):(this.control.linearRampToValueAtTime(this.dLevel,r),s=this.control.getValueAtTime(r),this.control.cancelScheduledValues(r),this.control.linearRampToValueAtTime(s,r))},p5.Env.prototype.triggerRelease=function(e,i){if(this.wasTriggered){var o=t.audiocontext.currentTime,n=i||0,r=o+n;e&&this.connection!==e&&this.connect(e);var s=this.control.getValueAtTime(r);this.control.cancelScheduledValues(r),1==this.isExponential?this.control.exponentialRampToValueAtTime(this.checkExpInput(s),r):this.control.linearRampToValueAtTime(s,r),r+=this.rTime,1==this.isExponential?(this.control.exponentialRampToValueAtTime(this.checkExpInput(this.rLevel),r),s=this.checkExpInput(this.control.getValueAtTime(r)),this.control.cancelScheduledValues(r),this.control.exponentialRampToValueAtTime(s,r)):(this.control.linearRampToValueAtTime(this.rLevel,r),s=this.control.getValueAtTime(r),this.control.cancelScheduledValues(r),this.control.linearRampToValueAtTime(s,r)),this.wasTriggered=!1}},p5.Env.prototype.ramp=function(e,i,o,n){var r=t.audiocontext.currentTime,s=i||0,a=r+s,u=this.checkExpInput(o),p="undefined"!=typeof n?this.checkExpInput(n):void 0;e&&this.connection!==e&&this.connect(e);var c=this.checkExpInput(this.control.getValueAtTime(a));this.control.cancelScheduledValues(a),u>c?(this.control.setTargetAtTime(u,a,this._rampAttackTC),a+=this._rampAttackTime):c>u&&(this.control.setTargetAtTime(u,a,this._rampDecayTC),a+=this._rampDecayTime),void 0!==p&&(p>u?this.control.setTargetAtTime(p,a,this._rampAttackTC):u>p&&this.control.setTargetAtTime(p,a,this._rampDecayTC))},p5.Env.prototype.connect=function(e){this.connection=e,(e instanceof p5.Oscillator||e instanceof p5.SoundFile||e instanceof p5.AudioIn||e instanceof p5.Reverb||e instanceof p5.Noise||e instanceof p5.Filter||e instanceof p5.Delay)&&(e=e.output.gain),e instanceof AudioParam&&e.setValueAtTime(0,t.audiocontext.currentTime),e instanceof p5.Signal&&e.setValue(0),this.output.connect(e)},p5.Env.prototype.disconnect=function(t){this.output.disconnect()},p5.Env.prototype.add=function(t){var i=new e(t),o=this.mathOps.length,n=this.output;return p5.prototype._mathChain(this,i,o,n,e)},p5.Env.prototype.mult=function(t){var e=new i(t),o=this.mathOps.length,n=this.output;return p5.prototype._mathChain(this,e,o,n,i)},p5.Env.prototype.scale=function(t,e,i,n){var r=new o(t,e,i,n),s=this.mathOps.length,a=this.output;return p5.prototype._mathChain(this,r,s,a,o)},p5.Env.prototype.dispose=function(){var e=t.soundArray.indexOf(this);t.soundArray.splice(e,1);t.audiocontext.currentTime;this.disconnect();try{this.control.dispose(),this.control=null}catch(i){}for(var o=1;on;n++)o[n]=1;var r=t.createBufferSource();return r.buffer=i,r.loop=!0,r}var e=master;p5.Pulse=function(i,o){p5.Oscillator.call(this,i,"sawtooth"),this.w=o||0,this.osc2=new p5.SawOsc(i),this.dNode=e.audiocontext.createDelay(),this.dcOffset=t(),this.dcGain=e.audiocontext.createGain(),this.dcOffset.connect(this.dcGain),this.dcGain.connect(this.output),this.f=i||440;var n=this.w/this.oscillator.frequency.value;this.dNode.delayTime.value=n,this.dcGain.gain.value=1.7*(.5-this.w),this.osc2.disconnect(),this.osc2.panner.disconnect(),this.osc2.amp(-1),this.osc2.output.connect(this.dNode),this.dNode.connect(this.output),this.output.gain.value=1,this.output.connect(this.panner)},p5.Pulse.prototype=Object.create(p5.Oscillator.prototype),p5.Pulse.prototype.width=function(t){if("number"==typeof t){if(1>=t&&t>=0){this.w=t;var e=this.w/this.oscillator.frequency.value;this.dNode.delayTime.value=e}this.dcGain.gain.value=1.7*(.5-this.w)}else{t.connect(this.dNode.delayTime);var i=new p5.SignalAdd(-.5);i.setInput(t),i=i.mult(-1),i=i.mult(1.7),i.connect(this.dcGain.gain)}},p5.Pulse.prototype.start=function(i,o){var n=e.audiocontext.currentTime,r=o||0;if(!this.started){var s=i||this.f,a=this.oscillator.type;this.oscillator=e.audiocontext.createOscillator(),this.oscillator.frequency.setValueAtTime(s,n),this.oscillator.type=a,this.oscillator.connect(this.output),this.oscillator.start(r+n),this.osc2.oscillator=e.audiocontext.createOscillator(),this.osc2.oscillator.frequency.setValueAtTime(s,r+n),this.osc2.oscillator.type=a,this.osc2.oscillator.connect(this.osc2.output),this.osc2.start(r+n),this.freqNode=[this.oscillator.frequency,this.osc2.oscillator.frequency],this.dcOffset=t(),this.dcOffset.connect(this.dcGain),this.dcOffset.start(r+n),void 0!==this.mods&&void 0!==this.mods.frequency&&(this.mods.frequency.connect(this.freqNode[0]),this.mods.frequency.connect(this.freqNode[1])),this.started=!0,this.osc2.started=!0}},p5.Pulse.prototype.stop=function(t){if(this.started){var i=t||0,o=e.audiocontext.currentTime;this.oscillator.stop(i+o),this.osc2.oscillator.stop(i+o),this.dcOffset.stop(i+o),this.started=!1,this.osc2.started=!1}},p5.Pulse.prototype.freq=function(t,i,o){if("number"==typeof t){this.f=t;var n=e.audiocontext.currentTime,i=i||0,o=o||0,r=this.oscillator.frequency.value;this.oscillator.frequency.cancelScheduledValues(n),this.oscillator.frequency.setValueAtTime(r,n+o),this.oscillator.frequency.exponentialRampToValueAtTime(t,o+i+n),this.osc2.oscillator.frequency.cancelScheduledValues(n),this.osc2.oscillator.frequency.setValueAtTime(r,n+o),this.osc2.oscillator.frequency.exponentialRampToValueAtTime(t,o+i+n),this.freqMod&&(this.freqMod.output.disconnect(),this.freqMod=null)}else t.output&&(t.output.disconnect(),t.output.connect(this.oscillator.frequency),t.output.connect(this.osc2.oscillator.frequency),this.freqMod=t)}}(master,oscillator);var noise;noise=function(){"use strict";var t=master;p5.Noise=function(t){var n;p5.Oscillator.call(this),delete this.f,delete this.freq,delete this.oscillator,n="brown"===t?o:"pink"===t?i:e,this.buffer=n},p5.Noise.prototype=Object.create(p5.Oscillator.prototype);var e=function(){for(var e=2*t.audiocontext.sampleRate,i=t.audiocontext.createBuffer(1,e,t.audiocontext.sampleRate),o=i.getChannelData(0),n=0;e>n;n++)o[n]=2*Math.random()-1;return i.type="white",i}(),i=function(){var e,i,o,n,r,s,a,u=2*t.audiocontext.sampleRate,p=t.audiocontext.createBuffer(1,u,t.audiocontext.sampleRate),c=p.getChannelData(0);e=i=o=n=r=s=a=0;for(var h=0;u>h;h++){var l=2*Math.random()-1;e=.99886*e+.0555179*l,i=.99332*i+.0750759*l,o=.969*o+.153852*l,n=.8665*n+.3104856*l,r=.55*r+.5329522*l,s=-.7616*s-.016898*l,c[h]=e+i+o+n+r+s+a+.5362*l,c[h]*=.11,a=.115926*l}return p.type="pink",p}(),o=function(){for(var e=2*t.audiocontext.sampleRate,i=t.audiocontext.createBuffer(1,e,t.audiocontext.sampleRate),o=i.getChannelData(0),n=0,r=0;e>r;r++){var s=2*Math.random()-1;o[r]=(n+.02*s)/1.02,n=o[r],o[r]*=3.5}return i.type="brown",i}();p5.Noise.prototype.setType=function(n){switch(n){case"white":this.buffer=e;break;case"pink":this.buffer=i;break;case"brown":this.buffer=o;break;default:this.buffer=e}if(this.started){var r=t.audiocontext.currentTime;this.stop(r),this.start(r+.01)}},p5.Noise.prototype.getType=function(){return this.buffer.type},p5.Noise.prototype.start=function(){this.started&&this.stop(),this.noise=t.audiocontext.createBufferSource(),this.noise.buffer=this.buffer,this.noise.loop=!0,this.noise.connect(this.output);var e=t.audiocontext.currentTime;this.noise.start(e),this.started=!0},p5.Noise.prototype.stop=function(){var e=t.audiocontext.currentTime;this.noise&&(this.noise.stop(e),this.started=!1)},p5.Noise.prototype.dispose=function(){var e=t.audiocontext.currentTime,i=t.soundArray.indexOf(this);t.soundArray.splice(i,1),this.noise&&(this.noise.disconnect(),this.stop(e)),this.output&&this.output.disconnect(),this.panner&&this.panner.disconnect(),this.output=null,this.panner=null,this.buffer=null,this.noise=null}}(master);var audioin;audioin=function(){"use strict";var t=master;p5.AudioIn=function(e){this.input=t.audiocontext.createGain(),this.output=t.audiocontext.createGain(),this.stream=null,this.mediaStream=null,this.currentSource=0,this.enabled=!1,this.amplitude=new p5.Amplitude,this.output.connect(this.amplitude.input),"undefined"==typeof window.MediaStreamTrack?e?e():window.alert("This browser does not support AudioIn"):"function"==typeof window.MediaStreamTrack.getSources&&window.MediaStreamTrack.getSources(this._gotSources),t.soundArray.push(this)},p5.AudioIn.prototype.start=function(e,i){var o=this;if(t.inputSources[o.currentSource]){var n=t.inputSources[o.currentSource].id,r={audio:{optional:[{sourceId:n}]}};window.navigator.getUserMedia(r,this._onStream=function(i){o.stream=i,o.enabled=!0,o.mediaStream=t.audiocontext.createMediaStreamSource(i),o.mediaStream.connect(o.output),e&&e(),o.amplitude.setInput(o.output)},this._onStreamError=function(t){i?i(t):console.error(t)})}else window.navigator.getUserMedia({audio:!0},this._onStream=function(i){o.stream=i,o.enabled=!0,o.mediaStream=t.audiocontext.createMediaStreamSource(i),o.mediaStream.connect(o.output),o.amplitude.setInput(o.output),e&&e()},this._onStreamError=function(t){i?i(t):console.error(t)})},p5.AudioIn.prototype.stop=function(){this.stream&&this.stream.getTracks()[0].stop()},p5.AudioIn.prototype.connect=function(e){e?e.hasOwnProperty("input")?this.output.connect(e.input):e.hasOwnProperty("analyser")?this.output.connect(e.analyser):this.output.connect(e):this.output.connect(t.input)},p5.AudioIn.prototype.disconnect=function(){this.output.disconnect(),this.output.connect(this.amplitude.input)},p5.AudioIn.prototype.getLevel=function(t){return t&&(this.amplitude.smoothing=t),this.amplitude.getLevel()},p5.AudioIn.prototype._gotSources=function(t){for(var e=0;e0?t.inputSources:"This browser does not support MediaStreamTrack.getSources()"},p5.AudioIn.prototype.getSources=function(e){"function"==typeof window.MediaStreamTrack.getSources?window.MediaStreamTrack.getSources(function(i){for(var o=0,n=i.length;n>o;o++){var r=i[o];"audio"===r.kind&&t.inputSources.push(r)}e(t.inputSources)}):console.log("This browser does not support MediaStreamTrack.getSources()")},p5.AudioIn.prototype.setSource=function(e){var i=this;t.inputSources.length>0&&e=t&&(t=1),"number"==typeof t?(i.biquad.frequency.value=t,i.biquad.frequency.cancelScheduledValues(this.ac.currentTime+.01+o),i.biquad.frequency.exponentialRampToValueAtTime(t,this.ac.currentTime+.02+o)):t&&t.connect(this.biquad.frequency),i.biquad.frequency.value},p5.Filter.prototype.res=function(t,e){var i=this,o=e||0;return"number"==typeof t?(i.biquad.Q.value=t,i.biquad.Q.cancelScheduledValues(i.ac.currentTime+.01+o),i.biquad.Q.linearRampToValueAtTime(t,i.ac.currentTime+.02+o)):t&&freq.connect(this.biquad.Q),i.biquad.Q.value},p5.Filter.prototype.setType=function(t){this.biquad.type=t},p5.Filter.prototype.amp=function(e,i,o){var i=i||0,o=o||0,n=t.audiocontext.currentTime,r=this.output.gain.value;this.output.gain.cancelScheduledValues(n),this.output.gain.linearRampToValueAtTime(r,n+o+.001),this.output.gain.linearRampToValueAtTime(e,n+o+i+.001)},p5.Filter.prototype.connect=function(t){var e=t||p5.soundOut.input;this.output.connect(e)},p5.Filter.prototype.disconnect=function(){this.output.disconnect()},p5.Filter.prototype.dispose=function(){var e=t.soundArray.indexOf(this);t.soundArray.splice(e,1),this.input.disconnect(),this.input=void 0,this.output.disconnect(),this.output=void 0,this.biquad.disconnect(),this.biquad=void 0},p5.LowPass=function(){p5.Filter.call(this,"lowpass")},p5.LowPass.prototype=Object.create(p5.Filter.prototype),p5.HighPass=function(){p5.Filter.call(this,"highpass")},p5.HighPass.prototype=Object.create(p5.Filter.prototype),p5.BandPass=function(){p5.Filter.call(this,"bandpass")},p5.BandPass.prototype=Object.create(p5.Filter.prototype)}(master);var delay;delay=function(){"use strict";var t=master;p5.Delay=function(){this.ac=t.audiocontext,this.input=this.ac.createGain(),this.output=this.ac.createGain(),this._split=this.ac.createChannelSplitter(2),this._merge=this.ac.createChannelMerger(2),this._leftGain=this.ac.createGain(),this._rightGain=this.ac.createGain(),this.leftDelay=this.ac.createDelay(),this.rightDelay=this.ac.createDelay(),this._leftFilter=new p5.Filter,this._rightFilter=new p5.Filter,this._leftFilter.disconnect(),this._rightFilter.disconnect(),this._leftFilter.biquad.frequency.setValueAtTime(1200,this.ac.currentTime),this._rightFilter.biquad.frequency.setValueAtTime(1200,this.ac.currentTime),this._leftFilter.biquad.Q.setValueAtTime(.3,this.ac.currentTime),this._rightFilter.biquad.Q.setValueAtTime(.3,this.ac.currentTime),this.input.connect(this._split),this.leftDelay.connect(this._leftGain),this.rightDelay.connect(this._rightGain),this._leftGain.connect(this._leftFilter.input),this._rightGain.connect(this._rightFilter.input),this._merge.connect(this.output),this.output.connect(p5.soundOut.input),this._leftFilter.biquad.gain.setValueAtTime(1,this.ac.currentTime),this._rightFilter.biquad.gain.setValueAtTime(1,this.ac.currentTime),this.setType(0),this._maxDelay=this.leftDelay.delayTime.maxValue,t.soundArray.push(this)},p5.Delay.prototype.process=function(t,e,i,o){var n=i||0,r=e||0;if(n>=1)throw new Error("Feedback value will force a positive feedback loop.");if(r>=this._maxDelay)throw new Error("Delay Time exceeds maximum delay time of "+this._maxDelay+" second.");t.connect(this.input),this.leftDelay.delayTime.setValueAtTime(r,this.ac.currentTime),this.rightDelay.delayTime.setValueAtTime(r,this.ac.currentTime),this._leftGain.gain.setValueAtTime(n,this.ac.currentTime),this._rightGain.gain.setValueAtTime(n,this.ac.currentTime),o&&(this._leftFilter.freq(o),this._rightFilter.freq(o))},p5.Delay.prototype.delayTime=function(t){"number"!=typeof t?(t.connect(this.leftDelay.delayTime),t.connect(this.rightDelay.delayTime)):(this.leftDelay.delayTime.cancelScheduledValues(this.ac.currentTime),this.rightDelay.delayTime.cancelScheduledValues(this.ac.currentTime),this.leftDelay.delayTime.linearRampToValueAtTime(t,this.ac.currentTime),this.rightDelay.delayTime.linearRampToValueAtTime(t,this.ac.currentTime))},p5.Delay.prototype.feedback=function(t){if("number"!=typeof t)t.connect(this._leftGain.gain),t.connect(this._rightGain.gain);else{if(t>=1)throw new Error("Feedback value will force a positive feedback loop.");this._leftGain.gain.exponentialRampToValueAtTime(t,this.ac.currentTime),this._rightGain.gain.exponentialRampToValueAtTime(t,this.ac.currentTime)}},p5.Delay.prototype.filter=function(t,e){this._leftFilter.set(t,e),this._rightFilter.set(t,e)},p5.Delay.prototype.setType=function(t){switch(1===t&&(t="pingPong"),this._split.disconnect(),this._leftFilter.disconnect(),this._rightFilter.disconnect(),this._split.connect(this.leftDelay,0),this._split.connect(this.rightDelay,1),t){case"pingPong":this._rightFilter.setType(this._leftFilter.biquad.type),this._leftFilter.output.connect(this._merge,0,0),this._rightFilter.output.connect(this._merge,0,1),this._leftFilter.output.connect(this.rightDelay),this._rightFilter.output.connect(this.leftDelay);break;default:this._leftFilter.output.connect(this._merge,0,0),this._leftFilter.output.connect(this._merge,0,1),this._leftFilter.output.connect(this.leftDelay),this._leftFilter.output.connect(this.rightDelay)}},p5.Delay.prototype.amp=function(e,i,o){var i=i||0,o=o||0,n=t.audiocontext.currentTime,r=this.output.gain.value;this.output.gain.cancelScheduledValues(n),this.output.gain.linearRampToValueAtTime(r,n+o+.001),this.output.gain.linearRampToValueAtTime(e,n+o+i+.001)},p5.Delay.prototype.connect=function(t){var e=t||p5.soundOut.input;this.output.connect(e)},p5.Delay.prototype.disconnect=function(){this.output.disconnect()},p5.Delay.prototype.dispose=function(){var e=t.soundArray.indexOf(this);t.soundArray.splice(e,1),this.input.disconnect(),this.output.disconnect(),this._split.disconnect(),this._leftFilter.disconnect(),this._rightFilter.disconnect(),this._merge.disconnect(),this._leftGain.disconnect(),this._rightGain.disconnect(),this.leftDelay.disconnect(),this.rightDelay.disconnect(),this.input=void 0,this.output=void 0,this._split=void 0,this._leftFilter=void 0,this._rightFilter=void 0,this._merge=void 0,this._leftGain=void 0,this._rightGain=void 0,this.leftDelay=void 0,this.rightDelay=void 0}}(master,filter);var reverb;reverb=function(){"use strict";var t=master,e=errorHandler;p5.Reverb=function(){this.ac=t.audiocontext,this.convolverNode=this.ac.createConvolver(),this.input=this.ac.createGain(),this.output=this.ac.createGain(),this.input.gain.value=.5,this.input.connect(this.convolverNode),this.convolverNode.connect(this.output),this._seconds=3,this._decay=2,this._reverse=!1,this._buildImpulse(),this.connect(),t.soundArray.push(this)},p5.Reverb.prototype.process=function(t,e,i,o){t.connect(this.input);var n=!1;e&&(this._seconds=e,n=!0),i&&(this._decay=i),o&&(this._reverse=o),n&&this._buildImpulse()},p5.Reverb.prototype.set=function(t,e,i){var o=!1;t&&(this._seconds=t,o=!0),e&&(this._decay=e),i&&(this._reverse=i),o&&this._buildImpulse()},p5.Reverb.prototype.amp=function(e,i,o){var i=i||0,o=o||0,n=t.audiocontext.currentTime,r=this.output.gain.value;this.output.gain.cancelScheduledValues(n),this.output.gain.linearRampToValueAtTime(r,n+o+.001),this.output.gain.linearRampToValueAtTime(e,n+o+i+.001)},p5.Reverb.prototype.connect=function(t){var e=t||p5.soundOut.input;this.output.connect(e.input?e.input:e)},p5.Reverb.prototype.disconnect=function(){this.output.disconnect()},p5.Reverb.prototype._buildImpulse=function(){var t,e,i=this.ac.sampleRate,o=i*this._seconds,n=this._decay,r=this.ac.createBuffer(2,o,i),s=r.getChannelData(0),a=r.getChannelData(1);for(e=0;o>e;e++)t=this.reverse?o-e:e,s[e]=(2*Math.random()-1)*Math.pow(1-t/o,n),a[e]=(2*Math.random()-1)*Math.pow(1-t/o,n);this.convolverNode.buffer=r},p5.Reverb.prototype.dispose=function(){var e=t.soundArray.indexOf(this);t.soundArray.splice(e,1),this.convolverNode&&(this.convolverNode.buffer=null,this.convolverNode=null),"undefined"!=typeof this.output&&(this.output.disconnect(),this.output=null),"undefined"!=typeof this.panner&&(this.panner.disconnect(),this.panner=null)},p5.Convolver=function(e,i,o){this.ac=t.audiocontext,this.convolverNode=this.ac.createConvolver(),this.input=this.ac.createGain(),this.output=this.ac.createGain(),this.input.gain.value=.5,this.input.connect(this.convolverNode),this.convolverNode.connect(this.output),e?(this.impulses=[],this._loadBuffer(e,i,o)):(this._seconds=3,this._decay=2,this._reverse=!1,this._buildImpulse()),this.connect(),t.soundArray.push(this)},p5.Convolver.prototype=Object.create(p5.Reverb.prototype),p5.prototype.registerPreloadMethod("createConvolver",p5.prototype),p5.prototype.createConvolver=function(t,e,i){window.location.origin.indexOf("file://")>-1&&"undefined"===window.cordova&&alert("This sketch may require a server to load external files. Please see http://bit.ly/1qcInwS");var o=new p5.Convolver(t,e,i);return o.impulses=[],o},p5.Convolver.prototype._loadBuffer=function(t,i,o){var t=p5.prototype._checkFileFormats(t),n=this,r=(new Error).stack,s=p5.prototype.getAudioContext(),a=new XMLHttpRequest;a.open("GET",t,!0),a.responseType="arraybuffer",a.onload=function(){if(200==a.status)s.decodeAudioData(a.response,function(e){var o={},r=t.split("/");o.name=r[r.length-1],o.audioBuffer=e,n.impulses.push(o),n.convolverNode.buffer=o.audioBuffer,i&&i(o)},function(t){var i=new e("decodeAudioData",r,n.url),s="AudioContext error at decodeAudioData for "+n.url;o?(i.msg=s,o(i)):console.error(s+"\n The error stack trace includes: \n"+i.stack)});else{var u=new e("loadConvolver",r,n.url),p="Unable to load "+n.url+". The request status was: "+a.status+" ("+a.statusText+")";o?(u.message=p,o(u)):console.error(p+"\n The error stack trace includes: \n"+u.stack)}},a.onerror=function(t){var i=new e("loadConvolver",r,n.url),s="There was no response from the server at "+n.url+". Check the url and internet connectivity.";o?(i.message=s,o(i)):console.error(s+"\n The error stack trace includes: \n"+i.stack)},a.send()},p5.Convolver.prototype.set=null,p5.Convolver.prototype.process=function(t){t.connect(this.input)},p5.Convolver.prototype.impulses=[],p5.Convolver.prototype.addImpulse=function(t,e,i){window.location.origin.indexOf("file://")>-1&&"undefined"===window.cordova&&alert("This sketch may require a server to load external files. Please see http://bit.ly/1qcInwS"),this._loadBuffer(t,e,i)},p5.Convolver.prototype.resetImpulse=function(t,e,i){window.location.origin.indexOf("file://")>-1&&"undefined"===window.cordova&&alert("This sketch may require a server to load external files. Please see http://bit.ly/1qcInwS"),this.impulses=[],this._loadBuffer(t,e,i)},p5.Convolver.prototype.toggleImpulse=function(t){if("number"==typeof t&&tthis._nextTick;){o>this._nextTick+this._threshold&&(this._nextTick=o);var a=this._nextTick;this._nextTick+=1/this.frequency.getValueAtTime(this._nextTick),this.callback(a),this.ticks++}else s===t.State.Stopped&&(this._nextTick=-1,this.ticks=0)},t.Clock.prototype.getStateAtTime=function(t){return this._state.getStateAtTime(t)},t.Clock.prototype.dispose=function(){ -cancelAnimationFrame(this._loopID),t.TimelineState.prototype.dispose.call(this),this._writable("frequency"),this.frequency.dispose(),this.frequency=null,this._boundLoop=t.noOp,this._nextTick=1/0,this.callback=null,this._state.dispose(),this._state=null},t.Clock}(Tone_core_Tone,Tone_signal_TimelineSignal);var metro;metro=function(){"use strict";var t=master,e=Tone_core_Clock;t.audiocontext;p5.Metro=function(){this.clock=new e({callback:this.ontick.bind(this)}),this.syncedParts=[],this.bpm=120,this._init(),this.tickCallback=function(){}};var i=0,o=0;p5.Metro.prototype.ontick=function(e){var n=e-i,r=e-t.audiocontext.currentTime;if(!(-.02>=n-o)){i=e;for(var s in this.syncedParts){var a=this.syncedParts[s];if(!a.isPlaying)return;a.incrementStep(r);for(var u in a.phrases){var p=a.phrases[u],c=p.sequence,h=this.metroTicks%c.length;0!==c[h]&&(this.metroTicks=t.parts.length?(t.scoreStep=0,t.onended()):(t.scoreStep=0,t.parts[t.currentPart-1].stop(),t.parts[t.currentPart].start())}var e=master,i=120;p5.prototype.setBPM=function(t,o){i=t;for(var n in e.parts)e.parts[n].setBPM(i,o)},p5.Phrase=function(t,e,i){this.phraseStep=0,this.name=t,this.callback=e,this.sequence=i},p5.Part=function(t,o){this.length=t||0,this.partStep=0,this.phrases=[],this.isPlaying=!1,this.noLoop(),this.tatums=o||.0625,this.metro=new p5.Metro,this.metro._init(),this.metro.beatLength(this.tatums),this.metro.setBPM(i),e.parts.push(this),this.callback=function(){}},p5.Part.prototype.setBPM=function(t,e){this.metro.setBPM(t,e)},p5.Part.prototype.getBPM=function(){return this.metro.getBPM()},p5.Part.prototype.start=function(t){if(!this.isPlaying){this.isPlaying=!0,this.metro.resetSync(this);var e=t||0;this.metro.start(e)}},p5.Part.prototype.loop=function(t){this.looping=!0,this.onended=function(){this.partStep=0};var e=t||0;this.start(e)},p5.Part.prototype.noLoop=function(){this.looping=!1,this.onended=function(){this.stop()}},p5.Part.prototype.stop=function(t){this.partStep=0,this.pause(t)},p5.Part.prototype.pause=function(t){this.isPlaying=!1;var e=t||0;this.metro.stop(e)},p5.Part.prototype.addPhrase=function(t,e,i){var o;if(3===arguments.length)o=new p5.Phrase(t,e,i);else{if(!(arguments[0]instanceof p5.Phrase))throw"invalid input. addPhrase accepts name, callback, array or a p5.Phrase";o=arguments[0]}this.phrases.push(o),o.sequence.length>this.length&&(this.length=o.sequence.length)},p5.Part.prototype.removePhrase=function(t){for(var e in this.phrases)this.phrases[e].name===t&&this.phrases.splice(e,1)},p5.Part.prototype.getPhrase=function(t){for(var e in this.phrases)if(this.phrases[e].name===t)return this.phrases[e]},p5.Part.prototype.replaceSequence=function(t,e){for(var i in this.phrases)this.phrases[i].name===t&&(this.phrases[i].sequence=e)},p5.Part.prototype.incrementStep=function(t){this.partStepr;)o[r++]=t[n],o[r++]=e[n],n++;return o}function e(t,e,i){for(var o=i.length,n=0;o>n;n++)t.setUint8(e+n,i.charCodeAt(n))}var i=master,o=i.audiocontext;p5.SoundRecorder=function(){this.input=o.createGain(),this.output=o.createGain(),this.recording=!1,this.bufferSize=1024,this._channels=2,this._clear(),this._jsNode=o.createScriptProcessor(this.bufferSize,this._channels,2),this._jsNode.onaudioprocess=this._audioprocess.bind(this),this._callback=function(){},this._jsNode.connect(p5.soundOut._silentNode),this.setInput(),i.soundArray.push(this)},p5.SoundRecorder.prototype.setInput=function(t){this.input.disconnect(),this.input=null,this.input=o.createGain(),this.input.connect(this._jsNode),this.input.connect(this.output),t?t.connect(this.input):p5.soundOut.output.connect(this.input)},p5.SoundRecorder.prototype.record=function(t,e,i){this.recording=!0,e&&(this.sampleLimit=Math.round(e*o.sampleRate)),t&&i?this._callback=function(){this.buffer=this._getBuffer(),t.setBuffer(this.buffer),i()}:t&&(this._callback=function(){this.buffer=this._getBuffer(),t.setBuffer(this.buffer)})},p5.SoundRecorder.prototype.stop=function(){this.recording=!1,this._callback(),this._clear()},p5.SoundRecorder.prototype._clear=function(){this._leftBuffers=[],this._rightBuffers=[],this.recordedSamples=0,this.sampleLimit=null},p5.SoundRecorder.prototype._audioprocess=function(t){if(this.recording!==!1&&this.recording===!0)if(this.sampleLimit&&this.recordedSamples>=this.sampleLimit)this.stop();else{var e=t.inputBuffer.getChannelData(0),i=t.inputBuffer.getChannelData(1);this._leftBuffers.push(new Float32Array(e)),this._rightBuffers.push(new Float32Array(i)),this.recordedSamples+=this.bufferSize}},p5.SoundRecorder.prototype._getBuffer=function(){var t=[];return t.push(this._mergeBuffers(this._leftBuffers)),t.push(this._mergeBuffers(this._rightBuffers)),t},p5.SoundRecorder.prototype._mergeBuffers=function(t){for(var e=new Float32Array(this.recordedSamples),i=0,o=t.length,n=0;o>n;n++){var r=t[n];e.set(r,i),i+=r.length}return e},p5.SoundRecorder.prototype.dispose=function(){this._clear();var t=i.soundArray.indexOf(this);i.soundArray.splice(t,1),this._callback=function(){},this.input&&this.input.disconnect(),this.input=null,this._jsNode=null},p5.prototype.saveSound=function(i,o){var n,r;n=i.buffer.getChannelData(0),r=i.buffer.numberOfChannels>1?i.buffer.getChannelData(1):n;var s=t(n,r),a=new ArrayBuffer(44+2*s.length),u=new DataView(a);e(u,0,"RIFF"),u.setUint32(4,36+2*s.length,!0),e(u,8,"WAVE"),e(u,12,"fmt "),u.setUint32(16,16,!0),u.setUint16(20,1,!0),u.setUint16(22,2,!0),u.setUint32(24,44100,!0),u.setUint32(28,176400,!0),u.setUint16(32,4,!0),u.setUint16(34,16,!0),e(u,36,"data"),u.setUint32(40,2*s.length,!0);for(var p=s.length,c=44,h=1,l=0;p>l;l++)u.setInt16(c,s[l]*(32767*h),!0),c+=2;p5.prototype.writeFile([u],o,"wav")}}(sndcore,master);var peakdetect;peakdetect=function(){"use strict";p5.PeakDetect=function(t,e,i,o){this.framesPerPeak=o||20,this.framesSinceLastPeak=0,this.decayRate=.95,this.threshold=i||.35,this.cutoff=0,this.cutoffMult=1.5,this.energy=0,this.penergy=0,this.currentValue=0,this.isDetected=!1,this.f1=t||40,this.f2=e||2e4,this._onPeak=function(){}},p5.PeakDetect.prototype.update=function(t){var e=this.energy=t.getEnergy(this.f1,this.f2)/255;e>this.cutoff&&e>this.threshold&&e-this.penergy>0?(this._onPeak(),this.isDetected=!0,this.cutoff=e*this.cutoffMult,this.framesSinceLastPeak=0):(this.isDetected=!1,this.framesSinceLastPeak<=this.framesPerPeak?this.framesSinceLastPeak++:(this.cutoff*=this.decayRate,this.cutoff=Math.max(this.cutoff,this.threshold))),this.currentValue=e,this.penergy=e},p5.PeakDetect.prototype.onPeak=function(t,e){var i=this;i._onPeak=function(){t(i.energy,e)}}}(master);var gain;gain=function(){"use strict";var t=master;p5.Gain=function(){this.ac=t.audiocontext,this.input=this.ac.createGain(),this.output=this.ac.createGain(),this.input.gain.value=.5,this.input.connect(this.output),t.soundArray.push(this)},p5.Gain.prototype.setInput=function(t){t.connect(this.input)},p5.Gain.prototype.connect=function(t){var e=t||p5.soundOut.input;this.output.connect(e.input?e.input:e)},p5.Gain.prototype.disconnect=function(){this.output.disconnect()},p5.Gain.prototype.amp=function(e,i,o){var i=i||0,o=o||0,n=t.audiocontext.currentTime,r=this.output.gain.value;this.output.gain.cancelScheduledValues(n),this.output.gain.linearRampToValueAtTime(r,n+o),this.output.gain.linearRampToValueAtTime(e,n+o+i)},p5.Gain.prototype.dispose=function(){var e=t.soundArray.indexOf(this);t.soundArray.splice(e,1),this.output.disconnect(),this.input.disconnect(),this.output=void 0,this.input=void 0}}(master,sndcore);var distortion;distortion=function(){"use strict";function t(t){for(var e,i="number"==typeof t?t:50,o=44100,n=new Float32Array(o),r=Math.PI/180,s=0;o>s;++s)e=2*s/o-1,n[s]=(3+i)*e*20*r/(Math.PI+i*Math.abs(e));return n}var e=master;p5.Distortion=function(i,o){if("undefined"==typeof i&&(i=.25),"number"!=typeof i)throw new Error("amount must be a number");if("undefined"==typeof o&&(o="2x"),"string"!=typeof o)throw new Error("oversample must be a String");var n=p5.prototype.map(i,0,1,0,2e3);this.ac=e.audiocontext,this.input=this.ac.createGain(),this.output=this.ac.createGain(),this.waveShaperNode=this.ac.createWaveShaper(),this.amount=n,this.waveShaperNode.curve=t(n),this.waveShaperNode.oversample=o,this.input.connect(this.waveShaperNode),this.waveShaperNode.connect(this.output),this.connect(),e.soundArray.push(this)},p5.Distortion.prototype.process=function(t,e,i){t.connect(this.input),this.set(e,i)},p5.Distortion.prototype.set=function(e,i){if(e){var o=p5.prototype.map(e,0,1,0,2e3);this.amount=o,this.waveShaperNode.curve=t(o)}i&&(this.waveShaperNode.oversample=i)},p5.Distortion.prototype.getAmount=function(){return this.amount},p5.Distortion.prototype.getOversample=function(){return this.waveShaperNode.oversample},p5.Distortion.prototype.connect=function(t){var e=t||p5.soundOut.input;this.output.connect(e)},p5.Distortion.prototype.disconnect=function(){this.output.disconnect()},p5.Distortion.prototype.dispose=function(){var t=e.soundArray.indexOf(this);e.soundArray.splice(t,1),this.input.disconnect(),this.waveShaperNode.disconnect(),this.input=null,this.waveShaperNode=null,"undefined"!=typeof this.output&&(this.output.disconnect(),this.output=null)}}(master);var src_app;src_app=function(){"use strict";var t=sndcore;return t}(sndcore,master,helpers,errorHandler,panner,soundfile,amplitude,fft,signal,oscillator,env,pulse,noise,audioin,filter,delay,reverb,metro,looper,soundRecorder,peakdetect,gain,distortion)}); \ No newline at end of file diff --git a/floppies/claudia/fine-line/sketch.js b/floppies/claudia/fine-line/sketch.js deleted file mode 100644 index f32fb1a..0000000 --- a/floppies/claudia/fine-line/sketch.js +++ /dev/null @@ -1,267 +0,0 @@ -var carrier; // this is the carrierillator we will hear -var modulator; // this carrierillator will modulate the amplitude of the carrier -var fft; // we'll visualize the waveform - -var opac; -var carrier; - - - -function getRandomArbitrary(min, max) { - return Math.random() * (max - min) + min; -} - - - - -function setup() { - - - - - - createCanvas(innerWidth,innerHeight); - noFill(); - - - //SETING FIRST OSCILLATOR: CARRIER -// EXPLANATION FROM WEBSITE: The carrier is typically set at an audible frequency (i.e. 440 Hz) and connected to master output by default. The carrier.amp is set to zero because we will have the modulator control its amplitude. - - var randomnumb = getRandomArbitrary(0, 20); - - console.log(randomnumb); - carrier = new p5.Oscillator(); // connects to master output by default - carrier.freq(200 + randomnumb); // it sets the frequency of the carrier. AN AUDIBLE ONE. - carrier.amp(1); - // carrier's amp is 0 by default, giving our modulator total control - - carrier.start(); - - - - - // create an fft to analyze the audio - //an FFT (fast Fourier transform) converts a signal from its original domain (often time or space) to a representation in the frequency domain and vice versa - - fft = new p5.FFT(); -} - - - - -function draw() { - - - //depen de la alçada, la nota TOCADA se sent mes for o menys (volum = amplitud) -if(mouseY <= height/2) { - - var ampli = map(mouseY, 0, height, 0.01, 2.02); - - - }else{ - - - var ampli = map(mouseY, height, 0, 0.01, 2.02); - - - - } - - // change carrierillator frequency based on mouseX - - var modFreq = 0.1; - - - - - // si el mouseY és igual o el mateix que la meitat de l'altura, fes aixo. ((DEFINEIX LA AMPLITUD.)) - if(mouseY <= height/2) { - - var modAmp = map(mouseY, 0, height, 0.01, 2.02); - - }else{ - - var modAmp = map(mouseY, height, 0, 0.01, 2.02); - - - } - - carrier.amp(modAmp, 0.01); // fade time of 0.1 for smooth fading - - - // analyze the waveform - waveform = fft.waveform(); - - - - // drawText(modFreq, modAmp); - - if (mouseIsPressed || (touches && touches.length)){ - - opac = 100; - var mx = mouseX || (touches[0] && touches[0][0]); - if (mx > 0 && mx < width/20 ){ - - carrier.freq(220.0); - carrier.amp(ampli); - - - }else if ( mx > width/20 && mx < 2*(width/20)){ - - carrier.freq(233.08); - carrier.amp(ampli); - - }else if (mx > 2*(width/20) && mx < 3*(width/20)){ - - carrier.freq(246.94); - carrier.amp(ampli); - }else if (mx > 3*(width/20) && mx < 4*(width/20)){ - - carrier.freq(261.63); - carrier.amp(ampli); - - - - - }else if (mx > 4*(width/20) && mx < 5*(width/20)){ - - carrier.freq(277.18); - carrier.amp(ampli); - }else if (mx > 5*(width/20) && mx < 6*(width/20)){ - - carrier.freq(293.66); - carrier.amp(ampli); - }else if (mx > 6*(width/20) && mx < 7*(width/20)){ - - carrier.freq(311.13); - carrier.amp(ampli); - }else if (mx > 7*(width/20) && mx < 8*(width/20)){ - - carrier.freq(329.63); - carrier.amp(ampli); - }else if (mx > 8*(width/20) && mx < 9*(width/20)){ - - carrier.freq(349.23); - carrier.amp(ampli); - }else if (mx > 9*(width/20) && mx < 10*(width/20)){ - - carrier.freq(369.99); - carrier.amp(ampli); - }else if (mx > 10*(width/20) && mx < 11*(width/20)){ - - carrier.freq(392.0); - carrier.amp(ampli); - }else if (mx > 11*(width/20) && mx < 12*(width/20)){ - - carrier.freq(415.3); - carrier.amp(ampli); - }else if (mx > 12*(width/20) && mx < 13*(width/20)){ - - carrier.freq(440.0); - carrier.amp(ampli); - }else if (mx > 13*(width/20) && mx < 14*(width/20)){ - - carrier.freq(466.16); - carrier.amp(ampli); - }else if (mx > 14*(width/20) && mx < 15*(width/20)){ - - carrier.freq(493.88); - carrier.amp(ampli); - }else if (mx > 15*(width/20) && mx < 16*(width/20)){ - - carrier.freq(523.25); - carrier.amp(ampli); - }else if (mx > 16*(width/20) && mx < 17*(width/20)){ - - carrier.freq(554.37); - carrier.amp(ampli); - }else if (mx > 17*(width/20) && mx < 18*(width/20)){ - - carrier.freq(587.33); - carrier.amp(ampli); - }else if (mx > 18*(width/20) && mx < 19*(width/20)){ - - carrier.freq(622.25); - carrier.amp(ampli); - }else if (mx > 19*(width/20) && mx < width){ - - carrier.freq(659.26); - carrier.amp(ampli); - } - - - - //draw a new line - stroke(0,0,0); - strokeWeight(0.5); - - line(0, height/2,mx, mouseY); - line(mx, mouseY, width, height/2); - background(255, 255, 255,100); - - - - - }else{ - - - - // IF MOUSE IS NOT PRESSED - if(mouseY <= height/2) { - - opac = map(mouseY, 0,height/2, 100, 0); - - }else{ - - opac = map(mouseY, height, height/2, 100, 0); - - - } - - background(255,255,255,opac); // alpha - // draw the shape of the waveform - drawWaveform(); - - } - - - - -} - - - - -function drawWaveform() { - - -if(mouseIsPressed){ - - stroke(255,255,255); - strokeWeight(1); - - line(0, height/2,mx, mouseY); - line(mx, mouseY, width, height/2); - background(0, 0, 0,100); - -}else{ - - stroke(0,0,0,100); - strokeWeight(0.5); - beginShape(); - for (var i = 0; i
{% for i in items %} - +

{{i.mp4}}

{% endfor %}