From 7b715622eb946ba49ea50fed7538f6fa011f116d Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Thu, 10 Mar 2016 00:08:45 -0800 Subject: [PATCH 1/4] Add packager build script This add lots of missing options for packaging Electron apps correctly for all platforms. --- bin/build.js | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 104 insertions(+), 1 deletion(-) create mode 100755 bin/build.js diff --git a/bin/build.js b/bin/build.js new file mode 100755 index 00000000..e71024ba --- /dev/null +++ b/bin/build.js @@ -0,0 +1,103 @@ +#!/usr/bin/env node + +var cp = require('child_process') +var electronPackager = require('electron-packager') +var fs = require('fs') +var path = require('path') +var pkg = require('../package.json') + +var all = { + // Build 64 bit binaries only. + arch: 'x64', + + // The application source directory. + dir: path.join(__dirname, '..'), + + // The release version of the application. Maps to the `ProductVersion` metadata + // property on Windows, and `CFBundleShortVersionString` on OS X. + 'app-version': pkg.version, + + // Package the application's source code into an archive, using Electron's archive + // format. Mitigates issues around long path names on Windows and slightly speeds up + // require(). + asar: false, + + // The build version of the application. Maps to the FileVersion metadata property on + // Windows, and CFBundleVersion on OS X. We're using the short git hash (e.g. 'e7d837e') + 'build-version': cp.execSync('git rev-parse --short HEAD').toString().replace('\n', ''), + + // Pattern which specifies which files to ignore when copying files to create the + // package(s). + ignore: /^\/(dist|resources\/screenshot.png)$/, + + // The base directory where the finished package(s) are created. + out: path.join(__dirname, '..', 'dist'), + + // Replace an already existing output directory. + overwrite: true, + + // Runs `npm prune --production` which remove the packages specified in + // "devDependencies" before starting to package the app. + prune: true, + + // The Electron version with which the app is built (without the leading 'v') + version: pkg.devDependencies['electron-prebuilt'] +} + +var darwin = { + platform: 'darwin', + + // The bundle identifier to use in the application's plist (OS X only). + 'app-bundle-id': 'io.webtorrent.app', + + // The application category type, as shown in the Finder via "View" -> "Arrange by + // Application Category" when viewing the Applications directory (OS X only). + 'app-category-type': 'public.app-category.utilities', + + // The bundle identifier to use in the application helper's plist (OS X only). + 'helper-bundle-id': 'io.webtorrent.app.helper', +} + +var win32 = { + platform: 'win32', + + // Object hash of application metadata to embed into the executable (Windows only) + 'version-string': { + + // Company that produced the file. + CompanyName: 'WebTorrent', + + // Copyright notices that apply to the file. This should include the full text of all + // notices, legal symbols, copyright dates, and so on. + LegalCopyright: fs.readFileSync(path.join(__dirname, '..', 'LICENSE'), 'utf8'), + + // File description to be presented to users. + FileDescription: 'Streaming torrent client', + + // Original name of the file, not including a path. This information enables an + // application to determine whether a file has been renamed by a user. The format of + // the name depends on the file system for which the file was created. + OriginalFilename: 'WebTorrent.exe', + + // Name of the product with which the file is distributed. + ProductName: 'WebTorrent', + + // Internal name of the file, if one exists, for example, a module name if the file + // is a dynamic-link library. If the file has no internal name, this string should be + // the original filename, without extension. This string is required. + InternalName: 'WebTorrent' + }, +} + +var linux = { + platform: 'linux' +} + +electronPackager(Object.assign({}, all, darwin), done) +electronPackager(Object.assign({}, all, win32), done) +electronPackager(Object.assign({}, all, linux), done) + +function done (err, appPath) { + if (err) console.error(err.message || err) + else console.log('Built ' + appPath) +} diff --git a/package.json b/package.json index 1a4c29ce..1978864e 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "url": "git://github.com/feross/webtorrent-app.git" }, "scripts": { - "build": "electron-packager . $npm_package_productName --overwrite --out=dist --ignore='^/dist$' --prune --asar --all --version=$npm_package_devDependencies_electron_prebuilt", + "build": "node ./bin/build.js", "debug": "DEBUG=* electron .", "start": "electron .", "test": "standard", From 7c94c4166cc94f35a01047c56887c8f3b31f8f81 Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Thu, 10 Mar 2016 00:09:21 -0800 Subject: [PATCH 2/4] Create WebTorrent app icon For #120. --- WebTorrent.icns | Bin 0 -> 61455 bytes WebTorrent.ico | Bin 0 -> 370070 bytes WebTorrent.png | Bin 0 -> 9131 bytes bin/build.js | 8 ++++++++ config.js | 19 ++++++++++--------- main/windows.js | 1 + 6 files changed, 19 insertions(+), 9 deletions(-) create mode 100644 WebTorrent.icns create mode 100644 WebTorrent.ico create mode 100644 WebTorrent.png diff --git a/WebTorrent.icns b/WebTorrent.icns new file mode 100644 index 0000000000000000000000000000000000000000..cbad3c87320f5a10b1bea391e5608f38a57a50fe GIT binary patch literal 61455 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 VSiUt{CAl$h{n+FuLkS2s|JfL;n}7fS literal 0 HcmV?d00001 diff --git a/WebTorrent.ico b/WebTorrent.ico new file mode 100644 index 0000000000000000000000000000000000000000..912fffa102b036955b18802744e71c9fceb8c58e GIT binary patch literal 370070 zcmeI537lL-wf_eZH+=5;5Re1{WSf0@_DN>4%#sXY6BJp5$1cj^Up5s@5OD)}PZ33M z0o12}@Bl$kKqITHf`IH0Lc*GzEkKg{|NiRU>bc$1J=5LOx2KnyPfqUb+kNk?I_LaO zojP@@s;X+Us&`cBZ?me2RZ}Luz3Onz7cB}tziYFqv$)pN6MUXsRrSXyTU6E8`=5We zQ&rWIM{Q9xabocK165Vu`kyVTKEP4WJM!&SRkasxQ8k5Ua-pi~ZT@wAtg7Nm_gB#z z*rjRpL}*XwJJ2_v1<*DX%@kL8$AL2E02qHCv_Et`v=;ILTE+2dXb))1GG~LUp5s78 zaR5xe3+jO`h1Nk9_sPfAe0L$#2Kf$ZMRCei)^VVGH~@w>gQh~?hn7Rhcu)8FDSmqz zw0-$-!_~xbpmI0>cDI6#gZ>3=gwkO>-SxM)=MLyF=p&WGIagE1fzsswSltrZ8@dj9 z6H15gOs}u!8COEPK<_MF&bX304wNqkz~&ZEE2RGW3Mf;2XZpM6dFGFyI%xCq<)o{b z<3Q+jXCSPbn4y|?^0>uTgUP`n%fbMJu$p=+R5pZGT;Ch zdmB^_sUQ9lG*;7ewNMd=Q!XvkS7j+DdB!Q=wwL!?+sACu$!;vsQ>W* zbPV)y$k~BB$=^MuaybBwl(YL;=w_&pef(VQg2oH4gFXqpyK*JxYVJ6YI|smya(25R z^{>}Jx#DrW?$a3L1yBp*a*1l|hcwgjpKx35}vz!OHdB$a~*RFaaa{vsy9a7Hj zFQHXX#JC6Fu}8dltv~Ym+Yj`5JNvxejseaO;oAAU`*BD%AaXmPe$6?M%OxIJMclV# z$N}_TzP|dy>K8ACBJSg_rHy~uo8R&~u)Z(2Z-pA5rhs(b#&`e4Z?53C%di1!p(yQ< znUnZ9?>G_CdPJ^IP=>nhs+7n9^j!U4&8by?IG1_3S>RF_ehDA{FJSvPFy0a1J;pH= z$sWw``rA(S2Agl>-jz_~zJSIwZ-VxN-j~QN_sMafJUD=EZwU=R>i@n1Wr5>te=E$= z$8Wyd8)!St>+8VJ?`%wi`P6oxuVX%af-`x>{Xsb+w*wmEycC)Vxx9h$Q2UCn1-dL> zKL-5-ieg@F$c_l3Yw+J6^#)qc1NXZJm{+@=3g;tT(>={R<5Spyi-;RMWu9FCf8aUz zq_NNG6|X#w0VT}=bodjH=E^<ahhbK#yoe$#SqUd#XC>mLku+o4==pKKHKj82~U zIrCjowawtkH_?U}5!C2izUSIoO;J&3m*ta%CzCbJQ-VeXyV#@QhU#7_G zz4|G5t96dp0muD04vaqs(8Z5IT4z`N)df{XYm@v)&v79C z9FT57+e4>APeKv;`tl`c^J7c#^)I2Hy+4>&&aV9JOz}8gzf&38Df7XU{VM9Q+^-Y3vltJX<60Ae?6_vbi}I|tCAcSGu5UInSYi4I3a>f>u(?!92< zoAjsq!A~h+K9wy{`88fRNS)50ZVv|hi`))qAJdDWnUGtTICltCz;4HO2R1@~7lhISYjQ6In5+x%4cx7Sp+4(j@OVguJw_ZI>l zL}~{#$MRlCW3(TITx=k7NL0)((Tfj3nuDsGUFDskn^BRluX(vQ;TN9(CTz~G#Ys6I zWdr07*j(b<;l&Cl@;<@q$kXN$yLrYHgY1zjicY)(nhpIHD!{zl)%d^nGe)MI-Fe`^ z?;{s~TtDA7$@g>mI(ALUC63$0_ZoEkD0ICIDyP_9KJ1P4ffO6~BK@N4;8{V&3pJK|7o=R` z4-eNAccq*-fQ;V@X)ftsAoT|$Y-5Cb&C9)mKK|G6^_8>h`@EIs>t|ylG+x*b&rTdiY6GMz$|crVu*QVlJmV6v0mw?@dGnzwp#sdy)p*`NO@Gy2 zXIJgLYx8r(eosri*HSYjgnerRcH-JjeAnc4*PrAKG~OnRLXpP?l=rQ%;T~v<5`jU* z6%*NP4mCnQfnIc6~l`-S!0Y8qafWey+Hm+tK9BY_9W~YbK|_zO?~5 z`gWkLrpKGraHcoE@gd|Kxi27H(z;G(LR#m^%`+|{3xhnigT4$s3Pm`cCp{DHpQDej zb#@O0^QAH`cc^cjD@LQdZ)U94i_zB~^7+G!{n)o7>2o0`jN}6dSl7 z9Xl3s>k^N%4L}C(hxUbTfg&Eylb@-a-J6-0dlGT|9@pOIVJ!l+`(3e`EU_Q92RjlQ zsPksj9q#ovUXLAkF|Y$s`F-ZO>Q^e4cz5W%;|zm}dp$f?AAb&{{bC}Xm+SkMgRy_H z&hGck*tFjcx<39`{Q+UWv$1*%*td4T?-MjvHxnE98smj`VgrQJ$omD#CB6{qgxq*x z#FhviYYm<$kaBjHLV=v4I9gwS34Q!u;p;1B*Nx|m74!CfVZXy*-(omV$LgIKFYNc` zG@R|tZz|ZHMUSJ48e`V_P;R_10y_X-H5Pje^bi#J8a$?t&we-kZAXH8?VIUhdltK6 zJ5J#}gs~dcxncu5 zdaX5`-mLo5i4EKr#04Uc4Lpy|o(pMRVz*~e7IpxBO@h7wX^v*ZxL13y%*;LQZ~v_8 z<41}8gq*&p@Sg6uJJBZ~Hc&H2Y~W{w$|aWWJ_2cMdfO}@P?0}{N7_s05a@15`Iix5 zAKb^-OQ-p7^zq5rWgi>Y$B!mQz~uDRrpoC{ht(*rYrL?=>#W<4T;e}s2cAR6)pbu6gxJRfoJkdJ4%GtddDnK7!IlFh$$Nx5%p9{I1-BkX1KCbyWeZ_)( zYgha}K}&Tba6#pn1lZK(nBCi~xy>_zE6u0o6k4C#k;_p&gcN)#fW_ z_h3tXZK(*?{aoi;Wb~^G`2sZX)HN?g~Y$!rCj1E z{ygKx--KcVQMN~B&!Pv=edQ8wQxOe5m87o9+0~rN8=>g?_+|~BTfzOw;C_~C?<0!u zS=(Xqc}oiWVOyi|Lgf-4W^###_A`#u4y*?Ue}R-syk)uC0qUkczWO}{$l3MfHI%bk z$?NP!6VtPJ4oB>*mlGRU7TAF(b=j;}btiZ^4EkuP^$94ma(4HI)UQ!qbcDE9o4*R&-|qFd zE@bVk*{+WtaUVZykK*g}6*Q->&^EyD6PS6%^~xpwo6)(5#|eZP#RjyF)gbh)Vz&d7 zQR8{7&_z&za&{kKJnw9L{oNhz3y6E!fSzIN^c5PHe8&! zHy)TQ^gI2vhuUlBkxQ&~i8aqy{m&?M-aPv;-f+}^{PG6yIfZoS=VRbd@5+6t|@zv<2_A`z=mv{vjI~>v) zI7MLxD2L|fYWyNX>}y``J!YNV-p<~jy?42LQMdEq=bOA9<@7o1hvqMba*6B6C2qVG z3~0|H`KXcMLG$8fii#m7KsnBcrmo_l*4uoFwYRj+F6%kC@w|Wsh4lwYJFlk@zJVPt zoI@`0_ZTmHEWm#xc0l>E$BT*t|BLgFfBE{$>EmAs?hird+k-a0uzDYE|0?y|U|(x> zm353iUp9i+K=l;H3wLMFqF)mm(0;~|^a(Boa~Bs0{_n~k{)Kz(o2hknzZ~@O-Tb`q zvOUV_>uj8kPUj0BmGB(j7f@_qM%@vN7ycQY)_%r$jS*f0=B_Cp{QG{=VC=zQo!$Ag z_YU{tg?qi%c8U6YrGd5unNjcpP-EJuRi|MLC&t$*>!vA zj3@5(?%8du(^prhb^6NP4(w>+g>5x+$tBjh#E<9029yE*Wd~Q{>tBbj{{?WboLv{w zA8+hyoxV2hz3ck>dFBCYkX374V%oUI%hCN6W3dBefPeb=Etk>9?+5qF-*MO3+y*I{EwUcYw|RdlDN zQmK>LmPs6)Y$QkoA~g8Q}j^*Zz-N+aL4#+Ww!{ReuouUFEA3Lf_px68S9r zpW^U8ju;rfws$;Z9*yKw?@7+ZonBwVU%i&#8e?rI z*XkFvI~sRd;dR%27yP^N{%EnD%9c9(JNy?O|NZSp()KS2@V|z<)Q8v?Z%^j~6ub}Q z@bBpkRK0!@t9Sq43|zyvj4cz1FA-W8a>y@#Z%!_qu9N0RN@D ze@Ci*cClV__;>g(1pb>?FYy@mK7A7Gk2D8;E$df3NG#wpE*4M_AHd z@4FZ5hx`1t-A_KQVNCEA_Qc)8*?`DxfWyDTf0X#A&)@!EVE>*Bv2SgGY`~3PTlE5G z10uBn4*w4SQQ^OlcK<-Ie|whLw>Dt4*V}MCe!w6$U=mcUedtmym&3oqe-!wa&wl{p ze0J~JAxx)^{iXX}e!vZ0YxO+v@5Tl5Zv!3v9scu;e~t0)Yt~QAtiPWQ`$N}z8~%t5 z=y!dAy!${7{|^88#J{lr8L)o~KK~GY^KstW@F#3Qud@MpwE+(Q4*&VWzvlGp4fYr3 z+}|JBPOKqE@Jez7XE_^?Hyhya@9>`w{0sY^0{ef>d%K@(6Xw=mfgdo(*?_#*0Ed5v z|FPmxR~JBVuB9;4*z4re}9|i^4(Q1>|1}JuVFEH zf_phXU`&31!@t9SuJ~_d&x9|5{fEK+NIAX3+i#2Eu^rctD}0aFQF9{3{{8hk2HF;Z{k-fWGlrOf)(&`pIYVE-259{d*B{8v4mkWf{AYuIVSgs`_|62g z%L?xEr}h`tvY*wH-psl$Gk3Vg*?_G20}lTV|C!=n`yyFVBhvFumO!r zSx4;K*noO$fLlv2Ge5xL-{C(K{41|#fVDe*2ky0xbSCroEH(>u)EXksd$a0);x$*d zI6ojGKfvMN;eRyz3;Vk>zIQda*SbB$h<$5gWCLFG=G6a&JfRuR4;a-3IQ%>OkBtAm z_I-l99_<@%aaPPn*{7Av9lVMhfw|5P7|{ke{5$-o$A5qOVf6KLpT9eP_QLm3w6{RJ zSx3Z;3#5(*IQ%>OC*xl+{uajej{*Dl6}i7Znjf;p>u>l6Heg@;0L{~Pb|BFXIQ%>O zC*!}3eG$I~_8$TJ6o0@AKxjTv~zcezF}?U*IMD0BpeYN{k0M{8twKmCLVKU#dNLld(}rpI;;et^S&`QqQ^^PdgwmDlIm{mkv3{D5b@nY9bSe>u+= zaQH7@{KuHzv=H1s_5Bz~qvR2dLfeYO0~#7xvY@IQ*AS{I8Kd|KVk{Zr6C=e57}-B^K~cudQZx z@IR^KY=E#oBNoQK!+-g#|D`_vK(J1?i}yw8`^>4ojNG8onls#7GufLNs|~gLwr}a$ z|MF=6S+leC9DM#tS;J$bb~@VcG+%IL-J+7|2Q=4A@w!{;()4j1{!1VK^7{|P?|&5h zyS6{dw%>oY`T_TPZPmMC1B!dDppX6fG}w3kf9d=G^806!->dbz+*n`q*tfpL8s-R` z%XmOFHlR576lkfP;`OwSgnftq(#Jn-f7=&m`<3Hob<-WA=Y?_uA0sbl@1pbpT56|y zvsyD5*K+=UDf|CsZcp>I&hH-=+qZ_Cfd9n@&>W$Wa%>CxU29#Y*mv!JX}AAs`%eP< z&pP~%6aMEnKIL`P98@$uKwI53Z+2TI?Y@iumv;WY@;Bzt@Bb6nUk5p#e|&hbF7N@y ze?O7-`sv>6_QnxneHQcKqx1hu)Bji7e;Bx5>e~KswS8;ZSL`8jf_B3P7{8n#VSi56 z*mwSa>H7bztmSo{Yxl<$`_|`L#hzl{1pkH43yxLq>~%1YXHL7#=MA^*nVh@!zx3LF zjrq+Z=3nZ2b6fnB`cZp~-xTBo7B<#5G><0}tf%^o!+$B_f1vHFwEfRJ-@ho@f2|j` zjQzzAE?6AU%->Cz$CC=%nOt-DFD?Ab&+8!WcRAR1ali42`K9t#)_Sw+epZk^Kj0J_=m%PQMCQm7QF2BHeAO(Vr|%f=<)%5?AK-)<4=Wqd(Gj$ zwD8{$%<+BN`Tj+Pe~kk?7_1W(%{YLW!`G}id=|U;I6C~77XF)9)ALlYZ`&PrEEZm9 zUSL=4=V|}*kN=V9@QuX|IQ*9m{{6oHyq4d%w!bLt-&*zz_;2t(70TZ@fadXZw~RKA zCs!Nb@Ly8+?;z*Ttn2CK`4&sNKU9u2!~p)tIACMmVgQ-V;mZ~Ky3gUil<@D5`#^{~z}B zX*-&7Kj-jYr1o#HX&LK+eKKeKx7Ra&H>Y_#4*!*a|ADrz7`v5SU0wTJD1K?r(2iQI z2atUZP$KgLa8JA}JKhX9q@bC8a$WGRUvwwrk$>^&6Le}^>62*u?`h)y10&+!$9`R&=kerf104QK3jb!^pGU9(F8{aqY=G7Qx}E&L z*0lK7Jf4}&>GtBv6~kk>&*8t6@Za0n<5r~Env;xO}`J{STH=6 zdma8u2mg|DJL`V_(zX9ZX#>`>4(NAi`-iUss{MF+BAdhK@Q*K80r~%uv)27yito3Y_q&9B0QZfz{cW1Z(^jZCe7Ry@ z_c{ER9{!OV>i`YLZZGk+a}}}7pF*X+o|)GDxt6$pz3KOB9#3w2ag7DXx!&vWUy}Im zZ1x6PzX$$TmT23#*6d%T^-TKO59C}q4W$^*VDAs|F}rHNWU$|1uwUpoe7Ry@_c{ER zCjPY#!2BQ=pcHYl68m*F`qvD#1!J0}*ay&<|79lUr=yW}e_ZD9Is8}7_+MDotOwG5 zjJHdy)b;|P&5ZrS>|@f~skTz6YsZA28T11#;y0_HVz*~&yuQZ2cs;Q> zU_a504b{okt(cDv|D}z8U$^?&4`ok4?FU}mv4Hu_S7WdGlCW>_AzQYf1m-uaWu5Qa zyxA?EF5!0H^4#IS9PqC;r@#FR^r0Wd1{A0NJiqxm@V#pq>|1?QEZ|evvYU&v9_;hi z^iOYY%YmcR!`7$Rj}HIkf`7%*2ii`?20UJ5egOF~&5ObHCo{y1Y`_8Bqx^ezJMRIoZoy6Jl(gTFDbWh-Y8MJCq|}-te_|0H<%BR;ZX zV`}rGXe%3d?o2TG|4iRz(BwVl%MR!{>!`=G@aTHpaeS!Fm;EUw%;vK!4*%tif2%9f zVcCIReCe-)pUctp2he%DmypGgZU538eZ2d2<0Y_i7j5!S!Tn)8-}?Gd;>E8=Z)dl$ zHS=12K|SuH9xEW(GL_qwF+_s|oGr`dy^cmXKBWMRtz)$!F$A!@GT>Bi~9RLmR z+YZQLemrn*>!4$DJvu1kd^4xGzwIc$9;}zBIImxi!}xw5NMjN+lIo#ng`Zss=MMjs ziT_l(E&aD7T!+bCPjz20UbE#5*Fop@x{k$I?n0Nz;osrE&^qVdS3I`I;osrk;jwt| zSZG-|{5$*?TIbyRipSnK{5$+RJQfcg3oVOE$NwVYKpICXG~eC(9M6kE2Pzr=FEJ)` zy2HP-eHCo~h5xh3jZjWh*14e9aL+YWMes*CvfTeqb!9DwmY-L!?2DoOab*}kKS*Ps z+Dq#9U_trdm4<)Tb7;PmT#()2gT{uPE;=4mk`8EYC2K60wIXaTbXGQ?#M^(>bp`hC zGWgIR*Z`Lo;%q><+W4Dhdh&r1A&>&OHDg7JqcW8O!(>$t05 zYCA4JcP4SKFQW4|<>K>)?&u#T)Yx~y-)C`1*K>&Z z6)XPl9%EfX^-?T^xBzQV_qTl+J22DP0T&xZ2TIAF*gpPjeEmhN({Kkmt$uz^alQ~X ztiNoI#pM4l&L9459mT8V_)AyPCpZN8w?VE?P+B-BCCuiltkTg=eEp+n!>&b#wT44p zac}Lx#bEB@A{hR!q8#7NKmM(sq}aey^a;+x4(uJY18$ta*@1lFHDAw>PBx>X`%mml>ae$`_9tK*0bXbl|Y#Uk5P~Uq6hgRbcFB=$)csz`x2sS+;~uf|f$z@tT&mp6-5UOES>`JDztaI(P-T_$)N$@w`lM@;KP~JoK(&!F{+Klxqv96}kvo z31w2J9DgHzD>m?mnM2Xnt~_GbA8`211i!id#@DaDj=kyQpO5Z6fexy@j~x3ifTf>6 zb#TVVj=Gn?v<~v z_1nJ%?*AF+bL6;R4|cAE2BD&C^GC8jlzD6DIOu+8BNU+>kR5&wJHWm%?MEUn?Hl7_ z1I`~9tDTSz%`j`6&u{)4I#!Uq5I2Ao&8a;M`shd)EB5aw|J$Ic&{@!OC_)<`dn`Mk zT;g9b7Gw8}bo~Nn2eP#T(wS!3l7m7yy9M#}p8_M_gtmt^D|UQmT0ZLXZfF+tdnn>@ z0^i0A#{Ol-WQO*@b#}nnfzj-MbVPCe1?*3voZW|LPa^m8dB^HC(1lPtR5Wq@O!1xR z@2K1Rq5Ys6p*JDbJtC65Rxa_a*zuE)Ymbqw!@y`5sMPPle#cyV{e|evUFgnANIDdi zewyd1kN+2FcWBE@aa8KRqplO7uRt2pP(D+He3t!QX2xpz+YiPDXwMxN8*p||c24cR zbfMkEjpjFNPX2RH16(d~W!OLY`aQ_}MCRoxXIFc$N8ZO*n|2HI8R&!g zz)Cqk10GF+PJ@;}5&Hs?{WAQ&a4xahhe~M+E2W;2X&Zg~Ly+|q$Xq$Q1@ZMCL5IH# zZClQm&3E14m*zLLL%)U!luP_?Gv?FRu}gq|X9r5(4ywIpUT()8$oA*-@gFM`?v=Cq zQ>Xzd`kdW-<2PT=gLld$-V?eWDnM+2dB&{QqIFw(JLf>o29&N1&^Ug-iSrD`?gjVq zB_sFs)yKaI8h}bJXE$HC&G&QQVgAdQ_Yg(9^9(wRZVgyywg zM88q%5^J8Z^9PF84%j|^c%9vX^zoI$qIlH~P}$_{7OTyH$M1mVLIubr_S=oY*nL4R zvGyua%*@$=;;{q1Z>G4-Ktj%LDI zv@Y>U^edH1?D_=bZv!+hcMiD!I?=q#Zfw_b&0PhHgF7cNV~8B zE;f)q8=yYE_RTyI9^VMBS3r^DUis&@LHj`;Dkj}_Wyy>K$Za!7V=@|>c?v>rq9W;| z`~l4~{vH15fyPgDzQ9=Wi`C{UXZP@6on6h#^?k1BiX`TAprR7pMo*=xLTHl#70S0UP+sK{^6 zwBF3T)-&i6%nNKlCE5YM&V3!b!i%%P{UbqpA9TSHoxSYtpD_6gL^X)NnmvmVV*E^#^g0;-$(_~h)iTua@b4|ouztu^~j-G?j{ z?@>;O8_z3sphjGNbYu&t5mGMk3MfK5Al+AN;1TS=dGraikE#0e<>U{jE?R>}`(|E9 zU7suj?j^J5Ak7t5&aU(IBgRd+JszET57ZC+0n!)|dK(qV7hvrn)~Ok2`zBb?JmYfk z1vH*FNS)50ZVv|hD@Y&zVq`TFD%-tu$_;PDS|4=iBap_3luI1>+C!SlrZF&+OB~K~o|N@G%KW$~djWEIUP1;xfwa!9o0nS>C@TFz zqHFJi_JIBhX>2J%JD~P+1(>>>e)Lzt|7@t3;)9x>*GJh-qm1`ZR^{wQ-sWpw?lq9& zGcISh^dVJ}H9+^YXOYI1G{zKRpTLe6DwmjbiA^rC)+HWKUqCi!24y*xc*PB1-tMIn zX?#ySz8yLoa`SRa5;f&jX!KCA0gW;JH>6x*un;AIuh>dr@+&a5uh>c3A68ft-1zJzW z<`PG22Q*&zDD8AOmpB(YpnH_F`zd_=3+dzAb#^1~=RXIp&V;5{ijKH?mOls3=Pe=a z38^uwh;xaBQSD=Tw;7Z3*Coy-KBzwad~kmz&-hnhuOi32aw!xynF+nS{58VWuo5|d zZhsiky2N)v%3F)jA5dIQ^Njz3|9%|p`Do*XYV#S-V}GN;=D%~V`uLIKUTZTeXIJa& zx_P;k2#N};GkUH*!DQ$g&{8PEyaCx4%`a3gvDPKt7mRDXumKX@MLO3yy9e=`EBNg) za}VX>7#Yd-Jr11&Z4bGe-3r4&rB@f7S1xfIq;-i`K@s9j?Kl*B*o@uz>y!7fSHS?d zKbULh@qNK^cC|m#kD)rq&C9KHAXIq$!GQKL)fm^`p!HD1c0lutAEsY$6Ld4@T3=i5 zjNI4P`f7iK=0RIlxY%9w9S7nZ01xUD{3mn_bU##pdB*F&yeM+qD+faHjzb{DKb)^0 zm%KZ192nvN*ibHU4WuzJ`NklH zoHzjHG|%`5NbBJgGB%*`yuU;HLvCJfPSSHXIS!1S1K>}213N)l7iTFH<#?fw?bEXM)If#^8^ zZWSAt3Vk2SW?f>fvwIq}L-eI|Z*UxN9Eg$w;8?lDv!LHYFGJ~K1FQK?@q;$V?Oe>dIV|F({8oRf4U=`=eCD;RU^KuI;7xy~HfkJWsj8BC2guVmG&tCv- zQ^+#7cNGr@yu`l^i64i3TGKu3Qo@DB?@#zR>_gS&!!Cs{Y^vHU{BhX%`l_mh!!Cv{ zEUBuR5c)XmbWv5+hy_G0BNcFijP4Px3;9_%odJg$tr{$304!=n!!k~C*3%DeBemV{gGyN7WH2iWe8*k~Gh^O1>!F_W_5}eI1A}rSSZF42RNiN5AOS50?19 zP4)i-eZM%>H~uxl!A0r6Hx)?#wXXsrd~a01eV>*Cjz8#UTJ8i0b>FAufYTqRKMp@> z;o-X=>A!a0%Rg}ZNy`CeU!8t9e58ekv!Bj>y7nVIJjNX#rvJVueF4q)i_?E^;sZ<4 ze?LL`KU#cZwD?AP0~-Wz7Nsjd5MN1KKvO)=8!f&wT6`#70d0IKU4$hbpGw1_ZgEe4 zX$t6n$^WSfXq*%OHz_$3a7VvL$)O4Uz4||80lSC3PbtEouT$E9ICu2B#Z|-p;@r{q zDGE42*X>^l4lT6b={TH2A@1l0!(Jcaj=o=<{DXwzrQlGv?i%_V#-X9F%vo{)lZxkg zixLZvRJ>svnvnGTWF1lP=fIM-zIPayCx~!i_#6K` z%%Nf2(N7i)yfc12@mIOaIFSppIrKJhf#U?|f1o>{GoY=5>spJ;?Oh{gl*u3R zluWJMwZ@Y6AJ>`+%9FHnsGj6pYp%RY)#ez#r%c#Tan%URkaNwM(OlQNA<129UP$(q z?D`u2;98$$7Uxb6EHg^vh|DBw*?QC1ajbzfM?!NSE#@um^*Q;P)?E5uNKL40LBjJ& zgbfv0Ok@>q<3Gx0<-)Fol4We=o_v&!Sl!UPnMKeC13i!}aK1qiY8G;d+iA|<2^|8d zO_zMFt+zHlS?0-~lYjpR&(QpeEkb%={D~rDMMV_}nHWrRw6?y7^P3VpRech z8<39LD^1sj>42_d)0VqNlH$)4Dk zcmr*xalD+*!oPog1U=Amt#6<`yiS1L8`1;UCPb(U@H*VaO9ws;{Tq_3Wuqk@YpZoF zAZzPi<@0Oojd}xnBY&2?(QBY-P%WPi;rfky|2p&vBwb0_CM5d?_wgRhue9-nco`#P zMMXUt-X`06t%r9lgp3S@?X$fW99M8$3%$X9xc7tilaO~4R1GylEdlwT2ii{IcMqB0 z`}gVo_Uat zweOCFv>yfXFmfNIjh7u?L)-p)udic|K(37(TOlj+R7ZW^V1D1%u@`N^l{`m#>FRmb ze@LkZVc+0s%6KI7?vNfh-yj2BfM;R3%Z?60cR}!fq<*|GDqF3#`*m-y`4-yrBamZl zK*G1|eJYtJU$gCk?yciFpXYgZ@Lc(aFGFeDgk;~~Hp<*m?8M->}uOM``0vMQ)P!bjZpwS;m=swmPHdwDH{2dHxf;=gr`KY4sr7 zE~SbkOAjh{AT~+q;YGNOw=rA0j!Br8@I7pMt&a{aV=s8~TF&=+J9?3o+Hkeyl3ylr z9_=@36ZE{Pv?T+yDHrg*mne(u!HB*=xJ^(j`Bccok^}j}i?}`HJd2pEZHHfj|1Tqt zKYD%b`ye0TRBiWYZTx8RPW8RDBlYGzeeL`6-oNmEwKwWlT3rn5XUaCK;$z8y+=Y1? zyHm{eMhHHR)Q{Kqvbpld*3(bB+v{&T7I{b}>dOo7`NDiE9ndxV4)qrsX%mj89QRTl z^%GRC5!-}teB!UvwNp^wsJ1W8k0kS0HXnm}#@jwV=Mb}18@~j;e-~Tdfed8pEjH81 zEQ;$^&-DHo^e@k%TuZ$Lao<4pV3;k?wQzfu97|5{fyzekzK)06`1iwyQ=kf<2(jVOzf~pRRDI|NV13FHHcElcR?X}j- z^5!=Dn)= zEgnnen(Z%+>zG2Q9JU{?nC)ed^j9(-rHxn2_D%ZFkI}{}W-DKMtTEeY^+5K%x1-5x ztDims?!&UT=V}vt-ylXiF|+P?Z(h^C(Sx_(fqb2`dJyJe(ZrIGZMcp97@xljWf8Mg z|L8^9_@6}-v(3LANcM9i`?{%F%HHaLj?#mjXcM;aTB@7z4Ss-c@Lb>{T6>smCx^8O ziY0#o`cR>L1Kt_8^_;&8Is|$GLY~G}g>9Cu1*G;}q?qk1e$2MR#%vY8iy~&5KOHc# zZ*TNkYQ`e_upaOn`Uuj4wweKagWsbA>md0+vIS}Ti(&pMmV5wY_H^JFmrcI=3Bj|4 zd28!uaegC2S>ye9l}(?MNc9QDY}=1R-ty}T6|)_i9!U1H+Zw#)8tivkUoR}%OwVNt zqz4l?PV~BJ|H~U_ycHdgZ5(l&S$q!1O|Iv2WO>OvTmFWXyY?i$0D1$GoK==Ia+eMV z&PKFFWJa!EVh7WTDdD``&DQqWaV!CJbez4we>b;`y1N$aLm@m&a;b<5&Wgpf9^%wCCrfp3-)8WmjKM$V16xf4|eFMdkkB4kta?U!yGi*-l&YUYYDH*Fj z61F`dx!W>oOjLQcf1^Kl5O}vS+v0BH!@4Ehcbk}ASU!b1SDUasw5``(yL%8zeic0! zb(}dY7xfpn3;e^Jbb$LU_AlpLa@O36G`3zgDjc)@GIB58m~B|r$>);&3}Sji@w`IG zJ^UWqU)+vz1hM3%jAO}m4vgl!POyE1Y}x_tv$B5&=khZp{}i$p=0)UJH$7VtG23K$ zCx7m2%rveOmRD5g);CBMOO{N;dn23h(Z-Avd)+gTe^#+$?z8e&Ue2SzJCfwDcgs&L zp_px&7++s-J@c4eRPs*uTpLT?#>A56H2liQ+m9g*(*Y}g`2u_ALH>^om%rXgpDy+! zIXGXy)~he4xNR|w%Vy?Z%HGfIhvnu`BEG>Vh$ZjO_~OF>1`~83 zEdRZtlmF|)ZNHApCqeS%So`S0!IpT?&T+xek$$$mO^Yd`v{%S}vWKC$Um#$aSm zOGgKs{D)+knV;|5s5)c!2b=E$HyVpne09Co*KnH`o35D84v_q-LSi|WcRBfICx5k1 z8fR{2?D=}+Zga5YJFP?q-tgwuUx^M#_LE9L2b}yfm%n7M@#Z#Ue=YLX_-gX_`U-DX za*^iL{~p=P50pPx%yz)ZKQsAT*|#A3s{`4m8&6#s=)mugy=-zZ>wuI0=<>HVzZuzI zF^cSM?8NH8uaUpvTuiftS&N7366j7uW&Gf4p?S$=}Dkatv$9JNs{B zue?)@gJ$dNrIUH`b@dB0kKtu+X6-iupHOo@$3q7yUH)q8CHn^E3;z_YEWc2)59@#*C+ev?dmMD266G)1Ypk~p+5ci3WgpgoRrmyN zcs+GLKnFCBuTXZN(&QhO{m+oS9ltF!?yciQcwIyFw|p3nqsrs=Jv(a-L@h$zQmy zC7!<<@%*Q$r{)_))xS^RVKPrM_$+^rwJjPSW4xdX9niR8{&PsQ20?SpG;el0IjkLr zQ?7EAzisoI7{k?C%kuT}71JH7tkd1^j~UHvxD44VHjt@3&+K=SeM{|BZ%%v6>+4b; z>tSUqf4|KiX!|C0wEkW?z8BMV*@5-MiT__-eF4c{^OWYY22mgDjrw`aU$zE$w441uhpq%Be`ZeP7 z-+-)3$?r?nN7;Zk&Abx7FPOOxAlY{{)!^sZK9I$|J(jEdRbS?4b<7X?`xMN!y=EWU0PPDfdOS#b z35+cJa+ZIqH`mO~J`36BlDA!KdZISq4aNn&j{LVq{;B7fHwJMctv5Kj?8{mH!aw6Y zEsXCrO8&(j?;B0um{%Cvz}Vn_GhUNg{%Y%E)jNAV8Oy$$<*)X?hWT2TB72+LF&dAH z`FqL#EpK-H&r{leU-pyD8nc<_y79azKs3X z`Yff|_qX_04B%C-v*vK*zb)&`O=16#@HkE?*=BOBoaIm4t3&Hry#OhO{uys?A!XT3bGKTsPC}EtF z55{qZ#_()ib2*l?{8cxN|D1sQqZt43ak&e7GHMM#f4=Cj94f9`8=mXYxBVS8hameM z7`s)@MlP~Wbx%3VUp|rMc(85@`~LbiAfIs{J?kxEOur%4xD&_A%;)^Znu0vA`l}ej zV^2Hd=jH0_Rhs-&U+H%Z`E8#@Hu3{B7Lbp=fMox=H`x3DKE@p0p>;y$G1l}b*I&)k zJ5$pd}H>xu1x?CrYfspOdJwQ|P4<%#N8O*?QR{FMAKE%`w`$LF5zWDX+>*&K@JD+_=mcnn152=4BIjL=seGuu~m$_-{ zwZCxdnaD(Y586E^Q@uy;(DyU=J^Ql8*AUWs^t@E>(EHi@DE1WP`f=b>Xb)pOE7d#l zb*<9mFTSbHTEmz1z1kNbqi@ka_!GQ;3|fX9g!dJkKMVbv@BUzN2zxu`ntPN}Ho9E& z4y_f74AHfLwnaSW8lLx%dG63Vmht&f^PT1=^u_l#)V)#5-twZH^S{&KME-#ITL(>r zqz|*;|8Cgb{SEbX?9R2Bko<17!P&~hzQflw|6Sea+#aEK?8e6A1@sb zDp~%PCssx}O1_e{+I5k1Ls$?0#@?6BF?_$?q37Cn=zY2t{!KQ|9_w$VYsG;70|TBE z!seypnPgz)U@@rA>3*Nf^+LQOn{rwCkLUbP?f-NDd=?h+8QaW;50&~`@mqbOL-Bdk z_eh9QM?C*q?^0juHTeuiVDkCdk%nEEHTZUNx`vT;!`5wPI2hgK^vk*W&We zdH?5N&se($wDu9#vnyi%_u`O$(8encMc+nqVFzOmBLl^yM;r&!9^H2T_y6O3`#_d& z(=nSr?lt#t+!6XGBpr}#*$^D{IYerMY`pz7Vq<^BKehcs^_^XtFuHEpHeUSF`1hfV zRo?_(HFjmkzQR0@pC`-ZAIN5+xQ8$gj$Vaq#UaGRnXSrqT^*rRx*pt>W z*IoldZG2j}hk3sqIh+Sg4CMYc&U41SmAyUkEIn^?`%I3rpc^5|8E+HP=z+#%`r={>L+r}%V+(>`!1o(4bAb0U=M7f9C;2V%ZXCU{@IFHN8 z$}e9>o-IAFe!;sqKNNZrqP#{Aqyx79p=$xDE+XahlN;6YM{L|@sJHwZ=|Uy>2C{vs zuRos9$GDZhzMXQDYz|sNf1c|p`TGdh4}jhg$UZKce91fAb9kq8%<92MIsY!S4pLdA z10q}Q&`~;|x~WZg5nJ~&`Zc}qLT!TjIpuB(BzM(wD*8V_8?QCYWgmTCX#~uN+xXS+ z_8ZWLLUP|covfm|&ifN=4WDbF%OL9)j-UssvwVX$v3ZZuzd042h&O(Jr~LFldM(_m ze(ff1J4o!*@6U-3;zugHBw*<+e)C&sN+5UfUzpEZJD-cL1Z9Z#FZsL+bT_0rsV$Hm zq-Yate^D{S*Rg@O;u{9#XvOFt=wme-Kt)Hv`Ea1$_>Y^$pa|S&L1)4BJ=^v1Hk^w9N`L@uHpw}SDe1tYZJkf8+r)ye{ zZ*VsKp>B96-$3{(72m*?lX7>=MxW26PS2To`M!^>XI$Pvy%Tuz3cNTA+A1XXg17Ox z>I3CYXq))l0{sa}Rabj0ILam}#;Lr@2WTsmOD&&C{Uq_$@;9B$9k1)QY&K?l3gv&u z)FXqKt@W2>_pgE)1Gy*gF;{tv*L~C@Zm&3(UHCNgAS79c+ zI{aSS#)o6JH&Q{i-hV#%`g!oA+F`2uH!<|IgmGiu`%vppZ$K9G9?f5N;gr*rBn z{gyqjV+yl4zX=j{l5JvuCu(UM6$WTICDIfEIaM@!*cI0+BRO#X~Wi^Zt`7oh}r%x^YReTQ3!C2O8{F0o|Wp9^BP?TXpn z&U1zLtYfx)mKT&eUN?Kq9aD24%qz~fgmQ=_uc3`rEO~eIKz@2A{Y7Ek#%%ZE{wtBW z{JO0Ab4w}j=b(41b{w7DQ;T`jtMD%D8+?M#S;vyK=7Z*Q_l_7#mfY3GOHYW|w*DBI zXC1SBner)S`|*(6T^m2Dlt=yn{7m)@TDf*Dgp3T0;v3jl^8K{oCk1j=|IONY$=?60 z`AnKS?)T?(--!J=>yM~CDw~+?$kG_UZ{cy=j&d%$pjh(1A?bl+kU=b2dC5268)*F> z<(~=fwR}E=>wo7t8O3bFKFEE%cTcG7Vz%Qa>5<C|n3-k(VraD{iNw`i~jMY{PlB z3FXK~-P|)W=K%5+?qm;aEV+mCn;_&FZxd`gt!n|a+bWe$;*8HsuCBS9Hua zbIBC;m&heu-0mK>LLSpLaz2IblA54o6aVa1yD+mKP%H?XnfwOp5ch36EuAVCMh zZM^bqPld)c&o*l&RQL_ZOKozvO~@pc9M%ox*(S$qi zF=fr0bTQkKk@DyTP0|D9B_9Jl1KBn~$ETnpppwb69lhr67hw({+pupifzLmH?u5>O zw$^Vsn*K!izH&eJ{J#wggOlK}zB}>rlJ_TmUbK0_=S@{r37B=(8!& z&`0yYcxiNfq36X*qt6o(9%p#ANZ0Kj545M|2+!Q-5C7Q-vuMc!V`tx?kjD-|){V8Jte)+r`^e{v{C1cf5dDZOO(fk+2 z=MQD9_Iu=JJj=BW!EeMHgAI-ODKF?_0Ur{cT}*tSj27co*A<(zxh#Qf*KXRSaRYVL zULwa01y56O~x zG-_{`=g8OkKK0h#Oq%Cq^K_Jl%^bU~sqp0h^ny8dW{==k0=~uhpqva7!{ccAJ#Ltw z3~_zrd<#gqfyy7Cu2$ED@t2Y9CCGSyI!>mp%12Y3!*kli3tdxAavhjB89jLfJ_r+Q z1Kb!)@Oky+(9Yw93ErK+dp^&B?txS`$&5I=WXBpHCSO-;1xntUN10sjFb{NYbF-&# z-budRIXsj7yNv#5mC)YRKXZ^mBeGDgi{p^7;ulWj|{|b8!OP>;K!!x}5K**LUUcP+VN1h*l zF6Zxqz6rewQ69-eq%|y8pzA+jzQ&9|*Dc1=)pO+QeO+zdoQ@i=rEWW~z2;M1f8)*G zuCx;ijDCp^@%Hjo&N~8KNYKx*@PTKBF|OzC4?PW0SBr7A;acb94}MOv!T8wcD`^jL z?IYh@Gu7-bt$n7Ortjd*s5{=9-}D%K*vNa)H=_?m2jxRu1brglL%i(S@_=U~@Q}}K z(9ICKFCp=k_ZXey9J|aK-P$9_$F%Yd zWxGVf>yynj)xD>+-iuM^MpJLqJxu7s^hxkxEB2r6^LiVuWIy8dU_yGBU>hE#%zIkd zbFO-g*k0Q2Ii~Sh<(sSl;}@dq+GkVknd&Qm9WRc>|4idAr7hiFJYB5Vs8pzO>~>@{u}Q8#;?~@s4Ln?&7KSS+A$wpT@SSebSu4 z{M6gleP*mSjm&MmlaEv2!xZk>+VE^<-Pc)TWocj=RQ7m#Nt?X-e<15aCg=gz&1a7C zW0V)8y5oPZ3HhvFq`u0nRZjKTF&@?z$-S$oCWQ6mdXDy4wqa+3iI(bCZ+64a!Nc01 zy_DauTJ=|*zAm|QOz;)>Z0rAC&X+^{mb%lP`Ev}Ceb%w-x?lfhqw^h&)nll8m^ZQw zI~W_;Rrj|Xl)xL%6 zFxGR~hH3ENqh4#xT**;#mk#K7ZU*&7{;K~5>VF~imu=4<&WCtOf2ZXvuX*}hWVW5b zaiX0c3m<4V(Sz3N+0+^TxoIu+H@T4KWnO>D|5t&n%V+(;QrFJ-3`d}w9_`n)LH$)< z$!;w5w)e^=PNe>GsJrI$uF0YPlK(|{uD@?b`rAK4nY7;j8f^8O-t78cQeOFY`Qm}( zulh^=#ZrIOeKK?GKSdj*c#oZ5j}J$?J-hxq%Dhd$1GQ^bmbn~@t^UFfeYy7kqVAf1 zrn-mcAjyy201qyL2isHkNzhn$P%QNi`hN!RU!=~m!J2EEDkp!1(Sx}SS5tSjV-w9W zH$5nZ`m64uDP}&3zpjPmo~5e0X`A@&C3vvG>u+yAM{$PyWxTCqVL~jt_$N?e_Qvd)cri_tUihAopLS$*KNJS$Cqdu ziIF!x0S|g|;K6v-UwvT7{aos%_@(SzHg&gr5D$o}G(H9oX2JvcNSW$^U;mc4|5K>; zUv^%2Xa6=6yUj%3ZGBT6eLWaxypMQ*`o(G&GVzh7;Qwytb=36*{8#7odulMC5_hdfECT{fR*8e`RhoiTP>QA)Q??_*L56U1J6r%oqpHT6zp>+k4 z>yqnd+D77BowY~81NHUO<3RDUjt2VaU9~~|g}xC0(@jFNFMM^XrKL-%Q;VqaQ2o!*#dkJ`Xx-4nPOwCnw@Sb?

>0Wc?+7VmWQcQO0bspAAm@`u8>bop_o0h?5y7Xh>1_Ld!py z*O}_P>MlRQ#OFAUcAxOS!JAe03+leLH@nRrFBpm^TGR-FbP0FiI)~4bWfFD!Z+*XmDWleJR9({XK-ZP$vX(YO z`=OEd(&+J7amsW&coFPx^7l%Y$jy!eh{F zt+#_cR6j`h8>Tze93AN9{Q{;l$9%%BZE9L@OAIcB_cfPD}8+ds#3mCfdaSe~(l8Tn6r&f*HPjrp^0sYSW z-rl2}0)407q>^>2Yx-@y;hm4Ytn6QC{Ok9WWh~=g;zKf}DzCk!dM5uqnOF9=>5i(q z##km%|GmMFVvZS)e-(KAGhH2Wy)NDjYSHy#KZBDE#0*xECxFJnultxx*h{FlsmAdE}q%EhRrT{)I^_5PsVx#hq39Po1^;DgnLZ8`rX1TT$mqBtVw z(d9pl&I8q3xi`}FPvJXhy>9ipjK8IE-k_{ThqKCm3h`iE^WReQK=lUy2II4gf8fhR zV=MW~f3rN$k>|&A2ssx|_J^K^cxSZvk3&4L7?Mh_^z~PSHfHMn}+2$K0_G}gsi=a%PAK*XL1kkO12Gixb{zo^5r}KU1O)}7n^<% zwk_VCDgRyT>AzoP=BRonl`)z z<%dvi^ItkjXZ}l=57ajq6SZ8ci1|-Re28Nr(1+dOL(reF?WO#bjOV|d!~I1+|1Hde zpx$wNMETSB((>74&lN8n*=OY$Z-)|cmXqIEjGrlU*fwm-=L?{~KP}(+uVGn8ZUG-` z->PEfKPT}aZW{ug9KvxaBp+&`e#5s)BPv2pkEJ};j#*!CI@c((#&lNE4>L!t zNqP#Ow+!kLZwGUFX`XJPOyPFu!+gd^UB&z!m3ckw(QD8f(94h+b9##3eA>P~e80U` zh$HWf+e6ALAAmixS3U2S@m0+$-=OvVl~+B`wurhc)qExTN$Q8GZf2d0CY6AkY~>i>M&-V;#qNdvPOcQw=eXxUvA-X!-m1;JJ9h%;jiM{(iibs zWlc98;K$7R7*m|v(c<;gf72UmTt+=MQV(mZjJ=&2)+yebF*fvDDDIbY-U8j^mmBphOAP*|gsg>(_=b4b* ze=j4Q;`jQUwc}fJ{tI**UJGw}_G)ze=l(wR8jm!*&aB+3o60_?y~%5-VIGp1+cu4y zt?f^Ak9-u8eg2HOl=4 zI{s&Le6K*qHD(;djWgi6E&FWEJ5QKv2o2a9ZkoFbj9kE_&$rAsKj~W$@!wnoAc+9 z$EH_%J#}YNh8H)ITO@37ZsK@aC;B5QJI8?E@uT>@#Q*IpZ!+GrX`uCczK(#mY;@d~ zTlXlZrMsn`vN7*Fqxq1^0p8JIqm?-Va~m!N8?R7@HI&KJ;ew$2mglw}*v6IUo5?@g zq_t->A20Q~B*S?;RA&2~a8W}JVs)S+$^0Javp-kU$HvFdsbk>(%T^A5NK<~ss8>9v zm?&}KO}(8v@&0zmmM5DdI!0{0ukCQ=VRoR`nsbzxS36R^@z8hvyxZpL7Up+7Px&?G zzUqpR%l{^A=+Vn)1tc$+rAK**oXbzCH}EUcnx|$(j!52D!Z|TQ+sD<)2xA@~iCVOvil6{t#tX z9831s&fz;BIcVONa#SoC{iGE;tkE@Jw* z21EK^i1MpF&>YGmO*x0pp|o{iz6f)!`WpVmoEfdBkjXs4sLL-qL)qEa+|Nf*{-f!i zaJ1zPA6179W=)IO^!g0!Qk3Nv-_e=&&j)3fZ5yfVwjP?h^cHg&??4W$?ZABW^q98g zpOI($`fXER$0vg_kH&Xfc6)pgyR?a%`)dLjq_atsf7%3ZW)t(RVlSx;=6$R3WIr2d zC;q|nGRZ5pxZc!e*^8I$u$$rYc`1*H%!6H_6>T z0zFEczooT){CsB3*HHQM!GHA)wJ&Z5ZPX(?)8xR7sr;IQ*HiaHuVMODUemOx$YN)+ zMw37HLhs9W`6W-*Z-_lZxrN)fZ=RwaBYh|N_;Uy5Fu&ekKWZBD2O3R3&G)CGD1WB> zSJ_RDW{P@Q-SX!?_0;~rYpVV@eM^7cm?2*<-{qGN?c-N#7y5IUQ|0HY9ax9WmW<>B z+43eI_1$`}tA1bd_sMe}Hg_S4^4n)FpnNL3d>yTYp|Xf{j$X0Wq~eEK>%^ajV1J{! z`M=XTCH+nR$69ph<{sF0?V{)A$^J+Nz76VcKM)*0MfsRZZq~-c9_gI&nRNzDjG~P? zC{IS;$=(hf=Qm%?v*i0pCso$uK2omb&!qq2*P*YYoBYhv>9bvqO})yjtJK#qNLl>c zP2XPC82?VPP?>e?Z$FCPDCRZNya$zEa}amUg8%A2UXfw{QFZWRo66HSeICQ}@O%W7 zK}3JZd>1;J>-sL4@Ak8>CVSUQ`QztnJYD>l6Fu$#i+q`^#{K(gFvyLk#;i+b{4}W^A#B9QuV3)7SG?ob;X3F%kcHK$ z5%LGDJzV`1_l$e~K)4>#rKEb4O#VhvJ>ohQ$fh9qGk%(wQi_y5q@&V_bX0ngjscnU zBhF1a62~Pp=}J{qe)>{X6+a_Qtg4Eiv3*%p)e;@a3@Fv3t%t3bt*5PboDY^S zmQR*%aXwnUT0SdHtEx(QS`(ojD4wVF0Y2pT7vKT^V`X4tpPP$6@Hn5Z-=%4p$pE7- zD_zTb9+r>86@fijzCG{3UtN#SqkRL^Pk;4g)@rPz`qI=+N zy!<@#Gd%lgy<;%;#72DK4aUDT^TL$})VT@29v_YUaZG=I<;{al%UkrS!KM|~j+ruz z^m^W_--cxTY%^`oO+h@9cbv<6yXXUla~$N;Xzu~}jJs~6Uqqh5>%=c#-$)$gmxE2q zf;}}?B-o+ka`0Yw6_@eH>DT_;&of((A9~FO`dl0ResXF*s?WqLYFWo?B5VKeyJ4X5 z_6=J919`1s4b2l7zY6wrHM)@?6W$fbYsEW}@$tlYR%=e^VCkm(E#DU(DM!GM>&@vPccfP9B8S($_t&>>u5R4KI4QcZc9Yf!IUp3ihwf-ypO4gQ`-CiH;Ibh!%9w$~Fi`JKB?fIJijeQM& zd6Rq`m0_{}Ucc_}nK^RnUr^o>aRJ_~`I;IxweLzks!WO>_mg*0N4+&xly2-)v45@a zyp`6-+~CLd*501*{^mP~k-YKZVDqg!x1RT_&z$^D`&sW+94F@O()&qz`ieh^y@9&n6+aX-|)x5>&}4( z8YhqpQt?4Lxqa|{ttXqy`}J|>pm8(GQ2z&`^Fy-t za}%@%6FF(%Q0q8n!++_5)(Tn-&t=b2z1x;SI;Fq6$7yEN_A8`X)W>d=g_q_WU&K!xwEkkbJ~g3cJ>GL&-DGsop_rc zYggTq-ye@(h0294U_-lVkMio-`=h01I&paA*kMyT`m%h#Uw_4)hmYx{dbfDuj~#W@ zeA#QR-G-dR)?mC&I+X4E{rV5Io(2E4-j8Hw#~JLpdG@I5!FP@8y%`PrP;c^1%-D&q zL)pJy_bHCfI6Ld`_+`+%T8$O3?l5Du%6nX3$|gUIcAxWs=HKBDu%1lZj@tK2{;BkD zB>Ss-W$Sx**U!uzQ5s|Qf0N z+5Z@m|20%!%Y(RHyv2BM;G4_0dd~P?Nx%sT^NG|g|)LAxb z9s3JCe|r8DqB=GZka!Zz)GmZ5g>QukIG}zV*qLSKp`SENEII{W1M;o^5n$LBsNQaNn2M&uh&< z>vv>dH_q*xqQ2=y{PK-+8h*gsiRYf(quD!X*VvcLJ$jb@c4=I1`grqN{ujGAd*j@$ zN%Sp!yWWSbZf}^jseamrH?WTVrnwE5DUaz6a{gO&FYkXpSbny@{a|ly*YwR!AcJK0FT%10JY_#s3rvA0p zQ~T4PA0vO&^xHPlUt;gLryn|~&D&!4I^F-ka~eaWZRLL5%lFOK;0wHk-}x5%QT&W| zYu$C@Z*SB(?DHF+dH9e{@9qBm_djpu0h#-2c`x|~#&=Mg==;yJ>VCvCwpE{QV|!gU z`8>-W-lN*SU-#?%Q#XkZetV)^4f$f$|5;6L_H3`Ue!Gpz7ts9+rr7&ceyxc(nfs6C z9{E(7UvCK?2H$CB;~v^ek^7Ykvh3kc)=>U9|5Wd0(?_JQjLtlP|M4|{Eh*NS8EE|> z-|IJx8+-9t24hPf+LQ7p%5Mkcr+%K_kMw;BjdQ9U)wLRQWBWJz+fJZts~<$){Bfp` z{@_cXb336wx<`6obYYXOkr%dUe#;-Y_mw*!t3N69_q*KJz;mR(I~)D=$A@2dmUkXB zzkXq&{+c#&Wc+a7w-z+`_`%PK<3~EIzmf2}Yk=Pcjjs&D@1})SRqH1Z|0VXj7;Y@0 PWFwJ&qu=Tt-TVImu>YJA literal 0 HcmV?d00001 diff --git a/WebTorrent.png b/WebTorrent.png new file mode 100644 index 0000000000000000000000000000000000000000..e7b0a2eb0513c7fc94ef7913fc522d374a811bfc GIT binary patch literal 9131 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 Date: Thu, 10 Mar 2016 14:46:19 -0800 Subject: [PATCH 3/4] rename build.js -> package.js --- README.md | 8 ++++---- bin/{build.js => package.js} | 0 package.json | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) rename bin/{build.js => package.js} (100%) diff --git a/README.md b/README.md index 26d31f6e..48c965c1 100644 --- a/README.md +++ b/README.md @@ -28,14 +28,14 @@ $ npm install $ npm start ``` -### Build binaries +### Package app + +Builds app binaries for OS X, Linux, and Windows. ``` -$ npm run build +$ npm run package ``` -Builds the app for OS X, Linux, and Windows, using [electron-packager](https://github.com/maxogden/electron-packager). - ## License diff --git a/bin/build.js b/bin/package.js similarity index 100% rename from bin/build.js rename to bin/package.js diff --git a/package.json b/package.json index 1978864e..800049f0 100644 --- a/package.json +++ b/package.json @@ -45,8 +45,8 @@ "url": "git://github.com/feross/webtorrent-app.git" }, "scripts": { - "build": "node ./bin/build.js", "debug": "DEBUG=* electron .", + "package": "node ./bin/package.js", "start": "electron .", "test": "standard", "update-authors": "./bin/update-authors.sh" From 7282865bc7217ea7e6ca0984ea182979cd03b747 Mon Sep 17 00:00:00 2001 From: Feross Aboukhadijeh Date: Thu, 10 Mar 2016 14:52:49 -0800 Subject: [PATCH 4/4] restructure folders --- README.md | 4 ++-- bin/package.js | 2 +- config.js | 16 ++++++++-------- renderer/index.css | 2 +- renderer/state.js | 6 +++--- .../BigBuckBunny_archive.torrent | Bin {vendor => static}/MaterialIcons-Regular.woff2 | Bin .../TearsOfSteel_archive.torrent | Bin {resources => static}/bigBuckBunny.jpg | Bin {resources => static}/screenshot.png | Bin {resources => static}/sintel.jpg | Bin {resources => static}/sintel.torrent | Bin {resources => static}/sound/add.wav | Bin {resources => static}/sound/delete.wav | Bin {resources => static}/sound/disable.wav | Bin {resources => static}/sound/done.wav | Bin {resources => static}/sound/enable.wav | Bin {resources => static}/sound/error.wav | Bin {resources => static}/sound/play.wav | Bin {resources => static}/sound/startup.wav | Bin {resources => static}/tearsOfSteel.jpg | Bin 21 files changed, 15 insertions(+), 15 deletions(-) rename {resources => static}/BigBuckBunny_archive.torrent (100%) rename {vendor => static}/MaterialIcons-Regular.woff2 (100%) rename {resources => static}/TearsOfSteel_archive.torrent (100%) rename {resources => static}/bigBuckBunny.jpg (100%) rename {resources => static}/screenshot.png (100%) rename {resources => static}/sintel.jpg (100%) rename {resources => static}/sintel.torrent (100%) rename {resources => static}/sound/add.wav (100%) rename {resources => static}/sound/delete.wav (100%) rename {resources => static}/sound/disable.wav (100%) rename {resources => static}/sound/done.wav (100%) rename {resources => static}/sound/enable.wav (100%) rename {resources => static}/sound/error.wav (100%) rename {resources => static}/sound/play.wav (100%) rename {resources => static}/sound/startup.wav (100%) rename {resources => static}/tearsOfSteel.jpg (100%) diff --git a/README.md b/README.md index 48c965c1..2a892ffb 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# WebTorrent.app +#   WebTorrent.app [![Gitter][webtorrent-gitter-image]][webtorrent-gitter-url] [![Travis Build][webtorrent-app-travis-image]][webtorrent-app-travis-url] @@ -11,7 +11,7 @@ #### WebTorrent, the streaming torrent client. For OS X, Windows, and Linux.

- screenshot + screenshot

## How to Contribute diff --git a/bin/package.js b/bin/package.js index 5eed935a..f5a188f2 100755 --- a/bin/package.js +++ b/bin/package.js @@ -28,7 +28,7 @@ var all = { // Pattern which specifies which files to ignore when copying files to create the // package(s). - ignore: /^\/(dist|resources\/screenshot.png)$/, + ignore: /^\/(dist|static\/screenshot.png)$/, // The base directory where the finished package(s) are created. out: path.join(__dirname, '..', 'dist'), diff --git a/config.js b/config.js index 5d3911a4..39ac4c2a 100644 --- a/config.js +++ b/config.js @@ -4,12 +4,12 @@ module.exports = { APP_NAME: 'WebTorrent', APP_ICON: path.join(__dirname, 'WebTorrent.png'), INDEX: 'file://' + path.join(__dirname, 'renderer', 'index.html'), - SOUND_ADD: 'file://' + path.join(__dirname, 'resources', 'sound', 'add.wav'), - SOUND_DELETE: 'file://' + path.join(__dirname, 'resources', 'sound', 'delete.wav'), - SOUND_DISABLE: 'file://' + path.join(__dirname, 'resources', 'sound', 'disable.wav'), - SOUND_DONE: 'file://' + path.join(__dirname, 'resources', 'sound', 'done.wav'), - SOUND_ENABLE: 'file://' + path.join(__dirname, 'resources', 'sound', 'enable.wav'), - SOUND_ERROR: 'file://' + path.join(__dirname, 'resources', 'sound', 'error.wav'), - SOUND_PLAY: 'file://' + path.join(__dirname, 'resources', 'sound', 'play.wav'), - SOUND_STARTUP: 'file://' + path.join(__dirname, 'resources', 'sound', 'startup.wav') + SOUND_ADD: 'file://' + path.join(__dirname, 'static', 'sound', 'add.wav'), + SOUND_DELETE: 'file://' + path.join(__dirname, 'static', 'sound', 'delete.wav'), + SOUND_DISABLE: 'file://' + path.join(__dirname, 'static', 'sound', 'disable.wav'), + SOUND_DONE: 'file://' + path.join(__dirname, 'static', 'sound', 'done.wav'), + SOUND_ENABLE: 'file://' + path.join(__dirname, 'static', 'sound', 'enable.wav'), + SOUND_ERROR: 'file://' + path.join(__dirname, 'static', 'sound', 'error.wav'), + SOUND_PLAY: 'file://' + path.join(__dirname, 'static', 'sound', 'play.wav'), + SOUND_STARTUP: 'file://' + path.join(__dirname, 'static', 'sound', 'startup.wav') } diff --git a/renderer/index.css b/renderer/index.css index c0adf45d..9caaf685 100644 --- a/renderer/index.css +++ b/renderer/index.css @@ -103,7 +103,7 @@ body { font-weight: 400; src: local('Material Icons'), local('MaterialIcons-Regular'), - url(../vendor/MaterialIcons-Regular.woff2) format('woff2'); + url(../static/MaterialIcons-Regular.woff2) format('woff2'); } .icon { diff --git a/renderer/state.js b/renderer/state.js index 3d7906ab..a028e01e 100644 --- a/renderer/state.js +++ b/renderer/state.js @@ -60,19 +60,19 @@ module.exports = { status: 'paused', infoHash: 'f84b51f0d2c3455ab5dabb6643b4340234cd036e', displayName: 'Big Buck Bunny', - posterURL: '../resources/bigBuckBunny.jpg' + posterURL: path.join(__dirname, '..', 'static', 'bigBuckBunny.jpg') }, { status: 'paused', infoHash: '6a9759bffd5c0af65319979fb7832189f4f3c35d', displayName: 'Sintel', - posterURL: '../resources/sintel.jpg' + posterURL: path.join(__dirname, '..', 'static', 'sintel.jpg') }, { status: 'paused', infoHash: '02767050e0be2fd4db9a2ad6c12416ac806ed6ed', displayName: 'Tears of Steel', - posterURL: '../resources/tearsOfSteel.jpg' + posterURL: path.join(__dirname, '..', 'static', 'tearsOfSteel.jpg') } ], downloadPath: path.join(os.homedir(), 'Downloads') diff --git a/resources/BigBuckBunny_archive.torrent b/static/BigBuckBunny_archive.torrent similarity index 100% rename from resources/BigBuckBunny_archive.torrent rename to static/BigBuckBunny_archive.torrent diff --git a/vendor/MaterialIcons-Regular.woff2 b/static/MaterialIcons-Regular.woff2 similarity index 100% rename from vendor/MaterialIcons-Regular.woff2 rename to static/MaterialIcons-Regular.woff2 diff --git a/resources/TearsOfSteel_archive.torrent b/static/TearsOfSteel_archive.torrent similarity index 100% rename from resources/TearsOfSteel_archive.torrent rename to static/TearsOfSteel_archive.torrent diff --git a/resources/bigBuckBunny.jpg b/static/bigBuckBunny.jpg similarity index 100% rename from resources/bigBuckBunny.jpg rename to static/bigBuckBunny.jpg diff --git a/resources/screenshot.png b/static/screenshot.png similarity index 100% rename from resources/screenshot.png rename to static/screenshot.png diff --git a/resources/sintel.jpg b/static/sintel.jpg similarity index 100% rename from resources/sintel.jpg rename to static/sintel.jpg diff --git a/resources/sintel.torrent b/static/sintel.torrent similarity index 100% rename from resources/sintel.torrent rename to static/sintel.torrent diff --git a/resources/sound/add.wav b/static/sound/add.wav similarity index 100% rename from resources/sound/add.wav rename to static/sound/add.wav diff --git a/resources/sound/delete.wav b/static/sound/delete.wav similarity index 100% rename from resources/sound/delete.wav rename to static/sound/delete.wav diff --git a/resources/sound/disable.wav b/static/sound/disable.wav similarity index 100% rename from resources/sound/disable.wav rename to static/sound/disable.wav diff --git a/resources/sound/done.wav b/static/sound/done.wav similarity index 100% rename from resources/sound/done.wav rename to static/sound/done.wav diff --git a/resources/sound/enable.wav b/static/sound/enable.wav similarity index 100% rename from resources/sound/enable.wav rename to static/sound/enable.wav diff --git a/resources/sound/error.wav b/static/sound/error.wav similarity index 100% rename from resources/sound/error.wav rename to static/sound/error.wav diff --git a/resources/sound/play.wav b/static/sound/play.wav similarity index 100% rename from resources/sound/play.wav rename to static/sound/play.wav diff --git a/resources/sound/startup.wav b/static/sound/startup.wav similarity index 100% rename from resources/sound/startup.wav rename to static/sound/startup.wav diff --git a/resources/tearsOfSteel.jpg b/static/tearsOfSteel.jpg similarity index 100% rename from resources/tearsOfSteel.jpg rename to static/tearsOfSteel.jpg