
    Egv                     d    d Z ddlZddlZddlmZ ddlmZ ddlmZ ddlmZ  G d d	          ZdS )
a  
@author: David Shaw, shawd@vmware.com

Inspired by EAS Inspector for Fiddler
https://easinspectorforfiddler.codeplex.com

----- The MIT License (MIT) ----- 
Filename: ASWBXML.py
Copyright (c) 2014, David P. Shaw

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
    N   )ASWBXMLByteQueue)ASWBXMLCodePage)GlobalTokens)InvalidDataExceptionc                   6    e Zd ZdZdZdZdZd Zd Zd Z	d Z
d	S )
ASWBXML   r   j   r   c                 :i   t           j        j                                        | _        d| _        d| _        g | _        t                      }d|_	        d|_
        |                    dd           |                    dd           |                    d	d
           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd            |                    d!d"           |                    d#d$           |                    d%d&           |                    d'd(           |                    d)d*           |                    d+d,           |                    d-d.           |                    d/d0           |                    d1d2           |                    d3d4           |                    d5d6           |                    d7d8           |                    d9d:           |                    d;d<           |                    d=d>           |                    d?d@           |                    dAdB           |                    dCdD           |                    dEdF           | j                            |           t                      }dG|_	        dH|_
        |                    ddI           |                    ddJ           |                    d	dK           |                    ddL           |                    ddM           |                    ddN           |                    ddO           |                    ddP           |                    ddQ           |                    dRdS           |                    ddT           |                    ddU           |                    d!dV           |                    d#dW           |                    d%dX           |                    d'dY           |                    d)dZ           |                    d[d\           |                    d]d^           |                    d+d_           |                    d-d`           |                    d/da           |                    d1db           |                    dcdd           |                    d3de           |                    d5df           |                    d7dg           |                    d9dh           |                    d;di           |                    d=dj           |                    d?dk           |                    dAdl           |                    dCdm           |                    dEdn           |                    dodp           |                    dqdr           |                    dsdt           |                    dudv           |                    dwdx           |                    dydz           |                    d{d|           |                    d}d~           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           | j                            |           t                      }d|_	        d|_
        |                    dd           |                    dRd           |                    dd           |                    dd           |                    d!d           |                    d#d           |                    d%d           |                    d'd           |                    d)d           |                    d[d           |                    d]d           |                    d+dW           |                    d-dX           |                    d/d           |                    d1d           |                    dcd           |                    d3d           |                    d5d           |                    d7d           |                    d9d           |                    d;d           |                    d=d           |                    d?d           |                    dAd           |                    dCd           |                    dEd           |                    dod           |                    dqd           |                    dsd           |                    dud           |                    dwd           |                    dyd           |                    d{d           |                    d}d           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd¦           |                    ddæ           |                    ddŦ           | j                            |           t                      }d|_	        d|_
        | j                            |           t                      }d|_	        d|_
        |                    dd           |                    dd           |                    d	dɦ           |                    ddʦ           |                    dd˦           |                    dd̦           |                    dd           |                    ddW           |                    ddX           |                    dRd           |                    dd           |                    ddͦ           |                    d!dΦ           |                    d#dϦ           |                    d%dЦ           |                    d'd           |                    d)dѦ           |                    d[dҦ           |                    d]dӦ           |                    d+d           |                    d-d           |                    d/d           |                    d1d           |                    dcd           |                    d3d           |                    d5d           |                    d7d           |                    d9d           |                    d;d           |                    d=d           |                    d?d           |                    dAd           |                    dCdԦ           |                    dEdզ           |                    dod֦           |                    ddŦ           |                    dd           |                    ddצ           |                    ddئ           |                    dd٦           |                    ddڦ           |                    ddۦ           |                    ddܦ           |                    ddݦ           | j                            |           t                      }d|_	        d|_
        |                    dd           |                    dd           |                    d	d           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           | j                            |           t                      }d|_	        d|_
        |                    dd           |                    dd           |                    d	d.           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           | j                            |           t                      }d|_	        d|_
        |                    d	d           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd
           |                    dd           |                    dRd           |                    dd           |                    dd           |                    d!d           |                    d#d           |                    d%d           |                    d'd           | j                            |           t                      }d|_	        d|_
        |                    dd           |                    dd           |                    d	d           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd            |                    dd           | j                            |           t                      }d|_	        d|_
        |                    ddW           |                    ddX           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dRd           |                    dd           |                    dd           |                    d!d           |                    d#d           |                    d%d           |                    d'd           |                    d)d           |                    d[d	           |                    d]d
           |                    d+d           |                    d-d           |                    d/d           |                    d1d           |                    dcd           |                    d3d           |                    d7d           |                    d9d           |                    d;d٦           |                    d=dڦ           |                    d?dۦ           | j                            |           t                      }d|_	        d|_
        |                    dd           |                    dd           |                    d	d           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd(           |                    dd           |                    dRd           |                    dd           |                    dd           |                    d!d           |                    d#d           |                    d%d           |                    d'd           |                    d)d           |                    d[d           |                    d]d           |                    d+d            |                    d-d!           |                    d/d"           | j                            |           t                      }d#|_	        d$|_
        |                    dd%           |                    dd           |                    d	d           |                    dd&           |                    dd'           |                    dd           | j                            |           t                      }d(|_	        d)|_
        |                    dd*           |                    dd+           |                    d	d,           |                    dd-           |                    dd.           |                    dd/           |                    dd0           |                    dd1           |                    dd2           |                    dd3           | j                            |           t                      }d4|_	        d5|_
        |                    dd6           |                    dd7           |                    d	d           |                    ddF           |                    dd8           |                    dd9           |                    dd:           |                    dd           |                    dd;           | j                            |           t                      }d<|_	        d=|_
        |                    dd>           |                    dd?           |                    d	d@           |                    ddA           |                    ddB           |                    dd!           |                    dd           |                    ddC           |                    ddD           |                    ddE           |                    ddF           |                    ddG           |                    dRdH           |                    ddI           |                    d!dJ           |                    d#dK           |                    d%dL           |                    d'dM           |                    d)dN           |                    d[dO           |                    d]dP           |                    d+dQ           |                    d-dR           |                    d/dS           |                    d1dT           |                    dcdU           |                    d3dV           |                    d5dW           |                    d7dX           |                    d9dY           |                    d;dZ           |                    d=d[           |                    d?d\           |                    dAd]           |                    dCd^           |                    dEd_           |                    dod`           |                    dqda           |                    dsdb           |                    dudc           |                    dwdd           |                    dyde           |                    d{df           |                    d}dg           |                    ddh           |                    ddi           |                    ddj           |                    ddk           |                    ddl           |                    ddm           |                    ddn           |                    ddo           |                    ddp           | j                            |           t                      }dq|_	        dr|_
        |                    dds           |                    d	dt           |                    ddu           |                    ddv           |                    dd(           |                    ddw           |                    dd           |                    dd           |                    dd           |                    ddx           |                    ddy           |                    dRdz           |                    dd{           |                    dd|           |                    d!d}           |                    d#d~           |                    d'd           |                    d)d           |                    d[d           |                    d]d           |                    d+d           |                    d1d           |                    dcd           |                    d3d           |                    d5d           |                    d7d            |                    d9d"           | j                            |           t                      }d|_	        d|_
        |                    dd           |                    dd           |                    d	d           |                    dd           |                    dd           |                    dd           |                    ddd           |                    ddn           |                    dd           |                    dd           |                    dd           |                    dd           |                    dRd           |                    dd!           | j                            |           t                      }d|_	        d|_
        |                    dd           |                    dd           |                    d	d           |                    dd           |                    dd           |                    dd!           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dRd           |                    dd           |                    dd           |                    d!d           |                    d#d           |                    d%d           |                    d'd           |                    d)d           |                    d[d           |                    d]d           |                    d+d           | j                            |           t                      }d|_	        d|_
        |                    dd           |                    dd           |                    d	d           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dRd           |                    dd           |                    dd           |                    d!d           |                    d#d           |                    d%d           |                    d'd           |                    d)d           |                    d[d           |                    d]d           |                    d+d           |                    d-d           |                    d/d           |                    d1d           |                    dcd           |                    d3d           |                    d5d           |                    d7d           |                    d9d           |                    d;d           |                    d=d           |                    d?d           |                    dAd1           |                    dCd¦           |                    dEdæ           |                    dqdĦ           | j                            |           t                      }d|_	        d|_
        |                    ddǦ           |                    dd           |                    d	dȦ           |                    ddɦ           |                    ddʦ           |                    dd˦           |                    dd̦           |                    dd           | j                            |           t                      }d|_	        d|_
        |                    ddϦ           |                    dd           |                    d	dt           |                    dd(           |                    ddw           |                    ddy           |                    ddx           |                    dd!           |                    dd           |                    dd           |                    dd           |                    ddЦ           |                    dRdѦ           |                    ddҦ           |                    ddӦ           |                    d!d           |                    d#d           |                    d%d           |                    d'd           |                    d)d           |                    d[dԦ           | j                            |           t                      }d|_	        d|_
        |                    ddצ           |                    ddئ           |                    d	d٦           |                    ddڦ           |                    ddۦ           |                    ddܦ           |                    ddݦ           |                    ddަ           |                    dd           |                    dd           |                    ddߦ           |                    dRd           |                    dd           |                    dd           | j                            |           t                      }d|_	        d|_
        |                    dd           |                    dd           |                    d	d           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd٦           |                    ddڦ           |                    dRd           |                    ddۦ           |                    dd           | j                            |           t                      }d|_	        d|_
        |                    dd           |                    dd           |                    d	dʦ           |                    ddW           |                    ddX           | j                            |           t                      }d|_	        d|_
        |                    dd           |                    dd           |                    d	d           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dd           |                    dRd           |                    dd           |                    dd           |                    d!d           |                    d#d            |                    d%d           |                    d'd           |                    d)d           | j                            |           d S (  Nr   zAirSync:airsync   Sync   	Responses   Add   Change	   Delete
   Fetch   SyncKey   ClientId   ServerId   Status   
Collection   Class   CollectionId   
GetChanges   MoreAvailable   
WindowSize   Commands   Options   
FilterType   Conflict   Collections   ApplicationData   DeletesAsMoves    	Supported!   
SoftDelete"   MIMESupport#   MIMETruncation$   Wait%   Limit&   Partial'   ConversationMode(   MaxItems)   HeartbeatIntervalz	Contacts:contactsAnniversaryAssistantNameAssistantTelephoneNumberBirthdayBusiness2PhoneNumberBusinessCityBusinessCountryBusinessPostalCodeBusinessState   BusinessStreetBusinessFaxNumberBusinessPhoneNumberCarPhoneNumber
CategoriesCategoryChildrenChild   CompanyName   
DepartmentEmail1AddressEmail2AddressEmail3AddressFileAs   	FirstNameHome2PhoneNumberHomeCityHomeCountryHomePostalCode	HomeState
HomeStreetHomeFaxNumberHomePhoneNumberJobTitleLastName*   
MiddleName+   MobilePhoneNumber,   OfficeLocation-   	OtherCity.   OtherCountry/   OtherPostalCode0   
OtherState1   OtherStreet2   PagerNumber3   RadioPhoneNumber4   Spouse5   Suffix6   Title7   Webpage8   YomiCompanyName9   YomiFirstName:   YomiLastName<   Picture=   Alias>   WeightedRankzEmail:emailDateReceived	DisplayTo
ImportanceMessageClassSubjectReadToCCFromReplyToAllDayEventDTStampEndTimeInstanceType
BusyStatusLocationMeetingRequest	OrganizerRecurrenceIdReminderResponseRequestedRecurrences
RecurrenceRecurrence_TypeRecurrence_UntilRecurrence_OccurrencesRecurrence_IntervalRecurrence_DayOfWeekRecurrence_DayOfMonthRecurrence_WeekOfMonthRecurrence_MonthOfYear	StartTimeSensitivityTimeZoneGlobalObjIdThreadTopicInternetCPIDFlag;   
FlagStatusContentClassFlagTypeCompleteTime?   DisallowNewTimeProposal z	Calendar:calendar	AttendeesAttendeeAttendee_EmailAttendee_Name	Exception
ExceptionsException_DeletedException_StartTimeMeetingStatusOrganizer_EmailOrganizer_NameUIDAttendee_StatusAttendee_TypeAppointmentReplyTimeResponseTypeCalendarTypeIsLeapMonthFirstDayOfWeekOnlineMeetingConfLinkOnlineMeetingExternalLinkzMove:move	MoveItemsMoveSrcMsgIdSrcFldIdDstFldIdResponseDstMsgIdzGetItemEstimate:getitemestimateGetItemEstimateVersionDateTimeEstimatezFolderHierarchy:folderhierarchyDisplayNameParentIdTypeChangesUpdateFolderCreateFolderDeleteFolderUpdate
FolderSyncCountzMeetingResponse:meetingresponse
CalendarIdMeetingResponse	RequestIdRequestResultUserResponse
InstanceIdzTasks:tasksCompleteDateCompletedDueDate
UTCDueDateRecurrence_StartRecurrence_RegenerateRecurrence_DeadOccurReminderSetReminderTime	StartDateUTCStartDateOrdinalDateSubOrdinalDatezResolveRecipients:resolverecipientsResolveRecipients	RecipientEmailAddressCertificatesCertificateMiniCertificateCertificateRetrievalRecipientCountMaxCertificatesMaxAmbiguousRecipientsCertificateCountAvailabilityMergedFreeBusyMaxSizeDataMaxPictureszValidateCert:validatecertValidateCertCertificateChainCheckCRLz
Contacts2:	contacts2
CustomerIdGovernmentId	IMAddress
IMAddress2
IMAddress3ManagerNameCompanyMainPhoneAccountNameNickNameMMSzPing:pingPing	AutdStateFoldersFolderId
MaxFoldersz
Provision:	provision	ProvisionPoliciesPolicy
PolicyType	PolicyKey
RemoteWipeEASProvisionDocDevicePasswordEnabled"AlphanumericDevicePasswordRequiredRequireStorageCardEncryptionPasswordRecoveryEnabledAttachmentsEnabledMinDevicePasswordLengthMaxInactivityTimeDeviceLockMaxDevicePasswordFailedAttemptsMaxAttachmentSizeAllowSimpleDevicePasswordDevicePasswordExpirationDevicePasswordHistoryAllowStorageCardAllowCameraRequireDeviceEncryptionAllowUnsignedApplications!AllowUnsignedInstallationPackages"MinDevicePasswordComplexCharacters	AllowWiFiAllowTextMessagingAllowPOPIMAPEmailAllowBluetooth	AllowIrDARequireManualSyncWhenRoamingAllowDesktopSyncMaxCalendarAgeFilterAllowHTMLEmailMaxEmailAgeFilterMaxEmailBodyTruncationSizeMaxEmailHTMLBodyTruncationSizeRequireSignedSMIMEMessagesRequireEncryptedSMIMEMessagesRequireSignedSMIMEAlgorithmRequireEncryptionSMIMEAlgorithm(AllowSMIMEEncryptionAlgorithmNegotiationAllowSMIMESoftCertsAllowBrowserAllowConsumerEmailAllowRemoteDesktopAllowInternetSharingUnapprovedInROMApplicationListApplicationNameApprovedApplicationListHashzSearch:searchSearchStoreNameQueryRange
PropertiesTotalEqualToValueAndOrFreeTextDeepTraversalLongIdRebuildResultsLessThanGreaterThanUserNamePasswordConversationIdzGAL:galPhoneOfficeCompany	HomePhoneMobilePhonezAirSyncBase:airsyncbaseBodyPreferenceTruncationSize	AllOrNoneBodyEstimatedDataSize	TruncatedAttachments
AttachmentFileReferenceMethod	ContentIdContentLocationIsInlineNativeBodyTypeContentTypePreviewBodyPartPreferenceBodyPartz	Settings:settingsSettingsGetSetOofOofState
OofMessageAppliesToInternalAppliesToExternalKnownAppliesToExternalUnknownEnabledReplyMessageBodyTypeDevicePasswordDeviceInformationModelIMEIFriendlyNameOS
OSLanguagePhoneNumberUserInformationEmailAddressesSmtpAddress	UserAgentEnableOutboundSMSMobileOperatorPrimarySmtpAddressAccountsAccount	AccountIdUserDisplayNameSendDisabledRightsManagementInformationzDocumentLibrary:documentlibraryLinkIdIsFolderCreationDateLastModifiedDateIsHiddenContentLengthzItemOperations:itemoperationsItemOperationsSchemaPartEmptyFolderContentsDeleteSubFolders
MoveAlwayszComposeMail:composemailSendMailSmartForward
SmartReplySaveInSentItemsReplaceMimeSourceFolderIdItemIdMIMEzEmail2:email2
UmCallerIDUmUserNotesUmAttDuration
UmAttOrderConversationIndexLastVerbExecutedLastVerbExecutionTimeReceivedAsBccSenderMeetingMessageTypezNotes:noteszRightsManagement:rightsmanagementRightsManagementSupportRightsManagementTemplatesRightsManagementTemplateRightsManagementLicenseEditAllowedReplyAllowedReplyAllAllowedForwardAllowedModifyRecipientsAllowedExtractAllowedPrintAllowedExportAllowedProgrammaticAccessAllowedRMOwnerContentExpiryDate
TemplateIDTemplateNameTemplateDescriptionContentOwner"RemoveRightsManagementDistribution)xmldomminidomDocumentxmlDoccurrentCodePagedefaultCodePage	codePagesr   	namespacexmlnsaddTokenappend)selfpages     l/var/www/sysmax/venv/lib/python3.11/site-packages/seleniumwire/thirdparty/mitmproxy/contrib/wbxml/ASWBXML.py__init__zASWBXML.__init__-   sr/    ((**$+$$ $.
 
		$$.$*--f--k"""--e--h--h--g--i   --j!!!--j!!!--h--l###--g--n%%%--l###--o&&&--l###--j!!!--i   --l###--j!!!--m$$$--'(((--&'''--k"""--l###--m$$$--&'''--f--g--i   --()))--j!!!--)***.
 
		$$.$*--m$$$--o&&&--0111--j!!!--,-----n%%%--'(((--*+++--o&&&--&'''--)***--+,,,--&'''--l###--j!!!--j!!!--g--m$$$--l###--o&&&--o&&&--o&&&--h--k"""--()))--j!!!--m$$$--&'''--k"""--l###--o&&&--'(((--j!!!--j!!!--l###--)***--&'''--k"""--n%%%--'(((--l###--m$$$--m$$$--()))--h--h--g--i   --'(((--o&&&--n%%%--i   --g--n%%%.
 
		$$.$*--n%%%--k"""--l###--n%%%--i   --f--d--d--f--i   --m$$$--l###--j!!!--i   --i   --n%%%--l###--j!!!--&'''--k"""--n%%%--j!!!--)***--m$$$--l###--'(((--()))--.///--+,,,--,------...--.///--.///--k"""--m$$$--j!!!--m$$$--m$$$--n%%%--f--l###--n%%%--j!!!--n%%%--/000.
 
		$$.$*.
 
		$$.$*--j!!!--m$$$--k"""--j!!!--&'''--o&&&--l###--l###--j!!!--i   --i   --k"""--l###--)***--+,,,--j!!!--o&&&--'(((--&'''--l###--'(((--()))--.///--+,,,--,------...--.///--.///--j!!!--m$$$--i   --k"""--e--'(((--o&&&--/000--)***--,-----n%%%--n%%%--m$$$--&'''---...--1222.
 
		$$.$*--k"""--f--j!!!--j!!!--j!!!--j!!!--h--j!!!.
 
		$%$. $*--'(((--i   --m$$$--l###--g--n%%%--j!!!--j!!!--j!!!--h.
 
		$%$. $*--m$$$--j!!!--j!!!--f--h--i   --e--h--h--i   --n%%%--n%%%--n%%%--l###--g.
 
		$%$. $*--l###--n%%%--'(((--k"""--i   --h--h--n%%%--l###.
 
		$$.$*--l###--j!!!--j!!!--o&&&--i   --l###--l###--l###--'(((--()))--()))--.///--+,,,---...--,-----.///--.///---...--,-----m$$$--n%%%--m$$$--k"""--n%%%--i   --m$$$--&'''--n%%%--m$$$--&'''.
 
		$'$."$*--)***--j!!!--h--f--k"""--m$$$--n%%%--n%%%--m$$$--'(((--i   --d--,-----&'''--'(((--.///--()))--n%%%--k"""--i   --&'''--i   --i   --f--m$$$.
 
		$"$.$*--n%%%--n%%%--m$$$--()))--j!!!--h.
 
		$$.$*--l###--n%%%--k"""--l###--l###--m$$$--()))--m$$$--j!!!--e.
 
		$$.$*--f--k"""--h--)***--i   --h--d--g--l###.
 
		$$.$*--k"""--j!!!--h--l###--k"""--f--h--l###--'(((---...--:;;;--4555--/000--*+++--/000--3444--7888--)***--1222--0111---...--()))--m$$$--/000--1222--9:::--:;;;--k"""--*+++--)***--&'''--k"""--4555--()))--,-----&'''--)***--2333--6777--2333--5666--3444--7888--@AAA--+,,,--n%%%--*+++--*+++--,-----6777--'(((--/000--f.
 
		$$.$*--h--g--f--g--i   --g--h--j!!!--h--l###--g--i   --g--e--d--j!!!--o&&&--h--&'''--j!!!--m$$$--j!!!--j!!!--&'''--i   --i   --m$$$.
 
		$$.$*--m$$$--g--h--g--i   --g--k"""--j!!!--k"""--m$$$--n%%%--i   --h--f.
 
		$!$.$*--&'''--f--&'''--k"""--f--f--)***--k"""--m$$$--l###--m$$$--o&&&--h--k"""--'(((--j!!!--&'''--m$$$--i   --*+++--j!!!--h.
 
		$$.$*--j!!!--h--e--e--e--j!!!--k"""--i   --l###--)***--.///--0111--i   --n%%%--j!!!--&'''--j!!!--)***--g--f--n%%%--d--l###--m$$$--'(((--&'''--m$$$--k"""--)***--&'''--*+++--j!!!--i   --k"""--m$$$--'(((--n%%%--3444.
 
		$%$. $*--h--m$$$--j!!!--n%%%--()))--j!!!--o&&&--m$$$.
 
		$$$.$*--&'''--g--g--i   --g--g--l###--f--h--j!!!--i   --h--f--+,,,--()))--j!!!--j!!!--f--j!!!--&'''--l###.
 
		$!$.$*--j!!!--n%%%--l###--'(((--m$$$--h--j!!!--h--h--l###--f--j!!!--h--k""".
 
		$$.$*--l###--m$$$--o&&&--l###--&'''--)***--()))---...--o&&&--h--n%%%--m$$$--k"""--&'''--*+++.
 
		$$.$*--i   --n%%%--()))--l###--j!!!.
 
		$&$.!$*--/000--1222--0111--/000--m$$$--n%%%--'(((--&'''--/000--&'''--n%%%--o&&&--1222--i   --)***--l###--n%%%--+,,,--n%%%--:;;;.    c                 X    t           j        j                            |          | _        d S )N)r  r  r  parseStringr  )r  strXMLs     r  loadXmlzASWBXML.loadXml2  s    ++F33$+++r  c                     | j         d k    r=	 | j                             dd          S #  | j                                         cY S xY wd S )Nz    
)indentnewl)r  toprettyxmltoxml)r  s    r  getXmlzASWBXML.getXml6  sZ    
kT;""&t"<<<;	 s	   ) Ac                    | j         }t          |          }|                                }|                                }t	          j        d||fz             |                                }|dk    rt          d          |                                }|dk    rt          d          t          j        t          j	        t          j
        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        t          j        g}|                                dk    rO|                                }	|	t          j        k    rK|                                }
|
dk    r|
dk     r	|
| _        nt          d                    |	                    |	t          j        k    r)|d k    r|j        d k    r	|j        }nt          d          |	t          j        k    rX|                                }| j                             |                     |                    }|!                    |           n&|	t          j"        k    rB| j         #                    |                                           }|!                    |           n|	|v r"t          d	                    |	                    |	d
z  dk    }|	dz  dk    }|	dz  }|r"t          d                    |                    | j$        | j                 %                    |          }|d k    rd                    |          }| j         &                    |          }|!                    |           |r|}|                                dk    Ot	          j        d|j'        z             d S )Nz"Version: %d, Public Identifier: %dr   z(ASWBXML only supports UTF-8 encoded XML.r   z#WBXML data contains a string table.rd   z1Unknown code page ID 0x{0:X} encountered in WBXMLz,END global token encountered out of sequencez)Encountered unknown global token 0x{0:X}.   @   r   zToken 0x{0:X} has attributes.zUNKNOWN_TAG_{0,2:X}zTotal bytes dequeued: %d)(r  r   dequeueAndLogdequeueMultibyteIntloggingdebugr   r   ENTITYEXT_0EXT_1EXT_2EXT_I_0EXT_I_1EXT_I_2EXT_T_0EXT_T_1EXT_T_2LITERAL	LITERAL_A
LITERAL_AC	LITERAL_CPISTR_TqsizeSWITCH_PAGEr  formatEND
parentNodeOPAQUEcreateCDATASectiondequeueStringappendChildSTR_IcreateTextNoder  getTagcreateElementbytesDequeued)r  	byteWBXMLcurrentNode
wbXMLBytesversionpublicIdcharsetstringTableLengthunusedArraycurrentBytenewCodePageCDATALengthnewOpaqueNodenewTextNodehasAttributes
hasContenttokenstrTagnewNodes                      r  	loadByteszASWBXML.loadBytes=  s   +	***$$&&' ++--(	-47JJKKK **,,'oo	H	I	II !44661	C	D	DD $l&8,:LlN`bnbv  yE  yM  O[  Oc  eq  ey  {G  {O  Q]  Qe  gs  g{  }I  }S  Ua  Ul  nz  nD  FR  FU  Wc  Wi  j+




q
 
 ))++;|///**,,Kq[2--'T S Z Z[f g ghhh,***t 6$ > >)[[ NOOO,---0022KK22:3K3KK3X3XYYMM****,,,,+,,Z-E-E-G-GHHKK((((

$
$
JQQR]^^
_
__ 4'1,M$)J$E O ? F Fu M MNNN^D0188??F$#**511Vk''//G G$$$ [Y 



q
 
 \ 
-*Z-EEFFFFFr  N)__name__
__module____qualname__versionBytepublicIdentifierBytecharacterSetBytestringTableLengthByter  r  r  rJ   r  r  r	   r	   '   su        A A AJ4 4 4  KG KG KG KG KGr  r	   )	__doc__r  xml.dom.minidomr  r   r   r   r   r	   rR  r  r  <module>rU     s    8      . . . . . . , , , , , , & & & & & & 6 6 6 6 6 6aG aG aG aG aG aG aG aG aG aGr  