-(I      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH.Types for defining project and project systems(c) Rodrigo Setti, 2017MITrodrigosetti@gmail.com experimentalPOSIXNone0@ A project system defines the bindins (mapping from names to expressions or tasks) and properties, which can be associated to any binding 8Any binding (with a name) may have associated propertiesA binding of a name can refer to an expression. If there are no associated expressions (i.e. equation) then it can have task-level properties!Structure of a project expression$ Expected cost%"Expected probability of succeeding'$Simplify a project binding structure(Simplify a project expression structure 1) transform singleton collections into it's only child 2) flatten same constructor of the collection)5Sort projects in the system order that minimizes cost*)Sort project in order that minimizes costIHHelper function to transform any Nan (not a number) to positive infinity0  !"#$J%K&L'()*I++   !"#$%&'()*+   !"#$&%'()*   !"#$J%K&L'()*I+Debugging functions(c) Rodrigo Setti, 2017MITrodrigosetti@gmail.com experimentalPOSIXNone@;(Print a ProjectSystem to standard output<uPrint a Project Expression in a Project System to standard output. The expression is printed in a tree like fashion.;<;<;<;<!export parser for project systems(c) Rodrigo Setti, 2017 MIT rodrigosetti@gmail.com  experimental POSIX None@MSpace consumerNN& parses something between parenthesis.Olist of reserved wordsPMQRNOSTUVWXYZ===PMQRNOSTUVWXYZ=3a backend that renders to a text that can be parsed(c) Rodrigo Setti, 2017 MIT rodrigosetti@gmail.com  experimental POSIX None@>Plain text renderer[>\]^_`a>>[>\]^_`a%a backend that renders to PNG diagram(c) Rodrigo Setti, 2017 MIT rodrigosetti@gmail.com  experimental POSIX None:@DLR ?Options for renderingA,Whether to color boxes depending on progressBThe width of the output imageCThe height of the output imageDThe name of the root projectE"Properties that should be renderedbData type used by the treec,Translates a ProjectSystem into a Tree PNodedhow many childrenFThe main rendering function?@ABCDEebfghijklmnocdFpq?@ABCDEFF?@ABCDE ?@ABCDEebfghijklmnocdFpqr      !"#$%&'()*+,-./0123456789:;<=>?@ABCCDEFGHBIJKLMNOPQRSTUVWXYZ[\]^_[`abcdefcghijklmnopqr*master-plan-0.1.0.0-3UM3rXdSxVGEFtUtOY8alSMasterPlan.DataMasterPlan.Internal.DebugMasterPlan.ParserMasterPlan.Backend.IdentityMasterPlan.Backend.Graph ProjectSystembindings ProjPropertyPTitle PDescriptionPUrlPOwnerPCostPTrust PProgressProjectPropertiestitle descriptionurlownerBinding BindingAtomic BindingExprBindingPlaceholder ProjectExprSumProductSequence Reference ProjectKeyProgressCostTrustdefaultProjectProps defaultCost defaultTrustdefaultProgressdefaultTaskProj bindingTitlecosttrustprogresssimplify simplifyProj prioritizeSysprioritizeProj$fShowProjProperty$fEqProjectExpr$fShowProjectExpr$fDataProjectExpr$fEqProjectProperties$fShowProjectProperties$fDataProjectProperties $fEqBinding $fShowBinding $fDataBinding$fEqProjProperty$fEnumProjProperty$fBoundedProjProperty$fEqProjectSystem$fShowProjectSystem$fDataProjectSystemdebugSys debugProj runParserrender RenderOptionscolorByProgress renderWidth renderHeightrootKeywhitelistedProps$fEqRenderOptions$fShowRenderOptionsnanToInfcostConjunctiontrustConjunctionprogressConjunctionscparensrwsParserlexemesymbol identifier stringLiteral percentagenonNegativeNumber definitionexpressionParser dependencies projectSystem RenderMonad renderLine renderName renderPropsrenderProperty renderBindingPNode toRenderModeltreeSize RenderModelNodeRefNodeTypeSumNode ProductNode SequenceNode AtomicNodeleftText rightTextmkLeaf renderTree renderNode