(name 'ConfigurationOfXMLParser-monty.353' message 'changed XMLNode>>#asString to no longer potentially truncate its output like #printString' id '78316620-3729-0d00-9fec-153d09e7eae2' date '05/22/2018' time '09:24:00' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.352' message 'updated GT package ref' id '6c61d883-eb26-0d00-979f-55620c9dbda0' date '04/23/2018' time '04:21:08' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.351' message 'added explicit deprecations for certain soft-deprecated (categorized as "deprecated") methods' id '1f4218bc-a225-0d00-8431-43fe00dbc046' date '04/07/2018' time '08:06:07' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.350' message 'updated tests for new XMLWriter self-closing tag formatting' id '7794e7ae-9525-0d00-a7fb-632b06ee03cd' date '04/06/2018' time '04:31:52' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.349' message 'improved and simplified SAX xml declaration handler test' id '78ea7e9f-3224-0d00-b545-399801b5dea6' date '03/20/2018' time '12:55:40' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.348' message 'added stream converter convenience methods and changed preferred classes to ignore implicit converters' id '98169c1b-1224-0d00-a720-e7ef0dc29a35' date '03/18/2018' time '10:08:08' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.347' message 'updated GS compatibility package' id 'e8d0ebcc-0f24-0d00-b4a8-70d00937f8b1' date '03/18/2018' time '07:22:58' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.346' message 'refactored stream adapter printing' id '038c6589-f623-0d00-8c7d-d98507b734b3' date '03/17/2018' time '01:14:31' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.345' message 'refactored encoding detector clases' id '835dd780-f223-0d00-af37-8ffa0f15dc1a' date '03/16/2018' time '08:25:47' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.344' message 'added #enableCompression to XMLHTTPRequest' id '82247ac0-be23-0d00-85ae-3fde0538ffb3' date '03/14/2018' time '06:41:17' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.343' message 'refactored NFA/DFA code' id '63bce069-a823-0d00-a92a-94c9069b0260' date '03/13/2018' time '04:02:15' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.342' message 'refactored' id '1396a897-5623-0d00-82f8-ef20087b8e07' date '03/09/2018' time '01:25:15' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.341' message 'refactored' id '00782a0a-4123-0d00-9a90-7ae10cf98562' date '03/07/2018' time '11:42:27' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.340' message 'refactored and improved error messages' id '0b4549d6-0623-0d00-814f-80920bd48c86' date '03/05/2018' time '02:16:09' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.339' message 'fixed timestamp' id 'e422e35b-0e22-0d00-8b06-bdff07f0f018' date '02/20/2018' time '05:49:23' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.338' message 'made #isInLanguage: support wildcards' id '496df047-0e22-0d00-8b04-96f907f0f018' date '02/20/2018' time '05:43:49' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.337' message 'refactored' id '6a9717c8-c021-0d00-9b35-56960dac31c8' date '02/16/2018' time '09:16:11' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.336' message 'fixed namespace re-mapping attribute validation bug' id '6337291b-bf21-0d00-a545-23fc0f8996d0' date '02/16/2018' time '07:16:15' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.335' message 'optimized DOM tree namespace validation' id '7c57b757-b921-0d00-b73d-1c5200a61c65' date '02/16/2018' time '12:23:41' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.334' message 'fixed a namespace bug in attributeAt:put: and optimized other attribute list methods' id 'bbccf8d0-6721-0d00-b63b-fec908fa77f6' date '02/12/2018' time '11:07:48' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-TorstenBergmann.333' message 'use XML-ParserGTExtensions-TorstenBergmann.5 with Attribute view' id 'e10143df-5521-0d00-85b6-45790c49822b' date '02/11/2018' time '07:43:18' author 'TorstenBergmann' ancestors ((name 'ConfigurationOfXMLParser-monty.332' message 'improved comments' id 'c22b198e-4c21-0d00-af16-5b090669f51e' date '02/11/2018' time '02:36:22' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.331' message 'fixed a bug in the use of the legacy ZnByteEncoder.' id '4c86b6fa-3921-0d00-90dd-1d2201e682d2' date '02/10/2018' time '04:26:40' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.330' message 'simplified binary/external stream detection and handling for GS' id 'bed0a902-1021-0d00-ae90-9dba0bc79e4b' date '02/08/2018' time '02:22:25' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.329' message 'added "Save As" action for DOM tree view' id '2eaeb850-0b21-0d00-be4c-11c30ddfe825' date '02/07/2018' time '08:46:19' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.328' message 'HTTP request initialization fix' id '03648200-0121-0d00-8702-592b0f28e740' date '02/07/2018' time '08:28:04' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.327' message 'made stream converters default to decoding from/encoding to binary (and optimized them), reintroduced HTTP gzip compression support, deprecated #requiresDocumentConstraints in favor of #requiresSchema' id '258114a8-0021-0d00-bc71-a21a0744c396' date '02/07/2018' time '08:03:20' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.326' message 'refactored abstract factory and stream converter classes' id 'b87b57b0-4720-0d00-944a-1c8c014bb924' date '01/29/2018' time '03:22:50' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.325' message 'changed OrderPreservingDictionary version' id '12e51b3d-3320-0d00-a499-a75f06376ba4' date '01/28/2018' time '02:58:57' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.324' message 'reorganized Config for package renamings' id '4c90490b-3320-0d00-8b7a-75b80cb9903a' date '01/28/2018' time '02:45:02' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.323' message 'updated GT package ref' id 'b8e474f5-f51f-0d00-b195-fcaf0189cdff' date '01/25/2018' time '01:52:22' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.322' message 'remove HTTP compression support because it cannot be done portably' id '037bbc68-f41f-0d00-8308-c63b07c74f01' date '01/25/2018' time '12:01:26' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.321' message 'GS fix' id 'd8e284ef-f21f-0d00-a755-f79d01443aac' date '01/24/2018' time '10:15:58' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.320' message 'added #removeAllFormattingNodes to remove formatting string nodes from a DOM tree, added error-raising #new implementations to SAXHandler and other classes that must be created with #on:, made HTTP behavior more consistent across Zinc and WebClient, changed the handling of encoding attributes so BOMs and HTTP Content-Types take precedence, refactored stream classes' id '716548a9-f21f-0d00-a752-1b2401443aac' date '01/24/2018' time '09:56:19' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.319' message 'GS fixes' id '5aa188c5-9f19-0d00-a7d8-e0fa0e197677' date '11/05/2017' time '10:31:41' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.318' message 'changed the default encoding for HTTP entities to Latin-1 like the HTTP spec requires' id 'f9d90bea-ad18-0d00-932a-5567023a0d3d' date '10/24/2017' time '10:58:52' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.317' message 'refactoring' id '4b4e67e2-9518-0d00-877a-357a0abb8ae5' date '10/23/2017' time '06:18:44' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.316' message 'added instance side versions of the #formatSignal* messages to XMLException and added separate messages to format the message without signaling' id '2092487e-9018-0d00-856a-e2240b32aeaf' date '10/22/2017' time '11:52:50' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.315' message 'fixed a WebClient decoding bug' id '818ed299-5b18-0d00-b16d-f9ea053f5eb9' date '10/20/2017' time '08:46:39' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.314' message 'made the entity resolver decorator interface consistent with the entity resolver base class and added a #printOn: method' id '209dc9ca-4118-0d00-9a8d-69ac0c667d14' date '10/19/2017' time '01:59:11' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-CyrilFerlicot.313' message 'Correct wrong version number for XMLParser package in stable version.' id '00dc6f9e-2f18-0d00-8c12-784104a1db53' date '10/18/2017' time '10:18:17' author 'CyrilFerlicot' ancestors ((name 'ConfigurationOfXMLParser-monty.312' message 'XMLFileSystemFileHandle fix for renaming #path: to #setPath: (thanks Doru)' id '4ae7057d-2c18-0d00-b6a6-0ae90677ca3f' date '10/18/2017' time '12:34:12' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.311' message 'fixed http external entity decoding to assume the Content-Type charset encoding when there''s no BOM and it''s not obviously UTF-32/16 (thanks Peter B. Kenny)' id 'dd2c6abe-1918-0d00-a31e-aa210d18aa98' date '10/17/2017' time '02:12:25' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.310' message 'refactored' id '312da2c6-7717-0d00-825e-e82a0a0833ef' date '10/09/2017' time '12:58:18' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.309' message 'refactored' id '51f42be5-3017-0d00-986f-81dc0fc793c7' date '10/05/2017' time '12:24:27' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.308' message 'SAXHandler now uses custom XMLAttributeDictionary subclasses of OrderPreservingStringDictionary with messages that are XML namespace and name aware, messages that modify the namespaces of an XMLElement now force-enable namespace support if it''s disabled, XMLDocument #root: only replaces the root element, the error message location info is now clearer, and fixed a bug in XMLPercentDecodingReadStreamAdapter' id '3f5f634f-0817-0d00-9218-9e0c0f257c93' date '10/03/2017' time '11:59:16' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.307' message 'fixed configuration to load GT extensions for CoreWithWriting group (thanks Henrik Nergaard)' id '61ed0647-9e0d-0d00-aa3c-b6eb06c37527' date '06/05/2017' time '04:42:24' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.306' message 'more correct entity reference checking' id '9a2a166b-510c-0d00-83df-ec170c66709f' date '05/20/2017' time '03:35:25' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.305' message 'changed test feed url' id '4d0d54a2-370c-0d00-8136-412601664f58' date '05/18/2017' time '08:49:43' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.304' message 'fixed comments and soft-deprecated XMLString #isString:' id '46006a67-110c-0d00-90ed-15eb0d6ba928' date '05/16/2017' time '11:13:06' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.303' message 'added class initialization methods to reinitialize key-value caches' id 'a2c7e19f-fb0b-0d00-abc9-422902a5efd4' date '05/15/2017' time '09:14:04' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.302' message 'optimized nested stream reader' id '8d143a8e-e90b-0d00-86d3-3ca0082b0860' date '05/14/2017' time '11:40:38' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.301' message 'optimized character extension methods' id '6250d114-380b-0d00-ae67-e3370d9a8a82' date '05/06/2017' time '03:56:32' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.300' message 'refactored tokenizer entity handling' id '6cdc6b0c-fc0a-0d00-98a5-99770caad2ff' date '05/03/2017' time '04:19:13' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.299' message 'refactored and optimized encoding detection' id '1cdf6b43-e30a-0d00-aeae-9ce40c6da244' date '05/01/2017' time '10:45:02' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.298' message 'refactored encoding detection' id 'b80199fa-db0a-0d00-b49c-6fc60c51dcde' date '05/01/2017' time '02:03:35' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.297' message 'changed the byte, null, and unicode stream converters to be immutable with single shared instances and to ignore BOMs after the input start' id '466bf427-d00a-0d00-8318-76a00f907e2e' date '04/30/2017' time '11:57:17' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.296' message 'fixed an encoding detection bug, made decoding stricter, and optimized string and character methods' id '0a8ec07d-a60a-0d00-9d31-5336064c8c66' date '04/28/2017' time '10:14:47' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.295' message 'changed the caching entity resolver to treat cached entities the same way as resolved entities in counting towards the limit so behavior is consistent regardless of the state of the entity cache or the resolver used' id '30b96d4c-3b0a-0d00-8123-797a059041fc' date '04/23/2017' time '02:21:38' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.294' message 'changed comment' id 'f0a82e9a-280a-0d00-b4de-e7c901648063' date '04/22/2017' time '04:03:18' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.293' message 'updated GTExtension ref' id 'c6bde687-280a-0d00-b4dd-14b601648063' date '04/22/2017' time '03:58:12' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.292' message 'refactored' id '18ee0615-d009-0d00-953a-a91e0d6ab012' date '04/18/2017' time '06:26:47' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.291' message 'updated GTExtension ref' id 'd5398d40-ba09-0d00-928d-2ffe0e463b84' date '04/17/2017' time '04:24:08' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.290' message 'updated GTExtension ref' id 'eaa55b2c-af09-0d00-8759-2e37046c4ff7' date '04/16/2017' time '03:11:05' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.289' message 'updated GTExtension ref' id '1c22b425-a909-0d00-8d8f-f29e0d26bf2c' date '04/16/2017' time '07:59:43' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.288' message 'improved XMLURI>>#hash' id 'f286e998-9109-0d00-a6c1-dd990ca4ca48' date '04/15/2017' time '03:53:57' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.287' message 'improved error messages' id '19da7911-8309-0d00-aa19-202b048b489b' date '04/14/2017' time '10:33:55' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.286' message 'fixed a bug in the handling of external parameter entity refs in external declarations, better error messages, and small optimizations' id 'd1c74955-6b09-0d00-933e-62ab0ce041fc' date '04/13/2017' time '06:14:54' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.285' message 'updated GTExtensions adn XMLWriter ref' id '0c607eb8-8508-0d00-ac3a-86340b48c953' date '04/01/2017' time '08:18:36' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.284' message 'updated GTExtensions ref' id '806d4c9e-7508-0d00-9c1e-9eaa00f4ef33' date '04/01/2017' time '01:05:57' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.283' message 'updated GTExtensions ref' id 'f4dd48a6-6e08-0d00-8e1d-9c68070155c2' date '03/31/2017' time '04:47:06' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.282' message 'updated GTExtensions ref' id 'e0f7ee8c-6108-0d00-8616-21140cb52b7e' date '03/31/2017' time '01:09:26' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.281' message 'updated GTExtensions ref' id 'af3944f0-2808-0d00-a295-0ed803908340' date '03/28/2017' time '05:36:59' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.280' message 'updated GTExtensions ref' id '4dc7beb2-2808-0d00-81a7-621203c3c1c2' date '03/28/2017' time '05:19:47' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.279' message 'updated GTExtensions ref' id '89b74dea-1008-0d00-a4eb-d837050a1b59' date '03/27/2017' time '12:57:20' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.278' message 'updated GTExtensions ref' id '4dcbc06b-0f08-0d00-ab81-be440a118fca' date '03/26/2017' time '11:10:22' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.277' message 'fixed a bug in #findElementWithID: and added #hasID:' id 'd9277d0a-9707-0d00-be6c-19860edfab79' date '03/20/2017' time '11:33:14' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.276' message 'refactored inner xml parsing' id '5a8b7817-c706-0d00-93bc-b8940e5f9c0f' date '03/10/2017' time '02:27:39' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.275' message 'refactored inner xml parsing and added back outer xml methods' id '615ef434-9b06-0d00-b16c-d69405835ad3' date '03/08/2017' time '10:06:15' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.274' message 'updated GTExtensions ref' id 'aeecbe4d-4ebd-43b7-8fe3-6956d544b7c2' date '03/04/2017' time '11:49:45' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.273' message 'refactored GT extensions' id 'de8f47b3-5494-4b4e-9d82-868d4b052965' date '03/01/2017' time '06:50:13' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.272' message 'removed broken write stream support from ordered lists' id '9d30cf7d-c775-4623-a778-9c1f8679b5ef' date '02/28/2017' time '01:41:12' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.271' message 'faster node list copying and enumeration and faster canonical printing' id '844bae68-8064-412a-b994-9b8e206636a3' date '02/26/2017' time '12:44:27' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.270' message 'faster node list copying and enumeration and faster canonical printing' id '6c03b90d-4d9c-42fa-b77d-a688158f3bd2' date '02/26/2017' time '12:00:35' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.269' message 'added custom faster #isEmpty for Squeak' id 'fe6f7705-fd8e-41a9-972f-09b750e7c35d' date '02/14/2017' time '01:30:33' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.268' message 'added comments' id '5adb7053-d087-4de4-b9c8-d5b3a40f9f29' date '02/13/2017' time '11:17:30' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.267' message 'added comments and refactored' id 'f42d95f3-2408-4289-8602-7a183e87c7e3' date '02/12/2017' time '10:28:25' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.266' message 'fixed the URI class to support multiple query values for the same key' id '3357e8bf-2b23-4dff-b325-13832e804408' date '02/12/2017' time '08:22:44' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.265' message 'added a method to find lazy-initialized class and class inst vars' id '5c7fa73f-423d-4e43-b54b-50f9e4fac26c' date '02/10/2017' time '09:22:28' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.264' message 'changed the node visitor accept methods to return the result of the visit message and the default visit methods to return their argument and fixed the key-value cache uses to cause less delay with multiple processes' id '0b28c9c4-dc05-4ef5-9654-cd5903dd48a3' date '01/21/2017' time '02:45:28' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.263' message 'optimizaiton and refactoring' id '00c9df5e-f182-4480-9ed5-6885307eab59' date '12/06/2016' time '09:39:05' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.262' message 'fixed stream tests for pre-Spur VMs' id '3882f29e-b244-47d5-b4e4-cb7f52908434' date '12/03/2016' time '02:29:34' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.261' message 'moved #documentRoot from the XPath package and made the checking of internal subset conditional sections and markup declaration param entity refs stricter' id '4ed4564a-d512-4629-89cc-b94ce49d7d3b' date '12/03/2016' time '01:34:06' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.260' message 'fixed a bug in external entity handling, added full validation for standalone="yes" documents and dtd processing of attributes when validation is disabled and normalization of public IDs' id '809146cc-d29e-4774-bf6e-0c20576ad8ac' date '11/28/2016' time '02:22:58' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.259' message 'fixed a bug in the parsing of external subset attribute default value entity refs and in parser error message' id 'b5648b72-e42a-44b8-9e3b-ddb7b35e4a1d' date '10/31/2016' time '03:48:11' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.258' message 'fixed a bug in the parsing of external subset attribute default value entity refs and in parser error message' id 'cbd2e7fe-1b57-42e5-8656-9b12f0f7aada' date '10/31/2016' time '03:27:58' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.257' message 'added well-formedness checking for element start and end tags not being in the same entity and for URI fragments in entity system IDs (the last well-formedness constraints) and optimized parsing' id '923ddd39-72a8-4906-ab40-7149bdd9c900' date '10/30/2016' time '10:20:22' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.256' message 'GS fixes' id '53151e4b-cbac-4c2c-96e9-28207f1ff3c8' date '10/20/2016' time '02:29:02' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.255' message 'moved GS-specific stuff to the compatibility package' id 'c9d58c6a-801a-4eb0-a225-f4a5e198a854' date '10/19/2016' time '10:29:05' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.254' message 'proper well-formedness checking of general entity and char refs after content and fixed a regression in #onFileNamed:' id '6736d02e-0f02-44c2-ac50-808f2a29617f' date '10/15/2016' time '02:41:05' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.253' message 'GS fixes to eliminate write conflicts' id '71b92afc-3d9e-423a-8ac0-be22ef42319e' date '10/09/2016' time '06:51:31' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.252' message 'improved file tests' id '20aa02d2-9461-42fa-a896-145264618585' date '10/03/2016' time '11:12:12' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.251' message 'GS fix' id '85a2bbe3-4190-452c-bd5c-1ff977d9fd7f' date '09/28/2016' time '11:54:53' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.250' message 'fixed typo in version string' id 'ddb4e70c-21c1-4019-8d03-5a0c9250d3f0' date '09/28/2016' time '11:40:52' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.249' message 'made the key-value cache thread safe and removed race conditions' id '0194105c-1845-4900-bae2-a1a6cca6a411' date '09/28/2016' time '11:32:45' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.248' message 'optimized element enumeration, fixed findElementWithID: to use xml:id attributes when there''s no DTD, and improved documentation' id '08b2f0b5-45b1-4529-8599-b21f4b4e1c5a' date '09/22/2016' time '06:41:00' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.247' message 'GS fix' id 'a3c90610-acc9-485a-9b9f-88e12f76f47f' date '09/19/2016' time '02:22:33' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.246' message 'GS fix' id '2d860a0d-4782-407c-9ff6-699833d2c398' date '09/19/2016' time '02:00:03' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.245' message 'GS fix' id '1a856872-f1be-4c13-bf4b-cf40ef21fe2d' date '09/19/2016' time '01:50:33' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.244' message 'small refactoring' id 'd2df8241-caeb-4591-8027-c605039c7316' date '09/19/2016' time '01:42:49' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.243' message 'made XMLFileHandle behavior consistent across platforms' id 'dee9f07a-60b9-42ed-800b-e24b196948cb' date '09/19/2016' time '01:09:30' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.242' message 'small fix for Pharo 3' id '167944d7-0109-4140-bdef-fe81f24ac15f' date '09/12/2016' time '02:12:04' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.241' message 'small refactoring' id '40cc343f-c7f5-4e9f-8ad1-942c19a1e101' date '09/10/2016' time '05:20:43' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.240' message 'added skippable test abstract class and made XMLExternalEntityTest a subclass' id 'fad39a37-868e-46b7-b416-d570815dfb9e' date '09/10/2016' time '03:25:10' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.239' message 'fixed support for custom attribute list classes' id '6777e17b-cd64-4d04-b6f1-178ef0b811d9' date '09/08/2016' time '12:11:38' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.238' message 'split XMLAttributeList into caching and non-caching versions, made optimizeForLargeDocuments use the non-caching one to save memory, added support for adding nodes with parents to other nodes' id '901e206a-6e1e-437e-b334-8fdb5a5defa1' date '09/06/2016' time '03:18:14' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.237' message 'split XMLAttributeList into caching and non-caching versions, made optimizeForLargeDocuments use the non-caching one to save memory, added support for adding nodes with parents to other nodes' id '4535a7c6-e5a7-488e-ac09-5de50c970a0d' date '09/06/2016' time '02:29:30' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.236' message 'added namespace optimization, improved documentation and error messages' id '03fb977f-b48d-4a9e-80ea-f598c9c834ca' date '08/26/2016' time '03:46:24' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.235' message 'moved SAX2ElementHandler #elementHandlerFactory accessor to instance side, added ancestor enumeration and accessor messages and replaced #isHandlingRootElement with #hasParent, added support for block values in attribute specs, soft-deprecated #contentString:' id 'f96a3473-1c3a-4be4-8519-cb178d254d2c' date '08/20/2016' time '02:52:49' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.234' message 'added SAX2ElementParser to parse each element with separate SAX2ElementHandlers and factories to control element handler construction (one is pluggable like XMLPluggableElementFactory), changed automatic decoding to be less aggressive (see the decodesCharacters: comment), added XMLNodeVisitor to support the visitor pattern, added newElementNamed:attributes:, newElementNamed:namespaceURI:attributes:, newPITarget:data:, newStringNode:, addComment:, addPITarget:data:, addElement:attributes:, addElement:namespaceURI:attributes:, and soft-deprecated addContent:, asXMLString, newString, and stringClass for addString:, asXMLStringNode, newStringNode:, and stringNodeClass' id 'd75f98fc-ae8f-4353-9332-d7cc9939f0b3' date '08/17/2016' time '02:18:13' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.233' message 'improved error messages for external entity refs when resolution is disabled' id '9ad9e366-3cfe-45e9-96b8-fc734857bb46' date '07/18/2016' time '08:32:27' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.232' message 'improved error messages' id 'aa050003-5921-40ad-bb99-60fd6142fb43' date '07/17/2016' time '04:48:12' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.231' message 'small attribute parsing optimization, stricter validation of unparsed entities and notation attributes, improved comments' id 'c87bf366-02e1-4647-9cbb-9fcc2b9cfdce' date '07/13/2016' time '03:17:56' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.230' message 'renamed SAX2 handlers' id '82b44e5b-7aae-4401-97a7-18b597a3dbf4' date '07/10/2016' time '02:46:23' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.229' message 'optimized namespace and reserved attribute processing' id '0039cc76-0227-4283-8018-7ca42957809d' date '07/09/2016' time '11:28:34' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.228' message 'added a SAX2 style parser, printToFileNamed:beforeWritingDo:, updated file writing methods to use the correct linebreak for the OS, fixed bugs in XMLFileHandle>>extension and the validation of char refs in "element content" elements and the checking for invalid chars in entity values' id '65ff706f-f592-45af-b88a-2ced27bbf88f' date '07/08/2016' time '03:09:09' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-TudorGirba.227' message 'added XML-Parser-GTExtensions-TudorGirba.36' id '4e2a72ad-9e5e-41e5-9722-95d8d610457c' date '07/03/2016' time '01:52:53' author 'TudorGirba' ancestors ((name 'ConfigurationOfXMLParser-monty.226' message 'changed handling of ignorable whitespaces to require a DTD with element declarations to correctly identify it (this is how other parsers work and is safer), added validation support for xmlns attributes (including default values) and fixed empty element validation to reject any content at all (even comments and whitespace), optimized ordered list enumeration methods, and added many method comments' id '3d7d4eb4-ba15-4f05-a371-1a08e01e5ac1' date '04/21/2016' time '08:25:21' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.225' message 'added lazy resolution of external entities, validity checking of PE nesting and well-formedness checking of general entity nesting, validity checking of default attribute values, and improved notation validation' id 'a5d244fd-cd0a-46a5-96ee-bd4409536768' date '04/11/2016' time '06:02:09' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.224' message 'URIs now properly delay percent encoding/decoding until aboslutely necessary, improved xml:base handling with automatic expansion of xml:base attributes using inherited base URIs, fixed XMLOrderedList hash/= to not depend on the internal collection type, refactored the content model parser, made error messages more descriptive' id 'ffd3d69c-e106-4408-8215-640a1264f5a3' date '04/02/2016' time '02:28:39' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.223' message 'GS fixes' id '2ecbe6cb-c0ca-4215-bf27-46a3e29579c9' date '03/26/2016' time '01:51:59' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.222' message 'added checking for invalid chars, refactored, and optimized' id '7949d5c2-a3c9-44d3-9d40-3929b167c7ea' date '03/26/2016' time '01:21:40' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.221' message 'added a pluggable entity resolver and fixed a bug in handling of include/ignore sections and parameter entity refs in declarations in internal subsets' id '4a17489e-ba62-4c7a-a41f-c142a14aa573' date '03/23/2016' time '01:24:44' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.220' message 'refactoring and optimization' id '2abe8e60-405b-4991-84b2-6b910729118b' date '03/19/2016' time '07:14:42' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.219' message 'fixed stream nesting and upTo: bugs, refactored tokenizer character set initialization methods, added column numbers to error messages and small optimizations' id '01b8c7ae-2c9f-4050-914f-71bf2cc45e31' date '03/19/2016' time '01:25:31' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.218' message 'fixed stream nesting and upTo: bugs, refactored tokenizer character set initialization methods, added column numbers to error messages and small optimizations' id '94a9902a-c788-4b38-ab22-225cfba77920' date '03/19/2016' time '01:02:46' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.217' message 'refactoring' id 'fb802b94-d7be-470f-bc2a-043afd00640d' date '03/15/2016' time '12:32:03' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.216' message 'GS fix' id 'ccf2c75f-fd58-47e5-8241-1e65b11a9986' date '03/14/2016' time '09:28:33' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.215' message 'added tests for tokenizer class isName:, isNmtoken:, isNCName:, nextNameFrom:on:, nextNmtokenFrom:on:, nextNCNameFrom:on: methods' id '1d027d39-28b9-476c-8df4-88b9fdd2e046' date '03/14/2016' time '09:18:40' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.214' message 'worked around a Squeak bug to support relative paths, better well-formedness checking for XML declarations, refactored the XMLFileHandle and XMLHTTPRequest hierarchies, added rawReadStream, rawWriteStream, exists, and isXMLDocumentFile to XMLFileHandle, added many method comments' id 'fa6d7f16-2814-4e88-bf9a-82a7a29bad8a' date '03/14/2016' time '02:08:23' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.213' message 'worked around a Squeak bug to support relative paths, better well-formedness checking for XML declarations, refactored the XMLFileHandle and XMLHTTPRequest hierarchies, added rawReadStream, rawWriteStream, exists, and isXMLDocumentFile to XMLFileHandle, added many method comments' id 'a98c66dc-73aa-44c2-9b75-2bc3bf0b6e3f' date '03/14/2016' time '01:34:21' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.212' message 'improved  well-formedness checking by disallowing duplicate attributes and namespace declarations in elements, incomplete documents, and cdata terminators in pcdata' id 'f355c4d7-8df9-4c26-a2ef-94839080a5be' date '03/10/2016' time '03:57:35' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.211' message 'refactored the stream converters and the abstract factory hierarchy, added asXMLStreamConverter, hasEncoding, and hasRoot, changed root: to raise an error if it''s given a non-element' id 'fda05736-ee27-46b6-bf77-f06eb1f5a6f5' date '03/06/2016' time '08:01:51' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.210' message 'refactored the stream converters and the abstract factory hierarchy, added asXMLStreamConverter, hasEncoding, and hasRoot, changed root: to raise an error if it''s given a non-element' id '467d5b22-4411-44ee-a2d1-9d7e3e4ac1ca' date '03/06/2016' time '10:44:20' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.209' message 'refactored the stream converters and the abstract factory hierarchy, added asXMLStreamConverter, hasEncoding, and hasRoot, changed root: to raise an error if it''s given a non-element' id 'dedf38e0-2592-4338-a555-0764aac91174' date '03/06/2016' time '10:30:47' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.208' message 'refactored the stream converters and the abstract factory hierarchy, added asXMLStreamConverter, hasEncoding, and hasRoot, changed root: to raise an error if it''s given a non-element' id 'ca06d0a0-35db-41b3-8c95-2759e4f7b6d9' date '03/06/2016' time '10:19:38' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.207' message 'added element declaredPrefixes, undeclarePrefixes, resolvePrefix:ifUnresolvable:, resolvePrefixesOfNamespaceURI:, and the more common "descendant" spellings of the descendent* methods' id '72919da5-74d7-4614-add2-be30b1143c8d' date '03/02/2016' time '07:21:18' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.206' message 'updated XMLWriter dependency' id 'eeacf033-1ba9-4504-a6ff-71a8f6f71f66' date '02/20/2016' time '02:33:12' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.205' message 'refactored attribute defualt validators, fixed bug in empty attr validation, added comments' id '6e4082c6-d704-4803-ac59-9459f7c84073' date '02/20/2016' time '02:31:28' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.204' message 'refactored printing and stream converters' id '66e0d20c-2598-4db2-9709-634d9b9fcdb7' date '02/18/2016' time '05:41:37' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.203' message 'refactored namespace scope and key-value cache' id '896cd3b4-00a5-4e76-8424-cecec80b53a3' date '02/17/2016' time '12:56:40' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.202' message 'refactored namespace scope and key-value cache' id '20f38fbc-466c-4c89-96de-5bffc11c8910' date '02/17/2016' time '12:45:42' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.201' message 'added string extension method tests and fixes for GS' id '07a3df4c-32f1-4a14-bb35-3dce76477aef' date '02/16/2016' time '12:21:34' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.200' message 'added encoding support and file writing to DOM nodes' id 'dd67184f-c497-4537-8803-75c9b4782c7e' date '02/14/2016' time '04:55:38' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.199' message 'refactored encoding detection and removed unneeded URI optimization' id '1a717368-2dc0-4a1f-9906-64a20c6955a0' date '01/20/2016' time '10:47:02' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.198' message 'added URI isEmpty optimization' id 'c0944ba4-f55f-4a51-810b-d59b4c651751' date '01/15/2016' time '01:51:35' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.197' message 'added URI copyWithPath: and smarter printing' id '577ecbdd-d58f-4a41-8118-d3686158e202' date '01/13/2016' time '10:53:15' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.196' message 'faster URI parsing and URI printing fix for GemStone' id '463809fb-f759-450d-a659-b88f3d92b2c9' date '01/11/2016' time '08:30:12' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.195' message 'XMLURI now has a dictionary protocol for queries, copy messages to change componenets, does percent encoding/decoding implicitly, and parses source strings lazily only when needed' id '68c0bad7-a978-4b9e-baca-0245599d7086' date '01/08/2016' time '12:57:58' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.194' message 'updated XMLWriter version ref' id '2c640855-9690-41b6-a1a7-f016ebfdb871' date '12/21/2015' time '10:09:12' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.193' message 'added comments, findElementWithID:, and changed includesSubstring: to return true for empty strings' id 'a1de078c-b062-490f-8343-cd93e9e3106e' date '12/09/2015' time '11:07:10' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.192' message 'made  GT Tree/Source view string highlighting start and end at quotes and fixed string highlighting in the file editor' id '0dc28d4f-73d3-46cf-afaf-ec092dc482f1' date '12/06/2015' time '05:38:51' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.191' message 'improved error messages and fixed so character refs are preserved exactly (not converted to decimal) when entity replacing is disabled' id 'e0e0c429-89cb-49a3-ad96-607b51549a36' date '12/04/2015' time '09:27:38' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.190' message 'added basic checking for non-deterministic content models, removed obsolete methods' id '42ffec4b-147b-4d3c-a5a4-490549142942' date '11/14/2015' time '11:02:12' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.189' message 'changed inspector pane ordering and added node list inspectors' id 'b7ae8daf-5a74-4604-9044-11523e6f225b' date '10/14/2015' time '01:14:30' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.188' message 'merged Andrei''s example' id 'f57d4898-c2bd-4619-b170-912bcd1004e7' date '10/13/2015' time '04:55:16' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.187' message 'Source pane no longer truncates' id '2ca3285a-0e3c-4f21-a5e7-4ccb08754963' date '10/13/2015' time '04:46:00' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.186' message 'changed file editor to use encoding specified in the xml decl when writing' id '088a01b7-8fd0-4448-ab41-4096f2109357' date '10/04/2015' time '03:06:36' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.185' message 'added line numbers to xml file editor, changed source pane order to be first, added limit to highlighting' id '407abfbc-8903-4a52-95c5-5c089b1bc431' date '10/02/2015' time '10:22:49' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.184' message 'added highlighting XML file editor to inspector' id 'f8c512d3-820d-4cac-90fe-4200f34ee92c' date '10/02/2015' time '06:28:06' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.183' message 'refactored  gt extensions' id '4e9062e9-4d1c-4d94-826f-e32f6832585a' date '09/29/2015' time '11:40:09' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.182' message 'refactored  gt extensions' id '85c4d95e-8f0d-4b84-ada9-fe39c676d8e4' date '09/29/2015' time '07:40:52' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.181' message 'added spotter preview highlighting' id '029e6623-18a2-4bfe-91f9-6c6588a0617b' date '09/28/2015' time '05:43:33' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.180' message 'tree view now displays all node types' id 'c6fd884e-d902-43a0-ba00-2333aa8ee89f' date '09/23/2015' time '09:21:30' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.179' message 'updated symbolic version' id '0740aaca-f7f8-4c54-9ca8-10588a887420' date '09/22/2015' time '01:42:40' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.178' message 'replaced class vars with class inst vars' id '8525e535-29e4-454a-abab-94238110e0d2' date '09/22/2015' time '01:31:45' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.177' message 'made default syntax highlighting colors use shout colors and made the defaults changable' id '74831e90-63e5-47f6-bcef-f53ff56aaaf8' date '09/22/2015' time '01:24:27' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.176' message 'new release version' id 'e216a882-39f6-4f17-8e54-ce0e079cb490' date '09/21/2015' time '07:19:53' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.175' message 'added highlighting to GT source and tree view' id '3f5ae810-38e5-44eb-a5df-e74924365d2e' date '09/21/2015' time '06:54:21' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.174' message 'updated package dependencies' id 'd1c5b660-30cb-4098-b056-86175a24e7a6' date '09/06/2015' time '06:06:46' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.173' message 'fixes for spur' id 'c1f67c9e-d85a-47cb-b784-62319aeda11d' date '08/13/2015' time '12:18:13' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.172' message 'fixes for spur' id '121a5f24-9348-46c3-b28f-e7e14a60cb81' date '08/12/2015' time '09:30:11' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.171' message 'removed obsolete methods' id 'a1a3ed7c-f55e-4d72-8254-b16efdc78a94' date '07/21/2015' time '10:47:45' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.170' message 'refactored and fixed bug in factory copying' id '62484ce7-e634-4516-a699-46f8cdcf839f' date '07/15/2015' time '07:33:38' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-TudorGirba.169' message 'added a new baseline 2.4.8' id '647ace13-6245-4d91-86f8-cabcf95ad6da' date '07/12/2015' time '11:28:49' author 'TudorGirba' ancestors ((name 'ConfigurationOfXMLParser-monty.168' message 'removed conditional loading' id 'eca9c776-d8ad-4327-937a-b7d6028ca928' date '07/08/2015' time '10:34:52' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.167' message 'fixed to support upgrading on gemstone' id 'af9dfa11-c8cf-4917-bcb5-06a1c23d2ce3' date '07/08/2015' time '05:28:50' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.166' message 'removed outer XML methods' id 'b4bdcf67-d2b8-4b34-a65c-995c4be08a43' date '06/22/2015' time '05:05:25' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.165' message 'configs are now copyable and are copied when nodes are. small optimization' id 'af766703-cac3-4ef0-8e0a-aea92ada832d' date '06/21/2015' time '03:14:49' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.164' message 'changed to delay validation of unparsed entity ndata until referenced' id '584917fe-7464-4ab0-aadb-ed631027690f' date '06/18/2015' time '01:07:25' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.163' message 'updated comments' id '439b3e9f-ece1-49f6-8b3e-da5fe024cce2' date '06/16/2015' time '02:48:02' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.162' message 'parameter renaming' id 'a59b37dd-911a-4f4c-a9b3-7de3ed294ff9' date '06/07/2015' time '11:34:53' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.161' message 'improved entity resolving to support streaming entities and delaying decoding of HTTP entities

switching to symbolic "release" versions for other XML packages to target intstead of "stable"' id 'e482ff0f-cbdb-41c1-8fb6-3d7261e3e70b' date '05/26/2015' time '02:18:58' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.160' message 'changed to use symbolic release versions' id 'ca52ace1-b687-4638-a4e8-8797bbf65e81' date '05/15/2015' time '11:26:58' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.159' message 'fixed stable version' id '18ab15f0-5479-470f-80ba-45a3eb0d20b3' date '05/15/2015' time '06:35:57' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.158' message 'added symbolic release versions' id 'c57b24c8-d7d5-43f8-be33-8f98d430aeab' date '05/15/2015' time '06:31:30' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.157' message 'Added CoreWithWriting group and made it default loaded' id '89c02951-0478-4439-91ac-6c0fc03c376b' date '05/15/2015' time '05:33:38' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.156' message 'changed conditional loading to use project attribute' id '8ea1d10e-a61c-45cf-b71f-aa7c42dd0ca0' date '05/12/2015' time '02:07:03' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.155' message 'changed conditional loading to use project attribute' id '0ed0ad4e-5135-433b-8790-7b96d583c3c3' date '05/12/2015' time '01:57:42' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.154' message 'now loads GT extensions for Pharo 4/5' id 'a27608f4-20a0-4531-945a-9760c587a0f4' date '05/12/2015' time '01:47:37' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.153' message 'now loads GT extensions for Pharo 4/5' id 'bb5541d1-fe76-4ccf-9068-d5982b155ae4' date '05/12/2015' time '01:13:16' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.152' message 'faster element printing, added hasDoctypeDefinition, hasDoctypeDeclaration, and innerXMLPrettyPrinted, made innerXML: to handle entities' id 'c6715df4-b73e-45d7-bca7-0407053eba36' date '05/10/2015' time '06:35:52' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.151' message 'added ability to disable character decoding' id 'f6697c7d-2267-47de-9180-d7197c318381' date '05/08/2015' time '10:44:26' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.150' message 'added outerXML methods' id '33c02f02-7bf8-4cc6-99f4-45c92e010c7c' date '05/08/2015' time '05:40:18' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.149' message 'made innerXML: reset on errors' id 'b2052f90-6d81-4440-a48a-a471a6c8dd48' date '05/07/2015' time '11:13:02' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.148' message 'refactored writing' id '9c6f4f24-25fd-4fc1-9ae0-98b0a1da81db' date '05/07/2015' time '07:20:40' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.147' message 'added encoding detection for external subsets. small optimization.' id '3a6efe56-4893-4061-9c41-83be7d1db82f' date '05/03/2015' time '07:44:15' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.146' message 'added comments' id '6106ab6f-eaa2-47fd-92ee-2523fbfdc0d1' date '04/28/2015' time '07:04:10' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.145' message 'added more diagnostic printOn: methods and refactored' id '28070587-88cb-4203-acca-0aff8410edc5' date '04/27/2015' time '12:20:16' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.144' message 'more efficient <![INCLUDE[]]> sections' id '8f2f49af-bb8d-43d1-8161-016bb91f79b9' date '04/23/2015' time '08:54:25' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.143' message 'fixed WebClient support for Squeak, added more printOn: methods, refactored DFA/NFA classes' id 'e9314512-ebde-4ca9-91c4-a8c5bb00bb8e' date '04/22/2015' time '03:53:14' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.142' message 'added namespace tests' id '99a6f4e0-c94e-49e7-b638-e2ad0853fd2c' date '04/21/2015' time '02:30:27' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.141' message 'fixed test for gemstone and added pubid and encoding tests' id '7f84a528-6b40-4e97-bb20-651dd8522ffb' date '04/19/2015' time '04:02:47' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.140' message 'moved nodeListClass state to node factories but is still accessable from configurations, optimizations, and cleanup' id '08b0d636-4c09-499d-ae16-662a2aa45c47' date '04/18/2015' time '10:04:26' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.139' message 'refactoring' id 'aece69db-c32a-4029-9bed-2ecf4dc9057e' date '04/16/2015' time '01:16:39' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.138' message 'fixed history' id '57b21e0e-6431-466b-9227-05bcd1adb964' date '04/15/2015' time '03:14:52' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.137' message 'fixed history' id '06045170-54f5-46e3-8cb7-364e32fe2584' date '04/15/2015' time '01:36:43' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.136' message 'fixed configuration catalog method' id '7ac69d67-350c-42f5-9ea9-ce46359e5916' date '04/13/2015' time '12:35:17' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.135' message 'refactoring' id '62580077-2d4f-4ade-96da-52532a798e74' date '04/13/2015' time '03:31:48' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.134' message 'ordered list equality no longer depends on internal collection type' id '55e20014-db86-47cf-a8af-511e938d37e2' date '04/11/2015' time '08:07:00' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.133' message 'added WebClient HTTP request class, made doctypeDeclaration: set parent of argument, added comments, fixed typos' id 'cbd865d7-d028-484b-a708-dd05ae90226b' date '04/11/2015' time '03:19:56' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.132' message 'added Character class-extension methods for separators and whitespace' id '611ee6d5-4b91-483e-935f-ab78beb264d7' date '04/07/2015' time '09:33:30' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.131' message 'added constructor method comments and replaced initialization method from on:documentURI: to on: and separate documentURI: setter' id '2446bc1f-16be-4ee2-8de7-12705e6b1d62' date '04/07/2015' time '06:12:49' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.130' message 'fixed bug in new DOM validate method' id '23fb998a-175d-48f5-bdf9-d012b0664a7a' date '04/07/2015' time '12:27:14' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.129' message 'fix for Gemstone and and for old Pharo versions' id '1233a577-f8fa-4d33-8d80-d9c7505cac56' date '04/06/2015' time '10:52:55' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.128' message 'stricter parsing, optional validation of DOM trees, and small optimization' id '60b3bf1c-3bfc-4be3-846a-7ce2890d8673' date '04/06/2015' time '09:34:52' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.127' message 'stricter parsing' id 'ff110c4d-571c-4be2-9a5a-ce3e15251c36' date '04/03/2015' time '04:46:56' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.126' message 'fixed bug in DOM configuration method' id 'e984d38c-e517-40c2-9bfb-abe6fae43eb0' date '04/01/2015' time '07:13:41' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.125' message 'better error reporting' id 'fc2e47c9-87e5-4269-86f0-63321b721216' date '03/25/2015' time '06:31:11' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.124' message 'replaced isInInternalSubset with more useful isInContent' id 'e5f5b581-edfe-4445-9e0a-9398cdfac3f6' date '03/24/2015' time '08:57:52' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.123' message 'refactoring' id '7d610d85-4ab7-4f62-a276-f63c0f3ab216' date '03/24/2015' time '08:14:35' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.122' message 'added root: document constructor and added comments' id '89fdf4fe-0f59-49f1-b6a0-6ada3370ddc6' date '03/24/2015' time '06:43:37' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.121' message 'improved comment tests' id '8e7d0cb1-4927-4f31-931d-96f0782e2857' date '03/22/2015' time '05:42:21' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.120' message 'refactoring' id 'cc9becab-59f6-4c92-a596-f10b5a470ca4' date '03/22/2015' time '06:03:59' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.119' message 'refactored configuration' id 'eb9a9119-3536-4a58-acb2-fb2dedef5a4f' date '03/17/2015' time '06:51:13' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.118' message 'optimization (updated catalog info)' id '465bbbc5-ec18-43d6-a888-cf0e1c878f18' date '03/13/2015' time '09:08:22' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.117' message 'better error reporting' id '51eeae5f-215e-4a70-802f-c1a633143356' date '03/12/2015' time '06:39:02' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.116' message 'added doctype definition access to document nodes' id 'dc108565-a3e7-4a06-a754-a86205fb5411' date '03/09/2015' time '07:16:37' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.115' message 'gemstone fix' id '446394ef-a4f4-4015-87f1-edde2e1e0a5a' date '03/03/2015' time '08:23:45' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.114' message 'refactoring' id 'f82dde24-b1fe-45e7-a9be-1937375c35c2' date '03/02/2015' time '01:17:50' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.113' message 'added hasNamespaceURI and recategorized messages' id 'f7dc0813-f735-414f-8229-74a345746418' date '02/13/2015' time '10:28:20' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.112' message 'update for gemstone' id '97d2fb8d-3b84-4513-aeab-0c2f543fbbed' date '02/11/2015' time '05:53:11' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.111' message 'added swap:with: and improved URI class' id '38a22280-91c6-4391-8986-a7d0b3955869' date '02/09/2015' time '07:35:28' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.110' message 'added isAttribute and refactored limits and encoding detection' id '13bd3750-d9a4-4af6-b0c9-1f06c0408851' date '01/30/2015' time '08:39:16' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.109' message 'refactored lists and fixed bug in attribute list' id '175ecae9-9d54-43e5-b925-578d8e938ebb' date '01/21/2015' time '04:12:57' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.108' message 'refactored list classes' id 'd3f6a0d7-681b-4eb7-8406-8c2520adcc5b' date '01/18/2015' time '08:02:26' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.107' message 'minor changes to class initialization methods' id '55da6ce7-ca2d-477b-b7f8-8302e149534c' date '01/12/2015' time '01:03:57' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.106' message 'added ability to disable content general entity and character reference replacement, ignorable whitespace preservation for DOM parsing, and 2x faster printing for elements' id 'd3fd8a24-0274-45a5-80fa-56ad4d9f2e39' date '01/07/2015' time '04:03:32' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.105' message 'fixed to not use argument directly when setting namespaces from dictionary' id 'da0ffdfd-14ca-4e4b-8931-b47290b84efb' date '12/29/2014' time '09:03:59' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.104' message 'added copy-on-write semantics for namespace scopes for performance' id '41eff09d-89a3-488f-8aea-4854052cb014' date '12/29/2014' time '01:37:37' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.103' message 'added xml:lang testing for nodes and better xml:id and xml:space validation' id '4243b11a-8179-4a04-8f36-02bbe523da8b' date '12/23/2014' time '09:25:57' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.102' message 'more gemstone file compatibility fixes

removed no longer needed Pharo2 -specific configuration (latest versions run again on Pharo 2)' id '9b4d091e-6af8-41fe-a7f3-059d4595ea69' date '12/18/2014' time '07:52:56' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.101' message 'refactored HTTP code and fixed for gemstone' id 'f86d90b2-643b-4d91-ba57-f5fec1702c51' date '12/16/2014' time '08:38:44' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.100' message 'updated writer version' id 'c8816f49-6bc8-415b-89a8-f54b81140cd0' date '12/16/2014' time '07:43:49' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.99' message 'updated XMLWriter version' id 'd29bbd9c-8ca6-4077-ade1-513e4657e636' date '12/16/2014' time '04:49:53' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.98' message 'updated symbolic versions' id '062e9574-2d86-4607-aa6b-89615f3d6fe0' date '12/16/2014' time '04:21:18' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.97' message 'more gemstone fixes' id '31f6fe35-dbe2-452a-8e7f-e7c0a064e477' date '12/16/2014' time '04:20:31' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.96' message 'allow XMLOrderedList at:put: to function like addLast:

new gemstone compatibility package' id 'd1f09b02-f06d-4ad9-b16d-db5804a66d4a' date '12/16/2014' time '11:59:58' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.95' message 'fixed compatibility spec' id 'cbc9bf96-9ed2-4415-b2ca-40a95902b848' date '12/15/2014' time '05:14:51' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.94' message 'improved portability' id '78bae441-bf3e-4a45-8403-7871c24e1af2' date '12/14/2014' time '10:43:42' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.93' message 'refactored tokenizer' id 'bc3343aa-42d4-466c-901a-7627ca25a288' date '12/12/2014' time '08:53:31' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.92' message 'renaming' id '133f70b1-d90a-4136-8c0e-e85e78c7225d' date '12/11/2014' time '10:40:02' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.91' message 'stricter parsing, can now handle binary streams, added defaultReadLimit: to persistently set or disable read limits

also fixed incorrect blessings in older versions.' id '7b4d65e7-c10c-4f3b-b4bf-ea96890fd8d4' date '12/11/2014' time '10:28:41' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-StephanEggermont.90' message 'baseline now refers to #stable of xmlwriter.' id '30f89992-78d6-47ae-9204-a3f33e8a6437' date '12/08/2014' time '08:57:05' author 'StephanEggermont' ancestors ((name 'ConfigurationOfXMLParser-monty.89' message 'added canonicallyEquals:, moved redundant xmlns write testing to XMLWriter, refactored sorting' id '5cf6f606-d3fb-4e4e-8670-7842321644b2' date '12/06/2014' time '05:21:13' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.88' message 'made escaping more strict and updated to use new XMLWriter' id 'd0ae86bd-91ad-4742-b6a4-8251ae4fcf50' date '12/02/2014' time '06:11:41' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.87' message 'updated symbolic version' id 'e7f9d9b0-f6ff-4377-9156-9986cd4b36e9' date '11/28/2014' time '11:50:23' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.86' message 'refactored encoding detection and refactored entity replacement to fix bug' id '6af9b102-5e1f-4e9a-8cf5-04debad1aefd' date '11/28/2014' time '11:34:12' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.85' message 'moved XMLWriter spec to separate baseline inheriting from primary baseline' id 'e8eac629-7167-4d04-add3-db843df39f56' date '11/26/2014' time '10:53:04' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.84' message 'added interruptParsing and minor optimization' id '3d077c9a-667b-460e-ba7f-4b9f0d6d5135' date '11/26/2014' time '07:50:06' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.83' message 'fixed exception handling bug

added some tests' id 'e5a12423-5280-4b99-8326-9e59e461f57a' date '11/25/2014' time '12:52:18' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.82' message 'updated for order preserving dictionary changes' id 'de14bed7-b819-4396-9804-24bf530c086e' date '11/22/2014' time '01:18:40' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.81' message 'added support for UTF-32 (big/little endian) and automatic encoding detection and decoding for streams, fixed a bug in exception raising, reduced memory requirements by removing XMLNodeName and moving its functionality to String extension methods, added nodeAt:, nodeAt:ifAbsent:, nodeAt:put:, removeNode:ifAbsent:' id '14a94441-54f9-42cd-9ca8-efa7944fb8d7' date '11/20/2014' time '04:28:40' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.80' message 'added text converter factory' id '66a3e566-882c-482f-91a2-6df03c2066eb' date '11/07/2014' time '07:26:05' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.79' message 'added descendentNode/Element enumeration methods' id 'ed419c88-e674-4269-bd4c-60344271e2db' date '11/07/2014' time '02:23:44' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.78' message 'improved string node API, fixed bug in innerXML: handling, improved factory api, refactored error handling, stricter validation, proper validation of reserved attributes' id '8cf55546-786c-4812-a474-ddf5750cd448' date '11/06/2014' time '06:42:43' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.77' message 'added copying to DOM nodes, removed inst var from XMLElement, every node responds to #document, changed XMLOrderedList subclasses return from copy/select methods lists of same subclass and only lists of the species for collecting methods

removed pharo2 trait package ref from config that isn''t needed' id 'e6c5fffa-8c2c-4093-86ce-443f64209b37' date '10/29/2014' time '02:39:30' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.76' message 'added ancestors/ancestorsDo:' id '6697c5c1-221a-4805-8b89-6f8dc849803e' date '10/27/2014' time '03:40:34' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.75' message 'changed addElement to accepts strings, added elementNames, fixed incompatibities with squeak' id 'aeee1353-a14a-4fdf-8d40-c08c77ac7281' date '10/26/2014' time '03:10:55' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.74' message 'changed XMLOrderedList to be Collection subclass instead of Sequenceable, fixed digit reading bug, improved validation performance, added FileDirectory file handle class' id '9cc9904f-6fb6-4701-b927-9edb724965c9' date '10/24/2014' time '04:11:04' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.73' message 'added sortability to node lists' id '8eaf7854-52df-47d8-9430-2cf641f3d215' date '10/19/2014' time '09:44:38' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.72' message 'removed XMLNotifier for performance and added String>>parseXML' id 'cf0da0b6-ae64-4556-9e97-346a1ad73d9d' date '10/18/2014' time '07:05:01' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.71' message 'improved performance' id '76a7f047-3d0c-41d8-8d77-dd7ae65b42cb' date '10/14/2014' time '11:35:26' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.70' message 'removed instance variable from XMLNamespaceScope, added print messages to XMLNode to print without self-closed tags and simplified other print messages' id '296516f9-f575-4bab-972b-9d652c5f58b3' date '10/13/2014' time '02:21:09' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.69' message 'HTML parsing now packaged separately' id '257cf384-862e-45bc-ba36-89c51a11e737' date '10/09/2014' time '09:32:37' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.68' message 'added comments for configuring input limits, increased default read limits, removed a variable from XMLNodeName' id 'e96cea1f-6231-41f4-ae53-d1bf203ea1b3' date '10/04/2014' time '02:16:02' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.67' message 'small refactoring' id 'dae0d666-ead1-4eec-9511-6bf39efb5b9e' date '10/01/2014' time '06:06:25' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.66' message 'updated an HTTP test for change in Pharo news feed URL' id '496fd114-a4c5-49f5-93f6-0b538053eac6' date '09/29/2014' time '01:57:43' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.65' message 'Fixed a bug in concatenation of XMLOrderedLists (thanks Ben Coman)' id '1b5c20f0-a9fb-4f98-8968-cad6efcb269e' date '09/29/2014' time '12:58:16' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-StephaneDucasse.64' message 'Fixed the Pharo1.0x and added the pharo2.x in version back.

' id 'd6705561-06b5-4047-a838-82eff0ca1405' date '07/01/2014' time '01:21:12' author 'StephaneDucasse' ancestors ((name 'ConfigurationOfXMLParser-GuillaumeLarcheveque.63' message '-Freezing at the version level the stable version. ' id 'a034bfc7-778f-4679-ab45-ff681d4a7a0e' date '06/27/2014' time '04:15:14' author 'GuillaumeLarcheveque' ancestors ((name 'ConfigurationOfXMLParser-DiegoLont.62' message 'Fix: forgot to add package to baseline.' id 'd89d427c-00e0-4a1a-8ec8-7b4c82cae431' date '05/22/2014' time '10:18:49' author 'DiegoLont' ancestors ((name 'ConfigurationOfXMLParser-DiegoLont.61' message 'Forgot to change baseline. Added package for pharo2 specific methods.' id 'f0fc942e-b677-4a35-a0d2-2e1c681501d1' date '05/21/2014' time '02:43:59' author 'DiegoLont' ancestors ((name 'ConfigurationOfXMLParser-DiegoLont.60' message 'I must use proper file name' id '2c7fa7a1-2d37-4d03-9eaf-ee3063533614' date '05/21/2014' time '02:35:24' author 'DiegoLont' ancestors ((name 'ConfigurationOfXMLParser-DiegoLont.59' message 'Updated configuration to fix pharo 2.0 version' id 'f20f3638-c516-4fce-9f05-40816ea0cdbd' date '05/21/2014' time '02:34:35' author 'DiegoLont' ancestors ((name 'ConfigurationOfXMLParser-monty.58' message 'faster element printing' id '888475f1-14fd-4f08-83a5-81a2ef990907' date '02/20/2014' time '04:03:07' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.57' message 'changed so input streams are closed after parsing ends, even on an error.(thanks paolo bernadi)' id '6a102d47-5641-42f5-b8de-57e48b76c475' date '02/18/2014' time '03:21:31' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.56' message 'refactored HTML parsing to handle implicit start tags and made HTML parsing 15% faster, and also sped up some DOM methods.' id '65fe2f62-961e-40b6-aa04-a430e499f3d6' date '02/15/2014' time '04:04:14' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.55' message 'refactored and made so CDATA do not have to merge with strings, and ";" is optional for HTML entities.' id '08f0ceb5-2903-4a04-8a75-faa742f5cab6' date '02/11/2014' time '02:43:26' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.54' message 'refactored namespace code and removed an instance variable in XMLAttribute.' id '5d0caeef-2e43-413e-8b60-c0bdf942273d' date '02/08/2014' time '03:20:02' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.53' message 'refactored HTML nesting and slight optimization.' id '583dc0bb-0f1f-47f1-a877-f9616da520de' date '02/06/2014' time '08:13:00' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.52' message 'made handling of invalid HTML entities and character refs more consistent (they are left intact) and more small optimizations.' id '00a25b3c-134a-4515-a530-0bbfcc5c5f42' date '02/04/2014' time '03:02:48' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.51' message '30-40% faster DOM parsing through removing the XMLNestedStreamWriter, adding separate methods to read pcdata, attribute values, and entity values, refactoring XMLNamespaceScope, and much inlining.' id 'df7ee665-a060-444e-8d7c-9221cd1897cd' date '02/03/2014' time '01:25:22' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.50' message 'External entity resolving is disabled by default now, and configurable limits are placed on parser input for security, so you will get XMLLimit exceptions when parsing very large documents, external entities (if enabled), or too many levels of entity replacement. Use "documentReadLimit: nil" to disable (or change) the document input limit, or removeLimits to disable all limits.' id 'c719c7c9-c815-4158-bed1-780ca37d1aa7' date '01/26/2014' time '04:37:25' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.49' message 'External entity resolving is disabled by default now, and configurable limits are placed on parser input for security, so you will get XMLLimit exceptions when parsing very large documents, external entities (if enabled), or too many levels of entity replacement. Use "documentReadLimit: nil" to disable (or change) the document input limit, or removeLimits to disable all limits.' id '68326118-eef2-4219-8e9b-ad4758365226' date '01/25/2014' time '05:08:53' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.48' message 'empty log message' id '70e3dc3e-777c-4221-a5bb-cf9a03e70ff3' date '01/24/2014' time '11:41:16' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.47' message 'Implemented the xml:id and xml:base specs, added proper xml:space handling, %xx unescaping in URI paths, replaced usages of CharacterSet with BitmapCharacterSet, changed handling of exceptions to make debugging easier' id '5159b932-503f-46f6-8a4a-14f153f75c80' date '01/24/2014' time '01:32:15' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.46' message 'empty log message' id 'e144bdaa-b553-45e9-b835-7b94a5696c88' date '01/14/2014' time '02:34:15' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.45' message 'empty log message' id '7887015a-d0b8-4a25-b83a-8e4219420836' date '01/05/2014' time '07:12:48' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.44' message 'empty log message' id '76f5e313-619f-455d-87c7-2dd5cb64209a' date '01/04/2014' time '08:23:34' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.43' message 'empty log message' id '7a1049a5-eddf-40fe-92b4-afbe32ae191b' date '01/01/2014' time '07:35:52' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.42' message 'empty log message' id 'efa1653b-bb9c-468e-baee-df732669fbdb' date '12/31/2013' time '03:19:08' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.41' message 'empty log message' id 'e0c4de81-5e31-4387-a18b-52e0fc87215c' date '12/29/2013' time '03:29:51' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.40' message 'Fixed test package reference.' id '7080a026-d7aa-4e81-b93a-2be46e62c1ac' date '12/29/2013' time '01:22:07' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.39' message 'empty log message' id '707b65ea-dab0-4a6f-b5f9-e6faa4e4fe13' date '12/29/2013' time '01:15:37' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-StephaneDucasse.38' message 'new versions adding two tests' id '9219b1b8-b102-4361-8d9e-f606cef2a4e9' date '12/27/2013' time '05:17:11' author 'StephaneDucasse' ancestors ((name 'ConfigurationOfXMLParser-monty.37' message 'empty log message' id 'b56b7af8-f4e9-4ddb-8d98-44254148484e' date '12/22/2013' time '07:24:15' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.36' message 'empty log message' id '1b2f1039-17c0-40c1-aafb-0562c5c67036' date '12/22/2013' time '12:35:48' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.35' message 'empty log message' id '48cc1aa5-d902-42fb-b7af-72d70ab65343' date '12/19/2013' time '08:13:11' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.34' message 'empty log message' id '8e9f3e3a-fb8e-4e8a-a272-658a3ce579b3' date '12/19/2013' time '08:08:25' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.33' message 'empty log message' id '3f647ad2-9c60-425b-9f11-a7808ccd08d3' date '12/19/2013' time '02:08:43' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.32' message 'empty log message' id 'd815a265-a0c1-42b8-bc68-78f39f7ad9d1' date '12/14/2013' time '03:20:57' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.31' message 'empty log message' id 'b7ebd7a9-efe4-4b8a-800e-bf5e72d419d9' date '12/13/2013' time '11:20:17' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.30' message 'Fixed the default doc URI and changed the catalog info.' id '3644d556-665c-43f1-a0df-9b9e40ea2390' date '12/13/2013' time '05:48:40' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.29' message 'empty log message' id '6c35e3f1-ce83-4a61-929e-2c1222e5ca70' date '12/12/2013' time '03:21:56' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.28' message 'empty log message' id 'ab07877e-0f33-47ea-bfec-215c6d1ffbbb' date '12/11/2013' time '03:05:53' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.27' message 'empty log message' id '2d56238d-929a-4754-a36a-24348d525522' date '12/10/2013' time '06:56:19' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.26' message 'empty log message' id '448b4d36-687b-45c6-b64f-cb9681f420da' date '12/10/2013' time '06:01:51' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.25' message 'empty log message' id '22fd34ea-0d63-48be-a496-f40c1216c52b' date '12/10/2013' time '10:18:50' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.24' message 'empty log message' id 'a788f038-fc7e-4b2a-8292-a6b9b5904bdb' date '12/09/2013' time '06:36:33' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.23' message 'empty log message' id '9a0b314a-3a67-4fef-a8f3-461df1e69b88' date '12/08/2013' time '04:46:31' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.22' message 'empty log message' id 'fd4d707d-0c90-4042-abf2-891d548709ee' date '12/08/2013' time '03:55:41' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.21' message 'empty log message' id 'ef6f91ee-6719-4a74-9148-7fc8c900947b' date '12/01/2013' time '10:57:43' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.20' message 'Better HTML parsing and new tests.' id '067a5779-2f6b-431f-802f-bb6539d4f6fd' date '12/01/2013' time '01:39:49' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-monty.19' message 'empty log message' id '059c1898-714a-4bf4-855f-bd748e1e0849' date '11/28/2013' time '10:39:10' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-PaulDeBruicker.18' message 'decreased the stable version for pharo1.x because the newer packages use FileSystem features that don''t exist in older Pharo' id 'e1152e84-8473-46dd-b62d-4794b6406f57' date '11/27/2013' time '01:44:42' author 'PaulDeBruicker' ancestors ((name 'ConfigurationOfXMLParser-monty.17' message 'empty log message' id 'a082a593-3c25-471c-98cf-28e8b28143a0' date '11/26/2013' time '07:19:01' author 'monty' ancestors ((name 'ConfigurationOfXMLParser-StephaneDucasse.16' message 'Enhancements made by Monty. These updates add validation against internal and external DTDs, proper replacement of general and parameter entites, customizable resolution of external parsed entities using Zinc and FileSystem, awareness of notations and unparsed entities, preservation of the internal DTD subset by the DOM parser (so printing a parsed doc with a DTD will produce approximately what was input), line numbers reporting in error messages, and better well-formed and validity constraints.

I had to largely rewrite the tokenizer to make everything work, but I followed the spec closely, and it is about the same speed as long as there is no DTD to validate against.

Another problem is that there are so many deprecated methods cluttering up classes, some of which have been deprecated for years! It is confusing and hard to see which methods to use just by browsing the protocols. I would really suggest using this code to get rid of the XML-Parser methods that have been deprecated for at least a year:

expiry := 1 year.
(SystemNavigation default allClassesInPackageNamed: ''XML-Parser'')
do: [:class |
class selectors do: [:selector | | compiledMethod timeStamp |
compiledMethod := class compiledMethodAt: selector.
timeStamp := compiledMethod timeStamp copyAfter: Character space.
(compiledMethod isDeprecated
and: [(DateAndTime now - (DateAndTime fromString: timeStamp)) > expiry])
ifTrue: [class removeSelector: selector]]].' id '84b77d3a-7b5b-4b96-8352-5399993c54b0' date '11/24/2013' time '06:51:09' author 'StephaneDucasse' ancestors ((name 'ConfigurationOfXMLParser-StephaneDucasse.15' message 'Enhancements made by Monty. These updates add validation against internal and external DTDs, proper replacement of general and parameter entites, customizable resolution of external parsed entities using Zinc and FileSystem, awareness of notations and unparsed entities, preservation of the internal DTD subset by the DOM parser (so printing a parsed doc with a DTD will produce approximately what was input), line numbers reporting in error messages, and better well-formed and validity constraints.

I had to largely rewrite the tokenizer to make everything work, but I followed the spec closely, and it is about the same speed as long as there is no DTD to validate against.

Another problem is that there are so many deprecated methods cluttering up classes, some of which have been deprecated for years! It is confusing and hard to see which methods to use just by browsing the protocols. I would really suggest using this code to get rid of the XML-Parser methods that have been deprecated for at least a year:

expiry := 1 year.
(SystemNavigation default allClassesInPackageNamed: ''XML-Parser'')
do: [:class |
class selectors do: [:selector | | compiledMethod timeStamp |
compiledMethod := class compiledMethodAt: selector.
timeStamp := compiledMethod timeStamp copyAfter: Character space.
(compiledMethod isDeprecated
and: [(DateAndTime now - (DateAndTime fromString: timeStamp)) > expiry])
ifTrue: [class removeSelector: selector]]].' id '4577e694-47fd-44b5-a301-78bf3a174987' date '11/24/2013' time '06:44:05' author 'StephaneDucasse' ancestors ((name 'ConfigurationOfXMLParser-DamienCassou.14' message '- Use version 1.2 as new stable' id '273e5b9c-1a0e-430e-acfe-0324b3b784ae' date '04/30/2013' time '06:11:20' author 'DamienCassou' ancestors ((name 'ConfigurationOfXMLParser-DamienCassou.13' message '- Add a dependency to OrderPreservingDictionary' id '625d49bb-47af-4edc-8387-0ad25f663a28' date '04/30/2013' time '06:04:37' author 'DamienCassou' ancestors ((name 'ConfigurationOfXMLParser-DamienCassou.12' message '- XMLParser does not depend on XMLWriter anymore. Only XMLParser-Tests does' id '5473cefd-7f94-4560-8735-ce71db1e7b45' date '04/30/2013' time '05:54:49' author 'DamienCassou' ancestors ((name 'ConfigurationOfXMLParser-StephaneDucasse.11' message '"default by default is equivalent to loading ''ALL'' the packages still we added explicitly Tests to be loaded"' id '514ad7b0-ba75-4f00-924a-197d00deea88' date '03/12/2013' time '10:06:37' author 'StephaneDucasse' ancestors ((name 'ConfigurationOfXMLParser-SD.10' message 'first version with all tests green.' id 'd098568e-18a9-4de4-85ae-be3034040e9f' date '03/03/2013' time '10:47:15' author 'SD' ancestors ((name 'ConfigurationOfXMLParser-StephaneDucasse.9' message 'not erasing the previous dependencies but using a collection instead!!!!
' id '76d8f9e2-0a59-47b0-9fff-1fcd65c9b49d' date '03/02/2013' time '10:06:32' author 'StephaneDucasse' ancestors ((name 'ConfigurationOfXMLParser-StephaneDucasse.8' message 'with dependencies to subproject expressed!' id 'f46a7566-6131-4ab1-8df5-45b7aa4ec6b3' date '03/02/2013' time '09:39:49' author 'StephaneDucasse' ancestors ((name 'ConfigurationOfXMLParser-StephaneDucasse.7' message 'with the XMLWriter dependency since the printOn: method uses it.' id 'fef10fd5-e4a7-4d53-b229-9aaea914a71e' date '03/02/2013' time '09:32:41' author 'StephaneDucasse' ancestors ((name 'ConfigurationOfXMLParser-StephaneDucasse.6' message 'first version loading no tests checked!' id 'd0963e30-4f13-4385-979e-6c10d97b36fb' date '03/02/2013' time '09:27:16' author 'StephaneDucasse' ancestors ((name 'ConfigurationOfXMLParser-StephaneDucasse.5' message 'another try' id '4c666efb-5e41-4d6d-a65d-6dfb5c9a3874' date '03/02/2013' time '09:16:21' author 'StephaneDucasse' ancestors ((name 'ConfigurationOfXMLParser-StephaneDucasse.4' message 'trying to fix the version.' id '71c4abb7-baa1-4017-a80c-587ca071a9fb' date '03/02/2013' time '09:09:49' author 'StephaneDucasse' ancestors ((name 'ConfigurationOfXMLParser-StephaneDucasse.3' message 'with better class comment' id 'ccd0fd45-cab9-4480-9ce7-f4279d238357' date '03/02/2013' time '09:07:42' author 'StephaneDucasse' ancestors ((name 'ConfigurationOfXMLParser-StephaneDucasse.2' message 'removing dependent projects versionned information. ' id '4276c3ca-ae40-4949-9cfd-703bc5ec30a9' date '03/02/2013' time '09:06:41' author 'StephaneDucasse' ancestors ((name 'ConfigurationOfXMLParser-StephaneDucasse.1' message 'first version to be tested.' id '2b935113-1134-4d78-bc8e-9cc724294005' date '03/02/2013' time '08:35:21' author 'StephaneDucasse' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())