<?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>232069</bug_id>
          
          <creation_ts>2021-10-21 01:39:37 -0700</creation_ts>
          <short_desc>Pass CompositeOperation to CSSPropertyAnimation::blendProperties and through more blending functions</short_desc>
          <delta_ts>2021-10-21 04:52:15 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Animations</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>230404</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>dino</cc>
    
    <cc>graouts</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1807042</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-10-21 01:39:37 -0700</bug_when>
    <thetext>Pass CompositeOperation to CSSPropertyAnimation::blendProperties and through more blending functions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807044</commentid>
    <comment_count>1</comment_count>
      <attachid>441996</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-10-21 01:41:47 -0700</bug_when>
    <thetext>Created attachment 441996
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807087</commentid>
    <comment_count>2</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-10-21 04:51:25 -0700</bug_when>
    <thetext>Committed r284600 (243329@main): &lt;https://commits.webkit.org/243329@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1807088</commentid>
    <comment_count>3</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-21 04:52:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/84502652&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441996</attachid>
            <date>2021-10-21 01:41:47 -0700</date>
            <delta_ts>2021-10-21 04:09:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-232069-20211021104146.patch</filename>
            <type>text/plain</type>
            <size>31789</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0NTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzc4MzNkZTYxNTMyZGU2
ZDU1YzBhM2I5MDg3NTMzZWIzYzM1M2VhNC4uMjNmMTZhOTI1ZjQyMmMxN2FlZTRlMTdhMDQyODU1
OTBjNjM2OTIzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDIxLTEwLTIxICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFBhc3MgQ29tcG9zaXRl
T3BlcmF0aW9uIHRvIENTU1Byb3BlcnR5QW5pbWF0aW9uOjpibGVuZFByb3BlcnRpZXMgYW5kIHRo
cm91Z2ggbW9yZSBibGVuZGluZyBmdW5jdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMjA2OQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEluIHByZXBhcmF0aW9uIGZvciBzdXBwb3J0IG9mIENvbXBv
c2l0ZU9wZXJhdGlvbiB3aGVuIGJsZW5kaW5nLCB3ZSBuZWVkIHRvIHBhc3MgaXQgZG93biBmcm9t
IGJsZW5kUHJvcGVydGllcygpCisgICAgICAgIHRvIG90aGVyIGJsZW5kaW5nIGZ1bmN0aW9ucy4g
Q3VycmVudGx5IHdlIG9ubHkgZXZlciBwYXNzIFJlcGxhY2Ugc28gdGhlcmUgaXMgbm8gY2hhbmdl
IGluIGJlaGF2aW9yLgorCisgICAgICAgICogYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9u
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1Byb3BlcnR5QmxlbmRpbmdDb250ZXh0OjpDU1NQ
cm9wZXJ0eUJsZW5kaW5nQ29udGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25Qcm9w
ZXJ0eVdyYXBwZXJCYXNlOjpjYW5JbnRlcnBvbGF0ZSBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpDU1NQcm9wZXJ0eUFuaW1hdGlvbjo6YmxlbmRQcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1Byb3BlcnR5QW5pbWF0aW9uOjpjYW5Qcm9wZXJ0eUJlSW50ZXJwb2xhdGVkKToKKyAg
ICAgICAgKiBhbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uaDoKKyAgICAgICAgKiBhbmlt
YXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6S2V5ZnJhbWVFZmZl
Y3Q6OnNldEFuaW1hdGVkUHJvcGVydGllc0luU3R5bGUpOgorICAgICAgICAqIHBsYXRmb3JtL0xl
bmd0aFNpemUuaDoKKyAgICAgICAgKFdlYkNvcmU6OmJsZW5kKToKKyAgICAgICAgKiBwbGF0Zm9y
bS9hbmltYXRpb24vQW5pbWF0aW9uVXRpbGl0aWVzLmg6CisgICAgICAgIChXZWJDb3JlOjpCbGVu
ZGluZ0NvbnRleHQ6OkJsZW5kaW5nQ29udGV4dCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0uY3BwOgorICAgICAgICAoV2ViQ29yZTo6QWZm
aW5lVHJhbnNmb3JtOjpibGVuZCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNm
b3Jtcy9BZmZpbmVUcmFuc2Zvcm0uaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL1JvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
b3RhdGVUcmFuc2Zvcm1PcGVyYXRpb246OmJsZW5kKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybU9wZXJhdGlvbi5oOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwOgorICAgICAgICAo
V2ViQ29yZTo6YmxlbmRGbG9hdCk6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1h
dHJpeDo6YmxlbmQyKToKKyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4Ojpi
bGVuZDQpOgorICAgICAgICAoV2ViQ29yZTo6VHJhbnNmb3JtYXRpb25NYXRyaXg6OmJsZW5kKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0
cml4Lmg6CisKIDIwMjEtMTAtMjAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2Fs
aWEuY29tPgogCiAgICAgICAgIEFYOiBNYWtlIGluZGV4Rm9yVmlzaWJsZVBvc2l0aW9uIGNvbnNp
c3RlbnQgd2l0aCB2aXNpYmxlUG9zaXRpb25Gb3JJbmRleApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYW5pbWF0aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2FuaW1hdGlvbi9DU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAKaW5kZXggZmYwMjZiM2VmYjAxMzdi
MGI3NzM0ZTFhZDI3ZjdhYTVhNjg0ZDNhMC4uY2NiN2VhOTBlMGU2N2JlM2VhNDI2NDY4NzcwNTVm
M2U0MTk5ODFiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0NTU1Byb3Bl
cnR5QW5pbWF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NTUHJvcGVy
dHlBbmltYXRpb24uY3BwCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiQ2FsY3VsYXRpb25W
YWx1ZS5oIgogI2luY2x1ZGUgIkNsaXBQYXRoT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiQ29sb3JC
bGVuZGluZy5oIgorI2luY2x1ZGUgIkNvbXBvc2l0ZU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkZs
b2F0Q29udmVyc2lvbi5oIgogI2luY2x1ZGUgIkZvbnRDYXNjYWRlLmgiCiAjaW5jbHVkZSAiRm9u
dFNlbGVjdGlvbkFsZ29yaXRobS5oIgpAQCAtNzUsOCArNzYsOCBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiBzdHJ1Y3QgQ1NTUHJvcGVydHlCbGVuZGluZ0NvbnRleHQgOiBCbGVuZGluZ0NvbnRleHQg
ewogICAgIGNvbnN0IENTU1Byb3BlcnR5QmxlbmRpbmdDbGllbnQqIGNsaWVudCB7IG51bGxwdHIg
fTsKIAotICAgIENTU1Byb3BlcnR5QmxlbmRpbmdDb250ZXh0KGRvdWJsZSBwcm9ncmVzcywgYm9v
bCBpc0Rpc2NyZXRlLCBjb25zdCBDU1NQcm9wZXJ0eUJsZW5kaW5nQ2xpZW50KiBjbGllbnQpCi0g
ICAgICAgIDogQmxlbmRpbmdDb250ZXh0KHByb2dyZXNzLCBpc0Rpc2NyZXRlKQorICAgIENTU1By
b3BlcnR5QmxlbmRpbmdDb250ZXh0KGRvdWJsZSBwcm9ncmVzcywgYm9vbCBpc0Rpc2NyZXRlLCBD
b21wb3NpdGVPcGVyYXRpb24gY29tcG9zaXRlT3BlcmF0aW9uLCBjb25zdCBDU1NQcm9wZXJ0eUJs
ZW5kaW5nQ2xpZW50KiBjbGllbnQpCisgICAgICAgIDogQmxlbmRpbmdDb250ZXh0KHByb2dyZXNz
LCBpc0Rpc2NyZXRlLCBjb21wb3NpdGVPcGVyYXRpb24pCiAgICAgICAgICwgY2xpZW50KGNsaWVu
dCkKICAgICB7CiAgICAgfQpAQCAtNTkyLDcgKzU5Myw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1
YWwgYm9vbCBpc1Nob3J0aGFuZFdyYXBwZXIoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAg
IHZpcnR1YWwgYm9vbCBlcXVhbHMoY29uc3QgUmVuZGVyU3R5bGUmLCBjb25zdCBSZW5kZXJTdHls
ZSYpIGNvbnN0ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgY2FuSW50ZXJwb2xhdGUoY29uc3QgUmVu
ZGVyU3R5bGUmLCBjb25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KKyAg
ICB2aXJ0dWFsIGJvb2wgY2FuSW50ZXJwb2xhdGUoY29uc3QgUmVuZGVyU3R5bGUmLCBjb25zdCBS
ZW5kZXJTdHlsZSYsIENvbXBvc2l0ZU9wZXJhdGlvbikgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQog
ICAgIHZpcnR1YWwgdm9pZCBibGVuZChSZW5kZXJTdHlsZSYsIGNvbnN0IFJlbmRlclN0eWxlJiwg
Y29uc3QgUmVuZGVyU3R5bGUmLCBjb25zdCBDU1NQcm9wZXJ0eUJsZW5kaW5nQ29udGV4dCYpIGNv
bnN0ID0gMDsKICAgICAKICNpZiAhTE9HX0RJU0FCTEVECkBAIC02OTMsNyArNjk0LDcgQEAgcHVi
bGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICBib29sIGNhbkludGVycG9sYXRlKGNvbnN0IFJl
bmRlclN0eWxlJiwgY29uc3QgUmVuZGVyU3R5bGUmKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxz
ZTsgfQorICAgIGJvb2wgY2FuSW50ZXJwb2xhdGUoY29uc3QgUmVuZGVyU3R5bGUmLCBjb25zdCBS
ZW5kZXJTdHlsZSYsIENvbXBvc2l0ZU9wZXJhdGlvbikgY29uc3QgZmluYWwgeyByZXR1cm4gZmFs
c2U7IH0KIAogICAgIHZvaWQgKFJlbmRlclN0eWxlOjoqbV9zZXR0ZXIpKFQpOwogfTsKQEAgLTcw
NSw3ICs3MDYsNyBAQCBwdWJsaWM6CiAgICAgR3JpZFRlbXBsYXRlVHJhY2tzV3JhcHBlcigpOwog
CiBwcml2YXRlOgotICAgIGJvb2wgY2FuSW50ZXJwb2xhdGUoY29uc3QgUmVuZGVyU3R5bGUmLCBj
b25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgYm9v
bCBjYW5JbnRlcnBvbGF0ZShjb25zdCBSZW5kZXJTdHlsZSYsIGNvbnN0IFJlbmRlclN0eWxlJiwg
Q29tcG9zaXRlT3BlcmF0aW9uKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAg
Ym9vbCBlcXVhbHMoY29uc3QgUmVuZGVyU3R5bGUmIGEsIGNvbnN0IFJlbmRlclN0eWxlJiBiKSBj
b25zdCBvdmVycmlkZQogICAgIHsKQEAgLTc3Nyw3ICs3NzgsNyBAQCBwdWJsaWM6CiAgICAgfQog
CiBwcml2YXRlOgotICAgIGJvb2wgY2FuSW50ZXJwb2xhdGUoY29uc3QgUmVuZGVyU3R5bGUmLCBj
b25zdCBSZW5kZXJTdHlsZSYpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgYm9v
bCBjYW5JbnRlcnBvbGF0ZShjb25zdCBSZW5kZXJTdHlsZSYsIGNvbnN0IFJlbmRlclN0eWxlJiwg
Q29tcG9zaXRlT3BlcmF0aW9uKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAg
Ym9vbCBlcXVhbHMoY29uc3QgUmVuZGVyU3R5bGUmIGEsIGNvbnN0IFJlbmRlclN0eWxlJiBiKSBj
b25zdCBvdmVycmlkZQogICAgIHsKQEAgLTg1NCw3ICs4NTUsNyBAQCBwdWJsaWM6CiAgICAgfQog
CiBwcm90ZWN0ZWQ6Ci0gICAgYm9vbCBjYW5JbnRlcnBvbGF0ZShjb25zdCBSZW5kZXJTdHlsZSYg
ZnJvbSwgY29uc3QgUmVuZGVyU3R5bGUmIHRvKSBjb25zdCBvdmVycmlkZQorICAgIGJvb2wgY2Fu
SW50ZXJwb2xhdGUoY29uc3QgUmVuZGVyU3R5bGUmIGZyb20sIGNvbnN0IFJlbmRlclN0eWxlJiB0
bywgQ29tcG9zaXRlT3BlcmF0aW9uKSBjb25zdCBvdmVycmlkZQogICAgIHsKICAgICAgICAgcmV0
dXJuIGNhbkludGVycG9sYXRlTGVuZ3Rocyh2YWx1ZShmcm9tKSwgdmFsdWUodG8pLCBtX2ZsYWdz
LmNvbnRhaW5zKEZsYWdzOjpJc0xlbmd0aFBlcmNlbnRhZ2UpKTsKICAgICB9CkBAIC05MTYsNyAr
OTE3LDcgQEAgcHVibGljOgogcHJpdmF0ZToKICAgICAvLyBDaGVjayBpZiBpdCdzIHBvc3NpYmxl
IHRvIGludGVycG9sYXRlIGJldHdlZW4gdGhlIGZyb20gYW5kIHRvIHZhbHVlcy4gSW4gcGFydGlj
dWxhciwKICAgICAvLyBpdCdzIG9ubHkgcG9zc2libGUgaWYgdGhleSdyZSBib3RoIG5vdCBhdXRv
LgotICAgIGJvb2wgY2FuSW50ZXJwb2xhdGUoY29uc3QgUmVuZGVyU3R5bGUmIGZyb20sIGNvbnN0
IFJlbmRlclN0eWxlJiB0bykgY29uc3Qgb3ZlcnJpZGUgCisgICAgYm9vbCBjYW5JbnRlcnBvbGF0
ZShjb25zdCBSZW5kZXJTdHlsZSYgZnJvbSwgY29uc3QgUmVuZGVyU3R5bGUmIHRvLCBDb21wb3Np
dGVPcGVyYXRpb24pIGNvbnN0IGZpbmFsCiAgICAgewogICAgICAgICBib29sIGZyb21Jc0F1dG8g
PSB2YWx1ZShmcm9tKS54KCkuaXNBdXRvKCkgJiYgdmFsdWUoZnJvbSkueSgpLmlzQXV0bygpOwog
ICAgICAgICBib29sIHRvSXNBdXRvID0gdmFsdWUodG8pLngoKS5pc0F1dG8oKSAmJiB2YWx1ZSh0
bykueSgpLmlzQXV0bygpOwpAQCAtOTM2LDcgKzkzNyw3IEBAIHB1YmxpYzoKICAgICB9CiAKIHBy
aXZhdGU6Ci0gICAgYm9vbCBjYW5JbnRlcnBvbGF0ZShjb25zdCBSZW5kZXJTdHlsZSYgZnJvbSwg
Y29uc3QgUmVuZGVyU3R5bGUmIHRvKSBjb25zdCBmaW5hbAorICAgIGJvb2wgY2FuSW50ZXJwb2xh
dGUoY29uc3QgUmVuZGVyU3R5bGUmIGZyb20sIGNvbnN0IFJlbmRlclN0eWxlJiB0bywgQ29tcG9z
aXRlT3BlcmF0aW9uKSBjb25zdCBmaW5hbAogICAgIHsKICAgICAgICAgcmV0dXJuIGNhbkludGVy
cG9sYXRlTGVuZ3RoVmFyaWFudHModGhpcy0+dmFsdWUoZnJvbSksIHRoaXMtPnZhbHVlKHRvKSk7
CiAgICAgfQpAQCAtOTY0LDcgKzk2NSw3IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAg
Ym9vbCBjYW5JbnRlcnBvbGF0ZShjb25zdCBSZW5kZXJTdHlsZSYgZnJvbSwgY29uc3QgUmVuZGVy
U3R5bGUmIHRvKSBjb25zdCBvdmVycmlkZQorICAgIGJvb2wgY2FuSW50ZXJwb2xhdGUoY29uc3Qg
UmVuZGVyU3R5bGUmIGZyb20sIGNvbnN0IFJlbmRlclN0eWxlJiB0bywgQ29tcG9zaXRlT3BlcmF0
aW9uKSBjb25zdCBvdmVycmlkZQogICAgIHsKICAgICAgICAgaWYgKG1fZmxhZ3MuY29udGFpbnMo
RmxhZ3M6OlVzZXNGaWxsS2V5d29yZCkgJiYgZnJvbS5ib3JkZXJJbWFnZSgpLmZpbGwoKSAhPSB0
by5ib3JkZXJJbWFnZSgpLmZpbGwoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTEw
MDYsOSArMTAwNyw5IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgYm9vbCBjYW5J
bnRlcnBvbGF0ZShjb25zdCBSZW5kZXJTdHlsZSYgZnJvbSwgY29uc3QgUmVuZGVyU3R5bGUmIHRv
KSBjb25zdCBmaW5hbAorICAgIGJvb2wgY2FuSW50ZXJwb2xhdGUoY29uc3QgUmVuZGVyU3R5bGUm
IGZyb20sIGNvbnN0IFJlbmRlclN0eWxlJiB0bywgQ29tcG9zaXRlT3BlcmF0aW9uIGNvbXBvc2l0
ZU9wZXJhdGlvbikgY29uc3QgZmluYWwKICAgICB7Ci0gICAgICAgIHJldHVybiBmcm9tLmhhc0Ns
aXAoKSAmJiB0by5oYXNDbGlwKCkgJiYgTGVuZ3RoQm94UHJvcGVydHlXcmFwcGVyOjpjYW5JbnRl
cnBvbGF0ZShmcm9tLCB0byk7CisgICAgICAgIHJldHVybiBmcm9tLmhhc0NsaXAoKSAmJiB0by5o
YXNDbGlwKCkgJiYgTGVuZ3RoQm94UHJvcGVydHlXcmFwcGVyOjpjYW5JbnRlcnBvbGF0ZShmcm9t
LCB0bywgY29tcG9zaXRlT3BlcmF0aW9uKTsKICAgICB9CiAKICAgICB2b2lkIGJsZW5kKFJlbmRl
clN0eWxlJiBkZXN0aW5hdGlvbiwgY29uc3QgUmVuZGVyU3R5bGUmIGZyb20sIGNvbnN0IFJlbmRl
clN0eWxlJiB0bywgY29uc3QgQ1NTUHJvcGVydHlCbGVuZGluZ0NvbnRleHQmIGNvbnRleHQpIGNv
bnN0IGZpbmFsCkBAIC0xMDYxLDcgKzEwNjIsNyBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4g
dmFsdWUoYSkgPT0gdmFsdWUoYik7CiAgICAgfQogCi0gICAgYm9vbCBjYW5JbnRlcnBvbGF0ZShj
b25zdCBSZW5kZXJTdHlsZSYgZnJvbSwgY29uc3QgUmVuZGVyU3R5bGUmIHRvKSBjb25zdCBmaW5h
bAorICAgIGJvb2wgY2FuSW50ZXJwb2xhdGUoY29uc3QgUmVuZGVyU3R5bGUmIGZyb20sIGNvbnN0
IFJlbmRlclN0eWxlJiB0bywgQ29tcG9zaXRlT3BlcmF0aW9uKSBjb25zdCBmaW5hbAogICAgIHsK
ICAgICAgICAgYXV0byBmcm9tVmFyaWF0aW9uU2V0dGluZ3MgPSB2YWx1ZShmcm9tKTsKICAgICAg
ICAgYXV0byB0b1ZhcmlhdGlvblNldHRpbmdzID0gdmFsdWUodG8pOwpAQCAtMTEwNCw3ICsxMTA1
LDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuICpzaGFwZUEgPT0gKnNoYXBlQjsKICAgICB9
CiAKLSAgICBib29sIGNhbkludGVycG9sYXRlKGNvbnN0IFJlbmRlclN0eWxlJiBmcm9tLCBjb25z
dCBSZW5kZXJTdHlsZSYgdG8pIGNvbnN0IGZpbmFsCisgICAgYm9vbCBjYW5JbnRlcnBvbGF0ZShj
b25zdCBSZW5kZXJTdHlsZSYgZnJvbSwgY29uc3QgUmVuZGVyU3R5bGUmIHRvLCBDb21wb3NpdGVP
cGVyYXRpb24pIGNvbnN0IGZpbmFsCiAgICAgewogICAgICAgICBhdXRvKiBmcm9tU2hhcGUgPSB2
YWx1ZShmcm9tKTsKICAgICAgICAgYXV0byogdG9TaGFwZSA9IHZhbHVlKHRvKTsKQEAgLTExNDEs
NyArMTE0Miw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBhcmVQb2ludGluZ1RvRXF1YWxE
YXRhKGltYWdlQSwgaW1hZ2VCKTsKICAgICB9CiAKLSAgICBib29sIGNhbkludGVycG9sYXRlKGNv
bnN0IFJlbmRlclN0eWxlJiBmcm9tLCBjb25zdCBSZW5kZXJTdHlsZSYgdG8pIGNvbnN0IGZpbmFs
CisgICAgYm9vbCBjYW5JbnRlcnBvbGF0ZShjb25zdCBSZW5kZXJTdHlsZSYgZnJvbSwgY29uc3Qg
UmVuZGVyU3R5bGUmIHRvLCBDb21wb3NpdGVPcGVyYXRpb24pIGNvbnN0IGZpbmFsCiAgICAgewog
ICAgICAgICByZXR1cm4gdmFsdWUoZnJvbSkgJiYgdmFsdWUodG8pOwogICAgIH0KQEAgLTEyNjQs
NyArMTI2NSw3IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAotICAg
IGJvb2wgY2FuSW50ZXJwb2xhdGUoY29uc3QgUmVuZGVyU3R5bGUmIGZyb20sIGNvbnN0IFJlbmRl
clN0eWxlJiB0bykgY29uc3QgZmluYWwKKyAgICBib29sIGNhbkludGVycG9sYXRlKGNvbnN0IFJl
bmRlclN0eWxlJiBmcm9tLCBjb25zdCBSZW5kZXJTdHlsZSYgdG8sIENvbXBvc2l0ZU9wZXJhdGlv
bikgY29uc3QgZmluYWwKICAgICB7CiAgICAgICAgIGNvbnN0IFNoYWRvd0RhdGEqIGZyb21TaGFk
b3cgPSAoZnJvbS4qbV9nZXR0ZXIpKCk7CiAgICAgICAgIGNvbnN0IFNoYWRvd0RhdGEqIHRvU2hh
ZG93ID0gKHRvLiptX2dldHRlcikoKTsKQEAgLTE0OTcsMTQgKzE0OTgsMTQgQEAgcHJpdmF0ZToK
ICAgICAgICAgICAgICYmIFByb3BlcnR5V3JhcHBlck1heWJlSW52YWxpZENvbG9yOjplcXVhbHMo
YSwgYik7CiAgICAgfQogCi0gICAgYm9vbCBjYW5JbnRlcnBvbGF0ZShjb25zdCBSZW5kZXJTdHls
ZSYgZnJvbSwgY29uc3QgUmVuZGVyU3R5bGUmIHRvKSBjb25zdCBmaW5hbAorICAgIGJvb2wgY2Fu
SW50ZXJwb2xhdGUoY29uc3QgUmVuZGVyU3R5bGUmIGZyb20sIGNvbnN0IFJlbmRlclN0eWxlJiB0
bywgQ29tcG9zaXRlT3BlcmF0aW9uKSBjb25zdCBmaW5hbAogICAgIHsKICAgICAgICAgcmV0dXJu
ICFmcm9tLmhhc0F1dG9BY2NlbnRDb2xvcigpICYmICF0by5oYXNBdXRvQWNjZW50Q29sb3IoKTsK
ICAgICB9CiAKICAgICB2b2lkIGJsZW5kKFJlbmRlclN0eWxlJiBkZXN0aW5hdGlvbiwgY29uc3Qg
UmVuZGVyU3R5bGUmIGZyb20sIGNvbnN0IFJlbmRlclN0eWxlJiB0bywgY29uc3QgQ1NTUHJvcGVy
dHlCbGVuZGluZ0NvbnRleHQmIGNvbnRleHQpIGNvbnN0IGZpbmFsCiAgICAgewotICAgICAgICBp
ZiAoY2FuSW50ZXJwb2xhdGUoZnJvbSwgdG8pKSB7CisgICAgICAgIGlmIChjYW5JbnRlcnBvbGF0
ZShmcm9tLCB0bywgY29udGV4dC5jb21wb3NpdGVPcGVyYXRpb24pKSB7CiAgICAgICAgICAgICBQ
cm9wZXJ0eVdyYXBwZXJNYXliZUludmFsaWRDb2xvcjo6YmxlbmQoZGVzdGluYXRpb24sIGZyb20s
IHRvLCBjb250ZXh0KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQpAQCAtMTU0MSw3
ICsxNTQyLDcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICYmIFByb3BlcnR5V3JhcHBlclZpc2l0
ZWRBZmZlY3RlZENvbG9yOjplcXVhbHMoYSwgYik7CiAgICAgfQogCi0gICAgYm9vbCBjYW5JbnRl
cnBvbGF0ZShjb25zdCBSZW5kZXJTdHlsZSYgZnJvbSwgY29uc3QgUmVuZGVyU3R5bGUmIHRvKSBj
b25zdCBmaW5hbAorICAgIGJvb2wgY2FuSW50ZXJwb2xhdGUoY29uc3QgUmVuZGVyU3R5bGUmIGZy
b20sIGNvbnN0IFJlbmRlclN0eWxlJiB0bywgQ29tcG9zaXRlT3BlcmF0aW9uKSBjb25zdCBmaW5h
bAogICAgIHsKICAgICAgICAgcmV0dXJuIGNhbkludGVycG9sYXRlQ2FyZXRDb2xvcihmcm9tLCB0
bywgZmFsc2UpIHx8IGNhbkludGVycG9sYXRlQ2FyZXRDb2xvcihmcm9tLCB0bywgdHJ1ZSk7CiAg
ICAgfQpAQCAtMTg0Myw3ICsxODQ0LDcgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfQogCi0gICAgYm9vbCBjYW5JbnRlcnBvbGF0ZShjb25zdCBSZW5kZXJTdHlsZSYgZnJv
bSwgY29uc3QgUmVuZGVyU3R5bGUmIHRvKSBjb25zdCBmaW5hbAorICAgIGJvb2wgY2FuSW50ZXJw
b2xhdGUoY29uc3QgUmVuZGVyU3R5bGUmIGZyb20sIGNvbnN0IFJlbmRlclN0eWxlJiB0bywgQ29t
cG9zaXRlT3BlcmF0aW9uKSBjb25zdCBmaW5hbAogICAgIHsKICAgICAgICAgYXV0byogZnJvbUxh
eWVyID0gJihmcm9tLiptX2xheWVyc0dldHRlcikoKTsKICAgICAgICAgYXV0byogdG9MYXllciA9
ICYodG8uKm1fbGF5ZXJzR2V0dGVyKSgpOwpAQCAtMTk1OCw3ICsxOTU5LDcgQEAgcHJpdmF0ZToK
ICAgICAgICAgcmV0dXJuIGEuZmxleEJhc2lzKCkgPT0gYi5mbGV4QmFzaXMoKSAmJiBhLmZsZXhH
cm93KCkgPT0gYi5mbGV4R3JvdygpICYmIGEuZmxleFNocmluaygpID09IGIuZmxleFNocmluaygp
OwogICAgIH0KIAotICAgIGJvb2wgY2FuSW50ZXJwb2xhdGUoY29uc3QgUmVuZGVyU3R5bGUmIGZy
b20sIGNvbnN0IFJlbmRlclN0eWxlJiB0bykgY29uc3QgZmluYWwKKyAgICBib29sIGNhbkludGVy
cG9sYXRlKGNvbnN0IFJlbmRlclN0eWxlJiBmcm9tLCBjb25zdCBSZW5kZXJTdHlsZSYgdG8sIENv
bXBvc2l0ZU9wZXJhdGlvbikgY29uc3QgZmluYWwKICAgICB7CiAgICAgICAgIHJldHVybiBmcm9t
LmZsZXhHcm93KCkgIT0gdG8uZmxleEdyb3coKSAmJiBmcm9tLmZsZXhTaHJpbmsoKSAhPSB0by5m
bGV4U2hyaW5rKCkgJiYgY2FuSW50ZXJwb2xhdGVMZW5ndGhzKGZyb20uZmxleEJhc2lzKCksIHRv
LmZsZXhCYXNpcygpLCBmYWxzZSk7CiAgICAgfQpAQCAtMjA2MCw3ICsyMDYxLDcgQEAgcHVibGlj
OgogICAgIH0KIAogcHJpdmF0ZToKLSAgICBib29sIGNhbkludGVycG9sYXRlKGNvbnN0IFJlbmRl
clN0eWxlJiBmcm9tLCBjb25zdCBSZW5kZXJTdHlsZSYgdG8pIGNvbnN0IGZpbmFsCisgICAgYm9v
bCBjYW5JbnRlcnBvbGF0ZShjb25zdCBSZW5kZXJTdHlsZSYgZnJvbSwgY29uc3QgUmVuZGVyU3R5
bGUmIHRvLCBDb21wb3NpdGVPcGVyYXRpb24pIGNvbnN0IGZpbmFsCiAgICAgewogICAgICAgICBy
ZXR1cm4gZnJvbS5mb250SXRhbGljKCkgJiYgdG8uZm9udEl0YWxpYygpICYmIGZyb20uZm9udERl
c2NyaXB0aW9uKCkuZm9udFN0eWxlQXhpcygpID09IEZvbnRTdHlsZUF4aXM6OnNsbnQgJiYgdG8u
Zm9udERlc2NyaXB0aW9uKCkuZm9udFN0eWxlQXhpcygpID09IEZvbnRTdHlsZUF4aXM6OnNsbnQ7
CiAgICAgfQpAQCAtMjA5OSw3ICsyMTAwLDcgQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToK
LSAgICBib29sIGNhbkludGVycG9sYXRlKGNvbnN0IFJlbmRlclN0eWxlJiBmcm9tLCBjb25zdCBS
ZW5kZXJTdHlsZSYgdG8pIGNvbnN0IGZpbmFsCisgICAgYm9vbCBjYW5JbnRlcnBvbGF0ZShjb25z
dCBSZW5kZXJTdHlsZSYgZnJvbSwgY29uc3QgUmVuZGVyU3R5bGUmIHRvLCBDb21wb3NpdGVPcGVy
YXRpb24pIGNvbnN0IGZpbmFsCiAgICAgewogICAgICAgICByZXR1cm4gIShmcm9tLiptX2F1dG9H
ZXR0ZXIpKCkgJiYgISh0by4qbV9hdXRvR2V0dGVyKSgpOwogICAgIH0KQEAgLTIxNTQsOSArMjE1
NSw5IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgYm9vbCBjYW5JbnRlcnBvbGF0
ZShjb25zdCBSZW5kZXJTdHlsZSYgZnJvbSwgY29uc3QgUmVuZGVyU3R5bGUmIHRvKSBjb25zdCBm
aW5hbAorICAgIGJvb2wgY2FuSW50ZXJwb2xhdGUoY29uc3QgUmVuZGVyU3R5bGUmIGZyb20sIGNv
bnN0IFJlbmRlclN0eWxlJiB0bywgQ29tcG9zaXRlT3BlcmF0aW9uIGNvbXBvc2l0ZU9wZXJhdGlv
bikgY29uc3QgZmluYWwKICAgICB7Ci0gICAgICAgIHJldHVybiBmcm9tLnZlcnRpY2FsQWxpZ24o
KSA9PSBWZXJ0aWNhbEFsaWduOjpMZW5ndGggJiYgdG8udmVydGljYWxBbGlnbigpID09IFZlcnRp
Y2FsQWxpZ246Okxlbmd0aCAmJiBMZW5ndGhQcm9wZXJ0eVdyYXBwZXI6OmNhbkludGVycG9sYXRl
KGZyb20sIHRvKTsKKyAgICAgICAgcmV0dXJuIGZyb20udmVydGljYWxBbGlnbigpID09IFZlcnRp
Y2FsQWxpZ246Okxlbmd0aCAmJiB0by52ZXJ0aWNhbEFsaWduKCkgPT0gVmVydGljYWxBbGlnbjo6
TGVuZ3RoICYmIExlbmd0aFByb3BlcnR5V3JhcHBlcjo6Y2FuSW50ZXJwb2xhdGUoZnJvbSwgdG8s
IGNvbXBvc2l0ZU9wZXJhdGlvbik7CiAgICAgfQogCiAgICAgdm9pZCBibGVuZChSZW5kZXJTdHls
ZSYgZGVzdGluYXRpb24sIGNvbnN0IFJlbmRlclN0eWxlJiBmcm9tLCBjb25zdCBSZW5kZXJTdHls
ZSYgdG8sIGNvbnN0IENTU1Byb3BlcnR5QmxlbmRpbmdDb250ZXh0JiBjb250ZXh0KSBjb25zdCBm
aW5hbApAQCAtMjE3NiwxMyArMjE3NywxMyBAQCBwdWJsaWM6CiAgICAgfQogCiBwcml2YXRlOgot
ICAgIGJvb2wgY2FuSW50ZXJwb2xhdGUoY29uc3QgUmVuZGVyU3R5bGUmIGZyb20sIGNvbnN0IFJl
bmRlclN0eWxlJiB0bykgY29uc3QgZmluYWwKKyAgICBib29sIGNhbkludGVycG9sYXRlKGNvbnN0
IFJlbmRlclN0eWxlJiBmcm9tLCBjb25zdCBSZW5kZXJTdHlsZSYgdG8sIENvbXBvc2l0ZU9wZXJh
dGlvbiBjb21wb3NpdGVPcGVyYXRpb24pIGNvbnN0IGZpbmFsCiAgICAgewogICAgICAgICBpZiAo
ZnJvbS50ZXh0SW5kZW50TGluZSgpICE9IHRvLnRleHRJbmRlbnRMaW5lKCkpCiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgICAgIGlmIChmcm9tLnRleHRJbmRlbnRUeXBlKCkgIT0gdG8u
dGV4dEluZGVudFR5cGUoKSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgcmV0
dXJuIExlbmd0aFByb3BlcnR5V3JhcHBlcjo6Y2FuSW50ZXJwb2xhdGUoZnJvbSwgdG8pOworICAg
ICAgICByZXR1cm4gTGVuZ3RoUHJvcGVydHlXcmFwcGVyOjpjYW5JbnRlcnBvbGF0ZShmcm9tLCB0
bywgY29tcG9zaXRlT3BlcmF0aW9uKTsKICAgICB9CiAKICAgICB2b2lkIGJsZW5kKFJlbmRlclN0
eWxlJiBkZXN0aW5hdGlvbiwgY29uc3QgUmVuZGVyU3R5bGUmIGZyb20sIGNvbnN0IFJlbmRlclN0
eWxlJiB0bywgY29uc3QgQ1NTUHJvcGVydHlCbGVuZGluZ0NvbnRleHQmIGNvbnRleHQpIGNvbnN0
IGZpbmFsCkBAIC0yMjAzLDExICsyMjA0LDExIEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6
Ci0gICAgYm9vbCBjYW5JbnRlcnBvbGF0ZShjb25zdCBSZW5kZXJTdHlsZSYgZnJvbSwgY29uc3Qg
UmVuZGVyU3R5bGUmIHRvKSBjb25zdCBmaW5hbAorICAgIGJvb2wgY2FuSW50ZXJwb2xhdGUoY29u
c3QgUmVuZGVyU3R5bGUmIGZyb20sIGNvbnN0IFJlbmRlclN0eWxlJiB0bywgQ29tcG9zaXRlT3Bl
cmF0aW9uIGNvbXBvc2l0ZU9wZXJhdGlvbikgY29uc3QgZmluYWwKICAgICB7CiAgICAgICAgIGlm
ICghZnJvbS5oYXNQZXJzcGVjdGl2ZSgpIHx8ICF0by5oYXNQZXJzcGVjdGl2ZSgpKQogICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAgICByZXR1cm4gTm9uTmVnYXRpdmVGbG9hdFByb3Bl
cnR5V3JhcHBlcjo6Y2FuSW50ZXJwb2xhdGUoZnJvbSwgdG8pOworICAgICAgICByZXR1cm4gTm9u
TmVnYXRpdmVGbG9hdFByb3BlcnR5V3JhcHBlcjo6Y2FuSW50ZXJwb2xhdGUoZnJvbSwgdG8sIGNv
bXBvc2l0ZU9wZXJhdGlvbik7CiAgICAgfQogCiAgICAgdm9pZCBibGVuZChSZW5kZXJTdHlsZSYg
ZGVzdGluYXRpb24sIGNvbnN0IFJlbmRlclN0eWxlJiBmcm9tLCBjb25zdCBSZW5kZXJTdHlsZSYg
dG8sIGNvbnN0IENTU1Byb3BlcnR5QmxlbmRpbmdDb250ZXh0JiBjb250ZXh0KSBjb25zdCBmaW5h
bApAQCAtMjIyOCw3ICsyMjI5LDcgQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAgICBi
b29sIGNhbkludGVycG9sYXRlKGNvbnN0IFJlbmRlclN0eWxlJiBmcm9tLCBjb25zdCBSZW5kZXJT
dHlsZSYgdG8pIGNvbnN0IGZpbmFsCisgICAgYm9vbCBjYW5JbnRlcnBvbGF0ZShjb25zdCBSZW5k
ZXJTdHlsZSYgZnJvbSwgY29uc3QgUmVuZGVyU3R5bGUmIHRvLCBDb21wb3NpdGVPcGVyYXRpb24p
IGNvbnN0IGZpbmFsCiAgICAgewogICAgICAgICByZXR1cm4gdmFsdWUoZnJvbSkuaXNTcGFjZXMo
KSA9PSB2YWx1ZSh0bykuaXNTcGFjZXMoKTsKICAgICB9CkBAIC0yMjU4LDcgKzIyNTksNyBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBhLmFzcGVjdFJhdGlvVHlwZSgpID09IGIuYXNwZWN0UmF0
aW9UeXBlKCkgJiYgYS5hc3BlY3RSYXRpb1dpZHRoKCkgPT0gYi5hc3BlY3RSYXRpb1dpZHRoKCkg
JiYgYS5hc3BlY3RSYXRpb0hlaWdodCgpID09IGIuYXNwZWN0UmF0aW9IZWlnaHQoKTsKICAgICB9
CiAKLSAgICBib29sIGNhbkludGVycG9sYXRlKGNvbnN0IFJlbmRlclN0eWxlJiBmcm9tLCBjb25z
dCBSZW5kZXJTdHlsZSYgdG8pIGNvbnN0IGZpbmFsCisgICAgYm9vbCBjYW5JbnRlcnBvbGF0ZShj
b25zdCBSZW5kZXJTdHlsZSYgZnJvbSwgY29uc3QgUmVuZGVyU3R5bGUmIHRvLCBDb21wb3NpdGVP
cGVyYXRpb24pIGNvbnN0IGZpbmFsCiAgICAgewogICAgICAgICByZXR1cm4gKGZyb20uYXNwZWN0
UmF0aW9UeXBlKCkgPT0gQXNwZWN0UmF0aW9UeXBlOjpSYXRpbyAmJiB0by5hc3BlY3RSYXRpb1R5
cGUoKSA9PSBBc3BlY3RSYXRpb1R5cGU6OlJhdGlvKSB8fCAoZnJvbS5hc3BlY3RSYXRpb1R5cGUo
KSA9PSBBc3BlY3RSYXRpb1R5cGU6OkF1dG9BbmRSYXRpbyAmJiB0by5hc3BlY3RSYXRpb1R5cGUo
KSA9PSBBc3BlY3RSYXRpb1R5cGU6OkF1dG9BbmRSYXRpbyk7CiAgICAgfQpAQCAtMjcwMCw3ICsy
NzAxLDcgQEAgc3RhdGljIGJvb2wgZ2F0aGVyRW5jbG9zaW5nU2hvcnRoYW5kUHJvcGVydGllcyhD
U1NQcm9wZXJ0eUlEIHByb3BlcnR5LCBBbmltYXRpb24KICAgICByZXR1cm4gY29udGFpbmVkOwog
fQogCi12b2lkIENTU1Byb3BlcnR5QW5pbWF0aW9uOjpibGVuZFByb3BlcnRpZXMoY29uc3QgQ1NT
UHJvcGVydHlCbGVuZGluZ0NsaWVudCogY2xpZW50LCBDU1NQcm9wZXJ0eUlEIHByb3BlcnR5LCBS
ZW5kZXJTdHlsZSYgZGVzdGluYXRpb24sIGNvbnN0IFJlbmRlclN0eWxlJiBmcm9tLCBjb25zdCBS
ZW5kZXJTdHlsZSYgdG8sIGRvdWJsZSBwcm9ncmVzcykKK3ZvaWQgQ1NTUHJvcGVydHlBbmltYXRp
b246OmJsZW5kUHJvcGVydGllcyhjb25zdCBDU1NQcm9wZXJ0eUJsZW5kaW5nQ2xpZW50KiBjbGll
bnQsIENTU1Byb3BlcnR5SUQgcHJvcGVydHksIFJlbmRlclN0eWxlJiBkZXN0aW5hdGlvbiwgY29u
c3QgUmVuZGVyU3R5bGUmIGZyb20sIGNvbnN0IFJlbmRlclN0eWxlJiB0bywgZG91YmxlIHByb2dy
ZXNzLCBDb21wb3NpdGVPcGVyYXRpb24gY29tcG9zaXRlT3BlcmF0aW9uKQogewogICAgIEFTU0VS
VChwcm9wZXJ0eSAhPSBDU1NQcm9wZXJ0eUludmFsaWQpOwogCkBAIC0yNzA5LDEwICsyNzEwLDEz
IEBAIHZvaWQgQ1NTUHJvcGVydHlBbmltYXRpb246OmJsZW5kUHJvcGVydGllcyhjb25zdCBDU1NQ
cm9wZXJ0eUJsZW5kaW5nQ2xpZW50KiBjbGllCiAgICAgICAgIC8vIGh0dHBzOi8vZHJhZnRzLmNz
c3dnLm9yZy93ZWItYW5pbWF0aW9ucy0xLyNkaXNjcmV0ZQogICAgICAgICAvLyBUaGUgcHJvcGVy
dHkncyB2YWx1ZXMgY2Fubm90IGJlIG1lYW5pbmdmdWxseSBjb21iaW5lZCwgdGh1cyBpdCBpcyBu
b3QgYWRkaXRpdmUgYW5kCiAgICAgICAgIC8vIGludGVycG9sYXRpb24gc3dhcHMgZnJvbSBWYSB0
byBWYiBhdCA1MCUgKHA9MC41KS4KLSAgICAgICAgYXV0byBpc0Rpc2NyZXRlID0gIXdyYXBwZXIt
PmNhbkludGVycG9sYXRlKGZyb20sIHRvKTsKLSAgICAgICAgaWYgKGlzRGlzY3JldGUpCisgICAg
ICAgIGF1dG8gaXNEaXNjcmV0ZSA9ICF3cmFwcGVyLT5jYW5JbnRlcnBvbGF0ZShmcm9tLCB0bywg
Y29tcG9zaXRlT3BlcmF0aW9uKTsKKyAgICAgICAgaWYgKGlzRGlzY3JldGUpIHsKKyAgICAgICAg
ICAgIC8vIElmIHdlIHdhbnQgYWRkaXRpdmUsIHdlIHNob3VsZCBzcGVjaWZ5IHByb2dyZXNzIGF0
IDAgYWN0dWFsbHkgYW5kIHJldHVybiBmcm9tLgogICAgICAgICAgICAgcHJvZ3Jlc3MgPSBwcm9n
cmVzcyA8IDAuNSA/IDAgOiAxOwotICAgICAgICB3cmFwcGVyLT5ibGVuZChkZXN0aW5hdGlvbiwg
ZnJvbSwgdG8sIHsgcHJvZ3Jlc3MsIGlzRGlzY3JldGUsIGNsaWVudCB9KTsKKyAgICAgICAgICAg
IGNvbXBvc2l0ZU9wZXJhdGlvbiA9IENvbXBvc2l0ZU9wZXJhdGlvbjo6UmVwbGFjZTsKKyAgICAg
ICAgfQorICAgICAgICB3cmFwcGVyLT5ibGVuZChkZXN0aW5hdGlvbiwgZnJvbSwgdG8sIHsgcHJv
Z3Jlc3MsIGlzRGlzY3JldGUsIGNvbXBvc2l0ZU9wZXJhdGlvbiwgY2xpZW50IH0pOwogI2lmICFM
T0dfRElTQUJMRUQKICAgICAgICAgd3JhcHBlci0+bG9nQmxlbmQoZnJvbSwgdG8sIGRlc3RpbmF0
aW9uLCBwcm9ncmVzcyk7CiAjZW5kaWYKQEAgLTI3NTQsNyArMjc1OCw3IEBAIGJvb2wgQ1NTUHJv
cGVydHlBbmltYXRpb246OmNhblByb3BlcnR5QmVJbnRlcnBvbGF0ZWQoQ1NTUHJvcGVydHlJRCBw
cm9wZXJ0eSwgY29uCiB7CiAgICAgQW5pbWF0aW9uUHJvcGVydHlXcmFwcGVyQmFzZSogd3JhcHBl
ciA9IENTU1Byb3BlcnR5QW5pbWF0aW9uV3JhcHBlck1hcDo6c2luZ2xldG9uKCkud3JhcHBlckZv
clByb3BlcnR5KHByb3BlcnR5KTsKICAgICBpZiAod3JhcHBlcikKLSAgICAgICAgcmV0dXJuIHdy
YXBwZXItPmNhbkludGVycG9sYXRlKGZyb20sIHRvKTsKKyAgICAgICAgcmV0dXJuIHdyYXBwZXIt
PmNhbkludGVycG9sYXRlKGZyb20sIHRvLCBDb21wb3NpdGVPcGVyYXRpb246OlJlcGxhY2UpOwog
ICAgIHJldHVybiBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYW5pbWF0
aW9uL0NTU1Byb3BlcnR5QW5pbWF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NT
UHJvcGVydHlBbmltYXRpb24uaAppbmRleCA2ZWY1NDFmMjVlNmVmNDRmMmY1MTNhMDFhZjY2ZWUz
NWIzZmZiZWI2Li4wNWU3YThlMjM5YTU3ZjE2NjAwZWM3ZmFjOGIyYzEzMTY4Yzc2YjczIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vQ1NTUHJvcGVydHlBbmltYXRpb24uaApAQCAt
NDcsNyArNDcsNyBAQCBwdWJsaWM6CiAKICAgICBzdGF0aWMgSGFzaFNldDxDU1NQcm9wZXJ0eUlE
PiBhbmltYXRhYmxlU2hvcnRoYW5kc0FmZmVjdGluZ1Byb3BlcnR5KENTU1Byb3BlcnR5SUQpOwog
Ci0gICAgc3RhdGljIHZvaWQgYmxlbmRQcm9wZXJ0aWVzKGNvbnN0IENTU1Byb3BlcnR5QmxlbmRp
bmdDbGllbnQqLCBDU1NQcm9wZXJ0eUlELCBSZW5kZXJTdHlsZSYgZGVzdGluYXRpb24sIGNvbnN0
IFJlbmRlclN0eWxlJiBmcm9tLCBjb25zdCBSZW5kZXJTdHlsZSYgdG8sIGRvdWJsZSBwcm9ncmVz
cyk7CisgICAgc3RhdGljIHZvaWQgYmxlbmRQcm9wZXJ0aWVzKGNvbnN0IENTU1Byb3BlcnR5Qmxl
bmRpbmdDbGllbnQqLCBDU1NQcm9wZXJ0eUlELCBSZW5kZXJTdHlsZSYgZGVzdGluYXRpb24sIGNv
bnN0IFJlbmRlclN0eWxlJiBmcm9tLCBjb25zdCBSZW5kZXJTdHlsZSYgdG8sIGRvdWJsZSBwcm9n
cmVzcywgQ29tcG9zaXRlT3BlcmF0aW9uKTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlvbi9LZXlmcmFtZUVmZmVjdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hbmltYXRpb24vS2V5ZnJhbWVFZmZlY3QuY3BwCmluZGV4IGU0OTQw
NGVkYTdmOWQxMDdmOGU0YzI5MWE1NmQ2MWYzZGFhODc4N2IuLjY3YjlhZjBjMDE2ODZmOThkMjVh
YjY4MDM3MzEwZjVmZTFhZGZlOTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FuaW1hdGlv
bi9LZXlmcmFtZUVmZmVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYW5pbWF0aW9uL0tleWZy
YW1lRWZmZWN0LmNwcApAQCAtMTQyMyw3ICsxNDIzLDcgQEAgdm9pZCBLZXlmcmFtZUVmZmVjdDo6
c2V0QW5pbWF0ZWRQcm9wZXJ0aWVzSW5TdHlsZShSZW5kZXJTdHlsZSYgdGFyZ2V0U3R5bGUsIGRv
dWIKICAgICAvLyBwcm9ncmVzcyB3aGljaCBhbHJlYWR5IGFjY291bnRzIGZvciB0aGUgdHJhbnNp
dGlvbidzIHRpbWluZyBmdW5jdGlvbi4KICAgICBpZiAobV9ibGVuZGluZ0tleWZyYW1lc1NvdXJj
ZSA9PSBCbGVuZGluZ0tleWZyYW1lc1NvdXJjZTo6Q1NTVHJhbnNpdGlvbikgewogICAgICAgICBB
U1NFUlQocHJvcGVydGllcy5zaXplKCkgPT0gMSk7Ci0gICAgICAgIENTU1Byb3BlcnR5QW5pbWF0
aW9uOjpibGVuZFByb3BlcnRpZXModGhpcywgKnByb3BlcnRpZXMuYmVnaW4oKSwgdGFyZ2V0U3R5
bGUsICptX2JsZW5kaW5nS2V5ZnJhbWVzWzBdLnN0eWxlKCksICptX2JsZW5kaW5nS2V5ZnJhbWVz
WzFdLnN0eWxlKCksIGl0ZXJhdGlvblByb2dyZXNzKTsKKyAgICAgICAgQ1NTUHJvcGVydHlBbmlt
YXRpb246OmJsZW5kUHJvcGVydGllcyh0aGlzLCAqcHJvcGVydGllcy5iZWdpbigpLCB0YXJnZXRT
dHlsZSwgKm1fYmxlbmRpbmdLZXlmcmFtZXNbMF0uc3R5bGUoKSwgKm1fYmxlbmRpbmdLZXlmcmFt
ZXNbMV0uc3R5bGUoKSwgaXRlcmF0aW9uUHJvZ3Jlc3MsIENvbXBvc2l0ZU9wZXJhdGlvbjo6UmVw
bGFjZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKQEAgLTE1MzcsNyArMTUzNyw3IEBAIHZv
aWQgS2V5ZnJhbWVFZmZlY3Q6OnNldEFuaW1hdGVkUHJvcGVydGllc0luU3R5bGUoUmVuZGVyU3R5
bGUmIHRhcmdldFN0eWxlLCBkb3ViCiAgICAgICAgIGlmIChpbnRlcnZhbEVuZHBvaW50cy5zaXpl
KCkgPT0gMSkgewogICAgICAgICAgICAgYXV0byBrZXlmcmFtZUluZGV4ID0gaW50ZXJ2YWxFbmRw
b2ludHNbMF07CiAgICAgICAgICAgICBhdXRvIGtleWZyYW1lU3R5bGUgPSAha2V5ZnJhbWVJbmRl
eCA/ICZ0YXJnZXRTdHlsZSA6IG1fYmxlbmRpbmdLZXlmcmFtZXNba2V5ZnJhbWVJbmRleC52YWx1
ZSgpXS5zdHlsZSgpOwotICAgICAgICAgICAgQ1NTUHJvcGVydHlBbmltYXRpb246OmJsZW5kUHJv
cGVydGllcyh0aGlzLCBjc3NQcm9wZXJ0eUlkLCB0YXJnZXRTdHlsZSwgKmtleWZyYW1lU3R5bGUs
ICprZXlmcmFtZVN0eWxlLCAwKTsKKyAgICAgICAgICAgIENTU1Byb3BlcnR5QW5pbWF0aW9uOjpi
bGVuZFByb3BlcnRpZXModGhpcywgY3NzUHJvcGVydHlJZCwgdGFyZ2V0U3R5bGUsICprZXlmcmFt
ZVN0eWxlLCAqa2V5ZnJhbWVTdHlsZSwgMCwgQ29tcG9zaXRlT3BlcmF0aW9uOjpSZXBsYWNlKTsK
ICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICB9CiAKQEAgLTE1NjgsNyArMTU2OCw3IEBA
IHZvaWQgS2V5ZnJhbWVFZmZlY3Q6OnNldEFuaW1hdGVkUHJvcGVydGllc0luU3R5bGUoUmVuZGVy
U3R5bGUmIHRhcmdldFN0eWxlLCBkb3ViCiAgICAgICAgIC8vICAgICBkaXN0YW5jZSBhcyB0aGUg
aW50ZXJwb2xhdGlvbiBwYXJhbWV0ZXIgcC4KICAgICAgICAgYXV0byBzdGFydFN0eWxlID0gIXN0
YXJ0S2V5ZnJhbWVJbmRleCA/ICZ0YXJnZXRTdHlsZSA6IG1fYmxlbmRpbmdLZXlmcmFtZXNbc3Rh
cnRLZXlmcmFtZUluZGV4LnZhbHVlKCldLnN0eWxlKCk7CiAgICAgICAgIGF1dG8gZW5kU3R5bGUg
PSAhZW5kS2V5ZnJhbWVJbmRleCA/ICZ0YXJnZXRTdHlsZSA6IG1fYmxlbmRpbmdLZXlmcmFtZXNb
ZW5kS2V5ZnJhbWVJbmRleC52YWx1ZSgpXS5zdHlsZSgpOwotICAgICAgICBDU1NQcm9wZXJ0eUFu
aW1hdGlvbjo6YmxlbmRQcm9wZXJ0aWVzKHRoaXMsIGNzc1Byb3BlcnR5SWQsIHRhcmdldFN0eWxl
LCAqc3RhcnRTdHlsZSwgKmVuZFN0eWxlLCB0cmFuc2Zvcm1lZERpc3RhbmNlKTsKKyAgICAgICAg
Q1NTUHJvcGVydHlBbmltYXRpb246OmJsZW5kUHJvcGVydGllcyh0aGlzLCBjc3NQcm9wZXJ0eUlk
LCB0YXJnZXRTdHlsZSwgKnN0YXJ0U3R5bGUsICplbmRTdHlsZSwgdHJhbnNmb3JtZWREaXN0YW5j
ZSwgQ29tcG9zaXRlT3BlcmF0aW9uOjpSZXBsYWNlKTsKICAgICB9CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0xlbmd0aFNpemUuaCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL0xlbmd0aFNpemUuaAppbmRleCAzYWMyMWE0NzQ0YmYxZjcxZDg3ZGEwNzg3ZjVhMjQy
M2JmYzU1ZmUzLi44MjMyZWJiZDkxNWZhZWZmYjcwOGJjMmQwZWVjNTAyNTljMDNkYWJmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9MZW5ndGhTaXplLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vTGVuZ3RoU2l6ZS5oCkBAIC0xOSw2ICsxOSw3IEBACiAKICNwcmFn
bWEgb25jZQogCisjaW5jbHVkZSAiQ29tcG9zaXRlT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSAiTGVu
Z3RoLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTQzLDYgKzQ0LDExIEBAIGlubGluZSBM
ZW5ndGhTaXplIGJsZW5kKGNvbnN0IExlbmd0aFNpemUmIGZyb20sIGNvbnN0IExlbmd0aFNpemUm
IHRvLCBjb25zdCBCbGVuCiAgICAgcmV0dXJuIHsgYmxlbmQoZnJvbS53aWR0aCwgdG8ud2lkdGgs
IGNvbnRleHQpLCBibGVuZChmcm9tLmhlaWdodCwgdG8uaGVpZ2h0LCBjb250ZXh0KSB9OwogfQog
CitpbmxpbmUgTGVuZ3RoU2l6ZSBibGVuZChjb25zdCBMZW5ndGhTaXplJiBmcm9tLCBjb25zdCBM
ZW5ndGhTaXplJiB0bywgY29uc3QgQmxlbmRpbmdDb250ZXh0JiBjb250ZXh0LCBWYWx1ZVJhbmdl
IHZhbHVlUmFuZ2UpCit7CisgICAgcmV0dXJuIHsgYmxlbmQoZnJvbS53aWR0aCwgdG8ud2lkdGgs
IGNvbnRleHQsIHZhbHVlUmFuZ2UpLCBibGVuZChmcm9tLmhlaWdodCwgdG8uaGVpZ2h0LCBjb250
ZXh0LCB2YWx1ZVJhbmdlKSB9OworfQorCiBXVEY6OlRleHRTdHJlYW0mIG9wZXJhdG9yPDwoV1RG
OjpUZXh0U3RyZWFtJiwgY29uc3QgTGVuZ3RoU2l6ZSYpOwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0
aW9uVXRpbGl0aWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0
aW9uVXRpbGl0aWVzLmgKaW5kZXggOGJjMWNiYzE0ZjQxNDc0ZDIwYzUyYTkwYzNlNmQxYWIzN2Ri
MDU5OC4uMGVjMjI0OGI5YWVhYzhkYzhiN2I5NDU0Y2NhMDA2ZGI0NmFkY2ZmNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRp
ZXMuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkNvbXBv
c2l0ZU9wZXJhdGlvbi5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCiAjaW5jbHVkZSAiTGF5b3V0
UG9pbnQuaCIKIApAQCAtMzMsMTAgKzM0LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIHN0cnVj
dCBCbGVuZGluZ0NvbnRleHQgewogICAgIGRvdWJsZSBwcm9ncmVzcyB7IDAgfTsKICAgICBib29s
IGlzRGlzY3JldGUgeyBmYWxzZSB9OworICAgIENvbXBvc2l0ZU9wZXJhdGlvbiBjb21wb3NpdGVP
cGVyYXRpb24geyBDb21wb3NpdGVPcGVyYXRpb246OlJlcGxhY2UgfTsKIAotICAgIEJsZW5kaW5n
Q29udGV4dChkb3VibGUgcHJvZ3Jlc3MgPSAwLCBib29sIGlzRGlzY3JldGUgPSBmYWxzZSkKKyAg
ICBCbGVuZGluZ0NvbnRleHQoZG91YmxlIHByb2dyZXNzID0gMCwgYm9vbCBpc0Rpc2NyZXRlID0g
ZmFsc2UsIENvbXBvc2l0ZU9wZXJhdGlvbiBjb21wb3NpdGVPcGVyYXRpb24gPSBDb21wb3NpdGVP
cGVyYXRpb246OlJlcGxhY2UpCiAgICAgICAgIDogcHJvZ3Jlc3MocHJvZ3Jlc3MpCiAgICAgICAg
ICwgaXNEaXNjcmV0ZShpc0Rpc2NyZXRlKQorICAgICAgICAsIGNvbXBvc2l0ZU9wZXJhdGlvbihj
b21wb3NpdGVPcGVyYXRpb24pCiAgICAgewogICAgIH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5zZm9ybS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL0FmZmluZVRyYW5z
Zm9ybS5jcHAKaW5kZXggMDVlOTJmN2ViNDU4NjVkZjNkNmZhZTEzOGVjMmM2ODliMDE5NjA2MS4u
MmYyNDc1MWM5MDhjNDg3YjVkMjE4MGUxNTM0NTZkZTUyYzE2YjYxZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVUcmFuc2Zvcm0u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvQWZm
aW5lVHJhbnNmb3JtLmNwcApAQCAtMzQ5LDcgKzM0OSw3IEBAIFJlZ2lvbiBBZmZpbmVUcmFuc2Zv
cm06Om1hcFJlZ2lvbihjb25zdCBSZWdpb24mIHJlZ2lvbikgY29uc3QKICAgICByZXR1cm4gbWFw
cGVkUmVnaW9uOwogfQogCi12b2lkIEFmZmluZVRyYW5zZm9ybTo6YmxlbmQoY29uc3QgQWZmaW5l
VHJhbnNmb3JtJiBmcm9tLCBkb3VibGUgcHJvZ3Jlc3MpCit2b2lkIEFmZmluZVRyYW5zZm9ybTo6
YmxlbmQoY29uc3QgQWZmaW5lVHJhbnNmb3JtJiBmcm9tLCBkb3VibGUgcHJvZ3Jlc3MsIENvbXBv
c2l0ZU9wZXJhdGlvbikKIHsKICAgICBEZWNvbXBvc2VkVHlwZSBzckEsIHNyQjsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVU
cmFuc2Zvcm0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMv
QWZmaW5lVHJhbnNmb3JtLmgKaW5kZXggMzY1ZGIwOTU5NGUwZDZiOTAwM2Q3NWNlMTNlNmE1Y2Uy
ODk5MmYwYi4uOTJlMzhiMWEwMzA2ZWM5MTU3Y2E2YzNlODY5ZjVmMWU5N2NkMTI4MyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9BZmZpbmVU
cmFuc2Zvcm0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zv
cm1zL0FmZmluZVRyYW5zZm9ybS5oCkBAIC0yNiw2ICsyNiw3IEBACiAKICNwcmFnbWEgb25jZQog
CisjaW5jbHVkZSAiQ29tcG9zaXRlT3BlcmF0aW9uLmgiCiAjaW5jbHVkZSA8YXJyYXk+CiAjaW5j
bHVkZSA8b3B0aW9uYWw+CiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KQEAgLTEzNCw3ICsx
MzUsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBpc0ludmVydGlibGUoKSBjb25zdDsgLy8gSWYgeW91
IGNhbGwgdGhpcyB0aGlzLCB5b3UncmUgcHJvYmFibHkgZG9pbmcgaXQgd3JvbmcuCiAgICAgV0VC
Q09SRV9FWFBPUlQgc3RkOjpvcHRpb25hbDxBZmZpbmVUcmFuc2Zvcm0+IGludmVyc2UoKSBjb25z
dDsKIAotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYmxlbmQoY29uc3QgQWZmaW5lVHJhbnNmb3Jt
JiBmcm9tLCBkb3VibGUgcHJvZ3Jlc3MpOworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYmxlbmQo
Y29uc3QgQWZmaW5lVHJhbnNmb3JtJiBmcm9tLCBkb3VibGUgcHJvZ3Jlc3MsIENvbXBvc2l0ZU9w
ZXJhdGlvbiA9IENvbXBvc2l0ZU9wZXJhdGlvbjo6UmVwbGFjZSk7CiAKICAgICBXRUJDT1JFX0VY
UE9SVCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCB0b1RyYW5zZm9ybWF0aW9uTWF0cml4KCkgY29uc3Q7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9y
bXMvUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL3RyYW5zZm9ybXMvUm90YXRlVHJhbnNmb3JtT3BlcmF0aW9uLmNwcAppbmRleCBm
ZjczY2NlYzRkNzk4NjUxODZkYTk4ZmRlODY2NDg0NzQ2OGM0YmU5Li4wZTZkMzI2Y2NkY2ZiN2Ex
NjBiN2ZlYWU2NmE4YTY5NDM1Y2YzMmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1JvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9Sb3RhdGVUcmFu
c2Zvcm1PcGVyYXRpb24uY3BwCkBAIC04Nyw3ICs4Nyw3IEBAIFJlZjxUcmFuc2Zvcm1PcGVyYXRp
b24+IFJvdGF0ZVRyYW5zZm9ybU9wZXJhdGlvbjo6YmxlbmQoY29uc3QgVHJhbnNmb3JtT3BlcmF0
aW9uCiAgICAgICAgICh0b09wID8gdG9PcC0+bV9hbmdsZSA6IDApKTsKICAgICAKICAgICAvLyBC
bGVuZCB0aGVtCi0gICAgdG9ULmJsZW5kKGZyb21ULCBjb250ZXh0LnByb2dyZXNzKTsKKyAgICB0
b1QuYmxlbmQoZnJvbVQsIGNvbnRleHQucHJvZ3Jlc3MsIGNvbnRleHQuY29tcG9zaXRlT3BlcmF0
aW9uKTsKICAgICAKICAgICAvLyBFeHRyYWN0IHRoZSByZXN1bHQgYXMgYSBxdWF0ZXJuaW9uCiAg
ICAgVHJhbnNmb3JtYXRpb25NYXRyaXg6OkRlY29tcG9zZWQ0VHlwZSBkZWNvbXA7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9y
bU9wZXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jt
cy9UcmFuc2Zvcm1PcGVyYXRpb24uaAppbmRleCBkZTQ1ZjcyYmEwZWFhZWVhZWI1ZTVjODFhNTAz
ODI3ODYwYjk3OTI2Li5mYTU5Y2RiMGEwMDMxNjlhNjhmYzY2ZDFhYzAzZjhhYjljYmUyZjQ1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1Ry
YW5zZm9ybU9wZXJhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvVHJhbnNmb3JtT3BlcmF0aW9uLmgKQEAgLTI0LDYgKzI0LDcgQEAKIAogI3By
YWdtYSBvbmNlCiAKKyNpbmNsdWRlICJDb21wb3NpdGVPcGVyYXRpb24uaCIKICNpbmNsdWRlICJG
bG9hdFNpemUuaCIKICNpbmNsdWRlICJUcmFuc2Zvcm1hdGlvbk1hdHJpeC5oIgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwCmlu
ZGV4IDA4N2EyNmU4ZGMwY2Q1ZmY2ZDAwMjA0OGQ2ZjI3ODI2MjIxOGQzY2MuLjgwMzU3M2Y3YjNi
NWI5MzUyYTczZWE5ZDI0ODA2YWY2YjA5ZWNkOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3Jt
YXRpb25NYXRyaXguY3BwCkBAIC0xNjM1LDEzICsxNjM1LDEzIEBAIEFmZmluZVRyYW5zZm9ybSBU
cmFuc2Zvcm1hdGlvbk1hdHJpeDo6dG9BZmZpbmVUcmFuc2Zvcm0oKSBjb25zdAogICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbV9tYXRyaXhbMV1bMV0sIG1fbWF0cml4WzNdWzBdLCBtX21hdHJp
eFszXVsxXSk7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdm9pZCBibGVuZEZsb2F0KGRvdWJsZSYgZnJv
bSwgZG91YmxlIHRvLCBkb3VibGUgcHJvZ3Jlc3MpCitzdGF0aWMgaW5saW5lIHZvaWQgYmxlbmRG
bG9hdChkb3VibGUmIGZyb20sIGRvdWJsZSB0bywgZG91YmxlIHByb2dyZXNzLCBDb21wb3NpdGVP
cGVyYXRpb24pCiB7CiAgICAgaWYgKGZyb20gIT0gdG8pCiAgICAgICAgIGZyb20gPSBmcm9tICsg
KHRvIC0gZnJvbSkgKiBwcm9ncmVzczsKIH0KIAotdm9pZCBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6
YmxlbmQyKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBmcm9tLCBkb3VibGUgcHJvZ3Jlc3Mp
Cit2b2lkIFRyYW5zZm9ybWF0aW9uTWF0cml4OjpibGVuZDIoY29uc3QgVHJhbnNmb3JtYXRpb25N
YXRyaXgmIGZyb20sIGRvdWJsZSBwcm9ncmVzcywgQ29tcG9zaXRlT3BlcmF0aW9uIGNvbXBvc2l0
ZU9wZXJhdGlvbikKIHsKICAgICBEZWNvbXBvc2VkMlR5cGUgZnJvbURlY29tcDsKICAgICBEZWNv
bXBvc2VkMlR5cGUgdG9EZWNvbXA7CkBAIC0xNjcxLDIwICsxNjcxLDIwIEBAIHZvaWQgVHJhbnNm
b3JtYXRpb25NYXRyaXg6OmJsZW5kMihjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgZnJvbSwg
ZG91YmxlIHByb2dyCiAgICAgICAgICAgICB0b0RlY29tcC5hbmdsZSAtPSAzNjA7CiAgICAgfQog
Ci0gICAgYmxlbmRGbG9hdChmcm9tRGVjb21wLm0xMSwgdG9EZWNvbXAubTExLCBwcm9ncmVzcyk7
Ci0gICAgYmxlbmRGbG9hdChmcm9tRGVjb21wLm0xMiwgdG9EZWNvbXAubTEyLCBwcm9ncmVzcyk7
Ci0gICAgYmxlbmRGbG9hdChmcm9tRGVjb21wLm0yMSwgdG9EZWNvbXAubTIxLCBwcm9ncmVzcyk7
Ci0gICAgYmxlbmRGbG9hdChmcm9tRGVjb21wLm0yMiwgdG9EZWNvbXAubTIyLCBwcm9ncmVzcyk7
Ci0gICAgYmxlbmRGbG9hdChmcm9tRGVjb21wLnRyYW5zbGF0ZVgsIHRvRGVjb21wLnRyYW5zbGF0
ZVgsIHByb2dyZXNzKTsKLSAgICBibGVuZEZsb2F0KGZyb21EZWNvbXAudHJhbnNsYXRlWSwgdG9E
ZWNvbXAudHJhbnNsYXRlWSwgcHJvZ3Jlc3MpOwotICAgIGJsZW5kRmxvYXQoZnJvbURlY29tcC5z
Y2FsZVgsIHRvRGVjb21wLnNjYWxlWCwgcHJvZ3Jlc3MpOwotICAgIGJsZW5kRmxvYXQoZnJvbURl
Y29tcC5zY2FsZVksIHRvRGVjb21wLnNjYWxlWSwgcHJvZ3Jlc3MpOwotICAgIGJsZW5kRmxvYXQo
ZnJvbURlY29tcC5hbmdsZSwgdG9EZWNvbXAuYW5nbGUsIHByb2dyZXNzKTsKKyAgICBibGVuZEZs
b2F0KGZyb21EZWNvbXAubTExLCB0b0RlY29tcC5tMTEsIHByb2dyZXNzLCBjb21wb3NpdGVPcGVy
YXRpb24pOworICAgIGJsZW5kRmxvYXQoZnJvbURlY29tcC5tMTIsIHRvRGVjb21wLm0xMiwgcHJv
Z3Jlc3MsIGNvbXBvc2l0ZU9wZXJhdGlvbik7CisgICAgYmxlbmRGbG9hdChmcm9tRGVjb21wLm0y
MSwgdG9EZWNvbXAubTIxLCBwcm9ncmVzcywgY29tcG9zaXRlT3BlcmF0aW9uKTsKKyAgICBibGVu
ZEZsb2F0KGZyb21EZWNvbXAubTIyLCB0b0RlY29tcC5tMjIsIHByb2dyZXNzLCBjb21wb3NpdGVP
cGVyYXRpb24pOworICAgIGJsZW5kRmxvYXQoZnJvbURlY29tcC50cmFuc2xhdGVYLCB0b0RlY29t
cC50cmFuc2xhdGVYLCBwcm9ncmVzcywgY29tcG9zaXRlT3BlcmF0aW9uKTsKKyAgICBibGVuZEZs
b2F0KGZyb21EZWNvbXAudHJhbnNsYXRlWSwgdG9EZWNvbXAudHJhbnNsYXRlWSwgcHJvZ3Jlc3Ms
IGNvbXBvc2l0ZU9wZXJhdGlvbik7CisgICAgYmxlbmRGbG9hdChmcm9tRGVjb21wLnNjYWxlWCwg
dG9EZWNvbXAuc2NhbGVYLCBwcm9ncmVzcywgY29tcG9zaXRlT3BlcmF0aW9uKTsKKyAgICBibGVu
ZEZsb2F0KGZyb21EZWNvbXAuc2NhbGVZLCB0b0RlY29tcC5zY2FsZVksIHByb2dyZXNzLCBjb21w
b3NpdGVPcGVyYXRpb24pOworICAgIGJsZW5kRmxvYXQoZnJvbURlY29tcC5hbmdsZSwgdG9EZWNv
bXAuYW5nbGUsIHByb2dyZXNzLCBjb21wb3NpdGVPcGVyYXRpb24pOwogCiAgICAgcmVjb21wb3Nl
Mihmcm9tRGVjb21wKTsKIH0KIAotdm9pZCBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6YmxlbmQ0KGNv
bnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBmcm9tLCBkb3VibGUgcHJvZ3Jlc3MpCit2b2lkIFRy
YW5zZm9ybWF0aW9uTWF0cml4OjpibGVuZDQoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmIGZy
b20sIGRvdWJsZSBwcm9ncmVzcywgQ29tcG9zaXRlT3BlcmF0aW9uIGNvbXBvc2l0ZU9wZXJhdGlv
bikKIHsKICAgICBEZWNvbXBvc2VkNFR5cGUgZnJvbURlY29tcDsKICAgICBEZWNvbXBvc2VkNFR5
cGUgdG9EZWNvbXA7CkBAIC0xNjk0LDI2ICsxNjk0LDI2IEBAIHZvaWQgVHJhbnNmb3JtYXRpb25N
YXRyaXg6OmJsZW5kNChjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgZnJvbSwgZG91YmxlIHBy
b2dyCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBibGVuZEZsb2F0KGZyb21EZWNvbXAu
c2NhbGVYLCB0b0RlY29tcC5zY2FsZVgsIHByb2dyZXNzKTsKLSAgICBibGVuZEZsb2F0KGZyb21E
ZWNvbXAuc2NhbGVZLCB0b0RlY29tcC5zY2FsZVksIHByb2dyZXNzKTsKLSAgICBibGVuZEZsb2F0
KGZyb21EZWNvbXAuc2NhbGVaLCB0b0RlY29tcC5zY2FsZVosIHByb2dyZXNzKTsKLSAgICBibGVu
ZEZsb2F0KGZyb21EZWNvbXAuc2tld1hZLCB0b0RlY29tcC5za2V3WFksIHByb2dyZXNzKTsKLSAg
ICBibGVuZEZsb2F0KGZyb21EZWNvbXAuc2tld1haLCB0b0RlY29tcC5za2V3WFosIHByb2dyZXNz
KTsKLSAgICBibGVuZEZsb2F0KGZyb21EZWNvbXAuc2tld1laLCB0b0RlY29tcC5za2V3WVosIHBy
b2dyZXNzKTsKLSAgICBibGVuZEZsb2F0KGZyb21EZWNvbXAudHJhbnNsYXRlWCwgdG9EZWNvbXAu
dHJhbnNsYXRlWCwgcHJvZ3Jlc3MpOwotICAgIGJsZW5kRmxvYXQoZnJvbURlY29tcC50cmFuc2xh
dGVZLCB0b0RlY29tcC50cmFuc2xhdGVZLCBwcm9ncmVzcyk7Ci0gICAgYmxlbmRGbG9hdChmcm9t
RGVjb21wLnRyYW5zbGF0ZVosIHRvRGVjb21wLnRyYW5zbGF0ZVosIHByb2dyZXNzKTsKLSAgICBi
bGVuZEZsb2F0KGZyb21EZWNvbXAucGVyc3BlY3RpdmVYLCB0b0RlY29tcC5wZXJzcGVjdGl2ZVgs
IHByb2dyZXNzKTsKLSAgICBibGVuZEZsb2F0KGZyb21EZWNvbXAucGVyc3BlY3RpdmVZLCB0b0Rl
Y29tcC5wZXJzcGVjdGl2ZVksIHByb2dyZXNzKTsKLSAgICBibGVuZEZsb2F0KGZyb21EZWNvbXAu
cGVyc3BlY3RpdmVaLCB0b0RlY29tcC5wZXJzcGVjdGl2ZVosIHByb2dyZXNzKTsKLSAgICBibGVu
ZEZsb2F0KGZyb21EZWNvbXAucGVyc3BlY3RpdmVXLCB0b0RlY29tcC5wZXJzcGVjdGl2ZVcsIHBy
b2dyZXNzKTsKKyAgICBibGVuZEZsb2F0KGZyb21EZWNvbXAuc2NhbGVYLCB0b0RlY29tcC5zY2Fs
ZVgsIHByb2dyZXNzLCBjb21wb3NpdGVPcGVyYXRpb24pOworICAgIGJsZW5kRmxvYXQoZnJvbURl
Y29tcC5zY2FsZVksIHRvRGVjb21wLnNjYWxlWSwgcHJvZ3Jlc3MsIGNvbXBvc2l0ZU9wZXJhdGlv
bik7CisgICAgYmxlbmRGbG9hdChmcm9tRGVjb21wLnNjYWxlWiwgdG9EZWNvbXAuc2NhbGVaLCBw
cm9ncmVzcywgY29tcG9zaXRlT3BlcmF0aW9uKTsKKyAgICBibGVuZEZsb2F0KGZyb21EZWNvbXAu
c2tld1hZLCB0b0RlY29tcC5za2V3WFksIHByb2dyZXNzLCBjb21wb3NpdGVPcGVyYXRpb24pOwor
ICAgIGJsZW5kRmxvYXQoZnJvbURlY29tcC5za2V3WFosIHRvRGVjb21wLnNrZXdYWiwgcHJvZ3Jl
c3MsIGNvbXBvc2l0ZU9wZXJhdGlvbik7CisgICAgYmxlbmRGbG9hdChmcm9tRGVjb21wLnNrZXdZ
WiwgdG9EZWNvbXAuc2tld1laLCBwcm9ncmVzcywgY29tcG9zaXRlT3BlcmF0aW9uKTsKKyAgICBi
bGVuZEZsb2F0KGZyb21EZWNvbXAudHJhbnNsYXRlWCwgdG9EZWNvbXAudHJhbnNsYXRlWCwgcHJv
Z3Jlc3MsIGNvbXBvc2l0ZU9wZXJhdGlvbik7CisgICAgYmxlbmRGbG9hdChmcm9tRGVjb21wLnRy
YW5zbGF0ZVksIHRvRGVjb21wLnRyYW5zbGF0ZVksIHByb2dyZXNzLCBjb21wb3NpdGVPcGVyYXRp
b24pOworICAgIGJsZW5kRmxvYXQoZnJvbURlY29tcC50cmFuc2xhdGVaLCB0b0RlY29tcC50cmFu
c2xhdGVaLCBwcm9ncmVzcywgY29tcG9zaXRlT3BlcmF0aW9uKTsKKyAgICBibGVuZEZsb2F0KGZy
b21EZWNvbXAucGVyc3BlY3RpdmVYLCB0b0RlY29tcC5wZXJzcGVjdGl2ZVgsIHByb2dyZXNzLCBj
b21wb3NpdGVPcGVyYXRpb24pOworICAgIGJsZW5kRmxvYXQoZnJvbURlY29tcC5wZXJzcGVjdGl2
ZVksIHRvRGVjb21wLnBlcnNwZWN0aXZlWSwgcHJvZ3Jlc3MsIGNvbXBvc2l0ZU9wZXJhdGlvbik7
CisgICAgYmxlbmRGbG9hdChmcm9tRGVjb21wLnBlcnNwZWN0aXZlWiwgdG9EZWNvbXAucGVyc3Bl
Y3RpdmVaLCBwcm9ncmVzcywgY29tcG9zaXRlT3BlcmF0aW9uKTsKKyAgICBibGVuZEZsb2F0KGZy
b21EZWNvbXAucGVyc3BlY3RpdmVXLCB0b0RlY29tcC5wZXJzcGVjdGl2ZVcsIHByb2dyZXNzLCBj
b21wb3NpdGVPcGVyYXRpb24pOwogCiAgICAgc2xlcnAoJmZyb21EZWNvbXAucXVhdGVybmlvblgs
ICZ0b0RlY29tcC5xdWF0ZXJuaW9uWCwgcHJvZ3Jlc3MpOwogCiAgICAgcmVjb21wb3NlNChmcm9t
RGVjb21wKTsKIH0KIAotdm9pZCBUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6YmxlbmQoY29uc3QgVHJh
bnNmb3JtYXRpb25NYXRyaXgmIGZyb20sIGRvdWJsZSBwcm9ncmVzcykKK3ZvaWQgVHJhbnNmb3Jt
YXRpb25NYXRyaXg6OmJsZW5kKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBmcm9tLCBkb3Vi
bGUgcHJvZ3Jlc3MsIENvbXBvc2l0ZU9wZXJhdGlvbiBjb21wb3NpdGVPcGVyYXRpb24pCiB7CiAg
ICAgaWYgKCFwcm9ncmVzcykgewogICAgICAgICAqdGhpcyA9IGZyb207CkBAIC0xNzI3LDkgKzE3
MjcsOSBAQCB2b2lkIFRyYW5zZm9ybWF0aW9uTWF0cml4OjpibGVuZChjb25zdCBUcmFuc2Zvcm1h
dGlvbk1hdHJpeCYgZnJvbSwgZG91YmxlIHByb2dyZQogICAgICAgICByZXR1cm47CiAKICAgICBp
ZiAoZnJvbS5pc0FmZmluZSgpICYmIGlzQWZmaW5lKCkpCi0gICAgICAgIGJsZW5kMihmcm9tLCBw
cm9ncmVzcyk7CisgICAgICAgIGJsZW5kMihmcm9tLCBwcm9ncmVzcywgY29tcG9zaXRlT3BlcmF0
aW9uKTsKICAgICBlbHNlCi0gICAgICAgIGJsZW5kNChmcm9tLCBwcm9ncmVzcyk7CisgICAgICAg
IGJsZW5kNChmcm9tLCBwcm9ncmVzcywgY29tcG9zaXRlT3BlcmF0aW9uKTsKIH0KIAogYm9vbCBU
cmFuc2Zvcm1hdGlvbk1hdHJpeDo6ZGVjb21wb3NlMihEZWNvbXBvc2VkMlR5cGUmIGRlY29tcCkg
Y29uc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5z
Zm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAppbmRleCA5NzkyMmE4Njc2
Y2QxNDMzOTRhYjhjMGY3ZmJhMDkwNzkzNTVmNDc4Li5lNWU1M2M4N2NkMWUyMTg5OTU3Mjg2NzJk
ODRkMGE5NGYxMzdlNzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBA
IC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQ29tcG9zaXRlT3Bl
cmF0aW9uLmgiCiAjaW5jbHVkZSAiRmxvYXRQb2ludC5oIgogI2luY2x1ZGUgIkZsb2F0UG9pbnQz
RC5oIgogI2luY2x1ZGUgIkludFBvaW50LmgiCkBAIC0zMjcsOSArMzI4LDkgQEAgcHVibGljOgog
ICAgIGJvb2wgZGVjb21wb3NlNChEZWNvbXBvc2VkNFR5cGUmKSBjb25zdDsKICAgICB2b2lkIHJl
Y29tcG9zZTQoY29uc3QgRGVjb21wb3NlZDRUeXBlJik7CiAKLSAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIGJsZW5kKGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBmcm9tLCBkb3VibGUgcHJvZ3Jl
c3MpOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYmxlbmQyKGNvbnN0IFRyYW5zZm9ybWF0aW9u
TWF0cml4JiBmcm9tLCBkb3VibGUgcHJvZ3Jlc3MpOwotICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQg
YmxlbmQ0KGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBmcm9tLCBkb3VibGUgcHJvZ3Jlc3Mp
OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgYmxlbmQoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRy
aXgmIGZyb20sIGRvdWJsZSBwcm9ncmVzcywgQ29tcG9zaXRlT3BlcmF0aW9uID0gQ29tcG9zaXRl
T3BlcmF0aW9uOjpSZXBsYWNlKTsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIGJsZW5kMihjb25z
dCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgZnJvbSwgZG91YmxlIHByb2dyZXNzLCBDb21wb3NpdGVP
cGVyYXRpb24gPSBDb21wb3NpdGVPcGVyYXRpb246OlJlcGxhY2UpOworICAgIFdFQkNPUkVfRVhQ
T1JUIHZvaWQgYmxlbmQ0KGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4JiBmcm9tLCBkb3VibGUg
cHJvZ3Jlc3MsIENvbXBvc2l0ZU9wZXJhdGlvbiA9IENvbXBvc2l0ZU9wZXJhdGlvbjo6UmVwbGFj
ZSk7CiAKICAgICBib29sIGlzQWZmaW5lKCkgY29uc3QKICAgICB7Cg==
</data>
<flag name="review"
          id="466381"
          type_id="1"
          status="+"
          setter="koivisto"
    />
          </attachment>
      

    </bug>

</bugzilla>