diff --git a/samples/src/XInclude/XInclude.cpp b/samples/src/XInclude/XInclude.cpp new file mode 100644 index 0000000000000000000000000000000000000000..cbd9bf955297458f38a857af8a8611389568a368 --- /dev/null +++ b/samples/src/XInclude/XInclude.cpp @@ -0,0 +1,230 @@ +/* + * Copyright 1999-2002,2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * $$ + */ + +// --------------------------------------------------------------------------- +// Includes +// --------------------------------------------------------------------------- +#include <xercesc/util/PlatformUtils.hpp> +#include <xercesc/parsers/AbstractDOMParser.hpp> +#include <xercesc/framework/LocalFileFormatTarget.hpp> +#include <xercesc/dom/DOMDocument.hpp> +#include <xercesc/dom/DOM.hpp> +#include <xercesc/util/XMLString.hpp> + +#include "XInclude.hpp" + +// --------------------------------------------------------------------------- +// This is a simple program which tests the different XInclude mechanisms prototyped +// for my dissertation. Based largely on the DOMCount example provided with the +// Xerces C++ project. +// Simon Rowland 2006 +// --------------------------------------------------------------------------- +static void usage() +{ + XERCES_STD_QUALIFIER cout << "\nUsage:\n" + " XInclude [-h] InputFile OutputFile\n" + " -h : Prints this help message and exits.\n" + << XERCES_STD_QUALIFIER endl; +} + +// --------------------------------------------------------------------------- +// +// main +// +// --------------------------------------------------------------------------- +int main(int argC, char* argV[]) +{ + char *testFileName; + char *outputFileName; + + for (int argInd = 1; argInd < argC; argInd++) + { + if (!strcmp(argV[argInd], "-?") || !strcmp(argV[argInd], "-h")) + { + /* print help and exit */ + usage(); + return 2; + } + } + + if (argC < 3){ + usage(); + return 2; + } + + testFileName = argV[argC-2]; + outputFileName = argV[argC-1]; + + // Initialize the XML4C system + try + { + XMLPlatformUtils::Initialize(); + } + + catch (const XMLException& toCatch) + { + XERCES_STD_QUALIFIER cerr << "Error during initialization! :\n" + << StrX(toCatch.getMessage()) << XERCES_STD_QUALIFIER endl; + return 1; + } + + //============================================================================ + // Instantiate the DOM parser to use for the source documents + //============================================================================ + static const XMLCh gLS[] = { chLatin_L, chLatin_S, chNull }; + DOMImplementation *impl = DOMImplementationRegistry::getDOMImplementation(gLS); + DOMLSParser *parser = ((DOMImplementationLS*)impl)->createLSParser(DOMImplementationLS::MODE_SYNCHRONOUS, 0); + DOMConfiguration *config = parser->getDomConfig(); + + config->setParameter(XMLUni::fgDOMNamespaces, true); + config->setParameter(XMLUni::fgXercesSchema, true); + config->setParameter(XMLUni::fgXercesSchemaFullChecking, true); + + if(config->canSetParameter(XMLUni::fgXercesDoXInclude, true)){ + config->setParameter(XMLUni::fgXercesDoXInclude, true); + } + + // enable datatype normalization - default is off + //config->setParameter(XMLUni::fgDOMDatatypeNormalization, true); + + // And create our error handler and install it + XIncludeErrorHandler errorHandler; + config->setParameter(XMLUni::fgDOMErrorHandler, &errorHandler); + + XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument *doc = 0; + + try + { + // load up the test source document + XERCES_STD_QUALIFIER cerr << "Parse " << testFileName << " in progress ..."; + parser->resetDocumentPool(); + doc = parser->parseURI(testFileName); + XERCES_STD_QUALIFIER cerr << " finished." << XERCES_STD_QUALIFIER endl; + } + catch (const XMLException& toCatch) + { + XERCES_STD_QUALIFIER cerr << "\nError during parsing: '" << testFileName << "'\n" + << "Exception message is: \n" + << StrX(toCatch.getMessage()) << "\n" << XERCES_STD_QUALIFIER endl; + } + catch (const DOMException& toCatch) + { + const unsigned int maxChars = 2047; + XMLCh errText[maxChars + 1]; + + XERCES_STD_QUALIFIER cerr << "\nDOM Error during parsing: '" << testFileName << "'\n" + << "DOMException code is: " << toCatch.code << XERCES_STD_QUALIFIER endl; + + if (DOMImplementation::loadDOMExceptionMsg(toCatch.code, errText, maxChars)) + XERCES_STD_QUALIFIER cerr << "Message is: " << StrX(errText) << XERCES_STD_QUALIFIER endl; + + } + catch (...) + { + XERCES_STD_QUALIFIER cerr << "\nUnexpected exception during parsing: '" << testFileName << "'\n"; + } + + if (doc) { + DOMLSSerializer *writer = ((DOMImplementationLS*)impl)->createLSSerializer(); + DOMLSOutput *theOutputDesc = ((DOMImplementationLS*)impl)->createLSOutput(); + + try { + // write out the results + XERCES_STD_QUALIFIER cerr << "Writing result to: " << outputFileName << XERCES_STD_QUALIFIER endl; + + XMLFormatTarget *myFormTarget = new LocalFileFormatTarget(outputFileName); + theOutputDesc->setByteStream(myFormTarget); + writer->write(doc, theOutputDesc); + delete myFormTarget; + } + catch (const XMLException& toCatch) + { + XERCES_STD_QUALIFIER cerr << "\nXMLException during writing: '" << testFileName << "'\n" + << "Exception message is: \n" + << StrX(toCatch.getMessage()) << "\n" << XERCES_STD_QUALIFIER endl; + } + catch (const DOMException& toCatch) + { + const unsigned int maxChars = 2047; + XMLCh errText[maxChars + 1]; + + XERCES_STD_QUALIFIER cerr << "\nDOM Error during writing: '" << testFileName << "'\n" + << "DOMException code is: " << toCatch.code << XERCES_STD_QUALIFIER endl; + + if (DOMImplementation::loadDOMExceptionMsg(toCatch.code, errText, maxChars)) + XERCES_STD_QUALIFIER cerr << "Message is: " << StrX(errText) << XERCES_STD_QUALIFIER endl; + } + catch (...) + { + XERCES_STD_QUALIFIER cerr << "\nUnexpected exception during writing: '" << testFileName << "'\n"; + } + writer->release(); + theOutputDesc->release(); + } + + // + // Delete the parser itself. Must be done prior to calling Terminate, below. + // + parser->release(); + // And call the termination method + XMLPlatformUtils::Terminate(); + + return 0; +} + +XIncludeErrorHandler::XIncludeErrorHandler() : + fSawErrors(false) +{ +} + +XIncludeErrorHandler::~XIncludeErrorHandler() +{ +} + + +// --------------------------------------------------------------------------- +// XIncludeHandlers: Overrides of the DOM ErrorHandler interface +// --------------------------------------------------------------------------- +bool XIncludeErrorHandler::handleError(const DOMError& domError) +{ + bool continueParsing = true; + fSawErrors = true; + if (domError.getSeverity() == DOMError::DOM_SEVERITY_WARNING) + XERCES_STD_QUALIFIER cerr << "\nWarning at file "; + else if (domError.getSeverity() == DOMError::DOM_SEVERITY_ERROR) + XERCES_STD_QUALIFIER cerr << "\nError at file "; + else { + XERCES_STD_QUALIFIER cerr << "\nFatal Error at file "; + continueParsing = false; + } + + XERCES_STD_QUALIFIER cerr << StrX(domError.getLocation()->getURI()) + << ", line " << domError.getLocation()->getLineNumber() + << ", char " << domError.getLocation()->getColumnNumber() + << "\n Message: " << StrX(domError.getMessage()) << XERCES_STD_QUALIFIER endl; + + return continueParsing; +} + +void XIncludeErrorHandler::resetErrors() +{ + fSawErrors = false; +} + diff --git a/samples/src/XInclude/XInclude.hpp b/samples/src/XInclude/XInclude.hpp new file mode 100644 index 0000000000000000000000000000000000000000..0bb7cd609836fb4a169e8c525d8ee913b3772f51 --- /dev/null +++ b/samples/src/XInclude/XInclude.hpp @@ -0,0 +1,130 @@ +/* + * Copyright 1999-2000,2004 The Apache Software Foundation. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * $$ + */ + +// --------------------------------------------------------------------------- +// Includes +// --------------------------------------------------------------------------- +#include <xercesc/dom/DOMErrorHandler.hpp> +#include <xercesc/util/XMLString.hpp> + +#if defined(XERCES_NEW_IOSTREAMS) +#include <iostream> +#else +#include <iostream.h> +#endif + +XERCES_CPP_NAMESPACE_USE + +// --------------------------------------------------------------------------- +// Simple error handler deriviative to install on parser +// --------------------------------------------------------------------------- +class XIncludeErrorHandler : public DOMErrorHandler +{ +public: + // ----------------------------------------------------------------------- + // Constructors and Destructor + // ----------------------------------------------------------------------- + XIncludeErrorHandler(); + ~XIncludeErrorHandler(); + + + // ----------------------------------------------------------------------- + // Getter methods + // ----------------------------------------------------------------------- + bool getSawErrors() const; + + + // ----------------------------------------------------------------------- + // Implementation of the DOM ErrorHandler interface + // ----------------------------------------------------------------------- + bool handleError(const DOMError& domError); + void resetErrors(); + + +private : + // ----------------------------------------------------------------------- + // Unimplemented constructors and operators + // ----------------------------------------------------------------------- + XIncludeErrorHandler(const XIncludeErrorHandler&); + void operator=(const XIncludeErrorHandler&); + + + // ----------------------------------------------------------------------- + // Private data members + // + // fSawErrors + // This is set if we get any errors, and is queryable via a getter + // method. Its used by the main code to suppress output if there are + // errors. + // ----------------------------------------------------------------------- + bool fSawErrors; +}; + + +// --------------------------------------------------------------------------- +// This is a simple class that lets us do easy (though not terribly efficient) +// trancoding of XMLCh data to local code page for display. +// --------------------------------------------------------------------------- +class StrX +{ +public : + // ----------------------------------------------------------------------- + // Constructors and Destructor + // ----------------------------------------------------------------------- + StrX(const XMLCh* const toTranscode) + { + // Call the private transcoding method + fLocalForm = XMLString::transcode(toTranscode); + } + + ~StrX() + { + XMLString::release(&fLocalForm); + } + + + // ----------------------------------------------------------------------- + // Getter methods + // ----------------------------------------------------------------------- + const char* localForm() const + { + return fLocalForm; + } + +private : + // ----------------------------------------------------------------------- + // Private data members + // + // fLocalForm + // This is the local code page form of the string. + // ----------------------------------------------------------------------- + char* fLocalForm; +}; + +inline XERCES_STD_QUALIFIER ostream& operator<<(XERCES_STD_QUALIFIER ostream& target, const StrX& toDump) +{ + target << toDump.localForm(); + return target; +} + +inline bool XIncludeErrorHandler::getSawErrors() const +{ + return fSawErrors; +} diff --git a/src/xercesc/NLS/EN_US/XMLErrList_EN_US.Xml b/src/xercesc/NLS/EN_US/XMLErrList_EN_US.Xml index 7ec16b38b92b6bd4bd197eff2f66a635bf0f4853..2b272d4a223fe5dd7a74e61b8ba6389f30dad9ea 100644 --- a/src/xercesc/NLS/EN_US/XMLErrList_EN_US.Xml +++ b/src/xercesc/NLS/EN_US/XMLErrList_EN_US.Xml @@ -14,6 +14,10 @@ <Message Id="UndeclaredElemInCM" Text="Element '{0}' was referenced in a content model but never declared"/> <Message Id="UndeclaredElemInAttList" Text="Element '{0}' was referenced in an attlist but never declared"/> <Message Id="XMLException_Warning" Text="An exception occurred! Type:{0}, Message:{1}"/> + <Message Id="XIncludeResourceErrorWarning" Text="Error occurred including document '{0}'"/> + <Message Id="XIncludeCannotOpenFile" Text="Cannot open text file target '{0}'"/> + <Message Id="XIncludeInternalTextIncError" Text="Internal error including text file '{0}'"/> + <Message Id="XIncludeIncludeFailedResourceError" Text="Unable to include resource '{0}'"/> </Warning> <Error> <Message Id="FeatureUnsupported" Text="'{0}' is not allowed for the content of a simpleType. Only list, union and restriction are allowed."/> @@ -318,6 +322,14 @@ <Message Id="InvalidAttrName" Text="Attribute qname beginning with '{0}' invalid"/> <Message Id="InvalidEntityRefName" Text="Entity qname for reference beginning '{0}' invalid"/> <Message Id="DuplicateDocTypeDecl" Text="Already seen doctype"/> + <Message Id="XIncludeOrphanFallback" Text="Found a fallback element not a direct child of include element"/> + <Message Id="XIncludeNoHref" Text="include element found without href attribute"/> + <Message Id="XIncludeXPointerNotSupported" Text="Found an include element with xpointer specification. XPointer not yet supported"/> + <Message Id="XIncludeInvalidParseVal" Text="Invalid parse attribute value '{0}' found on include element - only text or xml is valid"/> + <Message Id="XIncludeMultipleFallbackElems" Text="Multiple fallback elements found in include element in document '{0}'"/> + <Message Id="XIncludeIncludeFailedNoFallback" Text="Include failed, no fallback found in document '{0}'"/> + <Message Id="XIncludeCircularInclusionLoop" Text="Circular inclusion document '{0}' includes previously included document"/> + <Message Id="XIncludeCircularInclusionDocIncludesSelf" Text="Circular inclusion document '{0}' includes itself"/> </FatalError> </MsgDomain> <MsgDomain Domain="http://apache.org/xml/messages/XMLValidity"> diff --git a/src/xercesc/dom/impl/DOMDocumentImpl.cpp b/src/xercesc/dom/impl/DOMDocumentImpl.cpp index 29ab3cffe561b3f900dc858e984ab0b7a14e5ef0..a3831dd5bee564e55f21b9eacfa6300f2f8c37a7 100644 --- a/src/xercesc/dom/impl/DOMDocumentImpl.cpp +++ b/src/xercesc/dom/impl/DOMDocumentImpl.cpp @@ -1464,6 +1464,12 @@ bool DOMDocumentImpl::isSupported(const XMLCh *feature, const XMLCh *version) co // check for '+DOMMemoryManager' if(feature && *feature=='+' && XMLString::equals(feature+1, XMLUni::fgXercescInterfaceDOMMemoryManager)) return true; + if(feature && *feature) + { + if((*feature==chPlus && XMLString::equals(feature+1, XMLUni::fgXercescInterfaceDOMDocumentImpl)) || + XMLString::equals(feature, XMLUni::fgXercescInterfaceDOMDocumentImpl)) + return true; + } return fNode.isSupported (feature, version); } @@ -1471,6 +1477,8 @@ void* DOMDocumentImpl::getFeature(const XMLCh* feature, const XMLCh* version) co { if(XMLString::equals(feature, XMLUni::fgXercescInterfaceDOMMemoryManager)) return (DOMMemoryManager*)this; + if(XMLString::equals(feature, XMLUni::fgXercescInterfaceDOMDocumentImpl)) + return (DOMDocumentImpl*)this; return fNode.getFeature(feature,version); } diff --git a/src/xercesc/framework/XMLErrorCodes.hpp b/src/xercesc/framework/XMLErrorCodes.hpp index 528927325b7747ff69a99d66f4f981397373e5f9..5fcefd59c20c3e1e4d2aba44789d65d5d318eee3 100644 --- a/src/xercesc/framework/XMLErrorCodes.hpp +++ b/src/xercesc/framework/XMLErrorCodes.hpp @@ -22,311 +22,323 @@ public : , UndeclaredElemInCM = 5 , UndeclaredElemInAttList = 6 , XMLException_Warning = 7 - , W_HighBounds = 8 - , E_LowBounds = 9 - , FeatureUnsupported = 10 - , TopLevelNoNameComplexType = 11 - , TopLevelNoNameAttribute = 12 - , NoNameRefAttribute = 13 - , GlobalNoNameElement = 14 - , NoNameRefElement = 15 - , NoNameRefGroup = 16 - , NoNameRefAttGroup = 17 - , AnonComplexTypeWithName = 18 - , AnonSimpleTypeWithName = 19 - , InvalidElementContent = 20 - , UntypedElement = 21 - , SimpleTypeContentError = 22 - , ExpectedSimpleTypeInList = 23 - , ListUnionRestrictionError = 24 - , SimpleTypeDerivationByListError = 25 - , ExpectedSimpleTypeInRestriction = 26 - , DuplicateFacet = 27 - , ExpectedSimpleTypeInUnion = 28 - , EmptySimpleTypeContent = 29 - , InvalidSimpleContent = 30 - , UnspecifiedBase = 31 - , InvalidComplexContent = 32 - , SchemaElementContentError = 33 - , ContentError = 34 - , UnknownSimpleType = 35 - , UnknownComplexType = 36 - , UnresolvedPrefix = 37 - , RefElementNotFound = 38 - , TypeNotFound = 39 - , TopLevelAttributeNotFound = 40 - , InvalidChildInComplexType = 41 - , BaseTypeNotFound = 42 - , NoAttributeInSchema = 43 - , DatatypeValidatorCreationError = 44 - , InvalidChildFollowingSimpleContent = 45 - , InvalidChildFollowingConplexContent = 46 - , InvalidComplexTypeBlockValue = 47 - , InvalidComplexTypeFinalValue = 48 - , AttributeDefaultFixedValue = 49 - , NotOptionalDefaultAttValue = 50 - , LocalAttributeWithNameRef = 51 - , GlobalAttributeWithNameRef = 52 - , DuplicateAttribute = 53 - , AttributeWithTypeAndSimpleType = 54 - , AttributeSimpleTypeNotFound = 55 - , ElementWithFixedAndDefault = 56 - , DeclarationWithNameRef = 57 - , BadAttWithRef = 58 - , InvalidDeclarationName = 59 - , GlobalElementWithRef = 60 - , ElementWithTypeAndAnonType = 61 - , NotSimpleOrMixedElement = 62 - , DisallowedSimpleTypeExtension = 63 - , InvalidSimpleContentBase = 64 - , InvalidComplexTypeBase = 65 - , InvalidChildInSimpleContent = 66 - , InvalidChildInComplexContent = 67 - , AnnotationError = 68 - , DisallowedBaseDerivation = 69 - , SubstitutionRepeated = 70 - , UnionRepeated = 71 - , ExtensionRepeated = 72 - , ListRepeated = 73 - , RestrictionRepeated = 74 - , InvalidBlockValue = 75 - , InvalidFinalValue = 76 - , InvalidSubstitutionGroupElement = 77 - , SubstitutionGroupTypeMismatch = 78 - , DuplicateElementDeclaration = 79 - , InvalidElementBlockValue = 80 - , InvalidElementFinalValue = 81 - , InvalidAttValue = 82 - , AttributeRefContentError = 83 - , DuplicateRefAttribute = 84 - , ForbiddenDerivationByRestriction = 85 - , ForbiddenDerivationByExtension = 86 - , BaseNotComplexType = 87 - , ImportNamespaceDifference = 88 - , ImportRootError = 89 - , DeclarationNoSchemaLocation = 90 - , IncludeNamespaceDifference = 91 - , OnlyAnnotationExpected = 92 - , InvalidAttributeContent = 93 - , AttributeRequired = 94 - , AttributeDisallowed = 95 - , InvalidMin2MaxOccurs = 96 - , AnyAttributeContentError = 97 - , NoNameGlobalElement = 98 - , NoCircularDefinition = 99 - , DuplicateGlobalType = 100 - , DuplicateGlobalDeclaration = 101 - , WS_CollapseExpected = 102 - , Import_1_1 = 103 - , Import_1_2 = 104 - , ElemIDValueConstraint = 105 - , NoNotationType = 106 - , EmptiableMixedContent = 107 - , EmptyComplexRestrictionDerivation = 108 - , MixedOrElementOnly = 109 - , InvalidContentRestriction = 110 - , ForbiddenDerivation = 111 - , AtomicItemType = 112 - , MemberTypeNoUnion = 113 - , GroupContentError = 114 - , AttGroupContentError = 115 - , MinMaxOnGroupChild = 116 - , DeclarationNotFound = 117 - , AllContentLimited = 118 - , BadMinMaxAllCT = 119 - , BadMinMaxAllElem = 120 - , NoCircularAttGroup = 121 - , DuplicateAttInDerivation = 122 - , NotExpressibleWildCardIntersection = 123 - , BadAttDerivation_1 = 124 - , BadAttDerivation_2 = 125 - , BadAttDerivation_3 = 126 - , BadAttDerivation_4 = 127 - , BadAttDerivation_5 = 128 - , BadAttDerivation_6 = 129 - , BadAttDerivation_7 = 130 - , BadAttDerivation_8 = 131 - , BadAttDerivation_9 = 132 - , AllContentError = 133 - , RedefineNamespaceDifference = 134 - , Redefine_InvalidSimpleType = 135 - , Redefine_InvalidSimpleTypeBase = 136 - , Redefine_InvalidComplexType = 137 - , Redefine_InvalidComplexTypeBase = 138 - , Redefine_InvalidGroupMinMax = 139 - , Redefine_DeclarationNotFound = 140 - , Redefine_GroupRefCount = 141 - , Redefine_AttGroupRefCount = 142 - , Redefine_InvalidChild = 143 - , Notation_InvalidDecl = 144 - , Notation_DeclNotFound = 145 - , IC_DuplicateDecl = 146 - , IC_BadContent = 147 - , IC_KeyRefReferNotFound = 148 - , IC_KeyRefCardinality = 149 - , IC_XPathExprMissing = 150 - , AttUseCorrect = 151 - , AttDeclPropCorrect3 = 152 - , AttDeclPropCorrect5 = 153 - , AttGrpPropCorrect3 = 154 - , InvalidTargetNSValue = 155 - , DisplayErrorMessage = 156 - , XMLException_Error = 157 - , InvalidRedefine = 158 - , InvalidNSReference = 159 - , NotAllContent = 160 - , InvalidAnnotationContent = 161 - , InvalidFacetName = 162 - , InvalidXMLSchemaRoot = 163 - , CircularSubsGroup = 164 - , SubsGroupMemberAbstract = 165 - , ELTSchemaNS = 166 - , InvalidAttTNS = 167 - , NSDeclInvalid = 168 - , DOMLevel1Node = 169 - , E_HighBounds = 170 - , F_LowBounds = 171 - , EntityExpansionLimitExceeded = 172 - , ExpectedCommentOrCDATA = 173 - , ExpectedAttrName = 174 - , ExpectedNotationName = 175 - , NoRepInMixed = 176 - , BadDefAttrDecl = 177 - , ExpectedDefAttrDecl = 178 - , AttListSyntaxError = 179 - , ExpectedEqSign = 180 - , DupAttrName = 181 - , BadIdForXMLLangAttr = 182 - , ExpectedElementName = 183 - , MustStartWithXMLDecl = 184 - , CommentsMustStartWith = 185 - , InvalidDocumentStructure = 186 - , ExpectedDeclString = 187 - , BadXMLVersion = 188 - , UnsupportedXMLVersion = 189 - , UnterminatedXMLDecl = 190 - , BadXMLEncoding = 191 - , BadStandalone = 192 - , UnterminatedComment = 193 - , PINameExpected = 194 - , UnterminatedPI = 195 - , InvalidCharacter = 196 - , UnexpectedTextBeforeRoot = 197 - , UnterminatedStartTag = 198 - , ExpectedAttrValue = 199 - , UnterminatedEndTag = 200 - , ExpectedAttributeType = 201 - , ExpectedEndOfTagX = 202 - , ExpectedMarkup = 203 - , NotValidAfterContent = 204 - , ExpectedComment = 205 - , ExpectedCommentOrPI = 206 - , ExpectedWhitespace = 207 - , NoRootElemInDOCTYPE = 208 - , ExpectedQuotedString = 209 - , ExpectedPublicId = 210 - , InvalidPublicIdChar = 211 - , UnterminatedDOCTYPE = 212 - , InvalidCharacterInIntSubset = 213 - , ExpectedCDATA = 214 - , InvalidInitialNameChar = 215 - , InvalidNameChar = 216 - , UnexpectedWhitespace = 217 - , InvalidCharacterInAttrValue = 218 - , ExpectedMarkupDecl = 219 - , TextDeclNotLegalHere = 220 - , ConditionalSectInIntSubset = 221 - , ExpectedPEName = 222 - , UnterminatedEntityDecl = 223 - , InvalidCharacterRef = 224 - , UnterminatedCharRef = 225 - , ExpectedEntityRefName = 226 - , EntityNotFound = 227 - , NoUnparsedEntityRefs = 228 - , UnterminatedEntityRef = 229 - , RecursiveEntity = 230 - , PartialMarkupInEntity = 231 - , UnterminatedElementDecl = 232 - , ExpectedContentSpecExpr = 233 - , ExpectedAsterisk = 234 - , UnterminatedContentModel = 235 - , ExpectedSystemId = 236 - , ExpectedSystemOrPublicId = 237 - , UnterminatedNotationDecl = 238 - , ExpectedSeqChoiceLeaf = 239 - , ExpectedChoiceOrCloseParen = 240 - , ExpectedSeqOrCloseParen = 241 - , ExpectedEnumValue = 242 - , ExpectedEnumSepOrParen = 243 - , UnterminatedEntityLiteral = 244 - , MoreEndThanStartTags = 245 - , ExpectedOpenParen = 246 - , AttrAlreadyUsedInSTag = 247 - , BracketInAttrValue = 248 - , Expected2ndSurrogateChar = 249 - , ExpectedEndOfConditional = 250 - , ExpectedIncOrIgn = 251 - , ExpectedINCLUDEBracket = 252 - , ExpectedTextDecl = 253 - , ExpectedXMLDecl = 254 - , UnexpectedEOE = 255 - , PEPropogated = 256 - , ExtraCloseSquare = 257 - , PERefInMarkupInIntSubset = 258 - , EntityPropogated = 259 - , ExpectedNumericalCharRef = 260 - , ExpectedOpenSquareBracket = 261 - , BadSequenceInCharData = 262 - , IllegalSequenceInComment = 263 - , UnterminatedCDATASection = 264 - , ExpectedNDATA = 265 - , NDATANotValidForPE = 266 - , HexRadixMustBeLowerCase = 267 - , DeclStringRep = 268 - , DeclStringsInWrongOrder = 269 - , NoExtRefsInAttValue = 270 - , XMLDeclMustBeLowerCase = 271 - , ExpectedEntityValue = 272 - , BadDigitForRadix = 273 - , EndedWithTagsOnStack = 274 - , AmbiguousContentModel = 275 - , NestedCDATA = 276 - , UnknownPrefix = 277 - , PartialTagMarkupError = 278 - , EmptyMainEntity = 279 - , CDATAOutsideOfContent = 280 - , OnlyCharRefsAllowedHere = 281 - , Unexpected2ndSurrogateChar = 282 - , NoPIStartsWithXML = 283 - , XMLDeclMustBeFirst = 284 - , XMLVersionRequired = 285 - , StandaloneNotLegal = 286 - , EncodingRequired = 287 - , TooManyColonsInName = 288 - , InvalidColonPos = 289 - , ColonNotLegalWithNS = 290 - , SysException = 291 - , XMLException_Fatal = 292 - , UnexpectedEOF = 293 - , UnexpectedError = 294 - , BadSchemaLocation = 295 - , NoGrammarResolver = 296 - , SchemaScanFatalError = 297 - , IllegalRefInStandalone = 298 - , PEBetweenDecl = 299 - , NoEmptyStrNamespace = 300 - , NoUseOfxmlnsAsPrefix = 301 - , NoUseOfxmlnsURI = 302 - , PrefixXMLNotMatchXMLURI = 303 - , XMLURINotMatchXMLPrefix = 304 - , NoXMLNSAsElementPrefix = 305 - , CT_SimpleTypeChildRequired = 306 - , InvalidRootElemInDOCTYPE = 307 - , InvalidElementName = 308 - , InvalidAttrName = 309 - , InvalidEntityRefName = 310 - , DuplicateDocTypeDecl = 311 - , F_HighBounds = 312 + , XIncludeResourceErrorWarning = 8 + , XIncludeCannotOpenFile = 9 + , XIncludeInternalTextIncError = 10 + , XIncludeIncludeFailedResourceError = 11 + , W_HighBounds = 12 + , E_LowBounds = 13 + , FeatureUnsupported = 14 + , TopLevelNoNameComplexType = 15 + , TopLevelNoNameAttribute = 16 + , NoNameRefAttribute = 17 + , GlobalNoNameElement = 18 + , NoNameRefElement = 19 + , NoNameRefGroup = 20 + , NoNameRefAttGroup = 21 + , AnonComplexTypeWithName = 22 + , AnonSimpleTypeWithName = 23 + , InvalidElementContent = 24 + , UntypedElement = 25 + , SimpleTypeContentError = 26 + , ExpectedSimpleTypeInList = 27 + , ListUnionRestrictionError = 28 + , SimpleTypeDerivationByListError = 29 + , ExpectedSimpleTypeInRestriction = 30 + , DuplicateFacet = 31 + , ExpectedSimpleTypeInUnion = 32 + , EmptySimpleTypeContent = 33 + , InvalidSimpleContent = 34 + , UnspecifiedBase = 35 + , InvalidComplexContent = 36 + , SchemaElementContentError = 37 + , ContentError = 38 + , UnknownSimpleType = 39 + , UnknownComplexType = 40 + , UnresolvedPrefix = 41 + , RefElementNotFound = 42 + , TypeNotFound = 43 + , TopLevelAttributeNotFound = 44 + , InvalidChildInComplexType = 45 + , BaseTypeNotFound = 46 + , NoAttributeInSchema = 47 + , DatatypeValidatorCreationError = 48 + , InvalidChildFollowingSimpleContent = 49 + , InvalidChildFollowingConplexContent = 50 + , InvalidComplexTypeBlockValue = 51 + , InvalidComplexTypeFinalValue = 52 + , AttributeDefaultFixedValue = 53 + , NotOptionalDefaultAttValue = 54 + , LocalAttributeWithNameRef = 55 + , GlobalAttributeWithNameRef = 56 + , DuplicateAttribute = 57 + , AttributeWithTypeAndSimpleType = 58 + , AttributeSimpleTypeNotFound = 59 + , ElementWithFixedAndDefault = 60 + , DeclarationWithNameRef = 61 + , BadAttWithRef = 62 + , InvalidDeclarationName = 63 + , GlobalElementWithRef = 64 + , ElementWithTypeAndAnonType = 65 + , NotSimpleOrMixedElement = 66 + , DisallowedSimpleTypeExtension = 67 + , InvalidSimpleContentBase = 68 + , InvalidComplexTypeBase = 69 + , InvalidChildInSimpleContent = 70 + , InvalidChildInComplexContent = 71 + , AnnotationError = 72 + , DisallowedBaseDerivation = 73 + , SubstitutionRepeated = 74 + , UnionRepeated = 75 + , ExtensionRepeated = 76 + , ListRepeated = 77 + , RestrictionRepeated = 78 + , InvalidBlockValue = 79 + , InvalidFinalValue = 80 + , InvalidSubstitutionGroupElement = 81 + , SubstitutionGroupTypeMismatch = 82 + , DuplicateElementDeclaration = 83 + , InvalidElementBlockValue = 84 + , InvalidElementFinalValue = 85 + , InvalidAttValue = 86 + , AttributeRefContentError = 87 + , DuplicateRefAttribute = 88 + , ForbiddenDerivationByRestriction = 89 + , ForbiddenDerivationByExtension = 90 + , BaseNotComplexType = 91 + , ImportNamespaceDifference = 92 + , ImportRootError = 93 + , DeclarationNoSchemaLocation = 94 + , IncludeNamespaceDifference = 95 + , OnlyAnnotationExpected = 96 + , InvalidAttributeContent = 97 + , AttributeRequired = 98 + , AttributeDisallowed = 99 + , InvalidMin2MaxOccurs = 100 + , AnyAttributeContentError = 101 + , NoNameGlobalElement = 102 + , NoCircularDefinition = 103 + , DuplicateGlobalType = 104 + , DuplicateGlobalDeclaration = 105 + , WS_CollapseExpected = 106 + , Import_1_1 = 107 + , Import_1_2 = 108 + , ElemIDValueConstraint = 109 + , NoNotationType = 110 + , EmptiableMixedContent = 111 + , EmptyComplexRestrictionDerivation = 112 + , MixedOrElementOnly = 113 + , InvalidContentRestriction = 114 + , ForbiddenDerivation = 115 + , AtomicItemType = 116 + , MemberTypeNoUnion = 117 + , GroupContentError = 118 + , AttGroupContentError = 119 + , MinMaxOnGroupChild = 120 + , DeclarationNotFound = 121 + , AllContentLimited = 122 + , BadMinMaxAllCT = 123 + , BadMinMaxAllElem = 124 + , NoCircularAttGroup = 125 + , DuplicateAttInDerivation = 126 + , NotExpressibleWildCardIntersection = 127 + , BadAttDerivation_1 = 128 + , BadAttDerivation_2 = 129 + , BadAttDerivation_3 = 130 + , BadAttDerivation_4 = 131 + , BadAttDerivation_5 = 132 + , BadAttDerivation_6 = 133 + , BadAttDerivation_7 = 134 + , BadAttDerivation_8 = 135 + , BadAttDerivation_9 = 136 + , AllContentError = 137 + , RedefineNamespaceDifference = 138 + , Redefine_InvalidSimpleType = 139 + , Redefine_InvalidSimpleTypeBase = 140 + , Redefine_InvalidComplexType = 141 + , Redefine_InvalidComplexTypeBase = 142 + , Redefine_InvalidGroupMinMax = 143 + , Redefine_DeclarationNotFound = 144 + , Redefine_GroupRefCount = 145 + , Redefine_AttGroupRefCount = 146 + , Redefine_InvalidChild = 147 + , Notation_InvalidDecl = 148 + , Notation_DeclNotFound = 149 + , IC_DuplicateDecl = 150 + , IC_BadContent = 151 + , IC_KeyRefReferNotFound = 152 + , IC_KeyRefCardinality = 153 + , IC_XPathExprMissing = 154 + , AttUseCorrect = 155 + , AttDeclPropCorrect3 = 156 + , AttDeclPropCorrect5 = 157 + , AttGrpPropCorrect3 = 158 + , InvalidTargetNSValue = 159 + , DisplayErrorMessage = 160 + , XMLException_Error = 161 + , InvalidRedefine = 162 + , InvalidNSReference = 163 + , NotAllContent = 164 + , InvalidAnnotationContent = 165 + , InvalidFacetName = 166 + , InvalidXMLSchemaRoot = 167 + , CircularSubsGroup = 168 + , SubsGroupMemberAbstract = 169 + , ELTSchemaNS = 170 + , InvalidAttTNS = 171 + , NSDeclInvalid = 172 + , DOMLevel1Node = 173 + , E_HighBounds = 174 + , F_LowBounds = 175 + , EntityExpansionLimitExceeded = 176 + , ExpectedCommentOrCDATA = 177 + , ExpectedAttrName = 178 + , ExpectedNotationName = 179 + , NoRepInMixed = 180 + , BadDefAttrDecl = 181 + , ExpectedDefAttrDecl = 182 + , AttListSyntaxError = 183 + , ExpectedEqSign = 184 + , DupAttrName = 185 + , BadIdForXMLLangAttr = 186 + , ExpectedElementName = 187 + , MustStartWithXMLDecl = 188 + , CommentsMustStartWith = 189 + , InvalidDocumentStructure = 190 + , ExpectedDeclString = 191 + , BadXMLVersion = 192 + , UnsupportedXMLVersion = 193 + , UnterminatedXMLDecl = 194 + , BadXMLEncoding = 195 + , BadStandalone = 196 + , UnterminatedComment = 197 + , PINameExpected = 198 + , UnterminatedPI = 199 + , InvalidCharacter = 200 + , UnexpectedTextBeforeRoot = 201 + , UnterminatedStartTag = 202 + , ExpectedAttrValue = 203 + , UnterminatedEndTag = 204 + , ExpectedAttributeType = 205 + , ExpectedEndOfTagX = 206 + , ExpectedMarkup = 207 + , NotValidAfterContent = 208 + , ExpectedComment = 209 + , ExpectedCommentOrPI = 210 + , ExpectedWhitespace = 211 + , NoRootElemInDOCTYPE = 212 + , ExpectedQuotedString = 213 + , ExpectedPublicId = 214 + , InvalidPublicIdChar = 215 + , UnterminatedDOCTYPE = 216 + , InvalidCharacterInIntSubset = 217 + , ExpectedCDATA = 218 + , InvalidInitialNameChar = 219 + , InvalidNameChar = 220 + , UnexpectedWhitespace = 221 + , InvalidCharacterInAttrValue = 222 + , ExpectedMarkupDecl = 223 + , TextDeclNotLegalHere = 224 + , ConditionalSectInIntSubset = 225 + , ExpectedPEName = 226 + , UnterminatedEntityDecl = 227 + , InvalidCharacterRef = 228 + , UnterminatedCharRef = 229 + , ExpectedEntityRefName = 230 + , EntityNotFound = 231 + , NoUnparsedEntityRefs = 232 + , UnterminatedEntityRef = 233 + , RecursiveEntity = 234 + , PartialMarkupInEntity = 235 + , UnterminatedElementDecl = 236 + , ExpectedContentSpecExpr = 237 + , ExpectedAsterisk = 238 + , UnterminatedContentModel = 239 + , ExpectedSystemId = 240 + , ExpectedSystemOrPublicId = 241 + , UnterminatedNotationDecl = 242 + , ExpectedSeqChoiceLeaf = 243 + , ExpectedChoiceOrCloseParen = 244 + , ExpectedSeqOrCloseParen = 245 + , ExpectedEnumValue = 246 + , ExpectedEnumSepOrParen = 247 + , UnterminatedEntityLiteral = 248 + , MoreEndThanStartTags = 249 + , ExpectedOpenParen = 250 + , AttrAlreadyUsedInSTag = 251 + , BracketInAttrValue = 252 + , Expected2ndSurrogateChar = 253 + , ExpectedEndOfConditional = 254 + , ExpectedIncOrIgn = 255 + , ExpectedINCLUDEBracket = 256 + , ExpectedTextDecl = 257 + , ExpectedXMLDecl = 258 + , UnexpectedEOE = 259 + , PEPropogated = 260 + , ExtraCloseSquare = 261 + , PERefInMarkupInIntSubset = 262 + , EntityPropogated = 263 + , ExpectedNumericalCharRef = 264 + , ExpectedOpenSquareBracket = 265 + , BadSequenceInCharData = 266 + , IllegalSequenceInComment = 267 + , UnterminatedCDATASection = 268 + , ExpectedNDATA = 269 + , NDATANotValidForPE = 270 + , HexRadixMustBeLowerCase = 271 + , DeclStringRep = 272 + , DeclStringsInWrongOrder = 273 + , NoExtRefsInAttValue = 274 + , XMLDeclMustBeLowerCase = 275 + , ExpectedEntityValue = 276 + , BadDigitForRadix = 277 + , EndedWithTagsOnStack = 278 + , AmbiguousContentModel = 279 + , NestedCDATA = 280 + , UnknownPrefix = 281 + , PartialTagMarkupError = 282 + , EmptyMainEntity = 283 + , CDATAOutsideOfContent = 284 + , OnlyCharRefsAllowedHere = 285 + , Unexpected2ndSurrogateChar = 286 + , NoPIStartsWithXML = 287 + , XMLDeclMustBeFirst = 288 + , XMLVersionRequired = 289 + , StandaloneNotLegal = 290 + , EncodingRequired = 291 + , TooManyColonsInName = 292 + , InvalidColonPos = 293 + , ColonNotLegalWithNS = 294 + , SysException = 295 + , XMLException_Fatal = 296 + , UnexpectedEOF = 297 + , UnexpectedError = 298 + , BadSchemaLocation = 299 + , NoGrammarResolver = 300 + , SchemaScanFatalError = 301 + , IllegalRefInStandalone = 302 + , PEBetweenDecl = 303 + , NoEmptyStrNamespace = 304 + , NoUseOfxmlnsAsPrefix = 305 + , NoUseOfxmlnsURI = 306 + , PrefixXMLNotMatchXMLURI = 307 + , XMLURINotMatchXMLPrefix = 308 + , NoXMLNSAsElementPrefix = 309 + , CT_SimpleTypeChildRequired = 310 + , InvalidRootElemInDOCTYPE = 311 + , InvalidElementName = 312 + , InvalidAttrName = 313 + , InvalidEntityRefName = 314 + , DuplicateDocTypeDecl = 315 + , XIncludeOrphanFallback = 316 + , XIncludeNoHref = 317 + , XIncludeXPointerNotSupported = 318 + , XIncludeInvalidParseVal = 319 + , XIncludeMultipleFallbackElems = 320 + , XIncludeIncludeFailedNoFallback = 321 + , XIncludeCircularInclusionLoop = 322 + , XIncludeCircularInclusionDocIncludesSelf = 323 + , F_HighBounds = 324 }; static bool isFatal(const XMLErrs::Codes toCheck) diff --git a/src/xercesc/parsers/DOMLSParserImpl.cpp b/src/xercesc/parsers/DOMLSParserImpl.cpp index 53e9709c8470de5165b7494ec0066c5255a94a37..b491885d2171d4bd99f60c6069604422315ecb10 100644 --- a/src/xercesc/parsers/DOMLSParserImpl.cpp +++ b/src/xercesc/parsers/DOMLSParserImpl.cpp @@ -50,6 +50,7 @@ #include <xercesc/util/XMLEntityResolver.hpp> #include <xercesc/util/RuntimeException.hpp> #include <xercesc/util/XMLDOMMsg.hpp> +#include <xercesc/xinclude/XIncludeDOMDocumentProcessor.hpp> XERCES_CPP_NAMESPACE_BEGIN @@ -83,6 +84,7 @@ AbstractDOMParser(valToAdopt, manager, gramPool) , fCharsetOverridesXMLEncoding(true) , fUserAdoptsDocument(false) , fSupportedParameters(0) +, fDoXInclude(false) { // dom spec has different default from scanner's default, so set explicitly getScanner()->setNormalizeData(false); @@ -135,6 +137,7 @@ AbstractDOMParser(valToAdopt, manager, gramPool) fSupportedParameters->add(XMLUni::fgXercesIgnoreAnnotations); fSupportedParameters->add(XMLUni::fgXercesDisableDefaultEntityResolution); fSupportedParameters->add(XMLUni::fgXercesSkipDTDValidation); + fSupportedParameters->add(XMLUni::fgXercesDoXInclude); } @@ -402,6 +405,10 @@ void DOMLSParserImpl::setParameter(const XMLCh* name, bool state) { getScanner()->setSkipDTDValidation(state); } + else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesDoXInclude) == 0) + { + fDoXInclude = state; + } else throw DOMException(DOMException::NOT_FOUND_ERR, 0, getMemoryManager()); } @@ -593,6 +600,10 @@ const void* DOMLSParserImpl::getParameter(const XMLCh* name) const { return getSecurityManager(); } + else if (XMLString::compareIStringASCII(name, XMLUni::fgXercesDoXInclude) == 0) + { + return (void *)fDoXInclude; + } else throw DOMException(DOMException::NOT_FOUND_ERR, 0, getMemoryManager()); } @@ -642,7 +653,8 @@ bool DOMLSParserImpl::canSetParameter(const XMLCh* name, bool value) const XMLString::compareIStringASCII(name, XMLUni::fgXercesIgnoreCachedDTD) == 0 || XMLString::compareIStringASCII(name, XMLUni::fgXercesIgnoreAnnotations) == 0 || XMLString::compareIStringASCII(name, XMLUni::fgXercesDisableDefaultEntityResolution) == 0 || - XMLString::compareIStringASCII(name, XMLUni::fgXercesSkipDTDValidation) == 0) + XMLString::compareIStringASCII(name, XMLUni::fgXercesSkipDTDValidation) == 0 || + XMLString::compareIStringASCII(name, XMLUni::fgXercesDoXInclude) == 0) return true; else if(XMLString::compareIStringASCII(name, XMLUni::fgDOMDisallowDoctype) == 0 || XMLString::compareIStringASCII(name, XMLUni::fgDOMIgnoreUnknownCharacterDenormalization) == 0 || @@ -697,6 +709,21 @@ DOMDocument* DOMLSParserImpl::parse(const DOMLSInput* source) Wrapper4DOMLSInput isWrapper((DOMLSInput*)source, fEntityResolver, false, getMemoryManager()); AbstractDOMParser::parse(isWrapper); + + if (fDoXInclude){ + XIncludeDOMDocumentProcessor xidp; + DOMDocument *doc = getDocument(); + if(doc) { + // store the result of the XInclude processing in fDocument, then delete the original one + DOMDocument* xincluded=xidp.doXIncludeDOMProcess(doc, (XMLErrorReporter *) this); + if(xincluded) + fDocument = (DOMDocumentImpl*) (xincluded->getFeature(XMLUni::fgXercescInterfaceDOMDocumentImpl, 0)); + else + fDocument = NULL; + delete doc; + } + } + if (fUserAdoptsDocument) return adoptDocument(); else @@ -713,6 +740,21 @@ DOMDocument* DOMLSParserImpl::parseURI(const XMLCh* const systemId) fFilter=0; AbstractDOMParser::parse(systemId); + + if (fDoXInclude){ + XIncludeDOMDocumentProcessor xidp; + DOMDocument *doc = getDocument(); + if(doc) { + // store the result of the XInclude processing in fDocument, then delete the original one + DOMDocument* xincluded=xidp.doXIncludeDOMProcess(doc, (XMLErrorReporter *) this); + if(xincluded) + fDocument = (DOMDocumentImpl*) (xincluded->getFeature(XMLUni::fgXercescInterfaceDOMDocumentImpl, 0)); + else + fDocument = NULL; + delete doc; + } + } + if (fUserAdoptsDocument) return adoptDocument(); else @@ -729,6 +771,21 @@ DOMDocument* DOMLSParserImpl::parseURI(const char* const systemId) fFilter=0; AbstractDOMParser::parse(systemId); + + if (fDoXInclude){ + XIncludeDOMDocumentProcessor xidp; + DOMDocument *doc = getDocument(); + if(doc) { + // store the result of the XInclude processing in fDocument, then delete the original one + DOMDocument* xincluded=xidp.doXIncludeDOMProcess(doc, (XMLErrorReporter *) this); + if(xincluded) + fDocument = (DOMDocumentImpl*) (xincluded->getFeature(XMLUni::fgXercescInterfaceDOMDocumentImpl, 0)); + else + fDocument = NULL; + delete doc; + } + } + if (fUserAdoptsDocument) return adoptDocument(); else @@ -1081,3 +1138,4 @@ void DOMLSParserImpl::startElement(const XMLElementDecl& elemDecl XERCES_CPP_NAMESPACE_END + diff --git a/src/xercesc/parsers/DOMLSParserImpl.hpp b/src/xercesc/parsers/DOMLSParserImpl.hpp index 23e867655f04c636f34cee216ea50fc8be613338..4305fd186ef1677e1dd9a1cd96e127ceb2de5e86 100644 --- a/src/xercesc/parsers/DOMLSParserImpl.hpp +++ b/src/xercesc/parsers/DOMLSParserImpl.hpp @@ -607,6 +607,10 @@ private : // fSupportedParameters // A list of the parameters that can be set, including the ones // specific of Xerces + // + // fDoXinclude + // A bool used to request that XInlcude processing occur on the + // Document the parser parses. //----------------------------------------------------------------------- DOMLSResourceResolver* fEntityResolver; XMLEntityResolver* fXMLEntityResolver; @@ -615,6 +619,7 @@ private : bool fCharsetOverridesXMLEncoding; bool fUserAdoptsDocument; DOMStringListImpl* fSupportedParameters; + bool fDoXInclude; // ----------------------------------------------------------------------- // Unimplemented constructors and operators diff --git a/src/xercesc/util/MsgLoaders/ICU/resources/en_US.txt b/src/xercesc/util/MsgLoaders/ICU/resources/en_US.txt index 16fa56882a3ba0cb609ee34d5e6b53c69b67cbfd..29023ce66efebac60acdfd9f04422dc06afbdcf1 100644 --- a/src/xercesc/util/MsgLoaders/ICU/resources/en_US.txt +++ b/src/xercesc/util/MsgLoaders/ICU/resources/en_US.txt @@ -9,6 +9,10 @@ en_US { "Element '{0}' was referenced in a content model but never declared " , "Element '{0}' was referenced in an attlist but never declared " , "An exception occurred! Type:{0}, Message:{1} " , + "Error occurred including document '{0}' " , + "Cannot open text file target '{0}' " , + "Internal error including text file '{0}' " , + "Unable to include resource '{0}' " , "W_ End " , "E_ Start " , "'{0}' is not allowed for the content of a simpleType. Only list, union and restriction are allowed. " , @@ -313,6 +317,14 @@ en_US { "Attribute qname beginning with '{0}' invalid " , "Entity qname for reference beginning '{0}' invalid " , "Already seen doctype " , + "Found a fallback element not a direct child of include element " , + "include element found without href attribute " , + "Found an include element with xpointer specification. XPointer not yet supported " , + "Invalid parse attribute value '{0}' found on include element - only text or xml is valid " , + "Multiple fallback elements found in include element in document '{0}' " , + "Include failed, no fallback found in document '{0}' " , + "Circular inclusion document '{0}' includes previously included document " , + "Circular inclusion document '{0}' includes itself " , "F_ End " , } diff --git a/src/xercesc/util/MsgLoaders/InMemory/XercesMessages_en_US.hpp b/src/xercesc/util/MsgLoaders/InMemory/XercesMessages_en_US.hpp index 35722ce3519f016e97575b852affbe092e14aaa8..93f3c1977040f7dc7f3c3c6cd8e08b0e4a9d2253 100644 --- a/src/xercesc/util/MsgLoaders/InMemory/XercesMessages_en_US.hpp +++ b/src/xercesc/util/MsgLoaders/InMemory/XercesMessages_en_US.hpp @@ -23,6 +23,12 @@ const XMLCh gXMLErrArray[][128] = 0x0061,0x0074,0x0074,0x006C,0x0069,0x0073,0x0074,0x0020,0x0062,0x0075,0x0074,0x0020,0x006E,0x0065,0x0076,0x0065,0x0072,0x0020,0x0064,0x0065,0x0063,0x006C,0x0061,0x0072,0x0065,0x0064,0x00 } , { 0x0041,0x006E,0x0020,0x0065,0x0078,0x0063,0x0065,0x0070,0x0074,0x0069,0x006F,0x006E,0x0020,0x006F,0x0063,0x0063,0x0075,0x0072,0x0072,0x0065,0x0064,0x0021,0x0020,0x0054,0x0079,0x0070,0x0065,0x003A,0x007B,0x0030,0x007D,0x002C,0x0020,0x004D,0x0065, 0x0073,0x0073,0x0061,0x0067,0x0065,0x003A,0x007B,0x0031,0x007D,0x00 } + , { 0x0045,0x0072,0x0072,0x006F,0x0072,0x0020,0x006F,0x0063,0x0063,0x0075,0x0072,0x0072,0x0065,0x0064,0x0020,0x0069,0x006E,0x0063,0x006C,0x0075,0x0064,0x0069,0x006E,0x0067,0x0020,0x0064,0x006F,0x0063,0x0075,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027, + 0x007B,0x0030,0x007D,0x0027,0x00 } + , { 0x0043,0x0061,0x006E,0x006E,0x006F,0x0074,0x0020,0x006F,0x0070,0x0065,0x006E,0x0020,0x0074,0x0065,0x0078,0x0074,0x0020,0x0066,0x0069,0x006C,0x0065,0x0020,0x0074,0x0061,0x0072,0x0067,0x0065,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 } + , { 0x0049,0x006E,0x0074,0x0065,0x0072,0x006E,0x0061,0x006C,0x0020,0x0065,0x0072,0x0072,0x006F,0x0072,0x0020,0x0069,0x006E,0x0063,0x006C,0x0075,0x0064,0x0069,0x006E,0x0067,0x0020,0x0074,0x0065,0x0078,0x0074,0x0020,0x0066,0x0069,0x006C,0x0065,0x0020, + 0x0027,0x007B,0x0030,0x007D,0x0027,0x00 } + , { 0x0055,0x006E,0x0061,0x0062,0x006C,0x0065,0x0020,0x0074,0x006F,0x0020,0x0069,0x006E,0x0063,0x006C,0x0075,0x0064,0x0065,0x0020,0x0072,0x0065,0x0073,0x006F,0x0075,0x0072,0x0063,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 } , { 0x0057,0x005F,0x0045,0x006E,0x0064,0x00 } , { 0x0045,0x005F,0x0053,0x0074,0x0061,0x0072,0x0074,0x00 } , { 0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x0073,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x006C,0x006C,0x006F,0x0077,0x0065,0x0064,0x0020,0x0066,0x006F,0x0072,0x0020,0x0074,0x0068,0x0065,0x0020,0x0063,0x006F,0x006E,0x0074,0x0065,0x006E, @@ -683,10 +689,29 @@ const XMLCh gXMLErrArray[][128] = , { 0x0045,0x006E,0x0074,0x0069,0x0074,0x0079,0x0020,0x0071,0x006E,0x0061,0x006D,0x0065,0x0020,0x0066,0x006F,0x0072,0x0020,0x0072,0x0065,0x0066,0x0065,0x0072,0x0065,0x006E,0x0063,0x0065,0x0020,0x0062,0x0065,0x0067,0x0069,0x006E,0x006E,0x0069,0x006E, 0x0067,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x00 } , { 0x0041,0x006C,0x0072,0x0065,0x0061,0x0064,0x0079,0x0020,0x0073,0x0065,0x0065,0x006E,0x0020,0x0064,0x006F,0x0063,0x0074,0x0079,0x0070,0x0065,0x00 } + , { 0x0046,0x006F,0x0075,0x006E,0x0064,0x0020,0x0061,0x0020,0x0066,0x0061,0x006C,0x006C,0x0062,0x0061,0x0063,0x006B,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x006E,0x006F,0x0074,0x0020,0x0061,0x0020,0x0064,0x0069,0x0072,0x0065, + 0x0063,0x0074,0x0020,0x0063,0x0068,0x0069,0x006C,0x0064,0x0020,0x006F,0x0066,0x0020,0x0069,0x006E,0x0063,0x006C,0x0075,0x0064,0x0065,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x00 } + , { 0x0069,0x006E,0x0063,0x006C,0x0075,0x0064,0x0065,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x0020,0x0077,0x0069,0x0074,0x0068,0x006F,0x0075,0x0074,0x0020,0x0068,0x0072,0x0065,0x0066,0x0020, + 0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x00 } + , { 0x0046,0x006F,0x0075,0x006E,0x0064,0x0020,0x0061,0x006E,0x0020,0x0069,0x006E,0x0063,0x006C,0x0075,0x0064,0x0065,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0077,0x0069,0x0074,0x0068,0x0020,0x0078,0x0070,0x006F,0x0069,0x006E, + 0x0074,0x0065,0x0072,0x0020,0x0073,0x0070,0x0065,0x0063,0x0069,0x0066,0x0069,0x0063,0x0061,0x0074,0x0069,0x006F,0x006E,0x002E,0x0020,0x0058,0x0050,0x006F,0x0069,0x006E,0x0074,0x0065,0x0072,0x0020,0x006E,0x006F,0x0074,0x0020,0x0079,0x0065,0x0074, + 0x0020,0x0073,0x0075,0x0070,0x0070,0x006F,0x0072,0x0074,0x0065,0x0064,0x00 } + , { 0x0049,0x006E,0x0076,0x0061,0x006C,0x0069,0x0064,0x0020,0x0070,0x0061,0x0072,0x0073,0x0065,0x0020,0x0061,0x0074,0x0074,0x0072,0x0069,0x0062,0x0075,0x0074,0x0065,0x0020,0x0076,0x0061,0x006C,0x0075,0x0065,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027, + 0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x0020,0x006F,0x006E,0x0020,0x0069,0x006E,0x0063,0x006C,0x0075,0x0064,0x0065,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x002D,0x0020,0x006F,0x006E,0x006C,0x0079,0x0020,0x0074,0x0065, + 0x0078,0x0074,0x0020,0x006F,0x0072,0x0020,0x0078,0x006D,0x006C,0x0020,0x0069,0x0073,0x0020,0x0076,0x0061,0x006C,0x0069,0x0064,0x00 } + , { 0x004D,0x0075,0x006C,0x0074,0x0069,0x0070,0x006C,0x0065,0x0020,0x0066,0x0061,0x006C,0x006C,0x0062,0x0061,0x0063,0x006B,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0073,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x0020,0x0069,0x006E, + 0x0020,0x0069,0x006E,0x0063,0x006C,0x0075,0x0064,0x0065,0x0020,0x0065,0x006C,0x0065,0x006D,0x0065,0x006E,0x0074,0x0020,0x0069,0x006E,0x0020,0x0064,0x006F,0x0063,0x0075,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 } + , { 0x0049,0x006E,0x0063,0x006C,0x0075,0x0064,0x0065,0x0020,0x0066,0x0061,0x0069,0x006C,0x0065,0x0064,0x002C,0x0020,0x006E,0x006F,0x0020,0x0066,0x0061,0x006C,0x006C,0x0062,0x0061,0x0063,0x006B,0x0020,0x0066,0x006F,0x0075,0x006E,0x0064,0x0020,0x0069, + 0x006E,0x0020,0x0064,0x006F,0x0063,0x0075,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x00 } + , { 0x0043,0x0069,0x0072,0x0063,0x0075,0x006C,0x0061,0x0072,0x0020,0x0069,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x006F,0x006E,0x0020,0x0064,0x006F,0x0063,0x0075,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069, + 0x006E,0x0063,0x006C,0x0075,0x0064,0x0065,0x0073,0x0020,0x0070,0x0072,0x0065,0x0076,0x0069,0x006F,0x0075,0x0073,0x006C,0x0079,0x0020,0x0069,0x006E,0x0063,0x006C,0x0075,0x0064,0x0065,0x0064,0x0020,0x0064,0x006F,0x0063,0x0075,0x006D,0x0065,0x006E, + 0x0074,0x00 } + , { 0x0043,0x0069,0x0072,0x0063,0x0075,0x006C,0x0061,0x0072,0x0020,0x0069,0x006E,0x0063,0x006C,0x0075,0x0073,0x0069,0x006F,0x006E,0x0020,0x0064,0x006F,0x0063,0x0075,0x006D,0x0065,0x006E,0x0074,0x0020,0x0027,0x007B,0x0030,0x007D,0x0027,0x0020,0x0069, + 0x006E,0x0063,0x006C,0x0075,0x0064,0x0065,0x0073,0x0020,0x0069,0x0074,0x0073,0x0065,0x006C,0x0066,0x00 } , { 0x0046,0x005F,0x0045,0x006E,0x0064,0x00 } }; -const unsigned int gXMLErrArraySize = 313; +const unsigned int gXMLErrArraySize = 325; const XMLCh gXMLValidityArray[][128] = { diff --git a/src/xercesc/util/MsgLoaders/MsgCatalog/XercesMessages_en_US.Msg b/src/xercesc/util/MsgLoaders/MsgCatalog/XercesMessages_en_US.Msg index d250a8cdf0048aac5596838e59ad37af31c7f31c..b2b9eb5e71f9f0959338ade1781b3272af2ce1a2 100644 --- a/src/xercesc/util/MsgLoaders/MsgCatalog/XercesMessages_en_US.Msg +++ b/src/xercesc/util/MsgLoaders/MsgCatalog/XercesMessages_en_US.Msg @@ -6,306 +6,318 @@ $set 1 5 Element '{0}' was referenced in a content model but never declared 6 Element '{0}' was referenced in an attlist but never declared 7 An exception occurred! Type:{0}, Message:{1} -10 '{0}' is not allowed for the content of a simpleType. Only list, union and restriction are allowed. -11 Error: Top level complexType has no name - declaration ignored -12 Globally-declared attribute must have a name - attribute declaration ignored -13 Attribute must have a name or a ref - attribute declaration ignored -14 Globally-declared element must have a name - element declaration ignored -15 Element must have a name or a ref attribute - element ignored -16 <group> must have a name or a ref attribute - declaration ignored -17 <attributeGroup> must have a name or a ref attribute - declaration ignored -18 Anonymous complexType in element {0} has a name attribute -19 Anonymous simpleType in element {0} has a name attribute -20 The content of an element information item does not match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*) -21 Untyped element: {0} -22 Error in content of simpleType, '{0}' is invalid. Only allowed one of (restriction | list | union). -23 Expected simpleType in 'list' declaration for {0} -24 List | Union | Restriction content is invalid for type {0} -25 Error in content of derivation by list for {0} -26 Expected simpleType in 'restriction' declaration for {0} -27 Facet {0} already defined - ignoring -28 Expected simpleType in 'union' declaration for {0} -29 SimpleType content is empty -30 The content of the simpleContent element is invalid. The content must be RESTRICTION or EXTENSION -31 The BASE attribute must be specified for the RESTRICTION or EXTENSION element -32 The content of the complexContent element is invalid. The content must be RESTRICTION or EXTENSION -33 Error in content of <schema> element information item -34 Content (annotation?,..) is incorrect for type {0} -35 Unknown simpleType: {0} -36 Unknown complexType: {0} -37 Prefix: '{0}' can not be resolved to a URI -38 Ref element {0} not found in the Schema -39 Type not found in {0}:{1} -40 Could not find top level attribute: {0} -41 Invalid child '{0}' in the complex type -42 Base type could not be found: {0} -43 No attribute '{0}' was defined in schema: {1} -44 Error creating datatype validator: {0} -45 Invalid child following the simpleContent child in the complexType -46 Invalid child following the complexContent child in the complexType -47 The 'block' attribute values of a complexType must be #all | list(restriction,extension); {0} was found -48 The 'final' attribute values of a complexType must be #all | list(restriction,extension); {0} was found -49 Attribute '{0}={1}' cannot have both 'fixed' and 'default' present at the same time. -50 For attribute '{0}={1}' default and use are both present so use must have the value 'optional'. -51 Local attribute:{0} has also a ref defined - name ignored -52 Global attribute:'{0}' cannot have a ref defined -53 Error: Attribute '{0}' declared more than once in the same scope- ignoring -54 Attribute '{0}' may not contain both a type and a simpleType declaration. -55 SimpleType ({0}:{1}) for attribute: {2} not found -56 Element '{0}' cannot have both 'fixed' and 'default' present at the same time. -57 {0}:'{1}' has also a ref defined - name ignored -58 ref cannot appear with any of type, abstract, block, final, nillable, default or fixed -59 Invalid {0} name:'{1}' - declaration ignored -60 Globally-declared element {0} cannot have a ref attribute - ref ignored -61 Element '{0}' cannot have both a type attribute and a simpleType/complexType type child -62 Element {0} has a fixed or default value and must have a mixed simple or simple content model -63 The simpleType {0} that {1} uses has a value of 'final' which does not permit extension -64 The type '{0}' specified as the base in the simpleContent element must not have complexContent -65 The type '{0}' is a simple type. It cannot be used in a derivation by RESTRICTION for a complexType -66 Invalid child following the RESTRICTION or EXTENSION element in the simpleContent definition -67 Invalid child following the RESTRICTION or EXTENSION element in the complexContent definition -68 Annotation can only appear once: type {0} -69 The base type {0} does not allow itself to be used as the base for a restriction and/or as a type in a list and/or union -70 The value 'substitution' already in the list -71 The value 'union' is already in the list -72 The value 'extension' is already in the list -73 The value 'list' is already in the list -74 The value 'restriction' is already in the list -75 Invalid block value: {0} -76 Invalid final value: {0} -77 Element {0} cannot be part of the substitution group headed by {1} -78 Element {0} has a type which does not derive from the type of the element at the head of the substitution group -79 Duplicate element decl in the same scope: {0} -80 The 'block' attribute values of an element must be #all | list(substitution,restriction,extension); {0} was found -81 The 'final' attribute values of an element must be #all | list(restriction,extension); {0} was found -82 Invalid value '{0}' for attribute: '{1}'. -83 Ref is present, and simpleType/form/type found for attribute '{0}={1}' -84 Duplicate reference attribute {0}:{1} in complexType -85 Derivation by restriction is forbidden by either the base type '{0}' or the schema -86 Derivation by extension is forbidden by either the base type '{0}' or the schema -87 The base type specified in the complexContent element must be a complexType -88 Imported schema '{0}' has a different targetNameSpace '{1}' from what's declared '{2}' -89 Could not get the doc root for imported Schema: {0} -90 A schemaLocation attribute must be specified on '{0}' element. -91 Included schema '{0}' has a different targetNameSpace '{1}' -92 At most one <annotation> element is expected in the content. -93 The content must be (annotation?, simpleType?) for attribute '{0}={1}' -94 Attribute '{0}' must appear in {1} {2} declarations -95 Attribute '{0}' cannot appear in {1} {2} declarations -96 Value of minOccurs '{0}' must not be greater than value of maxOccurs '{1}' -97 'anyAttribute' elements can contain at most one 'annotation' element in their children -98 Global <{0}> must have a name - declaration ignored -99 No circular definitions are allowed: '{0}' -100 Global {0}:'{1}' declared more than once or also declared as {2} -101 Global {0}:'{1}' declared more than once -102 Invalid value '{0}' for facet 'whiteSpace'. Value should be 'collapse'. -103 The namespace of an <import> element must be different from the targetNamespace of the <import>ing schema -104 If the namespace on an <import> element is not present, the <import>ing schema must have a targetNamespace -105 Element '{0}' must not have a value constraint:'{1}' as its type is derived from ID -106 It is an error for NOTATION to be used directly in a schema in element/attribute '{0}' -107 For element '{0}', the {content type} is mixed, then the {content type}'s particle must be emptiable -108 The content of complexType is EMPTY, but base is not empty or does not have emptiable particle. -109 The content type of the base type:'{0}' and derived type:'{1}' must both be mixed or element-only. -110 The content type is not a valid restriction of the content type of the base. -111 Derivation by extension or restriction is forbidden by either the base type '{0}' or the schema -112 The {item type definition} must have {variety} of atomic or union (where all member types must be atomic) -113 The {member type definitions} must all have {variety} of atomic or list -114 The group:'{0}' must contain (all | choice | sequence) -115 The attributeGroup:'{0}' must match (annotation?. ((attribute | attributeGroup)*, anyAttribute?)) -116 The child of a model group definition must not specify either the minOccurs or maxOccurs attribute. -117 The {0} -'{1}:{2}'- not found in the schema -118 A group whose content is 'all' must only appear as the content type of a complex type definition. -119 When a model group has {compositor} 'all' which constitutes the {content type} of a complex type, minOccurs=maxOccurs=1 -120 In an 'all' schema component, the value of minOccurs/maxOccurs of an element must be '0' or '1'. -121 Circular attributeGroup reference -{0}- is disallowed outside <redefine> -122 Attribute '{0}' already defined in base and should not appear in derivation by extension. -123 The intensional intersection of {attributes wildcard}s must be expressible -124 Base type definition does not have any attributes -125 Attribute '{0}' has an inconsistent REQUIRED setting with that of the base -126 Type of attribute '{0}' must be validly derived from type of attribute in base -127 Attribute '{0}' is either not fixed, or has a different value from that of the base -128 Attribute '{0}' has invalid target namespace with respect to a base wildcard constraint or, base has no wildcard -129 An attribute wildcard is present in the derived type, but not in the base -130 The attribute wildcard in the derived type is not a valid subset of that in the base -131 Attribute '{0}' cannot modify the 'use' attribute in a derived type, if base attribute use is prohibited -132 The wildcard attribute in the derived type must be identical to or stronger than the one in the base. -133 Content of <all> is restricted to elements only. '{0}' encountered and ignored. -134 Redefined schema '{0}' has a different targetNameSpace '{1}'. -135 A simpleType child of a <redefine> must have a restriction element as a child -136 The base attribute of the restriction child of a simpleType, must be the same as the redefine simpleType's name attribute -137 A complexType child of a <redefine> must have a restriction or extension element as a grandchild -138 The base attribute of a restriction/extension must be the same as the complexType's name attribute in <redefine> -139 The group '{0}' which contains a reference to a group being redefined must have minOccurs = maxOccurs = 1 -140 Could not find a declaration in the schema to be redefined corresponding to '{0}' -141 If a group child of a <redefine> element contains a group ref'ing itself, it must have exactly 1 reference. -142 If an attributeGroup of a <redefine> element contains a reference to itself, such reference must be exactly 1 -143 A <redefine> element cannot contain a child of type '{0}' -144 The declaration for notation '{0}' is invalid -145 The notation declaration '{0}:{1}' is not found -146 More than one identity constraint named '{0}'. -147 The content of an identity constraint must match (annotation?, selector, field+) -148 Key reference declaration '{0}' refers to unknown key with name '{1}'. -149 Cardinality of fields for keyref '{0}' and key '{1}' must match. -150 Xpath expression is either missing or empty -151 The {value constraint} of an attribute ref is not fixed or different from the fixed {value constraint} of '{0}' -152 The {type definition} for attribute '{0}={1}' is or is derived from ID, and must not have {value constraint} -153 More than one attribute derived from type ID cannot appear in the same complex type - '{0}' ignored -154 More than one attribute derived from type ID cannot appear in the same attribute group - '{0}' ignored -155 '' is not a legal value for the targetNamespace attribute; the attribute must be absent or contain a nonempty value -156 {0} -157 An exception occurred! Type:{0}, Message:{1} -158 Invalid Redefine: '{0}' has already been included or redefined -159 Schema Representation Constraint: Namespace '{0}' is referenced without <import> declaration -160 An 'all' model group that's part of a complex type definition must constitute the entire content type of the definition -161 An <annotation> can only contain <appinfo> and <documentation> elements -162 Invalid facet name: {0} -163 The root element name of an XML Schema should be 'schema'. -164 Circular substitution groups are disallowed for element '{0}'. -165 For '{0}' to be a member of the substitution group set of '{1}', its {abstract} must be false. -166 The namespace of element '{0}' must be from the schema namespace. -167 The {target namespace} of '{0}' must not match 'http://www.w3.org/2001/XMLSchema-instance'. -168 The namespace declaration is invalid. -169 Namespace fixup cannot be performed on a DOM Level 1 Node. -172 The parser has encountered more than '{0}' entity expansions in this document; this is the limit imposed by the application. -173 Expected comment or CDATA -174 Expected an attribute name -175 Expected a notation name -176 Repetition of individual elements is not legal for mixed content models -177 Bad default attribute declaration -178 Expected default attribute declaration, assuming #IMPLIED -179 Attribute list syntax error -180 Expected equal sign -181 Duplication attribute name -182 Bad ID, '{0}', for xml:lang attribute -183 Expected an element name -184 Must start with an XMLDecl -185 Comments must start with <!-- -186 Invalid document structure -187 Expected a 'version=', 'encoding=', or 'standalone=' -188 Bad XML version string -189 Unsupported XML version, '{0}' -190 Unterminated XML decl -191 Bad XML encoding declaration, '{0}' -192 Bad standalone declaration -193 Unterminated comment -194 Processing instruction name expected -195 Unterminated processing instruction -196 Invalid character (Unicode: 0x{0}) -197 Unexpected text before root element -198 Unterminated start tag, '{0}' -199 Expected an attribute value -200 Unterminated end tag, '{0}' -201 Expected type (CDATA, ID, NMTOKEN, ..), for attribute '{0}' of element '{1}' -202 Expected end of tag '{0}' -203 Expected tag name, comment, PI, or other markup -204 Not valid after content -205 Expected comment -206 Expected comment or processing instruction -207 Expected whitespace -208 No root element in DOCTYPE -209 Expected quoted string -210 Expected public id -211 Invalid character in public id (Unicode: 0x{0}) -212 Unterminated DOCTYPE declaration -213 Invalid character in internal subset (Unicode: 0x{0}) -214 Expected CDATA section -215 Invalid initial name character -216 Invalid name character -217 Unexpected whitespace -218 Invalid character in attribute value {0} (Unicode: 0x{1}) -219 Expected a markup declaration -220 Text declaration not legal here -221 Conditional section in internal subset -222 Expected parameter entity name -223 Unterminated entity declaration, '{0}' -224 Invalid character reference -225 Unterminated character reference -226 Expected entity name for reference -227 Entity '{0}' was not found -228 Unparsed entity references, '{0}', not valid here -229 Unterminated entity reference, '{0}' -230 Recursive entity expansion, '{0}' -231 Partial markup in entity value -232 Unterminated element declaration, '{0}' -233 Expected content specification expression for element '{0}' -234 Expected asterisk -235 '{0}' is a mixed content model that is not terminated properly. -236 Expected system id -237 Expected system or public id -238 Unterminated notation declaration -239 Expected ',', '|', or ')' characters -240 Expected '|' or ')' characters -241 Expected ',' or ')' characters or close parenthesis in content model of element '{0}' -242 Expected enumeration value for attribute '{0}' -243 Expected | enumeration separator, or closing paren -244 Unterminated entity literal -245 There are more end tags than start tags -246 Expected an open parenthesis -247 The attribute '{0}' is already used in element '{1}' -248 A '<' character cannot be used in attribute '{0}', except through < -249 A leading surrogate character was not followed by a legal second character -250 Expected ']]>' to end a conditional section -251 Expected INCLUDE or IGNORE here -252 Expected [ to follow INCLUDE or IGNORE -253 Expected a TextDecl here: <?xml .... -254 Expected a XMLDecl here: <?xml .... -255 Unexpected end of entity {0} -256 A PE propagated out of the int/ext subset, discarding extra text -257 An extra ] character was found an ignored -258 PE refs are not allowed inside markup in the internal subset -259 An entity propagated out of the content section into Miscellaneous -260 Expected &# to be followed by a numeric character value -261 Expected an open bracket ('[') here -262 The sequence ']]>' is not allowed in character data -263 Illegal sequence '--' in comment -264 Unterminated CDATA section -265 Expected NDATA -266 NDATA is not legal for parameter entities -267 Hex radix character refs must use 'x', not 'X' -268 '{0}' has already been set. Ignoring redundant setting -269 The XMLDecl strings must be in the order: version, encoding, standalone -270 External entities cannot be referred to from attribute values -271 The XML or Text decl must start with '<?xml ', not '<?XML ' -272 Expected a literal entity value or PUBLIC/SYSTEM id -273 '{0}' is not a valid digit for the indicated radix -274 The input ended before all started tags were ended. Last tag started was '{0}' -275 The content model for element '{0}' is ambiguous -276 Nested CDATA sections are not allowed -277 The prefix '{0}' has not been mapped to any URI -278 The start and the end tag were in the different entities -279 The main XML document cannot be empty -280 CDATA is not allowed outside the root element -281 Only numeric character entities or special character entities are legal here -282 Got an unexpected trailing surrogate character -283 No processing instruction starts with 'xml' -284 The XML or Text declaration must start at line/column 1/1 -285 The 'version=' string is required in an XMLDecl -286 The 'standalone=' string is only allowed in the main XML entity -287 The 'encoding=' string is required in an Text Decl -288 When namespaces are enabled, a name can have only one colon character -289 When namespaces are enabled, the colon cannot be the first or last character -290 Colons are not allowed in this name when namespaces are enabled -291 A system exception occurred during processing -292 An exception occurred! Type:{0}, Message:{1} -293 Unexpected end of file exception. Message: {0} -294 UnexpectedError -295 The schemaLocation attribute does not contain pairs of values. -296 Internal error: don't have a GrammarResolver for TraverseSchema -297 Fatal error encountered during schema scan -298 Reference to external entity declaration '{0}' is not allowed in a standalone document. -299 Partial markup in parameter entity replacement text in a complete declaration. -300 The value of the attribute '{0}' is invalid. Prefixed namespace bindings may not be empty. -301 The prefix 'xmlns' cannot be bound to any namespace explicitly. -302 The namespace for 'xmlns' cannot be bound to any prefix explicitly. -303 The prefix 'xml' cannot be bound to any namespace other than its usual namespace. -304 The namespace for 'xml' cannot be bound to any prefix other than 'xml'. -305 Element '{0}' cannot have 'xmlns' as its prefix. -306 Complex Type Definition Representation OK - 2.2: <restriction> must have a <simpleType> child. -307 DOCTYPE root element qname beginning with '{0}' invalid -308 Element qname beginning with '{0}' invalid -309 Attribute qname beginning with '{0}' invalid -310 Entity qname for reference beginning '{0}' invalid -311 Already seen doctype +8 Error occurred including document '{0}' +9 Cannot open text file target '{0}' +10 Internal error including text file '{0}' +11 Unable to include resource '{0}' +14 '{0}' is not allowed for the content of a simpleType. Only list, union and restriction are allowed. +15 Error: Top level complexType has no name - declaration ignored +16 Globally-declared attribute must have a name - attribute declaration ignored +17 Attribute must have a name or a ref - attribute declaration ignored +18 Globally-declared element must have a name - element declaration ignored +19 Element must have a name or a ref attribute - element ignored +20 <group> must have a name or a ref attribute - declaration ignored +21 <attributeGroup> must have a name or a ref attribute - declaration ignored +22 Anonymous complexType in element {0} has a name attribute +23 Anonymous simpleType in element {0} has a name attribute +24 The content of an element information item does not match (annotation?, (simpleType | complexType)?, (unique | key | keyref)*) +25 Untyped element: {0} +26 Error in content of simpleType, '{0}' is invalid. Only allowed one of (restriction | list | union). +27 Expected simpleType in 'list' declaration for {0} +28 List | Union | Restriction content is invalid for type {0} +29 Error in content of derivation by list for {0} +30 Expected simpleType in 'restriction' declaration for {0} +31 Facet {0} already defined - ignoring +32 Expected simpleType in 'union' declaration for {0} +33 SimpleType content is empty +34 The content of the simpleContent element is invalid. The content must be RESTRICTION or EXTENSION +35 The BASE attribute must be specified for the RESTRICTION or EXTENSION element +36 The content of the complexContent element is invalid. The content must be RESTRICTION or EXTENSION +37 Error in content of <schema> element information item +38 Content (annotation?,..) is incorrect for type {0} +39 Unknown simpleType: {0} +40 Unknown complexType: {0} +41 Prefix: '{0}' can not be resolved to a URI +42 Ref element {0} not found in the Schema +43 Type not found in {0}:{1} +44 Could not find top level attribute: {0} +45 Invalid child '{0}' in the complex type +46 Base type could not be found: {0} +47 No attribute '{0}' was defined in schema: {1} +48 Error creating datatype validator: {0} +49 Invalid child following the simpleContent child in the complexType +50 Invalid child following the complexContent child in the complexType +51 The 'block' attribute values of a complexType must be #all | list(restriction,extension); {0} was found +52 The 'final' attribute values of a complexType must be #all | list(restriction,extension); {0} was found +53 Attribute '{0}={1}' cannot have both 'fixed' and 'default' present at the same time. +54 For attribute '{0}={1}' default and use are both present so use must have the value 'optional'. +55 Local attribute:{0} has also a ref defined - name ignored +56 Global attribute:'{0}' cannot have a ref defined +57 Error: Attribute '{0}' declared more than once in the same scope- ignoring +58 Attribute '{0}' may not contain both a type and a simpleType declaration. +59 SimpleType ({0}:{1}) for attribute: {2} not found +60 Element '{0}' cannot have both 'fixed' and 'default' present at the same time. +61 {0}:'{1}' has also a ref defined - name ignored +62 ref cannot appear with any of type, abstract, block, final, nillable, default or fixed +63 Invalid {0} name:'{1}' - declaration ignored +64 Globally-declared element {0} cannot have a ref attribute - ref ignored +65 Element '{0}' cannot have both a type attribute and a simpleType/complexType type child +66 Element {0} has a fixed or default value and must have a mixed simple or simple content model +67 The simpleType {0} that {1} uses has a value of 'final' which does not permit extension +68 The type '{0}' specified as the base in the simpleContent element must not have complexContent +69 The type '{0}' is a simple type. It cannot be used in a derivation by RESTRICTION for a complexType +70 Invalid child following the RESTRICTION or EXTENSION element in the simpleContent definition +71 Invalid child following the RESTRICTION or EXTENSION element in the complexContent definition +72 Annotation can only appear once: type {0} +73 The base type {0} does not allow itself to be used as the base for a restriction and/or as a type in a list and/or union +74 The value 'substitution' already in the list +75 The value 'union' is already in the list +76 The value 'extension' is already in the list +77 The value 'list' is already in the list +78 The value 'restriction' is already in the list +79 Invalid block value: {0} +80 Invalid final value: {0} +81 Element {0} cannot be part of the substitution group headed by {1} +82 Element {0} has a type which does not derive from the type of the element at the head of the substitution group +83 Duplicate element decl in the same scope: {0} +84 The 'block' attribute values of an element must be #all | list(substitution,restriction,extension); {0} was found +85 The 'final' attribute values of an element must be #all | list(restriction,extension); {0} was found +86 Invalid value '{0}' for attribute: '{1}'. +87 Ref is present, and simpleType/form/type found for attribute '{0}={1}' +88 Duplicate reference attribute {0}:{1} in complexType +89 Derivation by restriction is forbidden by either the base type '{0}' or the schema +90 Derivation by extension is forbidden by either the base type '{0}' or the schema +91 The base type specified in the complexContent element must be a complexType +92 Imported schema '{0}' has a different targetNameSpace '{1}' from what's declared '{2}' +93 Could not get the doc root for imported Schema: {0} +94 A schemaLocation attribute must be specified on '{0}' element. +95 Included schema '{0}' has a different targetNameSpace '{1}' +96 At most one <annotation> element is expected in the content. +97 The content must be (annotation?, simpleType?) for attribute '{0}={1}' +98 Attribute '{0}' must appear in {1} {2} declarations +99 Attribute '{0}' cannot appear in {1} {2} declarations +100 Value of minOccurs '{0}' must not be greater than value of maxOccurs '{1}' +101 'anyAttribute' elements can contain at most one 'annotation' element in their children +102 Global <{0}> must have a name - declaration ignored +103 No circular definitions are allowed: '{0}' +104 Global {0}:'{1}' declared more than once or also declared as {2} +105 Global {0}:'{1}' declared more than once +106 Invalid value '{0}' for facet 'whiteSpace'. Value should be 'collapse'. +107 The namespace of an <import> element must be different from the targetNamespace of the <import>ing schema +108 If the namespace on an <import> element is not present, the <import>ing schema must have a targetNamespace +109 Element '{0}' must not have a value constraint:'{1}' as its type is derived from ID +110 It is an error for NOTATION to be used directly in a schema in element/attribute '{0}' +111 For element '{0}', the {content type} is mixed, then the {content type}'s particle must be emptiable +112 The content of complexType is EMPTY, but base is not empty or does not have emptiable particle. +113 The content type of the base type:'{0}' and derived type:'{1}' must both be mixed or element-only. +114 The content type is not a valid restriction of the content type of the base. +115 Derivation by extension or restriction is forbidden by either the base type '{0}' or the schema +116 The {item type definition} must have {variety} of atomic or union (where all member types must be atomic) +117 The {member type definitions} must all have {variety} of atomic or list +118 The group:'{0}' must contain (all | choice | sequence) +119 The attributeGroup:'{0}' must match (annotation?. ((attribute | attributeGroup)*, anyAttribute?)) +120 The child of a model group definition must not specify either the minOccurs or maxOccurs attribute. +121 The {0} -'{1}:{2}'- not found in the schema +122 A group whose content is 'all' must only appear as the content type of a complex type definition. +123 When a model group has {compositor} 'all' which constitutes the {content type} of a complex type, minOccurs=maxOccurs=1 +124 In an 'all' schema component, the value of minOccurs/maxOccurs of an element must be '0' or '1'. +125 Circular attributeGroup reference -{0}- is disallowed outside <redefine> +126 Attribute '{0}' already defined in base and should not appear in derivation by extension. +127 The intensional intersection of {attributes wildcard}s must be expressible +128 Base type definition does not have any attributes +129 Attribute '{0}' has an inconsistent REQUIRED setting with that of the base +130 Type of attribute '{0}' must be validly derived from type of attribute in base +131 Attribute '{0}' is either not fixed, or has a different value from that of the base +132 Attribute '{0}' has invalid target namespace with respect to a base wildcard constraint or, base has no wildcard +133 An attribute wildcard is present in the derived type, but not in the base +134 The attribute wildcard in the derived type is not a valid subset of that in the base +135 Attribute '{0}' cannot modify the 'use' attribute in a derived type, if base attribute use is prohibited +136 The wildcard attribute in the derived type must be identical to or stronger than the one in the base. +137 Content of <all> is restricted to elements only. '{0}' encountered and ignored. +138 Redefined schema '{0}' has a different targetNameSpace '{1}'. +139 A simpleType child of a <redefine> must have a restriction element as a child +140 The base attribute of the restriction child of a simpleType, must be the same as the redefine simpleType's name attribute +141 A complexType child of a <redefine> must have a restriction or extension element as a grandchild +142 The base attribute of a restriction/extension must be the same as the complexType's name attribute in <redefine> +143 The group '{0}' which contains a reference to a group being redefined must have minOccurs = maxOccurs = 1 +144 Could not find a declaration in the schema to be redefined corresponding to '{0}' +145 If a group child of a <redefine> element contains a group ref'ing itself, it must have exactly 1 reference. +146 If an attributeGroup of a <redefine> element contains a reference to itself, such reference must be exactly 1 +147 A <redefine> element cannot contain a child of type '{0}' +148 The declaration for notation '{0}' is invalid +149 The notation declaration '{0}:{1}' is not found +150 More than one identity constraint named '{0}'. +151 The content of an identity constraint must match (annotation?, selector, field+) +152 Key reference declaration '{0}' refers to unknown key with name '{1}'. +153 Cardinality of fields for keyref '{0}' and key '{1}' must match. +154 Xpath expression is either missing or empty +155 The {value constraint} of an attribute ref is not fixed or different from the fixed {value constraint} of '{0}' +156 The {type definition} for attribute '{0}={1}' is or is derived from ID, and must not have {value constraint} +157 More than one attribute derived from type ID cannot appear in the same complex type - '{0}' ignored +158 More than one attribute derived from type ID cannot appear in the same attribute group - '{0}' ignored +159 '' is not a legal value for the targetNamespace attribute; the attribute must be absent or contain a nonempty value +160 {0} +161 An exception occurred! Type:{0}, Message:{1} +162 Invalid Redefine: '{0}' has already been included or redefined +163 Schema Representation Constraint: Namespace '{0}' is referenced without <import> declaration +164 An 'all' model group that's part of a complex type definition must constitute the entire content type of the definition +165 An <annotation> can only contain <appinfo> and <documentation> elements +166 Invalid facet name: {0} +167 The root element name of an XML Schema should be 'schema'. +168 Circular substitution groups are disallowed for element '{0}'. +169 For '{0}' to be a member of the substitution group set of '{1}', its {abstract} must be false. +170 The namespace of element '{0}' must be from the schema namespace. +171 The {target namespace} of '{0}' must not match 'http://www.w3.org/2001/XMLSchema-instance'. +172 The namespace declaration is invalid. +173 Namespace fixup cannot be performed on a DOM Level 1 Node. +176 The parser has encountered more than '{0}' entity expansions in this document; this is the limit imposed by the application. +177 Expected comment or CDATA +178 Expected an attribute name +179 Expected a notation name +180 Repetition of individual elements is not legal for mixed content models +181 Bad default attribute declaration +182 Expected default attribute declaration, assuming #IMPLIED +183 Attribute list syntax error +184 Expected equal sign +185 Duplication attribute name +186 Bad ID, '{0}', for xml:lang attribute +187 Expected an element name +188 Must start with an XMLDecl +189 Comments must start with <!-- +190 Invalid document structure +191 Expected a 'version=', 'encoding=', or 'standalone=' +192 Bad XML version string +193 Unsupported XML version, '{0}' +194 Unterminated XML decl +195 Bad XML encoding declaration, '{0}' +196 Bad standalone declaration +197 Unterminated comment +198 Processing instruction name expected +199 Unterminated processing instruction +200 Invalid character (Unicode: 0x{0}) +201 Unexpected text before root element +202 Unterminated start tag, '{0}' +203 Expected an attribute value +204 Unterminated end tag, '{0}' +205 Expected type (CDATA, ID, NMTOKEN, ..), for attribute '{0}' of element '{1}' +206 Expected end of tag '{0}' +207 Expected tag name, comment, PI, or other markup +208 Not valid after content +209 Expected comment +210 Expected comment or processing instruction +211 Expected whitespace +212 No root element in DOCTYPE +213 Expected quoted string +214 Expected public id +215 Invalid character in public id (Unicode: 0x{0}) +216 Unterminated DOCTYPE declaration +217 Invalid character in internal subset (Unicode: 0x{0}) +218 Expected CDATA section +219 Invalid initial name character +220 Invalid name character +221 Unexpected whitespace +222 Invalid character in attribute value {0} (Unicode: 0x{1}) +223 Expected a markup declaration +224 Text declaration not legal here +225 Conditional section in internal subset +226 Expected parameter entity name +227 Unterminated entity declaration, '{0}' +228 Invalid character reference +229 Unterminated character reference +230 Expected entity name for reference +231 Entity '{0}' was not found +232 Unparsed entity references, '{0}', not valid here +233 Unterminated entity reference, '{0}' +234 Recursive entity expansion, '{0}' +235 Partial markup in entity value +236 Unterminated element declaration, '{0}' +237 Expected content specification expression for element '{0}' +238 Expected asterisk +239 '{0}' is a mixed content model that is not terminated properly. +240 Expected system id +241 Expected system or public id +242 Unterminated notation declaration +243 Expected ',', '|', or ')' characters +244 Expected '|' or ')' characters +245 Expected ',' or ')' characters or close parenthesis in content model of element '{0}' +246 Expected enumeration value for attribute '{0}' +247 Expected | enumeration separator, or closing paren +248 Unterminated entity literal +249 There are more end tags than start tags +250 Expected an open parenthesis +251 The attribute '{0}' is already used in element '{1}' +252 A '<' character cannot be used in attribute '{0}', except through < +253 A leading surrogate character was not followed by a legal second character +254 Expected ']]>' to end a conditional section +255 Expected INCLUDE or IGNORE here +256 Expected [ to follow INCLUDE or IGNORE +257 Expected a TextDecl here: <?xml .... +258 Expected a XMLDecl here: <?xml .... +259 Unexpected end of entity {0} +260 A PE propagated out of the int/ext subset, discarding extra text +261 An extra ] character was found an ignored +262 PE refs are not allowed inside markup in the internal subset +263 An entity propagated out of the content section into Miscellaneous +264 Expected &# to be followed by a numeric character value +265 Expected an open bracket ('[') here +266 The sequence ']]>' is not allowed in character data +267 Illegal sequence '--' in comment +268 Unterminated CDATA section +269 Expected NDATA +270 NDATA is not legal for parameter entities +271 Hex radix character refs must use 'x', not 'X' +272 '{0}' has already been set. Ignoring redundant setting +273 The XMLDecl strings must be in the order: version, encoding, standalone +274 External entities cannot be referred to from attribute values +275 The XML or Text decl must start with '<?xml ', not '<?XML ' +276 Expected a literal entity value or PUBLIC/SYSTEM id +277 '{0}' is not a valid digit for the indicated radix +278 The input ended before all started tags were ended. Last tag started was '{0}' +279 The content model for element '{0}' is ambiguous +280 Nested CDATA sections are not allowed +281 The prefix '{0}' has not been mapped to any URI +282 The start and the end tag were in the different entities +283 The main XML document cannot be empty +284 CDATA is not allowed outside the root element +285 Only numeric character entities or special character entities are legal here +286 Got an unexpected trailing surrogate character +287 No processing instruction starts with 'xml' +288 The XML or Text declaration must start at line/column 1/1 +289 The 'version=' string is required in an XMLDecl +290 The 'standalone=' string is only allowed in the main XML entity +291 The 'encoding=' string is required in an Text Decl +292 When namespaces are enabled, a name can have only one colon character +293 When namespaces are enabled, the colon cannot be the first or last character +294 Colons are not allowed in this name when namespaces are enabled +295 A system exception occurred during processing +296 An exception occurred! Type:{0}, Message:{1} +297 Unexpected end of file exception. Message: {0} +298 UnexpectedError +299 The schemaLocation attribute does not contain pairs of values. +300 Internal error: don't have a GrammarResolver for TraverseSchema +301 Fatal error encountered during schema scan +302 Reference to external entity declaration '{0}' is not allowed in a standalone document. +303 Partial markup in parameter entity replacement text in a complete declaration. +304 The value of the attribute '{0}' is invalid. Prefixed namespace bindings may not be empty. +305 The prefix 'xmlns' cannot be bound to any namespace explicitly. +306 The namespace for 'xmlns' cannot be bound to any prefix explicitly. +307 The prefix 'xml' cannot be bound to any namespace other than its usual namespace. +308 The namespace for 'xml' cannot be bound to any prefix other than 'xml'. +309 Element '{0}' cannot have 'xmlns' as its prefix. +310 Complex Type Definition Representation OK - 2.2: <restriction> must have a <simpleType> child. +311 DOCTYPE root element qname beginning with '{0}' invalid +312 Element qname beginning with '{0}' invalid +313 Attribute qname beginning with '{0}' invalid +314 Entity qname for reference beginning '{0}' invalid +315 Already seen doctype +316 Found a fallback element not a direct child of include element +317 include element found without href attribute +318 Found an include element with xpointer specification. XPointer not yet supported +319 Invalid parse attribute value '{0}' found on include element - only text or xml is valid +320 Multiple fallback elements found in include element in document '{0}' +321 Include failed, no fallback found in document '{0}' +322 Circular inclusion document '{0}' includes previously included document +323 Circular inclusion document '{0}' includes itself $set 2 diff --git a/src/xercesc/util/MsgLoaders/Win32/Version.rc b/src/xercesc/util/MsgLoaders/Win32/Version.rc index b466e169d02895733f15b372e56e5310611bb4ef..fe0236d73c8198c81fadaf147b4b77168bebf9fa 100644 --- a/src/xercesc/util/MsgLoaders/Win32/Version.rc +++ b/src/xercesc/util/MsgLoaders/Win32/Version.rc @@ -108,306 +108,318 @@ BEGIN 5 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0077\x0061\x0073\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0064\x0020\x0069\x006E\x0020\x0061\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x0020\x0062\x0075\x0074\x0020\x006E\x0065\x0076\x0065\x0072\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x00" 6 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0077\x0061\x0073\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0064\x0020\x0069\x006E\x0020\x0061\x006E\x0020\x0061\x0074\x0074\x006C\x0069\x0073\x0074\x0020\x0062\x0075\x0074\x0020\x006E\x0065\x0076\x0065\x0072\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x00" 7 L"\x0041\x006E\x0020\x0065\x0078\x0063\x0065\x0070\x0074\x0069\x006F\x006E\x0020\x006F\x0063\x0063\x0075\x0072\x0072\x0065\x0064\x0021\x0020\x0054\x0079\x0070\x0065\x003A\x007B\x0030\x007D\x002C\x0020\x004D\x0065\x0073\x0073\x0061\x0067\x0065\x003A\x007B\x0031\x007D\x00" - 10 L"\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0066\x006F\x0072\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x0061\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x002E\x0020\x0020\x004F\x006E\x006C\x0079\x0020\x006C\x0069\x0073\x0074\x002C\x0020\x0075\x006E\x0069\x006F\x006E\x0020\x0061\x006E\x0064\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x0061\x0072\x0065\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x002E\x00" - 11 L"\x0045\x0072\x0072\x006F\x0072\x003A\x0020\x0054\x006F\x0070\x0020\x006C\x0065\x0076\x0065\x006C\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x0020\x0068\x0061\x0073\x0020\x006E\x006F\x0020\x006E\x0061\x006D\x0065\x0020\x002D\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" - 12 L"\x0047\x006C\x006F\x0062\x0061\x006C\x006C\x0079\x002D\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x002D\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" - 13 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x006F\x0072\x0020\x0061\x0020\x0072\x0065\x0066\x0020\x002D\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" - 14 L"\x0047\x006C\x006F\x0062\x0061\x006C\x006C\x0079\x002D\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x002D\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" - 15 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x006F\x0072\x0020\x0061\x0020\x0072\x0065\x0066\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x002D\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" - 16 L"\x003C\x0067\x0072\x006F\x0075\x0070\x003E\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x006F\x0072\x0020\x0061\x0020\x0072\x0065\x0066\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x002D\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" - 17 L"\x003C\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0047\x0072\x006F\x0075\x0070\x003E\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x006F\x0072\x0020\x0061\x0020\x0072\x0065\x0066\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x002D\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" - 18 L"\x0041\x006E\x006F\x006E\x0079\x006D\x006F\x0075\x0073\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x0020\x0069\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x007B\x0030\x007D\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x00" - 19 L"\x0041\x006E\x006F\x006E\x0079\x006D\x006F\x0075\x0073\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x0069\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x007B\x0030\x007D\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x00" - 20 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x0061\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x006E\x0066\x006F\x0072\x006D\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0074\x0065\x006D\x0020\x0064\x006F\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x006D\x0061\x0074\x0063\x0068\x0020\x0028\x0061\x006E\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x003F\x002C\x0020\x0028\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x007C\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x0029\x003F\x002C\x0020\x0028\x0075\x006E\x0069\x0071\x0075\x0065\x0020\x007C\x0020\x006B\x0065\x0079\x0020\x007C\x0020\x006B\x0065\x0079\x0072\x0065\x0066\x0029\x002A\x0029\x00" - 21 L"\x0055\x006E\x0074\x0079\x0070\x0065\x0064\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x003A\x0020\x007B\x0030\x007D\x00" - 22 L"\x0045\x0072\x0072\x006F\x0072\x0020\x0069\x006E\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x002E\x0020\x0020\x004F\x006E\x006C\x0079\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x006F\x006E\x0065\x0020\x006F\x0066\x0020\x0028\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x007C\x0020\x006C\x0069\x0073\x0074\x0020\x007C\x0020\x0075\x006E\x0069\x006F\x006E\x0029\x002E\x00" - 23 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x0069\x006E\x0020\x0027\x006C\x0069\x0073\x0074\x0027\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0066\x006F\x0072\x0020\x007B\x0030\x007D\x00" - 24 L"\x004C\x0069\x0073\x0074\x0020\x007C\x0020\x0055\x006E\x0069\x006F\x006E\x0020\x007C\x0020\x0052\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0069\x0073\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0066\x006F\x0072\x0020\x0074\x0079\x0070\x0065\x0020\x007B\x0030\x007D\x00" - 25 L"\x0045\x0072\x0072\x006F\x0072\x0020\x0069\x006E\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x0064\x0065\x0072\x0069\x0076\x0061\x0074\x0069\x006F\x006E\x0020\x0062\x0079\x0020\x006C\x0069\x0073\x0074\x0020\x0066\x006F\x0072\x0020\x007B\x0030\x007D\x00" - 26 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x0069\x006E\x0020\x0027\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0027\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0066\x006F\x0072\x0020\x007B\x0030\x007D\x00" - 27 L"\x0046\x0061\x0063\x0065\x0074\x0020\x007B\x0030\x007D\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x0020\x002D\x0020\x0069\x0067\x006E\x006F\x0072\x0069\x006E\x0067\x00" - 28 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x0069\x006E\x0020\x0027\x0075\x006E\x0069\x006F\x006E\x0027\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0066\x006F\x0072\x0020\x007B\x0030\x007D\x00" - 29 L"\x0053\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0069\x0073\x0020\x0065\x006D\x0070\x0074\x0079\x00" - 30 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x0073\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x002E\x0020\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0052\x0045\x0053\x0054\x0052\x0049\x0043\x0054\x0049\x004F\x004E\x0020\x006F\x0072\x0020\x0045\x0058\x0054\x0045\x004E\x0053\x0049\x004F\x004E\x00" - 31 L"\x0054\x0068\x0065\x0020\x0042\x0041\x0053\x0045\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0073\x0070\x0065\x0063\x0069\x0066\x0069\x0065\x0064\x0020\x0066\x006F\x0072\x0020\x0074\x0068\x0065\x0020\x0052\x0045\x0053\x0054\x0052\x0049\x0043\x0054\x0049\x004F\x004E\x0020\x006F\x0072\x0020\x0045\x0058\x0054\x0045\x004E\x0053\x0049\x004F\x004E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x00" - 32 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x0073\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x002E\x0020\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0052\x0045\x0053\x0054\x0052\x0049\x0043\x0054\x0049\x004F\x004E\x0020\x006F\x0072\x0020\x0045\x0058\x0054\x0045\x004E\x0053\x0049\x004F\x004E\x00" - 33 L"\x0045\x0072\x0072\x006F\x0072\x0020\x0069\x006E\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x003C\x0073\x0063\x0068\x0065\x006D\x0061\x003E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x006E\x0066\x006F\x0072\x006D\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0074\x0065\x006D\x00" - 34 L"\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0028\x0061\x006E\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x003F\x002C\x002E\x002E\x0029\x0020\x0069\x0073\x0020\x0069\x006E\x0063\x006F\x0072\x0072\x0065\x0063\x0074\x0020\x0066\x006F\x0072\x0020\x0074\x0079\x0070\x0065\x0020\x007B\x0030\x007D\x00" - 35 L"\x0055\x006E\x006B\x006E\x006F\x0077\x006E\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x003A\x0020\x007B\x0030\x007D\x00" - 36 L"\x0055\x006E\x006B\x006E\x006F\x0077\x006E\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x003A\x0020\x007B\x0030\x007D\x00" - 37 L"\x0050\x0072\x0065\x0066\x0069\x0078\x003A\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0063\x0061\x006E\x0020\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0072\x0065\x0073\x006F\x006C\x0076\x0065\x0064\x0020\x0074\x006F\x0020\x0061\x0020\x0055\x0052\x0049\x00" - 38 L"\x0052\x0065\x0066\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x007B\x0030\x007D\x0020\x006E\x006F\x0074\x0020\x0066\x006F\x0075\x006E\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0053\x0063\x0068\x0065\x006D\x0061\x00" - 39 L"\x0054\x0079\x0070\x0065\x0020\x006E\x006F\x0074\x0020\x0066\x006F\x0075\x006E\x0064\x0020\x0069\x006E\x0020\x007B\x0030\x007D\x003A\x007B\x0031\x007D\x00" - 40 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0066\x0069\x006E\x0064\x0020\x0074\x006F\x0070\x0020\x006C\x0065\x0076\x0065\x006C\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x003A\x0020\x007B\x0030\x007D\x00" - 41 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0020\x0074\x0079\x0070\x0065\x00" - 42 L"\x0042\x0061\x0073\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0063\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0066\x006F\x0075\x006E\x0064\x003A\x0020\x007B\x0030\x007D\x00" - 43 L"\x004E\x006F\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0077\x0061\x0073\x0020\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x0020\x0069\x006E\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x003A\x0020\x007B\x0031\x007D\x00" - 44 L"\x0045\x0072\x0072\x006F\x0072\x0020\x0063\x0072\x0065\x0061\x0074\x0069\x006E\x0067\x0020\x0064\x0061\x0074\x0061\x0074\x0079\x0070\x0065\x0020\x0076\x0061\x006C\x0069\x0064\x0061\x0074\x006F\x0072\x003A\x0020\x007B\x0030\x007D\x00" - 45 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0069\x006E\x0067\x0020\x0074\x0068\x0065\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x00" - 46 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0069\x006E\x0067\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x00" - 47 L"\x0054\x0068\x0065\x0020\x0027\x0062\x006C\x006F\x0063\x006B\x0027\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0073\x0020\x006F\x0066\x0020\x0061\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0023\x0061\x006C\x006C\x0020\x007C\x0020\x006C\x0069\x0073\x0074\x0028\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x002C\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0029\x003B\x0020\x007B\x0030\x007D\x0020\x0077\x0061\x0073\x0020\x0066\x006F\x0075\x006E\x0064\x00" - 48 L"\x0054\x0068\x0065\x0020\x0027\x0066\x0069\x006E\x0061\x006C\x0027\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0073\x0020\x006F\x0066\x0020\x0061\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0023\x0061\x006C\x006C\x0020\x007C\x0020\x006C\x0069\x0073\x0074\x0028\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x002C\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0029\x003B\x0020\x007B\x0030\x007D\x0020\x0077\x0061\x0073\x0020\x0066\x006F\x0075\x006E\x0064\x00" - 49 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x003D\x007B\x0031\x007D\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0062\x006F\x0074\x0068\x0020\x0027\x0066\x0069\x0078\x0065\x0064\x0027\x0020\x0061\x006E\x0064\x0020\x0027\x0064\x0065\x0066\x0061\x0075\x006C\x0074\x0027\x0020\x0070\x0072\x0065\x0073\x0065\x006E\x0074\x0020\x0061\x0074\x0020\x0074\x0068\x0065\x0020\x0073\x0061\x006D\x0065\x0020\x0074\x0069\x006D\x0065\x002E\x00" - 50 L"\x0046\x006F\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x003D\x007B\x0031\x007D\x0027\x0020\x0064\x0065\x0066\x0061\x0075\x006C\x0074\x0020\x0061\x006E\x0064\x0020\x0075\x0073\x0065\x0020\x0061\x0072\x0065\x0020\x0062\x006F\x0074\x0068\x0020\x0070\x0072\x0065\x0073\x0065\x006E\x0074\x0020\x0073\x006F\x0020\x0075\x0073\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0074\x0068\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0027\x006F\x0070\x0074\x0069\x006F\x006E\x0061\x006C\x0027\x002E\x00" - 51 L"\x004C\x006F\x0063\x0061\x006C\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x003A\x007B\x0030\x007D\x0020\x0068\x0061\x0073\x0020\x0061\x006C\x0073\x006F\x0020\x0061\x0020\x0072\x0065\x0066\x0020\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x0020\x002D\x0020\x006E\x0061\x006D\x0065\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" - 52 L"\x0047\x006C\x006F\x0062\x0061\x006C\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x003A\x0027\x007B\x0030\x007D\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x0072\x0065\x0066\x0020\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x00" - 53 L"\x0045\x0072\x0072\x006F\x0072\x003A\x0020\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x0020\x006D\x006F\x0072\x0065\x0020\x0074\x0068\x0061\x006E\x0020\x006F\x006E\x0063\x0065\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0073\x0061\x006D\x0065\x0020\x0073\x0063\x006F\x0070\x0065\x002D\x0020\x0069\x0067\x006E\x006F\x0072\x0069\x006E\x0067\x00" - 54 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0061\x0079\x0020\x006E\x006F\x0074\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0020\x0062\x006F\x0074\x0068\x0020\x0061\x0020\x0074\x0079\x0070\x0065\x0020\x0061\x006E\x0064\x0020\x0061\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x002E\x00" - 55 L"\x0053\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x0028\x007B\x0030\x007D\x003A\x007B\x0031\x007D\x0029\x0020\x0066\x006F\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x003A\x0020\x007B\x0032\x007D\x0020\x006E\x006F\x0074\x0020\x0066\x006F\x0075\x006E\x0064\x00" - 56 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0062\x006F\x0074\x0068\x0020\x0027\x0066\x0069\x0078\x0065\x0064\x0027\x0020\x0061\x006E\x0064\x0020\x0027\x0064\x0065\x0066\x0061\x0075\x006C\x0074\x0027\x0020\x0070\x0072\x0065\x0073\x0065\x006E\x0074\x0020\x0061\x0074\x0020\x0074\x0068\x0065\x0020\x0073\x0061\x006D\x0065\x0020\x0074\x0069\x006D\x0065\x002E\x00" - 57 L"\x007B\x0030\x007D\x003A\x0027\x007B\x0031\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x006C\x0073\x006F\x0020\x0061\x0020\x0072\x0065\x0066\x0020\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x0020\x002D\x0020\x006E\x0061\x006D\x0065\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" - 58 L"\x0072\x0065\x0066\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0061\x0070\x0070\x0065\x0061\x0072\x0020\x0077\x0069\x0074\x0068\x0020\x0061\x006E\x0079\x0020\x006F\x0066\x0020\x0074\x0079\x0070\x0065\x002C\x0020\x0061\x0062\x0073\x0074\x0072\x0061\x0063\x0074\x002C\x0020\x0062\x006C\x006F\x0063\x006B\x002C\x0020\x0066\x0069\x006E\x0061\x006C\x002C\x0020\x006E\x0069\x006C\x006C\x0061\x0062\x006C\x0065\x002C\x0020\x0064\x0065\x0066\x0061\x0075\x006C\x0074\x0020\x006F\x0072\x0020\x0066\x0069\x0078\x0065\x0064\x00" - 59 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x007B\x0030\x007D\x0020\x006E\x0061\x006D\x0065\x003A\x0027\x007B\x0031\x007D\x0027\x0020\x002D\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" - 60 L"\x0047\x006C\x006F\x0062\x0061\x006C\x006C\x0079\x002D\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x007B\x0030\x007D\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x0072\x0065\x0066\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x002D\x0020\x0072\x0065\x0066\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" - 61 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0062\x006F\x0074\x0068\x0020\x0061\x0020\x0074\x0079\x0070\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0061\x006E\x0064\x0020\x0061\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x002F\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0063\x0068\x0069\x006C\x0064\x00" - 62 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x007B\x0030\x007D\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x0066\x0069\x0078\x0065\x0064\x0020\x006F\x0072\x0020\x0064\x0065\x0066\x0061\x0075\x006C\x0074\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0061\x006E\x0064\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x006D\x0069\x0078\x0065\x0064\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0020\x006F\x0072\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x00" - 63 L"\x0054\x0068\x0065\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x007B\x0030\x007D\x0020\x0074\x0068\x0061\x0074\x0020\x007B\x0031\x007D\x0020\x0075\x0073\x0065\x0073\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x006F\x0066\x0020\x0027\x0066\x0069\x006E\x0061\x006C\x0027\x0020\x0077\x0068\x0069\x0063\x0068\x0020\x0064\x006F\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x0070\x0065\x0072\x006D\x0069\x0074\x0020\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x00" - 64 L"\x0054\x0068\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0073\x0070\x0065\x0063\x0069\x0066\x0069\x0065\x0064\x0020\x0061\x0073\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x00" - 65 L"\x0054\x0068\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0061\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0020\x0074\x0079\x0070\x0065\x002E\x0020\x0049\x0074\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0075\x0073\x0065\x0064\x0020\x0069\x006E\x0020\x0061\x0020\x0064\x0065\x0072\x0069\x0076\x0061\x0074\x0069\x006F\x006E\x0020\x0062\x0079\x0020\x0052\x0045\x0053\x0054\x0052\x0049\x0043\x0054\x0049\x004F\x004E\x0020\x0066\x006F\x0072\x0020\x0061\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x00" - 66 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0069\x006E\x0067\x0020\x0074\x0068\x0065\x0020\x0052\x0045\x0053\x0054\x0052\x0049\x0043\x0054\x0049\x004F\x004E\x0020\x006F\x0072\x0020\x0045\x0058\x0054\x0045\x004E\x0053\x0049\x004F\x004E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x00" - 67 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0069\x006E\x0067\x0020\x0074\x0068\x0065\x0020\x0052\x0045\x0053\x0054\x0052\x0049\x0043\x0054\x0049\x004F\x004E\x0020\x006F\x0072\x0020\x0045\x0058\x0054\x0045\x004E\x0053\x0049\x004F\x004E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x00" - 68 L"\x0041\x006E\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x0063\x0061\x006E\x0020\x006F\x006E\x006C\x0079\x0020\x0061\x0070\x0070\x0065\x0061\x0072\x0020\x006F\x006E\x0063\x0065\x003A\x0020\x0074\x0079\x0070\x0065\x0020\x007B\x0030\x007D\x00" - 69 L"\x0054\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x007B\x0030\x007D\x0020\x0064\x006F\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0020\x0069\x0074\x0073\x0065\x006C\x0066\x0020\x0074\x006F\x0020\x0062\x0065\x0020\x0075\x0073\x0065\x0064\x0020\x0061\x0073\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0066\x006F\x0072\x0020\x0061\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x0061\x006E\x0064\x002F\x006F\x0072\x0020\x0061\x0073\x0020\x0061\x0020\x0074\x0079\x0070\x0065\x0020\x0069\x006E\x0020\x0061\x0020\x006C\x0069\x0073\x0074\x0020\x0061\x006E\x0064\x002F\x006F\x0072\x0020\x0075\x006E\x0069\x006F\x006E\x00" - 70 L"\x0054\x0068\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0027\x0073\x0075\x0062\x0073\x0074\x0069\x0074\x0075\x0074\x0069\x006F\x006E\x0027\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x006C\x0069\x0073\x0074\x00" - 71 L"\x0054\x0068\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0027\x0075\x006E\x0069\x006F\x006E\x0027\x0020\x0069\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x006C\x0069\x0073\x0074\x00" - 72 L"\x0054\x0068\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0027\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0027\x0020\x0069\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x006C\x0069\x0073\x0074\x00" - 73 L"\x0054\x0068\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0027\x006C\x0069\x0073\x0074\x0027\x0020\x0069\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x006C\x0069\x0073\x0074\x00" - 74 L"\x0054\x0068\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0027\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0027\x0020\x0069\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x006C\x0069\x0073\x0074\x00" - 75 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0062\x006C\x006F\x0063\x006B\x0020\x0076\x0061\x006C\x0075\x0065\x003A\x0020\x007B\x0030\x007D\x00" - 76 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0066\x0069\x006E\x0061\x006C\x0020\x0076\x0061\x006C\x0075\x0065\x003A\x0020\x007B\x0030\x007D\x00" - 77 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x007B\x0030\x007D\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0070\x0061\x0072\x0074\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0073\x0075\x0062\x0073\x0074\x0069\x0074\x0075\x0074\x0069\x006F\x006E\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0068\x0065\x0061\x0064\x0065\x0064\x0020\x0062\x0079\x0020\x007B\x0031\x007D\x00" - 78 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x007B\x0030\x007D\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x0074\x0079\x0070\x0065\x0020\x0077\x0068\x0069\x0063\x0068\x0020\x0064\x006F\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0020\x0066\x0072\x006F\x006D\x0020\x0074\x0068\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0061\x0074\x0020\x0074\x0068\x0065\x0020\x0068\x0065\x0061\x0064\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0073\x0075\x0062\x0073\x0074\x0069\x0074\x0075\x0074\x0069\x006F\x006E\x0020\x0067\x0072\x006F\x0075\x0070\x00" - 79 L"\x0044\x0075\x0070\x006C\x0069\x0063\x0061\x0074\x0065\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0064\x0065\x0063\x006C\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0073\x0061\x006D\x0065\x0020\x0073\x0063\x006F\x0070\x0065\x003A\x0020\x007B\x0030\x007D\x00" - 80 L"\x0054\x0068\x0065\x0020\x0027\x0062\x006C\x006F\x0063\x006B\x0027\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0073\x0020\x006F\x0066\x0020\x0061\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0023\x0061\x006C\x006C\x0020\x007C\x0020\x006C\x0069\x0073\x0074\x0028\x0073\x0075\x0062\x0073\x0074\x0069\x0074\x0075\x0074\x0069\x006F\x006E\x002C\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x002C\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0029\x003B\x0020\x007B\x0030\x007D\x0020\x0077\x0061\x0073\x0020\x0066\x006F\x0075\x006E\x0064\x00" - 81 L"\x0054\x0068\x0065\x0020\x0027\x0066\x0069\x006E\x0061\x006C\x0027\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0073\x0020\x006F\x0066\x0020\x0061\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0023\x0061\x006C\x006C\x0020\x007C\x0020\x006C\x0069\x0073\x0074\x0028\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x002C\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0029\x003B\x0020\x007B\x0030\x007D\x0020\x0077\x0061\x0073\x0020\x0066\x006F\x0075\x006E\x0064\x00" - 82 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0066\x006F\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x003A\x0020\x0027\x007B\x0031\x007D\x0027\x002E\x00" - 83 L"\x0052\x0065\x0066\x0020\x0069\x0073\x0020\x0070\x0072\x0065\x0073\x0065\x006E\x0074\x002C\x0020\x0061\x006E\x0064\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x002F\x0066\x006F\x0072\x006D\x002F\x0074\x0079\x0070\x0065\x0020\x0066\x006F\x0075\x006E\x0064\x0020\x0066\x006F\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x003D\x007B\x0031\x007D\x0027\x00" - 84 L"\x0044\x0075\x0070\x006C\x0069\x0063\x0061\x0074\x0065\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x007B\x0030\x007D\x003A\x007B\x0031\x007D\x0020\x0069\x006E\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x00" - 85 L"\x0044\x0065\x0072\x0069\x0076\x0061\x0074\x0069\x006F\x006E\x0020\x0062\x0079\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x0069\x0073\x0020\x0066\x006F\x0072\x0062\x0069\x0064\x0064\x0065\x006E\x0020\x0062\x0079\x0020\x0065\x0069\x0074\x0068\x0065\x0072\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006F\x0072\x0020\x0074\x0068\x0065\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x00" - 86 L"\x0044\x0065\x0072\x0069\x0076\x0061\x0074\x0069\x006F\x006E\x0020\x0062\x0079\x0020\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0020\x0069\x0073\x0020\x0066\x006F\x0072\x0062\x0069\x0064\x0064\x0065\x006E\x0020\x0062\x0079\x0020\x0065\x0069\x0074\x0068\x0065\x0072\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006F\x0072\x0020\x0074\x0068\x0065\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x00" - 87 L"\x0054\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0073\x0070\x0065\x0063\x0069\x0066\x0069\x0065\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0061\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x00" - 88 L"\x0049\x006D\x0070\x006F\x0072\x0074\x0065\x0064\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x0064\x0069\x0066\x0066\x0065\x0072\x0065\x006E\x0074\x0020\x0074\x0061\x0072\x0067\x0065\x0074\x004E\x0061\x006D\x0065\x0053\x0070\x0061\x0063\x0065\x0020\x0027\x007B\x0031\x007D\x0027\x0020\x0066\x0072\x006F\x006D\x0020\x0077\x0068\x0061\x0074\x0027\x0073\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x0020\x0027\x007B\x0032\x007D\x0027\x00" - 89 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0067\x0065\x0074\x0020\x0074\x0068\x0065\x0020\x0064\x006F\x0063\x0020\x0072\x006F\x006F\x0074\x0020\x0066\x006F\x0072\x0020\x0069\x006D\x0070\x006F\x0072\x0074\x0065\x0064\x0020\x0053\x0063\x0068\x0065\x006D\x0061\x003A\x0020\x007B\x0030\x007D\x00" - 90 L"\x0041\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x004C\x006F\x0063\x0061\x0074\x0069\x006F\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0073\x0070\x0065\x0063\x0069\x0066\x0069\x0065\x0064\x0020\x006F\x006E\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x002E\x00" - 91 L"\x0049\x006E\x0063\x006C\x0075\x0064\x0065\x0064\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x0064\x0069\x0066\x0066\x0065\x0072\x0065\x006E\x0074\x0020\x0074\x0061\x0072\x0067\x0065\x0074\x004E\x0061\x006D\x0065\x0053\x0070\x0061\x0063\x0065\x0020\x0027\x007B\x0031\x007D\x0027\x00" - 92 L"\x0041\x0074\x0020\x006D\x006F\x0073\x0074\x0020\x006F\x006E\x0065\x0020\x003C\x0061\x006E\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x003E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x0073\x0020\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x002E\x00" - 93 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0028\x0061\x006E\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x003F\x002C\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x003F\x0029\x0020\x0066\x006F\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x003D\x007B\x0031\x007D\x0027\x00" - 94 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x0061\x0070\x0070\x0065\x0061\x0072\x0020\x0069\x006E\x0020\x007B\x0031\x007D\x0020\x007B\x0032\x007D\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0073\x00" - 95 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0061\x0070\x0070\x0065\x0061\x0072\x0020\x0069\x006E\x0020\x007B\x0031\x007D\x0020\x007B\x0032\x007D\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0073\x00" - 96 L"\x0056\x0061\x006C\x0075\x0065\x0020\x006F\x0066\x0020\x006D\x0069\x006E\x004F\x0063\x0063\x0075\x0072\x0073\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0067\x0072\x0065\x0061\x0074\x0065\x0072\x0020\x0074\x0068\x0061\x006E\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x006F\x0066\x0020\x006D\x0061\x0078\x004F\x0063\x0063\x0075\x0072\x0073\x0020\x0027\x007B\x0031\x007D\x0027\x00" - 97 L"\x0027\x0061\x006E\x0079\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0027\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0073\x0020\x0063\x0061\x006E\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0020\x0061\x0074\x0020\x006D\x006F\x0073\x0074\x0020\x006F\x006E\x0065\x0020\x0027\x0061\x006E\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x0027\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0069\x0072\x0020\x0063\x0068\x0069\x006C\x0064\x0072\x0065\x006E\x00" - 98 L"\x0047\x006C\x006F\x0062\x0061\x006C\x0020\x003C\x007B\x0030\x007D\x003E\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x002D\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" - 99 L"\x004E\x006F\x0020\x0063\x0069\x0072\x0063\x0075\x006C\x0061\x0072\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x0073\x0020\x0061\x0072\x0065\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x003A\x0020\x0027\x007B\x0030\x007D\x0027\x00" - 100 L"\x0047\x006C\x006F\x0062\x0061\x006C\x0020\x007B\x0030\x007D\x003A\x0027\x007B\x0031\x007D\x0027\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x0020\x006D\x006F\x0072\x0065\x0020\x0074\x0068\x0061\x006E\x0020\x006F\x006E\x0063\x0065\x0020\x006F\x0072\x0020\x0061\x006C\x0073\x006F\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x0020\x0061\x0073\x0020\x007B\x0032\x007D\x00" - 101 L"\x0047\x006C\x006F\x0062\x0061\x006C\x0020\x007B\x0030\x007D\x003A\x0027\x007B\x0031\x007D\x0027\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x0020\x006D\x006F\x0072\x0065\x0020\x0074\x0068\x0061\x006E\x0020\x006F\x006E\x0063\x0065\x00" - 102 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0066\x006F\x0072\x0020\x0066\x0061\x0063\x0065\x0074\x0020\x0027\x0077\x0068\x0069\x0074\x0065\x0053\x0070\x0061\x0063\x0065\x0027\x002E\x0020\x0056\x0061\x006C\x0075\x0065\x0020\x0073\x0068\x006F\x0075\x006C\x0064\x0020\x0062\x0065\x0020\x0027\x0063\x006F\x006C\x006C\x0061\x0070\x0073\x0065\x0027\x002E\x00" - 103 L"\x0054\x0068\x0065\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x006F\x0066\x0020\x0061\x006E\x0020\x003C\x0069\x006D\x0070\x006F\x0072\x0074\x003E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0064\x0069\x0066\x0066\x0065\x0072\x0065\x006E\x0074\x0020\x0066\x0072\x006F\x006D\x0020\x0074\x0068\x0065\x0020\x0074\x0061\x0072\x0067\x0065\x0074\x004E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x003C\x0069\x006D\x0070\x006F\x0072\x0074\x003E\x0069\x006E\x0067\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x00" - 104 L"\x0049\x0066\x0020\x0074\x0068\x0065\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x006F\x006E\x0020\x0061\x006E\x0020\x003C\x0069\x006D\x0070\x006F\x0072\x0074\x003E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0070\x0072\x0065\x0073\x0065\x006E\x0074\x002C\x0020\x0074\x0068\x0065\x0020\x003C\x0069\x006D\x0070\x006F\x0072\x0074\x003E\x0069\x006E\x0067\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x0074\x0061\x0072\x0067\x0065\x0074\x004E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x00" - 105 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0063\x006F\x006E\x0073\x0074\x0072\x0061\x0069\x006E\x0074\x003A\x0027\x007B\x0031\x007D\x0027\x0020\x0061\x0073\x0020\x0069\x0074\x0073\x0020\x0074\x0079\x0070\x0065\x0020\x0069\x0073\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0066\x0072\x006F\x006D\x0020\x0049\x0044\x00" - 106 L"\x0049\x0074\x0020\x0069\x0073\x0020\x0061\x006E\x0020\x0065\x0072\x0072\x006F\x0072\x0020\x0066\x006F\x0072\x0020\x004E\x004F\x0054\x0041\x0054\x0049\x004F\x004E\x0020\x0074\x006F\x0020\x0062\x0065\x0020\x0075\x0073\x0065\x0064\x0020\x0064\x0069\x0072\x0065\x0063\x0074\x006C\x0079\x0020\x0069\x006E\x0020\x0061\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x0020\x0069\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x002F\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x00" - 107 L"\x0046\x006F\x0072\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x002C\x0020\x0074\x0068\x0065\x0020\x007B\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0074\x0079\x0070\x0065\x007D\x0020\x0069\x0073\x0020\x006D\x0069\x0078\x0065\x0064\x002C\x0020\x0074\x0068\x0065\x006E\x0020\x0074\x0068\x0065\x0020\x007B\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0074\x0079\x0070\x0065\x007D\x0027\x0073\x0020\x0070\x0061\x0072\x0074\x0069\x0063\x006C\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0065\x006D\x0070\x0074\x0069\x0061\x0062\x006C\x0065\x00" - 108 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x0020\x0069\x0073\x0020\x0045\x004D\x0050\x0054\x0059\x002C\x0020\x0062\x0075\x0074\x0020\x0062\x0061\x0073\x0065\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0065\x006D\x0070\x0074\x0079\x0020\x006F\x0072\x0020\x0064\x006F\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0065\x006D\x0070\x0074\x0069\x0061\x0062\x006C\x0065\x0020\x0070\x0061\x0072\x0074\x0069\x0063\x006C\x0065\x002E\x00" - 109 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0074\x0079\x0070\x0065\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0074\x0079\x0070\x0065\x003A\x0027\x007B\x0030\x007D\x0027\x0020\x0061\x006E\x0064\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0074\x0079\x0070\x0065\x003A\x0027\x007B\x0031\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x006F\x0074\x0068\x0020\x0062\x0065\x0020\x006D\x0069\x0078\x0065\x0064\x0020\x006F\x0072\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x002D\x006F\x006E\x006C\x0079\x002E\x00" - 110 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0074\x0079\x0070\x0065\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x0020\x0076\x0061\x006C\x0069\x0064\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0074\x0079\x0070\x0065\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x002E\x00" - 111 L"\x0044\x0065\x0072\x0069\x0076\x0061\x0074\x0069\x006F\x006E\x0020\x0062\x0079\x0020\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0020\x006F\x0072\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x0069\x0073\x0020\x0066\x006F\x0072\x0062\x0069\x0064\x0064\x0065\x006E\x0020\x0062\x0079\x0020\x0065\x0069\x0074\x0068\x0065\x0072\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006F\x0072\x0020\x0074\x0068\x0065\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x00" - 112 L"\x0054\x0068\x0065\x0020\x007B\x0069\x0074\x0065\x006D\x0020\x0074\x0079\x0070\x0065\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x007D\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x007B\x0076\x0061\x0072\x0069\x0065\x0074\x0079\x007D\x0020\x006F\x0066\x0020\x0061\x0074\x006F\x006D\x0069\x0063\x0020\x006F\x0072\x0020\x0075\x006E\x0069\x006F\x006E\x0020\x0028\x0077\x0068\x0065\x0072\x0065\x0020\x0061\x006C\x006C\x0020\x006D\x0065\x006D\x0062\x0065\x0072\x0020\x0074\x0079\x0070\x0065\x0073\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0061\x0074\x006F\x006D\x0069\x0063\x0029\x00" - 113 L"\x0054\x0068\x0065\x0020\x007B\x006D\x0065\x006D\x0062\x0065\x0072\x0020\x0074\x0079\x0070\x0065\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x0073\x007D\x0020\x006D\x0075\x0073\x0074\x0020\x0061\x006C\x006C\x0020\x0068\x0061\x0076\x0065\x0020\x007B\x0076\x0061\x0072\x0069\x0065\x0074\x0079\x007D\x0020\x006F\x0066\x0020\x0061\x0074\x006F\x006D\x0069\x0063\x0020\x006F\x0072\x0020\x006C\x0069\x0073\x0074\x00" - 114 L"\x0054\x0068\x0065\x0020\x0067\x0072\x006F\x0075\x0070\x003A\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0020\x0028\x0061\x006C\x006C\x0020\x007C\x0020\x0063\x0068\x006F\x0069\x0063\x0065\x0020\x007C\x0020\x0073\x0065\x0071\x0075\x0065\x006E\x0063\x0065\x0029\x00" - 115 L"\x0054\x0068\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0047\x0072\x006F\x0075\x0070\x003A\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x006D\x0061\x0074\x0063\x0068\x0020\x0028\x0061\x006E\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x003F\x002E\x0020\x0028\x0028\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x007C\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0047\x0072\x006F\x0075\x0070\x0029\x002A\x002C\x0020\x0061\x006E\x0079\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x003F\x0029\x0029\x00" - 116 L"\x0054\x0068\x0065\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x006F\x0066\x0020\x0061\x0020\x006D\x006F\x0064\x0065\x006C\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x0020\x006D\x0075\x0073\x0074\x0020\x006E\x006F\x0074\x0020\x0073\x0070\x0065\x0063\x0069\x0066\x0079\x0020\x0065\x0069\x0074\x0068\x0065\x0072\x0020\x0074\x0068\x0065\x0020\x006D\x0069\x006E\x004F\x0063\x0063\x0075\x0072\x0073\x0020\x006F\x0072\x0020\x006D\x0061\x0078\x004F\x0063\x0063\x0075\x0072\x0073\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x002E\x00" - 117 L"\x0054\x0068\x0065\x0020\x007B\x0030\x007D\x0020\x002D\x0027\x007B\x0031\x007D\x003A\x007B\x0032\x007D\x0027\x002D\x0020\x006E\x006F\x0074\x0020\x0066\x006F\x0075\x006E\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x00" - 118 L"\x0041\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0077\x0068\x006F\x0073\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0069\x0073\x0020\x0027\x0061\x006C\x006C\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x006F\x006E\x006C\x0079\x0020\x0061\x0070\x0070\x0065\x0061\x0072\x0020\x0061\x0073\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0074\x0079\x0070\x0065\x0020\x006F\x0066\x0020\x0061\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0020\x0074\x0079\x0070\x0065\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x002E\x00" - 119 L"\x0057\x0068\x0065\x006E\x0020\x0061\x0020\x006D\x006F\x0064\x0065\x006C\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0068\x0061\x0073\x0020\x007B\x0063\x006F\x006D\x0070\x006F\x0073\x0069\x0074\x006F\x0072\x007D\x0020\x0027\x0061\x006C\x006C\x0027\x0020\x0077\x0068\x0069\x0063\x0068\x0020\x0063\x006F\x006E\x0073\x0074\x0069\x0074\x0075\x0074\x0065\x0073\x0020\x0074\x0068\x0065\x0020\x007B\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0074\x0079\x0070\x0065\x007D\x0020\x006F\x0066\x0020\x0061\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0020\x0074\x0079\x0070\x0065\x002C\x0020\x006D\x0069\x006E\x004F\x0063\x0063\x0075\x0072\x0073\x003D\x006D\x0061\x0078\x004F\x0063\x0063\x0075\x0072\x0073\x003D\x0031\x00" - 120 L"\x0049\x006E\x0020\x0061\x006E\x0020\x0027\x0061\x006C\x006C\x0027\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x0020\x0063\x006F\x006D\x0070\x006F\x006E\x0065\x006E\x0074\x002C\x0020\x0074\x0068\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x006F\x0066\x0020\x006D\x0069\x006E\x004F\x0063\x0063\x0075\x0072\x0073\x002F\x006D\x0061\x0078\x004F\x0063\x0063\x0075\x0072\x0073\x0020\x006F\x0066\x0020\x0061\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0027\x0030\x0027\x0020\x006F\x0072\x0020\x0027\x0031\x0027\x002E\x00" - 121 L"\x0043\x0069\x0072\x0063\x0075\x006C\x0061\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0047\x0072\x006F\x0075\x0070\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0020\x002D\x007B\x0030\x007D\x002D\x0020\x0069\x0073\x0020\x0064\x0069\x0073\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x006F\x0075\x0074\x0073\x0069\x0064\x0065\x0020\x003C\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x003E\x00" - 122 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x0020\x0069\x006E\x0020\x0062\x0061\x0073\x0065\x0020\x0061\x006E\x0064\x0020\x0073\x0068\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0061\x0070\x0070\x0065\x0061\x0072\x0020\x0069\x006E\x0020\x0064\x0065\x0072\x0069\x0076\x0061\x0074\x0069\x006F\x006E\x0020\x0062\x0079\x0020\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x002E\x00" - 123 L"\x0054\x0068\x0065\x0020\x0069\x006E\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0061\x006C\x0020\x0069\x006E\x0074\x0065\x0072\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x0020\x006F\x0066\x0020\x007B\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0073\x0020\x0077\x0069\x006C\x0064\x0063\x0061\x0072\x0064\x007D\x0073\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0065\x0078\x0070\x0072\x0065\x0073\x0073\x0069\x0062\x006C\x0065\x00" - 124 L"\x0042\x0061\x0073\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x0020\x0064\x006F\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x006E\x0079\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0073\x00" - 125 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x006E\x0020\x0069\x006E\x0063\x006F\x006E\x0073\x0069\x0073\x0074\x0065\x006E\x0074\x0020\x0052\x0045\x0051\x0055\x0049\x0052\x0045\x0044\x0020\x0073\x0065\x0074\x0074\x0069\x006E\x0067\x0020\x0077\x0069\x0074\x0068\x0020\x0074\x0068\x0061\x0074\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x00" - 126 L"\x0054\x0079\x0070\x0065\x0020\x006F\x0066\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0076\x0061\x006C\x0069\x0064\x006C\x0079\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0066\x0072\x006F\x006D\x0020\x0074\x0079\x0070\x0065\x0020\x006F\x0066\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0069\x006E\x0020\x0062\x0061\x0073\x0065\x00" - 127 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0065\x0069\x0074\x0068\x0065\x0072\x0020\x006E\x006F\x0074\x0020\x0066\x0069\x0078\x0065\x0064\x002C\x0020\x006F\x0072\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x0064\x0069\x0066\x0066\x0065\x0072\x0065\x006E\x0074\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0066\x0072\x006F\x006D\x0020\x0074\x0068\x0061\x0074\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x00" - 128 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0074\x0061\x0072\x0067\x0065\x0074\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0077\x0069\x0074\x0068\x0020\x0072\x0065\x0073\x0070\x0065\x0063\x0074\x0020\x0074\x006F\x0020\x0061\x0020\x0062\x0061\x0073\x0065\x0020\x0077\x0069\x006C\x0064\x0063\x0061\x0072\x0064\x0020\x0063\x006F\x006E\x0073\x0074\x0072\x0061\x0069\x006E\x0074\x0020\x006F\x0072\x002C\x0020\x0062\x0061\x0073\x0065\x0020\x0068\x0061\x0073\x0020\x006E\x006F\x0020\x0077\x0069\x006C\x0064\x0063\x0061\x0072\x0064\x00" - 129 L"\x0041\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0077\x0069\x006C\x0064\x0063\x0061\x0072\x0064\x0020\x0069\x0073\x0020\x0070\x0072\x0065\x0073\x0065\x006E\x0074\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0074\x0079\x0070\x0065\x002C\x0020\x0062\x0075\x0074\x0020\x006E\x006F\x0074\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x00" - 130 L"\x0054\x0068\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0077\x0069\x006C\x0064\x0063\x0061\x0072\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0074\x0079\x0070\x0065\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x0020\x0076\x0061\x006C\x0069\x0064\x0020\x0073\x0075\x0062\x0073\x0065\x0074\x0020\x006F\x0066\x0020\x0074\x0068\x0061\x0074\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x00" - 131 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x006D\x006F\x0064\x0069\x0066\x0079\x0020\x0074\x0068\x0065\x0020\x0027\x0075\x0073\x0065\x0027\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0069\x006E\x0020\x0061\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0074\x0079\x0070\x0065\x002C\x0020\x0069\x0066\x0020\x0062\x0061\x0073\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0075\x0073\x0065\x0020\x0069\x0073\x0020\x0070\x0072\x006F\x0068\x0069\x0062\x0069\x0074\x0065\x0064\x00" - 132 L"\x0054\x0068\x0065\x0020\x0077\x0069\x006C\x0064\x0063\x0061\x0072\x0064\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0074\x0079\x0070\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0069\x0064\x0065\x006E\x0074\x0069\x0063\x0061\x006C\x0020\x0074\x006F\x0020\x006F\x0072\x0020\x0073\x0074\x0072\x006F\x006E\x0067\x0065\x0072\x0020\x0074\x0068\x0061\x006E\x0020\x0074\x0068\x0065\x0020\x006F\x006E\x0065\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x002E\x00" - 133 L"\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x003C\x0061\x006C\x006C\x003E\x0020\x0069\x0073\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0065\x0064\x0020\x0074\x006F\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0073\x0020\x006F\x006E\x006C\x0079\x002E\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0065\x006E\x0063\x006F\x0075\x006E\x0074\x0065\x0072\x0065\x0064\x0020\x0061\x006E\x0064\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x002E\x00" - 134 L"\x0052\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x0064\x0069\x0066\x0066\x0065\x0072\x0065\x006E\x0074\x0020\x0074\x0061\x0072\x0067\x0065\x0074\x004E\x0061\x006D\x0065\x0053\x0070\x0061\x0063\x0065\x0020\x0027\x007B\x0031\x007D\x0027\x002E\x00" - 135 L"\x0041\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x006F\x0066\x0020\x0061\x0020\x003C\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x003E\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0061\x0073\x0020\x0061\x0020\x0063\x0068\x0069\x006C\x0064\x00" - 136 L"\x0054\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x006F\x0066\x0020\x0061\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x002C\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0074\x0068\x0065\x0020\x0073\x0061\x006D\x0065\x0020\x0061\x0073\x0020\x0074\x0068\x0065\x0020\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0027\x0073\x0020\x006E\x0061\x006D\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x00" - 137 L"\x0041\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x006F\x0066\x0020\x0061\x0020\x003C\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x003E\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x006F\x0072\x0020\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0061\x0073\x0020\x0061\x0020\x0067\x0072\x0061\x006E\x0064\x0063\x0068\x0069\x006C\x0064\x00" - 138 L"\x0054\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006F\x0066\x0020\x0061\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x002F\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0074\x0068\x0065\x0020\x0073\x0061\x006D\x0065\x0020\x0061\x0073\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x0027\x0073\x0020\x006E\x0061\x006D\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0069\x006E\x0020\x003C\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x003E\x00" - 139 L"\x0054\x0068\x0065\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0077\x0068\x0069\x0063\x0068\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0073\x0020\x0061\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0020\x0074\x006F\x0020\x0061\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0062\x0065\x0069\x006E\x0067\x0020\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x006D\x0069\x006E\x004F\x0063\x0063\x0075\x0072\x0073\x0020\x003D\x0020\x006D\x0061\x0078\x004F\x0063\x0063\x0075\x0072\x0073\x0020\x003D\x0020\x0031\x00" - 140 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0066\x0069\x006E\x0064\x0020\x0061\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x0020\x0074\x006F\x0020\x0062\x0065\x0020\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x0020\x0063\x006F\x0072\x0072\x0065\x0073\x0070\x006F\x006E\x0064\x0069\x006E\x0067\x0020\x0074\x006F\x0020\x0027\x007B\x0030\x007D\x0027\x00" - 141 L"\x0049\x0066\x0020\x0061\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x006F\x0066\x0020\x0061\x0020\x003C\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x003E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0073\x0020\x0061\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0072\x0065\x0066\x0027\x0069\x006E\x0067\x0020\x0069\x0074\x0073\x0065\x006C\x0066\x002C\x0020\x0069\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0065\x0078\x0061\x0063\x0074\x006C\x0079\x0020\x0031\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x002E\x00" - 142 L"\x0049\x0066\x0020\x0061\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0047\x0072\x006F\x0075\x0070\x0020\x006F\x0066\x0020\x0061\x0020\x003C\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x003E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0073\x0020\x0061\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0020\x0074\x006F\x0020\x0069\x0074\x0073\x0065\x006C\x0066\x002C\x0020\x0073\x0075\x0063\x0068\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0065\x0078\x0061\x0063\x0074\x006C\x0079\x0020\x0031\x00" - 143 L"\x0041\x0020\x003C\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x003E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0020\x0061\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x006F\x0066\x0020\x0074\x0079\x0070\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x00" - 144 L"\x0054\x0068\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0066\x006F\x0072\x0020\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x00" - 145 L"\x0054\x0068\x0065\x0020\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0027\x007B\x0030\x007D\x003A\x007B\x0031\x007D\x0027\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0066\x006F\x0075\x006E\x0064\x00" - 146 L"\x004D\x006F\x0072\x0065\x0020\x0074\x0068\x0061\x006E\x0020\x006F\x006E\x0065\x0020\x0069\x0064\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0063\x006F\x006E\x0073\x0074\x0072\x0061\x0069\x006E\x0074\x0020\x006E\x0061\x006D\x0065\x0064\x0020\x0027\x007B\x0030\x007D\x0027\x002E\x00" - 147 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x0061\x006E\x0020\x0069\x0064\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0063\x006F\x006E\x0073\x0074\x0072\x0061\x0069\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x006D\x0061\x0074\x0063\x0068\x0020\x0028\x0061\x006E\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x003F\x002C\x0020\x0073\x0065\x006C\x0065\x0063\x0074\x006F\x0072\x002C\x0020\x0066\x0069\x0065\x006C\x0064\x002B\x0029\x00" - 148 L"\x004B\x0065\x0079\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0072\x0065\x0066\x0065\x0072\x0073\x0020\x0074\x006F\x0020\x0075\x006E\x006B\x006E\x006F\x0077\x006E\x0020\x006B\x0065\x0079\x0020\x0077\x0069\x0074\x0068\x0020\x006E\x0061\x006D\x0065\x0020\x0027\x007B\x0031\x007D\x0027\x002E\x00" - 149 L"\x0043\x0061\x0072\x0064\x0069\x006E\x0061\x006C\x0069\x0074\x0079\x0020\x006F\x0066\x0020\x0066\x0069\x0065\x006C\x0064\x0073\x0020\x0066\x006F\x0072\x0020\x006B\x0065\x0079\x0072\x0065\x0066\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0061\x006E\x0064\x0020\x006B\x0065\x0079\x0020\x0027\x007B\x0031\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x006D\x0061\x0074\x0063\x0068\x002E\x00" - 150 L"\x0058\x0070\x0061\x0074\x0068\x0020\x0065\x0078\x0070\x0072\x0065\x0073\x0073\x0069\x006F\x006E\x0020\x0069\x0073\x0020\x0065\x0069\x0074\x0068\x0065\x0072\x0020\x006D\x0069\x0073\x0073\x0069\x006E\x0067\x0020\x006F\x0072\x0020\x0065\x006D\x0070\x0074\x0079\x00" - 151 L"\x0054\x0068\x0065\x0020\x007B\x0076\x0061\x006C\x0075\x0065\x0020\x0063\x006F\x006E\x0073\x0074\x0072\x0061\x0069\x006E\x0074\x007D\x0020\x006F\x0066\x0020\x0061\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0072\x0065\x0066\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0066\x0069\x0078\x0065\x0064\x0020\x006F\x0072\x0020\x0064\x0069\x0066\x0066\x0065\x0072\x0065\x006E\x0074\x0020\x0066\x0072\x006F\x006D\x0020\x0074\x0068\x0065\x0020\x0066\x0069\x0078\x0065\x0064\x0020\x007B\x0076\x0061\x006C\x0075\x0065\x0020\x0063\x006F\x006E\x0073\x0074\x0072\x0061\x0069\x006E\x0074\x007D\x0020\x006F\x0066\x0020\x0027\x007B\x0030\x007D\x0027\x00" - 152 L"\x0054\x0068\x0065\x0020\x007B\x0074\x0079\x0070\x0065\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x007D\x0020\x0066\x006F\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x003D\x007B\x0031\x007D\x0027\x0020\x0069\x0073\x0020\x006F\x0072\x0020\x0069\x0073\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0066\x0072\x006F\x006D\x0020\x0049\x0044\x002C\x0020\x0061\x006E\x0064\x0020\x006D\x0075\x0073\x0074\x0020\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x007B\x0076\x0061\x006C\x0075\x0065\x0020\x0063\x006F\x006E\x0073\x0074\x0072\x0061\x0069\x006E\x0074\x007D\x00" - 153 L"\x004D\x006F\x0072\x0065\x0020\x0074\x0068\x0061\x006E\x0020\x006F\x006E\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0066\x0072\x006F\x006D\x0020\x0074\x0079\x0070\x0065\x0020\x0049\x0044\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0061\x0070\x0070\x0065\x0061\x0072\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0073\x0061\x006D\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0020\x0074\x0079\x0070\x0065\x0020\x002D\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" - 154 L"\x004D\x006F\x0072\x0065\x0020\x0074\x0068\x0061\x006E\x0020\x006F\x006E\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0066\x0072\x006F\x006D\x0020\x0074\x0079\x0070\x0065\x0020\x0049\x0044\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0061\x0070\x0070\x0065\x0061\x0072\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0073\x0061\x006D\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x002D\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" - 155 L"\x0027\x0027\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x0020\x006C\x0065\x0067\x0061\x006C\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0066\x006F\x0072\x0020\x0074\x0068\x0065\x0020\x0074\x0061\x0072\x0067\x0065\x0074\x004E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x003B\x0020\x0074\x0068\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0061\x0062\x0073\x0065\x006E\x0074\x0020\x006F\x0072\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0020\x0061\x0020\x006E\x006F\x006E\x0065\x006D\x0070\x0074\x0079\x0020\x0076\x0061\x006C\x0075\x0065\x00" - 156 L"\x007B\x0030\x007D\x00" - 157 L"\x0041\x006E\x0020\x0065\x0078\x0063\x0065\x0070\x0074\x0069\x006F\x006E\x0020\x006F\x0063\x0063\x0075\x0072\x0072\x0065\x0064\x0021\x0020\x0054\x0079\x0070\x0065\x003A\x007B\x0030\x007D\x002C\x0020\x004D\x0065\x0073\x0073\x0061\x0067\x0065\x003A\x007B\x0031\x007D\x00" - 158 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0052\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x003A\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0062\x0065\x0065\x006E\x0020\x0069\x006E\x0063\x006C\x0075\x0064\x0065\x0064\x0020\x006F\x0072\x0020\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x00" - 159 L"\x0053\x0063\x0068\x0065\x006D\x0061\x0020\x0052\x0065\x0070\x0072\x0065\x0073\x0065\x006E\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x0043\x006F\x006E\x0073\x0074\x0072\x0061\x0069\x006E\x0074\x003A\x0020\x004E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0064\x0020\x0077\x0069\x0074\x0068\x006F\x0075\x0074\x0020\x003C\x0069\x006D\x0070\x006F\x0072\x0074\x003E\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00" - 160 L"\x0041\x006E\x0020\x0027\x0061\x006C\x006C\x0027\x0020\x006D\x006F\x0064\x0065\x006C\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0074\x0068\x0061\x0074\x0027\x0073\x0020\x0070\x0061\x0072\x0074\x0020\x006F\x0066\x0020\x0061\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0020\x0074\x0079\x0070\x0065\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x0020\x006D\x0075\x0073\x0074\x0020\x0063\x006F\x006E\x0073\x0074\x0069\x0074\x0075\x0074\x0065\x0020\x0074\x0068\x0065\x0020\x0065\x006E\x0074\x0069\x0072\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0074\x0079\x0070\x0065\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x00" - 161 L"\x0041\x006E\x0020\x003C\x0061\x006E\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x003E\x0020\x0063\x0061\x006E\x0020\x006F\x006E\x006C\x0079\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0020\x003C\x0061\x0070\x0070\x0069\x006E\x0066\x006F\x003E\x0020\x0061\x006E\x0064\x0020\x003C\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x0061\x0074\x0069\x006F\x006E\x003E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0073\x00" - 162 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0066\x0061\x0063\x0065\x0074\x0020\x006E\x0061\x006D\x0065\x003A\x0020\x007B\x0030\x007D\x00" - 163 L"\x0054\x0068\x0065\x0020\x0072\x006F\x006F\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006E\x0061\x006D\x0065\x0020\x006F\x0066\x0020\x0061\x006E\x0020\x0058\x004D\x004C\x0020\x0053\x0063\x0068\x0065\x006D\x0061\x0020\x0073\x0068\x006F\x0075\x006C\x0064\x0020\x0062\x0065\x0020\x0027\x0073\x0063\x0068\x0065\x006D\x0061\x0027\x002E\x00" - 164 L"\x0043\x0069\x0072\x0063\x0075\x006C\x0061\x0072\x0020\x0073\x0075\x0062\x0073\x0074\x0069\x0074\x0075\x0074\x0069\x006F\x006E\x0020\x0067\x0072\x006F\x0075\x0070\x0073\x0020\x0061\x0072\x0065\x0020\x0064\x0069\x0073\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0066\x006F\x0072\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x002E\x00" - 165 L"\x0046\x006F\x0072\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0074\x006F\x0020\x0062\x0065\x0020\x0061\x0020\x006D\x0065\x006D\x0062\x0065\x0072\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0073\x0075\x0062\x0073\x0074\x0069\x0074\x0075\x0074\x0069\x006F\x006E\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0073\x0065\x0074\x0020\x006F\x0066\x0020\x0027\x007B\x0031\x007D\x0027\x002C\x0020\x0069\x0074\x0073\x0020\x007B\x0061\x0062\x0073\x0074\x0072\x0061\x0063\x0074\x007D\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0066\x0061\x006C\x0073\x0065\x002E\x00" - 166 L"\x0054\x0068\x0065\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x006F\x0066\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0066\x0072\x006F\x006D\x0020\x0074\x0068\x0065\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x002E\x00" - 167 L"\x0054\x0068\x0065\x0020\x007B\x0074\x0061\x0072\x0067\x0065\x0074\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x007D\x0020\x006F\x0066\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x006E\x006F\x0074\x0020\x006D\x0061\x0074\x0063\x0068\x0020\x0027\x0068\x0074\x0074\x0070\x003A\x002F\x002F\x0077\x0077\x0077\x002E\x0077\x0033\x002E\x006F\x0072\x0067\x002F\x0032\x0030\x0030\x0031\x002F\x0058\x004D\x004C\x0053\x0063\x0068\x0065\x006D\x0061\x002D\x0069\x006E\x0073\x0074\x0061\x006E\x0063\x0065\x0027\x002E\x00" - 168 L"\x0054\x0068\x0065\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0073\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x002E\x00" - 169 L"\x004E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0066\x0069\x0078\x0075\x0070\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0070\x0065\x0072\x0066\x006F\x0072\x006D\x0065\x0064\x0020\x006F\x006E\x0020\x0061\x0020\x0044\x004F\x004D\x0020\x004C\x0065\x0076\x0065\x006C\x0020\x0031\x0020\x004E\x006F\x0064\x0065\x002E\x00" - 172 L"\x0054\x0068\x0065\x0020\x0070\x0061\x0072\x0073\x0065\x0072\x0020\x0068\x0061\x0073\x0020\x0065\x006E\x0063\x006F\x0075\x006E\x0074\x0065\x0072\x0065\x0064\x0020\x006D\x006F\x0072\x0065\x0020\x0074\x0068\x0061\x006E\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0065\x0078\x0070\x0061\x006E\x0073\x0069\x006F\x006E\x0073\x0020\x0069\x006E\x0020\x0074\x0068\x0069\x0073\x0020\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x003B\x0020\x0074\x0068\x0069\x0073\x0020\x0069\x0073\x0020\x0074\x0068\x0065\x0020\x006C\x0069\x006D\x0069\x0074\x0020\x0069\x006D\x0070\x006F\x0073\x0065\x0064\x0020\x0062\x0079\x0020\x0074\x0068\x0065\x0020\x0061\x0070\x0070\x006C\x0069\x0063\x0061\x0074\x0069\x006F\x006E\x002E\x00" - 173 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0063\x006F\x006D\x006D\x0065\x006E\x0074\x0020\x006F\x0072\x0020\x0043\x0044\x0041\x0054\x0041\x00" - 174 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006E\x0061\x006D\x0065\x00" - 175 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0020\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x006E\x0061\x006D\x0065\x00" - 176 L"\x0052\x0065\x0070\x0065\x0074\x0069\x0074\x0069\x006F\x006E\x0020\x006F\x0066\x0020\x0069\x006E\x0064\x0069\x0076\x0069\x0064\x0075\x0061\x006C\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0073\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x006C\x0065\x0067\x0061\x006C\x0020\x0066\x006F\x0072\x0020\x006D\x0069\x0078\x0065\x0064\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x0073\x00" - 177 L"\x0042\x0061\x0064\x0020\x0064\x0065\x0066\x0061\x0075\x006C\x0074\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00" - 178 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0064\x0065\x0066\x0061\x0075\x006C\x0074\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x002C\x0020\x0061\x0073\x0073\x0075\x006D\x0069\x006E\x0067\x0020\x0023\x0049\x004D\x0050\x004C\x0049\x0045\x0044\x0020\x00" - 179 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006C\x0069\x0073\x0074\x0020\x0073\x0079\x006E\x0074\x0061\x0078\x0020\x0065\x0072\x0072\x006F\x0072\x00" - 180 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0065\x0071\x0075\x0061\x006C\x0020\x0073\x0069\x0067\x006E\x00" - 181 L"\x0044\x0075\x0070\x006C\x0069\x0063\x0061\x0074\x0069\x006F\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006E\x0061\x006D\x0065\x00" - 182 L"\x0042\x0061\x0064\x0020\x0049\x0044\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x002C\x0020\x0066\x006F\x0072\x0020\x0078\x006D\x006C\x003A\x006C\x0061\x006E\x0067\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x00" - 183 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006E\x0061\x006D\x0065\x00" - 184 L"\x004D\x0075\x0073\x0074\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0077\x0069\x0074\x0068\x0020\x0061\x006E\x0020\x0058\x004D\x004C\x0044\x0065\x0063\x006C\x00" - 185 L"\x0043\x006F\x006D\x006D\x0065\x006E\x0074\x0073\x0020\x006D\x0075\x0073\x0074\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0077\x0069\x0074\x0068\x0020\x003C\x0021\x002D\x002D\x00" - 186 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x0020\x0073\x0074\x0072\x0075\x0063\x0074\x0075\x0072\x0065\x00" - 187 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0020\x0027\x0076\x0065\x0072\x0073\x0069\x006F\x006E\x003D\x0027\x002C\x0020\x0027\x0065\x006E\x0063\x006F\x0064\x0069\x006E\x0067\x003D\x0027\x002C\x0020\x006F\x0072\x0020\x0027\x0073\x0074\x0061\x006E\x0064\x0061\x006C\x006F\x006E\x0065\x003D\x0027\x00" - 188 L"\x0042\x0061\x0064\x0020\x0058\x004D\x004C\x0020\x0076\x0065\x0072\x0073\x0069\x006F\x006E\x0020\x0073\x0074\x0072\x0069\x006E\x0067\x00" - 189 L"\x0055\x006E\x0073\x0075\x0070\x0070\x006F\x0072\x0074\x0065\x0064\x0020\x0058\x004D\x004C\x0020\x0076\x0065\x0072\x0073\x0069\x006F\x006E\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x00" - 190 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0058\x004D\x004C\x0020\x0064\x0065\x0063\x006C\x00" - 191 L"\x0042\x0061\x0064\x0020\x0058\x004D\x004C\x0020\x0065\x006E\x0063\x006F\x0064\x0069\x006E\x0067\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x00" - 192 L"\x0042\x0061\x0064\x0020\x0073\x0074\x0061\x006E\x0064\x0061\x006C\x006F\x006E\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00" - 193 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0063\x006F\x006D\x006D\x0065\x006E\x0074\x00" - 194 L"\x0050\x0072\x006F\x0063\x0065\x0073\x0073\x0069\x006E\x0067\x0020\x0069\x006E\x0073\x0074\x0072\x0075\x0063\x0074\x0069\x006F\x006E\x0020\x006E\x0061\x006D\x0065\x0020\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x00" - 195 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0070\x0072\x006F\x0063\x0065\x0073\x0073\x0069\x006E\x0067\x0020\x0069\x006E\x0073\x0074\x0072\x0075\x0063\x0074\x0069\x006F\x006E\x00" - 196 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0028\x0055\x006E\x0069\x0063\x006F\x0064\x0065\x003A\x0020\x0030\x0078\x007B\x0030\x007D\x0029\x00" - 197 L"\x0055\x006E\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0074\x0065\x0078\x0074\x0020\x0062\x0065\x0066\x006F\x0072\x0065\x0020\x0072\x006F\x006F\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x00" - 198 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0074\x0061\x0067\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x00" - 199 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x00" - 200 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0065\x006E\x0064\x0020\x0074\x0061\x0067\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x00" - 201 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0074\x0079\x0070\x0065\x0020\x0028\x0043\x0044\x0041\x0054\x0041\x002C\x0020\x0049\x0044\x002C\x0020\x004E\x004D\x0054\x004F\x004B\x0045\x004E\x002C\x0020\x002E\x002E\x0029\x002C\x0020\x0066\x006F\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006F\x0066\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0031\x007D\x0027\x00" - 202 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0065\x006E\x0064\x0020\x006F\x0066\x0020\x0074\x0061\x0067\x0020\x0027\x007B\x0030\x007D\x0027\x00" - 203 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0074\x0061\x0067\x0020\x006E\x0061\x006D\x0065\x002C\x0020\x0063\x006F\x006D\x006D\x0065\x006E\x0074\x002C\x0020\x0050\x0049\x002C\x0020\x006F\x0072\x0020\x006F\x0074\x0068\x0065\x0072\x0020\x006D\x0061\x0072\x006B\x0075\x0070\x00" - 204 L"\x004E\x006F\x0074\x0020\x0076\x0061\x006C\x0069\x0064\x0020\x0061\x0066\x0074\x0065\x0072\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x00" - 205 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0063\x006F\x006D\x006D\x0065\x006E\x0074\x00" - 206 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0063\x006F\x006D\x006D\x0065\x006E\x0074\x0020\x006F\x0072\x0020\x0070\x0072\x006F\x0063\x0065\x0073\x0073\x0069\x006E\x0067\x0020\x0069\x006E\x0073\x0074\x0072\x0075\x0063\x0074\x0069\x006F\x006E\x00" - 207 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0077\x0068\x0069\x0074\x0065\x0073\x0070\x0061\x0063\x0065\x00" - 208 L"\x004E\x006F\x0020\x0072\x006F\x006F\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x006E\x0020\x0044\x004F\x0043\x0054\x0059\x0050\x0045\x00" - 209 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0071\x0075\x006F\x0074\x0065\x0064\x0020\x0073\x0074\x0072\x0069\x006E\x0067\x00" - 210 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0070\x0075\x0062\x006C\x0069\x0063\x0020\x0069\x0064\x00" - 211 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0069\x006E\x0020\x0070\x0075\x0062\x006C\x0069\x0063\x0020\x0069\x0064\x0020\x0028\x0055\x006E\x0069\x0063\x006F\x0064\x0065\x003A\x0020\x0030\x0078\x007B\x0030\x007D\x0029\x00" - 212 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0044\x004F\x0043\x0054\x0059\x0050\x0045\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00" - 213 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0069\x006E\x0020\x0069\x006E\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0073\x0075\x0062\x0073\x0065\x0074\x0020\x0028\x0055\x006E\x0069\x0063\x006F\x0064\x0065\x003A\x0020\x0030\x0078\x007B\x0030\x007D\x0029\x00" - 214 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0043\x0044\x0041\x0054\x0041\x0020\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x00" - 215 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0069\x006E\x0069\x0074\x0069\x0061\x006C\x0020\x006E\x0061\x006D\x0065\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00" - 216 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x006E\x0061\x006D\x0065\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00" - 217 L"\x0055\x006E\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0077\x0068\x0069\x0074\x0065\x0073\x0070\x0061\x0063\x0065\x00" - 218 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0069\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x007B\x0030\x007D\x0020\x0028\x0055\x006E\x0069\x0063\x006F\x0064\x0065\x003A\x0020\x0030\x0078\x007B\x0031\x007D\x0029\x00" - 219 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0020\x006D\x0061\x0072\x006B\x0075\x0070\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00" - 220 L"\x0054\x0065\x0078\x0074\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x006E\x006F\x0074\x0020\x006C\x0065\x0067\x0061\x006C\x0020\x0068\x0065\x0072\x0065\x00" - 221 L"\x0043\x006F\x006E\x0064\x0069\x0074\x0069\x006F\x006E\x0061\x006C\x0020\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x0020\x0069\x006E\x0020\x0069\x006E\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0073\x0075\x0062\x0073\x0065\x0074\x00" - 222 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0070\x0061\x0072\x0061\x006D\x0065\x0074\x0065\x0072\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x006E\x0061\x006D\x0065\x00" - 223 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x00" - 224 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x00" - 225 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x00" - 226 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x006E\x0061\x006D\x0065\x0020\x0066\x006F\x0072\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x00" - 227 L"\x0045\x006E\x0074\x0069\x0074\x0079\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0077\x0061\x0073\x0020\x006E\x006F\x0074\x0020\x0066\x006F\x0075\x006E\x0064\x00" - 228 L"\x0055\x006E\x0070\x0061\x0072\x0073\x0065\x0064\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0073\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x002C\x0020\x006E\x006F\x0074\x0020\x0076\x0061\x006C\x0069\x0064\x0020\x0068\x0065\x0072\x0065\x00" - 229 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x00" - 230 L"\x0052\x0065\x0063\x0075\x0072\x0073\x0069\x0076\x0065\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0065\x0078\x0070\x0061\x006E\x0073\x0069\x006F\x006E\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x00" - 231 L"\x0050\x0061\x0072\x0074\x0069\x0061\x006C\x0020\x006D\x0061\x0072\x006B\x0075\x0070\x0020\x0069\x006E\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0076\x0061\x006C\x0075\x0065\x00" - 232 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x00" - 233 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0073\x0070\x0065\x0063\x0069\x0066\x0069\x0063\x0061\x0074\x0069\x006F\x006E\x0020\x0065\x0078\x0070\x0072\x0065\x0073\x0073\x0069\x006F\x006E\x0020\x0066\x006F\x0072\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x00" - 234 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0073\x0074\x0065\x0072\x0069\x0073\x006B\x00" - 235 L"\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0061\x0020\x006D\x0069\x0078\x0065\x0064\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x0020\x0074\x0068\x0061\x0074\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0070\x0072\x006F\x0070\x0065\x0072\x006C\x0079\x002E\x00" - 236 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0073\x0079\x0073\x0074\x0065\x006D\x0020\x0069\x0064\x00" - 237 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0073\x0079\x0073\x0074\x0065\x006D\x0020\x006F\x0072\x0020\x0070\x0075\x0062\x006C\x0069\x0063\x0020\x0069\x0064\x00" - 238 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00" - 239 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0027\x002C\x0027\x002C\x0020\x0027\x007C\x0027\x002C\x0020\x006F\x0072\x0020\x0027\x0029\x0027\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0073\x00" - 240 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0027\x007C\x0027\x0020\x006F\x0072\x0020\x0027\x0029\x0027\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0073\x00" - 241 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0027\x002C\x0027\x0020\x006F\x0072\x0020\x0027\x0029\x0027\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0073\x0020\x006F\x0072\x0020\x0063\x006C\x006F\x0073\x0065\x0020\x0070\x0061\x0072\x0065\x006E\x0074\x0068\x0065\x0073\x0069\x0073\x0020\x0069\x006E\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x0020\x006F\x0066\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x00" - 242 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0065\x006E\x0075\x006D\x0065\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0066\x006F\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x00" - 243 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x007C\x0020\x0065\x006E\x0075\x006D\x0065\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0073\x0065\x0070\x0061\x0072\x0061\x0074\x006F\x0072\x002C\x0020\x006F\x0072\x0020\x0063\x006C\x006F\x0073\x0069\x006E\x0067\x0020\x0070\x0061\x0072\x0065\x006E\x00" - 244 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x006C\x0069\x0074\x0065\x0072\x0061\x006C\x00" - 245 L"\x0054\x0068\x0065\x0072\x0065\x0020\x0061\x0072\x0065\x0020\x006D\x006F\x0072\x0065\x0020\x0065\x006E\x0064\x0020\x0074\x0061\x0067\x0073\x0020\x0074\x0068\x0061\x006E\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0074\x0061\x0067\x0073\x00" - 246 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x006E\x0020\x006F\x0070\x0065\x006E\x0020\x0070\x0061\x0072\x0065\x006E\x0074\x0068\x0065\x0073\x0069\x0073\x00" - 247 L"\x0054\x0068\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0075\x0073\x0065\x0064\x0020\x0069\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0031\x007D\x0027\x00" - 248 L"\x0041\x0020\x0027\x003C\x0027\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0075\x0073\x0065\x0064\x0020\x0069\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x002C\x0020\x0065\x0078\x0063\x0065\x0070\x0074\x0020\x0074\x0068\x0072\x006F\x0075\x0067\x0068\x0020\x0026\x006C\x0074\x003B\x00" - 249 L"\x0041\x0020\x006C\x0065\x0061\x0064\x0069\x006E\x0067\x0020\x0073\x0075\x0072\x0072\x006F\x0067\x0061\x0074\x0065\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0077\x0061\x0073\x0020\x006E\x006F\x0074\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0062\x0079\x0020\x0061\x0020\x006C\x0065\x0067\x0061\x006C\x0020\x0073\x0065\x0063\x006F\x006E\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00" - 250 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0027\x005D\x005D\x003E\x0027\x0020\x0074\x006F\x0020\x0065\x006E\x0064\x0020\x0061\x0020\x0063\x006F\x006E\x0064\x0069\x0074\x0069\x006F\x006E\x0061\x006C\x0020\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x00" - 251 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0049\x004E\x0043\x004C\x0055\x0044\x0045\x0020\x006F\x0072\x0020\x0049\x0047\x004E\x004F\x0052\x0045\x0020\x0068\x0065\x0072\x0065\x00" - 252 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x005B\x0020\x0074\x006F\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0020\x0049\x004E\x0043\x004C\x0055\x0044\x0045\x0020\x006F\x0072\x0020\x0049\x0047\x004E\x004F\x0052\x0045\x00" - 253 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0020\x0054\x0065\x0078\x0074\x0044\x0065\x0063\x006C\x0020\x0068\x0065\x0072\x0065\x003A\x0020\x003C\x003F\x0078\x006D\x006C\x0020\x002E\x002E\x002E\x002E\x00" - 254 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0020\x0058\x004D\x004C\x0044\x0065\x0063\x006C\x0020\x0068\x0065\x0072\x0065\x003A\x0020\x003C\x003F\x0078\x006D\x006C\x0020\x002E\x002E\x002E\x002E\x00" - 255 L"\x0055\x006E\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0065\x006E\x0064\x0020\x006F\x0066\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x007B\x0030\x007D\x00" - 256 L"\x0041\x0020\x0050\x0045\x0020\x0070\x0072\x006F\x0070\x0061\x0067\x0061\x0074\x0065\x0064\x0020\x006F\x0075\x0074\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0069\x006E\x0074\x002F\x0065\x0078\x0074\x0020\x0073\x0075\x0062\x0073\x0065\x0074\x002C\x0020\x0064\x0069\x0073\x0063\x0061\x0072\x0064\x0069\x006E\x0067\x0020\x0065\x0078\x0074\x0072\x0061\x0020\x0074\x0065\x0078\x0074\x00" - 257 L"\x0041\x006E\x0020\x0065\x0078\x0074\x0072\x0061\x0020\x005D\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0077\x0061\x0073\x0020\x0066\x006F\x0075\x006E\x0064\x0020\x0061\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" - 258 L"\x0050\x0045\x0020\x0072\x0065\x0066\x0073\x0020\x0061\x0072\x0065\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0069\x006E\x0073\x0069\x0064\x0065\x0020\x006D\x0061\x0072\x006B\x0075\x0070\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0069\x006E\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0073\x0075\x0062\x0073\x0065\x0074\x00" - 259 L"\x0041\x006E\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0070\x0072\x006F\x0070\x0061\x0067\x0061\x0074\x0065\x0064\x0020\x006F\x0075\x0074\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x0020\x0069\x006E\x0074\x006F\x0020\x004D\x0069\x0073\x0063\x0065\x006C\x006C\x0061\x006E\x0065\x006F\x0075\x0073\x00" - 260 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0026\x0023\x0020\x0074\x006F\x0020\x0062\x0065\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0062\x0079\x0020\x0061\x0020\x006E\x0075\x006D\x0065\x0072\x0069\x0063\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0076\x0061\x006C\x0075\x0065\x00" - 261 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x006E\x0020\x006F\x0070\x0065\x006E\x0020\x0062\x0072\x0061\x0063\x006B\x0065\x0074\x0020\x0028\x0027\x005B\x0027\x0029\x0020\x0068\x0065\x0072\x0065\x00" - 262 L"\x0054\x0068\x0065\x0020\x0073\x0065\x0071\x0075\x0065\x006E\x0063\x0065\x0020\x0027\x005D\x005D\x003E\x0027\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0069\x006E\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0064\x0061\x0074\x0061\x00" - 263 L"\x0049\x006C\x006C\x0065\x0067\x0061\x006C\x0020\x0073\x0065\x0071\x0075\x0065\x006E\x0063\x0065\x0020\x0027\x002D\x002D\x0027\x0020\x0069\x006E\x0020\x0063\x006F\x006D\x006D\x0065\x006E\x0074\x00" - 264 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0043\x0044\x0041\x0054\x0041\x0020\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x00" - 265 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x004E\x0044\x0041\x0054\x0041\x00" - 266 L"\x004E\x0044\x0041\x0054\x0041\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x006C\x0065\x0067\x0061\x006C\x0020\x0066\x006F\x0072\x0020\x0070\x0061\x0072\x0061\x006D\x0065\x0074\x0065\x0072\x0020\x0065\x006E\x0074\x0069\x0074\x0069\x0065\x0073\x00" - 267 L"\x0048\x0065\x0078\x0020\x0072\x0061\x0064\x0069\x0078\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0072\x0065\x0066\x0073\x0020\x006D\x0075\x0073\x0074\x0020\x0075\x0073\x0065\x0020\x0027\x0078\x0027\x002C\x0020\x006E\x006F\x0074\x0020\x0027\x0058\x0027\x00" - 268 L"\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0062\x0065\x0065\x006E\x0020\x0073\x0065\x0074\x002E\x0020\x0049\x0067\x006E\x006F\x0072\x0069\x006E\x0067\x0020\x0072\x0065\x0064\x0075\x006E\x0064\x0061\x006E\x0074\x0020\x0073\x0065\x0074\x0074\x0069\x006E\x0067\x00" - 269 L"\x0054\x0068\x0065\x0020\x0058\x004D\x004C\x0044\x0065\x0063\x006C\x0020\x0073\x0074\x0072\x0069\x006E\x0067\x0073\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x006F\x0072\x0064\x0065\x0072\x003A\x0020\x0076\x0065\x0072\x0073\x0069\x006F\x006E\x002C\x0020\x0065\x006E\x0063\x006F\x0064\x0069\x006E\x0067\x002C\x0020\x0073\x0074\x0061\x006E\x0064\x0061\x006C\x006F\x006E\x0065\x00" - 270 L"\x0045\x0078\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0065\x006E\x0074\x0069\x0074\x0069\x0065\x0073\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0072\x0065\x0066\x0065\x0072\x0072\x0065\x0064\x0020\x0074\x006F\x0020\x0066\x0072\x006F\x006D\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0073\x00" - 271 L"\x0054\x0068\x0065\x0020\x0058\x004D\x004C\x0020\x006F\x0072\x0020\x0054\x0065\x0078\x0074\x0020\x0064\x0065\x0063\x006C\x0020\x006D\x0075\x0073\x0074\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0077\x0069\x0074\x0068\x0020\x0027\x003C\x003F\x0078\x006D\x006C\x0020\x0027\x002C\x0020\x006E\x006F\x0074\x0020\x0027\x003C\x003F\x0058\x004D\x004C\x0020\x0027\x00" - 272 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0020\x006C\x0069\x0074\x0065\x0072\x0061\x006C\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x006F\x0072\x0020\x0050\x0055\x0042\x004C\x0049\x0043\x002F\x0053\x0059\x0053\x0054\x0045\x004D\x0020\x0069\x0064\x00" - 273 L"\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x0020\x0076\x0061\x006C\x0069\x0064\x0020\x0064\x0069\x0067\x0069\x0074\x0020\x0066\x006F\x0072\x0020\x0074\x0068\x0065\x0020\x0069\x006E\x0064\x0069\x0063\x0061\x0074\x0065\x0064\x0020\x0072\x0061\x0064\x0069\x0078\x00" - 274 L"\x0054\x0068\x0065\x0020\x0069\x006E\x0070\x0075\x0074\x0020\x0065\x006E\x0064\x0065\x0064\x0020\x0062\x0065\x0066\x006F\x0072\x0065\x0020\x0061\x006C\x006C\x0020\x0073\x0074\x0061\x0072\x0074\x0065\x0064\x0020\x0074\x0061\x0067\x0073\x0020\x0077\x0065\x0072\x0065\x0020\x0065\x006E\x0064\x0065\x0064\x002E\x0020\x004C\x0061\x0073\x0074\x0020\x0074\x0061\x0067\x0020\x0073\x0074\x0061\x0072\x0074\x0065\x0064\x0020\x0077\x0061\x0073\x0020\x0027\x007B\x0030\x007D\x0027\x00" - 275 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x0020\x0066\x006F\x0072\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0061\x006D\x0062\x0069\x0067\x0075\x006F\x0075\x0073\x00" - 276 L"\x004E\x0065\x0073\x0074\x0065\x0064\x0020\x0043\x0044\x0041\x0054\x0041\x0020\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x0073\x0020\x0061\x0072\x0065\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x00" - 277 L"\x0054\x0068\x0065\x0020\x0070\x0072\x0065\x0066\x0069\x0078\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x006E\x006F\x0074\x0020\x0062\x0065\x0065\x006E\x0020\x006D\x0061\x0070\x0070\x0065\x0064\x0020\x0074\x006F\x0020\x0061\x006E\x0079\x0020\x0055\x0052\x0049\x00" - 278 L"\x0054\x0068\x0065\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0061\x006E\x0064\x0020\x0074\x0068\x0065\x0020\x0065\x006E\x0064\x0020\x0074\x0061\x0067\x0020\x0077\x0065\x0072\x0065\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0064\x0069\x0066\x0066\x0065\x0072\x0065\x006E\x0074\x0020\x0065\x006E\x0074\x0069\x0074\x0069\x0065\x0073\x00" - 279 L"\x0054\x0068\x0065\x0020\x006D\x0061\x0069\x006E\x0020\x0058\x004D\x004C\x0020\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0065\x006D\x0070\x0074\x0079\x00" - 280 L"\x0043\x0044\x0041\x0054\x0041\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x006F\x0075\x0074\x0073\x0069\x0064\x0065\x0020\x0074\x0068\x0065\x0020\x0072\x006F\x006F\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x00" - 281 L"\x004F\x006E\x006C\x0079\x0020\x006E\x0075\x006D\x0065\x0072\x0069\x0063\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0065\x006E\x0074\x0069\x0074\x0069\x0065\x0073\x0020\x006F\x0072\x0020\x0073\x0070\x0065\x0063\x0069\x0061\x006C\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0065\x006E\x0074\x0069\x0074\x0069\x0065\x0073\x0020\x0061\x0072\x0065\x0020\x006C\x0065\x0067\x0061\x006C\x0020\x0068\x0065\x0072\x0065\x00" - 282 L"\x0047\x006F\x0074\x0020\x0061\x006E\x0020\x0075\x006E\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0074\x0072\x0061\x0069\x006C\x0069\x006E\x0067\x0020\x0073\x0075\x0072\x0072\x006F\x0067\x0061\x0074\x0065\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00" - 283 L"\x004E\x006F\x0020\x0070\x0072\x006F\x0063\x0065\x0073\x0073\x0069\x006E\x0067\x0020\x0069\x006E\x0073\x0074\x0072\x0075\x0063\x0074\x0069\x006F\x006E\x0020\x0073\x0074\x0061\x0072\x0074\x0073\x0020\x0077\x0069\x0074\x0068\x0020\x0027\x0078\x006D\x006C\x0027\x00" - 284 L"\x0054\x0068\x0065\x0020\x0058\x004D\x004C\x0020\x006F\x0072\x0020\x0054\x0065\x0078\x0074\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x006D\x0075\x0073\x0074\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0061\x0074\x0020\x006C\x0069\x006E\x0065\x002F\x0063\x006F\x006C\x0075\x006D\x006E\x0020\x0031\x002F\x0031\x00" - 285 L"\x0054\x0068\x0065\x0020\x0027\x0076\x0065\x0072\x0073\x0069\x006F\x006E\x003D\x0027\x0020\x0073\x0074\x0072\x0069\x006E\x0067\x0020\x0069\x0073\x0020\x0072\x0065\x0071\x0075\x0069\x0072\x0065\x0064\x0020\x0069\x006E\x0020\x0061\x006E\x0020\x0058\x004D\x004C\x0044\x0065\x0063\x006C\x00" - 286 L"\x0054\x0068\x0065\x0020\x0027\x0073\x0074\x0061\x006E\x0064\x0061\x006C\x006F\x006E\x0065\x003D\x0027\x0020\x0073\x0074\x0072\x0069\x006E\x0067\x0020\x0069\x0073\x0020\x006F\x006E\x006C\x0079\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x006D\x0061\x0069\x006E\x0020\x0058\x004D\x004C\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x00" - 287 L"\x0054\x0068\x0065\x0020\x0027\x0065\x006E\x0063\x006F\x0064\x0069\x006E\x0067\x003D\x0027\x0020\x0073\x0074\x0072\x0069\x006E\x0067\x0020\x0069\x0073\x0020\x0072\x0065\x0071\x0075\x0069\x0072\x0065\x0064\x0020\x0069\x006E\x0020\x0061\x006E\x0020\x0054\x0065\x0078\x0074\x0020\x0044\x0065\x0063\x006C\x00" - 288 L"\x0057\x0068\x0065\x006E\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0073\x0020\x0061\x0072\x0065\x0020\x0065\x006E\x0061\x0062\x006C\x0065\x0064\x002C\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x0063\x0061\x006E\x0020\x0068\x0061\x0076\x0065\x0020\x006F\x006E\x006C\x0079\x0020\x006F\x006E\x0065\x0020\x0063\x006F\x006C\x006F\x006E\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00" - 289 L"\x0057\x0068\x0065\x006E\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0073\x0020\x0061\x0072\x0065\x0020\x0065\x006E\x0061\x0062\x006C\x0065\x0064\x002C\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006C\x006F\x006E\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0074\x0068\x0065\x0020\x0066\x0069\x0072\x0073\x0074\x0020\x006F\x0072\x0020\x006C\x0061\x0073\x0074\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00" - 290 L"\x0043\x006F\x006C\x006F\x006E\x0073\x0020\x0061\x0072\x0065\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0069\x0073\x0020\x006E\x0061\x006D\x0065\x0020\x0077\x0068\x0065\x006E\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0073\x0020\x0061\x0072\x0065\x0020\x0065\x006E\x0061\x0062\x006C\x0065\x0064\x00" - 291 L"\x0041\x0020\x0073\x0079\x0073\x0074\x0065\x006D\x0020\x0065\x0078\x0063\x0065\x0070\x0074\x0069\x006F\x006E\x0020\x006F\x0063\x0063\x0075\x0072\x0072\x0065\x0064\x0020\x0064\x0075\x0072\x0069\x006E\x0067\x0020\x0070\x0072\x006F\x0063\x0065\x0073\x0073\x0069\x006E\x0067\x00" - 292 L"\x0041\x006E\x0020\x0065\x0078\x0063\x0065\x0070\x0074\x0069\x006F\x006E\x0020\x006F\x0063\x0063\x0075\x0072\x0072\x0065\x0064\x0021\x0020\x0054\x0079\x0070\x0065\x003A\x007B\x0030\x007D\x002C\x0020\x004D\x0065\x0073\x0073\x0061\x0067\x0065\x003A\x007B\x0031\x007D\x00" - 293 L"\x0055\x006E\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0065\x006E\x0064\x0020\x006F\x0066\x0020\x0066\x0069\x006C\x0065\x0020\x0065\x0078\x0063\x0065\x0070\x0074\x0069\x006F\x006E\x002E\x0020\x004D\x0065\x0073\x0073\x0061\x0067\x0065\x003A\x0020\x007B\x0030\x007D\x00" - 294 L"\x0055\x006E\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0045\x0072\x0072\x006F\x0072\x00" - 295 L"\x0054\x0068\x0065\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x004C\x006F\x0063\x0061\x0074\x0069\x006F\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0064\x006F\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0020\x0070\x0061\x0069\x0072\x0073\x0020\x006F\x0066\x0020\x0076\x0061\x006C\x0075\x0065\x0073\x002E\x00" - 296 L"\x0049\x006E\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0065\x0072\x0072\x006F\x0072\x003A\x0020\x0064\x006F\x006E\x0027\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x0047\x0072\x0061\x006D\x006D\x0061\x0072\x0052\x0065\x0073\x006F\x006C\x0076\x0065\x0072\x0020\x0066\x006F\x0072\x0020\x0054\x0072\x0061\x0076\x0065\x0072\x0073\x0065\x0053\x0063\x0068\x0065\x006D\x0061\x00" - 297 L"\x0046\x0061\x0074\x0061\x006C\x0020\x0065\x0072\x0072\x006F\x0072\x0020\x0065\x006E\x0063\x006F\x0075\x006E\x0074\x0065\x0072\x0065\x0064\x0020\x0064\x0075\x0072\x0069\x006E\x0067\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x0020\x0073\x0063\x0061\x006E\x00" - 298 L"\x0052\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0020\x0074\x006F\x0020\x0065\x0078\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0069\x006E\x0020\x0061\x0020\x0073\x0074\x0061\x006E\x0064\x0061\x006C\x006F\x006E\x0065\x0020\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x002E\x00" - 299 L"\x0050\x0061\x0072\x0074\x0069\x0061\x006C\x0020\x006D\x0061\x0072\x006B\x0075\x0070\x0020\x0069\x006E\x0020\x0070\x0061\x0072\x0061\x006D\x0065\x0074\x0065\x0072\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0072\x0065\x0070\x006C\x0061\x0063\x0065\x006D\x0065\x006E\x0074\x0020\x0074\x0065\x0078\x0074\x0020\x0069\x006E\x0020\x0061\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0074\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x002E\x00" - 300 L"\x0054\x0068\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x002E\x0020\x0050\x0072\x0065\x0066\x0069\x0078\x0065\x0064\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0062\x0069\x006E\x0064\x0069\x006E\x0067\x0073\x0020\x006D\x0061\x0079\x0020\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0065\x006D\x0070\x0074\x0079\x002E\x00" - 301 L"\x0054\x0068\x0065\x0020\x0070\x0072\x0065\x0066\x0069\x0078\x0020\x0027\x0078\x006D\x006C\x006E\x0073\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0062\x006F\x0075\x006E\x0064\x0020\x0074\x006F\x0020\x0061\x006E\x0079\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0065\x0078\x0070\x006C\x0069\x0063\x0069\x0074\x006C\x0079\x002E\x00" - 302 L"\x0054\x0068\x0065\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0066\x006F\x0072\x0020\x0027\x0078\x006D\x006C\x006E\x0073\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0062\x006F\x0075\x006E\x0064\x0020\x0074\x006F\x0020\x0061\x006E\x0079\x0020\x0070\x0072\x0065\x0066\x0069\x0078\x0020\x0065\x0078\x0070\x006C\x0069\x0063\x0069\x0074\x006C\x0079\x002E\x00" - 303 L"\x0054\x0068\x0065\x0020\x0070\x0072\x0065\x0066\x0069\x0078\x0020\x0027\x0078\x006D\x006C\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0062\x006F\x0075\x006E\x0064\x0020\x0074\x006F\x0020\x0061\x006E\x0079\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x006F\x0074\x0068\x0065\x0072\x0020\x0074\x0068\x0061\x006E\x0020\x0069\x0074\x0073\x0020\x0075\x0073\x0075\x0061\x006C\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x002E\x00" - 304 L"\x0054\x0068\x0065\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0066\x006F\x0072\x0020\x0027\x0078\x006D\x006C\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0062\x006F\x0075\x006E\x0064\x0020\x0074\x006F\x0020\x0061\x006E\x0079\x0020\x0070\x0072\x0065\x0066\x0069\x0078\x0020\x006F\x0074\x0068\x0065\x0072\x0020\x0074\x0068\x0061\x006E\x0020\x0027\x0078\x006D\x006C\x0027\x002E\x00" - 305 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0027\x0078\x006D\x006C\x006E\x0073\x0027\x0020\x0061\x0073\x0020\x0069\x0074\x0073\x0020\x0070\x0072\x0065\x0066\x0069\x0078\x002E\x00" - 306 L"\x0043\x006F\x006D\x0070\x006C\x0065\x0078\x0020\x0054\x0079\x0070\x0065\x0020\x0044\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x0020\x0052\x0065\x0070\x0072\x0065\x0073\x0065\x006E\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x004F\x004B\x0020\x002D\x0020\x0032\x002E\x0032\x003A\x0020\x003C\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x003E\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x003C\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x003E\x0020\x0063\x0068\x0069\x006C\x0064\x002E\x00" - 307 L"\x0044\x004F\x0043\x0054\x0059\x0050\x0045\x0020\x0072\x006F\x006F\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0071\x006E\x0061\x006D\x0065\x0020\x0062\x0065\x0067\x0069\x006E\x006E\x0069\x006E\x0067\x0020\x0077\x0069\x0074\x0068\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x00" - 308 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0071\x006E\x0061\x006D\x0065\x0020\x0062\x0065\x0067\x0069\x006E\x006E\x0069\x006E\x0067\x0020\x0077\x0069\x0074\x0068\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x00" - 309 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0071\x006E\x0061\x006D\x0065\x0020\x0062\x0065\x0067\x0069\x006E\x006E\x0069\x006E\x0067\x0020\x0077\x0069\x0074\x0068\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x00" - 310 L"\x0045\x006E\x0074\x0069\x0074\x0079\x0020\x0071\x006E\x0061\x006D\x0065\x0020\x0066\x006F\x0072\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0020\x0062\x0065\x0067\x0069\x006E\x006E\x0069\x006E\x0067\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x00" - 311 L"\x0041\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0073\x0065\x0065\x006E\x0020\x0064\x006F\x0063\x0074\x0079\x0070\x0065\x00" + 8 L"\x0045\x0072\x0072\x006F\x0072\x0020\x006F\x0063\x0063\x0075\x0072\x0072\x0065\x0064\x0020\x0069\x006E\x0063\x006C\x0075\x0064\x0069\x006E\x0067\x0020\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 9 L"\x0043\x0061\x006E\x006E\x006F\x0074\x0020\x006F\x0070\x0065\x006E\x0020\x0074\x0065\x0078\x0074\x0020\x0066\x0069\x006C\x0065\x0020\x0074\x0061\x0072\x0067\x0065\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 10 L"\x0049\x006E\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0065\x0072\x0072\x006F\x0072\x0020\x0069\x006E\x0063\x006C\x0075\x0064\x0069\x006E\x0067\x0020\x0074\x0065\x0078\x0074\x0020\x0066\x0069\x006C\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 11 L"\x0055\x006E\x0061\x0062\x006C\x0065\x0020\x0074\x006F\x0020\x0069\x006E\x0063\x006C\x0075\x0064\x0065\x0020\x0072\x0065\x0073\x006F\x0075\x0072\x0063\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 14 L"\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0066\x006F\x0072\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x0061\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x002E\x0020\x0020\x004F\x006E\x006C\x0079\x0020\x006C\x0069\x0073\x0074\x002C\x0020\x0075\x006E\x0069\x006F\x006E\x0020\x0061\x006E\x0064\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x0061\x0072\x0065\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x002E\x00" + 15 L"\x0045\x0072\x0072\x006F\x0072\x003A\x0020\x0054\x006F\x0070\x0020\x006C\x0065\x0076\x0065\x006C\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x0020\x0068\x0061\x0073\x0020\x006E\x006F\x0020\x006E\x0061\x006D\x0065\x0020\x002D\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" + 16 L"\x0047\x006C\x006F\x0062\x0061\x006C\x006C\x0079\x002D\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x002D\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" + 17 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x006F\x0072\x0020\x0061\x0020\x0072\x0065\x0066\x0020\x002D\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" + 18 L"\x0047\x006C\x006F\x0062\x0061\x006C\x006C\x0079\x002D\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x002D\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" + 19 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x006F\x0072\x0020\x0061\x0020\x0072\x0065\x0066\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x002D\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" + 20 L"\x003C\x0067\x0072\x006F\x0075\x0070\x003E\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x006F\x0072\x0020\x0061\x0020\x0072\x0065\x0066\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x002D\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" + 21 L"\x003C\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0047\x0072\x006F\x0075\x0070\x003E\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x006F\x0072\x0020\x0061\x0020\x0072\x0065\x0066\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x002D\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" + 22 L"\x0041\x006E\x006F\x006E\x0079\x006D\x006F\x0075\x0073\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x0020\x0069\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x007B\x0030\x007D\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x00" + 23 L"\x0041\x006E\x006F\x006E\x0079\x006D\x006F\x0075\x0073\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x0069\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x007B\x0030\x007D\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x00" + 24 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x0061\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x006E\x0066\x006F\x0072\x006D\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0074\x0065\x006D\x0020\x0064\x006F\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x006D\x0061\x0074\x0063\x0068\x0020\x0028\x0061\x006E\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x003F\x002C\x0020\x0028\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x007C\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x0029\x003F\x002C\x0020\x0028\x0075\x006E\x0069\x0071\x0075\x0065\x0020\x007C\x0020\x006B\x0065\x0079\x0020\x007C\x0020\x006B\x0065\x0079\x0072\x0065\x0066\x0029\x002A\x0029\x00" + 25 L"\x0055\x006E\x0074\x0079\x0070\x0065\x0064\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x003A\x0020\x007B\x0030\x007D\x00" + 26 L"\x0045\x0072\x0072\x006F\x0072\x0020\x0069\x006E\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x002E\x0020\x0020\x004F\x006E\x006C\x0079\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x006F\x006E\x0065\x0020\x006F\x0066\x0020\x0028\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x007C\x0020\x006C\x0069\x0073\x0074\x0020\x007C\x0020\x0075\x006E\x0069\x006F\x006E\x0029\x002E\x00" + 27 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x0069\x006E\x0020\x0027\x006C\x0069\x0073\x0074\x0027\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0066\x006F\x0072\x0020\x007B\x0030\x007D\x00" + 28 L"\x004C\x0069\x0073\x0074\x0020\x007C\x0020\x0055\x006E\x0069\x006F\x006E\x0020\x007C\x0020\x0052\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0069\x0073\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0066\x006F\x0072\x0020\x0074\x0079\x0070\x0065\x0020\x007B\x0030\x007D\x00" + 29 L"\x0045\x0072\x0072\x006F\x0072\x0020\x0069\x006E\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x0064\x0065\x0072\x0069\x0076\x0061\x0074\x0069\x006F\x006E\x0020\x0062\x0079\x0020\x006C\x0069\x0073\x0074\x0020\x0066\x006F\x0072\x0020\x007B\x0030\x007D\x00" + 30 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x0069\x006E\x0020\x0027\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0027\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0066\x006F\x0072\x0020\x007B\x0030\x007D\x00" + 31 L"\x0046\x0061\x0063\x0065\x0074\x0020\x007B\x0030\x007D\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x0020\x002D\x0020\x0069\x0067\x006E\x006F\x0072\x0069\x006E\x0067\x00" + 32 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x0069\x006E\x0020\x0027\x0075\x006E\x0069\x006F\x006E\x0027\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0066\x006F\x0072\x0020\x007B\x0030\x007D\x00" + 33 L"\x0053\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0069\x0073\x0020\x0065\x006D\x0070\x0074\x0079\x00" + 34 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x0073\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x002E\x0020\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0052\x0045\x0053\x0054\x0052\x0049\x0043\x0054\x0049\x004F\x004E\x0020\x006F\x0072\x0020\x0045\x0058\x0054\x0045\x004E\x0053\x0049\x004F\x004E\x00" + 35 L"\x0054\x0068\x0065\x0020\x0042\x0041\x0053\x0045\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0073\x0070\x0065\x0063\x0069\x0066\x0069\x0065\x0064\x0020\x0066\x006F\x0072\x0020\x0074\x0068\x0065\x0020\x0052\x0045\x0053\x0054\x0052\x0049\x0043\x0054\x0049\x004F\x004E\x0020\x006F\x0072\x0020\x0045\x0058\x0054\x0045\x004E\x0053\x0049\x004F\x004E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x00" + 36 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x0073\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x002E\x0020\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0052\x0045\x0053\x0054\x0052\x0049\x0043\x0054\x0049\x004F\x004E\x0020\x006F\x0072\x0020\x0045\x0058\x0054\x0045\x004E\x0053\x0049\x004F\x004E\x00" + 37 L"\x0045\x0072\x0072\x006F\x0072\x0020\x0069\x006E\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x003C\x0073\x0063\x0068\x0065\x006D\x0061\x003E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x006E\x0066\x006F\x0072\x006D\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0074\x0065\x006D\x00" + 38 L"\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0028\x0061\x006E\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x003F\x002C\x002E\x002E\x0029\x0020\x0069\x0073\x0020\x0069\x006E\x0063\x006F\x0072\x0072\x0065\x0063\x0074\x0020\x0066\x006F\x0072\x0020\x0074\x0079\x0070\x0065\x0020\x007B\x0030\x007D\x00" + 39 L"\x0055\x006E\x006B\x006E\x006F\x0077\x006E\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x003A\x0020\x007B\x0030\x007D\x00" + 40 L"\x0055\x006E\x006B\x006E\x006F\x0077\x006E\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x003A\x0020\x007B\x0030\x007D\x00" + 41 L"\x0050\x0072\x0065\x0066\x0069\x0078\x003A\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0063\x0061\x006E\x0020\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0072\x0065\x0073\x006F\x006C\x0076\x0065\x0064\x0020\x0074\x006F\x0020\x0061\x0020\x0055\x0052\x0049\x00" + 42 L"\x0052\x0065\x0066\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x007B\x0030\x007D\x0020\x006E\x006F\x0074\x0020\x0066\x006F\x0075\x006E\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0053\x0063\x0068\x0065\x006D\x0061\x00" + 43 L"\x0054\x0079\x0070\x0065\x0020\x006E\x006F\x0074\x0020\x0066\x006F\x0075\x006E\x0064\x0020\x0069\x006E\x0020\x007B\x0030\x007D\x003A\x007B\x0031\x007D\x00" + 44 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0066\x0069\x006E\x0064\x0020\x0074\x006F\x0070\x0020\x006C\x0065\x0076\x0065\x006C\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x003A\x0020\x007B\x0030\x007D\x00" + 45 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0020\x0074\x0079\x0070\x0065\x00" + 46 L"\x0042\x0061\x0073\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0063\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0066\x006F\x0075\x006E\x0064\x003A\x0020\x007B\x0030\x007D\x00" + 47 L"\x004E\x006F\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0077\x0061\x0073\x0020\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x0020\x0069\x006E\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x003A\x0020\x007B\x0031\x007D\x00" + 48 L"\x0045\x0072\x0072\x006F\x0072\x0020\x0063\x0072\x0065\x0061\x0074\x0069\x006E\x0067\x0020\x0064\x0061\x0074\x0061\x0074\x0079\x0070\x0065\x0020\x0076\x0061\x006C\x0069\x0064\x0061\x0074\x006F\x0072\x003A\x0020\x007B\x0030\x007D\x00" + 49 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0069\x006E\x0067\x0020\x0074\x0068\x0065\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x00" + 50 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0069\x006E\x0067\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x00" + 51 L"\x0054\x0068\x0065\x0020\x0027\x0062\x006C\x006F\x0063\x006B\x0027\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0073\x0020\x006F\x0066\x0020\x0061\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0023\x0061\x006C\x006C\x0020\x007C\x0020\x006C\x0069\x0073\x0074\x0028\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x002C\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0029\x003B\x0020\x007B\x0030\x007D\x0020\x0077\x0061\x0073\x0020\x0066\x006F\x0075\x006E\x0064\x00" + 52 L"\x0054\x0068\x0065\x0020\x0027\x0066\x0069\x006E\x0061\x006C\x0027\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0073\x0020\x006F\x0066\x0020\x0061\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0023\x0061\x006C\x006C\x0020\x007C\x0020\x006C\x0069\x0073\x0074\x0028\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x002C\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0029\x003B\x0020\x007B\x0030\x007D\x0020\x0077\x0061\x0073\x0020\x0066\x006F\x0075\x006E\x0064\x00" + 53 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x003D\x007B\x0031\x007D\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0062\x006F\x0074\x0068\x0020\x0027\x0066\x0069\x0078\x0065\x0064\x0027\x0020\x0061\x006E\x0064\x0020\x0027\x0064\x0065\x0066\x0061\x0075\x006C\x0074\x0027\x0020\x0070\x0072\x0065\x0073\x0065\x006E\x0074\x0020\x0061\x0074\x0020\x0074\x0068\x0065\x0020\x0073\x0061\x006D\x0065\x0020\x0074\x0069\x006D\x0065\x002E\x00" + 54 L"\x0046\x006F\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x003D\x007B\x0031\x007D\x0027\x0020\x0064\x0065\x0066\x0061\x0075\x006C\x0074\x0020\x0061\x006E\x0064\x0020\x0075\x0073\x0065\x0020\x0061\x0072\x0065\x0020\x0062\x006F\x0074\x0068\x0020\x0070\x0072\x0065\x0073\x0065\x006E\x0074\x0020\x0073\x006F\x0020\x0075\x0073\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0074\x0068\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0027\x006F\x0070\x0074\x0069\x006F\x006E\x0061\x006C\x0027\x002E\x00" + 55 L"\x004C\x006F\x0063\x0061\x006C\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x003A\x007B\x0030\x007D\x0020\x0068\x0061\x0073\x0020\x0061\x006C\x0073\x006F\x0020\x0061\x0020\x0072\x0065\x0066\x0020\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x0020\x002D\x0020\x006E\x0061\x006D\x0065\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" + 56 L"\x0047\x006C\x006F\x0062\x0061\x006C\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x003A\x0027\x007B\x0030\x007D\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x0072\x0065\x0066\x0020\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x00" + 57 L"\x0045\x0072\x0072\x006F\x0072\x003A\x0020\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x0020\x006D\x006F\x0072\x0065\x0020\x0074\x0068\x0061\x006E\x0020\x006F\x006E\x0063\x0065\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0073\x0061\x006D\x0065\x0020\x0073\x0063\x006F\x0070\x0065\x002D\x0020\x0069\x0067\x006E\x006F\x0072\x0069\x006E\x0067\x00" + 58 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0061\x0079\x0020\x006E\x006F\x0074\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0020\x0062\x006F\x0074\x0068\x0020\x0061\x0020\x0074\x0079\x0070\x0065\x0020\x0061\x006E\x0064\x0020\x0061\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x002E\x00" + 59 L"\x0053\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x0028\x007B\x0030\x007D\x003A\x007B\x0031\x007D\x0029\x0020\x0066\x006F\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x003A\x0020\x007B\x0032\x007D\x0020\x006E\x006F\x0074\x0020\x0066\x006F\x0075\x006E\x0064\x00" + 60 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0062\x006F\x0074\x0068\x0020\x0027\x0066\x0069\x0078\x0065\x0064\x0027\x0020\x0061\x006E\x0064\x0020\x0027\x0064\x0065\x0066\x0061\x0075\x006C\x0074\x0027\x0020\x0070\x0072\x0065\x0073\x0065\x006E\x0074\x0020\x0061\x0074\x0020\x0074\x0068\x0065\x0020\x0073\x0061\x006D\x0065\x0020\x0074\x0069\x006D\x0065\x002E\x00" + 61 L"\x007B\x0030\x007D\x003A\x0027\x007B\x0031\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x006C\x0073\x006F\x0020\x0061\x0020\x0072\x0065\x0066\x0020\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x0020\x002D\x0020\x006E\x0061\x006D\x0065\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" + 62 L"\x0072\x0065\x0066\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0061\x0070\x0070\x0065\x0061\x0072\x0020\x0077\x0069\x0074\x0068\x0020\x0061\x006E\x0079\x0020\x006F\x0066\x0020\x0074\x0079\x0070\x0065\x002C\x0020\x0061\x0062\x0073\x0074\x0072\x0061\x0063\x0074\x002C\x0020\x0062\x006C\x006F\x0063\x006B\x002C\x0020\x0066\x0069\x006E\x0061\x006C\x002C\x0020\x006E\x0069\x006C\x006C\x0061\x0062\x006C\x0065\x002C\x0020\x0064\x0065\x0066\x0061\x0075\x006C\x0074\x0020\x006F\x0072\x0020\x0066\x0069\x0078\x0065\x0064\x00" + 63 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x007B\x0030\x007D\x0020\x006E\x0061\x006D\x0065\x003A\x0027\x007B\x0031\x007D\x0027\x0020\x002D\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" + 64 L"\x0047\x006C\x006F\x0062\x0061\x006C\x006C\x0079\x002D\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x007B\x0030\x007D\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x0072\x0065\x0066\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x002D\x0020\x0072\x0065\x0066\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" + 65 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0062\x006F\x0074\x0068\x0020\x0061\x0020\x0074\x0079\x0070\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0061\x006E\x0064\x0020\x0061\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x002F\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0063\x0068\x0069\x006C\x0064\x00" + 66 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x007B\x0030\x007D\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x0066\x0069\x0078\x0065\x0064\x0020\x006F\x0072\x0020\x0064\x0065\x0066\x0061\x0075\x006C\x0074\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0061\x006E\x0064\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x006D\x0069\x0078\x0065\x0064\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0020\x006F\x0072\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x00" + 67 L"\x0054\x0068\x0065\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x007B\x0030\x007D\x0020\x0074\x0068\x0061\x0074\x0020\x007B\x0031\x007D\x0020\x0075\x0073\x0065\x0073\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x006F\x0066\x0020\x0027\x0066\x0069\x006E\x0061\x006C\x0027\x0020\x0077\x0068\x0069\x0063\x0068\x0020\x0064\x006F\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x0070\x0065\x0072\x006D\x0069\x0074\x0020\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x00" + 68 L"\x0054\x0068\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0073\x0070\x0065\x0063\x0069\x0066\x0069\x0065\x0064\x0020\x0061\x0073\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x00" + 69 L"\x0054\x0068\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0061\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0020\x0074\x0079\x0070\x0065\x002E\x0020\x0049\x0074\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0075\x0073\x0065\x0064\x0020\x0069\x006E\x0020\x0061\x0020\x0064\x0065\x0072\x0069\x0076\x0061\x0074\x0069\x006F\x006E\x0020\x0062\x0079\x0020\x0052\x0045\x0053\x0054\x0052\x0049\x0043\x0054\x0049\x004F\x004E\x0020\x0066\x006F\x0072\x0020\x0061\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x00" + 70 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0069\x006E\x0067\x0020\x0074\x0068\x0065\x0020\x0052\x0045\x0053\x0054\x0052\x0049\x0043\x0054\x0049\x004F\x004E\x0020\x006F\x0072\x0020\x0045\x0058\x0054\x0045\x004E\x0053\x0049\x004F\x004E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x00" + 71 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0069\x006E\x0067\x0020\x0074\x0068\x0065\x0020\x0052\x0045\x0053\x0054\x0052\x0049\x0043\x0054\x0049\x004F\x004E\x0020\x006F\x0072\x0020\x0045\x0058\x0054\x0045\x004E\x0053\x0049\x004F\x004E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x00" + 72 L"\x0041\x006E\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x0063\x0061\x006E\x0020\x006F\x006E\x006C\x0079\x0020\x0061\x0070\x0070\x0065\x0061\x0072\x0020\x006F\x006E\x0063\x0065\x003A\x0020\x0074\x0079\x0070\x0065\x0020\x007B\x0030\x007D\x00" + 73 L"\x0054\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x007B\x0030\x007D\x0020\x0064\x006F\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0020\x0069\x0074\x0073\x0065\x006C\x0066\x0020\x0074\x006F\x0020\x0062\x0065\x0020\x0075\x0073\x0065\x0064\x0020\x0061\x0073\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0066\x006F\x0072\x0020\x0061\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x0061\x006E\x0064\x002F\x006F\x0072\x0020\x0061\x0073\x0020\x0061\x0020\x0074\x0079\x0070\x0065\x0020\x0069\x006E\x0020\x0061\x0020\x006C\x0069\x0073\x0074\x0020\x0061\x006E\x0064\x002F\x006F\x0072\x0020\x0075\x006E\x0069\x006F\x006E\x00" + 74 L"\x0054\x0068\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0027\x0073\x0075\x0062\x0073\x0074\x0069\x0074\x0075\x0074\x0069\x006F\x006E\x0027\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x006C\x0069\x0073\x0074\x00" + 75 L"\x0054\x0068\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0027\x0075\x006E\x0069\x006F\x006E\x0027\x0020\x0069\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x006C\x0069\x0073\x0074\x00" + 76 L"\x0054\x0068\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0027\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0027\x0020\x0069\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x006C\x0069\x0073\x0074\x00" + 77 L"\x0054\x0068\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0027\x006C\x0069\x0073\x0074\x0027\x0020\x0069\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x006C\x0069\x0073\x0074\x00" + 78 L"\x0054\x0068\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0027\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0027\x0020\x0069\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x006C\x0069\x0073\x0074\x00" + 79 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0062\x006C\x006F\x0063\x006B\x0020\x0076\x0061\x006C\x0075\x0065\x003A\x0020\x007B\x0030\x007D\x00" + 80 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0066\x0069\x006E\x0061\x006C\x0020\x0076\x0061\x006C\x0075\x0065\x003A\x0020\x007B\x0030\x007D\x00" + 81 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x007B\x0030\x007D\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0070\x0061\x0072\x0074\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0073\x0075\x0062\x0073\x0074\x0069\x0074\x0075\x0074\x0069\x006F\x006E\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0068\x0065\x0061\x0064\x0065\x0064\x0020\x0062\x0079\x0020\x007B\x0031\x007D\x00" + 82 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x007B\x0030\x007D\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x0074\x0079\x0070\x0065\x0020\x0077\x0068\x0069\x0063\x0068\x0020\x0064\x006F\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0020\x0066\x0072\x006F\x006D\x0020\x0074\x0068\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0061\x0074\x0020\x0074\x0068\x0065\x0020\x0068\x0065\x0061\x0064\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0073\x0075\x0062\x0073\x0074\x0069\x0074\x0075\x0074\x0069\x006F\x006E\x0020\x0067\x0072\x006F\x0075\x0070\x00" + 83 L"\x0044\x0075\x0070\x006C\x0069\x0063\x0061\x0074\x0065\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0064\x0065\x0063\x006C\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0073\x0061\x006D\x0065\x0020\x0073\x0063\x006F\x0070\x0065\x003A\x0020\x007B\x0030\x007D\x00" + 84 L"\x0054\x0068\x0065\x0020\x0027\x0062\x006C\x006F\x0063\x006B\x0027\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0073\x0020\x006F\x0066\x0020\x0061\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0023\x0061\x006C\x006C\x0020\x007C\x0020\x006C\x0069\x0073\x0074\x0028\x0073\x0075\x0062\x0073\x0074\x0069\x0074\x0075\x0074\x0069\x006F\x006E\x002C\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x002C\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0029\x003B\x0020\x007B\x0030\x007D\x0020\x0077\x0061\x0073\x0020\x0066\x006F\x0075\x006E\x0064\x00" + 85 L"\x0054\x0068\x0065\x0020\x0027\x0066\x0069\x006E\x0061\x006C\x0027\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0073\x0020\x006F\x0066\x0020\x0061\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0023\x0061\x006C\x006C\x0020\x007C\x0020\x006C\x0069\x0073\x0074\x0028\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x002C\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0029\x003B\x0020\x007B\x0030\x007D\x0020\x0077\x0061\x0073\x0020\x0066\x006F\x0075\x006E\x0064\x00" + 86 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0066\x006F\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x003A\x0020\x0027\x007B\x0031\x007D\x0027\x002E\x00" + 87 L"\x0052\x0065\x0066\x0020\x0069\x0073\x0020\x0070\x0072\x0065\x0073\x0065\x006E\x0074\x002C\x0020\x0061\x006E\x0064\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x002F\x0066\x006F\x0072\x006D\x002F\x0074\x0079\x0070\x0065\x0020\x0066\x006F\x0075\x006E\x0064\x0020\x0066\x006F\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x003D\x007B\x0031\x007D\x0027\x00" + 88 L"\x0044\x0075\x0070\x006C\x0069\x0063\x0061\x0074\x0065\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x007B\x0030\x007D\x003A\x007B\x0031\x007D\x0020\x0069\x006E\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x00" + 89 L"\x0044\x0065\x0072\x0069\x0076\x0061\x0074\x0069\x006F\x006E\x0020\x0062\x0079\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x0069\x0073\x0020\x0066\x006F\x0072\x0062\x0069\x0064\x0064\x0065\x006E\x0020\x0062\x0079\x0020\x0065\x0069\x0074\x0068\x0065\x0072\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006F\x0072\x0020\x0074\x0068\x0065\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x00" + 90 L"\x0044\x0065\x0072\x0069\x0076\x0061\x0074\x0069\x006F\x006E\x0020\x0062\x0079\x0020\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0020\x0069\x0073\x0020\x0066\x006F\x0072\x0062\x0069\x0064\x0064\x0065\x006E\x0020\x0062\x0079\x0020\x0065\x0069\x0074\x0068\x0065\x0072\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006F\x0072\x0020\x0074\x0068\x0065\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x00" + 91 L"\x0054\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0073\x0070\x0065\x0063\x0069\x0066\x0069\x0065\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0061\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x00" + 92 L"\x0049\x006D\x0070\x006F\x0072\x0074\x0065\x0064\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x0064\x0069\x0066\x0066\x0065\x0072\x0065\x006E\x0074\x0020\x0074\x0061\x0072\x0067\x0065\x0074\x004E\x0061\x006D\x0065\x0053\x0070\x0061\x0063\x0065\x0020\x0027\x007B\x0031\x007D\x0027\x0020\x0066\x0072\x006F\x006D\x0020\x0077\x0068\x0061\x0074\x0027\x0073\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x0020\x0027\x007B\x0032\x007D\x0027\x00" + 93 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0067\x0065\x0074\x0020\x0074\x0068\x0065\x0020\x0064\x006F\x0063\x0020\x0072\x006F\x006F\x0074\x0020\x0066\x006F\x0072\x0020\x0069\x006D\x0070\x006F\x0072\x0074\x0065\x0064\x0020\x0053\x0063\x0068\x0065\x006D\x0061\x003A\x0020\x007B\x0030\x007D\x00" + 94 L"\x0041\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x004C\x006F\x0063\x0061\x0074\x0069\x006F\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0073\x0070\x0065\x0063\x0069\x0066\x0069\x0065\x0064\x0020\x006F\x006E\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x002E\x00" + 95 L"\x0049\x006E\x0063\x006C\x0075\x0064\x0065\x0064\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x0064\x0069\x0066\x0066\x0065\x0072\x0065\x006E\x0074\x0020\x0074\x0061\x0072\x0067\x0065\x0074\x004E\x0061\x006D\x0065\x0053\x0070\x0061\x0063\x0065\x0020\x0027\x007B\x0031\x007D\x0027\x00" + 96 L"\x0041\x0074\x0020\x006D\x006F\x0073\x0074\x0020\x006F\x006E\x0065\x0020\x003C\x0061\x006E\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x003E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x0073\x0020\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x002E\x00" + 97 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0028\x0061\x006E\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x003F\x002C\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x003F\x0029\x0020\x0066\x006F\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x003D\x007B\x0031\x007D\x0027\x00" + 98 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x0061\x0070\x0070\x0065\x0061\x0072\x0020\x0069\x006E\x0020\x007B\x0031\x007D\x0020\x007B\x0032\x007D\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0073\x00" + 99 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0061\x0070\x0070\x0065\x0061\x0072\x0020\x0069\x006E\x0020\x007B\x0031\x007D\x0020\x007B\x0032\x007D\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0073\x00" + 100 L"\x0056\x0061\x006C\x0075\x0065\x0020\x006F\x0066\x0020\x006D\x0069\x006E\x004F\x0063\x0063\x0075\x0072\x0073\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0067\x0072\x0065\x0061\x0074\x0065\x0072\x0020\x0074\x0068\x0061\x006E\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x006F\x0066\x0020\x006D\x0061\x0078\x004F\x0063\x0063\x0075\x0072\x0073\x0020\x0027\x007B\x0031\x007D\x0027\x00" + 101 L"\x0027\x0061\x006E\x0079\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0027\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0073\x0020\x0063\x0061\x006E\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0020\x0061\x0074\x0020\x006D\x006F\x0073\x0074\x0020\x006F\x006E\x0065\x0020\x0027\x0061\x006E\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x0027\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0069\x0072\x0020\x0063\x0068\x0069\x006C\x0064\x0072\x0065\x006E\x00" + 102 L"\x0047\x006C\x006F\x0062\x0061\x006C\x0020\x003C\x007B\x0030\x007D\x003E\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x002D\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" + 103 L"\x004E\x006F\x0020\x0063\x0069\x0072\x0063\x0075\x006C\x0061\x0072\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x0073\x0020\x0061\x0072\x0065\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x003A\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 104 L"\x0047\x006C\x006F\x0062\x0061\x006C\x0020\x007B\x0030\x007D\x003A\x0027\x007B\x0031\x007D\x0027\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x0020\x006D\x006F\x0072\x0065\x0020\x0074\x0068\x0061\x006E\x0020\x006F\x006E\x0063\x0065\x0020\x006F\x0072\x0020\x0061\x006C\x0073\x006F\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x0020\x0061\x0073\x0020\x007B\x0032\x007D\x00" + 105 L"\x0047\x006C\x006F\x0062\x0061\x006C\x0020\x007B\x0030\x007D\x003A\x0027\x007B\x0031\x007D\x0027\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0065\x0064\x0020\x006D\x006F\x0072\x0065\x0020\x0074\x0068\x0061\x006E\x0020\x006F\x006E\x0063\x0065\x00" + 106 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0066\x006F\x0072\x0020\x0066\x0061\x0063\x0065\x0074\x0020\x0027\x0077\x0068\x0069\x0074\x0065\x0053\x0070\x0061\x0063\x0065\x0027\x002E\x0020\x0056\x0061\x006C\x0075\x0065\x0020\x0073\x0068\x006F\x0075\x006C\x0064\x0020\x0062\x0065\x0020\x0027\x0063\x006F\x006C\x006C\x0061\x0070\x0073\x0065\x0027\x002E\x00" + 107 L"\x0054\x0068\x0065\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x006F\x0066\x0020\x0061\x006E\x0020\x003C\x0069\x006D\x0070\x006F\x0072\x0074\x003E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0064\x0069\x0066\x0066\x0065\x0072\x0065\x006E\x0074\x0020\x0066\x0072\x006F\x006D\x0020\x0074\x0068\x0065\x0020\x0074\x0061\x0072\x0067\x0065\x0074\x004E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x003C\x0069\x006D\x0070\x006F\x0072\x0074\x003E\x0069\x006E\x0067\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x00" + 108 L"\x0049\x0066\x0020\x0074\x0068\x0065\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x006F\x006E\x0020\x0061\x006E\x0020\x003C\x0069\x006D\x0070\x006F\x0072\x0074\x003E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0070\x0072\x0065\x0073\x0065\x006E\x0074\x002C\x0020\x0074\x0068\x0065\x0020\x003C\x0069\x006D\x0070\x006F\x0072\x0074\x003E\x0069\x006E\x0067\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x0074\x0061\x0072\x0067\x0065\x0074\x004E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x00" + 109 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0063\x006F\x006E\x0073\x0074\x0072\x0061\x0069\x006E\x0074\x003A\x0027\x007B\x0031\x007D\x0027\x0020\x0061\x0073\x0020\x0069\x0074\x0073\x0020\x0074\x0079\x0070\x0065\x0020\x0069\x0073\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0066\x0072\x006F\x006D\x0020\x0049\x0044\x00" + 110 L"\x0049\x0074\x0020\x0069\x0073\x0020\x0061\x006E\x0020\x0065\x0072\x0072\x006F\x0072\x0020\x0066\x006F\x0072\x0020\x004E\x004F\x0054\x0041\x0054\x0049\x004F\x004E\x0020\x0074\x006F\x0020\x0062\x0065\x0020\x0075\x0073\x0065\x0064\x0020\x0064\x0069\x0072\x0065\x0063\x0074\x006C\x0079\x0020\x0069\x006E\x0020\x0061\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x0020\x0069\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x002F\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 111 L"\x0046\x006F\x0072\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x002C\x0020\x0074\x0068\x0065\x0020\x007B\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0074\x0079\x0070\x0065\x007D\x0020\x0069\x0073\x0020\x006D\x0069\x0078\x0065\x0064\x002C\x0020\x0074\x0068\x0065\x006E\x0020\x0074\x0068\x0065\x0020\x007B\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0074\x0079\x0070\x0065\x007D\x0027\x0073\x0020\x0070\x0061\x0072\x0074\x0069\x0063\x006C\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0065\x006D\x0070\x0074\x0069\x0061\x0062\x006C\x0065\x00" + 112 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x0020\x0069\x0073\x0020\x0045\x004D\x0050\x0054\x0059\x002C\x0020\x0062\x0075\x0074\x0020\x0062\x0061\x0073\x0065\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0065\x006D\x0070\x0074\x0079\x0020\x006F\x0072\x0020\x0064\x006F\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0065\x006D\x0070\x0074\x0069\x0061\x0062\x006C\x0065\x0020\x0070\x0061\x0072\x0074\x0069\x0063\x006C\x0065\x002E\x00" + 113 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0074\x0079\x0070\x0065\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0074\x0079\x0070\x0065\x003A\x0027\x007B\x0030\x007D\x0027\x0020\x0061\x006E\x0064\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0074\x0079\x0070\x0065\x003A\x0027\x007B\x0031\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x006F\x0074\x0068\x0020\x0062\x0065\x0020\x006D\x0069\x0078\x0065\x0064\x0020\x006F\x0072\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x002D\x006F\x006E\x006C\x0079\x002E\x00" + 114 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0074\x0079\x0070\x0065\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x0020\x0076\x0061\x006C\x0069\x0064\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0074\x0079\x0070\x0065\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x002E\x00" + 115 L"\x0044\x0065\x0072\x0069\x0076\x0061\x0074\x0069\x006F\x006E\x0020\x0062\x0079\x0020\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0020\x006F\x0072\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x0069\x0073\x0020\x0066\x006F\x0072\x0062\x0069\x0064\x0064\x0065\x006E\x0020\x0062\x0079\x0020\x0065\x0069\x0074\x0068\x0065\x0072\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006F\x0072\x0020\x0074\x0068\x0065\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x00" + 116 L"\x0054\x0068\x0065\x0020\x007B\x0069\x0074\x0065\x006D\x0020\x0074\x0079\x0070\x0065\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x007D\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x007B\x0076\x0061\x0072\x0069\x0065\x0074\x0079\x007D\x0020\x006F\x0066\x0020\x0061\x0074\x006F\x006D\x0069\x0063\x0020\x006F\x0072\x0020\x0075\x006E\x0069\x006F\x006E\x0020\x0028\x0077\x0068\x0065\x0072\x0065\x0020\x0061\x006C\x006C\x0020\x006D\x0065\x006D\x0062\x0065\x0072\x0020\x0074\x0079\x0070\x0065\x0073\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0061\x0074\x006F\x006D\x0069\x0063\x0029\x00" + 117 L"\x0054\x0068\x0065\x0020\x007B\x006D\x0065\x006D\x0062\x0065\x0072\x0020\x0074\x0079\x0070\x0065\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x0073\x007D\x0020\x006D\x0075\x0073\x0074\x0020\x0061\x006C\x006C\x0020\x0068\x0061\x0076\x0065\x0020\x007B\x0076\x0061\x0072\x0069\x0065\x0074\x0079\x007D\x0020\x006F\x0066\x0020\x0061\x0074\x006F\x006D\x0069\x0063\x0020\x006F\x0072\x0020\x006C\x0069\x0073\x0074\x00" + 118 L"\x0054\x0068\x0065\x0020\x0067\x0072\x006F\x0075\x0070\x003A\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0020\x0028\x0061\x006C\x006C\x0020\x007C\x0020\x0063\x0068\x006F\x0069\x0063\x0065\x0020\x007C\x0020\x0073\x0065\x0071\x0075\x0065\x006E\x0063\x0065\x0029\x00" + 119 L"\x0054\x0068\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0047\x0072\x006F\x0075\x0070\x003A\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x006D\x0061\x0074\x0063\x0068\x0020\x0028\x0061\x006E\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x003F\x002E\x0020\x0028\x0028\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x007C\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0047\x0072\x006F\x0075\x0070\x0029\x002A\x002C\x0020\x0061\x006E\x0079\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x003F\x0029\x0029\x00" + 120 L"\x0054\x0068\x0065\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x006F\x0066\x0020\x0061\x0020\x006D\x006F\x0064\x0065\x006C\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x0020\x006D\x0075\x0073\x0074\x0020\x006E\x006F\x0074\x0020\x0073\x0070\x0065\x0063\x0069\x0066\x0079\x0020\x0065\x0069\x0074\x0068\x0065\x0072\x0020\x0074\x0068\x0065\x0020\x006D\x0069\x006E\x004F\x0063\x0063\x0075\x0072\x0073\x0020\x006F\x0072\x0020\x006D\x0061\x0078\x004F\x0063\x0063\x0075\x0072\x0073\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x002E\x00" + 121 L"\x0054\x0068\x0065\x0020\x007B\x0030\x007D\x0020\x002D\x0027\x007B\x0031\x007D\x003A\x007B\x0032\x007D\x0027\x002D\x0020\x006E\x006F\x0074\x0020\x0066\x006F\x0075\x006E\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x00" + 122 L"\x0041\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0077\x0068\x006F\x0073\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0069\x0073\x0020\x0027\x0061\x006C\x006C\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x006F\x006E\x006C\x0079\x0020\x0061\x0070\x0070\x0065\x0061\x0072\x0020\x0061\x0073\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0074\x0079\x0070\x0065\x0020\x006F\x0066\x0020\x0061\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0020\x0074\x0079\x0070\x0065\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x002E\x00" + 123 L"\x0057\x0068\x0065\x006E\x0020\x0061\x0020\x006D\x006F\x0064\x0065\x006C\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0068\x0061\x0073\x0020\x007B\x0063\x006F\x006D\x0070\x006F\x0073\x0069\x0074\x006F\x0072\x007D\x0020\x0027\x0061\x006C\x006C\x0027\x0020\x0077\x0068\x0069\x0063\x0068\x0020\x0063\x006F\x006E\x0073\x0074\x0069\x0074\x0075\x0074\x0065\x0073\x0020\x0074\x0068\x0065\x0020\x007B\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0074\x0079\x0070\x0065\x007D\x0020\x006F\x0066\x0020\x0061\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0020\x0074\x0079\x0070\x0065\x002C\x0020\x006D\x0069\x006E\x004F\x0063\x0063\x0075\x0072\x0073\x003D\x006D\x0061\x0078\x004F\x0063\x0063\x0075\x0072\x0073\x003D\x0031\x00" + 124 L"\x0049\x006E\x0020\x0061\x006E\x0020\x0027\x0061\x006C\x006C\x0027\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x0020\x0063\x006F\x006D\x0070\x006F\x006E\x0065\x006E\x0074\x002C\x0020\x0074\x0068\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x006F\x0066\x0020\x006D\x0069\x006E\x004F\x0063\x0063\x0075\x0072\x0073\x002F\x006D\x0061\x0078\x004F\x0063\x0063\x0075\x0072\x0073\x0020\x006F\x0066\x0020\x0061\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0027\x0030\x0027\x0020\x006F\x0072\x0020\x0027\x0031\x0027\x002E\x00" + 125 L"\x0043\x0069\x0072\x0063\x0075\x006C\x0061\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0047\x0072\x006F\x0075\x0070\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0020\x002D\x007B\x0030\x007D\x002D\x0020\x0069\x0073\x0020\x0064\x0069\x0073\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x006F\x0075\x0074\x0073\x0069\x0064\x0065\x0020\x003C\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x003E\x00" + 126 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x0020\x0069\x006E\x0020\x0062\x0061\x0073\x0065\x0020\x0061\x006E\x0064\x0020\x0073\x0068\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0061\x0070\x0070\x0065\x0061\x0072\x0020\x0069\x006E\x0020\x0064\x0065\x0072\x0069\x0076\x0061\x0074\x0069\x006F\x006E\x0020\x0062\x0079\x0020\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x002E\x00" + 127 L"\x0054\x0068\x0065\x0020\x0069\x006E\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0061\x006C\x0020\x0069\x006E\x0074\x0065\x0072\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x0020\x006F\x0066\x0020\x007B\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0073\x0020\x0077\x0069\x006C\x0064\x0063\x0061\x0072\x0064\x007D\x0073\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0065\x0078\x0070\x0072\x0065\x0073\x0073\x0069\x0062\x006C\x0065\x00" + 128 L"\x0042\x0061\x0073\x0065\x0020\x0074\x0079\x0070\x0065\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x0020\x0064\x006F\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x006E\x0079\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0073\x00" + 129 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x006E\x0020\x0069\x006E\x0063\x006F\x006E\x0073\x0069\x0073\x0074\x0065\x006E\x0074\x0020\x0052\x0045\x0051\x0055\x0049\x0052\x0045\x0044\x0020\x0073\x0065\x0074\x0074\x0069\x006E\x0067\x0020\x0077\x0069\x0074\x0068\x0020\x0074\x0068\x0061\x0074\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x00" + 130 L"\x0054\x0079\x0070\x0065\x0020\x006F\x0066\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0076\x0061\x006C\x0069\x0064\x006C\x0079\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0066\x0072\x006F\x006D\x0020\x0074\x0079\x0070\x0065\x0020\x006F\x0066\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0069\x006E\x0020\x0062\x0061\x0073\x0065\x00" + 131 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0065\x0069\x0074\x0068\x0065\x0072\x0020\x006E\x006F\x0074\x0020\x0066\x0069\x0078\x0065\x0064\x002C\x0020\x006F\x0072\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x0064\x0069\x0066\x0066\x0065\x0072\x0065\x006E\x0074\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0066\x0072\x006F\x006D\x0020\x0074\x0068\x0061\x0074\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x00" + 132 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0074\x0061\x0072\x0067\x0065\x0074\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0077\x0069\x0074\x0068\x0020\x0072\x0065\x0073\x0070\x0065\x0063\x0074\x0020\x0074\x006F\x0020\x0061\x0020\x0062\x0061\x0073\x0065\x0020\x0077\x0069\x006C\x0064\x0063\x0061\x0072\x0064\x0020\x0063\x006F\x006E\x0073\x0074\x0072\x0061\x0069\x006E\x0074\x0020\x006F\x0072\x002C\x0020\x0062\x0061\x0073\x0065\x0020\x0068\x0061\x0073\x0020\x006E\x006F\x0020\x0077\x0069\x006C\x0064\x0063\x0061\x0072\x0064\x00" + 133 L"\x0041\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0077\x0069\x006C\x0064\x0063\x0061\x0072\x0064\x0020\x0069\x0073\x0020\x0070\x0072\x0065\x0073\x0065\x006E\x0074\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0074\x0079\x0070\x0065\x002C\x0020\x0062\x0075\x0074\x0020\x006E\x006F\x0074\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x00" + 134 L"\x0054\x0068\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0077\x0069\x006C\x0064\x0063\x0061\x0072\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0074\x0079\x0070\x0065\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x0020\x0076\x0061\x006C\x0069\x0064\x0020\x0073\x0075\x0062\x0073\x0065\x0074\x0020\x006F\x0066\x0020\x0074\x0068\x0061\x0074\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x00" + 135 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x006D\x006F\x0064\x0069\x0066\x0079\x0020\x0074\x0068\x0065\x0020\x0027\x0075\x0073\x0065\x0027\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0069\x006E\x0020\x0061\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0074\x0079\x0070\x0065\x002C\x0020\x0069\x0066\x0020\x0062\x0061\x0073\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0075\x0073\x0065\x0020\x0069\x0073\x0020\x0070\x0072\x006F\x0068\x0069\x0062\x0069\x0074\x0065\x0064\x00" + 136 L"\x0054\x0068\x0065\x0020\x0077\x0069\x006C\x0064\x0063\x0061\x0072\x0064\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0074\x0079\x0070\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0069\x0064\x0065\x006E\x0074\x0069\x0063\x0061\x006C\x0020\x0074\x006F\x0020\x006F\x0072\x0020\x0073\x0074\x0072\x006F\x006E\x0067\x0065\x0072\x0020\x0074\x0068\x0061\x006E\x0020\x0074\x0068\x0065\x0020\x006F\x006E\x0065\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x002E\x00" + 137 L"\x0043\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x003C\x0061\x006C\x006C\x003E\x0020\x0069\x0073\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0065\x0064\x0020\x0074\x006F\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0073\x0020\x006F\x006E\x006C\x0079\x002E\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0065\x006E\x0063\x006F\x0075\x006E\x0074\x0065\x0072\x0065\x0064\x0020\x0061\x006E\x0064\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x002E\x00" + 138 L"\x0052\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x0020\x0064\x0069\x0066\x0066\x0065\x0072\x0065\x006E\x0074\x0020\x0074\x0061\x0072\x0067\x0065\x0074\x004E\x0061\x006D\x0065\x0053\x0070\x0061\x0063\x0065\x0020\x0027\x007B\x0031\x007D\x0027\x002E\x00" + 139 L"\x0041\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x006F\x0066\x0020\x0061\x0020\x003C\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x003E\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0061\x0073\x0020\x0061\x0020\x0063\x0068\x0069\x006C\x0064\x00" + 140 L"\x0054\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x006F\x0066\x0020\x0061\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x002C\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0074\x0068\x0065\x0020\x0073\x0061\x006D\x0065\x0020\x0061\x0073\x0020\x0074\x0068\x0065\x0020\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x0020\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x0027\x0073\x0020\x006E\x0061\x006D\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x00" + 141 L"\x0041\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x006F\x0066\x0020\x0061\x0020\x003C\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x003E\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x0020\x006F\x0072\x0020\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0061\x0073\x0020\x0061\x0020\x0067\x0072\x0061\x006E\x0064\x0063\x0068\x0069\x006C\x0064\x00" + 142 L"\x0054\x0068\x0065\x0020\x0062\x0061\x0073\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006F\x0066\x0020\x0061\x0020\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x002F\x0065\x0078\x0074\x0065\x006E\x0073\x0069\x006F\x006E\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0074\x0068\x0065\x0020\x0073\x0061\x006D\x0065\x0020\x0061\x0073\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0054\x0079\x0070\x0065\x0027\x0073\x0020\x006E\x0061\x006D\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0069\x006E\x0020\x003C\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x003E\x00" + 143 L"\x0054\x0068\x0065\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0077\x0068\x0069\x0063\x0068\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0073\x0020\x0061\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0020\x0074\x006F\x0020\x0061\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0062\x0065\x0069\x006E\x0067\x0020\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x006D\x0069\x006E\x004F\x0063\x0063\x0075\x0072\x0073\x0020\x003D\x0020\x006D\x0061\x0078\x004F\x0063\x0063\x0075\x0072\x0073\x0020\x003D\x0020\x0031\x00" + 144 L"\x0043\x006F\x0075\x006C\x0064\x0020\x006E\x006F\x0074\x0020\x0066\x0069\x006E\x0064\x0020\x0061\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x0020\x0074\x006F\x0020\x0062\x0065\x0020\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x0020\x0063\x006F\x0072\x0072\x0065\x0073\x0070\x006F\x006E\x0064\x0069\x006E\x0067\x0020\x0074\x006F\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 145 L"\x0049\x0066\x0020\x0061\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x006F\x0066\x0020\x0061\x0020\x003C\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x003E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0073\x0020\x0061\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0072\x0065\x0066\x0027\x0069\x006E\x0067\x0020\x0069\x0074\x0073\x0065\x006C\x0066\x002C\x0020\x0069\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0065\x0078\x0061\x0063\x0074\x006C\x0079\x0020\x0031\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x002E\x00" + 146 L"\x0049\x0066\x0020\x0061\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0047\x0072\x006F\x0075\x0070\x0020\x006F\x0066\x0020\x0061\x0020\x003C\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x003E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0073\x0020\x0061\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0020\x0074\x006F\x0020\x0069\x0074\x0073\x0065\x006C\x0066\x002C\x0020\x0073\x0075\x0063\x0068\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0065\x0078\x0061\x0063\x0074\x006C\x0079\x0020\x0031\x00" + 147 L"\x0041\x0020\x003C\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x003E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0020\x0061\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x006F\x0066\x0020\x0074\x0079\x0070\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 148 L"\x0054\x0068\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0066\x006F\x0072\x0020\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x00" + 149 L"\x0054\x0068\x0065\x0020\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0027\x007B\x0030\x007D\x003A\x007B\x0031\x007D\x0027\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0066\x006F\x0075\x006E\x0064\x00" + 150 L"\x004D\x006F\x0072\x0065\x0020\x0074\x0068\x0061\x006E\x0020\x006F\x006E\x0065\x0020\x0069\x0064\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0063\x006F\x006E\x0073\x0074\x0072\x0061\x0069\x006E\x0074\x0020\x006E\x0061\x006D\x0065\x0064\x0020\x0027\x007B\x0030\x007D\x0027\x002E\x00" + 151 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006F\x0066\x0020\x0061\x006E\x0020\x0069\x0064\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0063\x006F\x006E\x0073\x0074\x0072\x0061\x0069\x006E\x0074\x0020\x006D\x0075\x0073\x0074\x0020\x006D\x0061\x0074\x0063\x0068\x0020\x0028\x0061\x006E\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x003F\x002C\x0020\x0073\x0065\x006C\x0065\x0063\x0074\x006F\x0072\x002C\x0020\x0066\x0069\x0065\x006C\x0064\x002B\x0029\x00" + 152 L"\x004B\x0065\x0079\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0072\x0065\x0066\x0065\x0072\x0073\x0020\x0074\x006F\x0020\x0075\x006E\x006B\x006E\x006F\x0077\x006E\x0020\x006B\x0065\x0079\x0020\x0077\x0069\x0074\x0068\x0020\x006E\x0061\x006D\x0065\x0020\x0027\x007B\x0031\x007D\x0027\x002E\x00" + 153 L"\x0043\x0061\x0072\x0064\x0069\x006E\x0061\x006C\x0069\x0074\x0079\x0020\x006F\x0066\x0020\x0066\x0069\x0065\x006C\x0064\x0073\x0020\x0066\x006F\x0072\x0020\x006B\x0065\x0079\x0072\x0065\x0066\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0061\x006E\x0064\x0020\x006B\x0065\x0079\x0020\x0027\x007B\x0031\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x006D\x0061\x0074\x0063\x0068\x002E\x00" + 154 L"\x0058\x0070\x0061\x0074\x0068\x0020\x0065\x0078\x0070\x0072\x0065\x0073\x0073\x0069\x006F\x006E\x0020\x0069\x0073\x0020\x0065\x0069\x0074\x0068\x0065\x0072\x0020\x006D\x0069\x0073\x0073\x0069\x006E\x0067\x0020\x006F\x0072\x0020\x0065\x006D\x0070\x0074\x0079\x00" + 155 L"\x0054\x0068\x0065\x0020\x007B\x0076\x0061\x006C\x0075\x0065\x0020\x0063\x006F\x006E\x0073\x0074\x0072\x0061\x0069\x006E\x0074\x007D\x0020\x006F\x0066\x0020\x0061\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0072\x0065\x0066\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0066\x0069\x0078\x0065\x0064\x0020\x006F\x0072\x0020\x0064\x0069\x0066\x0066\x0065\x0072\x0065\x006E\x0074\x0020\x0066\x0072\x006F\x006D\x0020\x0074\x0068\x0065\x0020\x0066\x0069\x0078\x0065\x0064\x0020\x007B\x0076\x0061\x006C\x0075\x0065\x0020\x0063\x006F\x006E\x0073\x0074\x0072\x0061\x0069\x006E\x0074\x007D\x0020\x006F\x0066\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 156 L"\x0054\x0068\x0065\x0020\x007B\x0074\x0079\x0070\x0065\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x007D\x0020\x0066\x006F\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x003D\x007B\x0031\x007D\x0027\x0020\x0069\x0073\x0020\x006F\x0072\x0020\x0069\x0073\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0066\x0072\x006F\x006D\x0020\x0049\x0044\x002C\x0020\x0061\x006E\x0064\x0020\x006D\x0075\x0073\x0074\x0020\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x007B\x0076\x0061\x006C\x0075\x0065\x0020\x0063\x006F\x006E\x0073\x0074\x0072\x0061\x0069\x006E\x0074\x007D\x00" + 157 L"\x004D\x006F\x0072\x0065\x0020\x0074\x0068\x0061\x006E\x0020\x006F\x006E\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0066\x0072\x006F\x006D\x0020\x0074\x0079\x0070\x0065\x0020\x0049\x0044\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0061\x0070\x0070\x0065\x0061\x0072\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0073\x0061\x006D\x0065\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0020\x0074\x0079\x0070\x0065\x0020\x002D\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" + 158 L"\x004D\x006F\x0072\x0065\x0020\x0074\x0068\x0061\x006E\x0020\x006F\x006E\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0064\x0065\x0072\x0069\x0076\x0065\x0064\x0020\x0066\x0072\x006F\x006D\x0020\x0074\x0079\x0070\x0065\x0020\x0049\x0044\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0061\x0070\x0070\x0065\x0061\x0072\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0073\x0061\x006D\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x002D\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" + 159 L"\x0027\x0027\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x0020\x006C\x0065\x0067\x0061\x006C\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0066\x006F\x0072\x0020\x0074\x0068\x0065\x0020\x0074\x0061\x0072\x0067\x0065\x0074\x004E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x003B\x0020\x0074\x0068\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0061\x0062\x0073\x0065\x006E\x0074\x0020\x006F\x0072\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0020\x0061\x0020\x006E\x006F\x006E\x0065\x006D\x0070\x0074\x0079\x0020\x0076\x0061\x006C\x0075\x0065\x00" + 160 L"\x007B\x0030\x007D\x00" + 161 L"\x0041\x006E\x0020\x0065\x0078\x0063\x0065\x0070\x0074\x0069\x006F\x006E\x0020\x006F\x0063\x0063\x0075\x0072\x0072\x0065\x0064\x0021\x0020\x0054\x0079\x0070\x0065\x003A\x007B\x0030\x007D\x002C\x0020\x004D\x0065\x0073\x0073\x0061\x0067\x0065\x003A\x007B\x0031\x007D\x00" + 162 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0052\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x003A\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0062\x0065\x0065\x006E\x0020\x0069\x006E\x0063\x006C\x0075\x0064\x0065\x0064\x0020\x006F\x0072\x0020\x0072\x0065\x0064\x0065\x0066\x0069\x006E\x0065\x0064\x00" + 163 L"\x0053\x0063\x0068\x0065\x006D\x0061\x0020\x0052\x0065\x0070\x0072\x0065\x0073\x0065\x006E\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x0043\x006F\x006E\x0073\x0074\x0072\x0061\x0069\x006E\x0074\x003A\x0020\x004E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0064\x0020\x0077\x0069\x0074\x0068\x006F\x0075\x0074\x0020\x003C\x0069\x006D\x0070\x006F\x0072\x0074\x003E\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00" + 164 L"\x0041\x006E\x0020\x0027\x0061\x006C\x006C\x0027\x0020\x006D\x006F\x0064\x0065\x006C\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0074\x0068\x0061\x0074\x0027\x0073\x0020\x0070\x0061\x0072\x0074\x0020\x006F\x0066\x0020\x0061\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0078\x0020\x0074\x0079\x0070\x0065\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x0020\x006D\x0075\x0073\x0074\x0020\x0063\x006F\x006E\x0073\x0074\x0069\x0074\x0075\x0074\x0065\x0020\x0074\x0068\x0065\x0020\x0065\x006E\x0074\x0069\x0072\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0074\x0079\x0070\x0065\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0064\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x00" + 165 L"\x0041\x006E\x0020\x003C\x0061\x006E\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x003E\x0020\x0063\x0061\x006E\x0020\x006F\x006E\x006C\x0079\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0020\x003C\x0061\x0070\x0070\x0069\x006E\x0066\x006F\x003E\x0020\x0061\x006E\x0064\x0020\x003C\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x0061\x0074\x0069\x006F\x006E\x003E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0073\x00" + 166 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0066\x0061\x0063\x0065\x0074\x0020\x006E\x0061\x006D\x0065\x003A\x0020\x007B\x0030\x007D\x00" + 167 L"\x0054\x0068\x0065\x0020\x0072\x006F\x006F\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006E\x0061\x006D\x0065\x0020\x006F\x0066\x0020\x0061\x006E\x0020\x0058\x004D\x004C\x0020\x0053\x0063\x0068\x0065\x006D\x0061\x0020\x0073\x0068\x006F\x0075\x006C\x0064\x0020\x0062\x0065\x0020\x0027\x0073\x0063\x0068\x0065\x006D\x0061\x0027\x002E\x00" + 168 L"\x0043\x0069\x0072\x0063\x0075\x006C\x0061\x0072\x0020\x0073\x0075\x0062\x0073\x0074\x0069\x0074\x0075\x0074\x0069\x006F\x006E\x0020\x0067\x0072\x006F\x0075\x0070\x0073\x0020\x0061\x0072\x0065\x0020\x0064\x0069\x0073\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0066\x006F\x0072\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x002E\x00" + 169 L"\x0046\x006F\x0072\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0074\x006F\x0020\x0062\x0065\x0020\x0061\x0020\x006D\x0065\x006D\x0062\x0065\x0072\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0073\x0075\x0062\x0073\x0074\x0069\x0074\x0075\x0074\x0069\x006F\x006E\x0020\x0067\x0072\x006F\x0075\x0070\x0020\x0073\x0065\x0074\x0020\x006F\x0066\x0020\x0027\x007B\x0031\x007D\x0027\x002C\x0020\x0069\x0074\x0073\x0020\x007B\x0061\x0062\x0073\x0074\x0072\x0061\x0063\x0074\x007D\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0066\x0061\x006C\x0073\x0065\x002E\x00" + 170 L"\x0054\x0068\x0065\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x006F\x0066\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0066\x0072\x006F\x006D\x0020\x0074\x0068\x0065\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x002E\x00" + 171 L"\x0054\x0068\x0065\x0020\x007B\x0074\x0061\x0072\x0067\x0065\x0074\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x007D\x0020\x006F\x0066\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006D\x0075\x0073\x0074\x0020\x006E\x006F\x0074\x0020\x006D\x0061\x0074\x0063\x0068\x0020\x0027\x0068\x0074\x0074\x0070\x003A\x002F\x002F\x0077\x0077\x0077\x002E\x0077\x0033\x002E\x006F\x0072\x0067\x002F\x0032\x0030\x0030\x0031\x002F\x0058\x004D\x004C\x0053\x0063\x0068\x0065\x006D\x0061\x002D\x0069\x006E\x0073\x0074\x0061\x006E\x0063\x0065\x0027\x002E\x00" + 172 L"\x0054\x0068\x0065\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0069\x0073\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x002E\x00" + 173 L"\x004E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0066\x0069\x0078\x0075\x0070\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0070\x0065\x0072\x0066\x006F\x0072\x006D\x0065\x0064\x0020\x006F\x006E\x0020\x0061\x0020\x0044\x004F\x004D\x0020\x004C\x0065\x0076\x0065\x006C\x0020\x0031\x0020\x004E\x006F\x0064\x0065\x002E\x00" + 176 L"\x0054\x0068\x0065\x0020\x0070\x0061\x0072\x0073\x0065\x0072\x0020\x0068\x0061\x0073\x0020\x0065\x006E\x0063\x006F\x0075\x006E\x0074\x0065\x0072\x0065\x0064\x0020\x006D\x006F\x0072\x0065\x0020\x0074\x0068\x0061\x006E\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0065\x0078\x0070\x0061\x006E\x0073\x0069\x006F\x006E\x0073\x0020\x0069\x006E\x0020\x0074\x0068\x0069\x0073\x0020\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x003B\x0020\x0074\x0068\x0069\x0073\x0020\x0069\x0073\x0020\x0074\x0068\x0065\x0020\x006C\x0069\x006D\x0069\x0074\x0020\x0069\x006D\x0070\x006F\x0073\x0065\x0064\x0020\x0062\x0079\x0020\x0074\x0068\x0065\x0020\x0061\x0070\x0070\x006C\x0069\x0063\x0061\x0074\x0069\x006F\x006E\x002E\x00" + 177 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0063\x006F\x006D\x006D\x0065\x006E\x0074\x0020\x006F\x0072\x0020\x0043\x0044\x0041\x0054\x0041\x00" + 178 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006E\x0061\x006D\x0065\x00" + 179 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0020\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x006E\x0061\x006D\x0065\x00" + 180 L"\x0052\x0065\x0070\x0065\x0074\x0069\x0074\x0069\x006F\x006E\x0020\x006F\x0066\x0020\x0069\x006E\x0064\x0069\x0076\x0069\x0064\x0075\x0061\x006C\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0073\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x006C\x0065\x0067\x0061\x006C\x0020\x0066\x006F\x0072\x0020\x006D\x0069\x0078\x0065\x0064\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x0073\x00" + 181 L"\x0042\x0061\x0064\x0020\x0064\x0065\x0066\x0061\x0075\x006C\x0074\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00" + 182 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0064\x0065\x0066\x0061\x0075\x006C\x0074\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x002C\x0020\x0061\x0073\x0073\x0075\x006D\x0069\x006E\x0067\x0020\x0023\x0049\x004D\x0050\x004C\x0049\x0045\x0044\x0020\x00" + 183 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006C\x0069\x0073\x0074\x0020\x0073\x0079\x006E\x0074\x0061\x0078\x0020\x0065\x0072\x0072\x006F\x0072\x00" + 184 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0065\x0071\x0075\x0061\x006C\x0020\x0073\x0069\x0067\x006E\x00" + 185 L"\x0044\x0075\x0070\x006C\x0069\x0063\x0061\x0074\x0069\x006F\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x006E\x0061\x006D\x0065\x00" + 186 L"\x0042\x0061\x0064\x0020\x0049\x0044\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x002C\x0020\x0066\x006F\x0072\x0020\x0078\x006D\x006C\x003A\x006C\x0061\x006E\x0067\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x00" + 187 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006E\x0061\x006D\x0065\x00" + 188 L"\x004D\x0075\x0073\x0074\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0077\x0069\x0074\x0068\x0020\x0061\x006E\x0020\x0058\x004D\x004C\x0044\x0065\x0063\x006C\x00" + 189 L"\x0043\x006F\x006D\x006D\x0065\x006E\x0074\x0073\x0020\x006D\x0075\x0073\x0074\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0077\x0069\x0074\x0068\x0020\x003C\x0021\x002D\x002D\x00" + 190 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x0020\x0073\x0074\x0072\x0075\x0063\x0074\x0075\x0072\x0065\x00" + 191 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0020\x0027\x0076\x0065\x0072\x0073\x0069\x006F\x006E\x003D\x0027\x002C\x0020\x0027\x0065\x006E\x0063\x006F\x0064\x0069\x006E\x0067\x003D\x0027\x002C\x0020\x006F\x0072\x0020\x0027\x0073\x0074\x0061\x006E\x0064\x0061\x006C\x006F\x006E\x0065\x003D\x0027\x00" + 192 L"\x0042\x0061\x0064\x0020\x0058\x004D\x004C\x0020\x0076\x0065\x0072\x0073\x0069\x006F\x006E\x0020\x0073\x0074\x0072\x0069\x006E\x0067\x00" + 193 L"\x0055\x006E\x0073\x0075\x0070\x0070\x006F\x0072\x0074\x0065\x0064\x0020\x0058\x004D\x004C\x0020\x0076\x0065\x0072\x0073\x0069\x006F\x006E\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 194 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0058\x004D\x004C\x0020\x0064\x0065\x0063\x006C\x00" + 195 L"\x0042\x0061\x0064\x0020\x0058\x004D\x004C\x0020\x0065\x006E\x0063\x006F\x0064\x0069\x006E\x0067\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 196 L"\x0042\x0061\x0064\x0020\x0073\x0074\x0061\x006E\x0064\x0061\x006C\x006F\x006E\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00" + 197 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0063\x006F\x006D\x006D\x0065\x006E\x0074\x00" + 198 L"\x0050\x0072\x006F\x0063\x0065\x0073\x0073\x0069\x006E\x0067\x0020\x0069\x006E\x0073\x0074\x0072\x0075\x0063\x0074\x0069\x006F\x006E\x0020\x006E\x0061\x006D\x0065\x0020\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x00" + 199 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0070\x0072\x006F\x0063\x0065\x0073\x0073\x0069\x006E\x0067\x0020\x0069\x006E\x0073\x0074\x0072\x0075\x0063\x0074\x0069\x006F\x006E\x00" + 200 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0028\x0055\x006E\x0069\x0063\x006F\x0064\x0065\x003A\x0020\x0030\x0078\x007B\x0030\x007D\x0029\x00" + 201 L"\x0055\x006E\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0074\x0065\x0078\x0074\x0020\x0062\x0065\x0066\x006F\x0072\x0065\x0020\x0072\x006F\x006F\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x00" + 202 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0074\x0061\x0067\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 203 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x00" + 204 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0065\x006E\x0064\x0020\x0074\x0061\x0067\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 205 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0074\x0079\x0070\x0065\x0020\x0028\x0043\x0044\x0041\x0054\x0041\x002C\x0020\x0049\x0044\x002C\x0020\x004E\x004D\x0054\x004F\x004B\x0045\x004E\x002C\x0020\x002E\x002E\x0029\x002C\x0020\x0066\x006F\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x006F\x0066\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0031\x007D\x0027\x00" + 206 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0065\x006E\x0064\x0020\x006F\x0066\x0020\x0074\x0061\x0067\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 207 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0074\x0061\x0067\x0020\x006E\x0061\x006D\x0065\x002C\x0020\x0063\x006F\x006D\x006D\x0065\x006E\x0074\x002C\x0020\x0050\x0049\x002C\x0020\x006F\x0072\x0020\x006F\x0074\x0068\x0065\x0072\x0020\x006D\x0061\x0072\x006B\x0075\x0070\x00" + 208 L"\x004E\x006F\x0074\x0020\x0076\x0061\x006C\x0069\x0064\x0020\x0061\x0066\x0074\x0065\x0072\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x00" + 209 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0063\x006F\x006D\x006D\x0065\x006E\x0074\x00" + 210 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0063\x006F\x006D\x006D\x0065\x006E\x0074\x0020\x006F\x0072\x0020\x0070\x0072\x006F\x0063\x0065\x0073\x0073\x0069\x006E\x0067\x0020\x0069\x006E\x0073\x0074\x0072\x0075\x0063\x0074\x0069\x006F\x006E\x00" + 211 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0077\x0068\x0069\x0074\x0065\x0073\x0070\x0061\x0063\x0065\x00" + 212 L"\x004E\x006F\x0020\x0072\x006F\x006F\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x006E\x0020\x0044\x004F\x0043\x0054\x0059\x0050\x0045\x00" + 213 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0071\x0075\x006F\x0074\x0065\x0064\x0020\x0073\x0074\x0072\x0069\x006E\x0067\x00" + 214 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0070\x0075\x0062\x006C\x0069\x0063\x0020\x0069\x0064\x00" + 215 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0069\x006E\x0020\x0070\x0075\x0062\x006C\x0069\x0063\x0020\x0069\x0064\x0020\x0028\x0055\x006E\x0069\x0063\x006F\x0064\x0065\x003A\x0020\x0030\x0078\x007B\x0030\x007D\x0029\x00" + 216 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0044\x004F\x0043\x0054\x0059\x0050\x0045\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00" + 217 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0069\x006E\x0020\x0069\x006E\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0073\x0075\x0062\x0073\x0065\x0074\x0020\x0028\x0055\x006E\x0069\x0063\x006F\x0064\x0065\x003A\x0020\x0030\x0078\x007B\x0030\x007D\x0029\x00" + 218 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0043\x0044\x0041\x0054\x0041\x0020\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x00" + 219 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0069\x006E\x0069\x0074\x0069\x0061\x006C\x0020\x006E\x0061\x006D\x0065\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00" + 220 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x006E\x0061\x006D\x0065\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00" + 221 L"\x0055\x006E\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0077\x0068\x0069\x0074\x0065\x0073\x0070\x0061\x0063\x0065\x00" + 222 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0069\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x007B\x0030\x007D\x0020\x0028\x0055\x006E\x0069\x0063\x006F\x0064\x0065\x003A\x0020\x0030\x0078\x007B\x0031\x007D\x0029\x00" + 223 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0020\x006D\x0061\x0072\x006B\x0075\x0070\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00" + 224 L"\x0054\x0065\x0078\x0074\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x006E\x006F\x0074\x0020\x006C\x0065\x0067\x0061\x006C\x0020\x0068\x0065\x0072\x0065\x00" + 225 L"\x0043\x006F\x006E\x0064\x0069\x0074\x0069\x006F\x006E\x0061\x006C\x0020\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x0020\x0069\x006E\x0020\x0069\x006E\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0073\x0075\x0062\x0073\x0065\x0074\x00" + 226 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0070\x0061\x0072\x0061\x006D\x0065\x0074\x0065\x0072\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x006E\x0061\x006D\x0065\x00" + 227 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 228 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x00" + 229 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x00" + 230 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x006E\x0061\x006D\x0065\x0020\x0066\x006F\x0072\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x00" + 231 L"\x0045\x006E\x0074\x0069\x0074\x0079\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0077\x0061\x0073\x0020\x006E\x006F\x0074\x0020\x0066\x006F\x0075\x006E\x0064\x00" + 232 L"\x0055\x006E\x0070\x0061\x0072\x0073\x0065\x0064\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0073\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x002C\x0020\x006E\x006F\x0074\x0020\x0076\x0061\x006C\x0069\x0064\x0020\x0068\x0065\x0072\x0065\x00" + 233 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 234 L"\x0052\x0065\x0063\x0075\x0072\x0073\x0069\x0076\x0065\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0065\x0078\x0070\x0061\x006E\x0073\x0069\x006F\x006E\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 235 L"\x0050\x0061\x0072\x0074\x0069\x0061\x006C\x0020\x006D\x0061\x0072\x006B\x0075\x0070\x0020\x0069\x006E\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0076\x0061\x006C\x0075\x0065\x00" + 236 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x002C\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 237 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0073\x0070\x0065\x0063\x0069\x0066\x0069\x0063\x0061\x0074\x0069\x006F\x006E\x0020\x0065\x0078\x0070\x0072\x0065\x0073\x0073\x0069\x006F\x006E\x0020\x0066\x006F\x0072\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 238 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0073\x0074\x0065\x0072\x0069\x0073\x006B\x00" + 239 L"\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0061\x0020\x006D\x0069\x0078\x0065\x0064\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x0020\x0074\x0068\x0061\x0074\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0070\x0072\x006F\x0070\x0065\x0072\x006C\x0079\x002E\x00" + 240 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0073\x0079\x0073\x0074\x0065\x006D\x0020\x0069\x0064\x00" + 241 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0073\x0079\x0073\x0074\x0065\x006D\x0020\x006F\x0072\x0020\x0070\x0075\x0062\x006C\x0069\x0063\x0020\x0069\x0064\x00" + 242 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x006E\x006F\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x00" + 243 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0027\x002C\x0027\x002C\x0020\x0027\x007C\x0027\x002C\x0020\x006F\x0072\x0020\x0027\x0029\x0027\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0073\x00" + 244 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0027\x007C\x0027\x0020\x006F\x0072\x0020\x0027\x0029\x0027\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0073\x00" + 245 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0027\x002C\x0027\x0020\x006F\x0072\x0020\x0027\x0029\x0027\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0073\x0020\x006F\x0072\x0020\x0063\x006C\x006F\x0073\x0065\x0020\x0070\x0061\x0072\x0065\x006E\x0074\x0068\x0065\x0073\x0069\x0073\x0020\x0069\x006E\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x0020\x006F\x0066\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 246 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0065\x006E\x0075\x006D\x0065\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0066\x006F\x0072\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 247 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x007C\x0020\x0065\x006E\x0075\x006D\x0065\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0073\x0065\x0070\x0061\x0072\x0061\x0074\x006F\x0072\x002C\x0020\x006F\x0072\x0020\x0063\x006C\x006F\x0073\x0069\x006E\x0067\x0020\x0070\x0061\x0072\x0065\x006E\x00" + 248 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x006C\x0069\x0074\x0065\x0072\x0061\x006C\x00" + 249 L"\x0054\x0068\x0065\x0072\x0065\x0020\x0061\x0072\x0065\x0020\x006D\x006F\x0072\x0065\x0020\x0065\x006E\x0064\x0020\x0074\x0061\x0067\x0073\x0020\x0074\x0068\x0061\x006E\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0074\x0061\x0067\x0073\x00" + 250 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x006E\x0020\x006F\x0070\x0065\x006E\x0020\x0070\x0061\x0072\x0065\x006E\x0074\x0068\x0065\x0073\x0069\x0073\x00" + 251 L"\x0054\x0068\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0075\x0073\x0065\x0064\x0020\x0069\x006E\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0031\x007D\x0027\x00" + 252 L"\x0041\x0020\x0027\x003C\x0027\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0075\x0073\x0065\x0064\x0020\x0069\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x002C\x0020\x0065\x0078\x0063\x0065\x0070\x0074\x0020\x0074\x0068\x0072\x006F\x0075\x0067\x0068\x0020\x0026\x006C\x0074\x003B\x00" + 253 L"\x0041\x0020\x006C\x0065\x0061\x0064\x0069\x006E\x0067\x0020\x0073\x0075\x0072\x0072\x006F\x0067\x0061\x0074\x0065\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0077\x0061\x0073\x0020\x006E\x006F\x0074\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0062\x0079\x0020\x0061\x0020\x006C\x0065\x0067\x0061\x006C\x0020\x0073\x0065\x0063\x006F\x006E\x0064\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00" + 254 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0027\x005D\x005D\x003E\x0027\x0020\x0074\x006F\x0020\x0065\x006E\x0064\x0020\x0061\x0020\x0063\x006F\x006E\x0064\x0069\x0074\x0069\x006F\x006E\x0061\x006C\x0020\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x00" + 255 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0049\x004E\x0043\x004C\x0055\x0044\x0045\x0020\x006F\x0072\x0020\x0049\x0047\x004E\x004F\x0052\x0045\x0020\x0068\x0065\x0072\x0065\x00" + 256 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x005B\x0020\x0074\x006F\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0020\x0049\x004E\x0043\x004C\x0055\x0044\x0045\x0020\x006F\x0072\x0020\x0049\x0047\x004E\x004F\x0052\x0045\x00" + 257 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0020\x0054\x0065\x0078\x0074\x0044\x0065\x0063\x006C\x0020\x0068\x0065\x0072\x0065\x003A\x0020\x003C\x003F\x0078\x006D\x006C\x0020\x002E\x002E\x002E\x002E\x00" + 258 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0020\x0058\x004D\x004C\x0044\x0065\x0063\x006C\x0020\x0068\x0065\x0072\x0065\x003A\x0020\x003C\x003F\x0078\x006D\x006C\x0020\x002E\x002E\x002E\x002E\x00" + 259 L"\x0055\x006E\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0065\x006E\x0064\x0020\x006F\x0066\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x007B\x0030\x007D\x00" + 260 L"\x0041\x0020\x0050\x0045\x0020\x0070\x0072\x006F\x0070\x0061\x0067\x0061\x0074\x0065\x0064\x0020\x006F\x0075\x0074\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0069\x006E\x0074\x002F\x0065\x0078\x0074\x0020\x0073\x0075\x0062\x0073\x0065\x0074\x002C\x0020\x0064\x0069\x0073\x0063\x0061\x0072\x0064\x0069\x006E\x0067\x0020\x0065\x0078\x0074\x0072\x0061\x0020\x0074\x0065\x0078\x0074\x00" + 261 L"\x0041\x006E\x0020\x0065\x0078\x0074\x0072\x0061\x0020\x005D\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0077\x0061\x0073\x0020\x0066\x006F\x0075\x006E\x0064\x0020\x0061\x006E\x0020\x0069\x0067\x006E\x006F\x0072\x0065\x0064\x00" + 262 L"\x0050\x0045\x0020\x0072\x0065\x0066\x0073\x0020\x0061\x0072\x0065\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0069\x006E\x0073\x0069\x0064\x0065\x0020\x006D\x0061\x0072\x006B\x0075\x0070\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0069\x006E\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0073\x0075\x0062\x0073\x0065\x0074\x00" + 263 L"\x0041\x006E\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0070\x0072\x006F\x0070\x0061\x0067\x0061\x0074\x0065\x0064\x0020\x006F\x0075\x0074\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x0020\x0069\x006E\x0074\x006F\x0020\x004D\x0069\x0073\x0063\x0065\x006C\x006C\x0061\x006E\x0065\x006F\x0075\x0073\x00" + 264 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0026\x0023\x0020\x0074\x006F\x0020\x0062\x0065\x0020\x0066\x006F\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0062\x0079\x0020\x0061\x0020\x006E\x0075\x006D\x0065\x0072\x0069\x0063\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0076\x0061\x006C\x0075\x0065\x00" + 265 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x006E\x0020\x006F\x0070\x0065\x006E\x0020\x0062\x0072\x0061\x0063\x006B\x0065\x0074\x0020\x0028\x0027\x005B\x0027\x0029\x0020\x0068\x0065\x0072\x0065\x00" + 266 L"\x0054\x0068\x0065\x0020\x0073\x0065\x0071\x0075\x0065\x006E\x0063\x0065\x0020\x0027\x005D\x005D\x003E\x0027\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0069\x006E\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0064\x0061\x0074\x0061\x00" + 267 L"\x0049\x006C\x006C\x0065\x0067\x0061\x006C\x0020\x0073\x0065\x0071\x0075\x0065\x006E\x0063\x0065\x0020\x0027\x002D\x002D\x0027\x0020\x0069\x006E\x0020\x0063\x006F\x006D\x006D\x0065\x006E\x0074\x00" + 268 L"\x0055\x006E\x0074\x0065\x0072\x006D\x0069\x006E\x0061\x0074\x0065\x0064\x0020\x0043\x0044\x0041\x0054\x0041\x0020\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x00" + 269 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x004E\x0044\x0041\x0054\x0041\x00" + 270 L"\x004E\x0044\x0041\x0054\x0041\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x006C\x0065\x0067\x0061\x006C\x0020\x0066\x006F\x0072\x0020\x0070\x0061\x0072\x0061\x006D\x0065\x0074\x0065\x0072\x0020\x0065\x006E\x0074\x0069\x0074\x0069\x0065\x0073\x00" + 271 L"\x0048\x0065\x0078\x0020\x0072\x0061\x0064\x0069\x0078\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0072\x0065\x0066\x0073\x0020\x006D\x0075\x0073\x0074\x0020\x0075\x0073\x0065\x0020\x0027\x0078\x0027\x002C\x0020\x006E\x006F\x0074\x0020\x0027\x0058\x0027\x00" + 272 L"\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x0061\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0062\x0065\x0065\x006E\x0020\x0073\x0065\x0074\x002E\x0020\x0049\x0067\x006E\x006F\x0072\x0069\x006E\x0067\x0020\x0072\x0065\x0064\x0075\x006E\x0064\x0061\x006E\x0074\x0020\x0073\x0065\x0074\x0074\x0069\x006E\x0067\x00" + 273 L"\x0054\x0068\x0065\x0020\x0058\x004D\x004C\x0044\x0065\x0063\x006C\x0020\x0073\x0074\x0072\x0069\x006E\x0067\x0073\x0020\x006D\x0075\x0073\x0074\x0020\x0062\x0065\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x006F\x0072\x0064\x0065\x0072\x003A\x0020\x0076\x0065\x0072\x0073\x0069\x006F\x006E\x002C\x0020\x0065\x006E\x0063\x006F\x0064\x0069\x006E\x0067\x002C\x0020\x0073\x0074\x0061\x006E\x0064\x0061\x006C\x006F\x006E\x0065\x00" + 274 L"\x0045\x0078\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0065\x006E\x0074\x0069\x0074\x0069\x0065\x0073\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0072\x0065\x0066\x0065\x0072\x0072\x0065\x0064\x0020\x0074\x006F\x0020\x0066\x0072\x006F\x006D\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0073\x00" + 275 L"\x0054\x0068\x0065\x0020\x0058\x004D\x004C\x0020\x006F\x0072\x0020\x0054\x0065\x0078\x0074\x0020\x0064\x0065\x0063\x006C\x0020\x006D\x0075\x0073\x0074\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0077\x0069\x0074\x0068\x0020\x0027\x003C\x003F\x0078\x006D\x006C\x0020\x0027\x002C\x0020\x006E\x006F\x0074\x0020\x0027\x003C\x003F\x0058\x004D\x004C\x0020\x0027\x00" + 276 L"\x0045\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0061\x0020\x006C\x0069\x0074\x0065\x0072\x0061\x006C\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x006F\x0072\x0020\x0050\x0055\x0042\x004C\x0049\x0043\x002F\x0053\x0059\x0053\x0054\x0045\x004D\x0020\x0069\x0064\x00" + 277 L"\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x0020\x0076\x0061\x006C\x0069\x0064\x0020\x0064\x0069\x0067\x0069\x0074\x0020\x0066\x006F\x0072\x0020\x0074\x0068\x0065\x0020\x0069\x006E\x0064\x0069\x0063\x0061\x0074\x0065\x0064\x0020\x0072\x0061\x0064\x0069\x0078\x00" + 278 L"\x0054\x0068\x0065\x0020\x0069\x006E\x0070\x0075\x0074\x0020\x0065\x006E\x0064\x0065\x0064\x0020\x0062\x0065\x0066\x006F\x0072\x0065\x0020\x0061\x006C\x006C\x0020\x0073\x0074\x0061\x0072\x0074\x0065\x0064\x0020\x0074\x0061\x0067\x0073\x0020\x0077\x0065\x0072\x0065\x0020\x0065\x006E\x0064\x0065\x0064\x002E\x0020\x004C\x0061\x0073\x0074\x0020\x0074\x0061\x0067\x0020\x0073\x0074\x0061\x0072\x0074\x0065\x0064\x0020\x0077\x0061\x0073\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 279 L"\x0054\x0068\x0065\x0020\x0063\x006F\x006E\x0074\x0065\x006E\x0074\x0020\x006D\x006F\x0064\x0065\x006C\x0020\x0066\x006F\x0072\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0061\x006D\x0062\x0069\x0067\x0075\x006F\x0075\x0073\x00" + 280 L"\x004E\x0065\x0073\x0074\x0065\x0064\x0020\x0043\x0044\x0041\x0054\x0041\x0020\x0073\x0065\x0063\x0074\x0069\x006F\x006E\x0073\x0020\x0061\x0072\x0065\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x00" + 281 L"\x0054\x0068\x0065\x0020\x0070\x0072\x0065\x0066\x0069\x0078\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0068\x0061\x0073\x0020\x006E\x006F\x0074\x0020\x0062\x0065\x0065\x006E\x0020\x006D\x0061\x0070\x0070\x0065\x0064\x0020\x0074\x006F\x0020\x0061\x006E\x0079\x0020\x0055\x0052\x0049\x00" + 282 L"\x0054\x0068\x0065\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0061\x006E\x0064\x0020\x0074\x0068\x0065\x0020\x0065\x006E\x0064\x0020\x0074\x0061\x0067\x0020\x0077\x0065\x0072\x0065\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x0064\x0069\x0066\x0066\x0065\x0072\x0065\x006E\x0074\x0020\x0065\x006E\x0074\x0069\x0074\x0069\x0065\x0073\x00" + 283 L"\x0054\x0068\x0065\x0020\x006D\x0061\x0069\x006E\x0020\x0058\x004D\x004C\x0020\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0065\x006D\x0070\x0074\x0079\x00" + 284 L"\x0043\x0044\x0041\x0054\x0041\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x006F\x0075\x0074\x0073\x0069\x0064\x0065\x0020\x0074\x0068\x0065\x0020\x0072\x006F\x006F\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x00" + 285 L"\x004F\x006E\x006C\x0079\x0020\x006E\x0075\x006D\x0065\x0072\x0069\x0063\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0065\x006E\x0074\x0069\x0074\x0069\x0065\x0073\x0020\x006F\x0072\x0020\x0073\x0070\x0065\x0063\x0069\x0061\x006C\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x0020\x0065\x006E\x0074\x0069\x0074\x0069\x0065\x0073\x0020\x0061\x0072\x0065\x0020\x006C\x0065\x0067\x0061\x006C\x0020\x0068\x0065\x0072\x0065\x00" + 286 L"\x0047\x006F\x0074\x0020\x0061\x006E\x0020\x0075\x006E\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0074\x0072\x0061\x0069\x006C\x0069\x006E\x0067\x0020\x0073\x0075\x0072\x0072\x006F\x0067\x0061\x0074\x0065\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00" + 287 L"\x004E\x006F\x0020\x0070\x0072\x006F\x0063\x0065\x0073\x0073\x0069\x006E\x0067\x0020\x0069\x006E\x0073\x0074\x0072\x0075\x0063\x0074\x0069\x006F\x006E\x0020\x0073\x0074\x0061\x0072\x0074\x0073\x0020\x0077\x0069\x0074\x0068\x0020\x0027\x0078\x006D\x006C\x0027\x00" + 288 L"\x0054\x0068\x0065\x0020\x0058\x004D\x004C\x0020\x006F\x0072\x0020\x0054\x0065\x0078\x0074\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x006D\x0075\x0073\x0074\x0020\x0073\x0074\x0061\x0072\x0074\x0020\x0061\x0074\x0020\x006C\x0069\x006E\x0065\x002F\x0063\x006F\x006C\x0075\x006D\x006E\x0020\x0031\x002F\x0031\x00" + 289 L"\x0054\x0068\x0065\x0020\x0027\x0076\x0065\x0072\x0073\x0069\x006F\x006E\x003D\x0027\x0020\x0073\x0074\x0072\x0069\x006E\x0067\x0020\x0069\x0073\x0020\x0072\x0065\x0071\x0075\x0069\x0072\x0065\x0064\x0020\x0069\x006E\x0020\x0061\x006E\x0020\x0058\x004D\x004C\x0044\x0065\x0063\x006C\x00" + 290 L"\x0054\x0068\x0065\x0020\x0027\x0073\x0074\x0061\x006E\x0064\x0061\x006C\x006F\x006E\x0065\x003D\x0027\x0020\x0073\x0074\x0072\x0069\x006E\x0067\x0020\x0069\x0073\x0020\x006F\x006E\x006C\x0079\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0065\x0020\x006D\x0061\x0069\x006E\x0020\x0058\x004D\x004C\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x00" + 291 L"\x0054\x0068\x0065\x0020\x0027\x0065\x006E\x0063\x006F\x0064\x0069\x006E\x0067\x003D\x0027\x0020\x0073\x0074\x0072\x0069\x006E\x0067\x0020\x0069\x0073\x0020\x0072\x0065\x0071\x0075\x0069\x0072\x0065\x0064\x0020\x0069\x006E\x0020\x0061\x006E\x0020\x0054\x0065\x0078\x0074\x0020\x0044\x0065\x0063\x006C\x00" + 292 L"\x0057\x0068\x0065\x006E\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0073\x0020\x0061\x0072\x0065\x0020\x0065\x006E\x0061\x0062\x006C\x0065\x0064\x002C\x0020\x0061\x0020\x006E\x0061\x006D\x0065\x0020\x0063\x0061\x006E\x0020\x0068\x0061\x0076\x0065\x0020\x006F\x006E\x006C\x0079\x0020\x006F\x006E\x0065\x0020\x0063\x006F\x006C\x006F\x006E\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00" + 293 L"\x0057\x0068\x0065\x006E\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0073\x0020\x0061\x0072\x0065\x0020\x0065\x006E\x0061\x0062\x006C\x0065\x0064\x002C\x0020\x0074\x0068\x0065\x0020\x0063\x006F\x006C\x006F\x006E\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0074\x0068\x0065\x0020\x0066\x0069\x0072\x0073\x0074\x0020\x006F\x0072\x0020\x006C\x0061\x0073\x0074\x0020\x0063\x0068\x0061\x0072\x0061\x0063\x0074\x0065\x0072\x00" + 294 L"\x0043\x006F\x006C\x006F\x006E\x0073\x0020\x0061\x0072\x0065\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0069\x006E\x0020\x0074\x0068\x0069\x0073\x0020\x006E\x0061\x006D\x0065\x0020\x0077\x0068\x0065\x006E\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0073\x0020\x0061\x0072\x0065\x0020\x0065\x006E\x0061\x0062\x006C\x0065\x0064\x00" + 295 L"\x0041\x0020\x0073\x0079\x0073\x0074\x0065\x006D\x0020\x0065\x0078\x0063\x0065\x0070\x0074\x0069\x006F\x006E\x0020\x006F\x0063\x0063\x0075\x0072\x0072\x0065\x0064\x0020\x0064\x0075\x0072\x0069\x006E\x0067\x0020\x0070\x0072\x006F\x0063\x0065\x0073\x0073\x0069\x006E\x0067\x00" + 296 L"\x0041\x006E\x0020\x0065\x0078\x0063\x0065\x0070\x0074\x0069\x006F\x006E\x0020\x006F\x0063\x0063\x0075\x0072\x0072\x0065\x0064\x0021\x0020\x0054\x0079\x0070\x0065\x003A\x007B\x0030\x007D\x002C\x0020\x004D\x0065\x0073\x0073\x0061\x0067\x0065\x003A\x007B\x0031\x007D\x00" + 297 L"\x0055\x006E\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0020\x0065\x006E\x0064\x0020\x006F\x0066\x0020\x0066\x0069\x006C\x0065\x0020\x0065\x0078\x0063\x0065\x0070\x0074\x0069\x006F\x006E\x002E\x0020\x004D\x0065\x0073\x0073\x0061\x0067\x0065\x003A\x0020\x007B\x0030\x007D\x00" + 298 L"\x0055\x006E\x0065\x0078\x0070\x0065\x0063\x0074\x0065\x0064\x0045\x0072\x0072\x006F\x0072\x00" + 299 L"\x0054\x0068\x0065\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x004C\x006F\x0063\x0061\x0074\x0069\x006F\x006E\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0064\x006F\x0065\x0073\x0020\x006E\x006F\x0074\x0020\x0063\x006F\x006E\x0074\x0061\x0069\x006E\x0020\x0070\x0061\x0069\x0072\x0073\x0020\x006F\x0066\x0020\x0076\x0061\x006C\x0075\x0065\x0073\x002E\x00" + 300 L"\x0049\x006E\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0065\x0072\x0072\x006F\x0072\x003A\x0020\x0064\x006F\x006E\x0027\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x0047\x0072\x0061\x006D\x006D\x0061\x0072\x0052\x0065\x0073\x006F\x006C\x0076\x0065\x0072\x0020\x0066\x006F\x0072\x0020\x0054\x0072\x0061\x0076\x0065\x0072\x0073\x0065\x0053\x0063\x0068\x0065\x006D\x0061\x00" + 301 L"\x0046\x0061\x0074\x0061\x006C\x0020\x0065\x0072\x0072\x006F\x0072\x0020\x0065\x006E\x0063\x006F\x0075\x006E\x0074\x0065\x0072\x0065\x0064\x0020\x0064\x0075\x0072\x0069\x006E\x0067\x0020\x0073\x0063\x0068\x0065\x006D\x0061\x0020\x0073\x0063\x0061\x006E\x00" + 302 L"\x0052\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0020\x0074\x006F\x0020\x0065\x0078\x0074\x0065\x0072\x006E\x0061\x006C\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x006E\x006F\x0074\x0020\x0061\x006C\x006C\x006F\x0077\x0065\x0064\x0020\x0069\x006E\x0020\x0061\x0020\x0073\x0074\x0061\x006E\x0064\x0061\x006C\x006F\x006E\x0065\x0020\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x002E\x00" + 303 L"\x0050\x0061\x0072\x0074\x0069\x0061\x006C\x0020\x006D\x0061\x0072\x006B\x0075\x0070\x0020\x0069\x006E\x0020\x0070\x0061\x0072\x0061\x006D\x0065\x0074\x0065\x0072\x0020\x0065\x006E\x0074\x0069\x0074\x0079\x0020\x0072\x0065\x0070\x006C\x0061\x0063\x0065\x006D\x0065\x006E\x0074\x0020\x0074\x0065\x0078\x0074\x0020\x0069\x006E\x0020\x0061\x0020\x0063\x006F\x006D\x0070\x006C\x0065\x0074\x0065\x0020\x0064\x0065\x0063\x006C\x0061\x0072\x0061\x0074\x0069\x006F\x006E\x002E\x00" + 304 L"\x0054\x0068\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x006F\x0066\x0020\x0074\x0068\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x0073\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x002E\x0020\x0050\x0072\x0065\x0066\x0069\x0078\x0065\x0064\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0062\x0069\x006E\x0064\x0069\x006E\x0067\x0073\x0020\x006D\x0061\x0079\x0020\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0065\x006D\x0070\x0074\x0079\x002E\x00" + 305 L"\x0054\x0068\x0065\x0020\x0070\x0072\x0065\x0066\x0069\x0078\x0020\x0027\x0078\x006D\x006C\x006E\x0073\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0062\x006F\x0075\x006E\x0064\x0020\x0074\x006F\x0020\x0061\x006E\x0079\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0065\x0078\x0070\x006C\x0069\x0063\x0069\x0074\x006C\x0079\x002E\x00" + 306 L"\x0054\x0068\x0065\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0066\x006F\x0072\x0020\x0027\x0078\x006D\x006C\x006E\x0073\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0062\x006F\x0075\x006E\x0064\x0020\x0074\x006F\x0020\x0061\x006E\x0079\x0020\x0070\x0072\x0065\x0066\x0069\x0078\x0020\x0065\x0078\x0070\x006C\x0069\x0063\x0069\x0074\x006C\x0079\x002E\x00" + 307 L"\x0054\x0068\x0065\x0020\x0070\x0072\x0065\x0066\x0069\x0078\x0020\x0027\x0078\x006D\x006C\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0062\x006F\x0075\x006E\x0064\x0020\x0074\x006F\x0020\x0061\x006E\x0079\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x006F\x0074\x0068\x0065\x0072\x0020\x0074\x0068\x0061\x006E\x0020\x0069\x0074\x0073\x0020\x0075\x0073\x0075\x0061\x006C\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x002E\x00" + 308 L"\x0054\x0068\x0065\x0020\x006E\x0061\x006D\x0065\x0073\x0070\x0061\x0063\x0065\x0020\x0066\x006F\x0072\x0020\x0027\x0078\x006D\x006C\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0062\x0065\x0020\x0062\x006F\x0075\x006E\x0064\x0020\x0074\x006F\x0020\x0061\x006E\x0079\x0020\x0070\x0072\x0065\x0066\x0069\x0078\x0020\x006F\x0074\x0068\x0065\x0072\x0020\x0074\x0068\x0061\x006E\x0020\x0027\x0078\x006D\x006C\x0027\x002E\x00" + 309 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0063\x0061\x006E\x006E\x006F\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0027\x0078\x006D\x006C\x006E\x0073\x0027\x0020\x0061\x0073\x0020\x0069\x0074\x0073\x0020\x0070\x0072\x0065\x0066\x0069\x0078\x002E\x00" + 310 L"\x0043\x006F\x006D\x0070\x006C\x0065\x0078\x0020\x0054\x0079\x0070\x0065\x0020\x0044\x0065\x0066\x0069\x006E\x0069\x0074\x0069\x006F\x006E\x0020\x0052\x0065\x0070\x0072\x0065\x0073\x0065\x006E\x0074\x0061\x0074\x0069\x006F\x006E\x0020\x004F\x004B\x0020\x002D\x0020\x0032\x002E\x0032\x003A\x0020\x003C\x0072\x0065\x0073\x0074\x0072\x0069\x0063\x0074\x0069\x006F\x006E\x003E\x0020\x006D\x0075\x0073\x0074\x0020\x0068\x0061\x0076\x0065\x0020\x0061\x0020\x003C\x0073\x0069\x006D\x0070\x006C\x0065\x0054\x0079\x0070\x0065\x003E\x0020\x0063\x0068\x0069\x006C\x0064\x002E\x00" + 311 L"\x0044\x004F\x0043\x0054\x0059\x0050\x0045\x0020\x0072\x006F\x006F\x0074\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0071\x006E\x0061\x006D\x0065\x0020\x0062\x0065\x0067\x0069\x006E\x006E\x0069\x006E\x0067\x0020\x0077\x0069\x0074\x0068\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x00" + 312 L"\x0045\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0071\x006E\x0061\x006D\x0065\x0020\x0062\x0065\x0067\x0069\x006E\x006E\x0069\x006E\x0067\x0020\x0077\x0069\x0074\x0068\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x00" + 313 L"\x0041\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0071\x006E\x0061\x006D\x0065\x0020\x0062\x0065\x0067\x0069\x006E\x006E\x0069\x006E\x0067\x0020\x0077\x0069\x0074\x0068\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x00" + 314 L"\x0045\x006E\x0074\x0069\x0074\x0079\x0020\x0071\x006E\x0061\x006D\x0065\x0020\x0066\x006F\x0072\x0020\x0072\x0065\x0066\x0065\x0072\x0065\x006E\x0063\x0065\x0020\x0062\x0065\x0067\x0069\x006E\x006E\x0069\x006E\x0067\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x006E\x0076\x0061\x006C\x0069\x0064\x00" + 315 L"\x0041\x006C\x0072\x0065\x0061\x0064\x0079\x0020\x0073\x0065\x0065\x006E\x0020\x0064\x006F\x0063\x0074\x0079\x0070\x0065\x00" + 316 L"\x0046\x006F\x0075\x006E\x0064\x0020\x0061\x0020\x0066\x0061\x006C\x006C\x0062\x0061\x0063\x006B\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x006E\x006F\x0074\x0020\x0061\x0020\x0064\x0069\x0072\x0065\x0063\x0074\x0020\x0063\x0068\x0069\x006C\x0064\x0020\x006F\x0066\x0020\x0069\x006E\x0063\x006C\x0075\x0064\x0065\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x00" + 317 L"\x0069\x006E\x0063\x006C\x0075\x0064\x0065\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0066\x006F\x0075\x006E\x0064\x0020\x0077\x0069\x0074\x0068\x006F\x0075\x0074\x0020\x0068\x0072\x0065\x0066\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x00" + 318 L"\x0046\x006F\x0075\x006E\x0064\x0020\x0061\x006E\x0020\x0069\x006E\x0063\x006C\x0075\x0064\x0065\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0077\x0069\x0074\x0068\x0020\x0078\x0070\x006F\x0069\x006E\x0074\x0065\x0072\x0020\x0073\x0070\x0065\x0063\x0069\x0066\x0069\x0063\x0061\x0074\x0069\x006F\x006E\x002E\x0020\x0058\x0050\x006F\x0069\x006E\x0074\x0065\x0072\x0020\x006E\x006F\x0074\x0020\x0079\x0065\x0074\x0020\x0073\x0075\x0070\x0070\x006F\x0072\x0074\x0065\x0064\x00" + 319 L"\x0049\x006E\x0076\x0061\x006C\x0069\x0064\x0020\x0070\x0061\x0072\x0073\x0065\x0020\x0061\x0074\x0074\x0072\x0069\x0062\x0075\x0074\x0065\x0020\x0076\x0061\x006C\x0075\x0065\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0066\x006F\x0075\x006E\x0064\x0020\x006F\x006E\x0020\x0069\x006E\x0063\x006C\x0075\x0064\x0065\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x002D\x0020\x006F\x006E\x006C\x0079\x0020\x0074\x0065\x0078\x0074\x0020\x006F\x0072\x0020\x0078\x006D\x006C\x0020\x0069\x0073\x0020\x0076\x0061\x006C\x0069\x0064\x00" + 320 L"\x004D\x0075\x006C\x0074\x0069\x0070\x006C\x0065\x0020\x0066\x0061\x006C\x006C\x0062\x0061\x0063\x006B\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0073\x0020\x0066\x006F\x0075\x006E\x0064\x0020\x0069\x006E\x0020\x0069\x006E\x0063\x006C\x0075\x0064\x0065\x0020\x0065\x006C\x0065\x006D\x0065\x006E\x0074\x0020\x0069\x006E\x0020\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 321 L"\x0049\x006E\x0063\x006C\x0075\x0064\x0065\x0020\x0066\x0061\x0069\x006C\x0065\x0064\x002C\x0020\x006E\x006F\x0020\x0066\x0061\x006C\x006C\x0062\x0061\x0063\x006B\x0020\x0066\x006F\x0075\x006E\x0064\x0020\x0069\x006E\x0020\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x00" + 322 L"\x0043\x0069\x0072\x0063\x0075\x006C\x0061\x0072\x0020\x0069\x006E\x0063\x006C\x0075\x0073\x0069\x006F\x006E\x0020\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x006E\x0063\x006C\x0075\x0064\x0065\x0073\x0020\x0070\x0072\x0065\x0076\x0069\x006F\x0075\x0073\x006C\x0079\x0020\x0069\x006E\x0063\x006C\x0075\x0064\x0065\x0064\x0020\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x00" + 323 L"\x0043\x0069\x0072\x0063\x0075\x006C\x0061\x0072\x0020\x0069\x006E\x0063\x006C\x0075\x0073\x0069\x006F\x006E\x0020\x0064\x006F\x0063\x0075\x006D\x0065\x006E\x0074\x0020\x0027\x007B\x0030\x007D\x0027\x0020\x0069\x006E\x0063\x006C\x0075\x0064\x0065\x0073\x0020\x0069\x0074\x0073\x0065\x006C\x0066\x00" END STRINGTABLE DISCARDABLE BEGIN diff --git a/src/xercesc/util/XMLUni.cpp b/src/xercesc/util/XMLUni.cpp index 9c0dbfac66eea600459bfab622d073aff49673e2..db6027ab4fb5586b0534a026b2137a894d736e41 100644 --- a/src/xercesc/util/XMLUni.cpp +++ b/src/xercesc/util/XMLUni.cpp @@ -900,6 +900,14 @@ const XMLCh XMLUni::fgXSerializationException_Name[] = , chLatin_p, chLatin_t, chLatin_i, chLatin_o, chLatin_n, chNull }; +const XMLCh XMLUni::fgXMLXIncludeException_Name[] = +{ + chLatin_X, chLatin_M, chLatin_L, chLatin_X, chLatin_I, chLatin_n + , chLatin_c, chLatin_l, chLatin_u, chLatin_d, chLatin_e, chLatin_E + , chLatin_x, chLatin_c, chLatin_e, chLatin_p, chLatin_t, chLatin_i + , chLatin_o, chLatin_n, chNull +}; + const XMLCh XMLUni::fgNegINFString[] = { chDash, chLatin_I, chLatin_N, chLatin_F, chNull @@ -1657,6 +1665,13 @@ const XMLCh XMLUni::fgXercescInterfaceDOMDocumentTypeImpl[] = chLatin_e, chLatin_I, chLatin_m, chLatin_p, chLatin_l, chNull }; +const XMLCh XMLUni::fgXercescInterfaceDOMDocumentImpl[] = +{ + chLatin_D, chLatin_O, chLatin_M, chLatin_D, chLatin_o, chLatin_c, chLatin_u, + chLatin_m, chLatin_e, chLatin_n, chLatin_t, chLatin_I, chLatin_m, chLatin_p, + chLatin_l, chNull +}; + const XMLCh XMLUni::fgXercescInterfaceDOMMemoryManager[] = { chLatin_D, chLatin_O, chLatin_M, chLatin_M, chLatin_e, chLatin_m, chLatin_o, @@ -1797,7 +1812,14 @@ const XMLCh XMLUni::fgBooleanValueSpace[][8] = { chDigit_1, chNull } }; +const XMLCh XMLUni::fgXercesDoXInclude[] = +{ + /* temp value */ + chLatin_D, chLatin_o, chLatin_X, chLatin_I, chNull +}; + const unsigned int XMLUni::fgBooleanValueSpaceArraySize = sizeof XMLUni::fgBooleanValueSpace / sizeof (XMLUni::fgBooleanValueSpace[0]); XERCES_CPP_NAMESPACE_END + diff --git a/src/xercesc/util/XMLUni.hpp b/src/xercesc/util/XMLUni.hpp index ce510a396c4015dfb4a744fa4aadf8186639d65e..544a62aa57c1f8f1de76887a1fe486b3fa177bf0 100644 --- a/src/xercesc/util/XMLUni.hpp +++ b/src/xercesc/util/XMLUni.hpp @@ -195,6 +195,7 @@ public : static const XMLCh fgSchemaDateTimeException_Name[]; static const XMLCh fgXPathException_Name[]; static const XMLCh fgXSerializationException_Name[]; + static const XMLCh fgXMLXIncludeException_Name[]; // Numerical String static const XMLCh fgNegINFString[]; @@ -233,6 +234,7 @@ public : static const XMLCh fgXercesSkipDTDValidation[]; static const XMLCh fgXercesEntityResolver[]; + static const XMLCh fgXercesDoXInclude[]; // SAX2 features/properties names static const XMLCh fgSAX2CoreValidation[]; static const XMLCh fgSAX2CoreNameSpaces[]; @@ -284,6 +286,7 @@ public : // Private interface names static const XMLCh fgXercescInterfacePSVITypeInfo[]; static const XMLCh fgXercescInterfaceDOMDocumentTypeImpl[]; + static const XMLCh fgXercescInterfaceDOMDocumentImpl[]; static const XMLCh fgXercescInterfaceDOMMemoryManager[]; // Locale diff --git a/src/xercesc/util/XercesDefs.hpp b/src/xercesc/util/XercesDefs.hpp index e967956b15fd49fdca118e54fc0d80a90fd48781..bb1d5aa8155fed55cdeb15ecdd06a92bfa0f8904 100644 --- a/src/xercesc/util/XercesDefs.hpp +++ b/src/xercesc/util/XercesDefs.hpp @@ -144,6 +144,7 @@ typedef XMLUInt32 UCS4Ch; #define CDOM_EXPORT XERCES_PLATFORM_EXPORT #define PARSERS_EXPORT XERCES_PLATFORM_EXPORT #define VALIDATORS_EXPORT XERCES_PLATFORM_EXPORT + #define XINCLUDE_EXPORT XERCES_PLATFORM_EXPORT #else #define XMLUTIL_EXPORT XERCES_PLATFORM_IMPORT #define XMLPARSER_EXPORT XERCES_PLATFORM_IMPORT @@ -152,6 +153,7 @@ typedef XMLUInt32 UCS4Ch; #define CDOM_EXPORT XERCES_PLATFORM_IMPORT #define PARSERS_EXPORT XERCES_PLATFORM_IMPORT #define VALIDATORS_EXPORT XERCES_PLATFORM_IMPORT + #define XINCLUDE_EXPORT XERCES_PLATFORM_IMPORT #endif #if defined(XERCES_BUILDING_DEPRECATED_LIBRARY) #define DEPRECATED_DOM_EXPORT XERCES_PLATFORM_EXPORT @@ -167,6 +169,7 @@ typedef XMLUInt32 UCS4Ch; #define DEPRECATED_DOM_EXPORT #define PARSERS_EXPORT #define VALIDATORS_EXPORT + #define XINCLUDE_EXPORT #endif #endif diff --git a/src/xercesc/xinclude/XIncludeDOMDocumentProcessor.cpp b/src/xercesc/xinclude/XIncludeDOMDocumentProcessor.cpp new file mode 100644 index 0000000000000000000000000000000000000000..00ca128657531199fd3906167aea4e6ccf555341 --- /dev/null +++ b/src/xercesc/xinclude/XIncludeDOMDocumentProcessor.cpp @@ -0,0 +1,80 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * $Id$ + */ + + +// --------------------------------------------------------------------------- +// Includes +// --------------------------------------------------------------------------- +#include <xercesc/xinclude/XIncludeDOMDocumentProcessor.hpp> +#include <xercesc/xinclude/XIncludeUtils.hpp> +#include <xercesc/dom/DOM.hpp> +#include <xercesc/util/XMLUniDefs.hpp> +#include <xercesc/framework/XMLErrorReporter.hpp> + +XERCES_CPP_NAMESPACE_BEGIN + +DOMDocument * +XIncludeDOMDocumentProcessor::doXIncludeDOMProcess(const DOMDocument * const source, XMLErrorReporter *errorHandler){ + XIncludeUtils xiu(errorHandler); + + DOMImplementation* impl = source->getImplementation(); + DOMDocument *xincludedDocument = impl->createDocument(); + + try + { + /* set up the declaration etc of the output document to match the source */ + xincludedDocument->setDocumentURI( source->getDocumentURI()); + xincludedDocument->setXmlStandalone( source->getXmlStandalone()); + xincludedDocument->setXmlVersion( source->getXmlVersion()); + + /* copy entire source document into the xincluded document. Xincluded document can + then be modified in place */ + DOMNode *child = source->getFirstChild(); + for (; child != NULL; child = child->getNextSibling()){ + if (child->getNodeType() == DOMNode::DOCUMENT_TYPE_NODE){ + /* I am simply ignoring these at the moment */ + continue; + } + DOMNode *newNode = xincludedDocument->importNode(child, true); + xincludedDocument->appendChild(newNode); + } + + DOMNode *docNode = xincludedDocument->getDocumentElement(); + /* parse and include the document node */ + xiu.parseDOMNodeDoingXInclude(docNode, xincludedDocument); + + xincludedDocument->normalizeDocument(); + } + catch(const XMLErrs::Codes) + { + xincludedDocument->release(); + return NULL; + } + catch(...) + { + xincludedDocument->release(); + throw; + } + + return xincludedDocument; +} + +XERCES_CPP_NAMESPACE_END diff --git a/src/xercesc/xinclude/XIncludeDOMDocumentProcessor.hpp b/src/xercesc/xinclude/XIncludeDOMDocumentProcessor.hpp new file mode 100644 index 0000000000000000000000000000000000000000..06494168f5a7bef1e74514d8134ca0fd8ce628e6 --- /dev/null +++ b/src/xercesc/xinclude/XIncludeDOMDocumentProcessor.hpp @@ -0,0 +1,56 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * $Id: $ + */ + +#if !defined(XINCLUDEDOMDOCUMENTPROCESSOR_HPP) +#define XINCLUDEDOMDOCUMENTPROCESSOR_HPP + +#include <xercesc/util/XercesDefs.hpp> +#include <xercesc/dom/DOM.hpp> +#include <xercesc/framework/XMLErrorReporter.hpp> + +XERCES_CPP_NAMESPACE_BEGIN + +/** + * Class for representing and manipulating the XMLCh * href's used + * by an xi:include element. + * + * This class is designed primarily for internal use. This class implements + * the functionality required to calculate relative hrefs and the base URI + * fixups required for performing XInclude functionality. + */ +class XINCLUDE_EXPORT XIncludeDOMDocumentProcessor +{ +public: + /** Walk the supplied DOMDocument performing all XInclude's as encountered. + * + * @param source A DOMDocument to parse, this document is not modified. + * @param errorHandled An errorHandler to call back in case of problems + * + * @return a newly created DOMDocument containing the parsed and actioned + * xinclude elements. + */ + DOMDocument *doXIncludeDOMProcess(const DOMDocument * const source, XMLErrorReporter *errorHandler); +}; + +XERCES_CPP_NAMESPACE_END + +#endif /* XINCLUDEDOMDOCUMENTPROCESSOR_HPP */ + diff --git a/src/xercesc/xinclude/XIncludeLocation.cpp b/src/xercesc/xinclude/XIncludeLocation.cpp new file mode 100644 index 0000000000000000000000000000000000000000..ac12582f40ea7c94a140e3499277c3e55c16dc6e --- /dev/null +++ b/src/xercesc/xinclude/XIncludeLocation.cpp @@ -0,0 +1,141 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * $Id$ + */ + + +// --------------------------------------------------------------------------- +// Includes +// --------------------------------------------------------------------------- +#include <xercesc/xinclude/XIncludeLocation.hpp> +#include <xercesc/dom/DOM.hpp> +#include <xercesc/util/XMLUniDefs.hpp> + +XERCES_CPP_NAMESPACE_BEGIN + +const XMLCh *allocate(const XMLCh *href){ + const XMLCh *allocated; + size_t length = XMLString::stringLen(href); + allocated = (const XMLCh *)XMLPlatformUtils::fgMemoryManager->allocate((length+1) * sizeof(XMLCh)); + XMLString::copyString((XMLCh *)allocated, href); + XMLPlatformUtils::removeDotDotSlash((XMLCh *const)allocated); + + return allocated; +} + +void deallocate(void *ptr){ + if (ptr) + XMLPlatformUtils::fgMemoryManager->deallocate((void *)ptr); +} + +// --------------------------------------------------------------------------- +// Destructor and Constructor +// --------------------------------------------------------------------------- +XIncludeLocation::XIncludeLocation(const XMLCh *href){ + size_t length = XMLString::stringLen(href); + fHref = allocate(href); +} + +XIncludeLocation::~XIncludeLocation(){ + deallocate((void *)fHref); +} + +const XMLCh * +XIncludeLocation::prependPath(const XMLCh *baseToAdd){ + XMLCh *relativeHref = NULL; + if (fHref == NULL){ + return NULL; + } + int fileLength = XMLString::stringLen(fHref); + + if (baseToAdd == NULL){ + return fHref; + } + + XMLPlatformUtils::removeDotDotSlash((XMLCh *const)baseToAdd); + int baseLength = XMLString::stringLen(baseToAdd); + + int lastSlash = XMLString::lastIndexOf(baseToAdd, chForwardSlash); + if (lastSlash == -1){ + /* not found, try another platform */ + lastSlash = XMLString::lastIndexOf(baseToAdd, chBackSlash); + } + if (lastSlash == -1){ + /* still no slash found */ + lastSlash = 0; + } + + relativeHref = (XMLCh *)XMLPlatformUtils::fgMemoryManager->allocate((fileLength + baseLength + 2) * sizeof(XMLCh)); + if (relativeHref == NULL){ + return NULL; + } + XMLString::copyNString(relativeHref, baseToAdd, lastSlash + 1); + relativeHref[lastSlash + 2] = chNull; + XMLString::catString(relativeHref, fHref); + + /* free the old reference */ + deallocate((void *)fHref); + + fHref = relativeHref; + return fHref; +} + +const XMLCh * +XIncludeLocation::findEndOfProtocol(const XMLCh *URI){ + if ( URI[0] == chLatin_f && + URI[1] == chLatin_i && + URI[2] == chLatin_l && + URI[3] == chLatin_e && + URI[4] == chColon && + URI[5] == chForwardSlash && + URI[6] == chForwardSlash && + URI[7] == chForwardSlash ) + { + return URI + 8; + } + + if ( URI[0] == chLatin_f && + URI[1] == chLatin_t && + URI[2] == chLatin_p && + URI[3] == chColon && + URI[4] == chForwardSlash && + URI[5] == chForwardSlash && + URI[6] == chForwardSlash ) + { + return URI + 7; + } + + if ( URI[0] == chLatin_h && + URI[1] == chLatin_t && + URI[2] == chLatin_t && + URI[3] == chLatin_p && + URI[4] == chColon && + URI[5] == chForwardSlash && + URI[6] == chForwardSlash && + URI[7] == chForwardSlash ) + { + return URI + 8; + } + + /* if method fails, simply return the URI and let the problem be detected + * and reported down the line (it may not have a protocol of course) */ + return URI; +} + +XERCES_CPP_NAMESPACE_END diff --git a/src/xercesc/xinclude/XIncludeLocation.hpp b/src/xercesc/xinclude/XIncludeLocation.hpp new file mode 100644 index 0000000000000000000000000000000000000000..c7dc56e6c00c7e207536a03523f52d4cc3c77419 --- /dev/null +++ b/src/xercesc/xinclude/XIncludeLocation.hpp @@ -0,0 +1,89 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * $Id: $ + */ + +#if !defined(XINCLUDELOCATION_HPP) +#define XINCLUDELOCATION_HPP + +#include <xercesc/util/XercesDefs.hpp> +#include <xercesc/dom/DOM.hpp> + +XERCES_CPP_NAMESPACE_BEGIN + + +/** + * Class for representing and manipulating the XMLCh * href's used + * by an xi:include element. + * + * This class is designed primarily for internal use. This class implements + * the functionality required to calculate relative hrefs and the base URI + * fixups required for performing XInclude functionality. + */ +class XINCLUDE_EXPORT XIncludeLocation +{ +public: + /** Create an XIncludeLocation, primed with the supplied href + * + * @param href the initial URI value + * + * @return nothing + */ + XIncludeLocation(const XMLCh *href); + + /** Destructor + * + * @return nothing + */ + ~XIncludeLocation(); + + /** Prepend the supplied href to the current location and modify the current XIncludeLocation's + * internal href field + * + * @param toPrepend the path to prepend + * + * @return the resultant compound URI + */ + const XMLCh *prependPath(const XMLCh *toPrepend); + + /** Get the current XIncludeLocation's compound URI location + * + * @return the current URI + */ + const XMLCh *getLocation(){ + return fHref; + }; + + /** Get a pointer to the end of the protocol section of a URI + * + * @param URI a URI to strip the protocol from + * + * @return a pointer into the supplied URI immediately after the last character of the protocol section + * the pointer points to the first character after the protocol. + */ + static const XMLCh *findEndOfProtocol(const XMLCh *URI); + +private: + const XMLCh *fHref; +}; + +XERCES_CPP_NAMESPACE_END + +#endif /* XINCLUDELOCATION_HPP */ + diff --git a/src/xercesc/xinclude/XIncludeUtils.cpp b/src/xercesc/xinclude/XIncludeUtils.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e998e1e32583db1c1f1efa0a01263e89e6dbcbfd --- /dev/null +++ b/src/xercesc/xinclude/XIncludeUtils.cpp @@ -0,0 +1,756 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * $Id$ + */ + +#include <xercesc/xinclude/XIncludeUtils.hpp> +#include <xercesc/xinclude/XIncludeLocation.hpp> +#include <xercesc/dom/DOM.hpp> +#include <xercesc/util/TransService.hpp> +#include <xercesc/util/XMLUri.hpp> +#include <xercesc/util/XMLMsgLoader.hpp> + +XERCES_CPP_NAMESPACE_BEGIN + +XIncludeUtils::XIncludeUtils(XMLErrorReporter *errorReporter){ + fErrorReporter = errorReporter; + fIncludeHistoryHead = NULL; +} + +XIncludeUtils::~XIncludeUtils(){ + freeInclusionHistory(); +} + +// --------------------------------------------------------------------------- +// Generic function to parse a dom node performing any Xinclude's it ecounters, +// storing its results in parsedDocument, which is expected to be a real +// document. sourceNode is the current location in parsedDocument, and +// all xinclude manipulation is done in place (i.e. source is manipulated). +// --------------------------------------------------------------------------- +bool +XIncludeUtils::parseDOMNodeDoingXInclude(DOMNode *sourceNode, DOMDocument *parsedDocument){ + int included = 0; + if (sourceNode) { + /* create the list of child elements here, since it gets changed during the parse */ + RefVectorOf<DOMNode> children(10, false); + for (DOMNode *child = sourceNode->getFirstChild(); child != NULL; child = child->getNextSibling()){ + children.addElement(child); + } + + if (sourceNode->getNodeType() == DOMNode::ELEMENT_NODE){ + if (isXIIncludeDOMNode(sourceNode)){ + /* once we do an include on the source element, it is unsafe to do the include + on the children, since they will have been changed by the top level include */ + bool success = doDOMNodeXInclude(sourceNode, parsedDocument); + + //popFromCurrentInclusionHistoryStack(NULL); + /* return here as we do not want to fall through to the parsing of the children below + - they should have been replaced by the XInclude */ + return success; + } else if (isXIFallbackDOMNode(sourceNode)){ + /* This must be a fallback element that is not a child of an include element. + This is defined as a fatal error */ + XIncludeUtils::reportError(sourceNode, XMLErrs::XIncludeOrphanFallback, + NULL, parsedDocument->getDocumentURI()); + return false; + } + } + + /* to have got here, we must not have found an xinclude element in the current element, so + need to walk the entire child list parsing for each. An xinclude in a + node does not affect a peer, so we can simply parse each child in turn */ + for (unsigned int i = 0; i < children.size(); i++){ + parseDOMNodeDoingXInclude(children.elementAt(i), parsedDocument); + } + } + return (included)?true:false; +} + +// --------------------------------------------------------------------------- +// utility func to extract a DOMNodes Base attr value if present +// --------------------------------------------------------------------------- +static const XMLCh * +getBaseAttrValue(DOMNode *node){ + if (node->getNodeType() == DOMNode::ELEMENT_NODE){ + DOMElement *elem = (DOMElement *)node; + if(elem->hasAttributes()) { + /* get all the attributes of the node */ + DOMNamedNodeMap *pAttributes = elem->getAttributes(); + int nSize = pAttributes->getLength(); + for(int i=0;i<nSize;++i) { + DOMAttr *pAttributeNode = (DOMAttr*) pAttributes->item(i); + /* get attribute name */ + if (XMLString::equals(pAttributeNode->getName(), XIncludeUtils::fgXIBaseAttrName)){ + /*if (namespace == XMLUni::fgXMLString){ + + }*/ + return pAttributeNode->getValue(); + } + } + } + } + return NULL; +} + +// --------------------------------------------------------------------------- +// This method assumes that currentNode is an xinclude element and parses +// it accordingly, acting on what it finds. +// --------------------------------------------------------------------------- +bool +XIncludeUtils::doDOMNodeXInclude(DOMNode *xincludeNode, DOMDocument *parsedDocument){ + bool modifiedNode = false; + /* the relevant attributes to look for */ + DOMNode *fallback = NULL; + const XMLCh *href = NULL; + const XMLCh *parse = NULL; + const XMLCh *xpointer = NULL; + const XMLCh *encoding = NULL; + const XMLCh *accept = NULL; + const XMLCh *acceptlanguage = NULL; + DOMNode *includeParent = xincludeNode->getParentNode(); + + + if(xincludeNode->hasAttributes()) { + /* get all the attributes of the node */ + DOMNamedNodeMap *pAttributes = xincludeNode->getAttributes(); + int nSize = pAttributes->getLength(); + for(int i=0;i<nSize;++i) { + DOMAttr *pAttributeNode = (DOMAttr*) pAttributes->item(i); + const XMLCh *attrName = pAttributeNode->getName(); + /* check each attribute against the potential useful names */ + if (XMLString::equals(attrName, XIncludeUtils::fgXIIncludeHREFAttrName)){ + href = pAttributeNode->getValue(); + } else if (XMLString::equals(attrName, XIncludeUtils::fgXIIncludeParseAttrName)){ + parse = pAttributeNode->getValue(); + } else if (XMLString::equals(attrName, XIncludeUtils::fgXIIncludeXPointerAttrName)){ + xpointer = pAttributeNode->getValue(); + } else if (XMLString::equals(attrName, XIncludeUtils::fgXIIncludeEncodingAttrName)){ + encoding = pAttributeNode->getValue(); + } else if (XMLString::equals(attrName, XIncludeUtils::fgXIIncludeAcceptAttrName)){ + accept = pAttributeNode->getValue(); + } else if (XMLString::equals(attrName, XIncludeUtils::fgXIIncludeAcceptLanguageAttrName)){ + acceptlanguage = pAttributeNode->getValue(); + } else { + /* if any other attribute is in the xi namespace, it's an error */ + const XMLCh *attrNamespaceURI = pAttributeNode->getNamespaceURI(); + if (attrNamespaceURI && XMLString::equals(attrNamespaceURI, XIncludeUtils::fgXIIIncludeNamespaceURI)){ + } else { + /* ignore - any other attribute is allowed according to spec, + and must be ignored */ + } + } + } + } + + if (href == NULL){ + /* this is an unrecoverable error until we have xpointer support - + if there is an xpointer, the current document is assumed + however, there is no xpointer support yet */ + XIncludeUtils::reportError(xincludeNode, XMLErrs::XIncludeNoHref, + NULL, parsedDocument->getDocumentURI()); + return false; + } + + /* set up the accept and accept-language values */ + if (accept != NULL){ + + } + + if (parse == NULL){ + /* use the default, as specified */ + parse = XIncludeUtils::fgXIIncludeParseAttrXMLValue; + } + + if (xpointer != NULL){ + /* not supported yet */ + /* Note that finding an xpointer attr along with parse="text" is a Fatal Error + * - http://www.w3.org/TR/xinclude/#include-location */ + XIncludeUtils::reportError(xincludeNode, XMLErrs::XIncludeXPointerNotSupported, + NULL, href); + return false; + } + + /* set up the href according to what has gone before */ + XIncludeLocation *hrefLoc = new XIncludeLocation(href); + XIncludeLocation *relativeLocation = new XIncludeLocation(href); + const XMLCh *includeBase = xincludeNode->getBaseURI(); + if (includeBase != NULL){ + hrefLoc->prependPath(includeBase); + } + + if (getBaseAttrValue(xincludeNode) != NULL){ + relativeLocation->prependPath(getBaseAttrValue(xincludeNode)); + } + + /* Take the relevant action - we need to retrieve the target as a whole before + we can know if it was successful or not, therefore the do* methods do + not modify the parsedDocument. Swapping the results in is left to the + caller (i.e. here) */ + DOMText *includedText = NULL; + DOMDocument *includedDoc = NULL; + if (XMLString::equals(parse, XIncludeUtils::fgXIIncludeParseAttrXMLValue)){ + /* including a XML element */ + includedDoc = doXIncludeXMLFileDOM(hrefLoc->getLocation(), relativeLocation->getLocation(), xincludeNode, parsedDocument); + } else if (XMLString::equals(parse, XIncludeUtils::fgXIIncludeParseAttrTextValue)){ + /* including a text value */ + includedText = doXIncludeTEXTFileDOM(hrefLoc->getLocation(), relativeLocation->getLocation(), encoding, parsedDocument); + } else { + //delete hrefLoc; + //delete relativeLocation; + /* invalid parse attribute value - fatal error according to the specification */ + XIncludeUtils::reportError(xincludeNode, XMLErrs::XIncludeInvalidParseVal, + parse, parsedDocument->getDocumentURI()); + return false; + } + + if (includedDoc == NULL && includedText == NULL){ + /* there was an error - this is now a resource error + let's see if there is a fallback */ + XIncludeUtils::reportError(xincludeNode, XMLErrs::XIncludeIncludeFailedResourceError, + hrefLoc->getLocation(), parsedDocument->getDocumentURI()); + DOMNode *child; + for (child = xincludeNode->getFirstChild(); child != 0; child=child->getNextSibling()){ + if ( isXIFallbackDOMNode(child) ){ + if (fallback != NULL){ + /* fatal error - there are more than one fallback children */ + XIncludeUtils::reportError(xincludeNode, XMLErrs::XIncludeMultipleFallbackElems, + parsedDocument->getDocumentURI(), parsedDocument->getDocumentURI()); + return false; + } + fallback = child; + } + } + + if (includeParent == NULL){ + includeParent = parsedDocument; + } + + if (fallback){ + if (fallback->hasChildNodes()){ + DOMNode *child = fallback->getFirstChild(); + /* add the content of the fallback element, and remove the fallback elem itself */ + for ( ; child != NULL ; child=child->getNextSibling()){ + if (child->getNodeType() == DOMNode::DOCUMENT_TYPE_NODE){ + continue; + } + DOMNode *newNode = parsedDocument->importNode(child, true); + DOMNode *newChild = includeParent->insertBefore(newNode, xincludeNode); + parseDOMNodeDoingXInclude(newChild, parsedDocument); + } + includeParent->removeChild(xincludeNode); + modifiedNode = true; + } else { + /* empty fallback element - simply remove it! */ + includeParent->removeChild(xincludeNode); + modifiedNode = true; + } + } else { + XIncludeUtils::reportError(xincludeNode, XMLErrs::XIncludeIncludeFailedNoFallback, + parsedDocument->getDocumentURI(), parsedDocument->getDocumentURI()); + return false; + } + } else { + if (includedDoc){ + /* record the successful include while we process the children */ + addDocumentURIToCurrentInclusionHistoryStack(hrefLoc->getLocation()); + + /* need to import the document prolog here */ + DOMNode *child = includedDoc->getFirstChild(); + for (; child != NULL; child = child->getNextSibling()){ + if (child->getNodeType() == DOMNode::DOCUMENT_TYPE_NODE){ + continue; + } + DOMNode *newNode = parsedDocument->importNode(child, true); + DOMNode *newChild = includeParent->insertBefore(newNode, xincludeNode); + parseDOMNodeDoingXInclude(newChild, parsedDocument); + } + includeParent->removeChild(xincludeNode); + popFromCurrentInclusionHistoryStack(NULL); + modifiedNode = true; + } else if (includedText){ + includeParent->replaceChild(includedText, xincludeNode); + modifiedNode = true; + } + } + + if (includedDoc) + includedDoc->release(); + + //delete hrefLoc; + //delete relativeLocation; + + return modifiedNode; +} + +DOMDocument * +XIncludeUtils::doXIncludeXMLFileDOM(const XMLCh *href, const XMLCh *relativeHref, DOMNode *includeNode, DOMDocument *parsedDocument){ + DOMDocument *includedNode = NULL; + XIDOMErrorHandler xierrhandler; + + if (XIncludeUtils::isInCurrentInclusionHistoryStack(href)){ + /* including something back up the current history */ + XIncludeUtils::reportError(parsedDocument, XMLErrs::XIncludeCircularInclusionLoop, + href, href); + return NULL; + } + + if (XMLString::equals(href, parsedDocument->getBaseURI())){ + /* trying to include itself */ + XIncludeUtils::reportError(parsedDocument, XMLErrs::XIncludeCircularInclusionDocIncludesSelf, + href, href); + return NULL; + } + + /* Instantiate the DOM parser. */ + static const XMLCh gLS[] = { chLatin_L, chLatin_S, chNull }; + DOMImplementation *impl = DOMImplementationRegistry::getDOMImplementation(gLS); + DOMLSParser *parser = ((DOMImplementationLS*)impl)->createLSParser(DOMImplementationLS::MODE_SYNCHRONOUS, 0); + DOMConfiguration *config = parser->getDomConfig(); + + config->setParameter(XMLUni::fgDOMNamespaces, true); + + /* set our error handler which will be used as a pass through */ + config->setParameter(XMLUni::fgDOMErrorHandler, &xierrhandler); + config->setParameter(XMLUni::fgDOMDisallowDoctype, false); + + /* need to be able to release the parser but keep the document */ + config->setParameter(XMLUni::fgXercesUserAdoptsDOMDocument, true); + + /* don't want to recurse the xi processing here */ + config->setParameter(XMLUni::fgXercesDoXInclude, false); + + try { + includedNode = parser->parseURI(href); + } + catch (const XMLException& /*toCatch*/) + { + XIncludeUtils::reportError(parsedDocument, XMLErrs::XIncludeResourceErrorWarning, + href, href); + includedNode = NULL; + } + catch (const DOMException& /*toCatch*/) + { + XIncludeUtils::reportError(parsedDocument, XMLErrs::XIncludeResourceErrorWarning, + href, href); + includedNode = NULL; + } + catch (...) + { + XIncludeUtils::reportError(parsedDocument, XMLErrs::XIncludeResourceErrorWarning, + href, href); + includedNode = NULL; + } + + //addDocumentURIToCurrentInclusionHistoryStack(href); + + if (includedNode != NULL){ + /* baseURI fixups - see http://www.w3.org/TR/xinclude/#base for details. */ + DOMNode *topLevelElement = includedNode->getDocumentElement(); + if (topLevelElement && topLevelElement->getNodeType() == DOMNode::ELEMENT_NODE ){ + XMLUri *parentURI = new XMLUri(includeNode->getBaseURI()); + XMLUri *includedURI = new XMLUri(includedNode->getBaseURI()); + + /* if the paths differ we need to add a base attribute */ + if (!XMLString::equals(parentURI->getPath(), includedURI->getPath())){ + if (getBaseAttrValue(topLevelElement) == NULL){ + /* need to calculate the proper path difference to get the relativePath */ + ((DOMElement *)topLevelElement)->setAttribute(fgXIBaseAttrName, relativeHref); + } else { + /* the included node has base of its own which takes precedence */ + XIncludeLocation *xil = new XIncludeLocation(getBaseAttrValue(topLevelElement)); + if (getBaseAttrValue(includeNode) != NULL){ + /* prepend any specific base modification of the xinclude node */ + xil->prependPath(getBaseAttrValue(includeNode)); + } + ((DOMElement *)topLevelElement)->setAttribute(fgXIBaseAttrName, xil->getLocation()); + delete xil; + } + } + delete parentURI; + delete includedURI; + } + } + parser->release(); + return includedNode; +} + +DOMText * +XIncludeUtils::doXIncludeTEXTFileDOM(const XMLCh *href, const XMLCh *relativeHref, const XMLCh *encoding, DOMDocument *parsedDocument){ + DOMText *ret = NULL; + bool xIncludeSuceeded; + + //addDocumentURIToCurrentInclusionHistoryStack(href); + + int pathLen = XMLString::stringLen(href); + /*(XMLString::stringLen(baseURI) + 9)*sizeof(XMLCh) + I am guessing 9 == "file:///" + 1 (nullTerm?) */ + XMLCh *fixedFullTargetPath = (XMLCh *)XMLPlatformUtils::fgMemoryManager->allocate((pathLen + 9) * sizeof(XMLCh)); + if (fixedFullTargetPath == NULL){ + return NULL; + } + XMLString::fixURI(href, fixedFullTargetPath); + + /* openFile doesn't like the protocol prefix, probably a better way of doing this. */ + const XMLCh *fileRefMinusProtocol = XIncludeLocation::findEndOfProtocol(fixedFullTargetPath); + FileHandle fh = XMLPlatformUtils::openFile(fileRefMinusProtocol); + if (fh == NULL){ + XIncludeUtils::reportError(parsedDocument, XMLErrs::XIncludeCannotOpenFile, + href, href); + return NULL; + } else { + /* TODO - is this really the easiest way to read in the file and pass it out to DocHandler? */ + XMLFilePos fileLen = XMLPlatformUtils::fileSize(fh); + XMLByte *buffer = (XMLByte *) XMLPlatformUtils::fgMemoryManager->allocate(fileLen * sizeof(XMLByte)); + XMLCh *xmlChars = (XMLCh *) XMLPlatformUtils::fgMemoryManager->allocate((fileLen + 1) * sizeof(XMLCh)); + unsigned char *charSizes = (unsigned char *)XMLPlatformUtils::fgMemoryManager->allocate(fileLen * sizeof(unsigned char)); + if (buffer != NULL && xmlChars != NULL && charSizes != NULL){ + XMLSize_t sizeRead = XMLPlatformUtils::readFileBuffer(fh, fileLen, buffer); + if (encoding == NULL){ + /* "UTF-8" is stipulated default by spec */ + encoding = XMLUni::fgUTF8EncodingString; + } + XMLTransService::Codes failReason; + XMLTranscoder* transcoder = XMLPlatformUtils::fgTransService->makeNewTranscoderFor(encoding, failReason, 16*1024); + if (failReason){ + xIncludeSuceeded = false; + XIncludeUtils::reportError(parsedDocument, XMLErrs::XIncludeCannotOpenFile, href, href); + return NULL; + } else { + unsigned int processedFromSource = 0; + int charsInBuffer = transcoder->transcodeFrom(buffer, sizeRead, xmlChars , fileLen, processedFromSource, charSizes); + xmlChars[fileLen] = chNull; + /* TODO check for and consume / act on byte order mark if present - + possibly done under the covers actually */ + xIncludeSuceeded = true; + } + + /* report or record the xmlChars */ + ret = parsedDocument->createTextNode(xmlChars); + + delete transcoder; + XMLPlatformUtils::fgMemoryManager->deallocate(buffer); + XMLPlatformUtils::fgMemoryManager->deallocate(fixedFullTargetPath); + XMLPlatformUtils::fgMemoryManager->deallocate(xmlChars); + XMLPlatformUtils::fgMemoryManager->deallocate(charSizes); + XMLPlatformUtils::closeFile(fh); + } else { + /* memory manager should have thrown an exception */ + return NULL; + } + } + return ret; +} + +bool +XIncludeUtils::isXIIncludeDOMNode(DOMNode *node){ + const XMLCh *nodeName = node->getLocalName(); + const XMLCh *namespaceURI = node->getNamespaceURI(); + + return isXIIncludeElement(nodeName, namespaceURI); +} + +bool +XIncludeUtils::isXIFallbackDOMNode(DOMNode *node){ + const XMLCh *nodeName = node->getLocalName(); + const XMLCh *namespaceURI = node->getNamespaceURI(); + + return isXIFallbackElement(nodeName, namespaceURI); +} + +bool +XIncludeUtils::isXIIncludeElement(const XMLCh *name, const XMLCh *namespaceURI){ + if (namespaceURI == NULL || name == NULL){ + /* no namespaces not supported */ + return false; + } + if (XMLString::equals(name, fgXIIncludeQName) + && XMLString::equals(namespaceURI, fgXIIIncludeNamespaceURI)){ + return true; + } + return false; +} + +bool +XIncludeUtils::isXIFallbackElement(const XMLCh *name, const XMLCh *namespaceURI){ + if (namespaceURI == NULL || name == NULL){ + /* no namespaces not supported */ + return false; + } + if (XMLString::equals(name, fgXIFallbackQName) + && XMLString::equals(namespaceURI, fgXIIIncludeNamespaceURI)){ + return true; + } + return false; +} + +/* 4.1.1 */ +const XMLCh * +XIncludeUtils::getEscapedHRefAttrValue(const XMLCh *hrefAttrValue, bool &needsDeallocating){ + XMLCh *escapedAttr = NULL; + return escapedAttr; +} + +/* 4.1.2 */ +bool +XIncludeUtils::setContentNegotiation(const XMLCh *acceptAttrValue, const XMLCh *acceptLangAttrValue){ + return false; +} + +bool +XIncludeUtils::checkTextIsValidForInclude(XMLCh *includeChars){ + return false; +} + +// ======================================================== +// the stack utilities are slightly convoluted debug versions, they +// will be pared down for the release code +// ======================================================== +static XIncludeHistoryNode * +getTopOfCurrentInclusionHistoryStack(XIncludeHistoryNode *head){ + XIncludeHistoryNode *historyCursor = head; + if (historyCursor == NULL){ + return NULL; + } + while (historyCursor->next != NULL){ + historyCursor = historyCursor->next; + } + return historyCursor; +} + +bool +XIncludeUtils::addDocumentURIToCurrentInclusionHistoryStack(const XMLCh *URItoAdd){ + XIncludeHistoryNode *newNode = (XIncludeHistoryNode *)XMLPlatformUtils::fgMemoryManager->allocate(sizeof(XIncludeHistoryNode)); + if (newNode == NULL){ + return false; + } + newNode->URI = XMLString::replicate(URItoAdd); + newNode->next = NULL; + + if (fIncludeHistoryHead == NULL){ + fIncludeHistoryHead = newNode; + return true; + } + XIncludeHistoryNode *topNode = getTopOfCurrentInclusionHistoryStack(fIncludeHistoryHead); + topNode->next = newNode; + return true; +} + +bool +XIncludeUtils::isInCurrentInclusionHistoryStack(const XMLCh *toFind){ + XIncludeHistoryNode *historyCursor = fIncludeHistoryHead; + /* walk the list */ + while (historyCursor != NULL){ + if (XMLString::equals(toFind, historyCursor->URI)){ + return true; + } + historyCursor = historyCursor->next; + } + return false; +} + +XIncludeHistoryNode * +XIncludeUtils::popFromCurrentInclusionHistoryStack(const XMLCh *toPop){ + XIncludeHistoryNode *historyCursor = fIncludeHistoryHead; + XIncludeHistoryNode *penultimateCursor = historyCursor; + + if (fIncludeHistoryHead == NULL){ + return NULL; + } + + while (historyCursor->next != NULL){ + penultimateCursor = historyCursor; + historyCursor = historyCursor->next; + } + + if (penultimateCursor == fIncludeHistoryHead){ + historyCursor = fIncludeHistoryHead; + fIncludeHistoryHead = NULL; + } else { + penultimateCursor->next = NULL; + } + + // XERCES_STD_QUALIFIER cerr << "poppinURIofStack " << XMLString::transcode(historyCursor->URI) << XERCES_STD_QUALIFIER endl; + XMLString::release(&(historyCursor->URI)); + XMLPlatformUtils::fgMemoryManager->deallocate((void *)historyCursor); + return NULL; +} + +void +XIncludeUtils::freeInclusionHistory(){ + XIncludeHistoryNode *historyCursor = XIncludeUtils::fIncludeHistoryHead; + while (historyCursor != NULL){ + XIncludeHistoryNode *next = historyCursor->next; + /* XMLString::release(&(historyCursor->URI)); + XMLPlatformUtils::fgMemoryManager->deallocate((void *)historyCursor); */ + historyCursor = next; + } + XIncludeUtils::fIncludeHistoryHead = NULL; +} + +XIDOMErrorHandler::XIDOMErrorHandler() +{ +} + +XIDOMErrorHandler::~XIDOMErrorHandler() +{ +} + +// ----------------------------------------------------------------------- +// Getter methods +// ----------------------------------------------------------------------- +bool +XIDOMErrorHandler::getSawErrors() const{ + return fSawErrors; +} + +// --------------------------------------------------------------------------- +// XIDOMErrorHandler: Overrides of the DOM ErrorHandler interface +// --------------------------------------------------------------------------- +bool +XIDOMErrorHandler::handleError(const DOMError& domError) +{ + bool continueParsing = true; + + fSawErrors = true; + + if (domError.getSeverity() == DOMError::DOM_SEVERITY_WARNING) { + //XERCES_STD_QUALIFIER cerr << "\nXIInt Warning at file " << XMLString::transcode(domError.getLocation()->getURI()) + // << " " << XMLString::transcode(domError.getMessage()) << " " << XERCES_STD_QUALIFIER endl; + } else if (domError.getSeverity() == DOMError::DOM_SEVERITY_ERROR) { + //XERCES_STD_QUALIFIER cerr << "\nXIInt Error at file " << XMLString::transcode(domError.getLocation()->getURI()) + // << " " << XMLString::transcode(domError.getMessage()) << " " << XERCES_STD_QUALIFIER endl; + } else { + //XERCES_STD_QUALIFIER cerr << "\nXIInt Fatal Error at file " << XMLString::transcode(domError.getLocation()->getURI()) + // << " " << XMLString::transcode(domError.getMessage()) << " " << XERCES_STD_QUALIFIER endl; + continueParsing = false; + } + /* the failure to parse the include target will be flagged as an XInclude Resource Error and dealt with above */ + return continueParsing; +} + +bool +XIncludeUtils::reportError(const DOMNode* const errorNode + , XMLErrs::Codes errorType + , const XMLCh* const errorMsg + , const XMLCh * const href) +{ + bool toContinueProcess = true; /* default value for no error handler */ + + const XMLCh* const systemId = href; + const XMLCh* const publicId = href; + /* TODO - look these up somehow? */ + const XMLSSize_t lineNum = -1; + const XMLSSize_t colNum = -1; + + if (fErrorReporter) + { + // Load the message into a local for display + const unsigned int msgSize = 1023; + XMLCh errText[msgSize + 1]; + + /* TODO - investigate whether this is complete */ + XMLMsgLoader *errMsgLoader = XMLPlatformUtils::loadMsgSet(XMLUni::fgXMLErrDomain); + if (errorMsg == NULL){ + if (errMsgLoader->loadMsg(errorType, errText, msgSize)) + { + // <TBD> Probably should load a default msg here + } + } else { + if (errMsgLoader->loadMsg(errorType, errText, msgSize, errorMsg)) + { + // <TBD> Probably should load a default msg here + } + } + + fErrorReporter->error(errorType + , XMLUni::fgXMLErrDomain //fgXMLErrDomain + , XMLErrs::errorType(errorType) + , errText + , systemId + , publicId + , lineNum + , colNum); + } + + if (XMLErrs::isFatal(errorType)) + fErrorCount++; + + return toContinueProcess; +} + +/* TODO - declared in this file for convenience, prob ought to be moved out to + util/XMLUni.cpp before releasing */ +const XMLCh XIncludeUtils::fgXIIncludeQName[] = +{ + chLatin_i, chLatin_n, chLatin_c, chLatin_l, chLatin_u, chLatin_d, chLatin_e, chNull +}; +const XMLCh XIncludeUtils::fgXIFallbackQName[] = +{ + chLatin_f, chLatin_a, chLatin_l, chLatin_l, chLatin_b, chLatin_a, chLatin_c, chLatin_k, chNull +}; +const XMLCh XIncludeUtils::fgXIIncludeHREFAttrName[] = +{ + chLatin_h, chLatin_r, chLatin_e, chLatin_f, chNull +}; +const XMLCh XIncludeUtils::fgXIIncludeParseAttrName[] = +{ + chLatin_p, chLatin_a, chLatin_r, chLatin_s, chLatin_e, chNull +}; +const XMLCh XIncludeUtils::fgXIIncludeXPointerAttrName[] = +{ + chLatin_x, chLatin_p, chLatin_o, chLatin_i, chLatin_n, chLatin_t, chLatin_e, chLatin_r, chNull +}; +const XMLCh XIncludeUtils::fgXIIncludeEncodingAttrName[] = +{ + chLatin_e, chLatin_n, chLatin_c, chLatin_o, chLatin_d, chLatin_i, chLatin_n, chLatin_g, chNull +}; +const XMLCh XIncludeUtils::fgXIIncludeAcceptAttrName[] = +{ + chLatin_a, chLatin_c, chLatin_c, chLatin_e, chLatin_p, chLatin_t, chNull +}; +const XMLCh XIncludeUtils::fgXIIncludeAcceptLanguageAttrName[] = +{ + chLatin_a, chLatin_c, chLatin_c, chLatin_e, chLatin_p, chLatin_t, chDash, chLatin_l, chLatin_a, + chLatin_n, chLatin_g, chLatin_u, chLatin_a, chLatin_g, chLatin_e, chNull +}; +const XMLCh XIncludeUtils::fgXIIncludeParseAttrXMLValue[] = +{ + chLatin_x, chLatin_m, chLatin_l, chNull +}; +const XMLCh XIncludeUtils::fgXIIncludeParseAttrTextValue[] = +{ + chLatin_t, chLatin_e, chLatin_x, chLatin_t, chNull +}; +const XMLCh XIncludeUtils::fgXIIIncludeNamespaceURI[] = +{ + /* http://www.w3.org/2001/XInclude */ + chLatin_h, chLatin_t, chLatin_t, chLatin_p, chColon, chForwardSlash + , chForwardSlash, chLatin_w, chLatin_w, chLatin_w, chPeriod + , chLatin_w, chDigit_3, chPeriod, chLatin_o, chLatin_r, chLatin_g + , chForwardSlash, chDigit_2, chDigit_0, chDigit_0, chDigit_1 + , chForwardSlash, chLatin_X, chLatin_I, chLatin_n, chLatin_c, chLatin_l + , chLatin_u, chLatin_d, chLatin_e, chNull +}; +const XMLCh XIncludeUtils::fgXIBaseAttrName[] = +{ + chLatin_x, chLatin_m, chLatin_l, chColon, chLatin_b, chLatin_a, chLatin_s, chLatin_e, chNull +}; + +XERCES_CPP_NAMESPACE_END + diff --git a/src/xercesc/xinclude/XIncludeUtils.hpp b/src/xercesc/xinclude/XIncludeUtils.hpp new file mode 100644 index 0000000000000000000000000000000000000000..de4d4571a489838595e4e7cb205500d61cf20d19 --- /dev/null +++ b/src/xercesc/xinclude/XIncludeUtils.hpp @@ -0,0 +1,307 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* + * $Id: $ + */ + +#if !defined(XINCLUDEUTILS_HPP) +#define XINCLUDEUTILS_HPP + +#include <xercesc/util/XercesDefs.hpp> +#include <xercesc/util/XMLException.hpp> +#include <xercesc/dom/DOMNode.hpp> +#include <xercesc/dom/DOMDocument.hpp> +#include <xercesc/dom/DOMErrorHandler.hpp> +#include <xercesc/framework/XMLElementDecl.hpp> +#include <xercesc/xinclude/XIncludeLocation.hpp> +#include <xercesc/framework/XMLErrorCodes.hpp> + +XERCES_CPP_NAMESPACE_BEGIN + +typedef struct XIncludeHistoryNode{ + XMLCh *URI; + struct XIncludeHistoryNode *next; +}XIncludeHistoryNode; + +// --------------------------------------------------------------------------- +// Simple error handler deriviative to install on parser +// --------------------------------------------------------------------------- +class XINCLUDE_EXPORT XIDOMErrorHandler : public DOMErrorHandler +{ +public: + // ----------------------------------------------------------------------- + // Constructors and Destructor + // ----------------------------------------------------------------------- + XIDOMErrorHandler(); + ~XIDOMErrorHandler(); + + + // ----------------------------------------------------------------------- + // Getter methods + // ----------------------------------------------------------------------- + bool getSawErrors() const; + + + // ----------------------------------------------------------------------- + // Implementation of the DOM ErrorHandler interface + // ----------------------------------------------------------------------- + bool handleError(const DOMError& domError); + void resetErrors(); + + +private : + // ----------------------------------------------------------------------- + // Unimplemented constructors and operators + // ----------------------------------------------------------------------- + XIDOMErrorHandler(const XIDOMErrorHandler&); + void operator=(const XIDOMErrorHandler&); + + + // ----------------------------------------------------------------------- + // Private data members + // + // fSawErrors + // This is set if we get any errors, and is queryable via a getter + // method. Its used by the main code to suppress output if there are + // errors. + // ----------------------------------------------------------------------- + bool fSawErrors; +}; + + +/** + * Class implementing all the utility functions required by an XInclude parser. + * + * This class is designed primarily for internal use. This class implements + * utility methods to be called by an XInclude parser. It is intended to encapsulate + * the actual processing and recognition of XInclude components. + */ +class XINCLUDE_EXPORT XIncludeUtils +{ +private: + + /** Constructor + * + */ + XIncludeUtils(XMLErrorReporter *errorReporter); + + /** Destructor + * + */ + ~XIncludeUtils(); + + /** Parse the supplied XInclude element performing relevant XInclude functionality + * + * @param xincludeNode The XInclude node to parse and action + * @param parsedDocument The DOMDocument to which the results of the XInclude are to be added + * + * @return true if the XInclude processing was successful, false if not. Note that an + * XInclude that fails resulting in a successful fallback action would return true. + */ + bool doDOMNodeXInclude(DOMNode *xincludeNode, DOMDocument *parsedDocument); + + /** Parse an XInclude xml file into a DOMDocument node. + * + * @param href the location of the document to include + * @param relativeHref + * @param parsedDocument + * + * @return a newly created DOMDocument containing the parsed and actioned + * href, or NULL if the document could not be loaded. + */ + DOMDocument *doXIncludeXMLFileDOM(const XMLCh *href, + const XMLCh *relativeHref, + DOMNode *xincludeNode, + DOMDocument *parsedDocument); + + /** Parse an XInclude text file into a DOMText node. + * + * @param href the location of the document to include + * @param relativeHref + * @param encoding + * @param parsedDocument + * + * @return a newly created DOMText containing the parsed and actioned + * href, or NULL if the document could not be loaded. + */ + DOMText *doXIncludeTEXTFileDOM(const XMLCh *href, + const XMLCh *relativeHref, + const XMLCh *encoding, + DOMDocument *parsedDocument); + + /** Detect whether the supplied details are correct for an xi:include element + * + * @param name the element name + * @param namespaceURI the element namespace + * + * @return true if details are valid for an xi:include element, false + * if not. + */ + bool isXIIncludeElement(const XMLCh *name, const XMLCh *namespaceURI); + + /** Detect whether the supplied details are correct for an xi:fallback element + * + * @param name the element name + * @param namespaceURI the element namespace + * + * @return true if details are valid for an xi:fallback element, false + * if not. + */ + bool isXIFallbackElement(const XMLCh *name, const XMLCh *namespaceURI); + + /** Detect whether the supplied DOMNode is an xi:include element + * + * @param node The node to check + * + * @return true if node is an xi:include element, false + * if not. + */ + bool isXIIncludeDOMNode(DOMNode *node); + + /** Detect whether the supplied DOMNode is an xi:fallback element + * + * @param node The DOMNode to check + * + * @return true if node is an xi:fallback element, false + * if not. + */ + bool isXIFallbackDOMNode(DOMNode *node); + + /** Walk the content of the supplied source node, performing any xinclude actions + * that are encountered. + * + * @param source A DOMNode to parse, this node may be modified by the method + * @param parsedDocument the DOMDocument to which the parsed results are to be copied. + * + * @return true if XInclude behaviour was successfully performed on source, false if not. + */ + bool parseDOMNodeDoingXInclude(DOMNode *source, DOMDocument *parsedDocument); + + /** Parse the supplied URI and escape all characters as specified by + * the XINclusions specification. + * + * @param hrefAttrValue the href to parse and escape. + * @param needsDeallocating set to true if the return value needs deallocating + * by the caller after use, false if the value returned is the same as the + * hrefAttrValue passed in. + * + * @return an escaped version of hrefAttrValue or hrefAttrValue itself if + * hrefAttrValue contains only valid characters. + */ + /* 4.1.1 */ + const XMLCh *getEscapedHRefAttrValue(const XMLCh *hrefAttrValue, bool &needsDeallocating); + + /** Set the accept and accept-lang parameters on HTTP requests generated while + * XIncluding. + * + * @param acceptAttrValue + * @param acceptLangAttrValue + * + * @return true if the values were successfully added to the HTTP request, false + * if not. + */ + /* 4.1.2 */ + bool setContentNegotiation(const XMLCh *acceptAttrValue, const XMLCh *acceptLangAttrValue); + + /** Check the characters passed in are all valid characters for XInclusion + * as specified at http://www.w3.org/TR/xinclude/#text-included-items + * + * @param includeChars the characters to parse for validity + * + * @return true if the includeChars parameter contains only valid characters + * for inclusion, false if there are invalid characters in includeChars. + */ + bool checkTextIsValidForInclude(XMLCh *includeChars); + + /** Add the supplied parameter to the InclusionHistoryStack + * + * @param URItoAdd the URI to add to the InclusionHistoryStack/ + * + * @return true if the URI was added, false if a problem prevented + * the URI being added. + */ + bool addDocumentURIToCurrentInclusionHistoryStack(const XMLCh *URItoAdd); + + /** Check the XInclude InclusionHistoryStack to see if the supplied URI + * has already been included. This is used to ensure that circular inclusion + * chains are detected and that the inclusion mechanism does not get stuck in + * a loop. + * + * @param toFind the URI to look up. + * + * @return true if the toFind parameter is found in the InclusionHistortStack, + * false if the parameter is not in the stack or the stack is empty. + */ + bool isInCurrentInclusionHistoryStack(const XMLCh *toFind); + + /** Pop (i.e. remove and return) the top value from the InclusionHistoryStack + * + * @param toPop the value that is expected to be at the top of the stack, or + * NULL if no checking is required. + * + * @return the element at the top of the stack + */ + XIncludeHistoryNode * popFromCurrentInclusionHistoryStack(const XMLCh *toPop); + + /** Free the internal inclusion history list. + * + * @return nothing + */ + void freeInclusionHistory(); + + /** Construct and pass on an error description + * + * @param errorNode The DOMNode that was being parsed when the error occurred + * @param errorType The severity of the error + * @param errorMsg An optional message to include in the error report + * @param href The URI of the document being parsed. + * + * @return true if the errorHandler requests continuation of parsing despite error + * false if the errorHandler requests parsing end on encountering error, or it + * there is no error handler. + */ + bool reportError(const DOMNode* const errorNode + , XMLErrs::Codes errorType + , const XMLCh* const errorMsg + , const XMLCh* const href); + +public: + /* temporarily public to facilitate helper func getBaseAttrValue */ + static const XMLCh fgXIBaseAttrName[]; +private: + XIncludeHistoryNode *fIncludeHistoryHead; + long fErrorCount; + XMLErrorReporter *fErrorReporter; + static const XMLCh fgXIIncludeQName[]; + static const XMLCh fgXIFallbackQName[]; + static const XMLCh fgXIIncludeHREFAttrName[]; + static const XMLCh fgXIIncludeParseAttrName[]; + static const XMLCh fgXIIncludeParseAttrXMLValue[]; + static const XMLCh fgXIIncludeParseAttrTextValue[]; + static const XMLCh fgXIIncludeXPointerAttrName[]; + static const XMLCh fgXIIncludeEncodingAttrName[]; + static const XMLCh fgXIIncludeAcceptAttrName[]; + static const XMLCh fgXIIncludeAcceptLanguageAttrName[]; + static const XMLCh fgXIIIncludeNamespaceURI[]; + + friend class XIncludeDOMDocumentProcessor; +}; + +XERCES_CPP_NAMESPACE_END + +#endif