From 37c79c0500c3e473371f91bf5c17e21b2e55de88 Mon Sep 17 00:00:00 2001 From: Saman Bemel-Benrud Date: Fri, 14 Dec 2012 16:30:31 -0500 Subject: [PATCH] basic cursor stuff. --- css/app.css | 51 +- css/map.css | 10 +- img/cursor-draw-marker.png | Bin 0 -> 615 bytes img/cursor-pointing.png | Bin 0 -> 523 bytes img/cursor-select-acting.png | Bin 0 -> 266 bytes img/cursor-select-area.png | Bin 0 -> 350 bytes img/cursor-select-marker.png | Bin 0 -> 437 bytes img/cursor-select-node.png | Bin 403 -> 369 bytes img/cursor-select-place.png | Bin 0 -> 437 bytes img/source/cursors.svg | 1020 ++++++++++++++++++++-------------- img/source/sprite.svg | 118 ++-- img/sprite.png | Bin 12114 -> 12757 bytes js/id/modes/add_area.js | 3 + js/id/modes/add_line.js | 3 + js/id/modes/add_place.js | 3 + js/id/modes/browse.js | 3 + 16 files changed, 723 insertions(+), 488 deletions(-) create mode 100644 img/cursor-draw-marker.png create mode 100644 img/cursor-pointing.png create mode 100644 img/cursor-select-acting.png create mode 100644 img/cursor-select-area.png create mode 100644 img/cursor-select-marker.png create mode 100644 img/cursor-select-place.png diff --git a/css/app.css b/css/app.css index db2eed63c..c19af4367 100644 --- a/css/app.css +++ b/css/app.css @@ -113,6 +113,22 @@ a.selected { color:#222; } +/* Mode-specific styles +------------------------------------------------------- */ + +#map:hover, +#map.browse:hover { + cursor:url(../img/cursor-grab.png) 9 9, auto; +} + +#map.add-line:hover, +#map.add-area:hover { + cursor:url(../img/cursor-draw.png) 9 9, auto; +} + +#map.add-place:hover { + cursor:url(../img/cursor-draw-marker.png) 18 18, auto; +} /* Utility Classes ------------------------------------------------------- */ @@ -136,9 +152,8 @@ form.hide { button { line-height:20px; - cursor:pointer; border:1px solid #aaa; - box-shadow: inset 0 0 0 1px #fff; + box-shadow: inset 0 0 0px 1px #fff; color:#222; background: white; font-weight:bold; @@ -150,11 +165,17 @@ button { button:hover { background-color: #ececec; + cursor:url(../img/cursor-pointer.png), auto; +} + +button:active { + cursor:url(../img/cursor-pointing.png), auto; + box-shadow: inset 0 0 0px 1px #fff, inset 0 0 6px 1px rgba(0,0,0,.35); } button.active:not([disabled]) { - background-color:#aaaaaa; - color:#fff; + background-color: #ececec; + box-shadow: inset 0 0 0px 1px #fff, inset 0 0 6px 1px rgba(0,0,0,.25); } button.wide, @@ -218,25 +239,26 @@ button[disabled]:hover { background: white; } button.action { - background: #7092ff; + background-color: #7092ff; } button.action:hover { - background: #6282ee; + background-color: #6282ee; } button.delete { - background: #ff7070; + background-color: #ff7070; } button.delete:hover { - background: #ef5454; + background-color: #ef5454; } button.save { - background:#6bc641; + background-color: #6bc641; } button.save:hover { - background: #59ac33; + color: #59ac33; + background-color: #6bc641; } button.close { @@ -247,11 +269,6 @@ button.close { button .label { margin-right: 3px; - text-shadow: 0 1px 0 white; -} - -.active .label { - text-shadow: 0 -1px 0 rgba(0,0,0,.25); } button.action .label { @@ -294,7 +311,7 @@ button.action .label { .icon.geocode { background-position: -280px 0px;} .icon.layers { background-position: -300px 0px;} -.active .icon.browse { background-position: 0px -20px;} +/*.active .icon.browse { background-position: 0px -20px;} .active .icon.add-place { background-position: -20px -20px;} .active .icon.add-line { background-position: -40px -20px;} .active .icon.add-area { background-position: -60px -20px;} @@ -309,7 +326,7 @@ button.action .label { .active .icon.zoom-in { background-position: -240px -20px;} .active .icon.zoom-out { background-position: -260px -20px;} .active .icon.geocode { background-position: -280px -20px;} -.active .icon.layers { background-position: -300px -20px;} +.active .icon.layers { background-position: -300px -20px;}*/ button[disabled] .icon.browse { background-position: 0px -40px;} button[disabled] .icon.add-place { background-position: -20px -40px;} diff --git a/css/map.css b/css/map.css index 61da24c14..4a6550ad0 100644 --- a/css/map.css +++ b/css/map.css @@ -4,7 +4,11 @@ image.tile { /* base styles */ path, image.marker { fill: none; - cursor: pointer; + cursor: url(../img/cursor-select-way.png), pointer; +} + +g.marker { + cursor: url(../img/cursor-select-marker.png), pointer; } g.marker circle { @@ -20,7 +24,7 @@ g.marker.active circle { /* interactive elements */ circle.handle { - cursor: move; + cursor: url(../img/cursor-select-node.png), pointer; fill:white; stroke:#333; fill-opacity:1; @@ -36,6 +40,7 @@ circle.handle.active { } circle.accuracy-handle { + cursor: url(../img/cursor-select-split.png), pointer; fill:#aaa; stroke:#333; fill-opacity:1; @@ -90,6 +95,7 @@ path.area { stroke:red; fill:#fff; fill-opacity:0.3; + cursor: url(../img/cursor-select-area.png), pointer; } path.area.active { diff --git a/img/cursor-draw-marker.png b/img/cursor-draw-marker.png new file mode 100644 index 0000000000000000000000000000000000000000..fc1448d0c6e72c077ec25ea137e8dba594a4116a GIT binary patch literal 615 zcmV-t0+{`YP)qs=jEqUTogved33zKJ^r@>&fn$4B}J(7i5xVbqD-%7pkfv&vT416h%Q01cYHo z6h(MmkiAQI=&R+4p_oI3^53cli~#q2sXj^@&>-psK1? z0D!VA$+C>9s@&x(>(i<}h=u!+=XooD3zFw~r%wYyM3y456%lpg*k)r)4|8kY0`?DH zEw&=EoB{V~nqD-n&0cfYsVIsMK^)1OL-Qu4X?g+N&wz&{Np>QF8&(_FDF}iOK^)23 z0Mu(FNwNbTW~%zAs+X!NZrIIh*Qs{uTXiIF4N$LP>pu1!%y$q`6yf`R=LX;RiK3{} zr>;JTXZH6T0MGM?(%MT0uS-c%z>J|O3^Td$xZt}_MEN0A6)3$wM z+_&cQA*Rwd#6e>rcB|D2U^mL;#6D4R5)cfBL$%f_5Mqp+39q2x7%s6+011! zpU)LoW_xtMUat`m+U@r9bCQYicnmO3y&7=py6$>5o8>O6*Xt?pGexATlhtbVz1!{P zqB%+wQI#CW`4a>|E}~kkrodUM*$K1rdcFRt$zU*0U~}U&Kt=7IE{-7< zy>Blq6g+Go;Bs-V!gYlg*~ep72!xlMh*-LVEpT(bfTfDcB?*>_bTOIA%@24k$X0qz znt5^8%$qhUTU{AkSTvV9U((8C`jV}m(aph-wf4!JiCes*suo%UT**Z literal 0 HcmV?d00001 diff --git a/img/cursor-select-area.png b/img/cursor-select-area.png new file mode 100644 index 0000000000000000000000000000000000000000..4baa9e5ccf679ac3104d258f9d918b2f77627013 GIT binary patch literal 350 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|mSQK*5Dp-y;YjHK@;M7UB8!3Q zuY)k7lg8`{prB-lYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&Kt;DbT^vI! zde2Ta>|-+IalP*zUC=h=i4_Om#O8uUAsI_diiM68v}`G<@17f}dw7$uz|p#st;)Y| zZp^v)Og4(q<5Pya=j`bo$?n_U&e`nD5&nQ-P449^;TJQCx8+`snj2(Pz_#stlbK>m z_S&nHf9)&px#-{Mc0+M#O1c5^&0|t@xsQ`wRi7o&D literal 0 HcmV?d00001 diff --git a/img/cursor-select-marker.png b/img/cursor-select-marker.png new file mode 100644 index 0000000000000000000000000000000000000000..79567175a55a28c92a6cbd246bb84607671fda43 GIT binary patch literal 437 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|mSQK*5Dp-y;YjHK@;M7UB8!3Q zuY)k7lg8`{prB-lYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&3=E7$o-U3d z7QJgH8?I||5NO-4s((>9BEZZ2uiWVKy7cPx5xLqK$_?y`lu|xTa0u^?mXMa!D zEKC2C`tPo!a_9dE>|94#}QStP;9J23ye1opR)FU@C9L;=#J%b{rbv=$a zz!*`>HS71jdd<^8Yr7T&2(bL(xN=}yp^W!;XYuN|coyG6)F` zjg_nTSYbP1Ygoga;mdKI;Vst01|ntg#Z8m literal 0 HcmV?d00001 diff --git a/img/cursor-select-node.png b/img/cursor-select-node.png index b2e202eb3cf0ef78cefd297e72bd0318b0124d08..3d98722fe67816c1a585ab1fe192ec9095c24485 100644 GIT binary patch delta 269 zcmV+o0rLKn1MvcoZGQmnNklRi&yj=ls^u|JvF(48ts-)r^15Xb<3w`7d$?u>S>?->E}H TuEsk60000Z7sLP%~r z2_lT(7TLw4Ac;s363{Q6^oo;DpM1V&A&LLc9{`95d!IyP`xU9b5lOObTUJ$d2XF+i zA&IpfK&Q5CNs=igI_C)B3SjpsXj@g)J*C7!F-96=_z|dw9e>qLf4Vb{X=vM#$002ovPDHLkV1hPu BiCh2x diff --git a/img/cursor-select-place.png b/img/cursor-select-place.png new file mode 100644 index 0000000000000000000000000000000000000000..79567175a55a28c92a6cbd246bb84607671fda43 GIT binary patch literal 437 zcmeAS@N?(olHy`uVBq!ia0vp^LLkh+1|-AI^@Rf|mSQK*5Dp-y;YjHK@;M7UB8!3Q zuY)k7lg8`{prB-lYeY$Kep*R+Vo@qXd3m{BW?pu2a$-TMUVc&f>~}U&3=E7$o-U3d z7QJgH8?I||5NO-4s((>9BEZZ2uiWVKy7cPx5xLqK$_?y`lu|xTa0u^?mXMa!D zEKC2C`tPo!a_9dE>|94#}QStP;9J23ye1opR)FU@C9L;=#J%b{rbv=$a zz!*`>HS71jdd<^8Yr7T&2(bL(xN=}yp^W!;XYuN|coyG6)F` zjg_nTSYbP1Ygoga;mdKI;Vst01|ntg#Z8m literal 0 HcmV?d00001 diff --git a/img/source/cursors.svg b/img/source/cursors.svg index b4884034e..ebfc81c75 100644 --- a/img/source/cursors.svg +++ b/img/source/cursors.svg @@ -25,20 +25,21 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="11.313708" - inkscape:cx="-82.346584" - inkscape:cy="994.56292" + inkscape:zoom="8" + inkscape:cx="-75.07298" + inkscape:cy="930.80226" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" inkscape:window-width="1337" inkscape:window-height="840" - inkscape:window-x="233" - inkscape:window-y="34" + inkscape:window-x="337" + inkscape:window-y="105" inkscape:window-maximized="0" inkscape:snap-bbox="true" - showguides="true" - inkscape:guide-bbox="true"> + showguides="false" + inkscape:guide-bbox="true" + inkscape:snap-nodes="true"> @@ -59,15 +60,59 @@ inkscape:label="Layer 1" inkscape:groupmode="layer" id="layer1"> - + + + + + + + + + + + + id="g58315" + inkscape:export-filename="/Users/saman/work_repos/iD/img/cursor-grab.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + id="g58324" + inkscape:export-filename="/Users/saman/work_repos/iD/img/cursor-grabbing.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + id="g58300" + inkscape:export-filename="/Users/saman/work_repos/iD/img/cursor-pointer.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - + id="g58289" + inkscape:export-filename="/Users/saman/work_repos/iD/img/cursor-select-node.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> - + d="m -80,54.862183 a 2.5,2.5 0 1 1 -5,0 2.5,2.5 0 1 1 5,0 z" + transform="matrix(0.7999998,0,0,0.7999998,-16.000016,11.472446)" /> - - + id="g58331" + inkscape:export-filename="/Users/saman/work_repos/iD/img/cursor-draw-connect.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + id="g58368" + inkscape:export-filename="/Users/saman/work_repos/iD/img/cursor-draw.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + id="g58348" + inkscape:export-filename="/Users/saman/work_repos/iD/img/cursor-draw-close.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + id="g58278" + inkscape:export-filename="/Users/saman/work_repos/iD/img/cursor-select-split.png" + inkscape:export-xdpi="90" + inkscape:export-ydpi="90"> + style="color:#000000;fill:none;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;filter:url(#filter8013-4);enable-background:accumulate" /> @@ -1075,7 +844,7 @@ @@ -1128,5 +897,416 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/img/source/sprite.svg b/img/source/sprite.svg index aee5014f2..33df88a75 100644 --- a/img/source/sprite.svg +++ b/img/source/sprite.svg @@ -27,12 +27,12 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="11.313708" - inkscape:cx="291.89171" - inkscape:cy="165.02789" + inkscape:zoom="5.6568542" + inkscape:cx="83.810568" + inkscape:cy="168.67908" inkscape:document-units="px" inkscape:current-layer="layer1" - showgrid="false" + showgrid="true" inkscape:window-width="1560" inkscape:window-height="922" inkscape:window-x="227" @@ -42,7 +42,7 @@ fit-margin-left="0" fit-margin-right="0" fit-margin-bottom="0" - showguides="false" + showguides="true" inkscape:guide-bbox="true" inkscape:snap-bbox="true" inkscape:snap-nodes="false"> @@ -150,7 +150,7 @@ image/svg+xml - + @@ -159,7 +159,7 @@ inkscape:groupmode="layer" id="layer1" transform="translate(-25,-62.362183)" - style="display:inline"> + style="display:none"> + + + + + - - - - - - + + + + + + + + + diff --git a/img/sprite.png b/img/sprite.png index 105533bc67d591c16efc429591901bccf77ac0e6..19d4ef5e920fe37bb10a46624b5481775786c6ed 100644 GIT binary patch literal 12757 zcmeIZbyQSe_&0h+P`ac+It2s-rC|^T5kU}@ZjhEv=`YeCNJvU6of1P0ARz*dba$6X z4PEc%_pZC{UF)v<|NY}-G2@vthnao$e)jWx;xYWCsv;3S9X

L`u&PuOJ8}3yy!` z-T}`k*kZ-tA8Z#nr8l_X#|QUq7CcSu=z-V=DMZ*h9TkccOp0eoz3OSMa9JoMwVA* zKcgzg-_;T!Tm=GpIRg+F;WYH9$M58aBne4L-d=;Xq&YOQ_@)$hSP))1Iup0%u3oVg z?I^XFersx)HbGAL(>%x++VCN2jp1)mG!jVlUa)N;X?yr?yuuYZb;%yE2jRo+VO4PP z^V?5YX8MkGxk3h!oD!p!_dGSzrQUxR(WfIT+WVB5*`g80ZmXd&@)oL? zc!v#*jEv++nrgp%>BvBark0Dk4Y8gfaMg7+G!DnK?G)N9ss=)c=pl$iY8L{xq!3g` zj3DjR?sV-4BU9Sm-fnqKv0?#{9sJ|pd>_lc@!{m;q%hO(Y~x!-MOs3_@G;Z%Nmtn{ z%A3SRBE5WK`-o{ni7V*YWVQ9s7w;X^F)ie|^ih;*#{c?K;BKsa3ue0F;p}i_b+o`# z{a|k#hoF&4yASU4ZDZVkz9*iI9$3$*1w!r>OCQp~_;+dwsMF9QhH+m#C=|N!iR0Nf zzT|LwXliNggm+pP8qNyFcVlP*&SBbtfzpu3d(`Zjt&NQgfhzqgs4JRb>XnhvoO0aP z;ut2lAA&bv@>2Ut^~Adv0v10d1Z*i<4mUU~qoAzJkTDYFNXRH9_F6r`<#@(pP9TWX zbSUpdZw{_;fOd#nc`_9R#alcUckT!wi8pnmrbyB@r;C$4p-YZUhCg5=oj5roPwEo+Dm?z53JjFKZjo z4->h0fx^SO`+-p&G@SCUecc7215% zL8S7SYHR|0{4$)1fG~S`jBP>?sXtVaQ&hBRc4+)d>62|aN)r|U!@Bc3{H+tXskuLW zedSdX@8Hpk>uz#kmVuolP}sA(a#F8BBpD>!LYRY#QsUUR?*xn)`Co3lNE3OGCh1{6 z?AqwQ?d3dHW}xQ&Sf4{i#?M7;4+~;#P*+cg@e!@GejTPlhe~LBZu`rJ4AFrosrbJMlF6P<=1Bd@8+5r5bQ!iLK(M7kM6{T@c4b_BjM%a>)0x9iI(v_ zgBV)=nxsg2@N1SEq6ncpwajSmfAw6<7iiJBj=UFXiG@yVdp~fP=CeZ?+wwF0=+HBr zA8<(chlcLnlk#-LbDdUUdm7cMEP$eTpo<719hDCyeh?KCqlN>q+K8s1;UD9k>U(e3 zn2na`RDsEtVH1-A&t~Y<$HnmLi-YqZ(o95J#rx%0#Y9NE$?MSOu-`Ndy*j7mvHB;y z_~%D_GT*OksaK-|50KDK%k^iq7@5g#__TARy$eq_YB&BTm9gnVx-$CzGOC@Jl3JNkm3JhX+kfpiAQdOBg{ zW${NxM|hm^c*nEeJ6F$AdcR9)&iL>C!0DTIY$t+aJDLvUD12k`J6W)^M@llQmS9KD zfw(`?$&~T6$99y_om6Ce|F(N`q?j73^<-~pY{sdJVXJz6kf{s4$10`GkrSQ$w2C&cLS$=eOBga9{Hk;y7knP= z@4C0x=_*YN^7o!C*t;(^G~A}n4!1hN5-jXt|GBNpM>P#5BU#*qlahks0@jLe=P8?X zQzM)pL6f#15b3g zzKTJ+UMMbhr3eXrJuR){_%C0+I4DLY#m66PH#9V4A|lt?_kOX(@ZpUt{>wWF7tE|& zY+deFmaE-wz6)0@d3tW{?$dnaH}7=lZLw3pX}ayc6+UMsa&T|}gTS^UrY&O>;Ncm3 z>||awLAAEFMxqT8e4u%6qTM*k8)*qP*|X=*he;alrw%KAJUgl`J?cO8z-A+=&{vW`%QV9`GMox zb?@PLy}p>^stVV&PuD$zhgKiu$)W1%g}wK-g69LDf2APrROwCbia~@Zd`s4EW8$22 zuP-vH#eGh8C0ggsH-fyH3JSPQ%jLfn6#U{3qSJ>>uazqV z3~bC5HoQ6;@?IP&og96Dj|g63t9rWb3yjjvD{8gF$gn16^{t!EbX!ogO-i|eq~|gFe(mqUS|3hH7_Q+0NJ*jzsI$#ta<}E0gI}?1qU8pS zR8vTY(6O!C0R)iYLGU%HEK_`Uke&mIvdXgW=k7u~9NJ|V2{3}B8T-^M`!Y}#$N&Do zZ5Dp@^>zJ8mn4AsFml+;88o^xq&>FPe7z1QoQ_U78=%ta7QEWzr4E}oZ z38@?*PS%!|81@WRt78=^_2Cod+J zJP>E}Pa_r1Y3z#w{tvKE%^o|meQW5nv9*iS0;J9GfgXSpGacdNU1ea@(}l0|^HBRe zym`o3uSk9VBnT=Vd49debj{*-vBczkez=7+Kl(dyE_1e?t5&@gU9$y!b6NX?g4<12 zr(N&G_^PZmNM`tSSk+yJ#fak4qklsFdM;O;}h;Z z7f3dF!X(tNT`ue{>n4U)cvC2O9xtXlUef1PyQ}z!(nWLq#CCb8wC@>)_G&p^tth6A z5<0Id4HzXE{y=m8+-mj%SA4$ZS)zpwc)9x+QZW{ptq1Kh^2UgvW zNwZ8}$>0|}6$LfKWr}=sZ(Pgpw%VCREz|FWb*gm%-m;P5{SVI?nRYnePjP%cQ`)CW zIo^4&!27zu%Ne_KBSI~E{dsyYMnFzG-)`0>=Y4T_?aoMM9{u4&Zmq!3DsHnsYX>SL ztd;@pr>|4z$U;d)#q;C%sfkJUcgF=e3BQXvImDEY^@T_qt)F9GhP3Nix<}lMeSTY8 z8I zKsCRbCG+-?lW@Q{=uYlZDYH{*#fNq6!b_#!M8<$3uZv~Lye{>B#!M~SI%N!%+#;Qt zGNuVJiGo_lQcY;u+iv|5j50BSHAUgFyc;kxs6V1zHDWLjU?!D|f*{t2vy6P+|FW+C zE66TCZD9-|Wd(e7e4#y*8mmsyCXnCxWOu=GacL>3ZsuR#IzHX+m22#J=iSfOJP=n| z!ag1g-}>%-N?8G@6rvkgFiX0ge1c0xlEoy!DIXBs9rK!E!@MawF9a3^z5MD22gx)8 z?1JrqppWZ4nA-AIHppiR`4RdwIW)Asva(WsmUq>SWa`eBa&1a0!Im{FSzuXA1IX>~ zu`K6jAHA7%gYAL_wU~|%+1YvxB{yjvGEadLWM^Ss;>|x!VGPE%*i&#Eyy4#Z^VLkX&FXo>3{t*ECG2P#% zy#SsvQ;fd%-WzNqq`Lx1KTA$981m(DPfw4iG^1K%*OGN%Nr{ik=5XP4bo4dD2BnZ) z!3WDfUnYD3vQ&fE&!P*l!%U)7iTNHpNWZzPrB1(0BB@uyPu8Atk zV`^&ZIf%K8Yg6#y!%7E$u*js%iT58`1MW*esj$Zru{Z;0yd0!dxm-Gm+|geS{>7$7 zuNaEf?$`SRrnX7+tN%iq>o_GXE$tD?`?$>Z-8(7HUT0e~v!%+L*S)`fRd}dloAJ-B zOhVcqpB}vQ_V)HI=y7mxC^xFIK+89KYsaA8Kx{XOroE`B=(x$SoNGL9Z0qoih6YO1 zh>c_LqrdKrYGh=kMlDy8Pd?LB#6%zdH-_~qe03e{;4z+v9Bjz~?uhT8xYS4w z+{HGo->#i%Rz_g9jIO<|0FI@$x*+!c4?EnP3lp({*%(shH*E6c`;rbopnS1bdB#|< zrp7G5{cAuiVZgUMU+j$R0^G}R5X;SKveK+8j`_fAuv5UG!8L@hx73DJCs8kn-#`LO z)`w8$1dr-T=}G5&8k>Il?S=lW+*%FFzeXOq`dB!`zezlzw>CG4iSCIB!Zp(#j*ghm z{A;-%&`A&;}6r=aIZ{Oem2wojF?HLiND}3*3lf0RW|IAjg@(M7KZGKMu5|u%Y|po2`i`@-W)f)t}i+P z(XN4$660<%^gnaZ@tyq1f{7i_N#Ma%*_|F{TQ+#N)=QD}YrQRc)Eh5EXIyJ~SBhTS zc}Zm)yPjC3J~aDT%Ad65Q=tZ)FK(!J@D+ap8^T~En5@NWP4lpveUi#d`cz%vC9fZy zY0-H^M8q{GYn*v~VweTFIx!jg$d}8=vt+Hh_X>m2G%&cNXJtiBF?`3_kW_8e`eN4A|i}ztTuLb>ABMX&Q+UtpRLJl`<){L zZrusq*a#2$PHRqJTLnI@pzm{>pwn}o6{(`CKV|vRYu;`((EZ7(R)~GhFC+E2aIzY> z_$E$kO{KCh^qM~A@t9Xu+y z+t8aFMm;42CSTC{LNvO(n0&r{a6-dHl+8P>qfIit+WU?tnC8H>OAFO0c&pMy2WGUNR!-L})5 z$G#WpLF`~C=|b50M&9w)7n#=-WyedBs^9rU6%Tr;{V4(->LKk>hUy7P;lKR1ZLG8? zR#r;&kcK42gaPU>kw-tvdj9;$z&3_9>a4Dg{jZOGS#w55M_UwJs!=Ed4Zq2HmwYT) zCJ6Pfel25<4mMnTrkm+4cX469%>u(F(+OKY6tw1k>K(fnFTiB*;U{8&ix$FM0W#A& z9Q9VGjD@wBIIUO-UVM0_gg61GB~ck&9wo|aT2)LJN+yH82H>Xp$H(h3!>o?~&Gf>S zvzAWJzW`z;z{ToZuOI4`C`@Hqf7M`KRa0{)sD3gVGdX2#ZGBor+|u9Qzl;3&^JgDm z=QHNr-Q8o-mzbf>?|kLVIZs(_63pLs4ynNn0K@c|Y20aUECH*25E2psq4syaNVwV5 zgPitvqH68>%%0HTk*Fw~5j_C5KG(Wd|AC1u4Uta-e zF9qQ*UApIxKN{k%sGg8n^bkYba88rcKG1Afj^zIWGtxGa4%TdRjOTpOkjvGf#(Oj| zF@d}tY2@yHWM|{4#sAmweIcjYJ0pdE7FQIDf&2mj{xw?VhMgZje$?1}C{51fb@4Gf zDt+_*;N$VzWW#57H-$Oj?ctfvOIT^p88I`6x6z$_S^J%De)d*>^G3}IBVfF&&jYo@ z-e_tz7rOWe)s&RHVhs4jHUm$|a1>?rH zW*Ar4vHNFd4H@JYxL&XSc-~2!*Q>hwaR8lY6o5M18oOqB@W3w7T@NS}Ov8>S+r>vq z?_g;n<&MH8Khh+G^H!O9?5TqWvPXca*l9AX+I+t*(qdybA@J!HksfLig(p9V_VW>Xz|Y=r&62p zUA$)bEk&72-wdBvqVd^QYMhxE47cJS`%FHdu$kQ99Tlc&l|I4}h(Ne* z41OaA1lDK(NO|;Yzf)X3PHkVMfXBoaahI}s>|Er;M#fo(K$I=kIMtB288G$cGmyJt2Xlf8Mrj^A}EXlEm3 zzK{Q;@Qkz@j#?Abec#yFsjD@Ip>p)gz4&#T?}Jmlz8jPO#h&t*z6<)etbR3h$M<5d zOTc=x`sdMepNK%dUd1q@@bWEo8}3}*ozEw_MlE~S*et%ca=294Gvx+moIQ}u4KBou zdYM|2d1ocZ(}cOvW3!?9cjUTa<-VS65zLFBs?gOD$_B}AF8K>{<@ztB+cY9W&y2>B}khPLR7y6E>m>5uz&uL zHLL>GigItf{En9}w80KJK%PKA@;L2#>qVD8bSemqZy!CLs}`8FWw|@o;kNIVm3aM} zXO1h=C(d3dB?HmrpFwd;?2a*r8UqpczvE|RlhU5M#$fDn2ohKT=^_V9N6|p8;#i0> z`76jb(6VM~JKlE=4~(jDJ(}j59tfVH<{x1?LQ2RKn-aDe>{~Yglyzt)x&UmST8Jy|*=5eby{ID^C#5gwDOF85jm2I{9uAKx(Cq~2WyC7E^%>M@CVOSRiC=J2&-nwd|X|%z-8h8^<4^~rd$DFj+as# z73qLom<$C%E({J3wJ8`hQ!$QwG>nsrix)B$Nn1mF_XO6DgJk-jhW-70CdCM(|Mk@t zBt^~%$7>aC7Mod||M4LOQB4m4Md}y>W+vGMVfw}2VM8xU#5n!gur3%jvg zKgxy0^z`;JsHYFkHx|l7F#AD*lS%%_f|3%IM=2`2BRfD+Zy3~g^9CcFqO!BZ3(TbA z?zdhoIXO9*vllgM%D9!cj}|iIFNODA0&GGA}MJLi2ZwPT&uKc$!pn0<`M49?s7D2#8f&{C&=jWLQB=r|Ic8 zMsK+=X@sjJ=Hmwf)&>JyGT;K8cC7>Tf)eQaW4sYUM6%jskJ8XBj*T-LIyyT4+X3?N zxu{}{QG^0UY&wChMoLW`IytHP=+Pr6AS@=vpNir7em}>XJ+>SZ@JXPQ;{LV}h7e5^ zF3!%5XP6E1O+R~kds$CAJ3CoVcA)-;7ZveT*VaCbT5ELb0bX8jZ?7_DS_S2GDEH*a zlWHq`C zdOYIU?D9>q`krdOu+8PfwtFbC-c{4#2{o@p)hQQa3=XK%L@6mLaGc%q-@kuPg|ANt zv|I?G--%pfGoT9mpZ~Tvc!Qk!2*MxVwdv=JZ-lZ+nwq28U>(#gs@|*O+f+di+0&a| z0G@!*oQWHs3-C^-y+sA^<^N{r!RP-c6C43dk!s4;!|!~S66t@&MwS4BPYXVI{*F>1 zg*iwTeB#wJTHc79=u;M6-Yu2q&wEHN9A z>pBnGOq?jkBp58;8Jo? z0Up_DI>6y4bI;`HFvM1zOKC7DFffn=#APlc`DPyK{#zZ!Z(ZVcQbu0c6aD#WOrV#- zhgoS58&dDOzS+&H`SES8?bo4Uzadg4rWg=BD^PRT+dhk`QudtgfqjmgZZLD^)t)l< zZk9@}CZ~bTZ!<=H*OI!9?}~$y^A-f;%8H(m9nIpJ*K`jm-5U=(c9hbJu5BX4X%0P2 zO>@e^c|lzq-*6=^C@jRBXdU|?zfguV2WxMBY zJ%BG9u$)x!V(R?k*dN259eAN)l9G}{@mc)T5J=$0cELb=uBd#)OqSI%VqAy32QB2} zeh2PT<(a$g`kP3n|B(7Fiyb{nGraxmzU?qF`hr%lddk$ukl-bIvmME>00Q7Eq=eM znz;DxCG+a_>)6D^qs;&DoDS`Hel)vUuMUhIZa(7l0je22$ZQOAnAF;gqdrRkqMJsE zRDeGq0X&xZL$BC`gdjk%uEXE5iHdqCfgIUNQgVcI9}y{PBPyMM<_@X>h~S_xFE4L` zF~)NEKP;S{VM?-8O5$87tET4h-v;Riz!H}R?APl6?4N=D{!eRro*88Y1$E3pp0rTd zdMI>;%kl~MNPqvn!)%Uh1&oHY5ZoXJc%iVLR~kyQm=csE6E66hyLazuf?V}Dn4qt> z*Y^3dXWHMm)M^NTBvGG1+A^=xq}|RY3o#N{@`{V=B$3%Qk)FasX!Hbs7>KfTECOuv z_Z3Cw9c&e!j%vShF1*K6^w#btTY34H1hq-v` z_sHsCM9XL!-P04uu4IkCaFa>%D816v)TAnFKC{`$dh$VJY;;tn0sKY3fiZOLGNPgN zLfi|pj(cchqSlq_zx0Ztu_1b?a{R@bCvjRPki4=9n8Xf!(ajgdUs>Sx_*$q@U8qs1ZN zJtuKI4*t~2A=Rq(IfU}da{u+Vn#HPPmVifARB~9{w@DA=)_J4OmY0|Bw}+DWuK^uT z2XJROZ*NHu?6Gliw_>_J0H5quzlR@((pg<)C7EjeLBWWPuPLw;wEzgYC}?h$fkA^q zLk4l|s58({mF`%t55FY{UdkS{XHm+6GBKT=ndyIW&=g!K)!d*RI$zyvV?cx2g3Hr+VXM`@J{l85P1OPW|@db#JR^7 zL;XtFuuF2LquTDZMIDcuF#HwFKLk$stF&Y-udQV&DJ#=s`wcQ2vzqQhlSl*#Ao4_mNvkC@L>;*clVz; zE{VwF$ED?^r3zr_!2WJMOEpA!WrMggV&~$b&a$nty5g6o9+Y^r;k6hTZc)yAYCUA7 zZi(A#x~ulBBS~b~bnoBr2P~sgFZu@YqcJS_%OZGe&sQ$hXPI()M3Eo7uJy|jGqD~H zk5I~$z@6J6sntEte{hd~Usf(oqlrx{EI5JEFGUq;P9CrZbM>MU8)S;w&1Bsh{fvHM zv`}~J0`KTPg;qpnlbeiXR{VvmP ztKP&1!H@;S4HF#nI1vmGg6Q*Kq*297r=c~iMA9tTIXM%7H5CgP*XWWUtE&^bzc*Dj zG)QoIgMC8s1OdYV-@vI9_sA&jD;Ey&J*yWlUOeXD;=+OeOC1;=UzdKr|5aH%!8{@- zK{Z84Aw1y+fY$8L0bs4K-@ku9T3!995M)#+Ad*@jCp-HID8EkNJ1Ar~0Mcfi1YL@+ z0NuI(EmQfx%oX1Py8gGQC_+fqz*OtPOLKEdYD!8DkXVDNL6Hmr zE?zBYJYawXS-#*-z7qkpaib6P019Nl{r%(`yP`xy=Z{>2x^x19#F%GUa{)%O1MMp~ z{00q={!{p5lKc`o3idqi5gc&M;qgkd_!3QCb|pD|{d?d5`~r5$taKL~{ETKuOZf6d z>UrGPQ?kE(eLX!qpjlBLz`a}SN`alGPkel&fUjy&sSU0NKZ5qtbwPlTnL;Mpon2jh zpta3wFEALcR_E9q1;0Lo{6uzGR4$QQf`@Zu?R~4#K{qG)^@YrSv}JOs0L~-^`T^to z!P3$A6F5%Q+67xwO}xK69OKe0)l5cPB%`xKam{sr4+cu-$;ncT-dmkooESX&iSOU~ z--$4BgPHjJ=@V2nLCAs)7I?wE5e7LqIRVw-4%w4L^Xi(KY%o5J#FfSQhfhEVC8wmk zHwMNy>Shq_XGs-)+vQo@|9zBHiW77>>f3Go9oo;O^b-h3dVQI2qu*wMgzeZ%4lsNc z3qa@li)t@!dP%{^{FMPn`%jalBZ_puVtHjnXCyI`^cHBt1Ot6ZaXTWXb;UWmtc+L= z*I!vsK%g%ox;t)O%2Mih+GW%|hE{d$zfX%eP(+UL<)qP%4XFTdu21^-%g8&C(ES(_ znh#6VvQ-oMajB^```d~y3VteqFit_Q#*wN&9~>NHzv)r6vbTS_8$E|jcgey$#f_J(E0u0MNzDi8- zDh(vz6gdIzmdziJXZk;9;##KY@sU&8$Tj7m?u_0Qx|G;h7!pU!>#ITDJ~?ZbB;;rWzYWY9mSq&4XbY0{3zP$cCST#Ej2;t61HKIF#Bj=N2q1 z#A05U0x)ZLd*GmqMjI)FSuJ(Pa~W*%*|C!)m`}hXz4w=usLAXI$?VKty!cpLT1pg= z6A<%Oi#MEQj*@h$3G5Cjp+J(GF~L0A%C{EGk& zY`@?L=7BdHN0i(v0`T%8c!LJ}H|?HjI)d{@|NUd3*c08r!Mjebtw3+PbMUJVzM)qyklrkQ3;2WW_U(H&^zrefy4#3wpb3at z5b9EAb@vRYf==s-eP?caslZVLaa|RKSy@YL*fFvyDgzl66%}Etyq4{Rj6qls+}q*q z$xDK?eu*Jrrd*n5`te;Pk~dZys;3}jZS8gSZIXBmZ#n;8B_}4sfV-OhBiEJ8nHu>Hr(kr$9Z% z9wRZ3wzl4sZ4WgkitCb|{9%m^O?e+r=M)s&v7fJj%X0RFt`2MHCp)YTexrP&dG*k* z%Ki8bM(0`dfsB#SeE0E;XHf-mBP%nL=(GcQRl>&1Y@9#3?p;$}e!$JV8UTAB;Zy#Lg4#J zlF>rN%;dMkv@|r1-|<_EVuiDLh#eg!IaTXuV|g_OW1~*6rqonb_mfhHnZs#?cr{`% zj`DZ?37lP{GK7?<4Kh?!US1wYL|jhTM`qbr zvX6;qn@9?7xj{pw1a(za$KHJFh^QZa2iB|}ZH({tr-*sdtyx#0z}lCUw30yR z6;sXFfMYMBOPVr{d)p@XBFiaG2 z-Qtpu<#bnoBcbAPE4hDTtF5W(N&-eJnZ41ZB9pb6!O+x?j)XtC0^-vvn{rM9FW0U% zNb9)8?;xFNTXec*aN#!H&#+7tv0{B2*ZG)n8JZ&~%Tx?UmM~H%RCC{*-Sg>fpGw=o zOgU8uEeB@jrmrjm>=*EvlWMr9)By!tF}NhQmLYvrihQ7E=pJ^s1J=>lC^Hw=COowd zA7ba=Xc_z_j|D}E?h%O6k@zJ$} z9ZNllyGx0-C|f#Zf_L9lvyEoz+&^|4*8G$~kCxL3IlQ5UpMLfNc4dEXwqBHq4{g`& z_bv%JE-65MaAuh#ugk+x!ic5sznM`NDL!YbBo2;_ws>|k5)PGJ7%e=g@ocz=|N5i@ zIg@{T3d}$q{pE`6eluoh{XVAR$B%{|22K8!vmSZtPgS+GC+}4Ok6;&YF*RLMiRy5S zNO1&lST-Rc;XX7i;O!dEMD&SGshvzo)LxL4)r8uwO4ndG-#qGf1gm`P#roQCo_;LL z11#u`rXIK4%ep-#Ha4?vu%bSnQd6&E+;(52ieFalE_C=de*HQpRp(|nwLV&;5oUn% za5ro{@fP!F>6fjqG)4746j=Q~PI+)3tP}2DLlAO0;O{rciliGQ-2}^5i%b=M&)PT@ z_~fR`FUu=>qaT?STyL;fBEKGG_v97UJX}0J|28o(@nD5ij0?jZXKCx;;E+xZJ; z6ZrPf(9l$aNf*WLeApu<7&?j2Ns#uWU7+Ee=XQNuXlSS&UNMEl0e5j1hN*0tPi)G@ zbujJe`@iH?pKUb_eni+g(ae0|dTCPx@zKuj#H&bgj%%Qu0c+`%Yl@*i4rTwFh z$GDvc6R*tg93~BaA~v+!yc%fH5`LGj*rY2~;N{DgHvW+(Sh{8DQstuyyHzblW0*|X zU0{4VxoCZMa^VMZgBD_*#KgqNAu=TNtFQ0+xuj$Z$>DsU{jBfxWmiT;l_#T*g;cmw zSrw1<#9mH8on9zCMAWr;=B1U9*Lgfeq)TR6J1sMRoY(`b1cGEDY41MK5z^DqvC7%S zI8?_*Q1Q%%egm;qv)Tdk!~6UQ7g%EO=g;JsnVAN_2FEIG^$jqcF_W>}x;1ZF(Qpm+ zh?lJs2pi8g@^gT z8sDW2&)Iox4#?6^$0jCvX5a6Q&U?E1%XCEHIJfR+R>p7NzRm8t ziNa7-SV>bg&g+%IB=j?4?dE0UJ~%&Ze=aufWTn-+d2;a%4-aD?rgkxqV~)SN&X3Mk z*)J&wJ-(Xj{-SrjtngDB`eJ?WWHmivCj_R)M3W_Q@8kg#eoETgDo;<>%afG)k!R?t zT*zjsDrli2YWZ7sHu83w>^7U2*yV0k)_rnH%IoQ8dTniO-_+F9Gy%St0A@UbSzdnR zdy0uG<9PUR3(Ie5X{n%c*2i;U^-uOTYkF-UjGddiA?*iz0QaibwLubiJL2__(mI^`kxojZohy~$-|rKLoDILFy152n2tr8LX!nD(G7vjH4G=l*=` z$08irWY;QCn4!)0V48>UBaeEeS*JgWH2=KFOG_((a3$fScyd#p&rnsdks$5GXxByp ze;XToX4L1QVS7l@&dOZs_}#zw{6C4|=W{F6c-^Uy*FPo~BC(Ek90);h0Yd`y?gs<=f0l;JK@)Nvl)2; zyGo5P>Ys}ss9em2u%-M0ZYAix$8ujG-tYG(wv3Vzc;nS!(XjnOioROkrW61^s*mb+ zn&X6pg||F*+bBOle`#hlM`mpp6n9fyK1`R0Qv}d!N`bt(e_kzg6`# zEdG4$$}Nsk&c3V0>vQC@=zu4dBmD=ff42Rf?y8QJne|D|VaW5&jJuU8+HFm2n=@b< z7Zlt&Xpru>d5z2g_znZRRT^frrgyueL>}zcdJ_kt*sS>zw^}3a!Qg!Ec1fAkU;lSx-Z^` zxX+){S(S^hJVz=Wh2z^06I_Q0q(#Oyh<02v=sh&Gc_^W}GdLKeoJns+sqtlLh-pt5s zO7|yT7!A+fbDes6e!QK%;}(1uIsI=WvQ?FV?0rfynLB@_t-oF-i+i-^70^XqkTR7Z zSik##y8e4v&Q;sZ^%AZLiE?x7fxPpG>{Utcqr6S5iK&Tmwii=0XmeL*=L#Jam8Ti9 zQLz=r?JENrn9$H$xrK$XA?B`vij~AIFIua2yHg(1z^&QRw~v1Kuc)3a_z#qgCSDA^ z9ePEo;{NE8lO#Jz#&<}vQTM0!L6J|bhy*U;Ud5>8G(Y&0zW+DG+7Xv{4Bk#LY+NYRCP3VLnm z9D7kUb>MxU!iEvU3f^#&#*yIRL@ZEa1judnYBuEDy}B=o#HW!A1{qqDQ~FeWBu9qY|8(=4jqE21^T zg{xI^Tlh4e-|3R+8zk|dhT>LSP-EE4*uF>oBpThE8Yg)=nEfKzWAYywnw^@uFho#U z+1l7#?VRi`G^PqWuUSKbo`#MvzX9NU7p7`z!@Uv={S*W^6S=v$F1<-Y`-v-OvmbMW zjTf8WtqHG|*d8=vAv{1Jf}Tek zP0`WOG*~PLviI(@v5~yBun@Lcx(M=C7%wrF4dm=%)Qpt`i67v9V>B$1$1L zcwtvy*;xU!dIbOqb%xr1Zve{+BE3jxO5$$+T?-_n^eF=LLyR&zdH)1aAnF~!s2U)M zoQOdhmbfF&+U`zAEw6m|cQpNuF!`-heYd$l6Da9Yr3qy0^F~tm<=JSXULC+=taulH zLQP1*LsvJ(%eoR16OrL2*#MvZ3L>VVI80Ylt1@f}k_KQ*)@U5mG*@<@w8LB~2mdQx zt*hJXK01YPsOQJi5aCV6NHrN0d$)z&al~Rt*!fCRK#<$k7ht>f+BvJqdPvqe@A@TR=xfxkow7imN+fdDvV)jlVt!L9kiT~xw>qI6W z%13(n!||iF#c#V}x#V9NjbkgiDQJIHUg_KI{0?gMKMkRT1&|5ICUp-@5no^@8 zrOf5?P+|CTAVbzyT8f+qZ#`s1oT-y7{k(bh0jV}CG>rA(9y`q$fxJ65)3=H;fgHjA#>hLOd!V1SQPgU?4e;u z&DbcoN@3H1O@ z6Z%&pju)1$vZYrQ+=k|B)(aCC_fK<;PnW>9sCKJH?tYD(jkCvaRT*`?qv4SZkE#az z%DsNZTBWrw+?Rpr1Q=-udSY^tGAAmyQB_cMrdqjXc3N8s>xrR^2h)JnniY@rnO6gu zp+={1>jRRw{eULn+IKZRvz9ry&paA&Wfp&y-Zc_--&_1mRPi2Q-x+dN&N`(z)V9ED z^MXEacq5udio>VVG&3oeD-eA}%dB`DLAJHFGV#YLq+B4TIkn}K`g;+oHD2O%o!f3> z5bCRZ=zubNrYD)1nOW5LqM~h|4{hlU4Oht<8yh@$>xlHi^t5%2aF5X7amym)B{rN9 zI2$Qk3{Wbg|2+gdxkXr_fRyUh^SrOVBgy4@a$JO5G}v zl@%5BZ!-H6Zmp2)t~WeAlY^d0-DdK*FGHPiXv!iUxX<(0T!Gv(8cU)bwxcJq{0$tJaP5SlWQ?*S?ThdFnAZ@0%)y4%w_43=mZ=!?|j#-@kt!z21%T)ma7ST3A?|B~Hi;HB;Yn9ONi2 z1wWDeytTc(Jr{hpN58^i_yX)a#JDlQPGUczTt#Ml=SOw7e8?qW9~shRjWH(8dUYpJ zLHj(q>gnj+Cne77Bkl=x9_JRET=gYz%Vy@KjpC=Nu!TS6sXXl$9tz>{C9VJv351{l z5bLeKI$MuY1b9EOsPXE|_};yH%V;#Hu5*n$3JzuQE3szJdQ2H$V-iEd=kF|}ahf@3 zKhL~yc0PPWbb`zDGB!cQ)AM{)%=0Lp{)xrVE2nznV)LOK71d)9>Kf|nFUva{M~C^D zh#tQGP%qIpK&lxlV$6Cw5JeCB`1K3w8=-*n+K}x*@X2@W+V}V*4Z0jY|K93rKh#$h zgJ&zAfx)YzPE|h>PAu$-J~8i4BTeno$e`up-8F30Co|blQQD<>-Ga%tNkSJo`#+ootl9E1KL>P$+rWX7*-Y z((I4XLvNy8M@w)12mTiN>D~!@eC+|U0lqSEO|7s-v+tIg=qPlZ)B)dG^2ysiS=+w1 zzBZpsG}SAAr5i0?6zbNxG#zbD#tG9#$|VZerm%GF6`^w!O|leYG5Xe^vW{+G=yoRX@G% zJR~~Y(;(V1{}Ha>wPK~E@NM+VX2j08RP}I!)cND}Y{u*Gv9+jiW3q;$?CA!paj64A zxH~%MOU?aVAC#2ka4$9NDHD^0wYAvkT3%7%J>ECJdI%{vtFp?<_L~4*j{grT^n75H zwDCC{))>vzNYAmB;?sJu#G_?b%h}Zz^d}&PvZ$4fw}HDT?#QD*?BW37`LULGY(sIJ zc_ShI1fhD=kQt?}G*N@FBAe6iGe>&PWzS2BUWca`*Y6!U^J#0O9#h!+IMX@6y9_RT zd|M`M8|zmSEDKL3o{Z}3SNyA|KUpZ|Rcp+DvIl6^ht+5Mf;0P_J8Q$lXx}CB>92S{ zst~fiZ1aPPDer=!hNPB;k!8$}2jVnh0>P`b0*u+?(%?=Su%q+s@JpY{u3&ETCM_-wIS$ND|y-c9f2Y8eRVe zIQbh;ZeAW-Dd3=WFh8CS=_A^`$cTIl%>A*ivZibF#M&a=36C2MO~u5vsmFbcHn-q zmF4C69FHE6BvfQ`Ut^TTi$+B>33l}3ksqXv%K)DV832Hyfj6g!hqu-?)+#DQvkG1G=y5l#|Fou>UiH-BQjj z%dXDO8TH#f_l^C6Z{Mro2m-vJKo@_}sCNIT*KK<7BzdWG=r4HgJV2gT@*L zp1+p&#fB#B0u2x+oJMGR2sY4zLf3a9{8gF-hGzul@uAV6{cSQpZvEy@+_cAddU(`) zb&`#uyJuQ9eifk9MgjqmV^itBBaeL#Pf1ans-rRL7vV{hUnPUNA8~O7&hR^}^kZba zUwNUIQ$N~N#+H|t-+~10v#_M4r9pr@V`pcVK%s6xQ&hLFv)ktEE_C3HDj71H@`{Sd zHzYE%vR>Tu#fO^+(MG1yl&}T3g`u-r#ssT?%78+nN4{;*X9O!*OnHm3$a%1k-@<|b zaf}n5nLzL7YjH4$ytFii*Sl$t|=K&I-oJX!+AcWl#O;d2HU#0EoF&=|9r3m|zpl zUK~g+8UZ8*~F8IQxZLSR&U_bvhy-x((yf5D0Z&OoKt5OGHQOGO7KQ@)u zFh557D%z6CO+LUbe2j~8CD$#oSIxmuP66Z0Z{JM(r)^Si8Z@NT19-gvGPk*n4gY6f z85ul05<1$|PkKy;auF5uQP}vmGsicNw(=N}$ZK;4hrPO;t0hpe-h>Rw#v3B_Zl$ST z03P`C-Ly^P-JkCD<-l%rea;S6O*+M)%KK9VH={y;Gl+Q{tc(JvUR3Y4%LJu?MHLa{ z%z8f6F>t6pRV7Fp+3~)qP%lb7tzPdD#K6Tx3^dYW7P+#+jkbkfADIJ7Ij^(#ynlUQ zYywm=eXD$#Xk|%?T0>UA0T1^pD z-B^C%;o;H)%`F|rc<-C6nBBi+W-7dplhd3(KDR{z_+xHm72xtriQwJFh7}Q=XnfL( zw}rXpr(RK9w@cpvJ13_?>A2POthe~A2ef^|O`whhdInx=5truk%XWf9A^KFV z;occ@7QJ%OPO5+~qX8UJC(l=_wL~T=q8EtyBw;zEp8{SRN5b`@4>0@- zNz2!aOd=4={rgM;0pHB`t3z!4bFHY6(6z9W2PDj! zW{;>~*U_JH+%F0t=yuD$UVu+nkngqUn;4GSW02*SE5@CDEy}Yr=veA|j4c0fzL30NZ@bvCGTLYtb{Yg}+Nf zpcM$yuifk9s02PN^2E>v%IXMuyjpu#)D00tLVu+Vxnd*AiDdYEhU=47fd>f4M>{2w z+5*|nY{RA2#x*Z9lV#pWP3zk&>W@78OT@0Sva&)oR~99Sk&%(!E8bm70p9&SM?pTv zO3|5N5U=FdekC!wC?GVG!WAngH<7r0z&`nQ2lHx|WDtXjU?$|``gIkQFHkDB+B(thlGAr`KeC?I2Oc z{flVxGit~W>E&+DwX2}~g#9t~@wp-d6@T3$7=ePI(~9!9QYKVIv*8V>yt1-Gr!w2L zJDw*P1inU(qYcf+PoCVtyYWs9MEH7!fU#SU)PWeJi6VGoYHGCew+T@6{fwX|gWJx{ zu5?yTUf$CUJe^914~twg8qREC%|96?WA#8+P&2mgF!lXu)X8y+1++F@ce#65@AGy?bb_88<|-iM1xNRd2?{`@5_F8H5D==ARd zZGHXgpWrLTuJ8DGc`3eSWo=o%eaoZ#C`<5jT-7dQurKhF+1<7a735pA+ z`j-idy4Eebl#Fe^xP(g(eAUCRBEsWNc#Yk$W{8_Xl2}()m%+uwMMkcl(PN&V<2Yg* z{nUH+?w1p)XXznf78~Uq8#~Jbq>tC=J?sktHtTOPkmUyULnBy-de|9n2G5fx&g}qp zUD<)yTsJbJu2bW56WHW4d3i~YNPrHBMJ3W0%~HR)fBN^(LrE~X_nI0|Z*hD3``Z>) zRth)#K$L4_kyG*pOf}o3&$TXODj$uLLq{~h^Yi&3@o1mb$zWW=!5yZA>7gMU2!y^& zz!}s+v;xNLb@!v7{Iw{XB8!OG&Y1wq0U8t#AftrHvRFa4iVCo?8Mg(5j4l5iF)0{A ze3$1#D~wVAYK_0=;yWS^dK-2x_-csm>$x|k)tOXIcIeu--RV@C3+;dM;LHqik7nWG zKl`A{_5SX{@wo=QxYtQ|kE!;5D;P(O2+55*`Sg@&Hb|U zGfFnjEL&_=pM?l%|I#DMb#~Ab2`HK8`9Q$~uo@DDk;9+7e=Z zu$MXBf0*uv#CB_!sS!PO&$D zomm^zI)wu+wca+MH>7%Yo1O%Ek-h&~TU*-%K{chPt!>#!*Mb<4gsHT?o33@02T?1Q zW%aAS{|z%xC~<+*3H1*S-bn4E1o7yzek>-Yl(Q(2$2f@g(R)Au$w3s8n@7QfgoMc; z-@gP%9ZIXNzN@IH=%A~cjHDtegou^8d;jy>Z(wb)^lX+hVPl#vk=?QMJ(In>LSq@X|VGf2G}HyE<&f$G-=v}10~m%C+|gas}a zm}E&ey8*B6i?hS{)5G=Mzv-tZT_VADUxy=E?;zz9#5`T(jEsy#uc?Ac5Yt>g!NNuT znB1J9v8iGlUv+A>scf-{5|^SP!h;jx%^jcb9!=U-;=XTsxf%Z#)FU!r$s{ot%zHpB z7*tL&21v-u69VoL3%Ysp<}*b_+<*LedPW8|pe8qg&LbsqAGEZ}EH5q5d4PTwJYDk& zN{S8P_WJ!-^O@P%lN-QoKC@$hjgmrRR{Q`;ONh+ffTRLqV=2HsBq69s;t7xk z#<)HFqp)NY-}Hc$*kQB{Buyee0<)qyttUg2PFyWeOsRmSx{Rcg2088V}Aqb zIA<=fA6zij2CIDBszXal3u3T2e)%+nY^#ATj1=?Q(b3U$Dj*;r{s$>3Y0dw+qLXmc zlgE!4ny|v}YUHoa#@n|&vvVpSb`nk=xG<(_pLZfO0CC~q)a&a`gAIx`vTvCXEPW@t z%EQEjgf|dDAPOvTAS_*$g)v|-0uKrRw>b*1m-~F{O`!)^@t4!?_O+|gEQUv}%Zv}O z1nuVorbb36dXONWzNid^4IF{Kjnf#-2{%v+;?z1?uU?&y-Fx~uHumq#IbHZe|4!cc z!9h|MVgH<*oE`l4P3BiTM8@_tciyyz-=*&?tt$m2*PRv8YQWv1w~9HtRsfEp=l}=R zHDfho&UJTy4Tuxrz2^XjgvmXh%OeB?D66Zhr@4?Z^^rjGV4B$Wx3siG0!e8;6o?bf zZ?dsmXGQ2~_{D;M3tSR9IN&j}nIZ1a9y}T=UKN`1-u41#tdA6|SAlQb(!>6RPc)159SYLAOHXW diff --git a/js/id/modes/add_area.js b/js/id/modes/add_area.js index ae19f193d..d604e0072 100644 --- a/js/id/modes/add_area.js +++ b/js/id/modes/add_area.js @@ -7,6 +7,8 @@ iD.modes.AddArea = function() { }; mode.enter = function() { + d3.select('#map').attr('class', function() { return mode.id}); + var map = mode.map, history = mode.history, controller = mode.controller; @@ -52,6 +54,7 @@ iD.modes.AddArea = function() { mode.map.hint(false); mode.map.surface.on('click.addarea', null); mode.map.keybinding().on('⎋.addarea', null); + d3.select('#map').attr('class', null); }; return mode; diff --git a/js/id/modes/add_line.js b/js/id/modes/add_line.js index baa4364bc..f975bd1de 100644 --- a/js/id/modes/add_line.js +++ b/js/id/modes/add_line.js @@ -7,6 +7,8 @@ iD.modes.AddLine = function() { }; mode.enter = function() { + d3.select('#map').attr('class', function() { return mode.id}); + var map = mode.map, node, history = mode.history, @@ -72,6 +74,7 @@ iD.modes.AddLine = function() { mode.map.hint(false); mode.map.surface.on('click.addline', null); mode.map.keybinding().on('⎋.addline', null); + d3.select('#map').attr('class', null); }; return mode; diff --git a/js/id/modes/add_place.js b/js/id/modes/add_place.js index fe16ac20c..153369ad7 100644 --- a/js/id/modes/add_place.js +++ b/js/id/modes/add_place.js @@ -6,6 +6,8 @@ iD.modes.AddPlace = function() { }; mode.enter = function() { + d3.select('#map').attr('class', function() { return mode.id}); + var map = mode.map, history = mode.history, controller = mode.controller; @@ -31,6 +33,7 @@ iD.modes.AddPlace = function() { mode.map.hint(false); mode.map.surface.on('click.addplace', null); mode.map.keybinding().on('⎋.addplace', null); + d3.select('#map').attr('class', null); }; return mode; diff --git a/js/id/modes/browse.js b/js/id/modes/browse.js index a94511d7a..394fa1833 100644 --- a/js/id/modes/browse.js +++ b/js/id/modes/browse.js @@ -7,6 +7,8 @@ iD.modes.Browse = function() { }; mode.enter = function() { + d3.select('#map').attr('class', function() { return mode.id}); + iD.modes._dragFeatures(mode); mode.map.surface.on('click.browse', function () { var datum = d3.select(d3.event.target).datum(); @@ -19,6 +21,7 @@ iD.modes.Browse = function() { mode.exit = function() { mode.map.surface.on('mousedown.latedrag', null); mode.map.surface.on('click.browse', null); + d3.select('#map').attr('class', null); }; return mode;