<?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>226183</bug_id>
          
          <creation_ts>2021-05-24 12:03:35 -0700</creation_ts>
          <short_desc>Stop using UncheckedLock in ShadowBlur&apos;s ScratchBuffer</short_desc>
          <delta_ts>2021-05-24 14:06:21 -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>WebCore Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1763209</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-24 12:03:35 -0700</bug_when>
    <thetext>Stop using UncheckedLock in ShadowBlur&apos;s ScratchBuffer to benefit from Clang Thread Safety Analysis.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763212</commentid>
    <comment_count>1</comment_count>
      <attachid>429551</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-24 12:06:54 -0700</bug_when>
    <thetext>Created attachment 429551
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763217</commentid>
    <comment_count>2</comment_count>
      <attachid>429553</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-24 12:35:39 -0700</bug_when>
    <thetext>Created attachment 429553
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763239</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-24 14:05:32 -0700</bug_when>
    <thetext>Committed r277965 (238089@main): &lt;https://commits.webkit.org/238089@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 429553.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763240</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-24 14:06:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/78418073&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429551</attachid>
            <date>2021-05-24 12:06:54 -0700</date>
            <delta_ts>2021-05-24 12:35:37 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226183-20210524120653.patch</filename>
            <type>text/plain</type>
            <size>15284</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3OTU4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGZlOTM4Yjg1Y2RlZTQz
N2VkYTQ4NmFkNThiNzMxOTQ5YWNmOTVjZi4uOTRiM2RlMjE1ZTU0NmJmMTU1NTRmYmZhYzQ5YjFj
ZjU0N2FhZWQxZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA1LTI0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3RvcCB1c2luZyBVbmNoZWNr
ZWRMb2NrIGluIFNoYWRvd0JsdXIncyBTY3JhdGNoQnVmZmVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYxODMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9wIHVzaW5nIFVuY2hlY2tlZExvY2sgaW4g
U2hhZG93Qmx1cidzIFNjcmF0Y2hCdWZmZXIgdG8gYmVuZWZpdCBmcm9tIENsYW5nCisgICAgICAg
IFRocmVhZCBTYWZldHkgQW5hbHlzaXMuIE5vdGUgdGhhdCBJIGhhZCB0byBmYWN0b3IgdGhlIGNv
ZGUgYSBiaXQgZGlmZmVyZW50bHkKKyAgICAgICAgYmVjYXVzZSBhbmFseXNpcyBkb2Vzbid0IHN1
cHBvcnQgY29uZGl0aW9uYWxseSBoZWxkIGxvY2tzLiBJIGNvdWxkIGhhdmUgYWxzbworICAgICAg
ICB1c2VkIFdURl9JR05PUkVTX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMgYnV0IEkgdGhpbmsgaXQg
aXMgYmV0dGVyIHRvIGZhY3RvcgorICAgICAgICB0aGUgY29kZSBzbyB0aGF0IHdlIGRvIGdldCB0
aGUgdmFsaWRhdGlvbi4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyYXRjaEJ1ZmZlcjo6V1RGX1JFUVVJUkVTX0xPQ0sp
OgorICAgICAgICAoV2ViQ29yZTo6U2NyYXRjaEJ1ZmZlcjo6V1RGX1JFVFVSTlNfTE9DSyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTaGFkb3dCbHVyOjpkcmF3UmVjdFNoYWRvd1dpdGhUaWxpbmcpOgor
ICAgICAgICAoV2ViQ29yZTo6U2hhZG93Qmx1cjo6ZHJhd1JlY3RTaGFkb3dXaXRoVGlsaW5nV2l0
aExheWVySW1hZ2VCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Qmx1cjo6ZHJhd0lu
c2V0U2hhZG93V2l0aFRpbGluZyk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dCbHVyOjpkcmF3
SW5zZXRTaGFkb3dXaXRoVGlsaW5nV2l0aExheWVySW1hZ2VCdWZmZXIpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuaDoKKwogMjAyMS0wNS0yNCAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIERyb3AgQ2hlY2tlZExvY2sgLyBDaGVja2Vk
Q29uZGl0aW9uIGFsaWFzZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL1NoYWRvd0JsdXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U2hhZG93Qmx1ci5jcHAKaW5kZXggN2E3ZjY3MGEyODE0MjQ0Mzg1Mzc3MTk3MWYzOTE3NjRmMjE5
ZTI2MC4uYWFkNjgzNmMzNTU2Mjk1NjkyMWFkM2NiZTgwOGU3MDM2ZTY2YzUzZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKQEAgLTY3LDcg
KzY3LDcgQEAgcHVibGljOgogICAgIHsKICAgICB9CiAKLSAgICBSZWZQdHI8SW1hZ2VCdWZmZXI+
IGdldFNjcmF0Y2hCdWZmZXIoY29uc3QgSW50U2l6ZSYgc2l6ZSkKKyAgICBSZWZQdHI8SW1hZ2VC
dWZmZXI+IGdldFNjcmF0Y2hCdWZmZXIoY29uc3QgSW50U2l6ZSYgc2l6ZSkgV1RGX1JFUVVJUkVT
X0xPQ0sobG9jaygpKQogICAgIHsKICAgICAgICAgQVNTRVJUKGxvY2soKS5pc0hlbGQoKSk7CiAg
ICAgICAgIGF1dG8gcmVsZWFzZUxheWVySW1hZ2UgPSBtYWtlU2NvcGVFeGl0KFt0aGlzXSB7CkBA
IC04OSw3ICs4OSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIG1faW1hZ2VCdWZmZXI7CiAg
ICAgfQogCi0gICAgYm9vbCBzZXRDYWNoZWRTaGFkb3dWYWx1ZXMoY29uc3QgRmxvYXRTaXplJiBy
YWRpdXMsIGNvbnN0IENvbG9yJiBjb2xvciwgY29uc3QgRmxvYXRSZWN0JiBzaGFkb3dSZWN0LCBj
b25zdCBGbG9hdFJvdW5kZWRSZWN0OjpSYWRpaSYgcmFkaWksIGNvbnN0IEZsb2F0U2l6ZSYgbGF5
ZXJTaXplKQorICAgIGJvb2wgc2V0Q2FjaGVkU2hhZG93VmFsdWVzKGNvbnN0IEZsb2F0U2l6ZSYg
cmFkaXVzLCBjb25zdCBDb2xvciYgY29sb3IsIGNvbnN0IEZsb2F0UmVjdCYgc2hhZG93UmVjdCwg
Y29uc3QgRmxvYXRSb3VuZGVkUmVjdDo6UmFkaWkmIHJhZGlpLCBjb25zdCBGbG9hdFNpemUmIGxh
eWVyU2l6ZSkgV1RGX1JFUVVJUkVTX0xPQ0sobG9jaygpKQogICAgIHsKICAgICAgICAgQVNTRVJU
KGxvY2soKS5pc0hlbGQoKSk7CiAgICAgICAgIGlmICghbV9sYXN0V2FzSW5zZXQgJiYgbV9sYXN0
UmFkaXVzID09IHJhZGl1cyAmJiBtX2xhc3RDb2xvciA9PSBjb2xvciAmJiBtX2xhc3RTaGFkb3dS
ZWN0ID09IHNoYWRvd1JlY3QgJiYgIG1fbGFzdFJhZGlpID09IHJhZGlpICYmIG1fbGFzdExheWVy
U2l6ZSA9PSBsYXllclNpemUpCkBAIC0xMDUsNyArMTA1LDcgQEAgcHVibGljOgogICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBib29sIHNldENhY2hlZEluc2V0U2hhZG93VmFsdWVz
KGNvbnN0IEZsb2F0U2l6ZSYgcmFkaXVzLCBjb25zdCBDb2xvciYgY29sb3IsIGNvbnN0IEZsb2F0
UmVjdCYgYm91bmRzLCBjb25zdCBGbG9hdFJlY3QmIHNoYWRvd1JlY3QsIGNvbnN0IEZsb2F0Um91
bmRlZFJlY3Q6OlJhZGlpJiByYWRpaSkKKyAgICBib29sIHNldENhY2hlZEluc2V0U2hhZG93VmFs
dWVzKGNvbnN0IEZsb2F0U2l6ZSYgcmFkaXVzLCBjb25zdCBDb2xvciYgY29sb3IsIGNvbnN0IEZs
b2F0UmVjdCYgYm91bmRzLCBjb25zdCBGbG9hdFJlY3QmIHNoYWRvd1JlY3QsIGNvbnN0IEZsb2F0
Um91bmRlZFJlY3Q6OlJhZGlpJiByYWRpaSkgV1RGX1JFUVVJUkVTX0xPQ0sobG9jaygpKQogICAg
IHsKICAgICAgICAgQVNTRVJUKGxvY2soKS5pc0hlbGQoKSk7CiAgICAgICAgIGlmIChtX2xhc3RX
YXNJbnNldCAmJiBtX2xhc3RSYWRpdXMgPT0gcmFkaXVzICYmIG1fbGFzdENvbG9yID09IGNvbG9y
ICYmIG1fbGFzdEluc2V0Qm91bmRzID09IGJvdW5kcyAmJiBzaGFkb3dSZWN0ID09IG1fbGFzdFNo
YWRvd1JlY3QgJiYgcmFkaWkgPT0gbV9sYXN0UmFkaWkpCkBAIC0xMjEsOCArMTIxLDggQEAgcHVi
bGljOgogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKLSAgICBzdGF0aWMgU2NyYXRjaEJ1
ZmZlciYgc2luZ2xldG9uKCk7Ci0gICAgc3RhdGljIFVuY2hlY2tlZExvY2smIGxvY2soKTsKKyAg
ICBzdGF0aWMgU2NyYXRjaEJ1ZmZlciYgc2luZ2xldG9uKCkgV1RGX1JFUVVJUkVTX0xPQ0sobG9j
aygpKTsKKyAgICBzdGF0aWMgTG9jayYgbG9jaygpIFdURl9SRVRVUk5TX0xPQ0soc19sb2NrKSB7
IHJldHVybiBzX2xvY2s7IH0KIAogcHJpdmF0ZToKICAgICB2b2lkIHNjaGVkdWxlU2NyYXRjaEJ1
ZmZlclB1cmdlKCkKQEAgLTE0MSw3ICsxNDEsNyBAQCBwcml2YXRlOgogICAgICAgICB9CiAgICAg
fQogCi0gICAgdm9pZCBjbGVhclNjcmF0Y2hCdWZmZXIoKQorICAgIHZvaWQgY2xlYXJTY3JhdGNo
QnVmZmVyKCkgV1RGX1JFUVVJUkVTX0xPQ0sobG9jaygpKQogICAgIHsKICAgICAgICAgQVNTRVJU
KGxvY2soKS5pc0hlbGQoKSk7CiAgICAgICAgIG1faW1hZ2VCdWZmZXIgPSBudWxscHRyOwpAQCAt
MTQ5LDYgKzE0OSw4IEBAIHByaXZhdGU6CiAgICAgICAgIG1fbGFzdExheWVyU2l6ZSA9IEZsb2F0
U2l6ZSgpOwogICAgIH0KIAorICAgIHN0YXRpYyBMb2NrIHNfbG9jazsKKwogICAgIFJlZlB0cjxJ
bWFnZUJ1ZmZlcj4gbV9pbWFnZUJ1ZmZlcjsKICAgICBSdW5Mb29wOjpUaW1lcjxTY3JhdGNoQnVm
ZmVyPiBtX3B1cmdlVGltZXI7CiAKQEAgLTE2MSw2ICsxNjMsOCBAQCBwcml2YXRlOgogICAgIEZs
b2F0U2l6ZSBtX2xhc3RMYXllclNpemU7CiB9OwogCitMb2NrIFNjcmF0Y2hCdWZmZXI6OnNfbG9j
azsKKwogU2NyYXRjaEJ1ZmZlciYgU2NyYXRjaEJ1ZmZlcjo6c2luZ2xldG9uKCkKIHsKICAgICBB
U1NFUlQobG9jaygpLmlzSGVsZCgpKTsKQEAgLTE2OCwxMiArMTcyLDYgQEAgU2NyYXRjaEJ1ZmZl
ciYgU2NyYXRjaEJ1ZmZlcjo6c2luZ2xldG9uKCkKICAgICByZXR1cm4gc2NyYXRjaEJ1ZmZlcjsK
IH0KIAotVW5jaGVja2VkTG9jayYgU2NyYXRjaEJ1ZmZlcjo6bG9jaygpCi17Ci0gICAgc3RhdGlj
IFVuY2hlY2tlZExvY2sgbG9jazsKLSAgICByZXR1cm4gbG9jazsKLX0KLQogc3RhdGljIGZsb2F0
IHJhZGl1c1RvTGVnYWN5UmFkaXVzKGZsb2F0IHJhZGl1cykKIHsKICAgICByZXR1cm4gcmFkaXVz
ID4gOCA/IDggKyA0ICogc3FydCgocmFkaXVzIC0gOCkgLyAyKSA6IHJhZGl1czsKQEAgLTY5NCwz
NyArNjkyLDMxIEBAIHZvaWQgU2hhZG93Qmx1cjo6ZHJhd0luc2V0U2hhZG93V2l0aG91dFRpbGlu
Zyhjb25zdCBBZmZpbmVUcmFuc2Zvcm0mLCBjb25zdCBGbG9hCiAKIHZvaWQgU2hhZG93Qmx1cjo6
ZHJhd1JlY3RTaGFkb3dXaXRoVGlsaW5nKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdHJhbnNmb3Jt
LCBjb25zdCBGbG9hdFJvdW5kZWRSZWN0JiBzaGFkb3dlZFJlY3QsIGNvbnN0IEludFNpemUmIHRl
bXBsYXRlU2l6ZSwgY29uc3QgSW50U2l6ZSYgZWRnZVNpemUsIGNvbnN0IERyYXdJbWFnZUNhbGxi
YWNrJiBkcmF3SW1hZ2UsIGNvbnN0IEZpbGxSZWN0Q2FsbGJhY2smIGZpbGxSZWN0LCBjb25zdCBM
YXllckltYWdlUHJvcGVydGllcyYgbGF5ZXJJbWFnZVByb3BlcnRpZXMpCiB7Ci0gICAgUmVmUHRy
PEltYWdlQnVmZmVyPiBsYXllckltYWdlQnVmZmVyOworICAgIEZsb2F0UmVjdCB0ZW1wbGF0ZVNo
YWRvdyA9IEZsb2F0UmVjdChlZGdlU2l6ZS53aWR0aCgpLCBlZGdlU2l6ZS5oZWlnaHQoKSwgdGVt
cGxhdGVTaXplLndpZHRoKCkgLSAyICogZWRnZVNpemUud2lkdGgoKSwgdGVtcGxhdGVTaXplLmhl
aWdodCgpIC0gMiAqIGVkZ2VTaXplLmhlaWdodCgpKTsKKwogI2lmIFVTRShDRykKLSAgICBhdXRv
IGxvY2tlciA9IExvY2tlcjxVbmNoZWNrZWRMb2NrPjo6dHJ5TG9jayhTY3JhdGNoQnVmZmVyOjps
b2NrKCkpOwotICAgIGlmIChsb2NrZXIpIHsKLSAgICAgICAgbGF5ZXJJbWFnZUJ1ZmZlciA9IFNj
cmF0Y2hCdWZmZXI6OnNpbmdsZXRvbigpLmdldFNjcmF0Y2hCdWZmZXIodGVtcGxhdGVTaXplKTsK
KyAgICBpZiAoU2NyYXRjaEJ1ZmZlcjo6bG9jaygpLnRyeUxvY2soKSkgeworICAgICAgICBMb2Nr
ZXIgbG9ja2VyIHsgQWRvcHRMb2NrLCBTY3JhdGNoQnVmZmVyOjpsb2NrKCkgfTsKKyAgICAgICAg
YXV0byBsYXllckltYWdlQnVmZmVyID0gU2NyYXRjaEJ1ZmZlcjo6c2luZ2xldG9uKCkuZ2V0U2Ny
YXRjaEJ1ZmZlcih0ZW1wbGF0ZVNpemUpOwogICAgICAgICBpZiAoIWxheWVySW1hZ2VCdWZmZXIp
CiAgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGJvb2wgcmVkcmF3TmVlZGVkID0gU2NyYXRj
aEJ1ZmZlcjo6c2luZ2xldG9uKCkuc2V0Q2FjaGVkU2hhZG93VmFsdWVzKG1fYmx1clJhZGl1cywg
bV9jb2xvciwgdGVtcGxhdGVTaGFkb3csIHNoYWRvd2VkUmVjdC5yYWRpaSgpLCBsYXllckltYWdl
UHJvcGVydGllcy5sYXllclNpemUpOworICAgICAgICBkcmF3UmVjdFNoYWRvd1dpdGhUaWxpbmdX
aXRoTGF5ZXJJbWFnZUJ1ZmZlcigqbGF5ZXJJbWFnZUJ1ZmZlciwgdHJhbnNmb3JtLCBzaGFkb3dl
ZFJlY3QsIHRlbXBsYXRlU2l6ZSwgZWRnZVNpemUsIGRyYXdJbWFnZSwgZmlsbFJlY3QsIHRlbXBs
YXRlU2hhZG93LCByZWRyYXdOZWVkZWQpOworICAgICAgICByZXR1cm47CiAgICAgfQogI2Vsc2UK
ICAgICBVTlVTRURfUEFSQU0obGF5ZXJJbWFnZVByb3BlcnRpZXMpOwogI2VuZGlmCiAKLSAgICBp
ZiAoIWxheWVySW1hZ2VCdWZmZXIpIHsKLSAgICAgICAgbGF5ZXJJbWFnZUJ1ZmZlciA9IEltYWdl
QnVmZmVyOjpjcmVhdGUodGVtcGxhdGVTaXplLCBSZW5kZXJpbmdNb2RlOjpVbmFjY2VsZXJhdGVk
LCAxLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSwgUGl4ZWxGb3JtYXQ6OkJHUkE4KTsK
LSAgICAgICAgaWYgKCFsYXllckltYWdlQnVmZmVyKQotICAgICAgICAgICAgcmV0dXJuOwotICAg
IH0KLSAgICBhdXRvKiBsYXllckltYWdlID0gbGF5ZXJJbWFnZUJ1ZmZlci5nZXQoKTsKLQotICAg
IEZsb2F0UmVjdCB0ZW1wbGF0ZVNoYWRvdyA9IEZsb2F0UmVjdChlZGdlU2l6ZS53aWR0aCgpLCBl
ZGdlU2l6ZS5oZWlnaHQoKSwgdGVtcGxhdGVTaXplLndpZHRoKCkgLSAyICogZWRnZVNpemUud2lk
dGgoKSwgdGVtcGxhdGVTaXplLmhlaWdodCgpIC0gMiAqIGVkZ2VTaXplLmhlaWdodCgpKTsKLQot
ICAgIGJvb2wgcmVkcmF3TmVlZGVkID0gdHJ1ZTsKLSNpZiBVU0UoQ0cpCi0gICAgLy8gT25seSBy
ZWRyYXcgaW4gdGhlIHNjcmF0Y2ggYnVmZmVyIGlmIGl0cyBjYWNoZWQgY29udGVudHMgZG9uJ3Qg
bWF0Y2ggb3VyIG5lZWRzCi0gICAgaWYgKGxvY2tlcikKLSAgICAgICAgcmVkcmF3TmVlZGVkID0g
U2NyYXRjaEJ1ZmZlcjo6c2luZ2xldG9uKCkuc2V0Q2FjaGVkU2hhZG93VmFsdWVzKG1fYmx1clJh
ZGl1cywgbV9jb2xvciwgdGVtcGxhdGVTaGFkb3csIHNoYWRvd2VkUmVjdC5yYWRpaSgpLCBsYXll
ckltYWdlUHJvcGVydGllcy5sYXllclNpemUpOwotI2VuZGlmCisgICAgaWYgKGF1dG8gbGF5ZXJJ
bWFnZUJ1ZmZlciA9IEltYWdlQnVmZmVyOjpjcmVhdGUodGVtcGxhdGVTaXplLCBSZW5kZXJpbmdN
b2RlOjpVbmFjY2VsZXJhdGVkLCAxLCBEZXN0aW5hdGlvbkNvbG9yU3BhY2U6OlNSR0IoKSwgUGl4
ZWxGb3JtYXQ6OkJHUkE4KSkKKyAgICAgICAgZHJhd1JlY3RTaGFkb3dXaXRoVGlsaW5nV2l0aExh
eWVySW1hZ2VCdWZmZXIoKmxheWVySW1hZ2VCdWZmZXIsIHRyYW5zZm9ybSwgc2hhZG93ZWRSZWN0
LCB0ZW1wbGF0ZVNpemUsIGVkZ2VTaXplLCBkcmF3SW1hZ2UsIGZpbGxSZWN0LCB0ZW1wbGF0ZVNo
YWRvdyk7Cit9CiAKK3ZvaWQgU2hhZG93Qmx1cjo6ZHJhd1JlY3RTaGFkb3dXaXRoVGlsaW5nV2l0
aExheWVySW1hZ2VCdWZmZXIoSW1hZ2VCdWZmZXImIGxheWVySW1hZ2UsIGNvbnN0IEFmZmluZVRy
YW5zZm9ybSYgdHJhbnNmb3JtLCBjb25zdCBGbG9hdFJvdW5kZWRSZWN0JiBzaGFkb3dlZFJlY3Qs
IGNvbnN0IEludFNpemUmIHRlbXBsYXRlU2l6ZSwgY29uc3QgSW50U2l6ZSYgZWRnZVNpemUsIGNv
bnN0IERyYXdJbWFnZUNhbGxiYWNrJiBkcmF3SW1hZ2UsIGNvbnN0IEZpbGxSZWN0Q2FsbGJhY2sm
IGZpbGxSZWN0LCBjb25zdCBGbG9hdFJlY3QmIHRlbXBsYXRlU2hhZG93LCBib29sIHJlZHJhd05l
ZWRlZCkKK3sKICAgICBpZiAocmVkcmF3TmVlZGVkKSB7CiAgICAgICAgIC8vIERyYXcgc2hhZG93
IGludG8gdGhlIEltYWdlQnVmZmVyLgotICAgICAgICBHcmFwaGljc0NvbnRleHQmIHNoYWRvd0Nv
bnRleHQgPSBsYXllckltYWdlLT5jb250ZXh0KCk7CisgICAgICAgIEdyYXBoaWNzQ29udGV4dCYg
c2hhZG93Q29udGV4dCA9IGxheWVySW1hZ2UuY29udGV4dCgpOwogICAgICAgICBHcmFwaGljc0Nv
bnRleHRTdGF0ZVNhdmVyIHNoYWRvd1N0YXRlU2F2ZXIoc2hhZG93Q29udGV4dCk7CiAKICAgICAg
ICAgc2hhZG93Q29udGV4dC5jbGVhclJlY3QoRmxvYXRSZWN0KDAsIDAsIHRlbXBsYXRlU2l6ZS53
aWR0aCgpLCB0ZW1wbGF0ZVNpemUuaGVpZ2h0KCkpKTsKQEAgLTczNyw3ICs3MjksNyBAQCB2b2lk
IFNoYWRvd0JsdXI6OmRyYXdSZWN0U2hhZG93V2l0aFRpbGluZyhjb25zdCBBZmZpbmVUcmFuc2Zv
cm0mIHRyYW5zZm9ybSwgY29ucwogICAgICAgICAgICAgcGF0aC5hZGRSb3VuZGVkUmVjdChGbG9h
dFJvdW5kZWRSZWN0KHRlbXBsYXRlU2hhZG93LCBzaGFkb3dlZFJlY3QucmFkaWkoKSkpOwogICAg
ICAgICAgICAgc2hhZG93Q29udGV4dC5maWxsUGF0aChwYXRoKTsKICAgICAgICAgfQotICAgICAg
ICBibHVyQW5kQ29sb3JTaGFkb3dCdWZmZXIoKmxheWVySW1hZ2UsIHRlbXBsYXRlU2l6ZSk7Cisg
ICAgICAgIGJsdXJBbmRDb2xvclNoYWRvd0J1ZmZlcihsYXllckltYWdlLCB0ZW1wbGF0ZVNpemUp
OwogICAgIH0KIAogICAgIEZsb2F0U2l6ZSBvZmZzZXQgPSBtX29mZnNldDsKQEAgLTc0OSw0MiAr
NzQxLDM2IEBAIHZvaWQgU2hhZG93Qmx1cjo6ZHJhd1JlY3RTaGFkb3dXaXRoVGlsaW5nKGNvbnN0
IEFmZmluZVRyYW5zZm9ybSYgdHJhbnNmb3JtLCBjb25zCiAgICAgc2hhZG93Qm91bmRzLmluZmxh
dGVYKGVkZ2VTaXplLndpZHRoKCkpOwogICAgIHNoYWRvd0JvdW5kcy5pbmZsYXRlWShlZGdlU2l6
ZS5oZWlnaHQoKSk7CiAKLSAgICBkcmF3TGF5ZXJQaWVjZXNBbmRGaWxsQ2VudGVyKCpsYXllcklt
YWdlLCBzaGFkb3dCb3VuZHMsIHNoYWRvd2VkUmVjdC5yYWRpaSgpLCBlZGdlU2l6ZSwgdGVtcGxh
dGVTaXplLCBkcmF3SW1hZ2UsIGZpbGxSZWN0KTsKKyAgICBkcmF3TGF5ZXJQaWVjZXNBbmRGaWxs
Q2VudGVyKGxheWVySW1hZ2UsIHNoYWRvd0JvdW5kcywgc2hhZG93ZWRSZWN0LnJhZGlpKCksIGVk
Z2VTaXplLCB0ZW1wbGF0ZVNpemUsIGRyYXdJbWFnZSwgZmlsbFJlY3QpOwogfQogCiB2b2lkIFNo
YWRvd0JsdXI6OmRyYXdJbnNldFNoYWRvd1dpdGhUaWxpbmcoY29uc3QgQWZmaW5lVHJhbnNmb3Jt
JiB0cmFuc2Zvcm0sIGNvbnN0IEZsb2F0UmVjdCYgZnVsbFJlY3QsIGNvbnN0IEZsb2F0Um91bmRl
ZFJlY3QmIGhvbGVSZWN0LCBjb25zdCBJbnRTaXplJiB0ZW1wbGF0ZVNpemUsIGNvbnN0IEludFNp
emUmIGVkZ2VTaXplLCBjb25zdCBEcmF3SW1hZ2VDYWxsYmFjayYgZHJhd0ltYWdlLCBjb25zdCBG
aWxsUmVjdFdpdGhIb2xlQ2FsbGJhY2smIGZpbGxSZWN0V2l0aEhvbGUpCiB7Ci0gICAgUmVmUHRy
PEltYWdlQnVmZmVyPiBsYXllckltYWdlQnVmZmVyOwotI2lmIFVTRShDRykKLSAgICBhdXRvIGxv
Y2tlciA9IExvY2tlcjxVbmNoZWNrZWRMb2NrPjo6dHJ5TG9jayhTY3JhdGNoQnVmZmVyOjpsb2Nr
KCkpOwotICAgIGlmIChsb2NrZXIpIHsKLSAgICAgICAgbGF5ZXJJbWFnZUJ1ZmZlciA9IFNjcmF0
Y2hCdWZmZXI6OnNpbmdsZXRvbigpLmdldFNjcmF0Y2hCdWZmZXIodGVtcGxhdGVTaXplKTsKLSAg
ICAgICAgaWYgKCFsYXllckltYWdlQnVmZmVyKQotICAgICAgICAgICAgcmV0dXJuOwotICAgIH0K
LSNlbmRpZgotCi0gICAgaWYgKCFsYXllckltYWdlQnVmZmVyKSB7Ci0gICAgICAgIGxheWVySW1h
Z2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHRlbXBsYXRlU2l6ZSwgUmVuZGVyaW5nTW9k
ZTo6VW5hY2NlbGVyYXRlZCwgMSwgRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCKCksIFBpeGVs
Rm9ybWF0OjpCR1JBOCk7Ci0gICAgICAgIGlmICghbGF5ZXJJbWFnZUJ1ZmZlcikKLSAgICAgICAg
ICAgIHJldHVybjsKLSAgICB9Ci0gICAgYXV0byogbGF5ZXJJbWFnZSA9IGxheWVySW1hZ2VCdWZm
ZXIuZ2V0KCk7Ci0KICAgICAvLyBEcmF3IHRoZSByZWN0YW5nbGUgd2l0aCBob2xlLgogICAgIEZs
b2F0UmVjdCB0ZW1wbGF0ZUJvdW5kcygwLCAwLCB0ZW1wbGF0ZVNpemUud2lkdGgoKSwgdGVtcGxh
dGVTaXplLmhlaWdodCgpKTsKICAgICBGbG9hdFJlY3QgdGVtcGxhdGVIb2xlID0gRmxvYXRSZWN0
KGVkZ2VTaXplLndpZHRoKCksIGVkZ2VTaXplLmhlaWdodCgpLCB0ZW1wbGF0ZVNpemUud2lkdGgo
KSAtIDIgKiBlZGdlU2l6ZS53aWR0aCgpLCB0ZW1wbGF0ZVNpemUuaGVpZ2h0KCkgLSAyICogZWRn
ZVNpemUuaGVpZ2h0KCkpOwogCi0gICAgYm9vbCByZWRyYXdOZWVkZWQgPSB0cnVlOwogI2lmIFVT
RShDRykKLSAgICAvLyBPbmx5IHJlZHJhdyBpbiB0aGUgc2NyYXRjaCBidWZmZXIgaWYgaXRzIGNh
Y2hlZCBjb250ZW50cyBkb24ndCBtYXRjaCBvdXIgbmVlZHMKLSAgICBpZiAobG9ja2VyKQotICAg
ICAgICByZWRyYXdOZWVkZWQgPSBTY3JhdGNoQnVmZmVyOjpzaW5nbGV0b24oKS5zZXRDYWNoZWRJ
bnNldFNoYWRvd1ZhbHVlcyhtX2JsdXJSYWRpdXMsIG1fY29sb3IsIHRlbXBsYXRlQm91bmRzLCB0
ZW1wbGF0ZUhvbGUsIGhvbGVSZWN0LnJhZGlpKCkpOworICAgIGlmIChTY3JhdGNoQnVmZmVyOjps
b2NrKCkudHJ5TG9jaygpKSB7CisgICAgICAgIExvY2tlciBsb2NrZXIgeyBBZG9wdExvY2ssIFNj
cmF0Y2hCdWZmZXI6OmxvY2soKSB9OworICAgICAgICBhdXRvIGxheWVySW1hZ2VCdWZmZXIgPSBT
Y3JhdGNoQnVmZmVyOjpzaW5nbGV0b24oKS5nZXRTY3JhdGNoQnVmZmVyKHRlbXBsYXRlU2l6ZSk7
CisgICAgICAgIGlmICghbGF5ZXJJbWFnZUJ1ZmZlcikKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgYm9vbCByZWRyYXdOZWVkZWQgPSBTY3JhdGNoQnVmZmVyOjpzaW5nbGV0b24oKS5zZXRD
YWNoZWRJbnNldFNoYWRvd1ZhbHVlcyhtX2JsdXJSYWRpdXMsIG1fY29sb3IsIHRlbXBsYXRlQm91
bmRzLCB0ZW1wbGF0ZUhvbGUsIGhvbGVSZWN0LnJhZGlpKCkpOworICAgICAgICBkcmF3SW5zZXRT
aGFkb3dXaXRoVGlsaW5nV2l0aExheWVySW1hZ2VCdWZmZXIoKmxheWVySW1hZ2VCdWZmZXIsIHRy
YW5zZm9ybSwgZnVsbFJlY3QsIGhvbGVSZWN0LCB0ZW1wbGF0ZVNpemUsIGVkZ2VTaXplLCBkcmF3
SW1hZ2UsIGZpbGxSZWN0V2l0aEhvbGUsIHRlbXBsYXRlQm91bmRzLCB0ZW1wbGF0ZUhvbGUsIHJl
ZHJhd05lZWRlZCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAjZW5kaWYKIAorICAgIGlmIChh
dXRvIGxheWVySW1hZ2VCdWZmZXIgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHRlbXBsYXRlU2l6ZSwg
UmVuZGVyaW5nTW9kZTo6VW5hY2NlbGVyYXRlZCwgMSwgRGVzdGluYXRpb25Db2xvclNwYWNlOjpT
UkdCKCksIFBpeGVsRm9ybWF0OjpCR1JBOCkpCisgICAgICAgIGRyYXdJbnNldFNoYWRvd1dpdGhU
aWxpbmdXaXRoTGF5ZXJJbWFnZUJ1ZmZlcigqbGF5ZXJJbWFnZUJ1ZmZlciwgdHJhbnNmb3JtLCBm
dWxsUmVjdCwgaG9sZVJlY3QsIHRlbXBsYXRlU2l6ZSwgZWRnZVNpemUsIGRyYXdJbWFnZSwgZmls
bFJlY3RXaXRoSG9sZSwgdGVtcGxhdGVCb3VuZHMsIHRlbXBsYXRlSG9sZSk7Cit9CisKK3ZvaWQg
U2hhZG93Qmx1cjo6ZHJhd0luc2V0U2hhZG93V2l0aFRpbGluZ1dpdGhMYXllckltYWdlQnVmZmVy
KEltYWdlQnVmZmVyJiBsYXllckltYWdlLCBjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHRyYW5zZm9y
bSwgY29uc3QgRmxvYXRSZWN0JiBmdWxsUmVjdCwgY29uc3QgRmxvYXRSb3VuZGVkUmVjdCYgaG9s
ZVJlY3QsIGNvbnN0IEludFNpemUmIHRlbXBsYXRlU2l6ZSwgY29uc3QgSW50U2l6ZSYgZWRnZVNp
emUsIGNvbnN0IERyYXdJbWFnZUNhbGxiYWNrJiBkcmF3SW1hZ2UsIGNvbnN0IEZpbGxSZWN0V2l0
aEhvbGVDYWxsYmFjayYgZmlsbFJlY3RXaXRoSG9sZSwgY29uc3QgRmxvYXRSZWN0JiB0ZW1wbGF0
ZUJvdW5kcywgY29uc3QgRmxvYXRSZWN0JiB0ZW1wbGF0ZUhvbGUsIGJvb2wgcmVkcmF3TmVlZGVk
KQorewogICAgIGlmIChyZWRyYXdOZWVkZWQpIHsKICAgICAgICAgLy8gRHJhdyBzaGFkb3cgaW50
byBhIG5ldyBJbWFnZUJ1ZmZlci4KLSAgICAgICAgR3JhcGhpY3NDb250ZXh0JiBzaGFkb3dDb250
ZXh0ID0gbGF5ZXJJbWFnZS0+Y29udGV4dCgpOworICAgICAgICBHcmFwaGljc0NvbnRleHQmIHNo
YWRvd0NvbnRleHQgPSBsYXllckltYWdlLmNvbnRleHQoKTsKICAgICAgICAgR3JhcGhpY3NDb250
ZXh0U3RhdGVTYXZlciBzaGFkb3dTdGF0ZVNhdmVyKHNoYWRvd0NvbnRleHQpOwogICAgICAgICBz
aGFkb3dDb250ZXh0LmNsZWFyUmVjdCh0ZW1wbGF0ZUJvdW5kcyk7CiAgICAgICAgIHNoYWRvd0Nv
bnRleHQuc2V0RmlsbFJ1bGUoV2luZFJ1bGU6OkV2ZW5PZGQpOwpAQCAtNzk5LDcgKzc4NSw3IEBA
IHZvaWQgU2hhZG93Qmx1cjo6ZHJhd0luc2V0U2hhZG93V2l0aFRpbGluZyhjb25zdCBBZmZpbmVU
cmFuc2Zvcm0mIHRyYW5zZm9ybSwgY29uCiAKICAgICAgICAgc2hhZG93Q29udGV4dC5maWxsUGF0
aChwYXRoKTsKIAotICAgICAgICBibHVyQW5kQ29sb3JTaGFkb3dCdWZmZXIoKmxheWVySW1hZ2Us
IHRlbXBsYXRlU2l6ZSk7CisgICAgICAgIGJsdXJBbmRDb2xvclNoYWRvd0J1ZmZlcihsYXllcklt
YWdlLCB0ZW1wbGF0ZVNpemUpOwogICAgIH0KICAgICBGbG9hdFNpemUgb2Zmc2V0ID0gbV9vZmZz
ZXQ7CiAgICAgaWYgKHNoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zKCkpCkBAIC04MTcsNyArODAzLDcg
QEAgdm9pZCBTaGFkb3dCbHVyOjpkcmF3SW5zZXRTaGFkb3dXaXRoVGlsaW5nKGNvbnN0IEFmZmlu
ZVRyYW5zZm9ybSYgdHJhbnNmb3JtLCBjb24KICAgICAvLyBGaWxsIHRoZSBleHRlcm5hbCBwYXJ0
IG9mIHRoZSBzaGFkb3cgKHdoaWNoIG1heSBiZSB2aXNpYmxlIGJlY2F1c2Ugb2Ygb2Zmc2V0KS4K
ICAgICBmaWxsUmVjdFdpdGhIb2xlKGJvdW5kaW5nUmVjdCwgZGVzdEhvbGVCb3VuZHMsIG1fY29s
b3IpOwogCi0gICAgZHJhd0xheWVyUGllY2VzKCpsYXllckltYWdlLCBkZXN0SG9sZUJvdW5kcywg
aG9sZVJlY3QucmFkaWkoKSwgZWRnZVNpemUsIHRlbXBsYXRlU2l6ZSwgZHJhd0ltYWdlKTsKKyAg
ICBkcmF3TGF5ZXJQaWVjZXMobGF5ZXJJbWFnZSwgZGVzdEhvbGVCb3VuZHMsIGhvbGVSZWN0LnJh
ZGlpKCksIGVkZ2VTaXplLCB0ZW1wbGF0ZVNpemUsIGRyYXdJbWFnZSk7CiB9CiAKIHZvaWQgU2hh
ZG93Qmx1cjo6ZHJhd0xheWVyUGllY2VzKEltYWdlQnVmZmVyJiBsYXllckltYWdlLCBjb25zdCBG
bG9hdFJlY3QmIHNoYWRvd0JvdW5kcywgY29uc3QgRmxvYXRSb3VuZGVkUmVjdDo6UmFkaWkmIHJh
ZGlpLCBjb25zdCBJbnRTaXplJiBidWZmZXJQYWRkaW5nLCBjb25zdCBJbnRTaXplJiB0ZW1wbGF0
ZVNpemUsIGNvbnN0IERyYXdJbWFnZUNhbGxiYWNrJiBkcmF3SW1hZ2UpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmgKaW5kZXggOGRhZTkwY2JkZjk3OWQ2
NTRkZWQyYjQwZjJhMjA5OWU3NjcxNTg4Mi4uODdmNjQ2ZTM0YjAwNmJiNGU4ZWEwYjA0YTkwNjQ4
ZGRkZjJiZjU2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
U2hhZG93Qmx1ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRv
d0JsdXIuaApAQCAtMTA3LDkgKzEwNywxMSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBkcmF3SW5z
ZXRTaGFkb3dXaXRob3V0VGlsaW5nKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYsIGNvbnN0IEZsb2F0
UmVjdCYgZnVsbFJlY3QsIGNvbnN0IEZsb2F0Um91bmRlZFJlY3QmIGhvbGVSZWN0LCBjb25zdCBM
YXllckltYWdlUHJvcGVydGllcyYsIGNvbnN0IERyYXdCdWZmZXJDYWxsYmFjayYpOwogICAgIHZv
aWQgZHJhd0luc2V0U2hhZG93V2l0aFRpbGluZyhjb25zdCBBZmZpbmVUcmFuc2Zvcm0mLCBjb25z
dCBGbG9hdFJlY3QmIGZ1bGxSZWN0LCBjb25zdCBGbG9hdFJvdW5kZWRSZWN0JiBob2xlUmVjdCwg
Y29uc3QgSW50U2l6ZSYgc2hhZG93VGVtcGxhdGVTaXplLCBjb25zdCBJbnRTaXplJiBibHVycmVk
RWRnZVNpemUsIGNvbnN0IERyYXdJbWFnZUNhbGxiYWNrJiwgY29uc3QgRmlsbFJlY3RXaXRoSG9s
ZUNhbGxiYWNrJik7CisgICAgdm9pZCBkcmF3SW5zZXRTaGFkb3dXaXRoVGlsaW5nV2l0aExheWVy
SW1hZ2VCdWZmZXIoSW1hZ2VCdWZmZXImIGxheWVySW1hZ2UsIGNvbnN0IEFmZmluZVRyYW5zZm9y
bSYsIGNvbnN0IEZsb2F0UmVjdCYgZnVsbFJlY3QsIGNvbnN0IEZsb2F0Um91bmRlZFJlY3QmIGhv
bGVSZWN0LCBjb25zdCBJbnRTaXplJiBzaGFkb3dUZW1wbGF0ZVNpemUsIGNvbnN0IEludFNpemUm
IGJsdXJyZWRFZGdlU2l6ZSwgY29uc3QgRHJhd0ltYWdlQ2FsbGJhY2smLCBjb25zdCBGaWxsUmVj
dFdpdGhIb2xlQ2FsbGJhY2smLCBjb25zdCBGbG9hdFJlY3QmIHRlbXBsYXRlQm91bmRzLCBjb25z
dCBGbG9hdFJlY3QmIHRlbXBsYXRlSG9sZSwgYm9vbCByZWRyYXdOZWVkZWQgPSB0cnVlKTsKIAog
ICAgIHZvaWQgZHJhd1JlY3RTaGFkb3dXaXRob3V0VGlsaW5nKGNvbnN0IEFmZmluZVRyYW5zZm9y
bSYsIGNvbnN0IEZsb2F0Um91bmRlZFJlY3QmIHNoYWRvd2VkUmVjdCwgY29uc3QgTGF5ZXJJbWFn
ZVByb3BlcnRpZXMmLCBjb25zdCBEcmF3QnVmZmVyQ2FsbGJhY2smKTsKICAgICB2b2lkIGRyYXdS
ZWN0U2hhZG93V2l0aFRpbGluZyhjb25zdCBBZmZpbmVUcmFuc2Zvcm0mLCBjb25zdCBGbG9hdFJv
dW5kZWRSZWN0JiBzaGFkb3dlZFJlY3QsIGNvbnN0IEludFNpemUmIHNoYWRvd1RlbXBsYXRlU2l6
ZSwgY29uc3QgSW50U2l6ZSYgYmx1cnJlZEVkZ2VTaXplLCBjb25zdCBEcmF3SW1hZ2VDYWxsYmFj
ayYsIGNvbnN0IEZpbGxSZWN0Q2FsbGJhY2smLCBjb25zdCBMYXllckltYWdlUHJvcGVydGllcyYp
OworICAgIHZvaWQgZHJhd1JlY3RTaGFkb3dXaXRoVGlsaW5nV2l0aExheWVySW1hZ2VCdWZmZXIo
SW1hZ2VCdWZmZXImIGxheWVySW1hZ2UsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYsIGNvbnN0IEZs
b2F0Um91bmRlZFJlY3QmIHNoYWRvd2VkUmVjdCwgY29uc3QgSW50U2l6ZSYgdGVtcGxhdGVTaXpl
LCBjb25zdCBJbnRTaXplJiBlZGdlU2l6ZSwgY29uc3QgRHJhd0ltYWdlQ2FsbGJhY2smLCBjb25z
dCBGaWxsUmVjdENhbGxiYWNrJiwgY29uc3QgRmxvYXRSZWN0JiB0ZW1wbGF0ZVNoYWRvdywgYm9v
bCByZWRyYXdOZWVkZWQgPSB0cnVlKTsKIAogICAgIHZvaWQgZHJhd0xheWVyUGllY2VzQW5kRmls
bENlbnRlcihJbWFnZUJ1ZmZlciYgbGF5ZXJJbWFnZSwgY29uc3QgRmxvYXRSZWN0JiBzaGFkb3dC
b3VuZHMsIGNvbnN0IEZsb2F0Um91bmRlZFJlY3Q6OlJhZGlpJiwgY29uc3QgSW50U2l6ZSYgcm91
bmRlZFJhZGl1cywgY29uc3QgSW50U2l6ZSYgdGVtcGxhdGVTaXplLCBjb25zdCBEcmF3SW1hZ2VD
YWxsYmFjayYsIGNvbnN0IEZpbGxSZWN0Q2FsbGJhY2smKTsKICAgICB2b2lkIGRyYXdMYXllclBp
ZWNlcyhJbWFnZUJ1ZmZlciYgbGF5ZXJJbWFnZSwgY29uc3QgRmxvYXRSZWN0JiBzaGFkb3dCb3Vu
ZHMsIGNvbnN0IEZsb2F0Um91bmRlZFJlY3Q6OlJhZGlpJiwgY29uc3QgSW50U2l6ZSYgcm91bmRl
ZFJhZGl1cywgY29uc3QgSW50U2l6ZSYgdGVtcGxhdGVTaXplLCBjb25zdCBEcmF3SW1hZ2VDYWxs
YmFjayYpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429553</attachid>
            <date>2021-05-24 12:35:39 -0700</date>
            <delta_ts>2021-05-24 14:05:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226183-20210524123538.patch</filename>
            <type>text/plain</type>
            <size>15271</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3OTYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTlkY2YzZWE4YWNhNzVi
MjJhNDRhZjczNzQ4MjcwNDBiMGU2YjQ2ZC4uMWVjOGVhZGE1NzM1YzE4ZGY3OGE0MTQ1NmYyZjE4
MmZjNWY3NWFlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIxLTA1LTI0ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgU3RvcCB1c2luZyBVbmNoZWNr
ZWRMb2NrIGluIFNoYWRvd0JsdXIncyBTY3JhdGNoQnVmZmVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYxODMKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTdG9wIHVzaW5nIFVuY2hlY2tlZExvY2sgaW4g
U2hhZG93Qmx1cidzIFNjcmF0Y2hCdWZmZXIgdG8gYmVuZWZpdCBmcm9tIENsYW5nCisgICAgICAg
IFRocmVhZCBTYWZldHkgQW5hbHlzaXMuIE5vdGUgdGhhdCBJIGhhZCB0byBmYWN0b3IgdGhlIGNv
ZGUgYSBiaXQgZGlmZmVyZW50bHkKKyAgICAgICAgYmVjYXVzZSBhbmFseXNpcyBkb2Vzbid0IHN1
cHBvcnQgY29uZGl0aW9uYWxseSBoZWxkIGxvY2tzLiBJIGNvdWxkIGhhdmUgYWxzbworICAgICAg
ICB1c2VkIFdURl9JR05PUkVTX1RIUkVBRF9TQUZFVFlfQU5BTFlTSVMgYnV0IEkgdGhpbmsgaXQg
aXMgYmV0dGVyIHRvIGZhY3RvcgorICAgICAgICB0aGUgY29kZSBzbyB0aGF0IHdlIGRvIGdldCB0
aGUgdmFsaWRhdGlvbi4KKworICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2NyYXRjaEJ1ZmZlcjo6V1RGX1JFUVVJUkVTX0xPQ0sp
OgorICAgICAgICAoV2ViQ29yZTo6U2NyYXRjaEJ1ZmZlcjo6V1RGX1JFVFVSTlNfTE9DSyk6Cisg
ICAgICAgIChXZWJDb3JlOjpTaGFkb3dCbHVyOjpkcmF3UmVjdFNoYWRvd1dpdGhUaWxpbmcpOgor
ICAgICAgICAoV2ViQ29yZTo6U2hhZG93Qmx1cjo6ZHJhd1JlY3RTaGFkb3dXaXRoVGlsaW5nV2l0
aExheWVySW1hZ2VCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Qmx1cjo6ZHJhd0lu
c2V0U2hhZG93V2l0aFRpbGluZyk6CisgICAgICAgIChXZWJDb3JlOjpTaGFkb3dCbHVyOjpkcmF3
SW5zZXRTaGFkb3dXaXRoVGlsaW5nV2l0aExheWVySW1hZ2VCdWZmZXIpOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuaDoKKwogMjAyMS0wNS0yNCAgQ29tbWl0IFF1ZXVl
ICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0
aW5nIHIyNzc5NDAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9TaGFkb3dCbHVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRv
d0JsdXIuY3BwCmluZGV4IDFkZjgyMDQwZGYxMTVlY2FjNTk2YzIzMWNmMmZkMWViN2I4YTEyMDgu
LjhhMzU1MmZlODlmMjg1NDA5ZjI1NDU4NDkxM2Q1ZTZmMWVjZWIwMTMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCkBAIC02Nyw3ICs2Nyw3
IEBAIHB1YmxpYzoKICAgICB7CiAgICAgfQogCi0gICAgUmVmUHRyPEltYWdlQnVmZmVyPiBnZXRT
Y3JhdGNoQnVmZmVyKGNvbnN0IEludFNpemUmIHNpemUpCisgICAgUmVmUHRyPEltYWdlQnVmZmVy
PiBnZXRTY3JhdGNoQnVmZmVyKGNvbnN0IEludFNpemUmIHNpemUpIFdURl9SRVFVSVJFU19MT0NL
KGxvY2soKSkKICAgICB7CiAgICAgICAgIEFTU0VSVChsb2NrKCkuaXNIZWxkKCkpOwogICAgICAg
ICBhdXRvIHJlbGVhc2VMYXllckltYWdlID0gbWFrZVNjb3BlRXhpdChbdGhpc10gewpAQCAtODks
NyArODksNyBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBtX2ltYWdlQnVmZmVyOwogICAgIH0K
IAotICAgIGJvb2wgc2V0Q2FjaGVkU2hhZG93VmFsdWVzKGNvbnN0IEZsb2F0U2l6ZSYgcmFkaXVz
LCBjb25zdCBDb2xvciYgY29sb3IsIGNvbnN0IEZsb2F0UmVjdCYgc2hhZG93UmVjdCwgY29uc3Qg
RmxvYXRSb3VuZGVkUmVjdDo6UmFkaWkmIHJhZGlpLCBjb25zdCBGbG9hdFNpemUmIGxheWVyU2l6
ZSkKKyAgICBib29sIHNldENhY2hlZFNoYWRvd1ZhbHVlcyhjb25zdCBGbG9hdFNpemUmIHJhZGl1
cywgY29uc3QgQ29sb3ImIGNvbG9yLCBjb25zdCBGbG9hdFJlY3QmIHNoYWRvd1JlY3QsIGNvbnN0
IEZsb2F0Um91bmRlZFJlY3Q6OlJhZGlpJiByYWRpaSwgY29uc3QgRmxvYXRTaXplJiBsYXllclNp
emUpIFdURl9SRVFVSVJFU19MT0NLKGxvY2soKSkKICAgICB7CiAgICAgICAgIEFTU0VSVChsb2Nr
KCkuaXNIZWxkKCkpOwogICAgICAgICBpZiAoIW1fbGFzdFdhc0luc2V0ICYmIG1fbGFzdFJhZGl1
cyA9PSByYWRpdXMgJiYgbV9sYXN0Q29sb3IgPT0gY29sb3IgJiYgbV9sYXN0U2hhZG93UmVjdCA9
PSBzaGFkb3dSZWN0ICYmICBtX2xhc3RSYWRpaSA9PSByYWRpaSAmJiBtX2xhc3RMYXllclNpemUg
PT0gbGF5ZXJTaXplKQpAQCAtMTA1LDcgKzEwNSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfQogCi0gICAgYm9vbCBzZXRDYWNoZWRJbnNldFNoYWRvd1ZhbHVlcyhjb25z
dCBGbG9hdFNpemUmIHJhZGl1cywgY29uc3QgQ29sb3ImIGNvbG9yLCBjb25zdCBGbG9hdFJlY3Qm
IGJvdW5kcywgY29uc3QgRmxvYXRSZWN0JiBzaGFkb3dSZWN0LCBjb25zdCBGbG9hdFJvdW5kZWRS
ZWN0OjpSYWRpaSYgcmFkaWkpCisgICAgYm9vbCBzZXRDYWNoZWRJbnNldFNoYWRvd1ZhbHVlcyhj
b25zdCBGbG9hdFNpemUmIHJhZGl1cywgY29uc3QgQ29sb3ImIGNvbG9yLCBjb25zdCBGbG9hdFJl
Y3QmIGJvdW5kcywgY29uc3QgRmxvYXRSZWN0JiBzaGFkb3dSZWN0LCBjb25zdCBGbG9hdFJvdW5k
ZWRSZWN0OjpSYWRpaSYgcmFkaWkpIFdURl9SRVFVSVJFU19MT0NLKGxvY2soKSkKICAgICB7CiAg
ICAgICAgIEFTU0VSVChsb2NrKCkuaXNIZWxkKCkpOwogICAgICAgICBpZiAobV9sYXN0V2FzSW5z
ZXQgJiYgbV9sYXN0UmFkaXVzID09IHJhZGl1cyAmJiBtX2xhc3RDb2xvciA9PSBjb2xvciAmJiBt
X2xhc3RJbnNldEJvdW5kcyA9PSBib3VuZHMgJiYgc2hhZG93UmVjdCA9PSBtX2xhc3RTaGFkb3dS
ZWN0ICYmIHJhZGlpID09IG1fbGFzdFJhZGlpKQpAQCAtMTIxLDggKzEyMSw4IEBAIHB1YmxpYzoK
ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogCi0gICAgc3RhdGljIFNjcmF0Y2hCdWZmZXIm
IHNpbmdsZXRvbigpOwotICAgIHN0YXRpYyBVbmNoZWNrZWRMb2NrJiBsb2NrKCk7CisgICAgc3Rh
dGljIFNjcmF0Y2hCdWZmZXImIHNpbmdsZXRvbigpIFdURl9SRVFVSVJFU19MT0NLKGxvY2soKSk7
CisgICAgc3RhdGljIExvY2smIGxvY2soKSBXVEZfUkVUVVJOU19MT0NLKHNfbG9jaykgeyByZXR1
cm4gc19sb2NrOyB9CiAKIHByaXZhdGU6CiAgICAgdm9pZCBzY2hlZHVsZVNjcmF0Y2hCdWZmZXJQ
dXJnZSgpCkBAIC0xNDEsNyArMTQxLDcgQEAgcHJpdmF0ZToKICAgICAgICAgfQogICAgIH0KIAot
ICAgIHZvaWQgY2xlYXJTY3JhdGNoQnVmZmVyKCkKKyAgICB2b2lkIGNsZWFyU2NyYXRjaEJ1ZmZl
cigpIFdURl9SRVFVSVJFU19MT0NLKGxvY2soKSkKICAgICB7CiAgICAgICAgIEFTU0VSVChsb2Nr
KCkuaXNIZWxkKCkpOwogICAgICAgICBtX2ltYWdlQnVmZmVyID0gbnVsbHB0cjsKQEAgLTE0OSw2
ICsxNDksOCBAQCBwcml2YXRlOgogICAgICAgICBtX2xhc3RMYXllclNpemUgPSBGbG9hdFNpemUo
KTsKICAgICB9CiAKKyAgICBzdGF0aWMgTG9jayBzX2xvY2s7CisKICAgICBSZWZQdHI8SW1hZ2VC
dWZmZXI+IG1faW1hZ2VCdWZmZXI7CiAgICAgUnVuTG9vcDo6VGltZXI8U2NyYXRjaEJ1ZmZlcj4g
bV9wdXJnZVRpbWVyOwogCkBAIC0xNjEsNiArMTYzLDggQEAgcHJpdmF0ZToKICAgICBGbG9hdFNp
emUgbV9sYXN0TGF5ZXJTaXplOwogfTsKIAorTG9jayBTY3JhdGNoQnVmZmVyOjpzX2xvY2s7CisK
IFNjcmF0Y2hCdWZmZXImIFNjcmF0Y2hCdWZmZXI6OnNpbmdsZXRvbigpCiB7CiAgICAgQVNTRVJU
KGxvY2soKS5pc0hlbGQoKSk7CkBAIC0xNjgsMTIgKzE3Miw2IEBAIFNjcmF0Y2hCdWZmZXImIFNj
cmF0Y2hCdWZmZXI6OnNpbmdsZXRvbigpCiAgICAgcmV0dXJuIHNjcmF0Y2hCdWZmZXI7CiB9CiAK
LVVuY2hlY2tlZExvY2smIFNjcmF0Y2hCdWZmZXI6OmxvY2soKQotewotICAgIHN0YXRpYyBVbmNo
ZWNrZWRMb2NrIGxvY2s7Ci0gICAgcmV0dXJuIGxvY2s7Ci19Ci0KIHN0YXRpYyBmbG9hdCByYWRp
dXNUb0xlZ2FjeVJhZGl1cyhmbG9hdCByYWRpdXMpCiB7CiAgICAgcmV0dXJuIHJhZGl1cyA+IDgg
PyA4ICsgNCAqIHNxcnQoKHJhZGl1cyAtIDgpIC8gMikgOiByYWRpdXM7CkBAIC02OTQsMzcgKzY5
MiwzMSBAQCB2b2lkIFNoYWRvd0JsdXI6OmRyYXdJbnNldFNoYWRvd1dpdGhvdXRUaWxpbmcoY29u
c3QgQWZmaW5lVHJhbnNmb3JtJiwgY29uc3QgRmxvYQogCiB2b2lkIFNoYWRvd0JsdXI6OmRyYXdS
ZWN0U2hhZG93V2l0aFRpbGluZyhjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHRyYW5zZm9ybSwgY29u
c3QgRmxvYXRSb3VuZGVkUmVjdCYgc2hhZG93ZWRSZWN0LCBjb25zdCBJbnRTaXplJiB0ZW1wbGF0
ZVNpemUsIGNvbnN0IEludFNpemUmIGVkZ2VTaXplLCBjb25zdCBEcmF3SW1hZ2VDYWxsYmFjayYg
ZHJhd0ltYWdlLCBjb25zdCBGaWxsUmVjdENhbGxiYWNrJiBmaWxsUmVjdCwgY29uc3QgTGF5ZXJJ
bWFnZVByb3BlcnRpZXMmIGxheWVySW1hZ2VQcm9wZXJ0aWVzKQogewotICAgIFJlZlB0cjxJbWFn
ZUJ1ZmZlcj4gbGF5ZXJJbWFnZUJ1ZmZlcjsKKyAgICBGbG9hdFJlY3QgdGVtcGxhdGVTaGFkb3cg
PSBGbG9hdFJlY3QoZWRnZVNpemUud2lkdGgoKSwgZWRnZVNpemUuaGVpZ2h0KCksIHRlbXBsYXRl
U2l6ZS53aWR0aCgpIC0gMiAqIGVkZ2VTaXplLndpZHRoKCksIHRlbXBsYXRlU2l6ZS5oZWlnaHQo
KSAtIDIgKiBlZGdlU2l6ZS5oZWlnaHQoKSk7CisKICNpZiBVU0UoQ0cpCi0gICAgYXV0byBsb2Nr
ZXIgPSBMb2NrZXI8VW5jaGVja2VkTG9jaz46OnRyeUxvY2soU2NyYXRjaEJ1ZmZlcjo6bG9jaygp
KTsKLSAgICBpZiAobG9ja2VyKSB7Ci0gICAgICAgIGxheWVySW1hZ2VCdWZmZXIgPSBTY3JhdGNo
QnVmZmVyOjpzaW5nbGV0b24oKS5nZXRTY3JhdGNoQnVmZmVyKHRlbXBsYXRlU2l6ZSk7CisgICAg
aWYgKFNjcmF0Y2hCdWZmZXI6OmxvY2soKS50cnlMb2NrKCkpIHsKKyAgICAgICAgTG9ja2VyIGxv
Y2tlciB7IEFkb3B0TG9jaywgU2NyYXRjaEJ1ZmZlcjo6bG9jaygpIH07CisgICAgICAgIGF1dG8g
bGF5ZXJJbWFnZUJ1ZmZlciA9IFNjcmF0Y2hCdWZmZXI6OnNpbmdsZXRvbigpLmdldFNjcmF0Y2hC
dWZmZXIodGVtcGxhdGVTaXplKTsKICAgICAgICAgaWYgKCFsYXllckltYWdlQnVmZmVyKQogICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICBib29sIHJlZHJhd05lZWRlZCA9IFNjcmF0Y2hCdWZm
ZXI6OnNpbmdsZXRvbigpLnNldENhY2hlZFNoYWRvd1ZhbHVlcyhtX2JsdXJSYWRpdXMsIG1fY29s
b3IsIHRlbXBsYXRlU2hhZG93LCBzaGFkb3dlZFJlY3QucmFkaWkoKSwgbGF5ZXJJbWFnZVByb3Bl
cnRpZXMubGF5ZXJTaXplKTsKKyAgICAgICAgZHJhd1JlY3RTaGFkb3dXaXRoVGlsaW5nV2l0aExh
eWVySW1hZ2VCdWZmZXIoKmxheWVySW1hZ2VCdWZmZXIsIHRyYW5zZm9ybSwgc2hhZG93ZWRSZWN0
LCB0ZW1wbGF0ZVNpemUsIGVkZ2VTaXplLCBkcmF3SW1hZ2UsIGZpbGxSZWN0LCB0ZW1wbGF0ZVNo
YWRvdywgcmVkcmF3TmVlZGVkKTsKKyAgICAgICAgcmV0dXJuOwogICAgIH0KICNlbHNlCiAgICAg
VU5VU0VEX1BBUkFNKGxheWVySW1hZ2VQcm9wZXJ0aWVzKTsKICNlbmRpZgogCi0gICAgaWYgKCFs
YXllckltYWdlQnVmZmVyKSB7Ci0gICAgICAgIGxheWVySW1hZ2VCdWZmZXIgPSBJbWFnZUJ1ZmZl
cjo6Y3JlYXRlKHRlbXBsYXRlU2l6ZSwgUmVuZGVyaW5nTW9kZTo6VW5hY2NlbGVyYXRlZCwgMSwg
RGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCLCBQaXhlbEZvcm1hdDo6QkdSQTgpOwotICAgICAg
ICBpZiAoIWxheWVySW1hZ2VCdWZmZXIpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgfQotICAg
IGF1dG8qIGxheWVySW1hZ2UgPSBsYXllckltYWdlQnVmZmVyLmdldCgpOwotCi0gICAgRmxvYXRS
ZWN0IHRlbXBsYXRlU2hhZG93ID0gRmxvYXRSZWN0KGVkZ2VTaXplLndpZHRoKCksIGVkZ2VTaXpl
LmhlaWdodCgpLCB0ZW1wbGF0ZVNpemUud2lkdGgoKSAtIDIgKiBlZGdlU2l6ZS53aWR0aCgpLCB0
ZW1wbGF0ZVNpemUuaGVpZ2h0KCkgLSAyICogZWRnZVNpemUuaGVpZ2h0KCkpOwotCi0gICAgYm9v
bCByZWRyYXdOZWVkZWQgPSB0cnVlOwotI2lmIFVTRShDRykKLSAgICAvLyBPbmx5IHJlZHJhdyBp
biB0aGUgc2NyYXRjaCBidWZmZXIgaWYgaXRzIGNhY2hlZCBjb250ZW50cyBkb24ndCBtYXRjaCBv
dXIgbmVlZHMKLSAgICBpZiAobG9ja2VyKQotICAgICAgICByZWRyYXdOZWVkZWQgPSBTY3JhdGNo
QnVmZmVyOjpzaW5nbGV0b24oKS5zZXRDYWNoZWRTaGFkb3dWYWx1ZXMobV9ibHVyUmFkaXVzLCBt
X2NvbG9yLCB0ZW1wbGF0ZVNoYWRvdywgc2hhZG93ZWRSZWN0LnJhZGlpKCksIGxheWVySW1hZ2VQ
cm9wZXJ0aWVzLmxheWVyU2l6ZSk7Ci0jZW5kaWYKKyAgICBpZiAoYXV0byBsYXllckltYWdlQnVm
ZmVyID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZSh0ZW1wbGF0ZVNpemUsIFJlbmRlcmluZ01vZGU6OlVu
YWNjZWxlcmF0ZWQsIDEsIERlc3RpbmF0aW9uQ29sb3JTcGFjZTo6U1JHQiwgUGl4ZWxGb3JtYXQ6
OkJHUkE4KSkKKyAgICAgICAgZHJhd1JlY3RTaGFkb3dXaXRoVGlsaW5nV2l0aExheWVySW1hZ2VC
dWZmZXIoKmxheWVySW1hZ2VCdWZmZXIsIHRyYW5zZm9ybSwgc2hhZG93ZWRSZWN0LCB0ZW1wbGF0
ZVNpemUsIGVkZ2VTaXplLCBkcmF3SW1hZ2UsIGZpbGxSZWN0LCB0ZW1wbGF0ZVNoYWRvdyk7Cit9
CiAKK3ZvaWQgU2hhZG93Qmx1cjo6ZHJhd1JlY3RTaGFkb3dXaXRoVGlsaW5nV2l0aExheWVySW1h
Z2VCdWZmZXIoSW1hZ2VCdWZmZXImIGxheWVySW1hZ2UsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYg
dHJhbnNmb3JtLCBjb25zdCBGbG9hdFJvdW5kZWRSZWN0JiBzaGFkb3dlZFJlY3QsIGNvbnN0IElu
dFNpemUmIHRlbXBsYXRlU2l6ZSwgY29uc3QgSW50U2l6ZSYgZWRnZVNpemUsIGNvbnN0IERyYXdJ
bWFnZUNhbGxiYWNrJiBkcmF3SW1hZ2UsIGNvbnN0IEZpbGxSZWN0Q2FsbGJhY2smIGZpbGxSZWN0
LCBjb25zdCBGbG9hdFJlY3QmIHRlbXBsYXRlU2hhZG93LCBib29sIHJlZHJhd05lZWRlZCkKK3sK
ICAgICBpZiAocmVkcmF3TmVlZGVkKSB7CiAgICAgICAgIC8vIERyYXcgc2hhZG93IGludG8gdGhl
IEltYWdlQnVmZmVyLgotICAgICAgICBHcmFwaGljc0NvbnRleHQmIHNoYWRvd0NvbnRleHQgPSBs
YXllckltYWdlLT5jb250ZXh0KCk7CisgICAgICAgIEdyYXBoaWNzQ29udGV4dCYgc2hhZG93Q29u
dGV4dCA9IGxheWVySW1hZ2UuY29udGV4dCgpOwogICAgICAgICBHcmFwaGljc0NvbnRleHRTdGF0
ZVNhdmVyIHNoYWRvd1N0YXRlU2F2ZXIoc2hhZG93Q29udGV4dCk7CiAKICAgICAgICAgc2hhZG93
Q29udGV4dC5jbGVhclJlY3QoRmxvYXRSZWN0KDAsIDAsIHRlbXBsYXRlU2l6ZS53aWR0aCgpLCB0
ZW1wbGF0ZVNpemUuaGVpZ2h0KCkpKTsKQEAgLTczNyw3ICs3MjksNyBAQCB2b2lkIFNoYWRvd0Js
dXI6OmRyYXdSZWN0U2hhZG93V2l0aFRpbGluZyhjb25zdCBBZmZpbmVUcmFuc2Zvcm0mIHRyYW5z
Zm9ybSwgY29ucwogICAgICAgICAgICAgcGF0aC5hZGRSb3VuZGVkUmVjdChGbG9hdFJvdW5kZWRS
ZWN0KHRlbXBsYXRlU2hhZG93LCBzaGFkb3dlZFJlY3QucmFkaWkoKSkpOwogICAgICAgICAgICAg
c2hhZG93Q29udGV4dC5maWxsUGF0aChwYXRoKTsKICAgICAgICAgfQotICAgICAgICBibHVyQW5k
Q29sb3JTaGFkb3dCdWZmZXIoKmxheWVySW1hZ2UsIHRlbXBsYXRlU2l6ZSk7CisgICAgICAgIGJs
dXJBbmRDb2xvclNoYWRvd0J1ZmZlcihsYXllckltYWdlLCB0ZW1wbGF0ZVNpemUpOwogICAgIH0K
IAogICAgIEZsb2F0U2l6ZSBvZmZzZXQgPSBtX29mZnNldDsKQEAgLTc0OSw0MiArNzQxLDM2IEBA
IHZvaWQgU2hhZG93Qmx1cjo6ZHJhd1JlY3RTaGFkb3dXaXRoVGlsaW5nKGNvbnN0IEFmZmluZVRy
YW5zZm9ybSYgdHJhbnNmb3JtLCBjb25zCiAgICAgc2hhZG93Qm91bmRzLmluZmxhdGVYKGVkZ2VT
aXplLndpZHRoKCkpOwogICAgIHNoYWRvd0JvdW5kcy5pbmZsYXRlWShlZGdlU2l6ZS5oZWlnaHQo
KSk7CiAKLSAgICBkcmF3TGF5ZXJQaWVjZXNBbmRGaWxsQ2VudGVyKCpsYXllckltYWdlLCBzaGFk
b3dCb3VuZHMsIHNoYWRvd2VkUmVjdC5yYWRpaSgpLCBlZGdlU2l6ZSwgdGVtcGxhdGVTaXplLCBk
cmF3SW1hZ2UsIGZpbGxSZWN0KTsKKyAgICBkcmF3TGF5ZXJQaWVjZXNBbmRGaWxsQ2VudGVyKGxh
eWVySW1hZ2UsIHNoYWRvd0JvdW5kcywgc2hhZG93ZWRSZWN0LnJhZGlpKCksIGVkZ2VTaXplLCB0
ZW1wbGF0ZVNpemUsIGRyYXdJbWFnZSwgZmlsbFJlY3QpOwogfQogCiB2b2lkIFNoYWRvd0JsdXI6
OmRyYXdJbnNldFNoYWRvd1dpdGhUaWxpbmcoY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB0cmFuc2Zv
cm0sIGNvbnN0IEZsb2F0UmVjdCYgZnVsbFJlY3QsIGNvbnN0IEZsb2F0Um91bmRlZFJlY3QmIGhv
bGVSZWN0LCBjb25zdCBJbnRTaXplJiB0ZW1wbGF0ZVNpemUsIGNvbnN0IEludFNpemUmIGVkZ2VT
aXplLCBjb25zdCBEcmF3SW1hZ2VDYWxsYmFjayYgZHJhd0ltYWdlLCBjb25zdCBGaWxsUmVjdFdp
dGhIb2xlQ2FsbGJhY2smIGZpbGxSZWN0V2l0aEhvbGUpCiB7Ci0gICAgUmVmUHRyPEltYWdlQnVm
ZmVyPiBsYXllckltYWdlQnVmZmVyOwotI2lmIFVTRShDRykKLSAgICBhdXRvIGxvY2tlciA9IExv
Y2tlcjxVbmNoZWNrZWRMb2NrPjo6dHJ5TG9jayhTY3JhdGNoQnVmZmVyOjpsb2NrKCkpOwotICAg
IGlmIChsb2NrZXIpIHsKLSAgICAgICAgbGF5ZXJJbWFnZUJ1ZmZlciA9IFNjcmF0Y2hCdWZmZXI6
OnNpbmdsZXRvbigpLmdldFNjcmF0Y2hCdWZmZXIodGVtcGxhdGVTaXplKTsKLSAgICAgICAgaWYg
KCFsYXllckltYWdlQnVmZmVyKQotICAgICAgICAgICAgcmV0dXJuOwotICAgIH0KLSNlbmRpZgot
Ci0gICAgaWYgKCFsYXllckltYWdlQnVmZmVyKSB7Ci0gICAgICAgIGxheWVySW1hZ2VCdWZmZXIg
PSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKHRlbXBsYXRlU2l6ZSwgUmVuZGVyaW5nTW9kZTo6VW5hY2Nl
bGVyYXRlZCwgMSwgRGVzdGluYXRpb25Db2xvclNwYWNlOjpTUkdCLCBQaXhlbEZvcm1hdDo6QkdS
QTgpOwotICAgICAgICBpZiAoIWxheWVySW1hZ2VCdWZmZXIpCi0gICAgICAgICAgICByZXR1cm47
Ci0gICAgfQotICAgIGF1dG8qIGxheWVySW1hZ2UgPSBsYXllckltYWdlQnVmZmVyLmdldCgpOwot
CiAgICAgLy8gRHJhdyB0aGUgcmVjdGFuZ2xlIHdpdGggaG9sZS4KICAgICBGbG9hdFJlY3QgdGVt
cGxhdGVCb3VuZHMoMCwgMCwgdGVtcGxhdGVTaXplLndpZHRoKCksIHRlbXBsYXRlU2l6ZS5oZWln
aHQoKSk7CiAgICAgRmxvYXRSZWN0IHRlbXBsYXRlSG9sZSA9IEZsb2F0UmVjdChlZGdlU2l6ZS53
aWR0aCgpLCBlZGdlU2l6ZS5oZWlnaHQoKSwgdGVtcGxhdGVTaXplLndpZHRoKCkgLSAyICogZWRn
ZVNpemUud2lkdGgoKSwgdGVtcGxhdGVTaXplLmhlaWdodCgpIC0gMiAqIGVkZ2VTaXplLmhlaWdo
dCgpKTsKIAotICAgIGJvb2wgcmVkcmF3TmVlZGVkID0gdHJ1ZTsKICNpZiBVU0UoQ0cpCi0gICAg
Ly8gT25seSByZWRyYXcgaW4gdGhlIHNjcmF0Y2ggYnVmZmVyIGlmIGl0cyBjYWNoZWQgY29udGVu
dHMgZG9uJ3QgbWF0Y2ggb3VyIG5lZWRzCi0gICAgaWYgKGxvY2tlcikKLSAgICAgICAgcmVkcmF3
TmVlZGVkID0gU2NyYXRjaEJ1ZmZlcjo6c2luZ2xldG9uKCkuc2V0Q2FjaGVkSW5zZXRTaGFkb3dW
YWx1ZXMobV9ibHVyUmFkaXVzLCBtX2NvbG9yLCB0ZW1wbGF0ZUJvdW5kcywgdGVtcGxhdGVIb2xl
LCBob2xlUmVjdC5yYWRpaSgpKTsKKyAgICBpZiAoU2NyYXRjaEJ1ZmZlcjo6bG9jaygpLnRyeUxv
Y2soKSkgeworICAgICAgICBMb2NrZXIgbG9ja2VyIHsgQWRvcHRMb2NrLCBTY3JhdGNoQnVmZmVy
Ojpsb2NrKCkgfTsKKyAgICAgICAgYXV0byBsYXllckltYWdlQnVmZmVyID0gU2NyYXRjaEJ1ZmZl
cjo6c2luZ2xldG9uKCkuZ2V0U2NyYXRjaEJ1ZmZlcih0ZW1wbGF0ZVNpemUpOworICAgICAgICBp
ZiAoIWxheWVySW1hZ2VCdWZmZXIpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGJvb2wg
cmVkcmF3TmVlZGVkID0gU2NyYXRjaEJ1ZmZlcjo6c2luZ2xldG9uKCkuc2V0Q2FjaGVkSW5zZXRT
aGFkb3dWYWx1ZXMobV9ibHVyUmFkaXVzLCBtX2NvbG9yLCB0ZW1wbGF0ZUJvdW5kcywgdGVtcGxh
dGVIb2xlLCBob2xlUmVjdC5yYWRpaSgpKTsKKyAgICAgICAgZHJhd0luc2V0U2hhZG93V2l0aFRp
bGluZ1dpdGhMYXllckltYWdlQnVmZmVyKCpsYXllckltYWdlQnVmZmVyLCB0cmFuc2Zvcm0sIGZ1
bGxSZWN0LCBob2xlUmVjdCwgdGVtcGxhdGVTaXplLCBlZGdlU2l6ZSwgZHJhd0ltYWdlLCBmaWxs
UmVjdFdpdGhIb2xlLCB0ZW1wbGF0ZUJvdW5kcywgdGVtcGxhdGVIb2xlLCByZWRyYXdOZWVkZWQp
OworICAgICAgICByZXR1cm47CisgICAgfQogI2VuZGlmCiAKKyAgICBpZiAoYXV0byBsYXllcklt
YWdlQnVmZmVyID0gSW1hZ2VCdWZmZXI6OmNyZWF0ZSh0ZW1wbGF0ZVNpemUsIFJlbmRlcmluZ01v
ZGU6OlVuYWNjZWxlcmF0ZWQsIDEsIERlc3RpbmF0aW9uQ29sb3JTcGFjZTo6U1JHQiwgUGl4ZWxG
b3JtYXQ6OkJHUkE4KSkKKyAgICAgICAgZHJhd0luc2V0U2hhZG93V2l0aFRpbGluZ1dpdGhMYXll
ckltYWdlQnVmZmVyKCpsYXllckltYWdlQnVmZmVyLCB0cmFuc2Zvcm0sIGZ1bGxSZWN0LCBob2xl
UmVjdCwgdGVtcGxhdGVTaXplLCBlZGdlU2l6ZSwgZHJhd0ltYWdlLCBmaWxsUmVjdFdpdGhIb2xl
LCB0ZW1wbGF0ZUJvdW5kcywgdGVtcGxhdGVIb2xlKTsKK30KKwordm9pZCBTaGFkb3dCbHVyOjpk
cmF3SW5zZXRTaGFkb3dXaXRoVGlsaW5nV2l0aExheWVySW1hZ2VCdWZmZXIoSW1hZ2VCdWZmZXIm
IGxheWVySW1hZ2UsIGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdHJhbnNmb3JtLCBjb25zdCBGbG9h
dFJlY3QmIGZ1bGxSZWN0LCBjb25zdCBGbG9hdFJvdW5kZWRSZWN0JiBob2xlUmVjdCwgY29uc3Qg
SW50U2l6ZSYgdGVtcGxhdGVTaXplLCBjb25zdCBJbnRTaXplJiBlZGdlU2l6ZSwgY29uc3QgRHJh
d0ltYWdlQ2FsbGJhY2smIGRyYXdJbWFnZSwgY29uc3QgRmlsbFJlY3RXaXRoSG9sZUNhbGxiYWNr
JiBmaWxsUmVjdFdpdGhIb2xlLCBjb25zdCBGbG9hdFJlY3QmIHRlbXBsYXRlQm91bmRzLCBjb25z
dCBGbG9hdFJlY3QmIHRlbXBsYXRlSG9sZSwgYm9vbCByZWRyYXdOZWVkZWQpCit7CiAgICAgaWYg
KHJlZHJhd05lZWRlZCkgewogICAgICAgICAvLyBEcmF3IHNoYWRvdyBpbnRvIGEgbmV3IEltYWdl
QnVmZmVyLgotICAgICAgICBHcmFwaGljc0NvbnRleHQmIHNoYWRvd0NvbnRleHQgPSBsYXllcklt
YWdlLT5jb250ZXh0KCk7CisgICAgICAgIEdyYXBoaWNzQ29udGV4dCYgc2hhZG93Q29udGV4dCA9
IGxheWVySW1hZ2UuY29udGV4dCgpOwogICAgICAgICBHcmFwaGljc0NvbnRleHRTdGF0ZVNhdmVy
IHNoYWRvd1N0YXRlU2F2ZXIoc2hhZG93Q29udGV4dCk7CiAgICAgICAgIHNoYWRvd0NvbnRleHQu
Y2xlYXJSZWN0KHRlbXBsYXRlQm91bmRzKTsKICAgICAgICAgc2hhZG93Q29udGV4dC5zZXRGaWxs
UnVsZShXaW5kUnVsZTo6RXZlbk9kZCk7CkBAIC03OTksNyArNzg1LDcgQEAgdm9pZCBTaGFkb3dC
bHVyOjpkcmF3SW5zZXRTaGFkb3dXaXRoVGlsaW5nKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYgdHJh
bnNmb3JtLCBjb24KIAogICAgICAgICBzaGFkb3dDb250ZXh0LmZpbGxQYXRoKHBhdGgpOwogCi0g
ICAgICAgIGJsdXJBbmRDb2xvclNoYWRvd0J1ZmZlcigqbGF5ZXJJbWFnZSwgdGVtcGxhdGVTaXpl
KTsKKyAgICAgICAgYmx1ckFuZENvbG9yU2hhZG93QnVmZmVyKGxheWVySW1hZ2UsIHRlbXBsYXRl
U2l6ZSk7CiAgICAgfQogICAgIEZsb2F0U2l6ZSBvZmZzZXQgPSBtX29mZnNldDsKICAgICBpZiAo
c2hhZG93c0lnbm9yZVRyYW5zZm9ybXMoKSkKQEAgLTgxNyw3ICs4MDMsNyBAQCB2b2lkIFNoYWRv
d0JsdXI6OmRyYXdJbnNldFNoYWRvd1dpdGhUaWxpbmcoY29uc3QgQWZmaW5lVHJhbnNmb3JtJiB0
cmFuc2Zvcm0sIGNvbgogICAgIC8vIEZpbGwgdGhlIGV4dGVybmFsIHBhcnQgb2YgdGhlIHNoYWRv
dyAod2hpY2ggbWF5IGJlIHZpc2libGUgYmVjYXVzZSBvZiBvZmZzZXQpLgogICAgIGZpbGxSZWN0
V2l0aEhvbGUoYm91bmRpbmdSZWN0LCBkZXN0SG9sZUJvdW5kcywgbV9jb2xvcik7CiAKLSAgICBk
cmF3TGF5ZXJQaWVjZXMoKmxheWVySW1hZ2UsIGRlc3RIb2xlQm91bmRzLCBob2xlUmVjdC5yYWRp
aSgpLCBlZGdlU2l6ZSwgdGVtcGxhdGVTaXplLCBkcmF3SW1hZ2UpOworICAgIGRyYXdMYXllclBp
ZWNlcyhsYXllckltYWdlLCBkZXN0SG9sZUJvdW5kcywgaG9sZVJlY3QucmFkaWkoKSwgZWRnZVNp
emUsIHRlbXBsYXRlU2l6ZSwgZHJhd0ltYWdlKTsKIH0KIAogdm9pZCBTaGFkb3dCbHVyOjpkcmF3
TGF5ZXJQaWVjZXMoSW1hZ2VCdWZmZXImIGxheWVySW1hZ2UsIGNvbnN0IEZsb2F0UmVjdCYgc2hh
ZG93Qm91bmRzLCBjb25zdCBGbG9hdFJvdW5kZWRSZWN0OjpSYWRpaSYgcmFkaWksIGNvbnN0IElu
dFNpemUmIGJ1ZmZlclBhZGRpbmcsIGNvbnN0IEludFNpemUmIHRlbXBsYXRlU2l6ZSwgY29uc3Qg
RHJhd0ltYWdlQ2FsbGJhY2smIGRyYXdJbWFnZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL1NoYWRvd0JsdXIuaAppbmRleCA4ZGFlOTBjYmRmOTc5ZDY1NGRlZDJiNDBmMmEy
MDk5ZTc2NzE1ODgyLi44N2Y2NDZlMzRiMDA2YmI0ZThlYTBiMDRhOTA2NDhkZGRmMmJmNTY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TaGFkb3dCbHVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5oCkBAIC0x
MDcsOSArMTA3LDExIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRyYXdJbnNldFNoYWRvd1dpdGhv
dXRUaWxpbmcoY29uc3QgQWZmaW5lVHJhbnNmb3JtJiwgY29uc3QgRmxvYXRSZWN0JiBmdWxsUmVj
dCwgY29uc3QgRmxvYXRSb3VuZGVkUmVjdCYgaG9sZVJlY3QsIGNvbnN0IExheWVySW1hZ2VQcm9w
ZXJ0aWVzJiwgY29uc3QgRHJhd0J1ZmZlckNhbGxiYWNrJik7CiAgICAgdm9pZCBkcmF3SW5zZXRT
aGFkb3dXaXRoVGlsaW5nKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYsIGNvbnN0IEZsb2F0UmVjdCYg
ZnVsbFJlY3QsIGNvbnN0IEZsb2F0Um91bmRlZFJlY3QmIGhvbGVSZWN0LCBjb25zdCBJbnRTaXpl
JiBzaGFkb3dUZW1wbGF0ZVNpemUsIGNvbnN0IEludFNpemUmIGJsdXJyZWRFZGdlU2l6ZSwgY29u
c3QgRHJhd0ltYWdlQ2FsbGJhY2smLCBjb25zdCBGaWxsUmVjdFdpdGhIb2xlQ2FsbGJhY2smKTsK
KyAgICB2b2lkIGRyYXdJbnNldFNoYWRvd1dpdGhUaWxpbmdXaXRoTGF5ZXJJbWFnZUJ1ZmZlcihJ
bWFnZUJ1ZmZlciYgbGF5ZXJJbWFnZSwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiwgY29uc3QgRmxv
YXRSZWN0JiBmdWxsUmVjdCwgY29uc3QgRmxvYXRSb3VuZGVkUmVjdCYgaG9sZVJlY3QsIGNvbnN0
IEludFNpemUmIHNoYWRvd1RlbXBsYXRlU2l6ZSwgY29uc3QgSW50U2l6ZSYgYmx1cnJlZEVkZ2VT
aXplLCBjb25zdCBEcmF3SW1hZ2VDYWxsYmFjayYsIGNvbnN0IEZpbGxSZWN0V2l0aEhvbGVDYWxs
YmFjayYsIGNvbnN0IEZsb2F0UmVjdCYgdGVtcGxhdGVCb3VuZHMsIGNvbnN0IEZsb2F0UmVjdCYg
dGVtcGxhdGVIb2xlLCBib29sIHJlZHJhd05lZWRlZCA9IHRydWUpOwogCiAgICAgdm9pZCBkcmF3
UmVjdFNoYWRvd1dpdGhvdXRUaWxpbmcoY29uc3QgQWZmaW5lVHJhbnNmb3JtJiwgY29uc3QgRmxv
YXRSb3VuZGVkUmVjdCYgc2hhZG93ZWRSZWN0LCBjb25zdCBMYXllckltYWdlUHJvcGVydGllcyYs
IGNvbnN0IERyYXdCdWZmZXJDYWxsYmFjayYpOwogICAgIHZvaWQgZHJhd1JlY3RTaGFkb3dXaXRo
VGlsaW5nKGNvbnN0IEFmZmluZVRyYW5zZm9ybSYsIGNvbnN0IEZsb2F0Um91bmRlZFJlY3QmIHNo
YWRvd2VkUmVjdCwgY29uc3QgSW50U2l6ZSYgc2hhZG93VGVtcGxhdGVTaXplLCBjb25zdCBJbnRT
aXplJiBibHVycmVkRWRnZVNpemUsIGNvbnN0IERyYXdJbWFnZUNhbGxiYWNrJiwgY29uc3QgRmls
bFJlY3RDYWxsYmFjayYsIGNvbnN0IExheWVySW1hZ2VQcm9wZXJ0aWVzJik7CisgICAgdm9pZCBk
cmF3UmVjdFNoYWRvd1dpdGhUaWxpbmdXaXRoTGF5ZXJJbWFnZUJ1ZmZlcihJbWFnZUJ1ZmZlciYg
bGF5ZXJJbWFnZSwgY29uc3QgQWZmaW5lVHJhbnNmb3JtJiwgY29uc3QgRmxvYXRSb3VuZGVkUmVj
dCYgc2hhZG93ZWRSZWN0LCBjb25zdCBJbnRTaXplJiB0ZW1wbGF0ZVNpemUsIGNvbnN0IEludFNp
emUmIGVkZ2VTaXplLCBjb25zdCBEcmF3SW1hZ2VDYWxsYmFjayYsIGNvbnN0IEZpbGxSZWN0Q2Fs
bGJhY2smLCBjb25zdCBGbG9hdFJlY3QmIHRlbXBsYXRlU2hhZG93LCBib29sIHJlZHJhd05lZWRl
ZCA9IHRydWUpOwogCiAgICAgdm9pZCBkcmF3TGF5ZXJQaWVjZXNBbmRGaWxsQ2VudGVyKEltYWdl
QnVmZmVyJiBsYXllckltYWdlLCBjb25zdCBGbG9hdFJlY3QmIHNoYWRvd0JvdW5kcywgY29uc3Qg
RmxvYXRSb3VuZGVkUmVjdDo6UmFkaWkmLCBjb25zdCBJbnRTaXplJiByb3VuZGVkUmFkaXVzLCBj
b25zdCBJbnRTaXplJiB0ZW1wbGF0ZVNpemUsIGNvbnN0IERyYXdJbWFnZUNhbGxiYWNrJiwgY29u
c3QgRmlsbFJlY3RDYWxsYmFjayYpOwogICAgIHZvaWQgZHJhd0xheWVyUGllY2VzKEltYWdlQnVm
ZmVyJiBsYXllckltYWdlLCBjb25zdCBGbG9hdFJlY3QmIHNoYWRvd0JvdW5kcywgY29uc3QgRmxv
YXRSb3VuZGVkUmVjdDo6UmFkaWkmLCBjb25zdCBJbnRTaXplJiByb3VuZGVkUmFkaXVzLCBjb25z
dCBJbnRTaXplJiB0ZW1wbGF0ZVNpemUsIGNvbnN0IERyYXdJbWFnZUNhbGxiYWNrJik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>