<?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>224430</bug_id>
          
          <creation_ts>2021-04-12 05:10:44 -0700</creation_ts>
          <short_desc>Add support for RTCEncodedFrame metadata</short_desc>
          <delta_ts>2021-04-13 02:03:37 -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>WebRTC</component>
          <version>WebKit Local 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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>cdumez</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hta</cc>
    
    <cc>jer.noble</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1749185</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-12 05:10:44 -0700</bug_when>
    <thetext>Add support for RTCEncodedFrame metadata</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749186</commentid>
    <comment_count>1</comment_count>
      <attachid>425735</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-12 05:13:49 -0700</bug_when>
    <thetext>Created attachment 425735
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749192</commentid>
    <comment_count>2</comment_count>
      <attachid>425737</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-12 05:52:13 -0700</bug_when>
    <thetext>Created attachment 425737
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749254</commentid>
    <comment_count>3</comment_count>
      <attachid>425737</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-04-12 09:40:32 -0700</bug_when>
    <thetext>Comment on attachment 425737
Patch

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

&gt; Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCRtpTransformableFrame.cpp:114
&gt; +    return { frameId, WTFMove(dependencies), metadata.GetWidth(), metadata.GetHeight(), metadata.GetSpatialIndex(), metadata.GetTemporalIndex(), m_rtcFrame-&gt;GetSsrc(), { } };

Will we eventually support contributingSources? If so, it would be good to have a bug and reference it here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749297</commentid>
    <comment_count>4</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-12 11:34:55 -0700</bug_when>
    <thetext>(In reply to Eric Carlson from comment #3)
&gt; Comment on attachment 425737 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=425737&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCRtpTransformableFrame.cpp:114
&gt; &gt; +    return { frameId, WTFMove(dependencies), metadata.GetWidth(), metadata.GetHeight(), metadata.GetSpatialIndex(), metadata.GetTemporalIndex(), m_rtcFrame-&gt;GetSsrc(), { } };
&gt; 
&gt; Will we eventually support contributingSources? If so, it would be good to
&gt; have a bug and reference it here.

contributing sources is mostly for audio mixers where a server is mixing several audio in one stream but web page might still want to expose who is actually speaking.

I will file a bug to track it though since CSRC is not audio specific.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749302</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-04-12 11:45:35 -0700</bug_when>
    <thetext>Committed r275830 (236400@main): &lt;https://commits.webkit.org/236400@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 425737.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749304</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-04-12 11:46:19 -0700</bug_when>
    <thetext>&lt;rdar://problem/76549361&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1749600</commentid>
    <comment_count>7</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2021-04-13 02:03:37 -0700</bug_when>
    <thetext>&gt; contributing sources is mostly for audio mixers where a server is mixing
&gt; several audio in one stream but web page might still want to expose who is
&gt; actually speaking.
&gt; 
&gt; I will file a bug to track it though since CSRC is not audio specific.

Let&apos;s make the attribute undefined if there are no CSRCs so that we do not surface it until we have something.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425735</attachid>
            <date>2021-04-12 05:13:49 -0700</date>
            <delta_ts>2021-04-12 05:52:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224430-20210412141347.patch</filename>
            <type>text/plain</type>
            <size>12323</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1ODE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWU4MWU1MjJiYzQzOWQy
NTViZjczNWIzYmI2YTUzMDBkNjk3MTgzYS4uZTU5MjRmOWMxNTRlYTIyZjgyZTY1NDRkMDVhNDdh
ZTI0MDNmNTNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTA0LTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
UlRDRW5jb2RlZEZyYW1lIG1ldGFkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjQ0MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBFeHBvc2UgbWV0YWRhdGEgZ2l2ZW4gZnJvbSBiYWNrZW5kLgorICAg
ICAgICBBdWRpbyBzZW5kZXIgc2lkZSB1c2VzIGEgcmVndWxhciBUcmFuc2Zvcm1hYmxlRnJhbWVJ
bnRlcmZhY2UgaW5zdGVhZCBvZiBhIFRyYW5zZm9ybWFibGVBdWRpb0ZyYW1lSW50ZXJmYWNlLgor
ICAgICAgICBNYWtlIHN1cmUgdG8gbm90IGNhbGwgR2V0SGVhZGVyKCkgaW4gdGhhdCBjYXNlLgor
CisgICAgICAgIFRlc3Q6IGh0dHAvd3B0L3dlYnJ0Yy9tZXRhZGF0YS10cmFuc2Zvcm0uaHRtbAor
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJh
bnNmb3JtQmFja2VuZC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zv
cm1CYWNrZW5kOjpUcmFuc2Zvcm0pOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OkxpYldlYlJUQ1J0cFRyYW5zZm9y
bWFibGVGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxl
RnJhbWU6OmF1ZGlvTWV0YWRhdGEgY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJl
YW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oOgorCiAyMDIxLTA0
LTExICBDYW1lcm9uIE1jQ29ybWFjayAgPGhleWNhbUBhcHBsZS5jb20+CiAKICAgICAgICAgRml4
IGluaXRpYWwgaG9yaXpvbnRhbCBzY3JvbGxiYXIgcG9zaXRpb24gd2hlbiB2ZXJ0aWNhbCBzY3Jv
bGxiYXIgaXMgb24gdGhlIGxlZnQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0
cFRyYW5zZm9ybUJhY2tlbmQuY3BwCmluZGV4IDQ5MjY0Nzk3YzYxZjgyNTUwNTFlYjdjYzJjMTdl
Y2FlNjgxZDM2ZWQuLmJiZDYwNDkzMTNkZWMyNDYzZDY5YTcyNjg4NzQzYTdiYTExM2JmMjYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuY3Bw
CkBAIC02Myw3ICs2Myw3IEBAIHZvaWQgTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZDo6VHJh
bnNmb3JtKHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlRyYW5zZm9ybWFiCiAgICAgewogICAgICAg
ICBhdXRvIGxvY2tlciA9IGhvbGRMb2NrKG1faW5wdXRDYWxsYmFja0xvY2spOwogICAgICAgICBp
ZiAobV9pbnB1dENhbGxiYWNrKSB7Ci0gICAgICAgICAgICBtX2lucHV0Q2FsbGJhY2soTGliV2Vi
UlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjpjcmVhdGUoV1RGTW92ZShydGNGcmFtZSkpKTsKKyAg
ICAgICAgICAgIG1faW5wdXRDYWxsYmFjayhMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6
OmNyZWF0ZShXVEZNb3ZlKHJ0Y0ZyYW1lKSwgbV9tZWRpYVR5cGUgPT0gTWVkaWFUeXBlOjpBdWRp
byAmJiBtX3NpZGUgPT0gU2lkZTo6U2VuZGVyKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuY3BwIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNm
b3JtYWJsZUZyYW1lLmNwcAppbmRleCA4MGMxNGQ1ZjdhN2Y0NTE4NmUyMjM1NDEyNDE4N2YzOGE2
ZjYzOGY0Li5mZTVhYjdjZGY3ZjNlMDhjZGZhNmQ3MmI5ZTU0OWQwMWZjOTgxYzhmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5jcHAK
QEAgLTM3LDggKzM3LDkgQEAgQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfRU5ECiAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAotTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjpMaWJXZWJSVENS
dHBUcmFuc2Zvcm1hYmxlRnJhbWUoc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtYWJs
ZUZyYW1lSW50ZXJmYWNlPiYmIGZyYW1lKQorTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1l
OjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUoc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6
VHJhbnNmb3JtYWJsZUZyYW1lSW50ZXJmYWNlPiYmIGZyYW1lLCBib29sIGlzQXVkaW9TZW5kZXJG
cmFtZSkKICAgICA6IG1fcnRjRnJhbWUoV1RGTW92ZShmcmFtZSkpCisgICAgLCBtX2lzQXVkaW9T
ZW5kZXJGcmFtZShpc0F1ZGlvU2VuZGVyRnJhbWUpCiB7CiB9CiAKQEAgLTgxLDE0ICs4MiwxNiBA
QCBSVENFbmNvZGVkQXVkaW9GcmFtZU1ldGFkYXRhIExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVG
cmFtZTo6YXVkaW9NZXRhZGF0YSgpIGNvbgogewogICAgIGlmICghbV9ydGNGcmFtZSkKICAgICAg
ICAgcmV0dXJuIHsgfTsKLSAgICBhdXRvKiBhdWRpb0ZyYW1lID0gc3RhdGljX2Nhc3Q8d2VicnRj
OjpUcmFuc2Zvcm1hYmxlQXVkaW9GcmFtZUludGVyZmFjZSo+KG1fcnRjRnJhbWUuZ2V0KCkpOwot
ICAgIGF1dG8mIGhlYWRlciA9ICAgYXVkaW9GcmFtZS0+R2V0SGVhZGVyKCk7CiAKICAgICBWZWN0
b3I8dWludDMyX3Q+IGNzc3JjczsKLSAgICBpZiAoaGVhZGVyLm51bUNTUkNzKSB7Ci0gICAgICAg
IGNzc3Jjcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KGhlYWRlci5udW1DU1JDcyk7Ci0gICAgICAg
IGZvciAoc2l6ZV90IGNwdHIgPSAwOyBjcHRyIDwgaGVhZGVyLm51bUNTUkNzOyArK2NwdHIpCi0g
ICAgICAgICAgICBjc3NyY3MudW5jaGVja2VkQXBwZW5kKGhlYWRlci5hcnJPZkNTUkNzW2NwdHJd
KTsKKyAgICBpZiAoIW1faXNBdWRpb1NlbmRlckZyYW1lKSB7CisgICAgICAgIGF1dG8qIGF1ZGlv
RnJhbWUgPSBzdGF0aWNfY2FzdDx3ZWJydGM6OlRyYW5zZm9ybWFibGVBdWRpb0ZyYW1lSW50ZXJm
YWNlKj4obV9ydGNGcmFtZS5nZXQoKSk7CisgICAgICAgIGF1dG8mIGhlYWRlciA9IGF1ZGlvRnJh
bWUtPkdldEhlYWRlcigpOworICAgICAgICBpZiAoaGVhZGVyLm51bUNTUkNzKSB7CisgICAgICAg
ICAgICBjc3NyY3MucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShoZWFkZXIubnVtQ1NSQ3MpOworICAg
ICAgICAgICAgZm9yIChzaXplX3QgY3B0ciA9IDA7IGNwdHIgPCBoZWFkZXIubnVtQ1NSQ3M7ICsr
Y3B0cikKKyAgICAgICAgICAgICAgICBjc3NyY3MudW5jaGVja2VkQXBwZW5kKGhlYWRlci5hcnJP
ZkNTUkNzW2NwdHJdKTsKKyAgICAgICAgfQogICAgIH0KICAgICByZXR1cm4geyBtX3J0Y0ZyYW1l
LT5HZXRTc3JjKCksIFdURk1vdmUoY3NzcmNzKSB9OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3Jt
YWJsZUZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0
Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaAppbmRleCA2OGJlOWE3ZWQ2ZGQxMDY3
ZDk3YWJmZmNlNDY2NWFhMTQ1ODEyODdkLi44NDY3ZTU5NzI3YzNhMzY5OTBmNDBiYTg5OTAwMmVk
ZmQyZGZiOGVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zv
cm1hYmxlRnJhbWUuaApAQCAtMzgsMTMgKzM4LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSBmaW5hbCA6IHB1YmxpYyBSVENSdHBU
cmFuc2Zvcm1hYmxlRnJhbWUgewogICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwogcHVibGlj
OgotICAgIHN0YXRpYyBSZWY8TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lPiBjcmVhdGUo
c3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtYWJsZUZyYW1lSW50ZXJmYWNlPiYmIGZy
YW1lKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFt
ZShXVEZNb3ZlKGZyYW1lKSkpOyB9CisgICAgc3RhdGljIFJlZjxMaWJXZWJSVENSdHBUcmFuc2Zv
cm1hYmxlRnJhbWU+IGNyZWF0ZShzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxl
RnJhbWVJbnRlcmZhY2U+JiYgZnJhbWUsIGJvb2wgaXNBdWRpb1NlbmRlckZyYW1lKSB7IHJldHVy
biBhZG9wdFJlZigqbmV3IExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZShXVEZNb3ZlKGZy
YW1lKSwgaXNBdWRpb1NlbmRlckZyYW1lKSk7IH0KICAgICB+TGliV2ViUlRDUnRwVHJhbnNmb3Jt
YWJsZUZyYW1lKCk7CiAKICAgICBzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxl
RnJhbWVJbnRlcmZhY2U+IHRha2VSVENGcmFtZSgpOwogCiBwcml2YXRlOgotICAgIGV4cGxpY2l0
IExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZShzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpU
cmFuc2Zvcm1hYmxlRnJhbWVJbnRlcmZhY2U+JiYpOworICAgIExpYldlYlJUQ1J0cFRyYW5zZm9y
bWFibGVGcmFtZShzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJhbWVJbnRl
cmZhY2U+JiYsIGJvb2wgaXNBdWRpb1NlbmRlckZyYW1lKTsKIAogICAgIC8vIFJUQ1J0cFRyYW5z
Zm9ybWFibGVGcmFtZQogICAgIERhdGEgZGF0YSgpIGNvbnN0IGZpbmFsOwpAQCAtNTUsNiArNTUs
NyBAQCBwcml2YXRlOgogICAgIFJUQ0VuY29kZWRWaWRlb0ZyYW1lTWV0YWRhdGEgdmlkZW9NZXRh
ZGF0YSgpIGNvbnN0IGZpbmFsOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VHJhbnNm
b3JtYWJsZUZyYW1lSW50ZXJmYWNlPiBtX3J0Y0ZyYW1lOworICAgIGJvb2wgbV9pc0F1ZGlvU2Vu
ZGVyRnJhbWU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWI5ZDM5YmNm
YTBiZjUzMDk2YWE4ZmYxYzM3ZjNmNTg3N2I2M2EwYi4uNjc1NTQxMGIxMDg2ZWFiY2Y0ZmU5M2Ey
MzZjOWQzMmFjYzJlMDFmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA0LTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
UlRDRW5jb2RlZEZyYW1lIG1ldGFkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjQ0MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIGh0dHAvd3B0L3dlYnJ0Yy9tZXRhZGF0YS10cmFuc2Zvcm0tZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWJydGMvbWV0YWRhdGEtdHJh
bnNmb3JtLXdvcmtlci5qczogQWRkZWQuCisgICAgICAgIChvbnJ0Y3RyYW5zZm9ybS5wcm9jZXNz
KToKKyAgICAgICAgKG9ucnRjdHJhbnNmb3JtKToKKyAgICAgICAgKiBodHRwL3dwdC93ZWJydGMv
bWV0YWRhdGEtdHJhbnNmb3JtLmh0bWw6IEFkZGVkLgorCiAyMDIxLTA0LTEyICBZb3Vlbm4gRmFi
bGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBbIG1hY09TIHdrMiBdIHdlYnJ0Yy9s
aWJ3ZWJydGMvcmVsZWFzZS13aGlsZS1jcmVhdGluZy1vZmZlci5odG1sIGlzIGEgZmxha2V5IHRl
eHQgZmFpbHVyZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL21ldGFk
YXRhLXRyYW5zZm9ybS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMv
bWV0YWRhdGEtdHJhbnNmb3JtLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYThmNTFiM2M4MDBj
NWQ3YWM0OTNkNzAzMzAwYWNkNjgyNzhmOWY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvd2VicnRjL21ldGFkYXRhLXRyYW5zZm9ybS1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw1IEBACisKKworUEFTUyBhdWRpbyBleGNoYW5nZSB3aXRoIHRyYW5zZm9ybQorUEFTUyB2
aWRlbyBleGNoYW5nZSB3aXRoIHRyYW5zZm9ybQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9o
dHRwL3dwdC93ZWJydGMvbWV0YWRhdGEtdHJhbnNmb3JtLXdvcmtlci5qcyBiL0xheW91dFRlc3Rz
L2h0dHAvd3B0L3dlYnJ0Yy9tZXRhZGF0YS10cmFuc2Zvcm0td29ya2VyLmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmM0YjNkNDRjNzM1ZjdiMmJlY2U1YTFlNTlkNGIzMDIyNWQ0NmZhNGUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvbWV0YWRhdGEtdHJhbnNmb3JtLXdvcmtl
ci5qcwpAQCAtMCwwICsxLDI1IEBACitvbnJ0Y3RyYW5zZm9ybSA9IChldmVudCkgPT4geworICAg
IGNvbnN0IHRyYW5zZm9ybWVyID0gZXZlbnQudHJhbnNmb3JtZXI7CisgICAgdHJhbnNmb3JtZXIu
cG9ydC5vbm1lc3NhZ2UgPSAoZXZlbnQpID0+IHRyYW5zZm9ybWVyLnBvcnQucG9zdE1lc3NhZ2Uo
ZXZlbnQuZGF0YSk7CisKKyAgICB0cmFuc2Zvcm1lci5yZWFkZXIgPSB0cmFuc2Zvcm1lci5yZWFk
YWJsZS5nZXRSZWFkZXIoKTsKKyAgICB0cmFuc2Zvcm1lci53cml0ZXIgPSB0cmFuc2Zvcm1lci53
cml0YWJsZS5nZXRXcml0ZXIoKTsKKworICAgIGxldCBpc0ZpcnN0RnJhbWUgPSB0cnVlOworICAg
IGZ1bmN0aW9uIHByb2Nlc3ModHJhbnNmb3JtZXIpCisgICAgeworICAgICAgICB0cmFuc2Zvcm1l
ci5yZWFkZXIucmVhZCgpLnRoZW4oY2h1bmsgPT4geworICAgICAgICAgICAgaWYgKGNodW5rLmRv
bmUpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBpZiAoaXNGaXJzdEZy
YW1lKSB7CisgICAgICAgICAgICAgICAgaXNGaXJzdEZyYW1lID0gZmFsc2U7CisgICAgICAgICAg
ICAgICAgc2VsZi5wb3N0TWVzc2FnZSh7IG5hbWU6IHRyYW5zZm9ybWVyLm9wdGlvbnMubmFtZSwg
dGltZXN0YW1wOiBjaHVuay52YWx1ZS50aW1lc3RhbXAsIG1ldGFkYXRhOiBjaHVuay52YWx1ZS5n
ZXRNZXRhZGF0YSgpIH0pOworICAgICAgICAgICAgfQorICAgICAgICAgICAgdHJhbnNmb3JtZXIu
d3JpdGVyLndyaXRlKGNodW5rLnZhbHVlKTsKKyAgICAgICAgICAgIHByb2Nlc3ModHJhbnNmb3Jt
ZXIpOworICAgICAgICB9KTsKKyAgICB9CisgICAgcHJvY2Vzcyh0cmFuc2Zvcm1lcik7Cit9Owor
c2VsZi5wb3N0TWVzc2FnZSgicmVnaXN0ZXJlZCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aHR0cC93cHQvd2VicnRjL21ldGFkYXRhLXRyYW5zZm9ybS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2VicnRjL21ldGFkYXRhLXRyYW5zZm9ybS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyNmNhZGU2
NTNlZGJlMzE4Mjg2YjNjMDg1YjI5OTBhM2Q1MTIzYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9odHRwL3dwdC93ZWJydGMvbWV0YWRhdGEtdHJhbnNmb3JtLmh0bWwKQEAgLTAsMCAr
MSw4NSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1l
dGEgY2hhcnNldD0idXRmLTgiPgorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0
aGFybmVzcy5qcyI+PC9zY3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+Cisg
ICAgICAgIDx2aWRlbyBpZD0idmlkZW8xIiBhdXRvcGxheT48L3ZpZGVvPgorICAgICAgICA8c2Ny
aXB0IHNyYyA9InJvdXRpbmVzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KK2FzeW5j
IGZ1bmN0aW9uIHdhaXRGb3JNZXNzYWdlKHdvcmtlciwgZGF0YSkKK3sKKyAgICB3aGlsZSAodHJ1
ZSkgeworICAgICAgICBjb25zdCByZWNlaXZlZCA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUg
PT4gd29ya2VyLm9ubWVzc2FnZSA9IChldmVudCkgPT4gcmVzb2x2ZShldmVudC5kYXRhKSk7Cisg
ICAgICAgIGlmIChkYXRhID09PSByZWNlaXZlZCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICB9
Cit9CisKK2FzeW5jIGZ1bmN0aW9uIGdhdGhlck1ldGFkYXRhKGF1ZGlvKQoreworICAgIHdvcmtl
ciA9IG5ldyBXb3JrZXIoJ21ldGFkYXRhLXRyYW5zZm9ybS13b3JrZXIuanMnKTsKKyAgICBjb25z
dCBkYXRhID0gYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB3b3JrZXIub25tZXNzYWdlID0g
KGV2ZW50KSA9PiByZXNvbHZlKGV2ZW50LmRhdGEpKTsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEs
ICJyZWdpc3RlcmVkIik7CisKKyAgICBjb25zdCBsb2NhbFN0cmVhbSA9IGF3YWl0IG5hdmlnYXRv
ci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHthdWRpbzogYXVkaW8sIHZpZGVvOiAhYXVkaW99
KTsKKworICAgIGxldCBzZW5kZXIsIHJlY2VpdmVyOworICAgIGNvbnN0IHNlbmRlclRyYW5zZm9y
bSA9IG5ldyBSVENSdHBTY3JpcHRUcmFuc2Zvcm0od29ya2VyLCB7bmFtZTonc2VuZGVyJ30pOwor
ICAgIGNvbnN0IHJlY2VpdmVyVHJhbnNmb3JtID0gbmV3IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSh3
b3JrZXIsIHtuYW1lOidyZWNlaXZlcid9KTsKKworICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNv
bHZlLCByZWplY3QpID0+IHsKKyAgICAgICAgY3JlYXRlQ29ubmVjdGlvbnMoKGZpcnN0Q29ubmVj
dGlvbikgPT4geworICAgICAgICAgICAgcGMxID0gZmlyc3RDb25uZWN0aW9uOworICAgICAgICAg
ICAgc2VuZGVyID0gZmlyc3RDb25uZWN0aW9uLmFkZFRyYWNrKGxvY2FsU3RyZWFtLmdldFRyYWNr
cygpWzBdLCBsb2NhbFN0cmVhbSk7CisgICAgICAgICAgICBzZW5kZXIudHJhbnNmb3JtID0gc2Vu
ZGVyVHJhbnNmb3JtOworICAgICAgICB9LCAoc2Vjb25kQ29ubmVjdGlvbikgPT4geworICAgICAg
ICAgICAgcGMyID0gc2Vjb25kQ29ubmVjdGlvbjsKKyAgICAgICAgICAgIHNlY29uZENvbm5lY3Rp
b24ub250cmFjayA9ICh0cmFja0V2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgcmVjZWl2ZXIg
PSB0cmFja0V2ZW50LnJlY2VpdmVyOworICAgICAgICAgICAgICAgIHJlY2VpdmVyLnRyYW5zZm9y
bSA9IHJlY2VpdmVyVHJhbnNmb3JtOworICAgICAgICAgICAgICAgIHJlc29sdmUodHJhY2tFdmVu
dC5zdHJlYW1zWzBdKTsKKyAgICAgICAgICAgIH07CisgICAgICAgIH0pOworICAgICAgICBzZXRU
aW1lb3V0KCgpID0+IHJlamVjdCgiVGVzdCB0aW1lZCBvdXQiKSwgNTAwMCk7CisgICAgfSk7CisK
KyAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICBs
ZXQgc2VuZGVyTWV0YWRhdGEsIHNlbmRlclRpbWVzdGFtcDsKKyAgICAgICAgd29ya2VyLm9ubWVz
c2FnZSA9IChldmVudCkgPT4geworICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEubmFtZSA9PT0g
J3NlbmRlcicpIHsKKyAgICAgICAgICAgICAgICBzZW5kZXJNZXRhZGF0YSA9IGV2ZW50LmRhdGEu
bWV0YWRhdGE7CisgICAgICAgICAgICAgICAgc2VuZGVyVGltZXN0YW1wID0gZXZlbnQuZGF0YS50
aW1lc3RhbXA7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmRhdGEubmFtZSA9PT0gJ3Jl
Y2VpdmVyJykKKyAgICAgICAgICAgICAgIHJlc29sdmUoW3NlbmRlck1ldGFkYXRhLCBzZW5kZXJU
aW1lc3RhbXAsIGV2ZW50LmRhdGEubWV0YWRhdGEsIGV2ZW50LmRhdGEudGltZXN0YW1wXSk7Cisg
ICAgICAgIH07CisgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KCJNZXRhZGF0YSB0ZXN0
IHRpbWVkIG91dCIpLCA1MDAwKTsgCisgICAgfSk7Cit9CisKK3Byb21pc2VfdGVzdChhc3luYyAo
dGVzdCkgPT4geworICAgIGNvbnN0IFtzZW5kZXJNZXRhZGF0YSwgc2VuZGVyVGltZXN0YW1wLCBy
ZWNlaXZlck1ldGFkYXRhLCByZWNlaXZlclRpbWVzdGFtcF0gPSBhd2FpdCBnYXRoZXJNZXRhZGF0
YSh0cnVlKTsKKworICAgIGFzc2VydF9lcXVhbHMoc2VuZGVyVGltZXN0YW1wLCByZWNlaXZlclRp
bWVzdGFtcCwgInRpbWVzdGFtcCIpOworICAgIGFzc2VydF90cnVlKCEhc2VuZGVyTWV0YWRhdGEu
c3luY2hyb25pemF0aW9uU291cmNlLCAic3NyYyIpOworICAgIGFzc2VydF9lcXVhbHMoc2VuZGVy
TWV0YWRhdGEuc3luY2hyb25pemF0aW9uU291cmNlLCByZWNlaXZlck1ldGFkYXRhLnN5bmNocm9u
aXphdGlvblNvdXJjZSwgInNzcmMiKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHNlbmRlck1l
dGFkYXRhLmNvbnRyaWJ1dGluZ1NvdXJjZXMsIHJlY2VpdmVyTWV0YWRhdGEuY29udHJpYnV0aW5n
U291cmNlcywgImNzcmMiKTsKK30sICJhdWRpbyBleGNoYW5nZSB3aXRoIHRyYW5zZm9ybSIpOwor
Citwcm9taXNlX3Rlc3QoYXN5bmMgKHRlc3QpID0+IHsKKyAgICBjb25zdCBbc2VuZGVyTWV0YWRh
dGEsIHNlbmRlclRpbWVzdGFtcCwgcmVjZWl2ZXJNZXRhZGF0YSwgcmVjZWl2ZXJUaW1lc3RhbXBd
ID0gYXdhaXQgZ2F0aGVyTWV0YWRhdGEodHJ1ZSk7CisKKyAgICBhc3NlcnRfZXF1YWxzKHNlbmRl
clRpbWVzdGFtcCwgcmVjZWl2ZXJUaW1lc3RhbXAsICJ0aW1lc3RhbXAiKTsKKyAgICBhc3NlcnRf
dHJ1ZSghIXNlbmRlck1ldGFkYXRhLnN5bmNocm9uaXphdGlvblNvdXJjZSwgInNzcmMiKTsKKyAg
ICBhc3NlcnRfZXF1YWxzKHNlbmRlck1ldGFkYXRhLnN5bmNocm9uaXphdGlvblNvdXJjZSwgcmVj
ZWl2ZXJNZXRhZGF0YS5zeW5jaHJvbml6YXRpb25Tb3VyY2UsICJzc3JjIik7CisgICAgYXNzZXJ0
X2FycmF5X2VxdWFscyhzZW5kZXJNZXRhZGF0YS5jb250cmlidXRpbmdTb3VyY2VzLCByZWNlaXZl
ck1ldGFkYXRhLmNvbnRyaWJ1dGluZ1NvdXJjZXMsICJjc3JjIik7CisgICAgYXNzZXJ0X2VxdWFs
cyhzZW5kZXJNZXRhZGF0YS5oZWlnaHQsIHJlY2VpdmVyTWV0YWRhdGEuaGVpZ2h0LCAiaGVpZ2h0
Iik7CisgICAgYXNzZXJ0X2VxdWFscyhzZW5kZXJNZXRhZGF0YS53aWR0aCwgcmVjZWl2ZXJNZXRh
ZGF0YS53aWR0aCwgIndpZHRoIik7CisgICAgYXNzZXJ0X2VxdWFscyhzZW5kZXJNZXRhZGF0YS5z
cGF0aWFsSW5kZXgsIHJlY2VpdmVyTWV0YWRhdGEuc3BhdGlhbEluZGV4LCAic3BhdGlhbEluZGV4
Iik7CisgICAgYXNzZXJ0X2VxdWFscyhzZW5kZXJNZXRhZGF0YS50ZW1wb3JhbEluZGV4LCByZWNl
aXZlck1ldGFkYXRhLnRlbXBvcmFsSW5kZXgsICJ0ZW1wb3JhbEluZGV4Iik7Cit9LCAidmlkZW8g
ZXhjaGFuZ2Ugd2l0aCB0cmFuc2Zvcm0iKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5
PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>425737</attachid>
            <date>2021-04-12 05:52:13 -0700</date>
            <delta_ts>2021-04-12 11:45:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224430-20210412145211.patch</filename>
            <type>text/plain</type>
            <size>20972</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1ODE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOWU4MWU1MjJiYzQzOWQy
NTViZjczNWIzYmI2YTUzMDBkNjk3MTgzYS4uYjQ3MzFhMzc1MzlhYzFhYzhiMzIxNmE0NWE3NjNm
ZGMwNjZlZWQ1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM2IEBACisyMDIxLTA0LTEyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
UlRDRW5jb2RlZEZyYW1lIG1ldGFkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMjQ0MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBFeHBvc2UgbWV0YWRhdGEgZ2l2ZW4gZnJvbSBiYWNrZW5kLgorICAg
ICAgICBBdWRpbyBzZW5kZXIgc2lkZSB1c2VzIGEgcmVndWxhciBUcmFuc2Zvcm1hYmxlRnJhbWVJ
bnRlcmZhY2UgaW5zdGVhZCBvZiBhIFRyYW5zZm9ybWFibGVBdWRpb0ZyYW1lSW50ZXJmYWNlLgor
ICAgICAgICBNYWtlIHN1cmUgdG8gbm90IGNhbGwgR2V0SGVhZGVyKCkgaW4gdGhhdCBjYXNlLgor
CisgICAgICAgIFRlc3Q6IGh0dHAvd3B0L3dlYnJ0Yy9tZXRhZGF0YS10cmFuc2Zvcm0uaHRtbAor
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENFbmNvZGVkQXVkaW9GcmFtZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSVENFbmNvZGVkQXVkaW9GcmFtZTo6dGltZXN0YW1wIGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6OlJUQ0VuY29kZWRBdWRpb0ZyYW1lOjpnZXRNZXRhZGF0YSk6
CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENFbmNvZGVkQXVkaW9GcmFtZS5oOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRW5jb2RlZEF1ZGlvRnJhbWUuaWRsOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRW5jb2RlZFZpZGVvRnJhbWUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UlRDRW5jb2RlZFZpZGVvRnJhbWU6OnRpbWVzdGFtcCBjb25zdCk6
CisgICAgICAgIChXZWJDb3JlOjpSVENFbmNvZGVkVmlkZW9GcmFtZTo6Z2V0TWV0YWRhdGEpOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRW5jb2RlZFZpZGVvRnJhbWUuaDoKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0VuY29kZWRWaWRlb0ZyYW1lLmlkbDoKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5z
Zm9ybUJhY2tlbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3Jt
QmFja2VuZDo6VHJhbnNmb3JtKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjpMaWJXZWJSVENSdHBUcmFuc2Zvcm1h
YmxlRnJhbWUpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZy
YW1lOjp0aW1lc3RhbXAgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUnRwVHJh
bnNmb3JtYWJsZUZyYW1lOjphdWRpb01ldGFkYXRhIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6
OkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZTo6dmlkZW9NZXRhZGF0YSBjb25zdCk6Cisg
ICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNm
b3JtYWJsZUZyYW1lLmg6CisKIDIwMjEtMDQtMTEgIENhbWVyb24gTWNDb3JtYWNrICA8aGV5Y2Ft
QGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggaW5pdGlhbCBob3Jpem9udGFsIHNjcm9sbGJhciBw
b3NpdGlvbiB3aGVuIHZlcnRpY2FsIHNjcm9sbGJhciBpcyBvbiB0aGUgbGVmdC4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRW5jb2RlZEF1ZGlvRnJh
bWUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENFbmNvZGVkQXVk
aW9GcmFtZS5jcHAKaW5kZXggYTNlYjI4MmU2MWVjNDEzNjVkMjhmOGE4MzY5NzQzNGM3MDliZTIx
My4uYjhlNDQyYjU2YjlmYjYwNTllZTg0NjVhNjBiOGY1MTU4YThiODgwZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENFbmNvZGVkQXVkaW9GcmFtZS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENFbmNvZGVkQXVk
aW9GcmFtZS5jcHAKQEAgLTM3LDYgKzM3LDE4IEBAIFJUQ0VuY29kZWRBdWRpb0ZyYW1lOjpSVENF
bmNvZGVkQXVkaW9GcmFtZShSZWY8UlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lPiYmIGZyYW1lCiAK
IFJUQ0VuY29kZWRBdWRpb0ZyYW1lOjp+UlRDRW5jb2RlZEF1ZGlvRnJhbWUoKSA9IGRlZmF1bHQ7
CiAKK3VpbnQ2NF90IFJUQ0VuY29kZWRBdWRpb0ZyYW1lOjp0aW1lc3RhbXAoKSBjb25zdAorewor
ICAgIHJldHVybiBtX2ZyYW1lLT50aW1lc3RhbXAoKTsKK30KKworY29uc3QgUlRDRW5jb2RlZEF1
ZGlvRnJhbWU6Ok1ldGFkYXRhJiBSVENFbmNvZGVkQXVkaW9GcmFtZTo6Z2V0TWV0YWRhdGEoKQor
eworICAgIGlmICghbV9tZXRhZGF0YSkKKyAgICAgICAgbV9tZXRhZGF0YSA9IG1fZnJhbWUtPmF1
ZGlvTWV0YWRhdGEoKTsKKyAgICByZXR1cm4gKm1fbWV0YWRhdGE7Cit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENFbmNvZGVkQXVkaW9GcmFtZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENFbmNvZGVkQXVkaW9GcmFtZS5o
CmluZGV4IGJlNzc2YmQyYjI0MmNkMDgyNjYzNDc0NmFjODUwYjQxMGNlMDM0YzUuLjI2ZmNiMDcx
YzI2NzMyMjRhMGRiZDlhMTM4OTBlZWYzNGQxYjIzOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRW5jb2RlZEF1ZGlvRnJhbWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0VuY29kZWRBdWRpb0ZyYW1lLmgKQEAg
LTM2LDggKzM2LDE1IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFJUQ0VuY29kZWRBdWRpb0Zy
YW1lPiBjcmVhdGUoUmVmPFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZT4mJiBmcmFtZSkgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBSVENFbmNvZGVkQXVkaW9GcmFtZShXVEZNb3ZlKGZyYW1lKSkpOyB9
CiAgICAgflJUQ0VuY29kZWRBdWRpb0ZyYW1lKCk7CiAKKyAgICB1c2luZyBNZXRhZGF0YSA9IFJU
Q0VuY29kZWRBdWRpb0ZyYW1lTWV0YWRhdGE7CisgICAgY29uc3QgTWV0YWRhdGEmIGdldE1ldGFk
YXRhKCk7CisKKyAgICB1aW50NjRfdCB0aW1lc3RhbXAoKSBjb25zdDsKKwogcHJpdmF0ZToKICAg
ICBleHBsaWNpdCBSVENFbmNvZGVkQXVkaW9GcmFtZShSZWY8UlRDUnRwVHJhbnNmb3JtYWJsZUZy
YW1lPiYmKTsKKworICAgIG11dGFibGUgT3B0aW9uYWw8TWV0YWRhdGE+IG1fbWV0YWRhdGE7CiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ0VuY29kZWRBdWRpb0ZyYW1lLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRW5jb2RlZEF1ZGlvRnJhbWUuaWRsCmluZGV4IGQx
MTU0OTdmMGYyNTM2MzBiYmY0NzU0NjQ5MWNlOTQ3OWY4ODllYWYuLjRlMzIyZjAzZDYxOGZiNTUy
MDYzNzExYjI1OGNiMjA5YTJjMGI4NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDRW5jb2RlZEF1ZGlvRnJhbWUuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRW5jb2RlZEF1ZGlvRnJhbWUuaWRsCkBAIC0yMywx
MyArMjMsMjIgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCitb
CisgICAgQ29uZGl0aW9uYWw9V0VCX1JUQywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKK10K
K2RpY3Rpb25hcnkgUlRDRW5jb2RlZEF1ZGlvRnJhbWVNZXRhZGF0YSB7CisgICAgdW5zaWduZWQg
bG9uZyBzeW5jaHJvbml6YXRpb25Tb3VyY2U7CisgICAgc2VxdWVuY2U8dW5zaWduZWQgbG9uZz4g
Y29udHJpYnV0aW5nU291cmNlczsKK307CisKIFsKICAgICBDb25kaXRpb25hbD1XRUJfUlRDLAog
ICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViUlRDSW5zZXJ0YWJsZVN0cmVhbXMsCiAgICAgRXhwb3Nl
ZD1EZWRpY2F0ZWRXb3JrZXIsCiAgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKIF0gaW50
ZXJmYWNlIFJUQ0VuY29kZWRBdWRpb0ZyYW1lIHsKLSAgICAvLyByZWFkb25seSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyBsb25nIHRpbWVzdGFtcDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5z
aWduZWQgbG9uZyBsb25nIHRpbWVzdGFtcDsKICAgICBhdHRyaWJ1dGUgQXJyYXlCdWZmZXIgZGF0
YTsKLSAgICAvLyBSVENBdWRpb0ZyYW1lTWV0YWRhdGEgZ2V0TWV0YWRhdGEoKTsKKyAgICBSVENF
bmNvZGVkQXVkaW9GcmFtZU1ldGFkYXRhIGdldE1ldGFkYXRhKCk7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENFbmNvZGVkVmlkZW9GcmFtZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0VuY29kZWRWaWRlb0Zy
YW1lLmNwcAppbmRleCA5YTBmZGQ2ZWVlZDFkMDI1Y2JiY2JmZTNjODczYzNkZGE0OGIzMDA3Li40
MjQ2MDI3OTRkNWY2MjhjNzE3NjY0NzYyZmE1MjNkNGY4MTliYjVkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0VuY29kZWRWaWRlb0ZyYW1lLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0VuY29kZWRWaWRlb0Zy
YW1lLmNwcApAQCAtMzgsNiArMzgsMTggQEAgUlRDRW5jb2RlZFZpZGVvRnJhbWU6OlJUQ0VuY29k
ZWRWaWRlb0ZyYW1lKFJlZjxSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU+JiYgZnJhbWUKIAogUlRD
RW5jb2RlZFZpZGVvRnJhbWU6On5SVENFbmNvZGVkVmlkZW9GcmFtZSgpID0gZGVmYXVsdDsKIAor
dWludDY0X3QgUlRDRW5jb2RlZFZpZGVvRnJhbWU6OnRpbWVzdGFtcCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fZnJhbWUtPnRpbWVzdGFtcCgpOworfQorCitjb25zdCBSVENFbmNvZGVkVmlkZW9G
cmFtZTo6TWV0YWRhdGEmIFJUQ0VuY29kZWRWaWRlb0ZyYW1lOjpnZXRNZXRhZGF0YSgpCit7Cisg
ICAgaWYgKCFtX21ldGFkYXRhKQorICAgICAgICBtX21ldGFkYXRhID0gbV9mcmFtZS0+dmlkZW9N
ZXRhZGF0YSgpOworICAgIHJldHVybiAqbV9tZXRhZGF0YTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0VuY29kZWRWaWRlb0ZyYW1lLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0VuY29kZWRWaWRlb0ZyYW1lLmgKaW5k
ZXggZTdlZDg5MDZhNDIzMzJmZGJjNzdlZjdkMTZiZGYwZjE3MzVhYjViOS4uMzk4ZDJmNmViZGJl
YmIwYTQ0NTM3NjliMTZjZDg3M2U3NDI4NzZkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENFbmNvZGVkVmlkZW9GcmFtZS5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDRW5jb2RlZFZpZGVvRnJhbWUuaApAQCAtMzks
MTAgKzM5LDE2IEBAIHB1YmxpYzoKICAgICBlbnVtIGNsYXNzIFR5cGUgeyBFbXB0eSwgS2V5LCBE
ZWx0YSB9OwogICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogCisgICAg
dXNpbmcgTWV0YWRhdGEgPSBSVENFbmNvZGVkVmlkZW9GcmFtZU1ldGFkYXRhOworICAgIGNvbnN0
IE1ldGFkYXRhJiBnZXRNZXRhZGF0YSgpOworCisgICAgdWludDY0X3QgdGltZXN0YW1wKCkgY29u
c3Q7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgUlRDRW5jb2RlZFZpZGVvRnJhbWUoUmVmPFJU
Q1J0cFRyYW5zZm9ybWFibGVGcmFtZT4mJik7CiAKICAgICBUeXBlIG1fdHlwZTsKKyAgICBtdXRh
YmxlIE9wdGlvbmFsPE1ldGFkYXRhPiBtX21ldGFkYXRhOwogfTsKIAogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENFbmNvZGVkVmlkZW9GcmFtZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ0VuY29kZWRWaWRlb0ZyYW1lLmlkbAppbmRleCAxYWU0NTk5NjU5NThiZWIzMjFlY2M0
MzhjM2ViOWI0NWFmYTI4N2Q3Li43MDlmZTgwODNiYjA0YjliMmVjNWVhYTg4ZGZjNWQ5MDNiZGFh
YjFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ0Vu
Y29kZWRWaWRlb0ZyYW1lLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ0VuY29kZWRWaWRlb0ZyYW1lLmlkbApAQCAtMjUsNiArMjUsMjEgQEAKIAogZW51bSBS
VENFbmNvZGVkVmlkZW9GcmFtZVR5cGUgeyAiZW1wdHkiLCAia2V5IiwgImRlbHRhIiB9OwogCitb
CisgICAgQ29uZGl0aW9uYWw9V0VCX1JUQywKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdCwKK10K
K2RpY3Rpb25hcnkgUlRDRW5jb2RlZFZpZGVvRnJhbWVNZXRhZGF0YSB7CisgICAgbG9uZyBsb25n
IGZyYW1lSWQ7CisgICAgc2VxdWVuY2U8bG9uZyBsb25nPiBkZXBlbmRlbmNpZXM7CisgICAgdW5z
aWduZWQgc2hvcnQgd2lkdGg7CisgICAgdW5zaWduZWQgc2hvcnQgaGVpZ2h0OworICAgIGxvbmcg
c3BhdGlhbEluZGV4OworICAgIGxvbmcgdGVtcG9yYWxJbmRleDsKKyAgICB1bnNpZ25lZCBsb25n
IHN5bmNocm9uaXphdGlvblNvdXJjZTsKKyAgICBzZXF1ZW5jZTx1bnNpZ25lZCBsb25nPiBjb250
cmlidXRpbmdTb3VyY2VzOworfTsKKwogWwogICAgIENvbmRpdGlvbmFsPVdFQl9SVEMsCiAgICAg
RW5hYmxlZEJ5U2V0dGluZz1XZWJSVENJbnNlcnRhYmxlU3RyZWFtcywKQEAgLTMyLDcgKzQ3LDcg
QEAgZW51bSBSVENFbmNvZGVkVmlkZW9GcmFtZVR5cGUgeyAiZW1wdHkiLCAia2V5IiwgImRlbHRh
IiB9OwogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCiBdIGludGVyZmFjZSBSVENFbmNv
ZGVkVmlkZW9GcmFtZSB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFJUQ0VuY29kZWRWaWRlb0Zy
YW1lVHlwZSB0eXBlOwotICAgIC8vIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxv
bmcgdGltZXN0YW1wOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIGxvbmcg
dGltZXN0YW1wOwogICAgIGF0dHJpYnV0ZSBBcnJheUJ1ZmZlciBkYXRhOwotICAgIC8vIFJUQ1Zp
ZGVvRnJhbWVNZXRhZGF0YSBnZXRNZXRhZGF0YSgpOworICAgIFJUQ0VuY29kZWRWaWRlb0ZyYW1l
TWV0YWRhdGEgZ2V0TWV0YWRhdGEoKTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaAppbmRl
eCBjZTE5YjYzYjY2ZmQ4NmI2MWVjNmY1NDhkOGY1NDViMzY0MWVjZjIzLi5mMTZlZjkxODU0N2Ji
NDA1MGY2OTZkMWY4YzVjZWMxYjllZDUxYjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmgK
QEAgLTI3LDkgKzI3LDI2IEBACiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAKICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCitzdHJ1Y3QgUlRDRW5jb2RlZEF1ZGlvRnJhbWVNZXRhZGF0YSB7CisgICAgdWludDMy
X3Qgc3luY2hyb25pemF0aW9uU291cmNlOworICAgIFZlY3Rvcjx1aW50MzJfdD4gY29udHJpYnV0
aW5nU291cmNlczsKK307CisKK3N0cnVjdCBSVENFbmNvZGVkVmlkZW9GcmFtZU1ldGFkYXRhIHsK
KyAgICBPcHRpb25hbDxpbnQ2NF90PiBmcmFtZUlkOworICAgIFZlY3RvcjxpbnQ2NF90PiBkZXBl
bmRlbmNpZXM7CisgICAgdWludDE2X3Qgd2lkdGg7CisgICAgdWludDE2X3QgaGVpZ2h0OworICAg
IE9wdGlvbmFsPGludDMyX3Q+IHNwYXRpYWxJbmRleDsKKyAgICBPcHRpb25hbDxpbnQzMl90PiB0
ZW1wb3JhbEluZGV4OworICAgIHVpbnQzMl90IHN5bmNocm9uaXphdGlvblNvdXJjZTsKKyAgICBW
ZWN0b3I8dWludDMyX3Q+IGNvbnRyaWJ1dGluZ1NvdXJjZXM7Cit9OworCiBjbGFzcyBSVENSdHBU
cmFuc2Zvcm1hYmxlRnJhbWUgOiBwdWJsaWMgUmVmQ291bnRlZDxSVENSdHBUcmFuc2Zvcm1hYmxl
RnJhbWU+IHsKIHB1YmxpYzoKICAgICB2aXJ0dWFsIH5SVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUo
KSA9IGRlZmF1bHQ7CkBAIC00MSw2ICs1OCwxMCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBEYXRh
IGRhdGEoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldERhdGEoRGF0YSkgPSAwOwog
CisgICAgdmlydHVhbCB1aW50NjRfdCB0aW1lc3RhbXAoKSBjb25zdCA9IDA7CisgICAgdmlydHVh
bCBSVENFbmNvZGVkQXVkaW9GcmFtZU1ldGFkYXRhIGF1ZGlvTWV0YWRhdGEoKSBjb25zdCA9IDA7
CisgICAgdmlydHVhbCBSVENFbmNvZGVkVmlkZW9GcmFtZU1ldGFkYXRhIHZpZGVvTWV0YWRhdGEo
KSBjb25zdCA9IDA7CisKICAgICB2aXJ0dWFsIGJvb2wgaXNLZXlGcmFtZSgpIGNvbnN0ID0gMDsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGli
d2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybUJhY2tlbmQuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2Vu
ZC5jcHAKaW5kZXggNDkyNjQ3OTdjNjFmODI1NTA1MWViN2NjMmMxN2VjYWU2ODFkMzZlZC4uYmJk
NjA0OTMxM2RlYzI0NjNkNjlhNzI2ODg3NDNhN2JhMTEzYmYyNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNm
b3JtQmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtQmFja2VuZC5jcHAKQEAgLTYzLDcgKzYzLDcg
QEAgdm9pZCBMaWJXZWJSVENSdHBUcmFuc2Zvcm1CYWNrZW5kOjpUcmFuc2Zvcm0oc3RkOjp1bmlx
dWVfcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtYWIKICAgICB7CiAgICAgICAgIGF1dG8gbG9ja2VyID0g
aG9sZExvY2sobV9pbnB1dENhbGxiYWNrTG9jayk7CiAgICAgICAgIGlmIChtX2lucHV0Q2FsbGJh
Y2spIHsKLSAgICAgICAgICAgIG1faW5wdXRDYWxsYmFjayhMaWJXZWJSVENSdHBUcmFuc2Zvcm1h
YmxlRnJhbWU6OmNyZWF0ZShXVEZNb3ZlKHJ0Y0ZyYW1lKSkpOworICAgICAgICAgICAgbV9pbnB1
dENhbGxiYWNrKExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZTo6Y3JlYXRlKFdURk1vdmUo
cnRjRnJhbWUpLCBtX21lZGlhVHlwZSA9PSBNZWRpYVR5cGU6OkF1ZGlvICYmIG1fc2lkZSA9PSBT
aWRlOjpTZW5kZXIpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogICAgIH0KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuY3Bw
CmluZGV4IDQ3NTk3YzUyZTFiMmE4NWZlOTJkODIwZDc3ZmFmNjVjZDRhYTZmZWEuLmZlNWFiN2Nk
ZjdmM2UwOGNkZmE2ZDcyYjllNTQ5ZDAxZmM5ODFjOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybWFi
bGVGcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3
ZWJydGMvTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lLmNwcApAQCAtMzcsOCArMzcsOSBA
QCBBTExPV19VTlVTRURfUEFSQU1FVEVSU19FTkQKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1M
aWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OkxpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVG
cmFtZShzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJhbWVJbnRlcmZhY2U+
JiYgZnJhbWUpCitMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OkxpYldlYlJUQ1J0cFRy
YW5zZm9ybWFibGVGcmFtZShzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJh
bWVJbnRlcmZhY2U+JiYgZnJhbWUsIGJvb2wgaXNBdWRpb1NlbmRlckZyYW1lKQogICAgIDogbV9y
dGNGcmFtZShXVEZNb3ZlKGZyYW1lKSkKKyAgICAsIG1faXNBdWRpb1NlbmRlckZyYW1lKGlzQXVk
aW9TZW5kZXJGcmFtZSkKIHsKIH0KIApAQCAtNzIsNiArNzMsNDcgQEAgYm9vbCBMaWJXZWJSVENS
dHBUcmFuc2Zvcm1hYmxlRnJhbWU6OmlzS2V5RnJhbWUoKSBjb25zdAogICAgIHJldHVybiB2aWRl
b0ZyYW1lICYmIHZpZGVvRnJhbWUtPklzS2V5RnJhbWUoKTsKIH0KIAordWludDY0X3QgTGliV2Vi
UlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lOjp0aW1lc3RhbXAoKSBjb25zdAoreworICAgIHJldHVy
biBtX3J0Y0ZyYW1lID8gbV9ydGNGcmFtZS0+R2V0VGltZXN0YW1wKCkgOiAwOworfQorCitSVENF
bmNvZGVkQXVkaW9GcmFtZU1ldGFkYXRhIExpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZTo6
YXVkaW9NZXRhZGF0YSgpIGNvbnN0Cit7CisgICAgaWYgKCFtX3J0Y0ZyYW1lKQorICAgICAgICBy
ZXR1cm4geyB9OworCisgICAgVmVjdG9yPHVpbnQzMl90PiBjc3NyY3M7CisgICAgaWYgKCFtX2lz
QXVkaW9TZW5kZXJGcmFtZSkgeworICAgICAgICBhdXRvKiBhdWRpb0ZyYW1lID0gc3RhdGljX2Nh
c3Q8d2VicnRjOjpUcmFuc2Zvcm1hYmxlQXVkaW9GcmFtZUludGVyZmFjZSo+KG1fcnRjRnJhbWUu
Z2V0KCkpOworICAgICAgICBhdXRvJiBoZWFkZXIgPSBhdWRpb0ZyYW1lLT5HZXRIZWFkZXIoKTsK
KyAgICAgICAgaWYgKGhlYWRlci5udW1DU1JDcykgeworICAgICAgICAgICAgY3NzcmNzLnJlc2Vy
dmVJbml0aWFsQ2FwYWNpdHkoaGVhZGVyLm51bUNTUkNzKTsKKyAgICAgICAgICAgIGZvciAoc2l6
ZV90IGNwdHIgPSAwOyBjcHRyIDwgaGVhZGVyLm51bUNTUkNzOyArK2NwdHIpCisgICAgICAgICAg
ICAgICAgY3NzcmNzLnVuY2hlY2tlZEFwcGVuZChoZWFkZXIuYXJyT2ZDU1JDc1tjcHRyXSk7Cisg
ICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIHsgbV9ydGNGcmFtZS0+R2V0U3NyYygpLCBXVEZN
b3ZlKGNzc3JjcykgfTsKK30KKworUlRDRW5jb2RlZFZpZGVvRnJhbWVNZXRhZGF0YSBMaWJXZWJS
VENSdHBUcmFuc2Zvcm1hYmxlRnJhbWU6OnZpZGVvTWV0YWRhdGEoKSBjb25zdAoreworICAgIGlm
ICghbV9ydGNGcmFtZSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICBhdXRvKiB2aWRlb0ZyYW1l
ID0gc3RhdGljX2Nhc3Q8d2VicnRjOjpUcmFuc2Zvcm1hYmxlVmlkZW9GcmFtZUludGVyZmFjZSo+
KG1fcnRjRnJhbWUuZ2V0KCkpOworICAgIGF1dG8mIG1ldGFkYXRhID0gdmlkZW9GcmFtZS0+R2V0
TWV0YWRhdGEoKTsKKworICAgIE9wdGlvbmFsPGludDY0X3Q+IGZyYW1lSWQ7CisgICAgaWYgKG1l
dGFkYXRhLkdldEZyYW1lSWQoKSkKKyAgICAgICAgZnJhbWVJZCA9ICptZXRhZGF0YS5HZXRGcmFt
ZUlkKCk7CisKKyAgICBWZWN0b3I8aW50NjRfdD4gZGVwZW5kZW5jaWVzOworICAgIGZvciAoYXV0
byB2YWx1ZSA6IG1ldGFkYXRhLkdldEZyYW1lRGVwZW5kZW5jaWVzKCkpCisgICAgICAgIGRlcGVu
ZGVuY2llcy5hcHBlbmQodmFsdWUpOworCisgICAgcmV0dXJuIHsgZnJhbWVJZCwgV1RGTW92ZShk
ZXBlbmRlbmNpZXMpLCBtZXRhZGF0YS5HZXRXaWR0aCgpLCBtZXRhZGF0YS5HZXRIZWlnaHQoKSwg
bWV0YWRhdGEuR2V0U3BhdGlhbEluZGV4KCksIG1ldGFkYXRhLkdldFRlbXBvcmFsSW5kZXgoKSwg
bV9ydGNGcmFtZS0+R2V0U3NyYygpLCB7IH0gfTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpICYmIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oCmluZGV4IDc0
ZWFmZDFjMzkyMWE1MThhYjQyZDQ1ODA1Njc5MTkwOTkzZWZkZGUuLjg0NjdlNTk3MjdjM2EzNjk5
MGY0MGJhODk5MDAyZWRmZDJkZmI4ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZS5oCkBAIC0zOCwyMCArMzgsMjQgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lIGZpbmFsIDog
cHVibGljIFJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZSB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExP
Q0FURUQ7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxMaWJXZWJSVENSdHBUcmFuc2Zvcm1hYmxl
RnJhbWU+IGNyZWF0ZShzdGQ6OnVuaXF1ZV9wdHI8d2VicnRjOjpUcmFuc2Zvcm1hYmxlRnJhbWVJ
bnRlcmZhY2U+JiYgZnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTGliV2ViUlRDUnRwVHJh
bnNmb3JtYWJsZUZyYW1lKFdURk1vdmUoZnJhbWUpKSk7IH0KKyAgICBzdGF0aWMgUmVmPExpYldl
YlJUQ1J0cFRyYW5zZm9ybWFibGVGcmFtZT4gY3JlYXRlKHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6
OlRyYW5zZm9ybWFibGVGcmFtZUludGVyZmFjZT4mJiBmcmFtZSwgYm9vbCBpc0F1ZGlvU2VuZGVy
RnJhbWUpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZy
YW1lKFdURk1vdmUoZnJhbWUpLCBpc0F1ZGlvU2VuZGVyRnJhbWUpKTsgfQogICAgIH5MaWJXZWJS
VENSdHBUcmFuc2Zvcm1hYmxlRnJhbWUoKTsKIAogICAgIHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6
OlRyYW5zZm9ybWFibGVGcmFtZUludGVyZmFjZT4gdGFrZVJUQ0ZyYW1lKCk7CiAKIHByaXZhdGU6
Ci0gICAgZXhwbGljaXQgTGliV2ViUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lKHN0ZDo6dW5pcXVl
X3B0cjx3ZWJydGM6OlRyYW5zZm9ybWFibGVGcmFtZUludGVyZmFjZT4mJik7CisgICAgTGliV2Vi
UlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lKHN0ZDo6dW5pcXVlX3B0cjx3ZWJydGM6OlRyYW5zZm9y
bWFibGVGcmFtZUludGVyZmFjZT4mJiwgYm9vbCBpc0F1ZGlvU2VuZGVyRnJhbWUpOwogCiAgICAg
Ly8gUlRDUnRwVHJhbnNmb3JtYWJsZUZyYW1lCiAgICAgRGF0YSBkYXRhKCkgY29uc3QgZmluYWw7
CiAgICAgdm9pZCBzZXREYXRhKERhdGEpIGZpbmFsOwogICAgIGJvb2wgaXNLZXlGcmFtZSgpIGNv
bnN0IGZpbmFsOworICAgIHVpbnQ2NF90IHRpbWVzdGFtcCgpIGNvbnN0IGZpbmFsOworICAgIFJU
Q0VuY29kZWRBdWRpb0ZyYW1lTWV0YWRhdGEgYXVkaW9NZXRhZGF0YSgpIGNvbnN0IGZpbmFsOwor
ICAgIFJUQ0VuY29kZWRWaWRlb0ZyYW1lTWV0YWRhdGEgdmlkZW9NZXRhZGF0YSgpIGNvbnN0IGZp
bmFsOwogCiAgICAgc3RkOjp1bmlxdWVfcHRyPHdlYnJ0Yzo6VHJhbnNmb3JtYWJsZUZyYW1lSW50
ZXJmYWNlPiBtX3J0Y0ZyYW1lOworICAgIGJvb2wgbV9pc0F1ZGlvU2VuZGVyRnJhbWU7CiB9Owog
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWI5ZDM5YmNmYTBiZjUzMDk2YWE4ZmYx
YzM3ZjNmNTg3N2I2M2EwYi4uNjc1NTQxMGIxMDg2ZWFiY2Y0ZmU5M2EyMzZjOWQzMmFjYzJlMDFm
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTA0LTEyICBZb3Vlbm4gRmFibGV0ICA8eW91
ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3IgUlRDRW5jb2RlZEZyYW1l
IG1ldGFkYXRhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjQ0MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGh0dHAvd3B0L3dlYnJ0Yy9tZXRhZGF0YS10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBodHRwL3dwdC93ZWJydGMvbWV0YWRhdGEtdHJhbnNmb3JtLXdvcmtlci5q
czogQWRkZWQuCisgICAgICAgIChvbnJ0Y3RyYW5zZm9ybS5wcm9jZXNzKToKKyAgICAgICAgKG9u
cnRjdHJhbnNmb3JtKToKKyAgICAgICAgKiBodHRwL3dwdC93ZWJydGMvbWV0YWRhdGEtdHJhbnNm
b3JtLmh0bWw6IEFkZGVkLgorCiAyMDIxLTA0LTEyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KIAogICAgICAgICBbIG1hY09TIHdrMiBdIHdlYnJ0Yy9saWJ3ZWJydGMvcmVsZWFz
ZS13aGlsZS1jcmVhdGluZy1vZmZlci5odG1sIGlzIGEgZmxha2V5IHRleHQgZmFpbHVyZQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL21ldGFkYXRhLXRyYW5zZm9ybS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMvbWV0YWRhdGEtdHJhbnNm
b3JtLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYThmNTFiM2M4MDBjNWQ3YWM0OTNkNzAzMzAw
YWNkNjgyNzhmOWY4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2Vi
cnRjL21ldGFkYXRhLXRyYW5zZm9ybS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACisKKwor
UEFTUyBhdWRpbyBleGNoYW5nZSB3aXRoIHRyYW5zZm9ybQorUEFTUyB2aWRlbyBleGNoYW5nZSB3
aXRoIHRyYW5zZm9ybQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJydGMv
bWV0YWRhdGEtdHJhbnNmb3JtLXdvcmtlci5qcyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnJ0
Yy9tZXRhZGF0YS10cmFuc2Zvcm0td29ya2VyLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM0YjNkNDRjNzM1Zjdi
MmJlY2U1YTFlNTlkNGIzMDIyNWQ0NmZhNGUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9odHRwL3dwdC93ZWJydGMvbWV0YWRhdGEtdHJhbnNmb3JtLXdvcmtlci5qcwpAQCAtMCwwICsx
LDI1IEBACitvbnJ0Y3RyYW5zZm9ybSA9IChldmVudCkgPT4geworICAgIGNvbnN0IHRyYW5zZm9y
bWVyID0gZXZlbnQudHJhbnNmb3JtZXI7CisgICAgdHJhbnNmb3JtZXIucG9ydC5vbm1lc3NhZ2Ug
PSAoZXZlbnQpID0+IHRyYW5zZm9ybWVyLnBvcnQucG9zdE1lc3NhZ2UoZXZlbnQuZGF0YSk7CisK
KyAgICB0cmFuc2Zvcm1lci5yZWFkZXIgPSB0cmFuc2Zvcm1lci5yZWFkYWJsZS5nZXRSZWFkZXIo
KTsKKyAgICB0cmFuc2Zvcm1lci53cml0ZXIgPSB0cmFuc2Zvcm1lci53cml0YWJsZS5nZXRXcml0
ZXIoKTsKKworICAgIGxldCBpc0ZpcnN0RnJhbWUgPSB0cnVlOworICAgIGZ1bmN0aW9uIHByb2Nl
c3ModHJhbnNmb3JtZXIpCisgICAgeworICAgICAgICB0cmFuc2Zvcm1lci5yZWFkZXIucmVhZCgp
LnRoZW4oY2h1bmsgPT4geworICAgICAgICAgICAgaWYgKGNodW5rLmRvbmUpCisgICAgICAgICAg
ICAgICAgcmV0dXJuOworCisgICAgICAgICAgICBpZiAoaXNGaXJzdEZyYW1lKSB7CisgICAgICAg
ICAgICAgICAgaXNGaXJzdEZyYW1lID0gZmFsc2U7CisgICAgICAgICAgICAgICAgc2VsZi5wb3N0
TWVzc2FnZSh7IG5hbWU6IHRyYW5zZm9ybWVyLm9wdGlvbnMubmFtZSwgdGltZXN0YW1wOiBjaHVu
ay52YWx1ZS50aW1lc3RhbXAsIG1ldGFkYXRhOiBjaHVuay52YWx1ZS5nZXRNZXRhZGF0YSgpIH0p
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgdHJhbnNmb3JtZXIud3JpdGVyLndyaXRlKGNo
dW5rLnZhbHVlKTsKKyAgICAgICAgICAgIHByb2Nlc3ModHJhbnNmb3JtZXIpOworICAgICAgICB9
KTsKKyAgICB9CisgICAgcHJvY2Vzcyh0cmFuc2Zvcm1lcik7Cit9Oworc2VsZi5wb3N0TWVzc2Fn
ZSgicmVnaXN0ZXJlZCIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRj
L21ldGFkYXRhLXRyYW5zZm9ybS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VicnRjL21l
dGFkYXRhLXRyYW5zZm9ybS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQyNmNhZGU2NTNlZGJlMzE4Mjg2YjNj
MDg1YjI5OTBhM2Q1MTIzYTcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWJydGMvbWV0YWRhdGEtdHJhbnNmb3JtLmh0bWwKQEAgLTAsMCArMSw4NSBAQAorPCFkb2N0
eXBlIGh0bWw+Cis8aHRtbD4KKyAgICA8aGVhZD4KKyAgICAgICAgPG1ldGEgY2hhcnNldD0idXRm
LTgiPgorICAgICAgICA8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9z
Y3JpcHQ+CisgICAgICAgIDxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0
LmpzIj48L3NjcmlwdD4KKyAgICA8L2hlYWQ+CisgICAgPGJvZHk+CisgICAgICAgIDx2aWRlbyBp
ZD0idmlkZW8xIiBhdXRvcGxheT48L3ZpZGVvPgorICAgICAgICA8c2NyaXB0IHNyYyA9InJvdXRp
bmVzLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlwdD4KK2FzeW5jIGZ1bmN0aW9uIHdhaXRG
b3JNZXNzYWdlKHdvcmtlciwgZGF0YSkKK3sKKyAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICBj
b25zdCByZWNlaXZlZCA9IGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gd29ya2VyLm9ubWVz
c2FnZSA9IChldmVudCkgPT4gcmVzb2x2ZShldmVudC5kYXRhKSk7CisgICAgICAgIGlmIChkYXRh
ID09PSByZWNlaXZlZCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICB9Cit9CisKK2FzeW5jIGZ1
bmN0aW9uIGdhdGhlck1ldGFkYXRhKGF1ZGlvKQoreworICAgIHdvcmtlciA9IG5ldyBXb3JrZXIo
J21ldGFkYXRhLXRyYW5zZm9ybS13b3JrZXIuanMnKTsKKyAgICBjb25zdCBkYXRhID0gYXdhaXQg
bmV3IFByb21pc2UocmVzb2x2ZSA9PiB3b3JrZXIub25tZXNzYWdlID0gKGV2ZW50KSA9PiByZXNv
bHZlKGV2ZW50LmRhdGEpKTsKKyAgICBhc3NlcnRfZXF1YWxzKGRhdGEsICJyZWdpc3RlcmVkIik7
CisKKyAgICBjb25zdCBsb2NhbFN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMu
Z2V0VXNlck1lZGlhKHthdWRpbzogYXVkaW8sIHZpZGVvOiAhYXVkaW99KTsKKworICAgIGxldCBz
ZW5kZXIsIHJlY2VpdmVyOworICAgIGNvbnN0IHNlbmRlclRyYW5zZm9ybSA9IG5ldyBSVENSdHBT
Y3JpcHRUcmFuc2Zvcm0od29ya2VyLCB7bmFtZTonc2VuZGVyJ30pOworICAgIGNvbnN0IHJlY2Vp
dmVyVHJhbnNmb3JtID0gbmV3IFJUQ1J0cFNjcmlwdFRyYW5zZm9ybSh3b3JrZXIsIHtuYW1lOidy
ZWNlaXZlcid9KTsKKworICAgIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+
IHsKKyAgICAgICAgY3JlYXRlQ29ubmVjdGlvbnMoKGZpcnN0Q29ubmVjdGlvbikgPT4geworICAg
ICAgICAgICAgcGMxID0gZmlyc3RDb25uZWN0aW9uOworICAgICAgICAgICAgc2VuZGVyID0gZmly
c3RDb25uZWN0aW9uLmFkZFRyYWNrKGxvY2FsU3RyZWFtLmdldFRyYWNrcygpWzBdLCBsb2NhbFN0
cmVhbSk7CisgICAgICAgICAgICBzZW5kZXIudHJhbnNmb3JtID0gc2VuZGVyVHJhbnNmb3JtOwor
ICAgICAgICB9LCAoc2Vjb25kQ29ubmVjdGlvbikgPT4geworICAgICAgICAgICAgcGMyID0gc2Vj
b25kQ29ubmVjdGlvbjsKKyAgICAgICAgICAgIHNlY29uZENvbm5lY3Rpb24ub250cmFjayA9ICh0
cmFja0V2ZW50KSA9PiB7CisgICAgICAgICAgICAgICAgcmVjZWl2ZXIgPSB0cmFja0V2ZW50LnJl
Y2VpdmVyOworICAgICAgICAgICAgICAgIHJlY2VpdmVyLnRyYW5zZm9ybSA9IHJlY2VpdmVyVHJh
bnNmb3JtOworICAgICAgICAgICAgICAgIHJlc29sdmUodHJhY2tFdmVudC5zdHJlYW1zWzBdKTsK
KyAgICAgICAgICAgIH07CisgICAgICAgIH0pOworICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHJl
amVjdCgiVGVzdCB0aW1lZCBvdXQiKSwgNTAwMCk7CisgICAgfSk7CisKKyAgICByZXR1cm4gbmV3
IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4geworICAgICAgICBsZXQgc2VuZGVyTWV0YWRh
dGEsIHNlbmRlclRpbWVzdGFtcDsKKyAgICAgICAgd29ya2VyLm9ubWVzc2FnZSA9IChldmVudCkg
PT4geworICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEubmFtZSA9PT0gJ3NlbmRlcicpIHsKKyAg
ICAgICAgICAgICAgICBzZW5kZXJNZXRhZGF0YSA9IGV2ZW50LmRhdGEubWV0YWRhdGE7CisgICAg
ICAgICAgICAgICAgc2VuZGVyVGltZXN0YW1wID0gZXZlbnQuZGF0YS50aW1lc3RhbXA7CisgICAg
ICAgICAgICB9IGVsc2UgaWYgKGV2ZW50LmRhdGEubmFtZSA9PT0gJ3JlY2VpdmVyJykKKyAgICAg
ICAgICAgICAgIHJlc29sdmUoW3NlbmRlck1ldGFkYXRhLCBzZW5kZXJUaW1lc3RhbXAsIGV2ZW50
LmRhdGEubWV0YWRhdGEsIGV2ZW50LmRhdGEudGltZXN0YW1wXSk7CisgICAgICAgIH07CisgICAg
ICAgIHNldFRpbWVvdXQoKCkgPT4gcmVqZWN0KCJNZXRhZGF0YSB0ZXN0IHRpbWVkIG91dCIpLCA1
MDAwKTsgCisgICAgfSk7Cit9CisKK3Byb21pc2VfdGVzdChhc3luYyAodGVzdCkgPT4geworICAg
IGNvbnN0IFtzZW5kZXJNZXRhZGF0YSwgc2VuZGVyVGltZXN0YW1wLCByZWNlaXZlck1ldGFkYXRh
LCByZWNlaXZlclRpbWVzdGFtcF0gPSBhd2FpdCBnYXRoZXJNZXRhZGF0YSh0cnVlKTsKKworICAg
IGFzc2VydF9lcXVhbHMoc2VuZGVyVGltZXN0YW1wLCByZWNlaXZlclRpbWVzdGFtcCwgInRpbWVz
dGFtcCIpOworICAgIGFzc2VydF90cnVlKCEhc2VuZGVyTWV0YWRhdGEuc3luY2hyb25pemF0aW9u
U291cmNlLCAic3NyYyIpOworICAgIGFzc2VydF9lcXVhbHMoc2VuZGVyTWV0YWRhdGEuc3luY2hy
b25pemF0aW9uU291cmNlLCByZWNlaXZlck1ldGFkYXRhLnN5bmNocm9uaXphdGlvblNvdXJjZSwg
InNzcmMiKTsKKyAgICBhc3NlcnRfYXJyYXlfZXF1YWxzKHNlbmRlck1ldGFkYXRhLmNvbnRyaWJ1
dGluZ1NvdXJjZXMsIHJlY2VpdmVyTWV0YWRhdGEuY29udHJpYnV0aW5nU291cmNlcywgImNzcmMi
KTsKK30sICJhdWRpbyBleGNoYW5nZSB3aXRoIHRyYW5zZm9ybSIpOworCitwcm9taXNlX3Rlc3Qo
YXN5bmMgKHRlc3QpID0+IHsKKyAgICBjb25zdCBbc2VuZGVyTWV0YWRhdGEsIHNlbmRlclRpbWVz
dGFtcCwgcmVjZWl2ZXJNZXRhZGF0YSwgcmVjZWl2ZXJUaW1lc3RhbXBdID0gYXdhaXQgZ2F0aGVy
TWV0YWRhdGEodHJ1ZSk7CisKKyAgICBhc3NlcnRfZXF1YWxzKHNlbmRlclRpbWVzdGFtcCwgcmVj
ZWl2ZXJUaW1lc3RhbXAsICJ0aW1lc3RhbXAiKTsKKyAgICBhc3NlcnRfdHJ1ZSghIXNlbmRlck1l
dGFkYXRhLnN5bmNocm9uaXphdGlvblNvdXJjZSwgInNzcmMiKTsKKyAgICBhc3NlcnRfZXF1YWxz
KHNlbmRlck1ldGFkYXRhLnN5bmNocm9uaXphdGlvblNvdXJjZSwgcmVjZWl2ZXJNZXRhZGF0YS5z
eW5jaHJvbml6YXRpb25Tb3VyY2UsICJzc3JjIik7CisgICAgYXNzZXJ0X2FycmF5X2VxdWFscyhz
ZW5kZXJNZXRhZGF0YS5jb250cmlidXRpbmdTb3VyY2VzLCByZWNlaXZlck1ldGFkYXRhLmNvbnRy
aWJ1dGluZ1NvdXJjZXMsICJjc3JjIik7CisgICAgYXNzZXJ0X2VxdWFscyhzZW5kZXJNZXRhZGF0
YS5oZWlnaHQsIHJlY2VpdmVyTWV0YWRhdGEuaGVpZ2h0LCAiaGVpZ2h0Iik7CisgICAgYXNzZXJ0
X2VxdWFscyhzZW5kZXJNZXRhZGF0YS53aWR0aCwgcmVjZWl2ZXJNZXRhZGF0YS53aWR0aCwgIndp
ZHRoIik7CisgICAgYXNzZXJ0X2VxdWFscyhzZW5kZXJNZXRhZGF0YS5zcGF0aWFsSW5kZXgsIHJl
Y2VpdmVyTWV0YWRhdGEuc3BhdGlhbEluZGV4LCAic3BhdGlhbEluZGV4Iik7CisgICAgYXNzZXJ0
X2VxdWFscyhzZW5kZXJNZXRhZGF0YS50ZW1wb3JhbEluZGV4LCByZWNlaXZlck1ldGFkYXRhLnRl
bXBvcmFsSW5kZXgsICJ0ZW1wb3JhbEluZGV4Iik7Cit9LCAidmlkZW8gZXhjaGFuZ2Ugd2l0aCB0
cmFuc2Zvcm0iKTsKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>