)Ej rddlmZddlZejdZdZdZeeddZdS) ) DefaultTableNzfontTools.mergecB|ddfd}|S)zOReturns a decorator function that adds a new method to one or more classes.allowDefaultTableFcg}D]r}||vr||s|tks Jd|j|jvsJd|jd|jdt ||j|sdS)NzOops, table class not found.z Oops, class 'z' has method 'z'.)appendr__name____dict__setattr)methoddoneclazz allowDefaultclazzess FC:\PYTHON\MyICR_Suite\python\Lib\site-packages\fontTools/merge/base.pywrapperzadd_method..wrappers 4 4E}} KK    X5L#8#8#8:X#8#88u~55556;nnnfoooV655 E6?F 3 3 3 3t)get)rkwargsrrs` @r add_methodr s?::1599L       Nrc <d|D}|stSd|D}|sdS|djtfd|Ds J|j}}i}t jt gd|DR}|D]} |}nB#t $r5 |d}n(#t $rtddjwxYwYnwxYw|turX|fd |D}|tur||<~||_ |S) Nc$g|] }|tu |S)NotImplemented.0items r z mergeObjects.."s" > > >D4~#=#=4#=#=#=rcg|]}||SNrrs rrz mergeObjects..%s 4 4 4D4#34#3#3#3rrc3>K|]}t|kVdSr)type)rrr s r zmergeObjects..*s.33ttDzzU"333333rc3XK|]%}t|V&dSr)varskeys)rtables rr"zmergeObjects..0s4 E Ee!1!1!3!3 E E E E E Er*zDon't know how to merge key z of class c3DK|]}t|tVdSr)getattrr)rr&keys rr"zmergeObjects..=s/PP575#~>>PPPPPPr) r __class__allmergeMapsetunionKeyError Exceptionrr ) lstlogic returnTable returnDictallKeys mergeLogicvaluer r*s @@r mergeObjectsr9!s > >C > > >C  4 4C 4 4 4C t F E 3333s333 3 388S88 3 NE%''KJiF E E E E EFFFG$$ sJJ    "3Z    iDGCCX     ' '  PPPPCPPPPP  & &#JsO%K s*B## C".B76C"7%CC"!C"T)rct|ds'td|jtS|j}t |tr|||j|S||S)Nr-zDon't know how to merge '%s'.) hasattrloginfotableTagrr- isinstancedictr9)selfmtablesr3s rmergerDFsp 4 $ $ 0$-@@@ ME%~~dDM6:::uV}}r)#fontTools.ttLib.tables.DefaultTablerlogging getLoggerr<rr9rDrrrrHs =<<<<<g)***"""J LD111  21   r