<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>137974</bug_id>
          
          <creation_ts>2014-10-22 11:36:07 -0700</creation_ts>
          <short_desc>[GTK] Prefer GTK implementation over native Windows</short_desc>
          <delta_ts>2016-01-06 20:22:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>137488</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Milan Crha">mcrha</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>apinheiro</cc>
    
    <cc>benjamin</cc>
    
    <cc>cfleizach</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dino</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>gustavo</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mario</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>mrobinson</cc>
    
    <cc>roger_fong</cc>
    
    <cc>samuel_white</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1043510</commentid>
    <comment_count>0</comment_count>
    <who name="Milan Crha">mcrha</who>
    <bug_when>2014-10-22 11:36:07 -0700</bug_when>
    <thetext>I&apos;m building WebKit under mingw/msys and when the GTK platform is enabled, together with the WIN platform, then only one of them can be used. Better to prefer the GTK implementation of the &quot;same&quot; functions, to reuse what GTK has. Currently the code expect that either WIN or GTK platform is enabled, which might not be always true.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043511</commentid>
    <comment_count>1</comment_count>
      <attachid>240284</attachid>
    <who name="Milan Crha">mcrha</who>
    <bug_when>2014-10-22 11:38:28 -0700</bug_when>
    <thetext>Created attachment 240284
proposed wk patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1153345</commentid>
    <comment_count>2</comment_count>
      <attachid>240284</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2016-01-06 20:21:55 -0800</bug_when>
    <thetext>Comment on attachment 240284
proposed wk patch

View in context: https://bugs.webkit.org/attachment.cgi?id=240284&amp;action=review

Milan, sorry for the late review. I&apos;m going to r- this simply because the GTK port does not have any support for Windows anymore. If that situation ever changes (if you or someone else ever gets it working), then of course it would make sense to reconsider this patch.

&gt; Source/WTF/wtf/Compiler.h:97
&gt; +#define WTF_COMPILER_GCC 1

I don&apos;t think this is right; a quick Google search tells me that MinGW supports Clang. Even though clang pretends to be GCC, we don&apos;t want COMPILER(GCC) to return true unless the compiler really is GCC.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240284</attachid>
            <date>2014-10-22 11:38:28 -0700</date>
            <delta_ts>2016-01-06 20:21:55 -0800</delta_ts>
            <desc>proposed wk patch</desc>
            <filename>wk.patch</filename>
            <type>text/plain</type>
            <size>34045</size>
            <attacher name="Milan Crha">mcrha</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggOWE5MjkzYy4uZWNmZjhlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxNC0xMC0yMiAg
TWlsYW4gQ3JoYSAgPG1jcmhhQHJlZGhhdC5jb20+CisKKyAgICAgICAgUHJlZmVyIEdUSyBpbXBs
ZW1lbnRhdGlvbiBvdmVyIG5hdGl2ZSBXaW5kb3dzLgorICAgICAgICA8aHR0cHM6Ly93ZWJraXQu
b3JnL2IvMTM3OTc0Pi4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHd0Zi9BdG9taWNzLmg6CisgICAgICAgIChXVEY6OndlYWtDb21wYXJlQW5kU3dh
cCk6CisgICAgICAgICogd3RmL0NvbXBpbGVyLmg6CisgICAgICAgICogd3RmL0V4cG9ydE1hY3Jv
cy5oOgorICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorICAgICAgICAqIHd0Zi9SdW5Mb29wLmg6
CisKIDIwMTQtMTAtMjEgIETDoW5pZWwgQsOhdHlhaSAgPGRiYXR5YWkudS1zemVnZWRAcGFydG5l
ci5zYW1zdW5nLmNvbT4KIAogICAgICAgICBGaXggRlRMIE5hdGl2ZSBJbmxpbmluZyBmb3IgRUZM
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9BdG9taWNzLmggYi9Tb3VyY2UvV1RGL3d0Zi9B
dG9taWNzLmgKaW5kZXggNzg3NjgxNy4uMzQ5OTVhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvQXRvbWljcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0F0b21pY3MuaApAQCAtMjgzLDcgKzI4
Myw3IEBAIGlubGluZSB2b2lkIG1lbW9yeUJhcnJpZXJCZWZvcmVVbmxvY2soKSB7IGNvbXBpbGVy
RmVuY2UoKTsgfQogaW5saW5lIGJvb2wgd2Vha0NvbXBhcmVBbmRTd2FwKHVpbnQ4X3QqIGxvY2F0
aW9uLCB1aW50OF90IGV4cGVjdGVkLCB1aW50OF90IG5ld1ZhbHVlKQogewogI2lmIEVOQUJMRShD
T01QQVJFX0FORF9TV0FQKQotI2lmICFPUyhXSU5ET1dTKSAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4
Nl82NCkpCisjaWYgIUNPTVBJTEVSKE1TVkMpICYmIChDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KSkK
ICAgICB1bnNpZ25lZCBjaGFyIHJlc3VsdDsKICAgICBhc20gdm9sYXRpbGUoCiAgICAgICAgICJs
b2NrOyBjbXB4Y2hnYiAlMywgJTJcblx0IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ29t
cGlsZXIuaCBiL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgKaW5kZXggMmIxYTFhMC4uZTEzMjAw
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9Db21waWxlci5oCkBAIC05NCw2ICs5NCw3IEBACiAKICNpZiBkZWZpbmVkKF9fTUlOR1cz
Ml9fKQogI2RlZmluZSBXVEZfQ09NUElMRVJfTUlOR1cgMQorI2RlZmluZSBXVEZfQ09NUElMRVJf
R0NDIDEKICNpbmNsdWRlIDxfbWluZ3cuaD4KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9FeHBvcnRNYWNyb3MuaCBiL1NvdXJjZS9XVEYvd3RmL0V4cG9ydE1hY3Jvcy5oCmlu
ZGV4IGM5MGI5ZjAuLjhjMjQ0OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0V4cG9ydE1h
Y3Jvcy5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0V4cG9ydE1hY3Jvcy5oCkBAIC0zNiw3ICszNiw3
IEBACiAvLyBiZWluZyBsb2NhbCB0byB0aGUgdGFyZ2V0IGJlaW5nIGdlbmVyYXRlZCwgYW5kIHRo
dXMgbm90IHN1YmplY3QgdG8gKGUuZy4pIEVMRgogLy8gc3ltYm9sIGludGVycG9zaXRpb24gcnVs
ZXMuCiAKLSNpZiBPUyhXSU5ET1dTKQorI2lmIE9TKFdJTkRPV1MpICYmICFDT01QSUxFUihHQ0Mp
CiAjZGVmaW5lIEhBVkVfSU5URVJOQUxfVklTSUJJTElUWSAxCiAjZGVmaW5lIFdURl9JTlRFUk5B
TAogI2VsaWYgZGVmaW5lZChfX0dOVUNfXykgJiYgIWRlZmluZWQoX19DQ19BUk0pICYmICFkZWZp
bmVkKF9fQVJNQ0NfXykKQEAgLTQ2LDcgKzQ2LDcgQEAKICNkZWZpbmUgV1RGX0lOVEVSTkFMCiAj
ZW5kaWYKIAotI2lmIE9TKFdJTkRPV1MpCisjaWYgT1MoV0lORE9XUykgJiYgIUNPTVBJTEVSKEdD
QykKIAogI2RlZmluZSBXVEZfRVhQT1JUX0RFQ0xBUkFUSU9OIF9fZGVjbHNwZWMoZGxsZXhwb3J0
KQogI2RlZmluZSBXVEZfSU1QT1JUX0RFQ0xBUkFUSU9OIF9fZGVjbHNwZWMoZGxsaW1wb3J0KQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtLmgKaW5kZXggOTA2ODU0Ny4uZGI5YzFiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93
dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC00NTUsNyAr
NDU1LDcgQEAKIC8qIEdyYXBoaWNzIGVuZ2luZXMgKi8KIAogLyogVVNFKENHKSBhbmQgUExBVEZP
Uk0oQ0kpICovCi0jaWYgUExBVEZPUk0oQ09DT0EpIHx8IChQTEFURk9STShXSU4pICYmICFVU0Uo
V0lOR0RJKSAmJiAhUExBVEZPUk0oV0lOX0NBSVJPKSkKKyNpZiBQTEFURk9STShDT0NPQSkgfHwg
KFBMQVRGT1JNKFdJTikgJiYgIVVTRShXSU5HREkpICYmICFQTEFURk9STShXSU5fQ0FJUk8pICYm
ICFQTEFURk9STShHVEspKQogI2RlZmluZSBXVEZfVVNFX0NHIDEKICNlbmRpZgogI2lmIFBMQVRG
T1JNKENPQ09BKSB8fCAoUExBVEZPUk0oV0lOKSAmJiBVU0UoQ0cpKQpAQCAtNTMwLDExICs1MzAs
MTEgQEAKIAogI2VuZGlmIC8qIFBMQVRGT1JNKElPUykgKi8KIAotI2lmIFBMQVRGT1JNKFdJTikg
JiYgIVVTRShXSU5HREkpCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhVVNFKFdJTkdESSkgJiYgIVBM
QVRGT1JNKEdUSykKICNkZWZpbmUgV1RGX1VTRV9DRiAxCiAjZW5kaWYKIAotI2lmIFBMQVRGT1JN
KFdJTikgJiYgIVVTRShXSU5HREkpICYmICFQTEFURk9STShXSU5fQ0FJUk8pCisjaWYgUExBVEZP
Uk0oV0lOKSAmJiAhVVNFKFdJTkdESSkgJiYgIVBMQVRGT1JNKFdJTl9DQUlSTykgJiYgIVBMQVRG
T1JNKEdUSykKICNkZWZpbmUgV1RGX1VTRV9DRk5FVFdPUksgMQogI2VuZGlmCiAKQEAgLTYwNCw3
ICs2MDQsOSBAQAogI2RlZmluZSBIQVZFX0FMSUdORURfTUFMTE9DIDEKICNkZWZpbmUgSEFWRV9J
U0RFQlVHR0VSUFJFU0VOVCAxCiAKKyNpZiAhUExBVEZPUk0oR1RLKQogI2luY2x1ZGUgPFdURi9X
VEZIZWFkZXJEZXRlY3Rpb24uaD4KKyNlbmRpZgogCiAjZW5kaWYKIApAQCAtNjE5LDcgKzYyMSw3
IEBACiAvKiBJbmNsdWRlIGZlYXR1cmUgbWFjcm9zICovCiAjaW5jbHVkZSA8d3RmL0ZlYXR1cmVE
ZWZpbmVzLmg+CiAKLSNpZiBPUyhXSU5ET1dTKQorI2lmIE9TKFdJTkRPV1MpICYmICFkZWZpbmVk
KFVTRV9TWVNURU1fTUFMTE9DKQogI2RlZmluZSBVU0VfU1lTVEVNX01BTExPQyAxCiAjZW5kaWYK
IApAQCAtODk3LDcgKzg5OSw3IEBACiAvKiBTZXQgdXAgYSBkZWZpbmUgZm9yIGEgY29tbW9uIGVy
cm9yIHRoYXQgaXMgaW50ZW5kZWQgdG8gY2F1c2UgYSBidWlsZCBlcnJvciAtLSB0aHVzIHRoZSBz
cGFjZSBhZnRlciBFcnJvci4gKi8KICNkZWZpbmUgV1RGX1BMQVRGT1JNX0NGTkVUV09SSyBFcnJv
ciBVU0VfbWFjcm9fc2hvdWxkX2JlX3VzZWRfd2l0aF9DRk5FVFdPUksKIAotI2lmIFBMQVRGT1JN
KFdJTikKKyNpZiBQTEFURk9STShXSU4pICYmICFQTEFURk9STShHVEspCiAjZGVmaW5lIFdURl9V
U0VfQ1JPU1NfUExBVEZPUk1fQ09OVEVYVF9NRU5VUyAxCiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvUnVuTG9vcC5oIGIvU291cmNlL1dURi93dGYvUnVuTG9vcC5oCmluZGV4
IDMyMDE3NmQuLjJlZDg0NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1J1bkxvb3AuaAor
KysgYi9Tb3VyY2UvV1RGL3d0Zi9SdW5Mb29wLmgKQEAgLTg5LDcgKzg5LDcgQEAgcHVibGljOgog
CiAgICAgICAgIFJ1bkxvb3AmIG1fcnVuTG9vcDsKIAotI2lmIFBMQVRGT1JNKFdJTikKKyNpZiBQ
TEFURk9STShXSU4pICYmICFVU0UoR0xJQikKICAgICAgICAgc3RhdGljIHZvaWQgdGltZXJGaXJl
ZChSdW5Mb29wKiwgdWludDY0X3QgSUQpOwogICAgICAgICB1aW50NjRfdCBtX0lEOwogICAgICAg
ICBib29sIG1faXNSZXBlYXRpbmc7CkBAIC0xMzQsNyArMTM0LDcgQEAgcHJpdmF0ZToKICAgICBN
dXRleCBtX2Z1bmN0aW9uUXVldWVMb2NrOwogICAgIERlcXVlPHN0ZDo6ZnVuY3Rpb248dm9pZCAo
KT4+IG1fZnVuY3Rpb25RdWV1ZTsKIAotI2lmIFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShX
SU4pICYmICFVU0UoR0xJQikKICAgICBzdGF0aWMgYm9vbCByZWdpc3RlclJ1bkxvb3BNZXNzYWdl
V2luZG93Q2xhc3MoKTsKICAgICBzdGF0aWMgTFJFU1VMVCBDQUxMQkFDSyBSdW5Mb29wV25kUHJv
YyhIV05ELCBVSU5ULCBXUEFSQU0sIExQQVJBTSk7CiAgICAgTFJFU1VMVCB3bmRQcm9jKEhXTkQg
aFduZCwgVUlOVCBtZXNzYWdlLCBXUEFSQU0gd1BhcmFtLCBMUEFSQU0gbFBhcmFtKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCBjNmM0MjExLi40M2U5YjI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDQgQEAKKzIw
MTQtMTAtMjIgIE1pbGFuIENyaGEgIDxtY3JoYUByZWRoYXQuY29tPgorCisgICAgICAgIFByZWZl
ciBHVEsgaW1wbGVtZW50YXRpb24gb3ZlciBuYXRpdmUgV2luZG93cy4KKyAgICAgICAgPGh0dHBz
Oi8vd2Via2l0Lm9yZy9iLzEzNzk3ND4uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaDoK
KyAgICAgICAgKiBjb25maWcuaDoKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmg6CisgICAgICAgICog
cGxhdGZvcm0vQ3Vyc29yLmg6CisgICAgICAgICogcGxhdGZvcm0vRHJhZ0RhdGEuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9EcmFnSW1hZ2UuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9GaWxlU3lzdGVt
Lmg6CisgICAgICAgICogcGxhdGZvcm0vTG9jYWxpemVkU3RyaW5ncy5oOgorICAgICAgICAqIHBs
YXRmb3JtL1Bhc3RlYm9hcmQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJk
RXZlbnQuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybU1lbnVEZXNjcmlwdGlvbi5oOgor
ICAgICAgICAqIHBsYXRmb3JtL1BsYXRmb3JtTW91c2VFdmVudC5oOgorICAgICAgICAoV2ViQ29y
ZTo6UGxhdGZvcm1Nb3VzZUV2ZW50OjpQbGF0Zm9ybU1vdXNlRXZlbnQpOgorICAgICAgICAqIHBs
YXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL1dpZGdldC5o
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0JpdG1hcEltYWdlLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvRm9udFBsYXRmb3JtRGF0YS5oOgorICAgICAgICAoV2ViQ29yZTo6Rm9udFBsYXRmb3JtRGF0
YTo6aGFzaCk6CisgICAgICAgIChXZWJDb3JlOjpGb250UGxhdGZvcm1EYXRhOjppc0hhc2hUYWJs
ZURlbGV0ZWRWYWx1ZSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR2x5cGhCdWZmZXIu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkdseXBoQnVmZmVyOjpjbGVhcik6CisgICAgICAgIChXZWJD
b3JlOjpHbHlwaEJ1ZmZlcjo6b2Zmc2V0QXQpOgorICAgICAgICAoV2ViQ29yZTo6R2x5cGhCdWZm
ZXI6OmFkZCk6CisgICAgICAgIChXZWJDb3JlOjpHbHlwaEJ1ZmZlcjo6c3dhcCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0Lmg6CisgICAgICAgICogcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9JY29uLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuaDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbnRQb2ludC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL0ludFJlY3QuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9JbnRTaXplLmg6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaDoKKwogMjAxNC0x
MC0yMiAgU2hpdmFrdW1hciBKTSAgPHNoaXZhLmptQHNhbXN1bmcuY29tPgogCiAgICAgICAgIFhN
TEh0dHBSZXF1ZXN0IHNob3VsZCBzdXBwb3J0IGF0dHJpYnV0ZSByZXNwb25zZVVSTCBhcyBwZXIg
bGF0ZXN0IFhIUiBzcGVjLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0Fj
Y2Vzc2liaWxpdHlPYmplY3QuaAppbmRleCAwMjM0YmIzLi5mYzA5ZjE0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuaApAQCAtNDIs
NyArNDIsNyBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAjaW5jbHVkZSA8d3RmL1JldGFpblB0
ci5oPgotI2VsaWYgUExBVEZPUk0oV0lOKQorI2VsaWYgUExBVEZPUk0oV0lOKSAmJiAhUExBVEZP
Uk0oR1RLKQogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyV2luLmgiCiAjaW5j
bHVkZSAiQ09NUHRyLmgiCiAjZW5kaWYKQEAgLTk5MSw3ICs5OTEsNyBAQCBwcm90ZWN0ZWQ6CiAK
ICNpZiBQTEFURk9STShDT0NPQSkKICAgICBSZXRhaW5QdHI8V2ViQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXI+IG1fd3JhcHBlcjsKLSNlbGlmIFBMQVRGT1JNKFdJTikKKyNlbGlmIFBMQVRGT1JN
KFdJTikgJiYgIVBMQVRGT1JNKEdUSykKICAgICBDT01QdHI8QWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXI+IG1fd3JhcHBlcjsKICNlbGlmIFBMQVRGT1JNKEdUSykgfHwgKFBMQVRGT1JNKEVGTCkg
JiYgSEFWRShBQ0NFU1NJQklMSVRZKSkKICAgICBBdGtPYmplY3QqIG1fd3JhcHBlcjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2NvbmZpZy5oIGIvU291cmNlL1dlYkNvcmUvY29uZmlnLmgK
aW5kZXggODBlOWMxNy4uMmExYmQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY29uZmln
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY29uZmlnLmgKQEAgLTI5LDcgKzI5LDcgQEAKICNkZWZp
bmUgV1RGX1VTRV9GSUxFX0xPQ0sgMQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShXSU4pICYmICFV
U0UoV0lOR0RJKQorI2lmIFBMQVRGT1JNKFdJTikgJiYgIVVTRShXSU5HREkpICYmICFQTEFURk9S
TShHVEspCiAjaW5jbHVkZSA8V2ViQ29yZS9XZWJDb3JlSGVhZGVyRGV0ZWN0aW9uLmg+CiAjZW5k
aWYKIApAQCAtODcsMTAgKzg3LDE0IEBACiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFdJTikKLSNp
ZiBQTEFURk9STShXSU5fQ0FJUk8pCisjaWYgUExBVEZPUk0oV0lOX0NBSVJPKSB8fCBQTEFURk9S
TShHVEspCiAjdW5kZWYgV1RGX1VTRV9DRwogI2RlZmluZSBXVEZfVVNFX0NBSVJPIDEKKyNpZiAh
UExBVEZPUk0oR1RLKQogI2RlZmluZSBXVEZfVVNFX0NVUkwgMQorI2Vsc2UKKyN1bmRlZiBXVEZf
VVNFX0NVUkwKKyNlbmRpZgogI2lmbmRlZiBfV0lOU09DS0FQSV8KICNkZWZpbmUgX1dJTlNPQ0tB
UElfIC8vIFByZXZlbnQgaW5jbHVzaW9uIG9mIHdpbnNvY2suaCBpbiB3aW5kb3dzLmgKICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9GcmFtZS5oCmluZGV4IDZlZGRhMzQuLmQ2ZDgyNzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmgK
QEAgLTQzLDcgKzQzLDcgQEAKICNpbmNsdWRlICJWaXNpYmxlU2VsZWN0aW9uLmgiCiAjZW5kaWYK
IAotI2lmIFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShXSU4pICYmICFQTEFURk9STShHVEsp
CiAjaW5jbHVkZSAiRnJhbWVXaW4uaCIKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9DdXJzb3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5o
CmluZGV4IDQzZGUyMjQuLmY2OWIxZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL0N1cnNvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0N1cnNvci5oCkBAIC0z
MSw3ICszMSw3IEBACiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbmNsdWRlIDx3dGYv
UmVmUHRyLmg+CiAKLSNpZiBQTEFURk9STShXSU4pCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhUExB
VEZPUk0oR1RLKQogdHlwZWRlZiBzdHJ1Y3QgSElDT05fXyogSElDT047CiB0eXBlZGVmIEhJQ09O
IEhDVVJTT1I7CiAjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTQ2LDcgKzQ2LDcgQEAg
dHlwZWRlZiBISUNPTiBIQ1VSU09SOwogT0JKQ19DTEFTUyBOU0N1cnNvcjsKICNlbmRpZgogCi0j
aWYgUExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKEdUSykKIHR5
cGVkZWYgc3RydWN0IEhJQ09OX18gKkhJQ09OOwogdHlwZWRlZiBISUNPTiBIQ1VSU09SOwogI2Vu
ZGlmCkBAIC01NSw3ICs1NSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIElt
YWdlOwogCi0jaWYgUExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JN
KEdUSykKICAgICBjbGFzcyBTaGFyZWRDdXJzb3IgOiBwdWJsaWMgUmVmQ291bnRlZDxTaGFyZWRD
dXJzb3I+IHsKICAgICBwdWJsaWM6CiAgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNoYXJlZEN1
cnNvcj4gY3JlYXRlKEhDVVJTT1IgbmF0aXZlQ3Vyc29yKSB7IHJldHVybiBhZG9wdFJlZihuZXcg
U2hhcmVkQ3Vyc29yKG5hdGl2ZUN1cnNvcikpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9EcmFnRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0RhdGEu
aAppbmRleCA1NmIxMTk3Li5mNmI1ZjJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9EcmFnRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0RyYWdEYXRhLmgK
QEAgLTQ2LDcgKzQ2LDcgQEAgdHlwZWRlZiBpZCA8TlNEcmFnZ2luZ0luZm8+IERyYWdEYXRhUmVm
OwogdHlwZWRlZiB2b2lkKiBEcmFnRGF0YVJlZjsKICNlbmRpZgogCi0jZWxpZiBQTEFURk9STShX
SU4pCisjZWxpZiBQTEFURk9STShXSU4pICYmICFQTEFURk9STShHVEspCiB0eXBlZGVmIHN0cnVj
dCBJRGF0YU9iamVjdCogRHJhZ0RhdGFSZWY7CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CiAjZWxpZiBQTEFURk9STShHVEspCkBAIC03MCw3ICs3MCw3IEBAIGVudW0gRHJhZ0FwcGxp
Y2F0aW9uRmxhZ3MgewogICAgIERyYWdBcHBsaWNhdGlvbklzQ29weUtleURvd24gPSA4CiB9Owog
Ci0jaWYgUExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKEdUSykK
IHR5cGVkZWYgSGFzaE1hcDx1bnNpZ25lZCwgVmVjdG9yPFN0cmluZz4+IERyYWdEYXRhTWFwOwog
I2VuZGlmCiAKQEAgLTgxLDcgKzgxLDcgQEAgcHVibGljOgogICAgIC8vIGNsaWVudFBvc2l0aW9u
IGlzIHRha2VuIHRvIGJlIHRoZSBwb3NpdGlvbiBvZiB0aGUgZHJhZyBldmVudCB3aXRoaW4gdGhl
IHRhcmdldCB3aW5kb3csIHdpdGggKDAsMCkgYXQgdGhlIHRvcCBsZWZ0CiAgICAgV0VCQ09SRV9F
WFBPUlQgRHJhZ0RhdGEoRHJhZ0RhdGFSZWYsIGNvbnN0IEludFBvaW50JiBjbGllbnRQb3NpdGlv
biwgY29uc3QgSW50UG9pbnQmIGdsb2JhbFBvc2l0aW9uLCBEcmFnT3BlcmF0aW9uLCBEcmFnQXBw
bGljYXRpb25GbGFncyA9IERyYWdBcHBsaWNhdGlvbk5vbmUpOwogICAgIFdFQkNPUkVfRVhQT1JU
IERyYWdEYXRhKGNvbnN0IFN0cmluZyYgZHJhZ1N0b3JhZ2VOYW1lLCBjb25zdCBJbnRQb2ludCYg
Y2xpZW50UG9zaXRpb24sIGNvbnN0IEludFBvaW50JiBnbG9iYWxQb3NpdGlvbiwgRHJhZ09wZXJh
dGlvbiwgRHJhZ0FwcGxpY2F0aW9uRmxhZ3MgPSBEcmFnQXBwbGljYXRpb25Ob25lKTsKLSNpZiBQ
TEFURk9STShXSU4pCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0oR1RLKQogICAgIFdF
QkNPUkVfRVhQT1JUIERyYWdEYXRhKGNvbnN0IERyYWdEYXRhTWFwJiwgY29uc3QgSW50UG9pbnQm
IGNsaWVudFBvc2l0aW9uLCBjb25zdCBJbnRQb2ludCYgZ2xvYmFsUG9zaXRpb24sIERyYWdPcGVy
YXRpb24gc291cmNlT3BlcmF0aW9uTWFzaywgRHJhZ0FwcGxpY2F0aW9uRmxhZ3MgPSBEcmFnQXBw
bGljYXRpb25Ob25lKTsKICAgICBjb25zdCBEcmFnRGF0YU1hcCYgZHJhZ0RhdGFNYXAoKTsKICAg
ICB2b2lkIGdldERyYWdGaWxlRGVzY3JpcHRvckRhdGEoaW50JiBzaXplLCBTdHJpbmcmIHBhdGhu
YW1lKTsKQEAgLTEzMyw3ICsxMzMsNyBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKE1BQykKICAg
ICBTdHJpbmcgbV9wYXN0ZWJvYXJkTmFtZTsKICNlbmRpZgotI2lmIFBMQVRGT1JNKFdJTikKKyNp
ZiBQTEFURk9STShXSU4pICYmICFQTEFURk9STShHVEspCiAgICAgRHJhZ0RhdGFNYXAgbV9kcmFn
RGF0YU1hcDsKICNlbmRpZgogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L0RyYWdJbWFnZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0ltYWdlLmgKaW5kZXgg
YzgxMWMzMC4uMjY0NzZiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJh
Z0ltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRHJhZ0ltYWdlLmgKQEAgLTM4
LDcgKzM4LDcgQEAgdHlwZWRlZiBzdHJ1Y3QgQ0dJbWFnZSAqQ0dJbWFnZVJlZjsKICNlbGlmIFBM
QVRGT1JNKE1BQykKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiBPQkpDX0NMQVNTIE5TSW1h
Z2U7Ci0jZWxpZiBQTEFURk9STShXSU4pCisjZWxpZiBQTEFURk9STShXSU4pICYmICFQTEFURk9S
TShHVEspCiB0eXBlZGVmIHN0cnVjdCBIQklUTUFQX18qIEhCSVRNQVA7CiAjZWxpZiBQTEFURk9S
TShHVEspCiB0eXBlZGVmIHN0cnVjdCBfY2Fpcm9fc3VyZmFjZSBjYWlyb19zdXJmYWNlX3Q7CkBA
IC02MCw3ICs2MCw3IEBAIGNsYXNzIFVSTDsKIHR5cGVkZWYgUmV0YWluUHRyPENHSW1hZ2VSZWY+
IERyYWdJbWFnZVJlZjsKICNlbGlmIFBMQVRGT1JNKE1BQykKIHR5cGVkZWYgUmV0YWluUHRyPE5T
SW1hZ2U+IERyYWdJbWFnZVJlZjsKLSNlbGlmIFBMQVRGT1JNKFdJTikKKyNlbGlmIFBMQVRGT1JN
KFdJTikgJiYgIVBMQVRGT1JNKEdUSykKIHR5cGVkZWYgSEJJVE1BUCBEcmFnSW1hZ2VSZWY7CiAj
ZWxpZiBQTEFURk9STShHVEspCiB0eXBlZGVmIGNhaXJvX3N1cmZhY2VfdCogRHJhZ0ltYWdlUmVm
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vRmlsZVN5c3RlbS5oCmluZGV4IGE4MTM4NjcuLjg3MDhlODIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0ZpbGVTeXN0ZW0uaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9GaWxlU3lzdGVtLmgKQEAgLTk2LDcgKzk2LDcgQEAgdHlw
ZWRlZiB1bnNpZ25lZCBQbGF0Zm9ybU1vZHVsZVZlcnNpb247CiAjZW5kaWYKIAogLy8gUGxhdGZv
cm1GaWxlSGFuZGxlCi0jaWYgVVNFKEdMSUIpICYmICFQTEFURk9STShFRkwpICYmICFQTEFURk9S
TShXSU4pCisjaWYgVVNFKEdMSUIpICYmICFQTEFURk9STShFRkwpICYmICghUExBVEZPUk0oV0lO
KSB8fCBQTEFURk9STShHVEspKQogdHlwZWRlZiBHRmlsZUlPU3RyZWFtKiBQbGF0Zm9ybUZpbGVI
YW5kbGU7CiBjb25zdCBQbGF0Zm9ybUZpbGVIYW5kbGUgaW52YWxpZFBsYXRmb3JtRmlsZUhhbmRs
ZSA9IDA7CiAjZWxpZiBPUyhXSU5ET1dTKQpAQCAtMTk3LDcgKzE5Nyw3IEBAIENTdHJpbmcgc2hh
cmVkUmVzb3VyY2VzUGF0aCgpOwogdWludDY0X3QgZ2V0Vm9sdW1lRnJlZVNpemVGb3JQYXRoKGNv
bnN0IGNoYXIqKTsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JNKFdJ
TikgJiYgIVBMQVRGT1JNKEdUSykKIFN0cmluZyBsb2NhbFVzZXJTcGVjaWZpY1N0b3JhZ2VEaXJl
Y3RvcnkoKTsKIFN0cmluZyByb2FtaW5nVXNlclNwZWNpZmljU3RvcmFnZURpcmVjdG9yeSgpOwog
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJp
bmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Mb2NhbGl6ZWRTdHJpbmdzLmgKaW5kZXgg
MDlhMzgwMC4uY2FjNTA0ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTG9j
YWxpemVkU3RyaW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xvY2FsaXplZFN0
cmluZ3MuaApAQCAtMTkyLDcgKzE5Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBTdHJp
bmcgbXVsdGlwbGVGaWxlVXBsb2FkVGV4dCh1bnNpZ25lZCBudW1iZXJPZkZpbGVzKTsKICAgICBT
dHJpbmcgdW5rbm93bkZpbGVTaXplVGV4dCgpOwogCi0jaWYgUExBVEZPUk0oV0lOKQorI2lmIFBM
QVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKEdUSykKICAgICBTdHJpbmcgdXBsb2FkRmlsZVRleHQo
KTsKICAgICBTdHJpbmcgYWxsRmlsZXNUZXh0KCk7CiAjZW5kaWYKQEAgLTI1MSw3ICsyNTEsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgU3RyaW5nIHRleHRUcmFja0F1dG9tYXRpY01lbnVJ
dGVtVGV4dCgpOwogICAgIFN0cmluZyB0ZXh0VHJhY2tOb0xhYmVsVGV4dCgpOwogICAgIFN0cmlu
ZyBhdWRpb1RyYWNrTm9MYWJlbFRleHQoKTsKLSNpZiBQTEFURk9STShDT0NPQSkgfHwgUExBVEZP
Uk0oV0lOKQorI2lmIFBMQVRGT1JNKENPQ09BKSB8fCAoUExBVEZPUk0oV0lOKSAmJiAhUExBVEZP
Uk0oR1RLKSkKICAgICBTdHJpbmcgdGV4dFRyYWNrQ291bnRyeUFuZExhbmd1YWdlTWVudUl0ZW1U
ZXh0KGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgY291bnRyeSwgY29uc3QgU3Ry
aW5nJiBsYW5ndWFnZSk7CiAgICAgU3RyaW5nIHRleHRUcmFja0xhbmd1YWdlTWVudUl0ZW1UZXh0
KGNvbnN0IFN0cmluZyYgdGl0bGUsIGNvbnN0IFN0cmluZyYgbGFuZ3VhZ2UpOwogICAgIFN0cmlu
ZyBjbG9zZWRDYXB0aW9uVHJhY2tNZW51SXRlbVRleHQoY29uc3QgU3RyaW5nJik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9QYXN0ZWJvYXJkLmgKaW5kZXggOTQyZjllNi4uMzRlNjM0OSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGFzdGVib2FyZC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1Bhc3RlYm9hcmQuaApAQCAtNDIsNyArNDIsNyBAQCBPQkpDX0NMQVNTIE5T
QXJyYXk7CiBPQkpDX0NMQVNTIE5TU3RyaW5nOwogI2VuZGlmCiAKLSNpZiBQTEFURk9STShXSU4p
CisjaWYgUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0oR1RLKQogI2luY2x1ZGUgIkNPTVB0ci5o
IgogI2luY2x1ZGUgIldDRGF0YU9iamVjdC5oIgogI2luY2x1ZGUgPG9iamlkbC5oPgpAQCAtMTAy
LDcgKzEwMiw3IEBAIHN0cnVjdCBQYXN0ZWJvYXJkSW1hZ2UgewogICAgIFdFQkNPUkVfRVhQT1JU
IFBhc3RlYm9hcmRJbWFnZSgpOwogICAgIFdFQkNPUkVfRVhQT1JUIH5QYXN0ZWJvYXJkSW1hZ2Uo
KTsKICAgICBSZWZQdHI8SW1hZ2U+IGltYWdlOwotI2lmICEoUExBVEZPUk0oRUZMKSB8fCBQTEFU
Rk9STShXSU4pKQorI2lmICEoUExBVEZPUk0oRUZMKSB8fCBQTEFURk9STShXSU4pKSB8fCBQTEFU
Rk9STShHVEspCiAgICAgUGFzdGVib2FyZFVSTCB1cmw7CiAjZW5kaWYKICNpZiAhKFBMQVRGT1JN
KEVGTCkgfHwgUExBVEZPUk0oR1RLKSB8fCBQTEFURk9STShXSU4pKQpAQCAtMTc0LDcgKzE3NCw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldERyYWdJbWFnZShEcmFnSW1hZ2VSZWYsIGNvbnN0IElu
dFBvaW50JiBob3RTcG90KTsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oV0lOKQorI2lmIFBMQVRG
T1JNKFdJTikgJiYgIVBMQVRGT1JNKEdUSykKICAgICBQYXNzUmVmUHRyPERvY3VtZW50RnJhZ21l
bnQ+IGRvY3VtZW50RnJhZ21lbnQoRnJhbWUmLCBSYW5nZSYsIGJvb2wgYWxsb3dQbGFpblRleHQs
IGJvb2wmIGNob3NlUGxhaW5UZXh0KTsgLy8gRklYTUU6IExheWVyaW5nIHZpb2xhdGlvbi4KICAg
ICB2b2lkIHdyaXRlSW1hZ2UoRWxlbWVudCYsIGNvbnN0IFVSTCYsIGNvbnN0IFN0cmluZyYgdGl0
bGUpOyAvLyBGSVhNRTogTGF5ZXJpbmcgdmlvbGF0aW9uLgogICAgIHZvaWQgd3JpdGVTZWxlY3Rp
b24oUmFuZ2UmLCBib29sIGNhblNtYXJ0Q29weU9yRGVsZXRlLCBGcmFtZSYsIFNob3VsZFNlcmlh
bGl6ZVNlbGVjdGVkVGV4dEZvckRhdGFUcmFuc2ZlciA9IERlZmF1bHRTZWxlY3RlZFRleHRUeXBl
KTsgLy8gRklYTUU6IExheWVyaW5nIHZpb2xhdGlvbi4KQEAgLTE5OSw3ICsxOTksNyBAQCBwdWJs
aWM6CiAgICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3QgeyByZXR1cm4gbV9wYXN0ZWJvYXJk
TmFtZTsgfQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShXSU4pCisjaWYgUExBVEZPUk0oV0lOKSAm
JiAhUExBVEZPUk0oR1RLKQogICAgIENPTVB0cjxJRGF0YU9iamVjdD4gZGF0YU9iamVjdCgpIGNv
bnN0IHsgcmV0dXJuIG1fZGF0YU9iamVjdDsgfQogICAgIHZvaWQgc2V0RXh0ZXJuYWxEYXRhT2Jq
ZWN0KElEYXRhT2JqZWN0Kik7CiAgICAgY29uc3QgRHJhZ0RhdGFNYXAmIGRyYWdEYXRhTWFwKCkg
Y29uc3QgeyByZXR1cm4gbV9kcmFnRGF0YU1hcDsgfQpAQCAtMjE2LDcgKzIxNiw3IEBAIHByaXZh
dGU6CiAgICAgUGFzdGVib2FyZChHdGtDbGlwYm9hcmQqKTsKICNlbmRpZgogCi0jaWYgUExBVEZP
Uk0oV0lOKQorI2lmIFBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKEdUSykKICAgICBleHBsaWNp
dCBQYXN0ZWJvYXJkKElEYXRhT2JqZWN0Kik7CiAgICAgZXhwbGljaXQgUGFzdGVib2FyZChXQ0Rh
dGFPYmplY3QqKTsKICAgICBleHBsaWNpdCBQYXN0ZWJvYXJkKGNvbnN0IERyYWdEYXRhTWFwJik7
CkBAIC0yNDEsNyArMjQxLDcgQEAgcHJpdmF0ZToKICAgICBsb25nIG1fY2hhbmdlQ291bnQ7CiAj
ZW5kaWYKIAotI2lmIFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShXSU4pICYmICFQTEFURk9S
TShHVEspCiAgICAgSFdORCBtX293bmVyOwogICAgIENPTVB0cjxJRGF0YU9iamVjdD4gbV9kYXRh
T2JqZWN0OwogICAgIENPTVB0cjxXQ0RhdGFPYmplY3Q+IG1fd3JpdGFibGVEYXRhT2JqZWN0Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1LZXlib2FyZEV2ZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaAppbmRl
eCA0YjMyYTBiLi5kZTg0OTUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9Q
bGF0Zm9ybUtleWJvYXJkRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0
Zm9ybUtleWJvYXJkRXZlbnQuaApAQCAtMTM1LDcgKzEzNSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICNlbmRpZgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShXSU4pCisjaWYgUExBVEZPUk0oV0lO
KSAmJiAhUExBVEZPUk0oR1RLKQogICAgICAgICBQbGF0Zm9ybUtleWJvYXJkRXZlbnQoSFdORCwg
V1BBUkFNLCBMUEFSQU0sIFR5cGUsIGJvb2wpOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtTWVudURlc2NyaXB0aW9uLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1lbnVEZXNjcmlwdGlvbi5oCmluZGV4IGJkN2MzZWUuLjBl
NzYzOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtTWVudURl
c2NyaXB0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1NZW51RGVz
Y3JpcHRpb24uaApAQCAtMjgsNyArMjgsNyBAQAogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiBPQkpD
X0NMQVNTIE5TTXV0YWJsZUFycmF5OwotI2VsaWYgUExBVEZPUk0oV0lOKQorI2VsaWYgUExBVEZP
Uk0oV0lOKSAmJiAhUExBVEZPUk0oR1RLKQogI2luY2x1ZGUgPHdpbmRvd3MuaD4KICNlbGlmIFBM
QVRGT1JNKEdUSykKIHR5cGVkZWYgc3RydWN0IF9HdGtNZW51IEd0a01lbnU7CkBAIC00Nyw3ICs0
Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNlbHNlCiAvLyBGSVhNRTogV2hlbiBtb3JlIHBs
YXRmb3JtcyBzd2l0Y2ggb3ZlciwgYW5kIFBsYXRmb3JtTWVudURlc2NyaXB0aW9uCiAvLyBpcyBu
b3QgdXNlZCBhbnltb3JlLCB3ZSBzaG91bGQgcmVuYW1lIHRoaXMgaGVhZGVyIHRvIFBsYXRmb3Jt
Q29udGV4dE1lbnUuCi0jaWYgUExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JNKFdJTikgJiYgIVBM
QVRGT1JNKEdUSykKICAgICB0eXBlZGVmIEhNRU5VIFBsYXRmb3JtQ29udGV4dE1lbnU7CiAgICAg
dHlwZWRlZiBNRU5VSVRFTUlORk8gUGxhdGZvcm1Db250ZXh0TWVudUl0ZW07CiAjZWxzZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Nb3VzZUV2ZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1vdXNlRXZlbnQuaAppbmRleCA0ZGE2MzE5
Li5kNWNkYWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1v
dXNlRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybU1vdXNlRXZl
bnQuaApAQCAtNTUsNyArNTUsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICAs
IG1fbW9kaWZpZXJGbGFncygwKQogI2lmIFBMQVRGT1JNKE1BQykKICAgICAgICAgICAgICwgbV9l
dmVudE51bWJlcigwKQotI2VsaWYgUExBVEZPUk0oV0lOKQorI2VsaWYgUExBVEZPUk0oV0lOKSAm
JiAhUExBVEZPUk0oR1RLKQogICAgICAgICAgICAgLCBtX2RpZEFjdGl2YXRlV2ViVmlldyhmYWxz
ZSkKICNlbmRpZgogICAgICAgICB7CkBAIC03MSw3ICs3MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgICAgICwgbV9tb2RpZmllckZsYWdzKDApCiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgICAgICAgICAgLCBtX2V2ZW50TnVtYmVyKDApCi0jZWxpZiBQTEFURk9STShXSU4pCisjZWxp
ZiBQTEFURk9STShXSU4pICYmICFQTEFURk9STShHVEspCiAgICAgICAgICAgICAsIG1fZGlkQWN0
aXZhdGVXZWJWaWV3KGZhbHNlKQogI2VuZGlmCiAgICAgICAgIHsKQEAgLTEwNSw3ICsxMDUsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIGludCBldmVudE51bWJlcigpIGNvbnN0IHsg
cmV0dXJuIG1fZXZlbnROdW1iZXI7IH0KICNlbmRpZgogCi0jaWYgUExBVEZPUk0oV0lOKQorI2lm
IFBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKEdUSykKICAgICAgICAgUGxhdGZvcm1Nb3VzZUV2
ZW50KEhXTkQsIFVJTlQsIFdQQVJBTSwgTFBBUkFNLCBib29sIGRpZEFjdGl2YXRlV2ViVmlldyA9
IGZhbHNlKTsKICAgICAgICAgdm9pZCBzZXRDbGlja0NvdW50KGludCBjb3VudCkgeyBtX2NsaWNr
Q291bnQgPSBjb3VudDsgfQogICAgICAgICBib29sIGRpZEFjdGl2YXRlV2ViVmlldygpIGNvbnN0
IHsgcmV0dXJuIG1fZGlkQWN0aXZhdGVXZWJWaWV3OyB9CkBAIC0xMjMsMTIgKzEyMywxMiBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgICAgIGludCBtX2V2
ZW50TnVtYmVyOwotI2VsaWYgUExBVEZPUk0oV0lOKQorI2VsaWYgUExBVEZPUk0oV0lOKSAmJiAh
UExBVEZPUk0oR1RLKQogICAgICAgICBib29sIG1fZGlkQWN0aXZhdGVXZWJWaWV3OwogI2VuZGlm
CiAgICAgfTsKIAotI2lmIFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShXSU4pICYmICFQTEFU
Rk9STShHVEspCiAgICAgLy8gVGhlc2UgbWV0aG9kcyBhcmUgbmVjZXNzYXJ5IHRvIHdvcmsgYXJv
dW5kIHRoZSBmYWN0IHRoYXQgTVNWQyB3aWxsIG5vdCBmaW5kIGEgbW9zdC1zcGVjaWZpYwogICAg
IC8vIG9wZXJhdG9yPT0gdG8gdXNlIGFmdGVyIGltcGxpY2l0bHkgY29udmVydGluZyBNb3VzZUJ1
dHRvbiB0byBhbiB1bnNpZ25lZCBzaG9ydC4KICAgICBib29sIG9wZXJhdG9yPT0odW5zaWduZWQg
c2hvcnQgYSwgTW91c2VCdXR0b24gYik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9QbGF0Zm9ybVdoZWVsRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRm
b3JtV2hlZWxFdmVudC5oCmluZGV4IDFmMTFmZWQuLmI4Mjc0MzEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL1BsYXRmb3JtV2hlZWxFdmVudC5oCkBAIC0xODUsNyArMTg1LDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBib29sIHVzZUxhdGNoZWRFdmVudEVsZW1lbnQoKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKLSNpZiBQTEFURk9STShXSU4pCisjaWYg
UExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0oR1RLKQogICAgICAgICBQbGF0Zm9ybVdoZWVsRXZl
bnQoSFdORCwgV1BBUkFNLCBMUEFSQU0sIGJvb2wgaXNNb3VzZUhXaGVlbCk7CiAgICAgICAgIFBs
YXRmb3JtV2hlZWxFdmVudChIV05ELCBjb25zdCBGbG9hdFNpemUmIGRlbHRhLCBjb25zdCBGbG9h
dFBvaW50JiBsb2NhdGlvbik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL1dpZGdldC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vV2lkZ2V0LmgKaW5kZXgg
YmUyODg1Yy4uMTZjNGE3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vV2lk
Z2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vV2lkZ2V0LmgKQEAgLTQ5LDcgKzQ5
LDcgQEAgT0JKQ19DTEFTUyBOU1dpbmRvdzsKIHR5cGVkZWYgTlNWaWV3ICpQbGF0Zm9ybVdpZGdl
dDsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JNKFdJTikgJiYgIVBM
QVRGT1JNKEdUSykKIHR5cGVkZWYgc3RydWN0IEhXTkRfXyogSFdORDsKIHR5cGVkZWYgSFdORCBQ
bGF0Zm9ybVdpZGdldDsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0JpdG1hcEltYWdlLmgKaW5kZXggYTBhMGYyNC4uNDI2NWFmMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQml0bWFwSW1hZ2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9CaXRtYXBJbWFnZS5oCkBAIC00Miw3ICs0Miw3IEBA
CiBPQkpDX0NMQVNTIE5TSW1hZ2U7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFdJTikKKyNpZiBQ
TEFURk9STShXSU4pICYmICFQTEFURk9STShHVEspCiB0eXBlZGVmIHN0cnVjdCBIQklUTUFQX18g
KkhCSVRNQVA7CiAjZW5kaWYKIApAQCAtMTE2LDcgKzExNiw3IEBAIHB1YmxpYzoKICAgICB7CiAg
ICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQml0bWFwSW1hZ2Uob2JzZXJ2ZXIpKTsKICAgICB9
Ci0jaWYgUExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKEdUSykK
ICAgICBzdGF0aWMgUGFzc1JlZlB0cjxCaXRtYXBJbWFnZT4gY3JlYXRlKEhCSVRNQVApOwogI2Vu
ZGlmCiAgICAgdmlydHVhbCB+Qml0bWFwSW1hZ2UoKTsKQEAgLTE2MSw3ICsxNjEsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBSZXRhaW5QdHI8Q0ZBcnJheVJlZj4gZ2V0Q0dJbWFnZUFycmF5KCkg
b3ZlcnJpZGU7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShXSU4p
ICYmICFQTEFURk9STShHVEspCiAgICAgdmlydHVhbCBib29sIGdldEhCSVRNQVAoSEJJVE1BUCkg
b3ZlcnJpZGU7CiAgICAgdmlydHVhbCBib29sIGdldEhCSVRNQVBPZlNpemUoSEJJVE1BUCwgY29u
c3QgSW50U2l6ZSopIG92ZXJyaWRlOwogI2VuZGlmCkBAIC0xOTgsNyArMTk4LDcgQEAgcHJvdGVj
dGVkOgogICAgIFdFQkNPUkVfRVhQT1JUIEJpdG1hcEltYWdlKFBhc3NOYXRpdmVJbWFnZVB0ciwg
SW1hZ2VPYnNlcnZlciogPSAwKTsKICAgICBXRUJDT1JFX0VYUE9SVCBCaXRtYXBJbWFnZShJbWFn
ZU9ic2VydmVyKiA9IDApOwogCi0jaWYgUExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JNKFdJTikg
JiYgIVBMQVRGT1JNKEdUSykKICAgICB2aXJ0dWFsIHZvaWQgZHJhd0ZyYW1lTWF0Y2hpbmdTb3Vy
Y2VTaXplKEdyYXBoaWNzQ29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVjdCwgY29uc3Qg
SW50U2l6ZSYgc3JjU2l6ZSwgQ29sb3JTcGFjZSBzdHlsZUNvbG9yU3BhY2UsIENvbXBvc2l0ZU9w
ZXJhdG9yKSBvdmVycmlkZTsKICNlbmRpZgogICAgIHZpcnR1YWwgdm9pZCBkcmF3KEdyYXBoaWNz
Q29udGV4dCosIGNvbnN0IEZsb2F0UmVjdCYgZHN0UmVjdCwgY29uc3QgRmxvYXRSZWN0JiBzcmNS
ZWN0LCBDb2xvclNwYWNlIHN0eWxlQ29sb3JTcGFjZSwgQ29tcG9zaXRlT3BlcmF0b3IsIEJsZW5k
TW9kZSwgSW1hZ2VPcmllbnRhdGlvbkRlc2NyaXB0aW9uKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYWNoZS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKaW5kZXggN2IwZWI3Yi4uZWFmNTZk
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhY2hlLmgKQEAg
LTU3LDcgKzU3LDcgQEAgY2xhc3MgRm9udFNlbGVjdG9yOwogY2xhc3MgT3BlblR5cGVWZXJ0aWNh
bERhdGE7CiBjbGFzcyBTaW1wbGVGb250RGF0YTsKIAotI2lmIFBMQVRGT1JNKFdJTikKKyNpZiBQ
TEFURk9STShXSU4pICYmICFQTEFURk9STShHVEspCiAjaWYgVVNFKElNTEFOR19GT05UX0xJTksy
KQogdHlwZWRlZiBJTUxhbmdGb250TGluazIgSU1MYW5nRm9udExpbmtUeXBlOwogI2Vsc2UKQEAg
LTEyNCw3ICsxMjQsNyBAQCBwdWJsaWM6CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIHN0YXRpYyBm
bG9hdCB3ZWlnaHRPZkNURm9udChDVEZvbnRSZWYpOwogI2VuZGlmCi0jaWYgUExBVEZPUk0oV0lO
KQorI2lmIFBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKEdUSykKICAgICBJTUxhbmdGb250TGlu
a1R5cGUqIGdldEZvbnRMaW5rSW50ZXJmYWNlKCk7CiAgICAgc3RhdGljIHZvaWQgY29tSW5pdGlh
bGl6ZSgpOwogICAgIHN0YXRpYyB2b2lkIGNvbVVuaW5pdGlhbGl6ZSgpOwpAQCAtMTQ3LDcgKzE0
Nyw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzaXplX3QgaW5hY3RpdmVGb250RGF0
YUNvdW50KCk7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBwdXJnZUluYWN0aXZlRm9udERhdGEo
aW50IGNvdW50ID0gSU5UX01BWCk7CiAKLSNpZiBQTEFURk9STShXSU4pCisjaWYgUExBVEZPUk0o
V0lOKSAmJiAhUExBVEZPUk0oR1RLKQogICAgIFBhc3NSZWZQdHI8U2ltcGxlRm9udERhdGE+IGZv
bnREYXRhRnJvbURlc2NyaXB0aW9uQW5kTG9nRm9udChjb25zdCBGb250RGVzY3JpcHRpb24mLCBT
aG91bGRSZXRhaW4sIGNvbnN0IExPR0ZPTlQmLCBBdG9taWNTdHJpbmcmIG91dEZvbnRGYW1pbHlO
YW1lKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9Gb250UGxhdGZvcm1EYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9Gb250UGxhdGZvcm1EYXRhLmgKaW5kZXggOTdlODVkOC4uOTdhZDRkNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udFBsYXRmb3JtRGF0YS5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRQbGF0Zm9ybURhdGEuaApAQCAt
MzMsNyArMzMsNyBAQAogI2luY2x1ZGUgIkZvbnRPcmllbnRhdGlvbi5oIgogI2luY2x1ZGUgIkZv
bnRXaWR0aFZhcmlhbnQuaCIKIAotI2lmIFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShXSU4p
ICYmICFQTEFURk9STShHVEspCiAjaW5jbHVkZSAiU2hhcmVkR0RJT2JqZWN0LmgiCiAjZW5kaWYK
IApAQCAtNTksOCArNTksNyBAQCB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0NURm9udCogQ1RGb250
UmVmOwogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdJbXBsLmg+CiAKLSNpZiBQTEFURk9STShXSU4pCi0jaW5jbHVkZSA8d3RmL3dpbi9HRElPYmpl
Y3QuaD4KKyNpZiBQTEFURk9STShXSU4pICYmICFQTEFURk9STShHVEspCiB0eXBlZGVmIHN0cnVj
dCBIRk9OVF9fKiBIRk9OVDsKICNlbmRpZgogCkBAIC0xMDUsNyArMTA0LDcgQEAgcHVibGljOgog
ICAgIEZvbnRQbGF0Zm9ybURhdGEoQ0dGb250UmVmLCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRp
Y0JvbGQsIGJvb2wgc3ludGhldGljT2JsaXF1ZSwgRm9udE9yaWVudGF0aW9uLCBGb250V2lkdGhW
YXJpYW50KTsKICNlbmRpZgogI2VuZGlmCi0jaWYgUExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JN
KFdJTikgJiYgIVBMQVRGT1JNKEdUSykKICAgICBGb250UGxhdGZvcm1EYXRhKEdESU9iamVjdDxI
Rk9OVD4sIGZsb2F0IHNpemUsIGJvb2wgc3ludGhldGljQm9sZCwgYm9vbCBzeW50aGV0aWNPYmxp
cXVlLCBib29sIHVzZUdESSk7CiAjaWYgVVNFKENHKQogICAgIEZvbnRQbGF0Zm9ybURhdGEoR0RJ
T2JqZWN0PEhGT05UPiwgQ0dGb250UmVmLCBmbG9hdCBzaXplLCBib29sIHN5bnRoZXRpY0JvbGQs
IGJvb2wgc3ludGhldGljT2JsaXF1ZSwgYm9vbCB1c2VHREkpOwpAQCAtMTIwLDcgKzExOSw3IEBA
IHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIH5Gb250UGxhdGZvcm1EYXRhKCk7CiAKLSNp
ZiBQTEFURk9STShXSU4pCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0oR1RLKQogICAg
IEhGT05UIGhmb250KCkgY29uc3QgeyByZXR1cm4gbV9mb250ID8gbV9mb250LT5nZXQoKSA6IDA7
IH0KICAgICBib29sIHVzZUdESSgpIGNvbnN0IHsgcmV0dXJuIG1fdXNlR0RJOyB9CiAjZWxpZiBQ
TEFURk9STShJT1MpCkBAIC0xNjksNyArMTY4LDcgQEAgcHVibGljOgogCiAgICAgdW5zaWduZWQg
aGFzaCgpIGNvbnN0CiAgICAgewotI2lmIFBMQVRGT1JNKFdJTikgJiYgIVVTRShDQUlSTykKKyNp
ZiBQTEFURk9STShXSU4pICYmICFVU0UoQ0FJUk8pICYmICFQTEFURk9STShHVEspCiAgICAgICAg
IHJldHVybiBtX2ZvbnQgPyBtX2ZvbnQtPmhhc2goKSA6IDA7CiAjZWxpZiBPUyhEQVJXSU4pCiAj
aWYgIVBMQVRGT1JNKElPUykKQEAgLTIwNiw3ICsyMDUsNyBAQCBwdWJsaWM6CiAKICAgICBib29s
IGlzSGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkgY29uc3QKICAgICB7Ci0jaWYgUExBVEZPUk0oV0lO
KSAmJiAhVVNFKENBSVJPKQorI2lmIFBMQVRGT1JNKFdJTikgJiYgIVVTRShDQUlSTykgJiYgIVBM
QVRGT1JNKEdUSykKICAgICAgICAgcmV0dXJuIG1fZm9udC5pc0hhc2hUYWJsZURlbGV0ZWRWYWx1
ZSgpOwogI2VsaWYgT1MoREFSV0lOKQogICAgICAgICByZXR1cm4gbV9mb250ID09IGhhc2hUYWJs
ZURlbGV0ZWRGb250VmFsdWUoKTsKQEAgLTIxNSw3ICsyMTQsNyBAQCBwdWJsaWM6CiAjZW5kaWYK
ICAgICB9CiAKLSNpZiAoT1MoREFSV0lOKSAmJiBVU0UoQ0cpKSB8fCAoUExBVEZPUk0oV0lOKSAm
JiAoVVNFKENHKSB8fCBVU0UoQ0FJUk8pKSkKKyNpZiAoT1MoREFSV0lOKSAmJiBVU0UoQ0cpKSB8
fCAoUExBVEZPUk0oV0lOKSAmJiAoVVNFKENHKSB8fCBVU0UoQ0FJUk8pKSAmJiAhUExBVEZPUk0o
R1RLKSkKICAgICBQYXNzUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gb3BlblR5cGVUYWJsZSh1aW50MzJf
dCB0YWJsZSkgY29uc3Q7CiAjZW5kaWYKIApAQCAtMjMzLDcgKzIzMiw3IEBAIHByaXZhdGU6CiAg
ICAgLy8gTG9hZCB2YXJpb3VzIGRhdGEgYWJvdXQgdGhlIGZvbnQgc3BlY2lmaWVkIGJ5IHxuc0Zv
bnR8IHdpdGggdGhlIHNpemUgZm9udFNpemUgaW50byB0aGUgZm9sbG93aW5nIG91dHB1dCBwYXJh
bXRlcnM6CiAgICAgdm9pZCBsb2FkRm9udChOU0ZvbnQqLCBmbG9hdCBmb250U2l6ZSwgTlNGb250
KiYgb3V0TlNGb250LCBDR0ZvbnRSZWYmKTsKICAgICBzdGF0aWMgTlNGb250KiBoYXNoVGFibGVE
ZWxldGVkRm9udFZhbHVlKCkgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxOU0ZvbnQgKj4oLTEp
OyB9Ci0jZWxpZiBQTEFURk9STShXSU4pCisjZWxpZiBQTEFURk9STShXSU4pICYmICFQTEFURk9S
TShHVEspCiAgICAgdm9pZCBwbGF0Zm9ybURhdGFJbml0KEhGT05ULCBmbG9hdCBzaXplLCBIREMs
IFdDSEFSKiBmYWNlTmFtZSk7CiAjZW5kaWYKIApAQCAtMjU2LDEyICsyNTUsMTIgQEAgcHJpdmF0
ZToKICAgICBDVEZvbnRSZWYgbV9mb250OwogI2VsaWYgT1MoREFSV0lOKQogICAgIE5TRm9udCog
bV9mb250OwotI2VsaWYgUExBVEZPUk0oV0lOKQorI2VsaWYgUExBVEZPUk0oV0lOKSAmJiAhUExB
VEZPUk0oR1RLKQogICAgIFJlZlB0cjxTaGFyZWRHRElPYmplY3Q8SEZPTlQ+PiBtX2ZvbnQ7CiAj
ZW5kaWYKIAogI2lmIFVTRShDRykKLSNpZiBQTEFURk9STShXSU4pCisjaWYgUExBVEZPUk0oV0lO
KSAmJiAhUExBVEZPUk0oR1RLKQogICAgIFJldGFpblB0cjxDR0ZvbnRSZWY+IG1fY2dGb250Owog
I2Vsc2UKICAgICBSZXRhaW5QdHI8Q0dGb250UmVmPiBtX2NnRm9udDsKQEAgLTI3OSw3ICsyNzgs
NyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc1ByaW50ZXJGb250OwogI2VuZGlmCiAKLSNpZiBQ
TEFURk9STShXSU4pCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0oR1RLKQogICAgIGJv
b2wgbV91c2VHREk7CiAjZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR2x5cGhCdWZmZXIuaAppbmRleCBiYjcwOTY2Li40ZjI4ZjExIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HbHlwaEJ1ZmZlci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dseXBoQnVmZmVyLmgKQEAgLTg2LDcgKzg2LDcg
QEAgcHVibGljOgogICAgICAgICBtX2FkdmFuY2VzLmNsZWFyKCk7CiAgICAgICAgIGlmIChtX29m
ZnNldHNJblN0cmluZykKICAgICAgICAgICAgIG1fb2Zmc2V0c0luU3RyaW5nLT5jbGVhcigpOwot
I2lmIFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShXSU4pICYmICFQTEFURk9STShHVEspCiAg
ICAgICAgIG1fb2Zmc2V0cy5jbGVhcigpOwogI2VuZGlmCiAgICAgfQpAQCAtMTE3LDcgKzExNyw3
IEBAIHB1YmxpYzoKIAogICAgIEZsb2F0U2l6ZSBvZmZzZXRBdChpbnQgaW5kZXgpIGNvbnN0CiAg
ICAgewotI2lmIFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShXSU4pICYmICFQTEFURk9STShH
VEspCiAgICAgICAgIHJldHVybiBtX29mZnNldHNbaW5kZXhdOwogI2Vsc2UKICAgICAgICAgVU5V
U0VEX1BBUkFNKGluZGV4KTsKQEAgLTE0NSw3ICsxNDUsNyBAQCBwdWJsaWM6CiAgICAgICAgIG1f
YWR2YW5jZXMuYXBwZW5kKEZsb2F0U2l6ZSh3aWR0aCwgMCkpOwogI2VuZGlmCiAKLSNpZiBQTEFU
Rk9STShXSU4pCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0oR1RLKQogICAgICAgICBp
ZiAob2Zmc2V0KQogICAgICAgICAgICAgbV9vZmZzZXRzLmFwcGVuZCgqb2Zmc2V0KTsKICAgICAg
ICAgZWxzZQpAQCAtMjE3LDcgKzIxNyw3IEBAIHByaXZhdGU6CiAgICAgICAgIG1fYWR2YW5jZXNb
aW5kZXgxXSA9IG1fYWR2YW5jZXNbaW5kZXgyXTsKICAgICAgICAgbV9hZHZhbmNlc1tpbmRleDJd
ID0gczsKIAotI2lmIFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShXSU4pICYmICFQTEFURk9S
TShHVEspCiAgICAgICAgIEZsb2F0U2l6ZSBvZmZzZXQgPSBtX29mZnNldHNbaW5kZXgxXTsKICAg
ICAgICAgbV9vZmZzZXRzW2luZGV4MV0gPSBtX29mZnNldHNbaW5kZXgyXTsKICAgICAgICAgbV9v
ZmZzZXRzW2luZGV4Ml0gPSBvZmZzZXQ7CkBAIC0yMjksNyArMjI5LDcgQEAgcHJpdmF0ZToKICAg
ICBWZWN0b3I8R2x5cGhCdWZmZXJBZHZhbmNlLCAyMDQ4PiBtX2FkdmFuY2VzOwogICAgIEdseXBo
QnVmZmVyQWR2YW5jZSBtX2luaXRpYWxBZHZhbmNlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxWZWN0
b3I8dW5zaWduZWQsIDIwNDg+PiBtX29mZnNldHNJblN0cmluZzsKLSNpZiBQTEFURk9STShXSU4p
CisjaWYgUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0oR1RLKQogICAgIFZlY3RvcjxGbG9hdFNp
emUsIDIwNDg+IG1fb2Zmc2V0czsKICNlbmRpZgogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmgKaW5kZXggMTNlM2E1ZC4uNDQ3MDk1
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3ND
b250ZXh0LmgKQEAgLTUyLDcgKzUyLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgSERDX18gUGxhdGZvcm1H
cmFwaGljc0NvbnRleHQ7CiB0eXBlZGVmIHZvaWQgUGxhdGZvcm1HcmFwaGljc0NvbnRleHQ7CiAj
ZW5kaWYKIAotI2lmIFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShXSU4pICYmICFQTEFURk9S
TShHVEspCiAjaW5jbHVkZSAiRElCUGl4ZWxEYXRhLmgiCiB0eXBlZGVmIHN0cnVjdCBIRENfXyog
SERDOwogI2lmICFVU0UoQ0cpCkBAIC00NzAsNyArNDcwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGFwcGx5RGV2aWNlU2NhbGVGYWN0b3IoZmxv
YXQpOwogICAgICAgICB2b2lkIHBsYXRmb3JtQXBwbHlEZXZpY2VTY2FsZUZhY3RvcihmbG9hdCk7
CiAKLSNpZiBPUyhXSU5ET1dTKQorI2lmIE9TKFdJTkRPV1MpICYmICFQTEFURk9STShHVEspCiAg
ICAgICAgIEhEQyBnZXRXaW5kb3dzQ29udGV4dChjb25zdCBJbnRSZWN0JiwgYm9vbCBzdXBwb3J0
QWxwaGFCbGVuZCwgYm9vbCBtYXlDcmVhdGVCaXRtYXApOyAvLyBUaGUgcGFzc2VkIGluIHJlY3Qg
aXMgdXNlZCB0byBjcmVhdGUgYSBiaXRtYXAgZm9yIGNvbXBvc2l0aW5nIGluc2lkZSB0cmFuc3Bh
cmVuY3kgbGF5ZXJzLgogICAgICAgICB2b2lkIHJlbGVhc2VXaW5kb3dzQ29udGV4dChIREMsIGNv
bnN0IEludFJlY3QmLCBib29sIHN1cHBvcnRBbHBoYUJsZW5kLCBib29sIG1heUNyZWF0ZUJpdG1h
cCk7IC8vIFRoZSBwYXNzZWQgaW4gSERDIHNob3VsZCBiZSB0aGUgb25lIGhhbmRlZCBiYWNrIGJ5
IGdldFdpbmRvd3NDb250ZXh0LgogI2lmIFBMQVRGT1JNKFdJTikKQEAgLTU0MSw3ICs1NDEsNyBA
QCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgcGxhdGZvcm1Jbml0KFBsYXRmb3Jt
R3JhcGhpY3NDb250ZXh0Kik7CiAgICAgICAgIHZvaWQgcGxhdGZvcm1EZXN0cm95KCk7CiAKLSNp
ZiBQTEFURk9STShXSU4pICYmICFVU0UoV0lOR0RJKQorI2lmIFBMQVRGT1JNKFdJTikgJiYgIVVT
RShXSU5HREkpICYmICFQTEFURk9STShHVEspCiAgICAgICAgIHZvaWQgcGxhdGZvcm1Jbml0KEhE
QywgYm9vbCBoYXNBbHBoYSA9IGZhbHNlKTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQzRC5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0M0QuaAppbmRleCA3MTA4YmU4
Li41Y2NhMWI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9H
cmFwaGljc0NvbnRleHQzRC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzQ29udGV4dDNELmgKQEAgLTEwMDgsNyArMTAwOCw3IEBAIHByaXZhdGU6CiAgICAg
UGxhdGZvcm1HcmFwaGljc0NvbnRleHQzRCBtX2NvbnRleHRPYmo7CiAjZW5kaWYKIAotI2lmIFBM
QVRGT1JNKFdJTikgJiYgVVNFKENBKQorI2lmIFBMQVRGT1JNKFdJTikgJiYgVVNFKENBKSAmJiAh
UExBVEZPUk0oR1RLKQogICAgIFJlZlB0cjxQbGF0Zm9ybUNBTGF5ZXI+IG1fd2ViR0xMYXllcjsK
ICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
Y29uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JY29uLmgKaW5kZXggYjYw
NjRiMS4uYzlkYzc0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvSWNvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ljb24uaApA
QCAtMzMsNyArMzMsNyBAQAogI2VsaWYgUExBVEZPUk0oTUFDKQogI2luY2x1ZGUgPHd0Zi9SZXRh
aW5QdHIuaD4KIE9CSkNfQ0xBU1MgTlNJbWFnZTsKLSNlbGlmIFBMQVRGT1JNKFdJTikKKyNlbGlm
IFBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKEdUSykKIHR5cGVkZWYgc3RydWN0IEhJQ09OX18q
IEhJQ09OOwogI2VsaWYgUExBVEZPUk0oR1RLKQogdHlwZWRlZiBzdHJ1Y3QgX0dka1BpeGJ1ZiBH
ZGtQaXhidWY7CkBAIC01Miw3ICs1Miw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcGFpbnQoR3Jh
cGhpY3NDb250ZXh0KiwgY29uc3QgSW50UmVjdCYpOwogCi0jaWYgUExBVEZPUk0oV0lOKQorI2lm
IFBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKEdUSykKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJ
Y29uPiBjcmVhdGUoSElDT04gaEljb24pIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBJY29uKGhJY29u
KSk7IH0KICNlbmRpZgogCkBAIC02OCw3ICs2OCw3IEBAIHByaXZhdGU6CiAjZWxpZiBQTEFURk9S
TShNQUMpCiAgICAgSWNvbihOU0ltYWdlKik7CiAgICAgUmV0YWluUHRyPE5TSW1hZ2U+IG1fbnNJ
bWFnZTsKLSNlbGlmIFBMQVRGT1JNKFdJTikKKyNlbGlmIFBMQVRGT1JNKFdJTikgJiYgIVBMQVRG
T1JNKEdUSykKICAgICBJY29uKEhJQ09OKTsKICAgICBISUNPTiBtX2hJY29uOwogI2VsaWYgUExB
VEZPUk0oR1RLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
SW1hZ2UuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmgKaW5kZXgg
ODk4NTcxOS4uZmE2ZDBkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW1hZ2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFn
ZS5oCkBAIC00OSw3ICs0OSw3IEBAIE9CSkNfQ0xBU1MgTlNJbWFnZTsKIHN0cnVjdCBDR0NvbnRl
eHQ7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShXSU4pICYmICFQ
TEFURk9STShHVEspCiB0eXBlZGVmIHN0cnVjdCB0YWdTSVpFIFNJWkU7CiB0eXBlZGVmIFNJWkUq
IExQU0laRTsKIHR5cGVkZWYgc3RydWN0IEhCSVRNQVBfXyAqSEJJVE1BUDsKQEAgLTE1MCw3ICsx
NTAsNyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFJldGFpblB0cjxDR0ltYWdlUmVmPiBpbWFnZVdp
dGhDb2xvclNwYWNlKENHSW1hZ2VSZWYgb3JpZ2luYWxJbWFnZSwgQ29sb3JTcGFjZSk7CiAjZW5k
aWYKIAotI2lmIFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShXSU4pICYmICFQTEFURk9STShH
VEspCiAgICAgdmlydHVhbCBib29sIGdldEhCSVRNQVAoSEJJVE1BUCkgeyByZXR1cm4gZmFsc2U7
IH0KICAgICB2aXJ0dWFsIGJvb2wgZ2V0SEJJVE1BUE9mU2l6ZShIQklUTUFQLCBjb25zdCBJbnRT
aXplKikgeyByZXR1cm4gZmFsc2U7IH0KICNlbmRpZgpAQCAtMTg1LDcgKzE4NSw3IEBAIHByb3Rl
Y3RlZDoKICAgICBzdGF0aWMgdm9pZCBmaWxsV2l0aFNvbGlkQ29sb3IoR3JhcGhpY3NDb250ZXh0
KiwgY29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0LCBjb25zdCBDb2xvciYsIENvbG9yU3BhY2Ugc3R5
bGVDb2xvclNwYWNlLCBDb21wb3NpdGVPcGVyYXRvcik7CiAKICAgICAvLyBUaGUgQ29sb3JTcGFj
ZSBwYXJhbWV0ZXIgd2lsbCBvbmx5IGJlIHVzZWQgZm9yIHVudGFnZ2VkIGltYWdlcy4KLSNpZiBQ
TEFURk9STShXSU4pCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0oR1RLKQogICAgIHZp
cnR1YWwgdm9pZCBkcmF3RnJhbWVNYXRjaGluZ1NvdXJjZVNpemUoR3JhcGhpY3NDb250ZXh0Kiwg
Y29uc3QgRmxvYXRSZWN0JiBkc3RSZWN0LCBjb25zdCBJbnRTaXplJiBzcmNTaXplLCBDb2xvclNw
YWNlIHN0eWxlQ29sb3JTcGFjZSwgQ29tcG9zaXRlT3BlcmF0b3IpIHsgfQogI2VuZGlmCiAgICAg
dmlydHVhbCB2b2lkIGRyYXcoR3JhcGhpY3NDb250ZXh0KiwgY29uc3QgRmxvYXRSZWN0JiBkc3RS
ZWN0LCBjb25zdCBGbG9hdFJlY3QmIHNyY1JlY3QsIENvbG9yU3BhY2Ugc3R5bGVDb2xvclNwYWNl
LCBDb21wb3NpdGVPcGVyYXRvciwgQmxlbmRNb2RlLCBJbWFnZU9yaWVudGF0aW9uRGVzY3JpcHRp
b24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UG9p
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFBvaW50LmgKaW5kZXgg
ZDU1YmJhNy4uYWU1NzBjMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvSW50UG9pbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9J
bnRQb2ludC5oCkBAIC00NCw3ICs0NCw3IEBAIHR5cGVkZWYgc3RydWN0IF9OU1BvaW50IE5TUG9p
bnQ7CiAjZW5kaWYKICNlbmRpZiAvLyAhUExBVEZPUk0oSU9TKQogCi0jaWYgUExBVEZPUk0oV0lO
KQorI2lmIFBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKEdUSykKIHR5cGVkZWYgc3RydWN0IHRh
Z1BPSU5UIFBPSU5UOwogdHlwZWRlZiBzdHJ1Y3QgdGFnUE9JTlRTIFBPSU5UUzsKICNlbmRpZgpA
QCAtMTEzLDcgKzExMyw3IEBAIHB1YmxpYzoKICNlbmRpZgogI2VuZGlmIC8vICFQTEFURk9STShJ
T1MpCiAKLSNpZiBQTEFURk9STShXSU4pCisjaWYgUExBVEZPUk0oV0lOKSAmJiAhUExBVEZPUk0o
R1RLKQogICAgIEludFBvaW50KGNvbnN0IFBPSU5UJik7CiAgICAgb3BlcmF0b3IgUE9JTlQoKSBj
b25zdDsKICAgICBJbnRQb2ludChjb25zdCBQT0lOVFMmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ludFJlY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0ludFJlY3QuaAppbmRleCBjMjU4ZTY1Li5jODY3NmFiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRSZWN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW50UmVjdC5oCkBAIC00Nyw3ICs0Nyw3IEBAIHR5
cGVkZWYgc3RydWN0IF9OU1JlY3QgTlNSZWN0OwogI2VuZGlmCiAjZW5kaWYKIAotI2lmIFBMQVRG
T1JNKFdJTikKKyNpZiBQTEFURk9STShXSU4pICYmICFQTEFURk9STShHVEspCiB0eXBlZGVmIHN0
cnVjdCB0YWdSRUNUIFJFQ1Q7CiAjZW5kaWYKIApAQCAtMTY0LDcgKzE2NCw3IEBAIHB1YmxpYzoK
IAogICAgIEludFJlY3QgdHJhbnNwb3NlZFJlY3QoKSBjb25zdCB7IHJldHVybiBJbnRSZWN0KG1f
bG9jYXRpb24udHJhbnNwb3NlZFBvaW50KCksIG1fc2l6ZS50cmFuc3Bvc2VkU2l6ZSgpKTsgfQog
Ci0jaWYgUExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKEdUSykK
ICAgICBJbnRSZWN0KGNvbnN0IFJFQ1QmKTsKICAgICBvcGVyYXRvciBSRUNUKCkgY29uc3Q7CiAj
ZWxpZiBQTEFURk9STShFRkwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9JbnRTaXplLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbnRT
aXplLmgKaW5kZXggZmU5YTFhYy4uMjA0MWMyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvSW50U2l6ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0ludFNpemUuaApAQCAtNDYsNyArNDYsNyBAQCB0eXBlZGVmIHN0cnVjdCBfTlNT
aXplIE5TU2l6ZTsKICNlbmRpZgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShXSU4pCisjaWYgUExB
VEZPUk0oV0lOKSAmJiAhUExBVEZPUk0oR1RLKQogdHlwZWRlZiBzdHJ1Y3QgdGFnU0laRSBTSVpF
OwogI2VuZGlmCiAKQEAgLTE0Niw3ICsxNDYsNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBP
UlQgb3BlcmF0b3IgTlNTaXplKCkgY29uc3Q7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFdJTikK
KyNpZiBQTEFURk9STShXSU4pICYmICFQTEFURk9STShHVEspCiAgICAgSW50U2l6ZShjb25zdCBT
SVpFJik7CiAgICAgb3BlcmF0b3IgU0laRSgpIGNvbnN0OwogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaW1wbGVGb250RGF0YS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2ltcGxlRm9udERhdGEuaAppbmRleCBlMTIzNDUx
Li5lYmQ3NjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9T
aW1wbGVGb250RGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1Np
bXBsZUZvbnREYXRhLmgKQEAgLTQ2LDcgKzQ2LDcgQEAKICNpbmNsdWRlIDx3dGYvUmV0YWluUHRy
Lmg+CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKFdJTikKKyNpZiBQTEFURk9STShXSU4pICYmICFQ
TEFURk9STShHVEspCiAjaW5jbHVkZSA8dXNwMTAuaD4KICNlbmRpZgogCkBAIC0yMzIsNyArMjMy
LDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgfQogCi0jaWYgUExBVEZPUk0oV0lOKQorI2lmIFBM
QVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKEdUSykKICAgICBib29sIGlzU3lzdGVtRm9udCgpIGNv
bnN0IHsgcmV0dXJuIG1faXNTeXN0ZW1Gb250OyB9CiAgICAgU0NSSVBUX0ZPTlRQUk9QRVJUSUVT
KiBzY3JpcHRGb250UHJvcGVydGllcygpIGNvbnN0OwogICAgIFNDUklQVF9DQUNIRSogc2NyaXB0
Q2FjaGUoKSBjb25zdCB7IHJldHVybiAmbV9zY3JpcHRDYWNoZTsgfQpAQCAtMjU2LDcgKzI1Niw3
IEBAIHByaXZhdGU6CiAgICAgUGFzc1JlZlB0cjxTaW1wbGVGb250RGF0YT4gY3JlYXRlU2NhbGVk
Rm9udERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgZmxvYXQgc2NhbGVGYWN0b3IpIGNvbnN0
OwogICAgIFBhc3NSZWZQdHI8U2ltcGxlRm9udERhdGE+IHBsYXRmb3JtQ3JlYXRlU2NhbGVkRm9u
dERhdGEoY29uc3QgRm9udERlc2NyaXB0aW9uJiwgZmxvYXQgc2NhbGVGYWN0b3IpIGNvbnN0Owog
Ci0jaWYgUExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKEdUSykK
ICAgICB2b2lkIGluaXRHRElGb250KCk7CiAgICAgdm9pZCBwbGF0Zm9ybUNvbW1vbkRlc3Ryb3ko
KTsKICAgICBGbG9hdFJlY3QgYm91bmRzRm9yR0RJR2x5cGgoR2x5cGggZ2x5cGgpIGNvbnN0OwpA
QCAtMzMzLDcgKzMzMyw3IEBAIHByaXZhdGU6CiAgICAgbXV0YWJsZSBPd25QdHI8SGFzaE1hcDxT
dHJpbmcsIGJvb2w+PiBtX2NvbWJpbmluZ0NoYXJhY3RlclNlcXVlbmNlU3VwcG9ydDsKICNlbmRp
ZgogCi0jaWYgUExBVEZPUk0oV0lOKQorI2lmIFBMQVRGT1JNKFdJTikgJiYgIVBMQVRGT1JNKEdU
SykKICAgICBib29sIG1faXNTeXN0ZW1Gb250OwogICAgIG11dGFibGUgU0NSSVBUX0NBQ0hFIG1f
c2NyaXB0Q2FjaGU7CiAgICAgbXV0YWJsZSBTQ1JJUFRfRk9OVFBST1BFUlRJRVMqIG1fc2NyaXB0
Rm9udFByb3BlcnRpZXM7Cg==
</data>
<flag name="review"
          id="265052"
          type_id="1"
          status="-"
          setter="mcatanzaro"
    />
    <flag name="commit-queue"
          id="265053"
          type_id="3"
          status="-"
          setter="mcatanzaro"
    />
          </attachment>
      

    </bug>

</bugzilla>