% !TeX root = ./testing/test.tex %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % The tikzducks package % A package to bring rubber ducks into tikz % Maintained by samcarter % % Project repository and bug tracker: % https://github.com/samcarter/tikzducks % % Released under the LaTeX Project Public License v1.3c or later % See http://www.latex-project.org/lppl.txt % % Version 1.0 % Nov 8, 2018 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ProvidesPackage{tikzducks} [2018/11/09 v1.0 Draw rubber ducks in TikZ] \RequirePackage{tikz} \usetikzlibrary{patterns} % for the wizard hat \usetikzlibrary{calc} % for the sports jerseys \RequirePackage{ifluatex} \RequirePackage{ifxetex} %\pgfdeclarelayer{backgroundlayer} %\pgfdeclarelayer{bodylayer} %\pgfdeclarelayer{clothinglayer} %\pgfdeclarelayer{hairlayer} %\pgfdeclarelayer{hatlayer} % %\pgfsetlayers{backgroundlayer,bodylayer,clothinglayer,hairlayer,hatlayer,main} \newcommand*{\duck}[1][]{% \begin{scope}% \tikzset{/duck/.cd,#1}% \duck@draw% \end{scope}% } \newif\ifduck@name \newif\ifduck@invisible % Environment %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\ifduck@water % body parts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\ifduck@grumpy \newif\ifduck@laughing \newif\ifduck@parrot % hair styles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\ifduck@shorthair \newif\ifduck@longhair \newif\ifduck@crazyhair \newif\ifduck@recedinghair \newif\ifduck@eyebrow \newif\ifduck@beard \newif\ifduck@mohican \newif\ifduck@mullet \newif\ifduck@parting % clothing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\ifduck@tshirt \newif\ifduck@jacket \newif\ifduck@tie \newif\ifduck@cape \newif\ifduck@stripes % Headgear %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\ifduck@alien \newif\ifduck@hat \newif\ifduck@cap \newif\ifduck@santa \newif\ifduck@unicorn \newif\ifduck@magichat \newif\ifduck@chef \newif\ifduck@witch \newif\ifduck@graduate \newif\ifduck@beret \newif\ifduck@crown \newif\ifduck@queencrown \newif\ifduck@kingcrown \newif\ifduck@peakedcap \newif\ifduck@bunny \newif\ifduck@tophat \newif\ifduck@darthvader \newif\ifduck@harlequin \newif\ifduck@strawhat \newif\ifduck@helmet % Accessories %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newif\ifduck@glasses \newif\ifduck@sunglasses \newif\ifduck@squareglasses \newif\ifduck@icecream \newif\ifduck@book \newif\ifduck@magicwand \newif\ifduck@cricket \newif\ifduck@rollingpin \newif\ifduck@signpost \newif\ifduck@lightsaber \newif\ifduck@cake \newif\ifduck@pizza \newif\ifduck@hockey \newif\ifduck@baguette \newif\ifduck@football \newif\ifduck@mask \newif\ifduck@necklace \newif\ifduck@milkshake \newif\ifduck@wine \newif\ifduck@prison \newif\ifduck@speech \newif\ifduck@think \newif\ifduck@torch \newif\ifduck@easter \newif\ifduck@basket \newif\ifduck@buttons \newif\ifduck@sheep \newif\ifduck@horsetail \newif\ifduck@crozier \newif\ifduck@davidlikespineapplepizza \newif\ifduck@wing \newif\ifduck@stethoscope \newif\ifduck@neckerchief \newif\ifduck@snowduck \newif\ifduck@vampire \newif\ifduck@crystalball \newif\ifduck@cheese \newif\ifduck@shovel \newif\ifduck@pickaxe \tikzset{ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Pass unknown keys on to tikz % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% /duck/.search also={/tikz,/pgf}, /duck/.cd, name/.code= \duck@nametrue \def\duck@name{#1}, invisible/.code = \duck@invisibletrue, %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Environment % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% water/.code = \duck@watertrue \def\duck@water{#1}, water/.default = blue, %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % body parts % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% body/.code = \def\duck@body{#1}, body = yellow!70!brown, head/.code = \def\duck@head{#1}, eye/.code = \def\duck@eye{#1}, eye = white!85!yellow, pupil/.code = \def\duck@pupil{#1}, pupil = black, bill/.code = \def\duck@bill{#1}, bill = orange!50!brown, grumpy/.code = \duck@grumpytrue, laughing/.code = \duck@laughingtrue, parrot/.code = \duck@parrottrue, %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % clothing % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% tshirt/.code = \duck@tshirttrue \def\duck@tshirt{#1}, tshirt/.default = white, jacket/.code = \duck@jackettrue \def\duck@jacket{#1}, jacket/.default = blue, tie/.code = \duck@tietrue \def\duck@tie{#1}, tie/.default = blue, cape/.code = \duck@capetrue \def\duck@cape{#1}, cape/.default = red, stripes/.code = \duck@stripestrue \def\duck@stripes{#1}, stripes/.default = \stripes , %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % hair styles % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% shorthair/.code = \duck@shorthairtrue \def\duck@hair{#1}, short hair/.forward to = /duck/shorthair, shorthair/.default = brown, longhair/.code = \duck@longhairtrue \def\duck@hair{#1}, long hair/.forward to = /duck/longhair, longhair/.default = brown, crazyhair/.code = \duck@crazyhairtrue \def\duck@hair{#1}, crazy hair/.forward to = /duck/crazyhair, crazyhair/.default = brown, recedinghair/.code = \duck@recedinghairtrue \def\duck@hair{#1}, receding hair/.forward to = /duck/recedinghair, recedinghair/.default = brown, eyebrow/.code = \duck@eyebrowtrue \def\duck@eyebrow{#1}, eyebrow/.default = brown, beard/.code = \duck@beardtrue \def\duck@beard{#1}, beard/.default = brown, mohican/.code = \duck@mohicantrue \def\duck@hair{#1}, mohican/.default = brown, mullet/.code = \duck@mullettrue \def\duck@hair{#1}, mullet/.default = brown, parting/.code = \duck@partingtrue \def\duck@hair{#1}, parting/.default = brown, %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Headgear % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% alien/.code = \duck@alientrue \def\duck@alien{#1}, alien/.default = green, hat/.code = \duck@hattrue \def\duck@hat{#1}, hat/.default = brown, cap/.code = \duck@captrue \def\duck@cap{#1}, cap/.default = blue, santa/.code = \duck@santatrue \def\duck@santa{#1}, santa/.default = red!80!black, chef/.code = \duck@cheftrue \def\duck@chef{#1}, chef/.default = gray!20!white, graduate/.code = \duck@graduatetrue \def\duck@graduate{#1}, graduate/.default = black, tassel/.code = \def\duck@tassel{#1}, tassel = red, beret/.code = \duck@berettrue \def\duck@beret{#1}, beret/.default = black, unicorn/.code = \duck@unicorntrue \def\duck@unicorn{#1}, unicorn/.default = pink, magichat/.code = \duck@magichattrue \def\duck@magichat{#1}, magic hat/.forward to = /duck/magichat, magichat/.default = violet, magicstars/.code = \def\duck@magicstars{#1}, magic stars/.forward to = /duck/magicstars, magicstars = yellow!80!brown, witch/.code = \duck@witchtrue \def\duck@witch{#1}, witch/.default = black, crown/.code = \duck@crowntrue \def\duck@crown{#1}, crown/.default = yellow, queencrown/.code = \duck@queencrowntrue \def\duck@queencrown{#1}, queen crown/.forward to = /duck/queencrown, queencrown/.default = yellow, kingcrown/.code = \duck@kingcrowntrue \def\duck@kingcrown{#1}, king crown/.forward to = /duck/kingcrown, kingcrown/.default = gray, bunny/.code = \duck@bunnytrue \def\duck@bunny{#1}, bunny/.default = \duck@body, inear/.code = \def\duck@inear{#1}, in ear/.forward to = /duck/inear, inear = \duck@bunny!50!white, peakedcap/.code = \duck@peakedcaptrue \def\duck@peakedcap{#1}, peaked cap/.forward to = /duck/peakedcap, peakedcap/.default = blue, tophat/.code = \duck@tophattrue \def\duck@tophat{#1}, top hat/.forward to = /duck/tophat, tophat/.default = black, darthvader/.code = \duck@darthvadertrue \def\duck@darthvader{#1}, darth vader/.forward to = /duck/darthvader, darthvader/.default = black, harlequin/.code = \duck@harlequintrue \def\duck@harlequin{#1}, harlequin/.default = blue, niuqelrah/.code = \def\duck@niuqelrah{#1}, niuqelrah = red, strawhat/.code = \duck@strawhattrue \def\duck@strawhat{#1}, straw hat/.forward to = /duck/strawhat, strawhat/.default = gray!30!white, ribbon/.code = \def\duck@ribbon{#1}, ribbon = black, helmet/.code = \duck@helmettrue \def\duck@helmet{#1}, helmet/.default = gray, %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Accessories % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% glasses/.code = \duck@glassestrue \def\duck@glasses{#1}, glasses/.default = black, sunglasses/.code = \duck@sunglassestrue \def\duck@sunglasses{#1}, sunglasses/.default = black, squareglasses/.code = \duck@squareglassestrue \def\duck@squareglasses{#1}, square glasses/.forward to = /duck/squareglasses, squareglasses/.default = black, icecream/.code = \duck@icecreamtrue \def\duck@cone{#1}, ice cream/.forward to = /duck/icecream, icecream/.default = brown!60!gray, flavoura/.code = \def\duck@flavoura{#1}, flavour a/.forward to = /duck/flavoura, flavoura = brown!50!black, flavourb/.code = \def\duck@flavourb{#1}, flavour b/.forward to = /duck/flavourb, flavourb = white!70!brown, flavourc/.code = \def\duck@flavourc{#1}, flavour c/.forward to = /duck/flavourc, flavourc = red!50!white, book/.code = \duck@booktrue \def\duck@book{#1}, bookcolour/.code = \def\duck@bookcolour{#1}, book colour/.forward to = /duck/bookcolour, book color/.forward to = /duck/bookcolour, bookcolor/.forward to = /duck/bookcolour, bookcolour = brown, signpost/.code = \duck@signposttrue \def\duck@signpost{#1}, sign post/.forward to = /duck/signpost, signcolour/.code = \def\duck@signcolour{#1}, sign colour/.forward to = /duck/signcolour, sign color/.forward to = /duck/signcolour, signcolor/.forward to = /duck/signcolour, signcolour = brown!50!black, signback/.code = \def\duck@signback{#1}, sign back/.forward to = /duck/signback, signback = green!40!black, magicwand/.code = \duck@magicwandtrue, magic want/.forward to = /duck/magicwand, cricket/.code = \duck@crickettrue \def\duck@cricket{#1}, cricket/.default = brown, rollingpin/.code = \duck@rollingpintrue \def\duck@rollingpin{#1}, rolling pin/.forward to = /duck/rollingpin, rollingpin/.default = brown, lightsaber/.code = \duck@lightsabertrue \def\duck@lightsaber{#1}, light saber/.forward to = /duck/lightsaber, lightsaber/.default = green, cake/.code = \duck@caketrue \def\duck@cake{#1}, cake/.default = violet, pizza/.code = \duck@pizzatrue, hockey/.code = \duck@hockeytrue \def\duck@hockey{#1}, hockey/.default = brown, baguette/.code = \duck@baguettetrue \def\duck@baguette{#1}, baguette/.default = brown, football/.code = \duck@footballtrue \def\duck@football{#1}, football/.default = white, mask/.code = \duck@masktrue \def\duck@mask{#1}, mask/.default = black, necklace/.code = \duck@necklacetrue \def\duck@necklace{#1}, necklace/.default = white!80!gray, milkshake/.code = \duck@milkshaketrue \def\duck@milkshake{#1}, milkshake/.default = red!20!white, wine/.code = \duck@winetrue \def\duck@wine{#1}, wine/.default = red!70!black, prison/.code = \duck@prisontrue \def\duck@prison{#1}, prison/.default = gray, speech/.code = \duck@speechtrue \def\duck@speech{#1}, think/.code = \duck@thinktrue \def\duck@think{#1}, bubblecolour/.code = \def\duck@bubblecolour{#1}, bubble colour/.forward to = /duck/bubblecolour, bubble color/.forward to = /duck/bubblecolour, bubblecolor/.forward to = /duck/bubblecolour, bubblecolour = gray!30!white, torch/.code = \duck@torchtrue \def\duck@torch{#1}, torch/.default = gray, basket/.code = \duck@baskettrue \def\duck@basket{#1}, basket/.default = brown!70!gray, easter/.code = \duck@eastertrue \duck@baskettrue \def\duck@basket{#1}, easter/.default = brown!70!gray, egga/.code = \def\duck@egga{#1}, egg a/.forward to = /duck/egga, egga = blue, eggb/.code = \def\duck@eggb{#1}, egg b/.forward to = /duck/eggb, eggb = green, eggc/.code = \def\duck@eggc{#1}, egg c/.forward to = /duck/eggc, eggc = red, buttons/.code = \duck@buttonstrue \def\duck@buttons{#1}, buttons/.default = black, sheep/.code = \duck@sheeptrue \def\duck@sheep{#1}, sheep/.default = \duck@body, horsetail/.code = \duck@horsetailtrue \def\duck@horsetail{#1}, horsetail/.default = brown, crozier/.code = \duck@croziertrue \def\duck@crozier{#1}, crozier/.default = brown, davidlikespineapplepizza/.code = \duck@davidlikespineapplepizzatrue \duck@speechtrue \def\duck@speech{\scalebox{\yscalefactor}{\scalebox{0.9}{\tiny ih, che schifo!}}}, david likes pineapple pizza/.forward to = /duck/davidlikespineapplepizza, wing/.code = \duck@wingtrue \def\duck@wing{#1}, wing/.default = yellow!50!brown, stethoscope/.code = \duck@stethoscopetrue \def\duck@stethoscope{#1}, stethoscope/.default = gray, neckerchief/.code = \duck@neckerchieftrue \def\duck@neckerchief{#1}, neckerchief/.default = brown, woggle/.code = \def\duck@woggle{#1}, woggle = brown!50!black, snowduck/.code = \duck@snowducktrue \def\duck@snowduck{#1} \def\duck@eye{#1} \def\duck@body{#1} \duck@tophattrue \def\duck@tophat{black} \duck@buttonstrue \def\duck@buttons{black}, snow duck/.forward to = /duck/snowduck, snowduck/.default = gray!15!white, vampire/.code = \duck@vampiretrue \def\duck@vampire{#1}, vampire/.default = white!85!yellow, crystalball/.code = \duck@crystalballtrue \def\duck@crystalball{#1}, crystal ball/.forward to = /duck/crystalball, crystalball/.default = cyan, cheese/.code = \duck@cheesetrue \def\duck@cheese{#1}, cheese/.default = orange, shovel/.code = \duck@shoveltrue \def\duck@shovel{#1}, shovel/.default = gray, pickaxe/.code = \duck@pickaxetrue \def\duck@pickaxe{#1}, pickaxe/.default = gray, } \def\duck@draw{ %\begin{scope} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % minimal bounding box size % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@invisible \else \path (0.1,0.1) rectangle (2.1,2.12); \fi % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % defining some coordinates % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@name \coordinate (\duck@name-wing) at (0.8,0.7); \coordinate (\duck@name-head) at (0.9,2); \coordinate (\duck@name-bill) at (0.5,1.3); \coordinate (\duck@name-tail) at (1.82,1.41); \fi \coordinate (wing) at (0.8,0.7); \coordinate (head) at (0.9,2); \coordinate (bill) at (0.5,1.3); \coordinate (tail) at (1.82,1.41); % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % store the current scale factor % from https://tex.stackexchange.com/a/86900/36296 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pgfgettransformentries{\myxscale}{\@tempa}{\@tempa}{\myyscale}{\@tempa}{\@tempa} \gdef\yscalefactor{\myyscale} \gdef\xscalefactor{\myxscale} % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Environment % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\begin{pgfonlayer}{backgroundlayer} % % water %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@water \fill[\duck@water, even odd rule] (1.00,0.40) ellipse (0.88 and 0.35) (1.00,0.40) ellipse (0.75 and 0.25); \fill[\duck@water, even odd rule] (1.00,0.40) ellipse (1.05 and 0.50) (1.00,0.40) ellipse (0.95 and 0.42); \fill[\duck@water, even odd rule] (1.00,0.40) ellipse (1.23 and 0.63) (1.00,0.40) ellipse (1.17 and 0.57); \fill[\duck@water, even odd rule] (1.00,0.40) ellipse (1.42 and 0.77) (1.00,0.40) ellipse (1.38 and 0.73); \fi % % sheep %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@sheep \fill[\duck@sheep] (0.65,1.95) circle (0.15) (0.5,1.75) circle (0.15) (0.46,1.51) circle (0.15) (0.37,1.) circle (0.15) (0.23,0.8) circle (0.15) (0.2,0.6) circle (0.15) (0.25,0.45) circle (0.15) (0.35,0.30) circle (0.15) (0.55,0.25) circle (0.15) (0.75,0.2) circle (0.15) (0.95,0.16) circle (0.15) (1.15,0.2) circle (0.15) (1.35,0.23) circle (0.15) (1.55,0.3) circle (0.15) (1.75,0.38) circle (0.15) (1.95,0.5) circle (0.15) (2.05,0.65) circle (0.15) (2.1,0.85) circle (0.15) (2.05,1.0) circle (0.15) (2.0,1.15) circle (0.15) (1.85,1.35) circle (0.15) (1.6,1.25) circle (0.15) (1.35,1.25) circle (0.15) (1.3,1.5) circle (0.15) (1.3,1.7) circle (0.15) (1.2,1.9) circle (0.15) (0.85,2.05) circle (0.15) (1.05,2.0) circle (0.15); \fi % %\end{pgfonlayer} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % body parts % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\begin{pgfonlayer}{bodylayer} \ifduck@invisible \else % % body %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{pgfinterruptboundingbox} \fill[\duck@body] \duckpathbody; \end{pgfinterruptboundingbox} % % head %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifdefined\duck@head\else\let\duck@head=\duck@body\fi \fill[\duck@head] (0.90,1.50) ellipse (0.50 and 0.625); % % bill %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@grumpy \fill[\duck@bill] \duckpathgrumpybill; \else \ifduck@laughing \fill[\duck@bill!80!black] (0.40,1.20) .. controls (0.54,1.36) and (0.65,1.31) .. (0.91,1.37) .. controls (0.45,1.06) and (0.36,1.18) .. (0.40,1.20) -- cycle; \fill[\duck@bill] (0.41,1.47) .. controls (0.64,1.53) and (0.54,1.30) .. (0.91,1.37) .. controls (-0.02,1.10) and (0.28,1.37) .. (0.41,1.47) -- cycle; \else \ifduck@parrot \fill[\duck@bill!80!black] (0.40,1.45) .. controls (0.51,1.48) and (0.54,1.44) .. (0.59,1.39) .. controls (0.63,1.34) and (0.69,1.34) .. (0.86,1.35) .. controls (0.43,1.15) and (0.37,1.13) .. (0.34,1.20) .. controls (0.52,1.27) and (0.34,1.40) .. (0.40,1.45) -- cycle; \fill[\duck@bill] (0.39,1.49) .. controls (0.50,1.52) and (0.54,1.44) .. (0.59,1.39) .. controls (0.63,1.34) and (0.68,1.34) .. (0.86,1.35) .. controls (0.43,1.15) and (0.54,1.40) .. (0.22,1.20) .. controls (0.24,1.52) and (0.39,1.49) .. (0.39,1.49) -- cycle; \else \fill[\duck@bill] \duckpathbill; \fi \fi \fi % % Superhero mask %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % has to be behind the eyes \ifduck@mask \begin{scope} \clip (0.90,1.50) ellipse (0.50 and 0.625); \fill[\duck@mask,rotate=-15] (-0.1,1.59) rectangle (1.3,1.88); \end{scope} \fi% % % right eye %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fill[\duck@eye, rotate=-20] (0.23,1.7675) ellipse (0.0893 and 0.125); \fill[\duck@pupil, rotate=-20] (0.26,1.7575) ellipse (0.0357 and 0.0714); % % left eye %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \fill[\duck@eye, rotate=-20] (-0.06,1.74) ellipse (0.0786 and 0.1143); \fill[\duck@pupil, rotate=-20] (-0.03,1.73) ellipse (0.0286 and 0.0643); % \fi % from no duck %\end{pgfonlayer} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % clothing % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\begin{pgfonlayer}{clothinglayer} % % tshirt %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@tshirt \begin{pgfinterruptboundingbox} \fill[\duck@tshirt] \duckpathtshirt; \end{pgfinterruptboundingbox} \fi % % tie %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@tie \fill[\duck@tie,rotate=-12] (0.32,0.7) rectangle (0.43,1.15); \fi % % jacket %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@jacket \begin{pgfinterruptboundingbox} \fill[\duck@jacket] \duckpathjacket; \end{pgfinterruptboundingbox} \fi % % stripes for football jersey %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@stripes \duck@stripes \fi % % superhero cape %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@cape \begin{pgfinterruptboundingbox} \fill[\duck@cape] \duckpathcape; \end{pgfinterruptboundingbox} \fi % % necklace (not really clothing, but needs to be below the hair) %%%%% \ifduck@necklace \fill[\duck@necklace] (0.5000,1.112) circle (0.032) (0.5100,1.050) circle (0.032) (0.5200,0.990) circle (0.032) (0.5400,0.931) circle (0.032) (0.5825,0.885) circle (0.032) (0.6450,0.885) circle (0.032) (0.7000,0.910) circle (0.032) (0.7500,0.945) circle (0.032) (0.8000,0.980) circle (0.032) (0.8500,1.020) circle (0.032) (0.9000,1.050) circle (0.032) (0.9500,1.080) circle (0.032) (1.0000,1.110) circle (0.032) (1.0550,1.130) circle (0.032) (1.1100,1.150) circle (0.032) (1.1650,1.165) circle (0.032) (1.2200,1.180) circle (0.032) (1.2750,1.195) circle (0.032) (1.3300,1.210) circle (0.032); \fi % % Scout neckerchief %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@neckerchief \fill[\duck@neckerchief] (0.3650,1.0892) .. controls (0.4127,1.1589) and (0.4900,1.1450) .. (0.4900,1.1450) .. controls (0.6500,0.9300) and (1.1366,1.2400) .. (1.3675,1.2649) .. controls (1.4131,1.2533) and (1.4052,1.2446) .. (1.4099,1.2124) .. controls (1.3028,1.0810) and (0.7415,0.8930) .. (0.6807,0.9076) .. controls (0.8257,0.7387) and (0.6347,0.7168) .. (0.7151,0.4426) .. controls (0.6059,0.5672) and (0.5513,0.6588) .. (0.5938,0.8388) .. controls (0.5871,0.6953) and (0.4493,0.7565) .. (0.4716,0.4967) .. controls (0.3682,0.6697) and (0.3820,0.7984) .. (0.5321,0.9351) .. controls (0.4635,0.9699) and (0.4115,1.0215) .. (0.3650,1.0892) -- cycle; \fill[\duck@woggle, rounded corners=\yscalefactor*1, rotate=-10] (0.33,1.05) rectangle (0.55,0.98); \fi % % buttons (same argument as for the necklace) \ifduck@buttons \ifduck@jacket \fill[\duck@buttons] (0.49,0.6) circle (0.05) (0.46,0.45) circle (0.05) (0.45,0.3) circle (0.05); \else \fill[\duck@buttons] (0.53,0.75) circle (0.05) (0.5,0.6) circle (0.05) (0.47,0.45) circle (0.05); \fi \fi % %\end{pgfonlayer} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % hair styles % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\begin{pgfonlayer}{hairlayer} % % short hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@shorthair \path (0.1,0.1) rectangle (2.1,2.25); \begin{pgfinterruptboundingbox} \fill[\duck@hair] \duckpathshorthair; \end{pgfinterruptboundingbox} \fi % % long hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@longhair \path (0.1,0.1) rectangle (2.1,2.25); \begin{pgfinterruptboundingbox} \fill[\duck@hair] \duckpathlonghair; \end{pgfinterruptboundingbox} \fi % % crazy hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@crazyhair \path (0.1,0.1) rectangle (2.1,2.4); \begin{pgfinterruptboundingbox} \fill[\duck@hair] \duckpathcrazyhair; \end{pgfinterruptboundingbox} \fi % % receding hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@recedinghair \path (0.1,0.1) rectangle (2.1,2.18); \begin{pgfinterruptboundingbox} \fill[\duck@hair] \duckpathrecedinghair; \end{pgfinterruptboundingbox} \fi % % mohican hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@mohican \path (0.1,0.1) rectangle (2.1,2.24); \begin{pgfinterruptboundingbox} \fill[\duck@hair] \duckpathmohican; \end{pgfinterruptboundingbox} \fi % % mullet hair %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@mullet \path (0.1,0.1) rectangle (2.1,2.17); \begin{pgfinterruptboundingbox} \fill[\duck@hair] \duckpathmullet; \end{pgfinterruptboundingbox} \fi % % middle parting %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@parting \path (0.1,0.1) rectangle (2.1,2.22); \begin{pgfinterruptboundingbox} \fill[\duck@hair] (1.4053,1.5403) .. controls (1.5524,2.2939) and (0.3739,2.5180) .. (0.4084,1.6117) .. controls (0.4248,1.8921) and (0.7860,1.9734) .. (0.7860,1.9734) .. controls (1.1125,1.5754) and (1.3375,1.4715) .. (1.4053,1.5403) -- cycle; \end{pgfinterruptboundingbox} \fi % % eye brow %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pgfkeys{/duck/eyebrow/.@def/.get=\duck@test} \ifx\duck@eyebrow\duck@test \ifdefined\duck@hair\let\duck@eyebrow=\duck@hair\fi \fi% \ifduck@eyebrow \fill[\duck@eyebrow, rounded corners=\yscalefactor*1, rotate=60] (1.92,0.21) rectangle (1.98,-0.01); \fill[\duck@eyebrow, rounded corners=\yscalefactor*1, rotate=100] (1.67,-0.77) rectangle (1.73,-0.95); \fi % % beard %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pgfkeys{/duck/beard/.@def/.get=\duck@test} \ifx\duck@beard\duck@test \ifdefined\duck@hair\let\duck@beard=\duck@hair\fi \fi% \ifduck@beard \fill[\duck@beard] (1.3,1.3) circle (0.12) (1.2,1.15) circle (0.12) (0.5,1.05) circle (0.1) (0.525,0.90) circle (0.12) (0.525,0.75) circle (0.12) (0.65,0.65) circle (0.14) (0.75,0.75) circle (0.12) (0.85,0.85) circle (0.12) (0.95,0.95) circle (0.12) (1.05,1.05) circle (0.12) (1.15,1.25) circle (0.12) (1,1.20) circle (0.12) (0.85,1.20) circle (0.12) (0.75,1.15) circle (0.12) (0.65,1.10) circle (0.12) (0.58,1.07) circle (0.12) (0.44,1.46) circle (0.06) (0.52,1.45) circle (0.06) (0.6, 1.41) circle (0.06) (0.68,1.36) circle (0.06) (0.76,1.34) circle (0.06) (0.86,1.26) circle (0.12) (0.38,1.44) circle (0.03) (1,1.28) circle (0.12); \fill[\duck@beard] (1.3,1.3) -- (0.5,1.05) -- (0.65,0.65) -- cycle; \fi% % %\end{pgfonlayer} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Headgear % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\begin{pgfonlayer}{hatlayer} % % alien %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@alien \fill[\duck@alien,rotate=-25] (0.09,2.1) rectangle (0.16,2.6); \fill[\duck@alien,rotate=5] (0.79,1.86) rectangle (0.86,2.25); \fill[\duck@alien] (1.20,2.30) circle (0.07); \fill[\duck@alien] (0.62,2.35) circle (0.07); \fi % % hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@hat \fill[\duck@hat,rotate=-15] (0.44,2.1) ellipse (0.6 and 0.1); \fill[\duck@hat,rotate=-15] (0.07,2.1) rectangle (0.81,2.4); \fill[\duck@hat,rotate=-15] (0.44,2.4) ellipse (0.37 and 0.08); \fi % % cap %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@cap \fill[\duck@cap, start angle=0, end angle=150, radius=0.5] (1.4,1.75) arc; \fill[\duck@cap,rotate=-15] (0.3,2.05) ellipse (0.6 and 0.15); \fi % % Santa %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@santa \fill[\duck@santa] (0.430,1.803) .. controls (0.590,2.174) and (0.837,2.065) .. (1.118,1.954) .. controls (1.679,1.731) and (1.328,1.193) .. (1.647,1.057) .. controls (1.638,1.255) and (1.745,2.104) .. (1.168,2.270) .. controls (0.867,2.356) and (0.536,2.280) .. (0.430,1.803) -- cycle; \fill[white!80!brown] (0.44,1.733) .. controls (0.211,2.299) and (1.082,2.188) .. (1.456,1.759) .. controls (1.534,1.637) and (1.480,1.545) .. (1.400,1.566) .. controls (1.265,1.714) and (0.577,2.267) .. (0.44,1.733) -- cycle; \fill[white!80!brown] (1.6,1.0) circle (0.17); \fi % % Chef hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@chef \fill[\duck@chef,rotate=-15] (0.44,2.1) ellipse (0.37 and 0.08); \fill[\duck@chef,rotate=-15] (0.07,2.1) rectangle (0.81,2.55); \fill[\duck@chef] (1.01,2.47) circle (0.17); \fill[\duck@chef] (1.24,2.35) circle (0.15); \fill[\duck@chef] (0.77,2.40) circle (0.12); \fill[\duck@chef] (1.39,2.20) circle (0.12); \fi % % graduate hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@graduate \fill[\duck@graduate,rotate=-15] (0.44,2.1) ellipse (0.37 and 0.1); \fill[\duck@graduate,rotate=-15] (0.07,2.1) rectangle (0.81,2.3); \fill[\duck@graduate] (0.3,2.25) -- (1.05,2.35) -- (1.7,1.95) -- (0.92,1.85) -- cycle; \fill[\duck@tassel,rounded corners=\yscalefactor*1] (1.12,1.89) -- (1.01,2.1) -- (1.09,2.11) -- (1.2,1.9) -- (1.2,1.3) -- (1.12,1.3) -- cycle; \fill[\duck@tassel] (1.16,1.3) ellipse (0.06 and 0.12); \fi % % beret %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@beret \fill[\duck@beret,rotate=-25] (0.13,2.15) ellipse (0.5 and 0.17); \fill[\duck@beret,rotate=-25] (0.13,2.25) ellipse (0.55 and 0.17); \fill[\duck@beret,rotate=-25] (0.13,2.4) circle (0.08); \fi % % unicorn %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@unicorn \fill[\duck@unicorn,rotate=25] (1.48,1.4375)--(1.60,1.9)--(1.72,1.4375); \fill[\duck@body!100,rotate=25] (1.50,1.43)--(1.60,1.8375)--(1.70,1.43); \fi % % magic hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@magichat \path[preaction={fill, \duck@magichat!100},rotate=-5, pattern=fivepointed stars, pattern color=\duck@magicstars!100] (0.36,1.95)--(0.86,2.95)--(1.20,1.85); \fi % % witch %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@witch \fill[\duck@witch,rotate=-15] (0.44,2.13) ellipse (0.75 and 0.17); \fill[\duck@witch,rotate=-15] (0.05,2.2)--(0.45,3.2)--(0.82,2.2); \fi % % crown %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@crown \path (0.7,1.95) rectangle (1.4,2.45); \begin{pgfinterruptboundingbox} \fill[\duck@crown] \duckpathcrown; \end{pgfinterruptboundingbox} \fi % % Queen crown %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@queencrown \fill[\duck@queencrown] \duckpathqueencrown; \fi % % King crown %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@kingcrown \fill[\duck@kingcrown] \duckpathkingcrown; \fi % % Bunny ears %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@bunny \path (0.55,1.9) rectangle (1.2,2.55); \begin{pgfinterruptboundingbox} \begin{scope} \clip[rotate=-5] (0.68,2.38) ellipse (0.3 and 0.4); \fill[\duck@bunny,rotate=-5] (1.06,2.2) ellipse (0.3 and 0.4) (0.28,2.26) ellipse (0.3 and 0.4); \end{scope} \begin{scope} \clip[rotate=-5] (0.68,2.38) ellipse (0.25 and 0.35); \fill[\duck@inear,rotate=-5] (1.06,2.2) ellipse (0.25 and 0.35) (0.28,2.26) ellipse (0.25 and 0.35); \end{scope} \end{pgfinterruptboundingbox} \fi % % peaked cap %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@peakedcap \fill[\duck@peakedcap,rotate=-15] (0.35,2.05) ellipse (0.5 and 0.15); \fill[\duck@peakedcap,rotate=-25] (0.13,2.15) ellipse (0.5 and 0.17); \fill[\duck@peakedcap,rotate=-35] (-0.25,2.2) ellipse (0.55 and 0.17); \fi % % tophat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@tophat \fill[\duck@tophat,rotate=-15] (0.44,2.1) ellipse (0.48 and 0.1); \fill[\duck@tophat,rotate=-15] (0.12,2.1) -- (0.75,2.1) -- (0.81,2.55) -- (0.07,2.55) -- cycle; \fill[\duck@tophat,rotate=-15] (0.44,2.55) ellipse (0.37 and 0.08); \fi % % darth vader %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@darthvader \path (0.1,0.1) rectangle (2.1,2.22); \begin{pgfinterruptboundingbox} \fill[\duck@darthvader] \duckpathdarthvader; \end{pgfinterruptboundingbox} \fi % % Harlequin duck %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@harlequin \path (0.19,1.85) rectangle (1.85,2.67); \begin{pgfinterruptboundingbox} \fill[\duck@harlequin] (0.6006,1.9719) .. controls (0.7432,1.8954) and (0.9320,1.8698) .. (0.9320,1.8698) -- (1.0404,2.3839) .. controls (0.9223,2.8873) and (0.1755,2.5634) .. (0.3019,2.2958) .. controls (0.5807,2.5024) and (0.7251,2.3376) .. (0.6006,1.9719) -- cycle; \fill[\duck@niuqelrah] (1.2853,1.8902) .. controls (1.1177,1.8507) and (0.9278,1.8703) .. (0.9278,1.8703) -- (1.0404,2.3839) .. controls (1.3637,2.8347) and (1.9373,2.3532) .. (1.7049,2.1284) .. controls (1.5267,2.3895) and (1.3204,2.2666) .. (1.2853,1.8902) -- cycle; \end{pgfinterruptboundingbox} \fill[\duck@harlequin] (1.7,2.07) circle (0.1); \fill[\duck@niuqelrah] (0.3,2.23) circle (0.1); \fi % % Straw hat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@strawhat \fill[\duck@strawhat,rotate=-15] (0.44,2.0) ellipse (0.75 and 0.1); \fill[\duck@strawhat,rotate=-15] (0.1,2.05) rectangle (0.78,2.5); \fill[\duck@strawhat,rotate=-15] (0.44,2.5) ellipse (0.34 and 0.08); \fill[\duck@strawhat,rotate=-15] (-0.3,2.02) -- (1.18,2.02) -- (0.78,2.2) -- (0.1,2.2) -- cycle; \fill[\duck@ribbon,rotate=-15] (0.44,2.2) ellipse (0.34 and 0.08); \fill[\duck@ribbon,rotate=-15] (0.1,2.2) rectangle (0.78,2.3); \fill[\duck@strawhat,rotate=-15] (0.44,2.3) ellipse (0.34 and 0.08); \fi % % helmet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@helmet \fill[\duck@helmet] (1.4331,1.5155) .. controls (1.4365,1.7226) and (1.3866,2.0493) .. (1.0429,2.1279) .. controls (0.7050,2.2052) and (0.4794,1.9294) .. (0.4481,1.8183) .. controls (0.6062,1.8381) and (1.1506,1.7480) .. (1.4331,1.5155) -- cycle; \fill[\duck@helmet!70!black] (1.0282,2.1360) .. controls (0.9395,2.1312) and (0.8696,2.0652) .. (0.8152,2.0010) .. controls (0.7824,1.9609) and (0.7546,1.9169) .. (0.7309,1.8709) .. controls (0.6510,1.8859) and (0.5703,1.8971) .. (0.4892,1.9024) .. controls (0.4595,1.8831) and (0.4114,1.7962) .. (0.4743,1.7961) .. controls (0.5446,1.7868) and (0.6149,1.7767) .. (0.6845,1.7629) .. controls (0.6647,1.7052) and (0.6469,1.6454) .. (0.6401,1.5851) -- (0.6583,1.5355) -- (0.7069,1.5673) .. controls (0.7193,1.6285) and (0.7363,1.6889) .. (0.7590,1.7471) .. controls (0.9991,1.6922) and (1.2114,1.6182) .. (1.4111,1.4722) .. controls (1.4369,1.4960) and (1.4536,1.5229) .. (1.4475,1.5553) .. controls (1.4417,1.5927) and (1.4030,1.6066) .. (1.3766,1.6276) .. controls (1.2054,1.7408) and (1.0085,1.8089) .. (0.8095,1.8546) .. controls (0.8733,1.9674) and (0.9684,2.0703) .. (1.0932,2.1138) .. controls (1.0751,2.1288) and (1.0515,2.1362) .. (1.0282,2.1360) -- cycle; \fill[\duck@helmet!50!white] (0.502,1.845) circle (0.015) (0.586,1.835) circle (0.015) (0.684,1.822) circle (0.015) (0.791,1.799) circle (0.015) (0.899,1.770) circle (0.015) (1.003,1.741) circle (0.015) (1.099,1.706) circle (0.015) (1.185,1.673) circle (0.015) (1.276,1.629) circle (0.015) (1.360,1.581) circle (0.015) (0.676,1.606) circle (0.015) (0.695,1.666) circle (0.015) (0.714,1.729) circle (0.015) (0.784,1.889) circle (0.015) (0.835,1.968) circle (0.015) (0.896,2.034) circle (0.015) (0.957,2.081) circle (0.015) (1.020,2.115) circle (0.015) (1.422,1.535) circle (0.015) (0.502,1.845) circle (0.015); \fi % %\end{pgfonlayer} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Accessories % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % sunglasses %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@sunglasses \fill[\duck@sunglasses,rotate=-17] (0.42,1.8) rectangle (0.8,1.84); \fill[\duck@sunglasses,rotate=-17] (0.12,1.8) rectangle (0.22,1.84); \fill[\duck@sunglasses,rotate=-20] (0.23,1.7675) circle (0.14); \fill[\duck@sunglasses,rotate=-20] (-0.06,1.74) circle (0.13); \fi % % glasses %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@glasses \fill[\duck@glasses,rotate=-17] (0.42,1.8) rectangle (0.8,1.84); \fill[\duck@glasses,rotate=-17] (0.12,1.8) rectangle (0.22,1.84); \fill[\duck@glasses,rotate=-20,even odd rule] (0.23,1.7675) circle (0.14) (0.23,1.7675) circle (0.11); \fill[\duck@glasses,rotate=-20,even odd rule] (-0.06,1.74) circle (0.13) (-0.06,1.74) circle (0.095); \fi % % square glasses \ifduck@squareglasses \fill[\duck@squareglasses,rotate=-17] (0.43,1.8) rectangle (0.8,1.84); \fill[\duck@squareglasses,rotate=-17] (0.12,1.8) rectangle (0.22,1.84); \fill[\duck@squareglasses,rotate=-20,rounded corners=\yscalefactor*2,even odd rule] (-0.16,1.62) -- (-0.18,1.85) -- (0.05,1.87) -- (0.04,1.62) -- cycle [rounded corners=\yscalefactor*1.5] (-0.14,1.64) -- (-0.16,1.83) -- (0.03,1.85) -- (0.02,1.64) -- cycle; \fill[\duck@squareglasses,rotate=-20,rounded corners=\yscalefactor*2,even odd rule] (0.12,1.63) -- (0.10,1.88) -- (0.36,1.90) -- (0.35,1.65) -- cycle [rounded corners=\yscalefactor*1.5] (0.14,1.65) -- (0.12,1.86) -- (0.34,1.88) -- (0.33,1.67) -- cycle; \fi % % icecream %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@icecream \fill[\duck@cone,rotate=-20] (0.35,1.20)--(0.50,0.60)--(0.75,1.20); \fill[\duck@flavoura] (0.85,1.03) circle (0.12); \fill[\duck@flavourb] (1.05,0.95) circle (0.12); \fill[\duck@flavourc] (0.95,1.1) circle (0.12); \fi % % book %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@book \fill[\duck@bookcolour,rotate=-20] (0.40,1.20) rectangle (0.80,0.60); \node[rotate=-20*\yscalefactor/\xscalefactor, color=white] at (0.88,0.70) {\duck@book};% \fi % % signpost %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@signpost \fill[\duck@signcolour, rounded corners=\yscalefactor*1, rotate=-20] (0.8,0.75) rectangle (0.9,1.75); \fill[\duck@signcolour, rounded corners=\yscalefactor*1, rotate=-20] (0.4,1.7) rectangle (1.3,2.4); \fill[\duck@signback, rounded corners=\yscalefactor*1, rotate=-20] (0.45,1.75) rectangle (1.25,2.35); \node[rotate=-20*\yscalefactor/\xscalefactor, color=white] at (1.5,1.65) {\duck@signpost}; \fi % % speech bubble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@speech \fill[\duck@bubblecolour] (-0.5,1.8) ellipse (0.7 and 0.3); \fill[\duck@bubblecolour] (-0.2,1.54) -- (0.2,1.35) -- (0.0,1.6) -- cycle; \node at (-0.5,1.8) {\duck@speech}; \fi % % think bubble %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@think \fill[\duck@bubblecolour] (2,2.4) ellipse (0.7 and 0.35); \fill[\duck@bubblecolour] (1.55,2.35) circle (0.25) (2.0,2.15) circle (0.25) (2.4,2.25) circle (0.25) (1.6,2.55) circle (0.25) (2.0,2.6) circle (0.25) (2.35,2.5) circle (0.25) (1.65,1.95) circle (0.1) (1.55,1.80) circle (0.06) (1.47,1.70) circle (0.03); \node at (2,2.4) {\duck@think}; \fi % % magic wand %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@magicwand \fill[black,rotate=-30] (0.27,1.23) rectangle (0.37,0.65); \fill[white,rotate=-30] (0.27,1.13) rectangle (0.37,1.03); \fi % % cricket bat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@cricket \fill[\duck@cricket, rounded corners=\yscalefactor*2, rotate=-30] (0.4,1.2) rectangle (0.7,2.2); \fill[\duck@cricket, rounded corners=\yscalefactor*1, rotate=-30] (0.5,0.8) rectangle (0.6,1.3); \fi % % rollingpin %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@rollingpin \fill[\duck@rollingpin, rounded corners=\yscalefactor*2, rotate=-60] (-0.18,0.85) rectangle (0.08,1.75); \fill[\duck@rollingpin, rounded corners=\yscalefactor*1, rotate=-60] (-0.1,0.65) rectangle (0.0,1.95); \fi % % lightsaber %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@lightsaber \fill[\duck@lightsaber, rounded corners=\yscalefactor*1, rotate=-30] (0.5,0.9) rectangle (0.6,2.5); \fill[gray!80!black, rounded corners=\yscalefactor*1, rotate=-30] (0.47,0.7) rectangle (0.63,1.2); \fi % % cake %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@cake \fill[\duck@cake] (1.00,0.50) ellipse (0.4 and 0.2); \fill[\duck@cake] (0.6,0.5) rectangle (1.4,0.7); \fill[\duck@cake] (1.00,0.70) ellipse (0.4 and 0.2); \fill[\duck@cake!50!white] (0.75,0.75) rectangle (0.8,0.95); \fill[\duck@cake!50!white] (1.2,0.75) rectangle (1.25,0.95); \fill[\duck@cake!50!white] (0.975,0.65) rectangle (1.025,0.85); \fill[white!85!yellow] (1.0,0.93) ellipse (0.03 and 0.06); \fill[white!85!yellow] (1.225,1.03) ellipse (0.03 and 0.06); \fill[white!85!yellow] (0.775,1.03) ellipse (0.03 and 0.06); \fi % % pizza %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@pizza \fill[brown] (1.00,0.60) ellipse (0.4 and 0.2); \fill[red!70!black] (1.00,0.60) ellipse (0.34 and 0.16); \fill[white!85!yellow] (1.15,0.65) ellipse (0.065 and 0.04); \fill[white!85!yellow] (0.81,0.57) ellipse (0.065 and 0.04); \fill[white!85!yellow] (0.95,0.68) ellipse (0.065 and 0.04); \fill[white!85!yellow] (1.02,0.54) ellipse (0.065 and 0.04); \fill[green!40!brown] (1.09,0.54) ellipse (0.07 and 0.02); \fill[green!40!brown,rotate=20] (1.0,0.34) ellipse (0.07 and 0.02); \fill[green!40!brown,rotate=-20] (0.9,1.05) ellipse (0.07 and 0.02); \fill[green!40!brown] (1.00,0.60) ellipse (0.03 and 0.06); \fi % no pizza %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@davidlikespineapplepizza \fill[brown] (1.00,0.60) ellipse (0.4 and 0.2); \fill[red!70!black] (1.00,0.60) ellipse (0.34 and 0.16); \fill[yellow!70!brown] (1.15,0.65) ellipse (0.08 and 0.06); \fill[red!70!black] (1.15,0.65) ellipse (0.04 and 0.03); \fill[yellow!70!brown] (0.81,0.57) ellipse (0.08 and 0.06); \fill[red!70!black] (0.81,0.57) ellipse (0.04 and 0.03); \fill[yellow!70!brown] (0.95,0.68) ellipse (0.08 and 0.06); \fill[red!70!black] (0.95,0.68) ellipse (0.04 and 0.03); \fill[yellow!70!brown] (1.02,0.54) ellipse (0.08 and 0.06); \fill[red!70!black] (1.02,0.54) ellipse (0.04 and 0.03); \fill[green!40!brown] (1.09,0.54) ellipse (0.07 and 0.02); \fill[green!40!brown,rotate=20] (1.0,0.34) ellipse (0.07 and 0.02); \fill[green!40!brown,rotate=-20] (0.9,1.05) ellipse (0.07 and 0.02); \fill[green!40!brown] (1.00,0.60) ellipse (0.03 and 0.06); \fi % % % % Hockey stick %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@hockey \fill[\duck@hockey, rounded corners=\yscalefactor*1, rotate=-30] (0.5,0.6) rectangle (0.6,2.1); \fill[\duck@hockey, rounded corners=\yscalefactor*3] (0.2,0.2) rectangle (0.85,0.4); \fi % % baguette %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@baguette \fill[\duck@baguette!70!white, rounded corners=\yscalefactor*4, rotate=-30] (0.4,0.72) rectangle (0.7,2.0); \fill[\duck@baguette!80!black, rotate=5] (1.44,1.1) ellipse (0.1 and 0.03) (1.30,0.9) ellipse (0.1 and 0.03) (1.16,0.7) ellipse (0.1 and 0.03) (1.02,0.5) ellipse (0.1 and 0.03); \fi % % football %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@football \fill[\duck@football] (1.2,0.33) circle (0.32); \begin{scope} \clip (1.2,0.33) circle (0.32); \fill[black] (1.06,0.30) -- (1.01,0.17) -- (1.14,0.08) -- (1.26,0.14) -- (1.20,0.28) -- cycle (1.37,0.14) -- (1.46,0.27) -- (1.59,0.27) -- (1.41,0.04) -- cycle (1.28,0.38) -- (1.22,0.52) -- (1.33,0.61) -- (1.45,0.51) -- (1.43,0.37) -- cycle (0.87,0.44) -- (1.02,0.40) -- (1.10,0.53) -- (1.07,0.62) -- (0.94,0.57) -- cycle; \end{scope} \fi % % milkshake %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@milkshake \fill[cyan!10!white, rotate=-10] (0.8,0.50) ellipse (0.17 and 0.05); \fill[cyan!10!white, rotate=-10] (0.8,0.55) ellipse (0.12 and 0.03); \begin{scope} \clip[rotate=-10] (0.58,0.5) rectangle (1.02,1.03); \fill[cyan!10!white, rotate=-10] (0.8,0.94) ellipse (0.18 and 0.4); \fill[\duck@milkshake, rotate=-10] (0.8,0.94) ellipse (0.15 and 0.36); \end{scope} \fill[white!85!yellow] (0.83,0.92) circle (0.05) (0.88,0.9) circle (0.05) (0.93,0.92) circle (0.05) (0.99,0.91) circle (0.05) (1.06,0.86) circle (0.05) (1.13,0.87) circle (0.05) (0.85,0.99) circle (0.05) (0.9,0.98) circle (0.07) (1.0,0.98) circle (0.07) (1.1,0.95) circle (0.07); \fill[red!90!black] (1.0,1.1) circle (0.05); \fill[white!85!yellow] (0.94,1.05) circle (0.05) (1.03,1.03) circle (0.05); \fill[cyan!10!white, rotate=-10] (0.8,0.50) ellipse (0.17 and 0.05); \fill[red!90!black,rotate=20] (1.2,0.58) rectangle (1.22,0.85); \fi % % wine %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@wine \fill[cyan!10!white, rotate=-10] (0.8,0.50) ellipse (0.17 and 0.05); \fill[cyan!10!white, rotate=-10] (0.8,0.55) ellipse (0.12 and 0.03); \fill[cyan!10!white, rotate=-10] (0.8,0.7) ellipse (0.03 and 0.2); \begin{scope} \clip[rotate=-10] (0.58,0.5) rectangle (1.02,1.03); \fill[cyan!10!white, rotate=-10] (0.8,1.1) ellipse (0.18 and 0.4); \end{scope} \begin{scope} \clip[rotate=-10] (0.58,0.5) rectangle (1.02,0.87); \fill[\duck@wine, rotate=-10] (0.8,1.1) ellipse (0.15 and 0.36); \end{scope} \fi % % prison duck %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@prison \fill[\duck@prison] (1.5,0.25) circle (0.3); \fill[\duck@prison, even odd rule] (1.2,0.1) ellipse (0.10 and 0.07) (1.2,0.1) ellipse (0.06 and 0.04) (1.05,-0.05) ellipse (0.10 and 0.07) (1.05,-0.05) ellipse (0.06 and 0.04) (0.87,-0.2) ellipse (0.10 and 0.07) (0.87,-0.2) ellipse (0.06 and 0.04); \fill[\duck@prison, even odd rule] (0.72,-0.2) ellipse (0.10 and 0.07) (0.72,-0.2) ellipse (0.06 and 0.04); \fill[\duck@prison,even odd rule,rotate=70](0.4,-1.05) ellipse (0.1 and 0.07) (0.4,-1.05) ellipse (0.06 and 0.04) (0.2,-0.95) ellipse (0.1 and 0.07) (0.2,-0.95) ellipse (0.06 and 0.04) (0.22,-0.58) ellipse (0.1 and 0.07) (0.22,-0.58) ellipse (0.06 and 0.04); \fill[\duck@prison,even odd rule,rotate=110](-0.33,-0.55) ellipse (0.1 and 0.07) (-0.33,-0.55) ellipse (0.06 and 0.04); \begin{scope} \clip[rotate=-12] (0.45,0.15) rectangle (0.63,0.25); \fill[\duck@prison,even odd rule,rotate=110](-0.07,-0.6) ellipse (0.1 and 0.07) (-0.07,-0.6) ellipse (0.06 and 0.04); \end{scope} \fi % % torch %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@torch \fill[red!50!yellow] \duckpathtorch; \fill[red!25!yellow, scale=0.67, xshift=17, yshift=15] \duckpathtorch; \fill[white!50!yellow, scale=0.4, xshift=53.5, yshift=45.3] \duckpathtorch; \fill[\duck@torch,rounded corners=\yscalefactor*1] (1.1,0.96) -- (0.77,0.25) -- (0.83,0.25) -- (1.3,0.86) -- cycle; \fill[\duck@torch,rotate=-28] (0.62,1.32) ellipse (0.2 and 0.08); \fi% % % sheep %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@sheep \begin{scope} \clip[rotate=-5] (1.2,1.7) ellipse (0.3 and 0.4); \fill[\duck@bill,rotate=-5] (0.8,1.5) ellipse (0.3 and 0.4); \end{scope} \fi % % basket %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@basket \fill[\duck@basket, start angle=180, end angle=360, x radius=0.35, y radius=0.35] (0.65,0.61) arc -- cycle; \fill[\duck@basket, start angle=180, end angle=0, even odd rule] [x radius=0.35, y radius=0.5] (0.65,0.6) arc -- cycle [x radius=0.3, y radius=0.45] (0.7,0.6) arc -- cycle; \fill[\duck@basket, even odd rule] (1,0.6) ellipse (0.35 and 0.1) (1,0.6) ellipse (0.3 and 0.07); \fill[\duck@basket!75!black] (1,0.6) ellipse (0.3 and 0.07); \fi% % % easter basket %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@easter \begin{scope} \clip [start angle=180, end angle=0, x radius=0.3, y radius=0.45] (0.7,0.6) arc -- cycle [start angle=180, end angle=360, x radius=0.3, y radius=0.07] (0.7,0.6) arc -- cycle; \fill[\duck@eggb, rotate=-5] (0.95,0.72) ellipse (0.09 and 0.13); \fill[\duck@egga, rotate=10] (0.94,0.42) ellipse (0.09 and 0.13); \fill[\duck@eggc, rotate=-30] (0.7,1.08) ellipse (0.09 and 0.13); \end{scope} \fi% % % horse tail %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pgfkeys{/duck/horsetail/.@def/.get=\duck@test} \ifx\duck@horsetail\duck@test \ifdefined\duck@hair\let\duck@horsetail=\duck@hair\fi \fi% \ifduck@horsetail \path (0.1,0.1) rectangle (2.82,2.14); \begin{pgfinterruptboundingbox} \fill[\duck@horsetail] \duckpathhorsetail; \end{pgfinterruptboundingbox} \fi % % crozier %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@crozier \begin{scope} \clip [rotate=-20] (0.6,2.3) rectangle (1.1,1.999); \fill[even odd rule,\duck@crozier] (1.5,1.6) circle (0.2) (1.5,1.6) circle (0.1); \end{scope} \fill[\duck@crozier,rotate=-20] (0.663,0.5) rectangle (0.763,2.0); \fi % % stethoscope %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@stethoscope \fill[\duck@stethoscope,rounded corners=\yscalefactor*0.5,rotate=-18] (0.08,0.7) rectangle (0.13,1.24); \fill[\duck@stethoscope] (0.35,0.7) circle (0.1); \begin{scope} \fill[\duck@stethoscope,rounded corners=\yscalefactor*0.5,rotate=-30] (0.53,1.3) rectangle (0.58,1.72); \clip[rotate=-30] (0.36,0.89) -- (0.36,1.36) -- (0.79,1.36) -- (0.79,0.89) -- (0.65,0.89) -- (0.65,0.96) -- (0.5,0.96) -- (0.5,0.89) -- cycle ; \fill [\duck@stethoscope,rounded corners=\yscalefactor*3,rotate=-30,even odd rule] (0.775,1.35) rectangle (0.375,0.9) [rounded corners=\yscalefactor*2] (0.725,1.3) rectangle (0.425,0.95); \end{scope} \fi % % snow duck %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@snowduck \fill[black, rotate=-25] (0.65,0.65) rectangle (0.7,1.8); \fill[black, rotate=35] (1.55,0.15) rectangle (1.6,0.5); \fill[black, rotate=-35] (0.4,1.7) rectangle (0.45,2.0); \fill[black, rotate=-60] (-0.3,2.0) rectangle (-0.35,1.65); \fi % % vampire %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@vampire \ifduck@laughing \fill[\duck@vampire] (0.55,1.28) -- (0.575,1.22) -- (0.6,1.29) -- cycle; \else \fill[\duck@vampire] (0.6,1.20) -- (0.625,1.16) -- (0.65,1.223) -- cycle; \fi \fi % % crystal ball %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@crystalball \shade[ball color=\duck@crystalball,opacity=0.7] (0.93,0.5) circle (0.33); \fi % % Cheese %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@cheese \begin{scope}[xshift=26,yshift=-2] \fill[\duck@cheese] (-0.3200,0.8058) -- (0.0608,0.7220) -- (0.0608,0.6366) -- (-0.3200,0.5410) -- (0.2143,0.4236) .. controls (0.3395,0.4810) and (0.4241,0.5627) .. (0.4117,0.6253) -- (0.4117,0.7634) .. controls (0.4261,0.8618) and (0.2607,0.8954) .. (0.1907,0.8962) -- cycle; \fill[\duck@cheese!35!white] (-0.3200,0.8057) -- (-0.3200,0.5410) -- (0.2143,0.4236) -- (0.2143,0.7381) -- cycle; \fill[\duck@cheese] (-0.23,0.71) circle (0.04) (0.0,0.55) circle (0.04) (-0.23,0.58) circle (0.02) (-0.15,0.6) circle (0.02) (-0.1,0.7) circle (0.02) (0.1,0.65) circle (0.02) (0,0.65) circle (0.02) (0.1,0.5) circle (0.02) (0.07,0.55) circle (0.01) (0.12,0.6) circle (0.01) (-0.08,0.54) circle (0.01); \end{scope} \fi % % shovel %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@shovel \fill[brown!80!black,rotate around={-23:(0.91, 0.88)}] (0.87, 0.28) rectangle ++(0.1,1.4); \fill[\duck@shovel] (0.6133, 0.9536) .. controls (0.8388, 0.8117) and (0.9253, 0.7517) .. (1.1962, 0.6696) -- (0.8332, 0.1263) .. controls (0.6458, 0.11) and (0.5417, 0.1644) .. (0.4517, 0.3034) -- cycle; \fi % % pickaxe %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@pickaxe \fill[brown!80!black,rotate around={-23:(0.91, 0.88)}] (0.87, 0.28) rectangle ++(0.1,1.4); \fill[\duck@pickaxe] (-0.0085, 0.6858) .. controls (0.6422, 0.3523) and (0.7609, 0.3068) .. (1.4114, 0.1108) .. controls (0.6589, 0.1246) and (0.5556, 0.1887) .. (-0.0085, 0.6858) -- cycle; \fi % % wing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifduck@wing \fill[\duck@wing] \duckpathwing; \fi % % %\draw (current bounding box.north west) rectangle (current bounding box.south east);% For debugging bounding boxes % %\end{scope} }% from `\def\duck@draw{` at the very beginning %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Random ducks % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \ifluatex \let\pdfrandomseed\randomseed \fi \ifxetex \pgfmathsetseed{\time} \else \pgfmathsetseed{\number\pdfrandomseed} \fi \pgfmathdeclarerandomlist{head}{{shorthair}{longhair}{crazyhair}{mohican}{mullet}{beard}{alien}{hat}{cap}{santa}{chef}{graduate}{beret}{magichat}{witch}{crown}{bunny}{peakedcap}{tophat}{queencrown}{kingcrown}{harlequin}{strawhat}{parting}} \pgfmathdeclarerandomlist{accessories}{{glasses}{sunglasses}{icecream}{book}{signpost}{magicwand}{cricket}{rollingpin}{lightsaber}{cake}{pizza}{hockey}{baguette}{football}{mask}{necklace}{milkshake}{wine}{prison}{cape}{torch}{crozier}{easter}{stethoscope}{neckerchief}{cheese}{shovel}{pickaxe}{crystalball}} \newcommand{\shuffleducks}{% \pgfmathrandomitem{\head}{head}% \edef\randomhead{\head}% \pgfmathrandomitem{\accessories}{accessories}% \edef\randomaccessories{\accessories}% } \newcommand{\randuck}{% \shuffleducks% \duck[\randomhead, \randomaccessories]% } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % Defining some of the more complicate paths for easy reuse % % naming scheme is \duckpath % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % body parts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\duckpathbody}{% (0.513,1.145) .. controls (0.267, 1.102) and (-0.125,0.657) .. (0.289,0.261) .. controls (0.704,-0.135) and ( 2.863,0.130) .. (1.818,1.419) .. controls (0.938, 0.946) and ( 1.240,1.379) .. (0.513,1.145) -- cycle } \newcommand{\duckpathgrumpybill}{% (0.406,1.472) .. controls (0.643,1.530) and (0.643,1.530) .. (0.800,1.300) .. controls (0.083,0.850) and (0.269,1.369) .. (0.406,1.472) -- cycle } \newcommand{\duckpathbill}{% (0.406,1.472) .. controls (0.643,1.530) and (0.541,1.303) .. (0.910,1.370) .. controls (0.083,0.850) and (0.269,1.369) .. (0.406,1.472) -- cycle } \newcommand{\duckpathwing}{% (1.47,0.56) .. controls (1.51,0.59) and (1.57,0.62) .. (1.60,0.66) .. controls (1.61,0.70) and (1.51,0.69) .. (1.47,0.69) .. controls (1.48,0.72) and (1.41,0.76) .. (1.37,0.74) .. controls (1.35,0.79) and (1.33,0.81) .. (1.25,0.80) .. controls (1.25,0.86) and (1.18,0.88) .. (1.15,0.88) .. controls (1.20,1.01) and (0.40,0.79) .. (0.52,0.57) .. controls (0.63,0.26) and (1.22,0.43) .. (1.47,0.56) -- cycle } % clothing %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\duckpathtshirt}{% (0.490,1.145) .. controls (0.267, 1.102) and (-0.125,0.657) .. (0.289,0.261) .. controls (0.704,-0.135) and ( 2.863,0.130) .. (1.818,1.419) .. controls (0.938, 0.976) and ( 1.240,1.279) .. (0.590,1.000) -- cycle } \newcommand{\duckpathjacket}{% (0.490,1.145) .. controls (0.267, 1.102) and (-0.125,0.657) .. (0.289,0.261) .. controls (0.704,-0.135) and ( 2.863,0.130) .. (1.818,1.419) .. controls (0.880, 0.946) and ( 1.240,1.378) .. (0.513,0.700) -- cycle } % hair styles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\duckpathshorthair}{% (1.3947,1.4175) .. controls (1.4546,1.4518) and (1.4699,1.6566) .. (1.4343,1.7992) .. controls (1.2528,2.5033) and (0.2339,2.2710) .. (0.4151,1.5907) .. controls (0.4345,1.8709) and (0.7421,2.0999) .. (0.9494,1.9054) .. controls (1.2241,1.6476) and (1.3316,1.3814) .. (1.3947,1.4175) -- cycle } \newcommand{\duckpathlonghair}{% (1.4508,0.7565) .. controls (1.5146,0.7888) and (1.5854,0.8216) .. (1.6247,0.8831) .. controls (1.5859,0.8847) and (1.4726,0.9457) .. (1.5587,0.9706) .. controls (1.6317,0.9685) and (1.7016,1.0046) .. (1.7314,1.0734) .. controls (1.7931,1.1660) and (1.6616,1.1176) .. (1.6277,1.1566) .. controls (1.6853,1.1741) and (1.7840,1.1829) .. (1.8123,1.2244) .. controls (1.7022,1.2488) and (1.5688,1.2663) .. (1.5063,1.3739) .. controls (1.4619,1.5143) and (1.4696,1.6649) .. (1.4340,1.8076) .. controls (1.2524,2.5117) and (0.2335,2.2794) .. (0.4060,1.5991) .. controls (0.4341,1.8793) and (0.6629,2.1130) .. (0.9011,1.9578) .. controls (1.2427,1.7382) and (1.3350,1.4214) .. (1.0905,1.0610) .. controls (1.0597,1.0109) and (1.1103,0.9166) .. (1.1805,0.8670) .. controls (1.2507,0.8174) and (1.3503,0.7853) .. (1.4508,0.7565) -- cycle } \newcommand{\duckpathcrazyhair}{% (0.1977,1.9023) .. controls (0.2633,2.0599) and (0.4819,2.0547) .. (0.4713,2.0879) .. controls (0.4647,2.2106) and (0.2516,2.2392) .. (0.2516,2.2392) .. controls (0.4352,2.2933) and (0.7427,1.9304) .. (0.5743,2.3885) .. controls (0.6017,2.3633) and (0.8307,2.1739) .. (0.8082,2.4245) .. controls (0.8271,2.2885) and (0.9195,2.2400) .. (0.9933,2.2673) .. controls (1.0814,2.6593) and (0.9688,2.0034) .. (1.3350,2.3615) .. controls (1.3657,2.3292) and (1.1627,2.1043) .. (1.3424,2.1387) .. controls (1.3102,1.8312) and (1.5049,2.2623) .. (1.5049,2.2623) .. controls (1.5049,2.2623) and (1.4675,2.0493) .. (1.4287,1.9560) .. controls (1.4287,1.9560) and (1.6830,1.9470) .. (1.7178,1.8823) .. controls (1.1926,1.8054) and (2.0160,1.7277) .. (1.4923,1.7275) .. controls (1.5366,1.6685) and (1.3013,1.6009) .. (1.6500,1.5946) .. controls (0.8836,1.5797) and (1.2764,1.9221) .. (0.8957,2.0442) .. controls (0.5516,2.0958) and (0.5228,1.8527) .. (0.4695,1.7963) .. controls (0.4825,1.9607) and (0.3601,1.9095) .. (0.1977,1.9023) -- cycle } \newcommand{\duckpathrecedinghair}{% (1.3385,1.4841) .. controls (1.4243,1.4529) and (1.4877,1.7127) .. (1.3964,1.8658) .. controls (1.1071,2.3511) and (0.5189,2.1609) .. (0.4381,1.6816) .. controls (0.4575,1.9618) and (0.9007,2.2059) .. (1.1308,2.0390) .. controls (1.4703,1.7469) and (1.0343,1.5949) .. (1.3385,1.4841) -- cycle } \newcommand{\duckpathmohican}{% (0.7632,1.7935) .. controls (0.9223,2.3084) and (1.3870,1.8580) .. (1.3920,1.5854) .. controls (1.4233,2.1466) and (0.6812,2.5808) .. (0.6725,1.8166) .. controls (0.6725,1.8166) and (0.7615,1.7926) .. (0.7632,1.7935) -- cycle } \newcommand{\duckpathmullet}{% (1.3723,1.2684) .. controls (1.3723,1.2684) and (1.5129,1.5571) .. (1.4435,1.7815) .. controls (1.2652,2.3572) and (0.3342,2.2633) .. (0.4106,1.5424) .. controls (0.4204,1.6825) and (0.5692,1.9195) .. (0.5692,1.9195) .. controls (0.5692,1.9195) and (0.8475,1.8402) .. (1.1031,1.7844) .. controls (1.0808,1.6260) and (1.1130,1.4754) .. (1.1130,1.4754) .. controls (1.1956,1.4198) and (1.3001,1.3369) .. (1.3723,1.2684) -- cycle } % Acessoires %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand{\duckpathqueencrown}{% (0.7370,2.0732) .. controls (0.6966,2.2091) and (0.6769,2.3503) .. (0.6354,2.4859) .. controls (0.6149,2.5164) and (0.5958,2.5732) .. (0.6498,2.5808) .. controls (0.6973,2.5907) and (0.7091,2.5350) .. (0.6926,2.5016) .. controls (0.6967,2.4544) and (0.7188,2.4109) .. (0.7340,2.3665) .. controls (0.7415,2.3472) and (0.7619,2.2862) .. (0.7676,2.3381) .. controls (0.7755,2.3852) and (0.7871,2.4329) .. (0.7833,2.4808) .. controls (0.7597,2.5148) and (0.7834,2.5720) .. (0.8294,2.5570) .. controls (0.8775,2.5457) and (0.8536,2.4937) .. (0.8436,2.4638) .. controls (0.8502,2.3973) and (0.8640,2.3313) .. (0.8798,2.2664) .. controls (0.9047,2.2750) and (0.9168,2.3261) .. (0.9342,2.3514) .. controls (0.9492,2.3853) and (0.9714,2.4171) .. (0.9773,2.4540) .. controls (0.9645,2.4873) and (0.9766,2.5358) .. (1.0204,2.5303) .. controls (1.0646,2.5298) and (1.0691,2.4725) .. (1.0443,2.4460) .. controls (1.0440,2.3935) and (1.0580,2.3419) .. (1.0671,2.2905) .. controls (1.0706,2.2719) and (1.0788,2.2126) .. (1.0985,2.2554) .. controls (1.1269,2.3087) and (1.1558,2.3623) .. (1.1772,2.4187) .. controls (1.1697,2.4515) and (1.1716,2.5081) .. (1.2210,2.5018) .. controls (1.2706,2.4969) and (1.2686,2.4403) .. (1.2406,2.4126) .. controls (1.2279,2.3600) and (1.2211,2.3057) .. (1.2172,2.2518) .. controls (1.2296,2.2439) and (1.2538,2.2943) .. (1.2693,2.3112) .. controls (1.2908,2.3467) and (1.3228,2.3784) .. (1.3316,2.4200) .. controls (1.3203,2.4624) and (1.3708,2.5014) .. (1.4051,2.4678) .. controls (1.4448,2.4342) and (1.3945,2.3994) .. (1.3765,2.3710) .. controls (1.3022,2.2536) and (1.2440,2.1265) .. (1.1686,2.0097) .. controls (0.9649,1.9465) and (0.8367,1.9955) .. (0.7370,2.0732) -- cycle } \newcommand{\duckpathkingcrown}{% (0.6572,2.0396) .. controls (0.6637,2.0838) and (0.6716,2.1289) .. (0.6684,2.1735) .. controls (0.6481,2.2496) and (0.5923,2.3131) .. (0.5818,2.3921) .. controls (0.5738,2.4607) and (0.6167,2.5343) .. (0.6862,2.5502) .. controls (0.7548,2.5703) and (0.8210,2.5304) .. (0.8720,2.4881) .. controls (0.8984,2.4712) and (0.9239,2.4324) .. (0.9486,2.4249) .. controls (0.9524,2.4691) and (0.9566,2.5158) .. (0.9844,2.5527) .. controls (1.0052,2.5845) and (1.0390,2.6282) .. (1.0820,2.6127) .. controls (1.1212,2.5899) and (1.1378,2.5421) .. (1.1478,2.5003) .. controls (1.1576,2.4639) and (1.1336,2.4180) .. (1.1349,2.3906) .. controls (1.2050,2.4269) and (1.2847,2.4629) .. (1.3654,2.4429) .. controls (1.4292,2.4285) and (1.4864,2.3679) .. (1.4793,2.2998) .. controls (1.4859,2.2404) and (1.4407,2.1925) .. (1.4006,2.1551) .. controls (1.3681,2.1232) and (1.3290,2.0951) .. (1.3072,2.0544) .. controls (1.2904,2.0121) and (1.2805,1.9674) .. (1.2738,1.9225) .. controls (1.1221,1.8892) and (0.9586,1.8836) .. (0.8112,1.9386) .. controls (0.7535,1.9608) and (0.6999,1.9945) .. (0.6572,2.0396) -- cycle } \newcommand{\duckpathdarthvader}{% (0.4264,1.9092) .. controls (0.4347,1.9248) and (0.4612,1.9186) .. (0.4969,1.9783) .. controls (0.5499,2.0670) and (0.7559,2.2377) .. (0.9889,2.2057) .. controls (1.2691,2.1668) and (1.4075,1.8829) .. (1.4176,1.7421) .. controls (1.4279,1.5955) and (1.5246,1.3484) .. (1.5246,1.3484) -- (0.9846,1.2036) .. controls (1.0898,1.2735) and (1.0667,1.5598) .. (1.0555,1.6034) .. controls (0.9758,1.9147) and (0.8121,1.8681) .. (0.7174,1.7694) .. controls (0.5671,2.0370) and (0.4103,1.7556) .. (0.4132,1.472) -- (0.3529,1.415) .. controls (0.3529,1.43938) and (0.3893,1.8379).. (0.4264,1.9092) -- cycle } \newcommand{\duckpathhorsetail}{% (1.7248,1.3553) .. controls (2.0530,1.3369) and (2.1427,1.1604) .. (2.2915,0.9970) .. controls (2.4759,0.7946) and (2.9531,0.8890) .. (2.7668,0.9003) .. controls (2.4670,0.9184) and (2.5158,1.1488) .. (2.3907,1.3152) .. controls (2.2788,1.4641) and (1.9414,1.5945) .. (1.7248,1.3553) -- cycle } \newcommand{\duckpathcape}{% (0.225,0.966) .. controls (1.314,0.961) and (2.070,0.650) .. (2.042,1.245) .. controls (1.863,1.164) and (1.844,1.173) .. (1.792,1.340) .. controls (1.635,1.235) and (1.620,1.268) .. (1.567,1.393) .. controls (1.358,1.086) and (0.664,1.096) .. (0.460,1.110) .. controls (0.461,1.133) and (0.305,1.077) .. (0.235,0.966) -- cycle } \newcommand{\duckpathcrown}{% (0.7365,2.0616) .. controls (0.7365,2.0616) and (0.7771,2.1763) .. (0.6959,2.4650) -- (0.8895,2.2378) -- (1.0391,2.3943) -- (1.1260,2.1961) -- (1.3938,2.3318) .. controls (1.1927,2.1132) and (1.2194,1.9764) .. (1.2194,1.9764) .. controls (1.0774,1.9202) and (0.8507,1.9601) .. (0.7365,2.0616) -- cycle } \newcommand{\duckpathtorch}{% (1.4338,1.0258) .. controls (1.4308,0.8877) and (1.3468,0.8997) .. (1.2447,0.7481) .. controls (1.1427,0.8982) and (1.0721,0.8892) .. (1.0646,1.0243) .. controls (1.0541,1.1714) and (1.2642,1.1654) .. (1.2492,1.3860) .. controls (1.3093,1.3110) and (1.4383,1.2705) .. (1.4338,1.0258) -- cycle } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 32237378723223 % 23737232212232237822 % 3282232232232232232<3723 % 382232232232232232232232232 % 72232322323323223223223223282 % 7503223223522332322322322322372 % 9hklke23232<252<2322322322322323 % 9jzltrg22320fklke23232232232232232 % 0lzp ye252qkzliuk92323223223223223 % 2dkfaw233<<32232232232232232232232232282822322322322322322372 % 37232232232232232232232232232232232232232232232232232237< % 728282232232232232232232232232232232232232232232232232232232 % 282232232232232232232232232232232232232232232232232232232232232 % 282232232232232232232232232232232232232232232232232232232232232282 % 7322322322322322322322322322322322322322322322322322322322322322322 % 23223223223223223223223223223223223223223223223223223223223223223223 %322322322322322322322322322322322322322322322322322322322322322322322 %322322322322322322322322322322322322322322322322322322322322322322322 %232232232232232232232232232232232232232232232232232232232232232232282 %82232232232232232232232232232232232232232232232232232232232232232282 %3223223223223223223223223223223223223223223223223223223223223223282 %273223223223223223223223223223223223223223223223223223223223223723 % 273223223223223223223223223223223223223223223223223223223223723 % 228223223223223223223223223223223223223223223223223223228232 % 2822322322322322322322322322322322322322322322322378232 % 2378223223223223223223223223223223223223223782232 % 322378282232232232232232232232282878223223 % 223232232282828282322322323223 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % stripes for sports jerseys % % code contributed by Carla Maggi % https://tex.stackexchange.com/a/387126/36296 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newcommand*{\stripes}[1][]{\tikzset{% /stripes/.cd,#1}\stripes@draw% } \tikzset{ /stripes/.cd, color/.code = \def\stripes@color{#1}, distance/.code = \def\stripes@distance{#1}, width/.code = \def\stripes@width{#1}, height/.code = \def\stripes@height{#1}, initialx/.code = \def\stripes@initialx{#1}, initialy/.code = \def\stripes@initialy{#1}, rotate/.code = \def\stripes@rotate{#1}, emblem/.code = \def\stripes@emblem{#1}, % setting defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% color = black, distance = 0.3, width = 0.15, height = 2.7, initialx = 0.1, initialy = -0.3, rotate = -10, emblem = \empty } \def\stripes@draw{% \path (0.1,0.1) rectangle (2.1,1.45); \begin{pgfinterruptboundingbox} \begin{scope} \clip \duckpathjacket; \foreach \shifta in {0,\stripes@distance,...,2.4}{% \fill[\stripes@color,rotate around={\stripes@rotate:(1.2,0.9)}] ($(\stripes@initialx,\stripes@initialy)+(\shifta,0)$) rectangle ($(\stripes@initialx,\stripes@initialy)+(\shifta,0)+(\stripes@width,\stripes@height)$); } \end{scope} \end{pgfinterruptboundingbox} \node at (wing) {\stripes@emblem }; } %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %.........................%%%%%%%%%%%%%%%%%%%......................... %....................%%%%%%%%%............%%%%%%%%.................... %................%%%%%%....%%...................%%%%%%................ %.............%%%%%.......%%%.......................%%%%%............. %...........%%%%........%%%%%%%%%...................%%%%%%%........... %.........%%%........%%%%%%%%%%%%%%%%..............%%%%%%%%%%......... %.......%%%.......%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%....... %......%%%...%%%%%%%%%%%%%%%%%%%%%%%%%%..............%%%%%%%%%%%...... %.....%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%................%%%%%%%%%%%..... %...%%%%........%%%%%%%%%%%%%%%%%%%%%...................%%%%%%%%%%%... %...%%%..........%%%%%%%%%%%%%%%%%%%.....................%%%%%%%%%%... %..%%%............%%%%%%%%%%%%%%%%%.......................%%%%%%%%%%.. %.%%%%............%%%%%%%%%%%%%%%%%........................%%%%%%%%%%. %.%%%..............%%%%%%%.......%%%......................%%%.....%%%. %%%%..............%%...............%%%...................%%%.......%%% %%%..............%%.................%%%..................%%.........%% %%%%............%%%...................%%%...............%%..........%% %%%%...........%%%.....................%%%.............%%...........%% %%%%%..........%%........................%%%%%%%%%%%%%%%%...........%% %%%%%........%%%........................%%%%%%%%%%%%%%%%%%.........%%% %.%%%%%%%%%%%%%%%......................%%%%%%%%%%%%%%%%%%%.........%%. %.%%%%%%%%%%%%%%%%.....................%%%%%%%%%%%%%%%%%%%........%%%. %..%%%%%%%%%%%%%%%%...................%%%%%%%%%%%%%%%%%%%%%.......%%.. %...%%%%%%%%%%%%%%%%%................%%%%%%%%%%%%%%%%%%%%%%......%%... %...%%%%%%%%%%%%%%%%%%............%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%.... %.....%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%....%%%..... %......%%%%%%%%%%%%%%%%................%%%%%%%%%%%%%%%%......%%%...... %.......%%%%%%%%%%%%%%....................%%%%%%%%%%........%%%....... %.........%%%%%%%%%%%........................%%%%.........%%%......... %...........%%%%%%%%%........................%%........%%%%........... %.............%%%%%%%%%.....................%%......%%%%%............. %................%%%%%%%%.................%%%...%%%%%%................ %....................%%%%%%%%......%%%%%%%%%%%%%%%.................... %..........................%%%%%%%%%%%%%%%%%.......................... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%