sh       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~$(c) 2013 diagrams team (see LICENSE)BSD-style (see LICENSE)!diagrams-discuss@googlegroups.comNoneIOT(%+Abstraction of the drawing surface details.&EType of the monad that tracks the state from side-effecting commands.'PType for a monad that writes Postscript using the commands we will define later.+CHandles opening and closing the file associated with the passed %- and renders the commands built up in the & argument.,*Renders multiple pages given as a list of &, actions to the file associated with the % argument.-8Builds a surface and performs an action on that surface..Clip with the current path./Start a new path.0Close the current path.19Draw an arc given a center, radius, start, and end angle.2Move the current point.3Add a line to the current path from the current point to the given point. The current point is also moved with this command.4Add a cubic Bzier curve segment to the current path from the current point. The current point is also moved with this command.5BAdd a line segment to the current path using relative coordinates.6jAdd a cubic Bzier curve segment to the current path from the current point using relative coordinates.7Stroke the current path.9;Fill the current path without affecting the graphics state.:#Draw a string at the current point.;BDraw a string by first measuring the width then offseting by half.<?Draw a string uniformally scaling to fit within a bounding box.=ODraw a string with offset factors from center relative to the width and height.>2Apply a transform matrix to the current transform.?<Push the current state of the renderer onto the state stack.@5Replace the current state by popping the state stack.A Push the current graphics state.BPop the current graphics state.C;Push the current transform matrix onto the execution stack.DZSet the current transform matrix to be the matrix found by popping the execution stack.E/Set the color of the stroke. Ignore gradients.F-Set the color of the fill. Ignore gradients.GSet the color of the stroke.HSet the color of the fill.ISet the line width.JSet the line cap style.KSet the line join method.LSet the miter limit.MSet the dash style.N'Translate the current transform matrix.O#Scale the current transform matrix.P$Rotate the current transform matrix.o  "#$%&'()*+,-./01x-coordinate of center.y-coordiante of center.raidus.start angle in radians.end angle in radians.23456789:;<=>?@ABCDEFGHIJKLM%Dash pattern (even indices are "on").Offset.NOPF  "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPF&"*%'()+,-/2345610789>?@ABCDNOPEGFHIJKLM:;=<.   #$N   "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP((c) 2014 diagrams-lib team (see LICENSE)BSD-style (see LICENSE)!diagrams-discuss@googlegroups.comNone0AITYjThe color with which shapes are filled. Note that child colors always override parent colors; that is, c c1 . c c2 $ d is equivalent to ^ c2 $ dT. More precisely, the semigroup structure on fill color attributes is that of .ZsThe color with which lines (strokes) are drawn. Note that child colors always override parent colors; that is, ^ c1 . ^ c2 $ d is equivalent to ^ c2 $ dT. More precisely, the semigroup structure on line color attributes is that of .^Set the line (stroke) color._Apply a ^ attribute.`A synonym for ^.cSet the fill color.dKSet a "recommended" fill color, to be used only if no explicit calls to  fillColor (or fc, or fcA ) are used.fA synonym for cYZ[\]^_`abcdefghijYZ[\]^_`abcdefZ[\]^_`YeabdcfYZ[\]^_`abcdefghij$(c) 2013 Diagrams team (see LICENSE)BSD-style (see LICENSE)!diagrams-discuss@googlegroups.comNone$%&059:;<=DR The current accumulated style.Whether or not we saw any lines in the most recent path (as opposed to loops). If we did, we should ignore any fill attribute. diagrams-lib separates lines and loops into separate path primitives so we don't have to worry about seeing them together in the same path.mPostscript only supports EPS style output at the moment. Future formats would each have their own associated properties that affect the output.nEncapsulated Postscript output.pUThis data declaration is simply used as a token to distinguish this rendering engine.'the name of the file you want generated the requested size of the output(the output format and associated options?Get an accumulated style attribute from the render monad state.+Handle those style attributes for which we can immediately emit postscript instructions as we encounter them in the tree (clip, font size, fill rule, line width, cap, join, and dashing). Other attributes (font face, slant, weight; fill color, stroke color, opacity) must be accumulated.0mnopqr~mnopq~ pqo~mn$mnopqr~$(c) 2013 Diagrams team (see LICENSE)BSD-style (see LICENSE)!diagrams-discuss@googlegroups.comNone9;DRanimMain is like @, but renders an animation instead of a diagram. It takes as input an animation and produces a command-line program which will crudely "render" the animation by rendering one image for each frame, named by extending the given output file name by consecutive integers. For example if the given output file name is  foo/blah.eps, the frames will be saved in foo/blah001.eps, foo/blah002.eps, and so on (the number of padding digits used depends on the total number of frames). It is up to the user to take these images and stitch them together into an actual animation format (using, e.g. ffmpeg).Of course, this is a rather crude method of rendering animations; more sophisticated methods will likely be added in the future.The --fpuh option can be used to control how many frames will be output for each second (unit time) of animation. oppo       !"#$%&'()*+,-../0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghNijklmnopqrstuuvwxyz{|}~,-_`EF.diagrams-postscript-1.4-3oGAf40ZeRYBKY8de5jkm2Diagrams.Backend.Postscript#Diagrams.Backend.Postscript.CmdLineGraphics.Rendering.Postscript Diagrams.Backend.Postscript.CMYK(diagrams-core-1.4-C1Fi13LLID590UFiwixhkEDiagrams.Core.TypesOptions'diagrams-lib-1.4-Khhb5iFUicm48mw9AOJZaFDiagrams.Backend.CmdLinemainWithCMYK_cyan_magenta_yellow_blacK $fShowCMYK$fEqCMYK FontWeightFontWeightNormalFontWeightBold FontSlantFontSlantNormalFontSlantItalicFontSlantObliqueblacKcyanmagentayellow$fShowFontSlant $fEqFontSlant$fShowFontWeight$fEqFontWeight$fEqPostscriptFont$fShowPostscriptFontfaceisLocalsizeslantweight $fEqDrawState RenderStatefillRulefontSurfaceRenderPSWriter runPSWriter drawState renderWithrenderPagesWithwithEPSSurfaceclipnewPath closePatharcmoveTolineTocurveTo relLineTo relCurveTostrokefill fillPreserveshowTextshowTextCentered showTextInBox showTextAlign transformsaverestoregsavegrestore saveMatrix restoreMatrix strokeColor fillColorstrokeColorCMYK fillColorCMYK lineWidthlineCaplineJoin miterLimitsetDash translatescalerotate$fFunctorPSWriter$fApplicativePSWriter$fMonadPSWriter$fMonadWriterPSWriter$fFunctorRender$fApplicativeRender $fMonadRender$fMonadStateRender FillColorCMYK LineColorCMYKgetLineColorCMYKmkLineColorCMYKstyleLineColorCMYK lineColorCMYKlineColorCMYKAlcCMYKmkFillColorCMYKstyleFillColorCMYKrecommendFillColorCMYKgetFillColorCMYKfcCMYK$fDefaultFillColorCMYK$fAttributeClassFillColorCMYK$fDefaultLineColorCMYK$fAttributeClassLineColorCMYK$fSemigroupLineColorCMYK$fSemigroupFillColorCMYK OutputFormatEPSB Postscript$fHashableOutputFormat$fEqPostscript$fOrdPostscript$fReadPostscript$fShowPostscript$fEqOutputFormat$fOrdOutputFormat$fReadOutputFormat$fShowOutputFormat$fEnumOutputFormat$fBoundedOutputFormat$fGenericOutputFormat psfileName psSizeSpecpsOutputFormat renderDias$fRenderableTextPostscript$fRenderablePathPostscript$fRenderableTrailPostscript$fRenderableSegmentPostscript$fHashableOptions$fBackendPostscriptV2Double$fMonoidRender$fDefaultPostscriptState $fShowOptions defaultMain multiMain pagesMainanimMain$fMainableActive $fMainable[] $fMainable[]0$fMainableQDiagramPostscriptFont_face_slant_weight_size_isLocal DrawStateDS _fillRule_font defaultFontRS _drawState_savedemptyDSheaderfooter_width_heightfileName runRendersavedemptyRSdoRenderrenderPSmkPSCall mkPSCall'matrixPScolorPS colorCMYK showArray fromLineCap fromLineJoinstringPS epsHeader epsFooter renderFont fontFromNamebaseData.SemigroupLastsetAttr _accumStyle _ignoreFill _psfileName _psSizeSpec_psOutputFormatgetStyleAttribpostscriptStylePostscriptStateRenderMCPostscriptOptions accumStyle ignoreFillliftC runRenderMrunCtoRenderrenderC fromFontSlantfromFontWeightpostscriptTransf setFillColorsetStrokeColorpostscriptPathif'D:R:RenderPostscriptV2Double0D:R:OptionsPostscriptV2Double0 chooseRender renderDias' renderDia'