U
    ª6#^( ã                ü	  @   sHF  d dl Z d dlZe j ej e¡¡ d dlT d dlZd dl	Z	e 
d¡Ze 
d¡Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd „ Zd!d"„ Zd#d$„ Zd%d&„ Zd'd(„ Ze 
d)¡ad*d+„ Z d,d-„ Z!e 
d.¡a"d/d0„ Z#d1d2„ Z$d3d4„ Z%d5d6„ Z&d7d8„ Z'e 
d9¡a(d:d;„ Z)d<d=„ Z*d>d?„ Z+d@dA„ Z,dBdC„ Z-dDdE„ Z.e 
dF¡a/dGdH„ Z0e 
dI¡a1dJdK„ Z2dLdM„ Z3dNdO„ Z4dPdQ„ Z5dRdS„ Z6dTdU„ Z7dVdW„ Z8dXdY„ Z9e 
dZ¡a:d[d\„ Z;d]d^„ Z<d_d`„ Z=e>dafdfee>dbfdfe5e>dcfdfe5e>ddfdfe5e>defdfe5e>dffdfee>dgfdfee>dhfdfe5e>difdfe5e>djfdfe5e>dkfdfe5e?dlfdfee?dmfdfee?dnfdfee?dofdfee?dpfdfe5e?dqfdfe5e?drfdfe5e?dsfe?dtffe'e?dsfdfe)e?dufdfe5e?dvfdfee?dwfdfe5e?dxfdfee?dyfdfee?dzfdfee?d{fdfee?d|fdfe5e?d}fdfee?d~fdfee?dfdfee?d€fdfe5e?dfdfee?d‚fdfe5e?dƒfdfe5e?d„fdfe5e?d…fdfe5e?d†fdfee?d‡fdfe5e?dˆfdfe5e?d‰fdfe5e?dŠfdfee?d‹fdfe0e?dŒfdfee?dfdfe5e?dŽfdfe5e?dfdfe5e?dfdfee?d‘fdfe5e?d’fdfe5e?d“fdfe5e?d”fdfe5e?d•fdfe5e?d–fdfe!e?d—fdfee?d˜fdfee?d™fdfee?dšfdfe5e?d›fdfee?dœfdfe5e?difdfe5e?dfdfe5e?džfdfe5e?dŸfdfee?d fdfe5e?d¡fdfe5e?d¢fdfe.e?d£fdfee?d¤fdfee?d¥fdfe5e?d¦fdfee?d§fdfe5e?d¨fdfe5e?d©fdfee?dªfdfe5e?d«fdfe5e?d¬fdfee?d­fdfe+e?d®fdfe5e?d¯fdfe5e?d°fdfe5e?d±fdfe5e?d²fdfee?d³fdfee?d´fdfe5e?dµfdfee?d¶fdfee?d·fdfee?d¸fdfee?d¹fdfe5e?dºfdfe5e?d»fdfee?d¼fdfee@difdfee@d½fdfeeAd¾fdfe5eAd¿fdfe5eAdÀfdfe5eAdÁfdfe5eAdÂfdfeeAdÃfdfeeAdÄfdfe#eAdÅfdfe5eAdÆfdfe5eAdÇfdfe#eAdÈfdfe5eAdÉfdfe5eAdÊfdfe5eAdËfdfeeAdÌfdfe5eAdÍfdfe#eAdÎfdfe5eAdÏfdfeeAdÐfdfe5eAdÑfdfe5eAdÒfdfe5eAdÓfdfe5eAdÔfdfe5eAdÕfdfe5eAdÖfdfe5eAd×fdfe.eAdØfdfe5eAdÙfdfe5eAdÚfdfeeAdÛfdfe5eAdÜfdfe5eAdÝfdfe5eAdÞfdfe5eAdßfdfe5eAdàfdfe5eAdáfdfe5eAdâfdfe5eAdãfdfe5eAdäfdfe5eAdåfdfe5eBdæfdfe5eBdçfdfeeBdèfdfe5eBdéfdfeeBdêfdfeeBdëfdfe5eBdìfdfe5eBdífdfe5eBdîfdfe5eBdïfdfe5eBdðfdfe5eBdñfdfe5eBdòfdfeeBdófdfe5eBdôfdfe#eBdõfdfe5eBdöfdfe5eBd÷fdfeeBdøfdfe5eBdùfdfe5eBdúfdfe5eBdûfdfe-eBdüfdfe5eBdýfdfe5eBdþfdfeeBdÿfdfe5eBd fdfe5eBdfdfeeBdfdfe5eBdfdfeeBdfdfe5eBdfdfe#eBdfdfe3eBdfdfe5eBdfdfe5eBd	fdfe5eBd
fdfe5eBdfdfe5eBdfdfe5eBdÇfdfe$eBdfdfeeBdfdfe$eBdfdfeeBdfdfe$eBdfdfeeBdÌfdfeeBdfdfe5eBdfdfe5eBdfdfe.eBdfdfe#eBdfdfe5eBdfdfe5eBdfdfe5eBdfdfeeBdfdfe)eBdfdfe5eBdfdfe5eBdfdfeeBdfdfe5eBdfdfeeBd fdfeeBd!fdfeeBd"fdfe5eBd#fdfe5eBd$fdfeeBd%fdfe5eBd&fdfeeBd'fdfeeBd(fdfeeBd)fdfeeBd*fdfeeBd+fdfe5eBd,fdfe5eBd-fdfeeBd.fdfe5eBd/fdfe5eBd0fdfeeBd1fdfe5eBd2fdfe5eBd3fdfe5eBd4fdfe5eBd5fdfe5eBd6fdfe5eBd7fdfeeBd8fdfe$eBd9fdfe,eBd:fdfe5eBd;fdfe5eBd<fdfe5eBd=fdfe$eBd>fdfe5eBd?fdfeeBd@fdfe5eBdefdfe5eBdAfdfeeBdBfdfeeBdCfdfe5eBdDfdfe5eBdEfdfe5eBdFfdfe5eBdGfdfe5eBdHfdfe5eBdIfdfe5eBdJfdfe5eBdKfdfe5eBdLfdfe5eBdMfdfe#eBdNfdfeeBdOfdfeeBdPfdfe5eBdQfdfe5eBdRfdfe5eBdSfdfe5eBdTfdfe5eBdUfdfe5eBdVfdfe5eBdWfdfe5eBdXfdfeeBdffdfe5eBdYfdfe5eBdZfdfe5eBd[fdfe5eBd\fdfe5eBd]fdfe5eBd^fdfe5eBd_fdfeeBd`fdfe5eBdafdfe#eBdbfdfeeBdcfdfe5eBddfdfe#eBdefdfe+eBdffdfeeBdgfdfe5eBdhfdfe5eBdifdfe5eBdjfdfeeBdkfdfeeBdlfdfe5eBdifdfe*eBdmfdfeeBdnfdfe5eBdofdfe5eBdpfdfe5eBdqfdfe5eBdrfdfe5eBdsfdfe5eBdtfdfe3eBdufdfeeBdvfdfeeBdwfdfeeBdxfdfe5eBdyfdfe2eBdzfdfeeBd{fdfeeBd|fdfe5eBd}fdfeeBd~fdfe5eBdÖfdfe5eBdfdfe5eBd€fdfe#eBdfdfe#eBd‚fdfe5eBdƒfdfeeBd„fdfe5eBd…fdfeeBd†fdfeeBd‡fdfe5eBdˆfdfe5eBd‰fdfe.eBdŠfdfe#eBd‹fdfe5eBdŒfdfe5eBdfdfe5eBdŽfdfeeBdfdfe5eBdfdfe5eBd‘fdfe5eBd’fdfe5eBd“fdfe5eBd­fdfe+eBd”fdfe5eBd•fdfe5eBd–fdfeeBd—fdfeeBd˜fdfe5eBd™fdfeeBdšfdfe5eBd›fdfeeBdœfdfe+eBdfdfe5eBdžfdfe5eBdŸfdfe5eBdáfdfe5eBd½fdfe5eBd fdfe5eBdkfdfe5eBd¡fdfe5eBd¢fdfe5eBd£fdfe5eBd¤fdfe5eBd¥fdfe5eBd¦fdfe.eCd§fdfe5eCd¨fdfe5eCdífdfe5eCd©fdfe5eCdªfdfe5eCd«fdfe5eCd¬fdfe5eCd­fdfe5eCd®fdfe5eCdýfdfe5eCd¯fdfe3eCd°fdfe#eCd±fdfe9eCd²fdfe#eCd³fdfe5eCd´fdfe5eCdµfdfe5eCd¶fdfe5eCd·fdfe5eCd¸fdfe5eCd¹fdfeeCdºfdfe5eCd»fdfe5eCd¼fdfe5eCd½fdfe5eCd¾fdfe5eCd¿fdfe5eCdÀfdfe9eCdÁfdfe5eCdÂfdfe5eCdÃfdfe5eCdÄfdfe5eCdÅfdfe5eCdÆfdfe5eCdÇfdfe5eCdÈfdfe5eCdÉfdfe5eCdÊfdfe#eCdËfdfe5eCdÌfdfe5eCdÍfdfe5eCdÎfdfe5eCdÏfdfe5eCdÐfdfe5eCdÑfdfe5eCdÒfdfe#eCdÓfdfe#eCdÔfdfe9eCdÕfdfe#eCdÖfdfe#eCd×fdfe#eCdØfdfe5eCdÙfdfe5eCdÚfdfe5eCdÛfdfe5eCdÜfdfe5eCdÝfdfe5eCdÞfdfe5eCdßfdfe5eDdàfdfeeDdáfdfeeDdâfdfeeDdãfdfeeDdäfdfeeDdåfdfeeDdæfdfeeDdçfdfe5eDdèfdfe5eDddfdfe5eDdéfdfe5eDdêfdfe)eDdëfdfeeDdìfdfeeDdífdfe5eDdîfdfe5eDdïfdfe5eDdðfdfe5eDdñfdfeeDdòfdfeeDdófdfe5eDdôfdfeeDdõfdfeeDdöfdfe5eDd÷fdfe5eDdøfdfeeDdùfdfe5eDdúfdfeeDdûfdfe5eDdffdfeeDdüfdfeeDdýfdfe5eDdþfdfeeDdÿfdfe5eDd fdfeeDdfdfe5eDdfdfe5eDdfdfe%eDdfdfe5eDdfdfe5eDdfdfe5eDdfdfe.eDdfdfe5eDd	fdfe5eDd
fdfe5eDdfdfeeDdfdfeeDdifdfe5eDdfdfe5eDdfdfe5eDdfdfe5eDdfdfe3eDdfdfeeDdfdfe5eDdfdfeeDdfdfeeDdfdfeeDdÙfdfe.eDdfdfe5eDdfdfeeDdfdfe5eDdfdfe3eDdfdfe5eDdfdfe.eDdfdfeeDdœfdfe+eDdfdfe5eDdfdfeeDdfdfeeDdkfdfe5eDd fdfe5eDd!fdfe5eDd"fdfe5eEd#fdfe5eFd$fdfeeFd%fdfe5eFd&fdfe5eGd'fdfe5eGd(fdfe5eGd)fdfe5eGd*fdfe5eGd+fdfe5eGd,fdfe.eGd-fdfe5eGd.fdfe5eGd/fdfe5eGd0fdfe5eGdÙfdfe.eGd1fdfe5eHd2fdfe.eHd3fdfe.eHd4fdfeeHd5fdfeeHd6fdfe.eHd7fdfe.eHd8fdfe.eHdifdfe5eHd9fdfe.eHd:fdfe.eHd;fdfe.eHd<fdfe.eHd=fdfe.eHd>fdfe.eHd?fdfe.eHd@fdfe.eHdAfdfe.eHdBfdfe&eHdCfdfe.eIdDfdfeeIdEfdfe5eId±fdfe9eId
fdfeeIdFfdfe5eIdGfdfeeIdHfdfeeIdIfdfe5eIdJfdfeeIdÀfdfe9eIdKfdfeeIdLfdfeeIdMfdfeeIdNfdfeeIdOfdfeeIdPfdfeeIdQfdfe eIdÔfdfe9eId“fdfe5eIdRfdfeeIdfdfe5eIdSfdfe9eIdTfdfe5eIdUfdfe9eIdVfdfe5eIdWfdfeeJdXfdfeeJdYfdfeeJdZfdfe5eJd[fdfe5eJd\fdfeeJd]fdfe5eJd^fdfe5eJd_fdfe5eJdfdfeeJd`fdfe5eJdifdfe5eJdafdfeeJdbfdfeeJdcfdfe5eJddfdfe5eJdefdfe5eJdffdfeeJdfdfe5eJdkfdfeeJdBfdfe5eJd1fdfe5eKdgfdfe5eKdhfdfe5eKdifdfeeKdjfdfeeKdsfdfe5eKdûfdfe-eKd5fdfeeKdÆfdfe5eKdkfdfeeKdlfdfeeKdmfdfeeKdnfdfeeKdofdfe5eKdpfdfe5eKdqfdfeeKdrfdfeeKdsfdfeeKdtfdfe5eKdufdfeeKdvfdfeeKdwfdfeeKdifdfe5eKdxfdfe5eKdpfdfe5eKdyfdfe5eKdzfdfe5eKd{fdfeeKd|fdfeeKd}fdfeeKd~fdfe+eKdfdfe5eKd€fdfe5eKdfdfe5eKd‚fdfe5eKdƒfdfeeKd„fdfeeKd…fdfe5eKd†fdfe5eKd‡fdfe5eKdˆfdfe5eKd‰fdfeeKdŠfdfeeKd­fdfe+eKd‹fdfe5eKdŒfdfe5eKdfdfe5eKdŽfdfe5eKdfdfe5eKdfdfe5eKd‘fdfe5eKd’fdfeeKd“fdfe.eKd”fdfe5eLd•fdfeeLdÀfdfeeLd–fdfe5eMd—fdfeeMd˜fdfe5eMd™fdfe5eMdšfdfe5eMd›fdfeeMdœfdfe5eMdfdfe5eMdžfdfe5eMdŸfdfeeMdÆfdfe5eMd fdfe5eMdfdfe5eMd¡fdfe5eMd¢fdfe5eMd3fdfe5eMd£fdfe5eMd¤fdfe5eMd¥fdfe5eMd¦fdfe5eMd§fdfe5eMd¨fdfe.eMd©fdfe5eMdªfdfe5eMd«fdfe5eMd¬fdfe5eMd­fdfeeMd®fdfe5eMd½fdfe5eMd¯fdfe5eNd°fdfe5eNd±fdfe+eNd²fdfeeNd³fdfeeNd´fdfe5eNdµfdfe5eNd¶fdfe5eNd·fdfe5eNd¸fdfe5eNd¹fdfe5eNdºfdfe5eNd»fdfe5eNd¼fdfe5eNdsfdfe5eNdýfdfe5eNd½fdfe5eNd¾fdfe5eNd¿fdfe5eNdÀfdfe5eNdÁfdfe+eNd
fdfe5eNdÂfdfe3eNdÃfdfe5eNdÄfdfe5eNdÅfdfe5eNdÆfdfe5eNdÆfdfe5eNdfdfeeNdfdfe5eNdÇfdfe#eNdÈfdfe#eNdÇfdfe#eNdÉfdfeeNdÊfdfeeNdËfdfeeNd>fdfe5eNdÌfdfe5eNdÍfdfeeNdÎfdfe5eNdÏfdfe5eNdÐfdfe5eNdÑfdfe5eNdÒfdfe5eNdÓfdfe5eNdÔfdfe5eNdÕfdfe5eNdÖfdfe5eNd×fdfeeNdØfdfe5eNdÙfdfe5eNdÚfdfe5eNdÛfdfe5eNdÜfdfe5eNdÝfdfe5eNdÞfdfe5eNdßfdfe5eNdàfdfe5eNdáfdfe#eNdâfdfe#eNdãfdfe#eNdäfdfe5eNdåfdfe5eNdæfdfe5eNdçfdfe5eNdèfdfe5eNdéfdfe5eNdêfdfe5eNdëfdfe#eNdìfdfe5eNd¸fdfe5eNdífdfe5eNdîfdfe5eNdïfdfeeNdðfdfeeNdñfdfe5eNdòfdfe5eNdófdfe#eNdôfdfe#eNdõfdfe5eNdöfdfeeNd÷fdfe5eNdøfdfe5eNdùfdfeeNdúfdfeeNdûfdfe#eNdüfdfeeNdýfdfeeNdþfdfe5eNdÿfdfe5eNd fdfe5eNdfdfe5eNdfdfe+eNdfdfe5eNdfdfe5eNdfdfeeNdfdfe5eNdfdfe3eNdfdfeeNd	fdfe5eNd
fdfe5eNdfdfe#eNdfdfe5eNd—fdfe3eNdfdfe3eNdfdfe+eNdefdfe+eNdfdfeeNdfdfe5eNdfdfe5eNdifdfe*eNdifeNdffe5eNdfdfe+eNdfdfe5eNdfdfeeNdfdfe5eNdfdfe5eNdfdfe5eNdfdfe5eNdfdfe+eNdtfdfe5eNdfdfe5eNdfdfe5eNdfdfe+eNdfdfe+eNdOfeNdffe#eNdOfdfe5eNdfdfe5eNd fdfeeNd!fdfe5eNd"fdfe5eNd#feNd$ffeeNd#feNd%ffe5eNd&fdfe5eNd'fdfeeNd(fdfe5eNd)fdfe5eNd*fdfe5eNd+fdfe5eNdfdfe5eNd,fdfeeNdQfdfe eNd-fdfe eNd.fdfe eNd/fdfe5eNd0fdfe5eNd1fdfe5eNd2fdfe5eNd3fdfe5eNd4fdfe5eNd5fdfe5eNd6fdfe5eNd7fdfe5eNd8fdfe5eNd9fdfe5eNdÖfdfe5eNd:fdfeeNd;fdfeeNd“fdfe5eNd­fdfe+eNd<fdfe5eNd=fdfe5eNd>fdfe5eNd?fdfe5eNd@fdfeeNdAfdfe5eNdBfdfe5eNdCfdfe5eNdDfdfe5eNdEfdfe5eNdFfdfe5eNdGfdfe5eNdHfdfe5eNdIfdfe5eNdJfdfe5eNdKfdfe5eNdLfdfeeNdMfdfe5eNdNfdfe5eNdOfdfe5eNdPfdfe5eNdQfdfe5eNdRfdfe5eNdSfdfe5eNdTfdfe5eNdUfdfe5eNdVfdfe5eNdWfdfe5eNdXfdfe5eNdYfdfe5eNdZfdfe5eNd½fdfe5eNd[fdfeeNd\fdfeeNd]fdfeeNd^fdfe5eNd_fdfe5eNd`fdfe5eNdafdfeeNdÞfdfe5eNdbfdfe5eNdcfdfeeNddfdfe5eNdefdfe#eNdffdfeeNdgfdfe5eOdhfdfeeOdifdfeeOdjfdfeeOdkfdfe5eOdlfdfeeOdfdfe5eOdfdfe5eOdmfdfe5eOdnfdfeeOdofdfe5eOd³fdfe5eOd´fdfe5eOdpfdfe5eOdµfdfe5eOd¶fdfe5eOd·fdfe5eOdqfdfe5eOdrfdfe5eOdsfdfe5eOdtfdfe5eOdufdfeeOd¸fdfe#eOdvfdfeeOdwfdfeeOdifdfe5eOdxfdfe5eOdfdfe5eOdyfdfeeOdzfdfeeOd{fdfe5eOd|fdfe5eOd}fdfe#eOd~fdfe#eOdfdfe#eOd€fdfeeOdfdfe5eOd‚fdfeeOdƒfdfeeOd„fdfe5eOd…fdfeeOd†fdfeeOd‡fdfeeOdˆfdfe5eOd‰fdfe5eOdŠfdfe6eOd‹fdfe5eOdŒfdfe#eOd½fdfe5eOdfdfeeOdŽfdfeeOdfdfe5eOdfdfeeOd‘fdfeeOd’fdfeeOd“fdfeeOd”fdfeeOd•fdfe;eOdÞfdfe#eOd–fdfe5eOd—fdfe#eOd˜fdfeeOd™fdfe$eOdšfdfe$eOd›fdfe#eOdœfdfe$eOdfdfe$ePdžfdfe5ePdŸfdfeePd fdfeePdæfdfe5ePd¡fdfeePd¢fdfe5ePd£fdfeePdµfdfe5ePd¤fdfeePd¥fdfe5ePd¦fdfe5ePd§fdfe5ePd§fdfe5ePd¨fdfeePd¨fdfe5ePd©fdfe5ePdªfdfe5ePdªfdfe5ePd«fdfe5ePd¬fdfeePd­fdfe5ePd¾fdfeePd®fdfe5ePd¯fdfe5ePd°fdfeePd±fdfeePd²fdfe5ePd³fdfeePd´fdfeePdµfdfeePd¶fdfe3ePd±fdfe9ePd·fdfe5ePdïfdfe5ePd¸fdfe5ePd¹fdfe5ePdºfdfe5ePd»fdfe5ePd¼fdfe5ePd\fdfeePd½fdfe+ePdÆfdfe5ePd¾fdfeePdfdfeePd¿fdfeePdÀfdfeePdÁfdfe5ePdÂfdfe5ePdÃfdfeePdÄfdfe5ePdËfdfeePdÅfdfe5ePdfdfe5ePdÆfdfeePdÇfdfeePdÈfdfeePdÉfdfeePdÊfdfe#ePdËfdfe#ePdÌfdfeePdÍfdfeePdÎfdfe5ePdÏfdfe.ePdÏfdfe5ePd>fdfe5ePdÐfdfe5ePdÑfdfe4ePdÒfdfe4ePdefdfeePdÓfdfe5ePdÓfdfe5ePdÔfdfe5ePdÕfdfe.ePdÖfdfe5ePd×fdfeePdffdfe5ePdØfdfeePdÙfdfeePdÚfdfe.ePdÛfdfeePdÜfdfe5ePdÝfdfeePdÞfdfeePdßfdfe5ePdÀfdfe9ePdÀfdfe9ePdàfdfe3ePdáfdfe4ePdâfdfe3ePdãfdfe4ePdäfdfe5ePdåfdfeePdæfdfeePdçfdfeePdèfdfeePdéfdfe.ePdêfdfe5ePdëfdfe5ePdìfdfe5ePd§fdfe5ePdífdfeePdifdfe5ePdifdfe5ePdîfdfe3ePdïfdfe3ePdðfdfe3ePdñfdfe3ePdòfdfe3ePdófdfe3ePdôfdfe3ePdõfdfe5ePdöfdfeePd÷fdfeePdøfdfe5ePdøfdfe5ePdfdfe5ePdfdfe5ePdfdfe5ePdùfdfeePdúfdfe+ePdûfdfeePdüfdfe5ePdOfdfeePdýfdfeePdfdfeePdþfdfe5ePd#fdfeePdzfdfeePdÿfdfe5ePd fdfeePdfdfe5ePdfdfe5ePdQfdfe ePdfdfeePdfdfeePdfdfe5ePdfdfeePdfdfe5ePdÔfdfe5ePdfdfeePdfdfe5ePd	fdfeePd
fdfeePd
fdfe5ePdfdfeePdfdfe5ePdfdfe5ePdfdfe5ePdfdfe5ePdfdfe5ePdfdfe5ePdfdfe5ePd‡fdfe5ePdfdfeePdfdfeePdfdfeePdfdfeePdfdfe5ePdfdfeePdfdfe3ePdfdfeePd­fdfe+ePdfdfeePdfdfeePdfdfe5ePdfdfe5ePdfdfe5ePdfdfe5ePdfdfe5ePdfdfe5ePdfdfe5ePdfdfeePd½fdfe5ePd fdfeePd!fdfeePd"fdfeePd#fdfeePd$fdfe5ePd%fdfeePd&fdfeePd'fdfeePd(fdfeePd)fdfeePd*fdfe5ePdkfdfe5ePdkfdfe5ePdBfdfe5ePd”fdfe5eQd+fdfeeQd,fdfe5eQd-fdfeeQd.fdfe3eQd/fdfe5eQd0fdfe5eQd1fdfe5eQd2fdfe5eQd3fdfe5eQd4fdfeeQd5fdfe#eQd6fdfeeQd7fdfe5eQd8fdfe5eQd9fdfe5eQd:fdfe5eQd;fdfe5eQd<fdfe5eQd=fdfe5eQd>fdfe.eQd?fdfeeQd@fdfe5eQdAfdfe5eQdBfdfeeQdCfdfe5eQdDfdfe+eQdEfdfe+eQdûfdfe-eQdFfdfe5eQdGfdfeeQdHfdfeeQdIfdfeeQdJfdfeeQdKfdfe+eQd¾fdfeeQdLfdfe5eQdMfdfeeQdNfdfeeQdOfdfeeQdPfdfeeQdQfdfeeQdRfdfeeQdîfdfeeQdSfdfe5eQdTfdfe5eQdUfdfe5eQdVfdfe5eQdWfdfe5eQd¹fdfe5eQdXfdfeeQd\fdfeeQdYfdfe+eQdZfdfe5eQdfdfe5eQd[fdfe3eQd\fdfe.eQd]fdfeeQdofdfeeQd^fdfe5eQd_fdfe5eQd>fdfe5eQd`fdfeeQdafdfe5eQdefdfeeQdbfdfeeQdcfdfe5eQdffdfeeQddfdfe5eQdefdfeeQdffdfe.eQdgfdfe5eQdhfdfe5eQdifdfe5eQdjfdfeeQdkfdfeeQdlfdfe5eQdmfdfe5eQdmfdfe5eQdnfdfe5eQdofdfe5eQdpfdfe5eQdqfdfe5eQdrfdfe5eQdsfdfe5eQdZfdfe5eQdfdfe5eQdtfdfe5eQdufdfe3eQd	fdfeeQdvfdfe5eQdwfdfe*eQdxfdfe5eQdyfdfe#eQdzfdfeeQd{fdfe+eQdefdfe+eQd|fdfe5eQd}fdfe5eQd~fdfe5eQdifdfe5eQdfdfe7eQd€fdfe5eQdfdfe5eQd‚fdfeeQdƒfdfe5eQd„fdfeeQdxfdfe5eQd…fdfe5eQd†fdfe5eQd‡fdfeeQdyfdfe5eQdˆfdfe5eQd‰fdfe5eQdzfdfeeQdÿfdfe5eQd fdfeeQdŠfdfe5eQd‹fdfe5eQdŒfdfe5eQdfdfeeQdŽfdfe5eQdfdfeeQdfdfeeQd‘fdfe.eQd’fdfe5eQd“fdfe5eQd”fdfe5eQd•fdfe5eQd–fdfe5eQd—fdfe5eQd˜fdfeeQd™fdfeeQdÖfdfe5eQdšfdfe5eQd›fdfe.eQd›fdfe3eQdcfdfe5eQdœfdfe5eQdfdfe5eQdžfdfe5eQd­fdfe+eQdŸfdfe+eQd fdfe5eQd¡fdfe.eQdfdfe5eQd¢fdfe5eQd£fdfeeQdffdfeeQdffdfe8eQdfdfe5eQdfdfeeQd¤fdfe5eQd¥fdfeeQd¦fdfeeQd§fdfeeQd¨fdfeeQd©fdfeeQdªfdfeeQd«fdfeeQd¬fdfeeQd­fdfeeQd®fdfeeQd¯fdfeeQd°fdfeeQd±fdfeeQd²fdfeeQd³fdfeeQdkfdfe.eQd´fdfe+eQdµfdfe5eQd¶fdfe5eRd·fdfe5eSd¸fdfeeSd¹fdfe5eSdºfdfeeSd»fdfeeTd¼fdfe5eTd½fdfeeTd‚fdfe<eTdfdfe5eTd½fdfe=eUdffdfe*iþZVG d¾d¿„ d¿ƒZWdS (À  é    N)Ú*z#[0-9a-fA-F]{6}zQ\([ ]*-?([0-9]+(\.[0-9]*)?|\.[0-9]+)([ ]+-?([0-9]+(\.[0-9]*)?|\.[0-9]+)){2}[ ]*\)c                 C   s"   dD ]}|   |dt|ƒ ¡} q| S )N)ú:ú z_%x_)ÚreplaceÚord)ÚargÚc© r	   úR/var/www/html/UseVoiceDocker/env/lib/python3.8/site-packages/odf/attrconverters.pyÚmake_NCName   s    r   c                 C   s"   t jd dkrt|ƒS t|ƒS d S ©Nr   é   ©ÚsysÚversion_infoÚunicodeÚstr©Ú	attributer   Úelementr	   r	   r
   Ú	cnv_angle"   s    r   c                 C   s   t |ƒS ©N©r   r   r	   r	   r
   Ú
cnv_anyURI(   s    r   c                 C   sD   t |ƒ ¡ dkrdS t |ƒ ¡ dkr(dS tdt |ƒ| d f ƒ‚dS )z° XML Schema Part 2: Datatypes Second Edition
        An instance of a datatype that is defined as boolean can have the
        following legal literals {true, false, 1, 0}
    )Ú0ÚfalseÚnor   )Ú1ÚtrueÚyesr   z('%s' not allowed as Boolean value for %sé   N)r   ÚlowerÚ
ValueErrorr   r	   r	   r
   Úcnv_boolean+   s
    r#   c                 C   s   t |ƒS )u¡    A RGB color in conformance with Â§5.9.11 of [XSL], that is a RGB color in notation â€œ#rrggbbâ€, where
        rr, gg and bb are 8-bit hexadecimal digits.
    r   r   r	   r	   r
   Ú	cnv_color7   s    r$   c                 C   s$   t |ƒdkrtdt |ƒ ƒ‚t |ƒS )N)ÚbooleanÚshortÚintÚlongZdoubleÚstringÚdatetimeZbase64Binaryú'%s' not allowed©r   r"   r   r	   r	   r
   Úcnv_configtype=   s    r-   c                 C   s$   t |ƒdkrtdt |ƒ ƒ‚t |ƒS )N)ZnoneÚrowÚcolumnZbothr+   r,   r   r	   r	   r
   Úcnv_data_source_has_labelsC   s    r0   c                 C   s   t |ƒS ©zn A dateOrDateTime value is either an [xmlschema-2] date value or an [xmlschema-2] dateTime
        value.
    r   r   r	   r	   r
   Úcnv_dateI   s    r2   c                 C   s   t |ƒS r1   r   r   r	   r	   r
   Úcnv_dateTimeO   s    r3   c                 C   s   t |ƒS r   r   r   r	   r	   r
   Ú
cnv_doubleU   s    r4   c                 C   s$   t |ƒdkrtdt |ƒ ƒ‚t |ƒS )N)ÚcontentZ	thumbnailZiconz
print-viewr+   r,   r   r	   r	   r
   Úcnv_draw_aspectX   s    r6   c                 C   s   t |ƒS r   r   r   r	   r	   r
   Úcnv_duration]   s    r7   c                 C   s$   t |ƒdkrtdt |ƒ ƒ‚t |ƒS )z A style family )ÚtextZ	paragraphÚsectionZrubyÚtableztable-columnz	table-rowz
table-cellZgraphicZpresentationzdrawing-pageZchartr+   r,   r   r	   r	   r
   Ú
cnv_family`   s    r;   c                 C   sH   |  dd¡d }||kr|S | |¡}|d kr6t|ƒS | |¡}t|ƒS )Nr   r    r   )ÚsplitZget_knownnsr   Zget_nsprefix)r   r   r   ÚprefixÚ	namespaceÚpr	   r	   r
   Ú__save_prefixg   s    

r@   c                 C   s   t | ||ƒS )uG   A string containing a formula. Formulas do not have a predefined syntax, but the string should
        begin with a namespace prefix, followed by a â€œ:â€ (COLON, U+003A) separator, followed by the text
        of the formula. The namespace bound to the prefix determines the syntax and semantics of the
        formula.
    )r@   r   r	   r	   r
   Úcnv_formular   s    rA   c                 C   s   t |ƒS r   r   r   r	   r	   r
   Úcnv_IDz   s    rB   c                 C   s   t |ƒS r   r   r   r	   r	   r
   Ú	cnv_IDREF}   s    rC   c                 C   s   t |ƒS r   r   r   r	   r	   r
   Úcnv_integer€   s    rD   z![a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*c                 C   s   t  |¡std| ƒ‚|S )Nz"'%s' is not a valid language token)Úpattern_languageÚmatchr"   r   r	   r	   r
   Úcnv_language…   s    
rG   c                 C   s$   t |ƒdkrtdt |ƒ ƒ‚t |ƒS )N)ÚstartÚendÚtopZbottomz	top-startzbottom-startztop-endz
bottom-endr+   r,   r   r	   r	   r
   Úcnv_legend_position‹   s    rK   z=-?([0-9]+(\.[0-9]*)?|\.[0-9]+)((cm)|(mm)|(in)|(pt)|(pc)|(px))c                 C   s   t  |¡std| ƒ‚|S )u     A (positive or negative) physical length, consisting of magnitude and unit, in conformance with the
        Units of Measure defined in Â§5.9.13 of [XSL].
    ú'%s' is not a valid length)Úpattern_lengthrF   r"   r   r	   r	   r
   Ú
cnv_length’   s    
rN   c                 C   sX   d}zt | ||ƒW S    d}Y nX zt| ||ƒW S    d}Y nX |rTtd| ƒ‚|S )NFTz%'%s' is not a valid length or percent)rN   Úcnv_percentr"   )r   r   r   Úfailedr	   r	   r
   Úcnv_lengthorpercent›   s      
  
rQ   c                 C   s   |dkrt d| ƒ‚t|ƒS )N)Z	selectionzselection-indicesz5'%s' is not either 'selection' or 'selection-indices'©r"   r   r   r	   r	   r
   Úcnv_list_linkage_type¥   s    rS   c                 C   s$   t |ƒdkrtdt |ƒ ƒ‚t |ƒS )N)ÚfloatÚdateÚtimer%   r)   r+   r,   r   r	   r	   r
   Úcnv_metavaluetypeª   s    rW   c                 C   s   |dkrt d| ƒ‚t|ƒS )N)ÚmajorÚminorz%'%s' is not either 'minor' or 'major'rR   r   r	   r	   r
   Úcnv_major_minor¯   s    rZ   z[0-9a-zA-Z_]+:[0-9a-zA-Z._\-]+c                 C   s"   t  |¡std| ƒ‚t| ||ƒS )Nz$'%s' is not a valid namespaced token)Úpattern_namespacedTokenrF   r"   r@   r   r	   r	   r
   Úcnv_namespacedToken¶   s    
r\   c                 C   sL   t jd dkrt|tƒs4t jd dkr<t|ƒtjkr<t|ƒS | t	d¡S dS )zr NCName is defined in http://www.w3.org/TR/REC-xml-names/#NT-NCName
        Essentially an XML name minus ':'
    r   é   r   ÚnameN)
r   r   Ú
isinstancer   ÚtypeÚtypesÚStringTypesr   Ú	getAttrNSÚSTYLENSr   r	   r	   r
   Ú
cnv_NCName½   s    4re   c                 C   s$   z|  td¡W S    | Y S X d S ©Nr^   )rc   rd   r   r	   r	   r
   Úcnv_StyleNameRefÊ   s    rg   c                 C   s$   z|  td¡W S    | Y S X d S rf   )rc   ÚDRAWNSr   r	   r	   r
   Úcnv_DrawNameRefÔ   s    ri   c                 C   s
   d  |¡S )Nr   )Újoinr   r	   r	   r
   Úcnv_NCNamesÛ   s    rk   c                 C   s   t |ƒS r   r   r   r	   r	   r
   Úcnv_nonNegativeIntegerÞ   s    rl   z-?([0-9]+(\.[0-9]*)?|\.[0-9]+)%c                 C   s   t  |¡std| ƒ‚|S )NrL   )Úpattern_percentrF   r"   r   r	   r	   r
   rO   ã   s    
rO   z)-?[0-9]+,-?[0-9]+([ ]+-?[0-9]+,-?[0-9]+)*c                 C   s„   t jd dkrt|tƒs4t jd dkrJt|ƒtjkrJt |¡sFt	dƒ‚|S zd 
dd„ |D ƒ¡}W n   t	d| ƒ‚Y nX |S d S )	Nr   r]   r   zIx,y are separated by a comma and the points are separated by white spacesr   c                 S   s   g | ]}d | ‘qS )z%d,%dr	   )Ú.0r?   r	   r	   r
   Ú
<listcomp>ô   s     zcnv_points.<locals>.<listcomp>z/Points must be string or [(0,0),(1,1)] - not %s)r   r   r_   r   r`   ra   rb   Úpattern_pointsrF   r"   rj   )r   r   r   Zstrargr	   r	   r
   Ú
cnv_pointsì   s    4
rq   c                 C   s   t |ƒS r   r   r   r	   r	   r
   Úcnv_positiveIntegerù   s    rr   c                 C   s$   t |ƒdkrtdt |ƒ ƒ‚t |ƒS )N)r.   r/   r+   r,   r   r	   r	   r
   Úcnv_rowOrColü   s    rs   c                 C   s"   t jd dkrt|ƒS t|ƒS d S r   r   r   r	   r	   r
   Ú
cnv_string  s    rt   c                 C   s$   t |ƒdkrtdt |ƒ ƒ‚t |ƒS )N)ZbuttZsquareÚroundr+   r,   r   r	   r	   r
   Úcnv_stroke_linecap  s    rv   c                 C   s$   t |ƒdkrtdt |ƒ ƒ‚t |ƒS )N)ZfootnoteZendnoter+   r,   r   r	   r	   r
   Úcnv_textnoteclass  s    rw   c                 C   s   t |ƒS r   r   r   r	   r	   r
   Úcnv_time  s    rx   c                 C   s   t |ƒS r   r   r   r	   r	   r
   Ú	cnv_token  s    ry   z-?[0-9]+([ ]+-?[0-9]+){3}$c                 C   s   t  |¡stdƒ‚|S )Nz6viewBox must be four integers separated by whitespaces)Úpattern_viewboxrF   r"   r   r	   r	   r
   Úcnv_viewbox  s    
r{   c                 C   s$   t |ƒdkrtdt |ƒ ƒ‚t |ƒS )N)Únewr   Zembedr+   r,   r   r	   r	   r
   Úcnv_xlinkshow   s    r}   c                 C   s   |dkrt d| d  ƒ‚|S )NZsimplezValue of '%s' must be 'simple'r    )r"   r   r	   r	   r
   Úcnv_xlinktype%  s    r~   zaudio-levelzcolor-interpolationzcolor-interpolation-directionÚcommandZformulaÚidziterate-intervalziterate-typer^   zsub-itemÚvaluezangle-offsetzautomatic-contentzauto-positionz	auto-sizezaxis-label-positionzaxis-positionzattached-axisÚclassZgridzcolumn-mappingzconnect-barszdata-label-numberzdata-label-symbolzdata-label-textzdata-source-has-labelsÚdeepZ	dimensionzdisplay-equationzdisplay-labelzdisplay-r-squarezerror-categoryzerror-lower-indicatorzerror-lower-limitzerror-marginzerror-percentagezerror-lower-rangezerror-upper-indicatorzerror-upper-limitzerror-upper-rangez	gap-widthzgroup-bars-per-axisz	hole-sizezinclude-hidden-cellsÚinterpolationzinterval-majorzinterval-minor-divisorzjapanese-candle-stickzlabel-arrangementzlabel-cell-addresszlabel-positionzlabel-position-negativezlegend-alignzlegend-positionÚlineszlink-data-style-to-sourceZlogarithmicZmaximumz
mean-valueZminimumÚoriginÚoverlapZ
percentagez
pie-offsetzregression-typeZrepeatedzreverse-directionzright-angled-axeszrow-mappingz
scale-textzseries-sourcez
solid-typezsort-by-x-valueszspline-orderzspline-resolutionZstackedz
style-namezsymbol-heightzsymbol-namezsymbol-typezsymbol-widthztext-overlapzthree-dimensionalztick-mark-positionztick-marks-major-innerztick-marks-major-outerztick-marks-minor-innerztick-marks-minor-outerztreat-empty-cellszvalues-cell-range-addressZverticalZvisibler`   zambient-colorz
back-scalezbackface-cullingÚcenterz
close-backzclose-frontÚdepthzdiffuse-colorÚ	directionZdistancezedge-roundingzedge-rounding-modezemissive-colorÚenabledz	end-anglezfocal-lengthzhorizontal-segmentszlighting-modezmax-edgezmin-edgeznormals-directionznormals-kindZ
projectionz
shade-modeZshadowzshadow-slantZ	shininessÚsizeZspecularzspecular-colorztexture-filterztexture-generation-mode-xztexture-generation-mode-yztexture-kindztexture-modeÚ	transformzvertical-segmentsZvpnZvrpZvupZalignZangleÚarchivezauto-grow-heightzauto-grow-widthzbackground-sizeZblueZborderzcaption-anglezcaption-angle-typezcaption-escapezcaption-escape-directionzcaption-fit-line-lengthzcaption-gapzcaption-line-lengthzcaption-point-xzcaption-point-yz
caption-idzcaption-typezchain-next-namezclass-idzclass-namesÚcodeZcolorzcolor-inversionz
color-modeZconcavez concentric-gradient-fill-allowedZcontrastZcontrolzcopy-ofzcorner-radiusZcornersZcxÚcyÚdatazdecimal-placesZdisplayzdisplay-nameZdots1zdots1-lengthZdots2zdots2-lengthzdraw-aspectrI   z	end-colorzend-glue-pointz	end-guidezend-intensityzend-line-spacing-horizontalzend-line-spacing-verticalz	end-shapeZenginezenhanced-pathzescape-directionzextrusion-allowedzextrusion-brightnessZ	extrusionzextrusion-colorzextrusion-depthzextrusion-diffusionzextrusion-first-light-directionzextrusion-first-light-harshzextrusion-first-light-levelzextrusion-light-facezextrusion-metalz!extrusion-number-of-line-segmentszextrusion-originzextrusion-rotation-anglezextrusion-rotation-centerz extrusion-second-light-directionzextrusion-second-light-harshzextrusion-second-light-levelzextrusion-shininesszextrusion-skewzextrusion-specularityzextrusion-viewpointÚfillz
fill-colorzfill-gradient-namezfill-hatch-namezfill-hatch-solidzfill-image-heightzfill-image-namezfill-image-ref-pointzfill-image-ref-point-xzfill-image-ref-point-yzfill-image-widthzfilter-namezfit-to-contourzfit-to-sizezframe-display-borderzframe-display-scrollbarzframe-margin-horizontalzframe-margin-verticalz
frame-nameÚgammazglue-point-leaving-directionszglue-point-typezglue-pointszgradient-step-countZgreenzguide-distancezguide-overhangzhandle-mirror-horizontalzhandle-mirror-verticalzhandle-polarzhandle-positionzhandle-radius-range-maximumzhandle-radius-range-minimumzhandle-range-x-maximumzhandle-range-x-minimumzhandle-range-y-maximumzhandle-range-y-minimumzhandle-switchedzimage-opacityÚkindZlayerzline-distancez	line-skewZ	luminancezmarker-end-centerz
marker-endzmarker-end-widthzmarker-start-centerzmarker-startzmarker-start-widthzmaster-page-namez
may-scriptzmeasure-alignzmeasure-vertical-alignz	mime-typezmirror-horizontalzmirror-verticalÚ	modifiersz	nav-orderZnohrefznotify-on-update-of-rangesÚobjectzole-draw-aspectZopacityzopacity-namezpage-numberÚparallelzpath-stretchpoint-xzpath-stretchpoint-yZplacingZpointsZ	protectedzrecreate-on-editZredZrotationzsecondary-fill-colorzshadow-colorzshadow-offset-xzshadow-offset-yzshadow-opacityzshape-idZ	sharpnessz	show-unitzstart-anglerH   zstart-colorzstart-glue-pointzstart-guidezstart-intensityzstart-line-spacing-horizontalzstart-line-spacing-verticalzstart-shapeZstrokezstroke-dashzstroke-dash-nameszstroke-linejoinÚstylezsymbol-colorz
text-areasztext-path-allowedz	text-pathztext-path-modeztext-path-same-letter-heightsztext-path-scaleztext-rotate-angleztext-style-nameztextarea-horizontal-alignztextarea-vertical-alignztile-repeat-offsetZunitzvisible-area-heightzvisible-area-leftzvisible-area-topzvisible-area-widthzwrap-influence-on-positionzz-indexzbackground-colorzborder-bottomzborder-leftzborder-rightz
border-topzbreak-afterzbreak-beforeZclipzcolumn-countz
column-gapZcountryz
end-indentzfont-familyz	font-sizez
font-stylezfont-variantzfont-weightÚheightZ	hyphenatezhyphenation-keepzhyphenation-ladder-countzhyphenation-push-char-countzhyphenation-remain-char-countzkeep-togetherzkeep-with-nextÚlanguagezletter-spacingzline-heightzmargin-bottomÚmarginzmargin-leftzmargin-rightz
margin-topz
max-heightz	max-widthz
min-heightz	min-widthZorphanszpadding-bottomÚpaddingzpadding-leftzpadding-rightzpadding-topzpage-heightz
page-widthÚscriptzspace-afterzspace-beforezstart-indentz
text-alignztext-align-lastztext-indentztext-shadowztext-transformZwidowsÚwidthzwrap-optionzallow-deleteszallow-insertszallow-updateszapply-design-modezapply-filterzauto-completezautomatic-focuszbound-columnzbutton-typezcommand-typezcontrol-implementationzconvert-empty-to-nullzcurrent-selectedzcurrent-statezcurrent-valuez
data-fieldZ
datasourcezdefault-buttonzdelay-for-repeatzdetail-fieldsÚdisabledZdropdownz	echo-charZenctypezescape-processingÚfilterzfocus-on-clickÚforzignore-resultzimage-alignz
image-datazimage-positionzis-tristateÚlabelzlinked-cellzlist-linkage-typezlist-sourcezlist-source-typezmaster-fieldsz
max-lengthz	max-valueÚmethodz	min-valuez
multi-lineZmultipleznavigation-modeÚorderZorientationzpage-step-sizeÚ	printablezproperty-nameÚreadonlyÚrepeatÚselectedzsource-cell-rangezspin-buttonÚstatez	step-sizez	tab-cyclez	tab-indexztab-stopÚtitleZtoggleZ
validationzvisual-effectzxforms-list-sourcezxforms-submissionZtransformationzcontextual-spacingz
scale-to-Xz
scale-to-Yzalgorithm-nameZchecksumzchecksum-typez	full-pathzinitialisation-vectorziteration-countzkey-derivation-namez
media-typezpreferred-view-modeZsaltÚversionz
cell-countzcharacter-countrU   Údelayz
draw-countzframe-countzimage-countznon-whitespace-character-countzobject-countzole-object-countz
page-countzparagraph-countz	row-countzsentence-countzsyllable-countztable-countz
value-typez
word-countzautomatic-orderÚcalendarzdecimal-replacementzdenominator-valuezdisplay-factorzformat-sourceÚgroupingzmin-denominator-digitszmin-exponent-digitszmin-integer-digitszmin-numerator-digitsÚpositionzpossessive-formzrfc-language-tagZtextualztransliteration-countryztransliteration-formatztransliteration-languageztransliteration-styleztruncate-on-overflowzautomatic-updatezboolean-valuezconversion-modeÚcurrencyz
date-valuezdde-applicationzdde-itemz	dde-topicZmimetypezprocess-contentz
server-mapzstring-valueztarget-frameztarget-frame-namez
time-valueÚactionZ
animationszbackground-objects-visiblezbackground-visiblezdisplay-date-timezdisplay-footerzdisplay-headerzdisplay-page-numberZdurationZeffectZendlesszforce-manualzfull-screenzgroup-idzmaster-elementzmouse-as-penzmouse-visiblez	node-typeZpageszpath-idÚpauseÚplaceholderz	play-fullzpresentation-page-layout-namezpreset-classz	preset-idzpreset-sub-typeZshowzshow-end-of-presentation-slidez	show-logoÚsourceZspeedz
start-pagezstart-scalezstart-with-navigatorzstay-on-topztransition-on-clickztransition-speedztransition-styleztransition-typezuse-date-time-namezuse-footer-namezuse-header-namezuser-transformedZverbZ
visibilityz
event-namez
macro-nameZ
accelerateÚ
accumulateZadditiveZattributeNameZautoReverseÚbeginZbyZcalcModeZ
decelerateZdurZendsyncZ	fadeColorZfillDefaultÚfromZ
keySplinesZkeyTimesÚmodeZrepeatCountZ	repeatDurZrestartZrestartDefaultÚsubtypeZtargetElementÚtoÚvaluesZ
adjustmentzapply-style-namezauto-text-indentzauto-updatezbackground-transparencyzbase-cell-addresszborder-line-width-bottomzborder-line-widthzborder-line-width-leftzborder-line-width-rightzborder-line-width-topzcell-protectÚcharzcolumn-widthZ	conditionzcountry-asianzcountry-complexzdata-style-namezdefault-outline-levelzdiagonal-bl-trzdiagonal-bl-tr-widthszdiagonal-tl-brzdiagonal-tl-br-widthszdistance-after-sepzdistance-before-sepzdynamic-spacingZeditableÚfamilyzfirst-page-numberzflow-with-textzfont-adornmentszfont-charsetzfont-charset-asianzfont-charset-complexzfont-family-asianzfont-family-complexzfont-family-generic-asianzfont-family-genericzfont-family-generic-complexzfont-independent-line-spacingzfont-name-asianz	font-namezfont-name-complexzfont-pitch-asianz
font-pitchzfont-pitch-complexzfont-reliefzfont-size-asianzfont-size-complexzfont-size-rel-asianzfont-size-relzfont-size-rel-complexzfont-style-asianzfont-style-complexzfont-style-name-asianzfont-style-namezfont-style-name-complexzfont-weight-asianzfont-weight-complexzfootnote-max-heightzglyph-orientation-verticalzhorizontal-poszhorizontal-relzjoin-borderzjustify-single-wordzlanguage-asianzlanguage-complexzlayout-grid-base-heightzlayout-grid-base-widthzlayout-grid-colorzlayout-grid-displayzlayout-grid-lineszlayout-grid-modezlayout-grid-printzlayout-grid-ruby-belowzlayout-grid-ruby-heightzlayout-grid-snap-tozlayout-grid-standard-modezleader-charzleader-colorzleader-stylezleader-textzleader-text-stylezleader-typezleader-widthzlegend-expansion-aspect-ratiozlegend-expansionÚlengthzletter-kerningz
line-breakzline-height-at-leastzline-spacingz
line-stylez
list-levelzlist-style-namezmay-break-between-rowszmin-row-heightZmirrorz	font-faceznext-style-namez
num-formatznum-letter-syncz
num-prefixz
num-suffixznumber-wrapped-paragraphszoverflow-behaviorzpage-layout-namez
page-usagezpaper-tray-namezparent-style-namezpercentage-data-style-nameÚprintzprint-contentzprint-orientationzprint-page-orderZprotectzsection-propertieszgraphic-propertieszpunctuation-wrapzregister-truezregister-truth-ref-style-namezrel-column-widthz
rel-heightz	rel-widthzrepeat-contentzrfc-language-tag-asianzrfc-language-tag-complexzrotation-alignzrotation-anglez
row-heightz
ruby-alignzruby-positionzrun-throughzscale-tozscale-to-pageszscript-asianzscript-complexzscript-typezshrink-to-fitzsnap-to-layout-gridztab-stop-distanceztable-centeringztext-align-sourceztext-autospaceztext-blinkingztext-combineztext-combine-end-charztext-combine-start-charztext-emphasizeztext-line-through-colorztext-line-through-modeztext-line-through-styleztext-line-through-textztext-line-through-text-styleztext-line-through-typeztext-line-through-widthztext-outlineztext-overline-colorztext-overline-modeztext-overline-styleztext-overline-typeztext-overline-widthztext-positionztext-rotation-angleztext-rotation-scalez
text-scaleztext-underline-colorztext-underline-modeztext-underline-styleztext-underline-typeztext-underline-widthzuse-optimal-column-widthzuse-optimal-row-heightzuse-window-font-colorzvertical-alignzvertical-poszvertical-relZvolatileÚwrapzwrap-contourzwrap-contour-modezwrap-dynamic-thresholdzwriting-mode-automaticzwriting-modezaccent-heightZ
alphabeticZascentZbboxz
cap-heightÚdZdescentz	fill-rulezfont-stretchÚfxZfyZgradientTransformZgradientUnitsZhangingZideographicZmathematicalÚoffsetzoverline-positionzoverline-thicknesszpanose-1ÚpathÚrZrxZryZslopeZspreadMethodZstemhZstemvz
stop-colorzstop-opacityzstrikethrough-positionzstrikethrough-thicknessr)   zstroke-colorzstroke-linecapzstroke-opacityzstroke-widthzunderline-positionzunderline-thicknesszunicode-rangezunits-per-emzv-alphabeticz	v-hangingzv-ideographiczv-mathematicalZviewBoxZwidthsÚxzx-heightÚx1Zx2ÚyÚy1Úy2zacceptance-statezadd-empty-linesÚ	algorithmzallow-empty-cellzapplication-datazautomatic-find-labelszbind-styles-to-contentzborder-colorzborder-modelZbuttonszcase-sensitivezcell-addresszcell-range-addressz
cell-ranger/   Úcommentzcondition-sourcezcondition-source-range-addresszcontains-errorzcontains-headerzcontent-validation-namez	copy-backzcopy-formulaszcopy-stylesÚcountzdata-cell-range-addressz	data-typezdatabase-namezdatabase-table-namezdate-endz
date-startzdefault-cell-style-namezdisplay-borderzdisplay-duplicateszdisplay-filter-buttonszdisplay-listzdisplay-member-modezdrill-down-on-double-clickzembedded-number-behaviorzend-cell-addressz
end-columnzend-positionzend-rowz	end-tablezend-xzend-yÚexecuteZ
expressionz
field-namezfield-numberzfilter-optionszfirst-row-end-columnzfirst-row-start-columnÚfunctionzgrand-totalzgroup-by-field-numberz
grouped-byzhas-persistent-datazidentify-categorieszignore-empty-rowsÚindexz	is-activezis-data-layout-fieldzis-selectionzis-sub-tablezlabel-cell-range-addresszlast-column-spannedzlast-row-end-columnzlast-row-spannedzlast-row-start-columnzlayout-modezlink-to-source-datazmarked-invalidzmatrix-coveredzmaximum-differencezmember-countzmember-namezmember-typezmessage-typezmulti-deletion-spannedz	null-yearznumber-columns-repeatedznumber-columns-spannedznumber-matrix-columns-spannedznumber-matrix-rows-spannedznumber-rows-repeatedznumber-rows-spannedzobject-namezon-update-keep-sizezon-update-keep-stylesÚoperatorzpage-breaks-on-group-changezparagraph-style-namezparse-sql-statementÚpasswordzprecision-as-shownzprint-rangeszprotection-keyzprotection-key-digest-algorithmz
query-namezrange-usable-aszrefresh-delayzrejecting-change-idr.   zscenario-rangesz(search-criteria-must-apply-to-whole-cellzselected-pagezshow-detailsz
show-emptyzshow-filter-buttonz	sort-modezsource-cell-range-addresseszsource-field-namezsource-namezsql-statementzstart-columnzstart-positionz	start-rowzstart-tableÚstatusÚstepZstepszstructure-protectedztable-backgroundr:   z
table-nameztarget-cell-addressztarget-range-addressztemplate-nameztrack-changeszuse-banding-columns-styleszuse-banding-rows-styleszuse-first-column-styleszuse-first-row-stylesz
use-labelszuse-last-column-styleszuse-last-row-styleszuse-regular-expressionszuse-wildcardszused-hierarchyz	user-nameZactiveÚaddresszalphabetical-separatorszanchor-page-numberzanchor-typeZ	animationzanimation-delayzanimation-directionzanimation-repeatzanimation-start-insidezanimation-stepszanimation-stop-insideZannoteÚauthorzbibliography-data-fieldzbibliography-typeZ	booktitlezbullet-charzbullet-relative-sizer   zcapitalize-entrieszcaption-sequence-formatzcaption-sequence-namez	change-idZchapterzcitation-body-style-namezcitation-style-namezcolumn-namezcombine-entrieszcombine-entries-with-dashzcombine-entries-with-ppzcomma-separatedzcond-style-namezconnection-namezconsecutive-numberingzcontinue-listzcontinue-numberingzcopy-outline-levelszcount-empty-lineszcount-in-text-boxesZcustom1Zcustom2Zcustom3Zcustom4Zcustom5zdate-adjustzdefault-style-nameÚdescriptionzdisplay-levelszdisplay-outline-levelzdont-balance-text-columnsZeditionZeditorZfixedzfootnotes-positionÚglobalZhowpublishedÚ
identifierzignore-caseZ	incrementz
index-namezindex-scopeZinstitutionz	is-hiddenzis-list-headerZisbnZissnZjournalÚkeyÚkey1zkey1-phoneticÚkey2zkey2-phoneticzlabel-followed-byÚlevelzline-numberzlist-idz"list-level-position-and-space-modezlist-tab-stop-positionz
main-entryzmain-entry-style-namezmin-label-distancezmin-label-widthÚmonthz
note-classZnoteÚnumberznumber-linesznumber-positionznumbered-entriesZorganizationszoutline-levelzpage-adjustzplaceholder-typer=   Z	publisherzref-namezreference-formatzrelative-tab-stop-positionzreport-typezrestart-numberingzrestart-on-pagez
row-numberZschoolzsection-namezselect-pagezseparation-characterZserieszsort-algorithmzsort-ascendingzsort-by-positionzstart-numbering-atzstart-valuezstring-value-if-falsezstring-value-if-truezstring-value-phoneticzstyle-overrideÚsuffixztab-refz
table-typeztime-adjustÚurlzuse-captionzuse-chart-objectszuse-draw-objectszuse-floating-frameszuse-graphicszuse-index-markszuse-index-source-styleszuse-keys-as-entrieszuse-math-objectszuse-objectszuse-other-objectszuse-outline-levelzuse-soft-page-breakszuse-spreadsheet-objectsz
use-tableszvisited-style-nameÚvolumeÚyearÚbindZaboutr5   ZdatatypeÚpropertyZactuateZhrefc                   @   s   e Zd Zdd„ ZdS )ÚAttrConvertersc                 C   sl   t  ||jfd¡}|dk	r&||||ƒS t  |dfd¡}|dk	rJ||||ƒS tjd dkr`t|ƒS t|ƒS dS )zƒ Based on the element, figures out how to check/convert the attribute value
            All values are converted to string
        Nr   r   )ÚattrconvertersÚgetZqnamer   r   r   r   )Úselfr   r   r   Ú
conversionr	   r	   r
   Úconvert@  s    zAttrConverters.convertN)Ú__name__Ú
__module__Ú__qualname__rë   r	   r	   r	   r
   ræ   ?  s   ræ   )Xr   Úos.pathÚosrÄ   ÚappendÚdirnameÚ__file__Zodf.namespacesÚrera   ÚcompileZpattern_colorZpattern_vector3Dr   r   r   r#   r$   r-   r0   r2   r3   r4   r6   r7   r;   r@   rA   rB   rC   rD   rE   rG   rK   rM   rN   rQ   rS   rW   rZ   r[   r\   re   rg   ri   rk   rl   rm   rO   rp   rq   rr   rs   rt   rv   rw   rx   ry   rz   r{   r}   r~   ZANIMNSZCHARTNSZCONFIGNSZDR3DNSrh   ZFONSZFORMNSZGRDDLNSZLOEXTNSZ
MANIFESTNSZMETANSZNUMBERNSZOFFICENSZPRESENTATIONNSZSCRIPTNSZSMILNSrd   ZSVGNSZTABLENSZTEXTNSZXFORMSNSZXHTMLNSZXLINKNSZXMLNSrç   ræ   r	   r	   r	   r
   Ú<module>   s  



	






 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
              
      
                                                
                         
                     
                   
                      
             
 
  
         
       
                                                           
                    
                  
          
            
                  
         
                                                
        
       
 
  
              
                     
                       
                  
               
 
            
     
                                                                       
       
                                             
    
                                
                                       
  
                     
                      
                                      
         
                  
       
                          
 
                                                           
           
            
 
                              
                                    
   
                                 
                                         
                           
             
 
 € € € € € € € € € € ï          