úÎ¥‰3      !"#$%&'()*+,-./012 Safe-Inferred Safe-Inferred        Safe-Inferred3456789:;<=>?@    3456789:;<=>?@ Safe-Inferred =Templates comprises a map of file names to Template instances$eA template is described by a root xml element, a DataMap, and the reference to the Templates instanceACA map of element ids to DataValues, and attribute ids to DataValuesBÿ A data value is used to populate an element/attribute in an xml document It denotes either an element value (string) and the index position to set, or an attribute name, with value and index position, or the number of times to repeat an element, or to hide an element6 !"#$%&'()ACDEBFGHIJKLMNOP*QR+,S-T./UV0WXY1Z[\]^_`a2bc !"#$%&'()*+,-./012$&%'() "!#,-.01*+/2" "!#$&%'()ACDEB LHGFMNIJKOP*QR+,S-T./UV0WXY1Z[\]^_`a2bcd        !"#"$%&%'()*+,-./0123456789:;<=>?@ABACDEFGHIJBKLMNOPQRSTUVWXYZ[\]^_`abproton-haskell-0.5Text.Proton.XmlInternalText.Proton.XmlTypesText.Proton.XmlText.Proton.Templatematches isWhitespace spanUntilsplitOnsplitUntilClosesplitUntilClose' splitTextRenderCallbackFnElement ElementTypeClosedOpenRawRoot Attribute NoAttributeattnameattvalueocccontainsAttribute copyElement copyElements findAttribute getChildren getAttributesparseAttributes parseXmlFilerenderrender' TemplatesDummyTemplatestmplMapTemplate NoTemplatexmldataMaptmpsref loadTemplates getTemplatesetElementValuesetElementValuessetAttributeValueinclude repeatElement hideElementrenderTemplateparseTagparsegetDatagetFn renderNoopincrementOccurrencespreprocessElementpreprocessElement' renderElement renderClosed renderOpen renderListrenderAttributerenderAttributeListDataMap DataValueeidMapaidMapHideRepeat DataNameValuednnamednvaldnposdvaldposvalidExt getValidFilesloadTemplates' loadTemplateextractAttributessetElementValues'include'includeSearch'repeatElementsrepeatElement'repeatElementCopy hideElements hideElement' renderReplacerenderReplaceEIDrenderReplaceEID'renderReplaceAIDrenderReplaceAID'replaceAttributeValue$fShowTemplate $fShowDataMap