<?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>134085</bug_id>
          
          <creation_ts>2014-06-19 17:53:32 -0700</creation_ts>
          <short_desc>[iOS WebKit2] Make -webkit-overflow-scrolling:touch work in iframes (breaks MSWord previews)</short_desc>
          <delta_ts>2014-06-20 12:22: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>New Bugs</component>
          <version>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Simon Fraser (smfr)">simon.fraser</assigned_to>
          <cc>andersca</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jamesr</cc>
    
    <cc>luiz</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1016812</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-06-19 17:53:32 -0700</bug_when>
    <thetext>[iOS WebKit2] Make -webkit-overflow-scrolling:touch work in iframes (breaks MSWord previews)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016822</commentid>
    <comment_count>1</comment_count>
      <attachid>233401</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-06-19 19:26:08 -0700</bug_when>
    <thetext>Created attachment 233401
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016968</commentid>
    <comment_count>2</comment_count>
      <attachid>233435</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-06-20 11:14:06 -0700</bug_when>
    <thetext>Created attachment 233435
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016971</commentid>
    <comment_count>3</comment_count>
      <attachid>233435</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-06-20 11:31:00 -0700</bug_when>
    <thetext>Comment on attachment 233435
Patch

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

&gt; Source/WebCore/page/scrolling/ScrollingStateTree.cpp:109
&gt; +            switch (nodeType) {

this looks ripe for moving into another function, and factoring the appendChild out, and just cleaning up in general

&gt; Source/WebCore/page/scrolling/ScrollingStateTree.h:85
&gt; +    enum SubframeNodeRemoval {

enum class? and drop the &quot;SubframeNodes&quot; suffix? SubframeNodeRemoval::Delete, SubframeNodeRemoval::Orphan, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016992</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2014-06-20 12:22:21 -0700</bug_when>
    <thetext>https://trac.webkit.org/r170198</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233401</attachid>
            <date>2014-06-19 19:26:08 -0700</date>
            <delta_ts>2014-06-20 11:14:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134085-20140619192548.patch</filename>
            <type>text/plain</type>
            <size>69373</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcwMTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTdhNWUyNTI1ZGFlNDE3
Y2YwM2FhNzc4ZDc2ZTc3YTcwMjM4YTRjZi4uMDExNWQ0MDBhZWU5MzJiMGNkZGM0Y2I1ZGIxYTk0
MTI0NTNjMjQ5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyMSBAQAorMjAxNC0wNi0xOSAgU2lt
b24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TIFdlYktp
dDJdIE1ha2UgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2ggd29yayBpbiBpZnJhbWVz
IChicmVha3MgTVNXb3JkIHByZXZpZXdzKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM0MDg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xNjQ0MDU4
Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAg
ICAgIFdoZW4gbm9kZXMgd2VyZSBkZXRhY2hlZCBmcm9tIHRoZSBzY3JvbGxpbmcgdHJlZSwgd2Ug
d291bGQgcHJldmlvdXNseSB0aHJvdyBhd2F5CisgICAgICAgIGFsbCBkZXNjZW5kYW50IG5vZGVz
LCBleHBlY3RpbmcgdGhhdCB0aGV5IHdvdWxkIGJlIHJlLWF0dGFjaGVkIGFzIHdlIHdhbGsgdGhl
IGNvbXBvc2l0aW5nCisgICAgICAgIGxheWVyIHRyZWUgaW4gUmVuZGVyTGF5ZXJDb21wb3NpdG9y
LgorICAgICAgICAKKyAgICAgICAgSG93ZXZlciwgdGhpcyBkb2Vzbid0IHdvcmsgYWNyb3NzIGZy
YW1lIGJvdW5kYXJpZXM7IHRoZSBzdWJmcmFtZSBtYXkgbmV2ZXIgdXBkYXRlCisgICAgICAgIGl0
cyBjb21wb3NpdGluZyBsYXllcnMgYWdhaW4sIHNvIHdvdWxkIGxvc2UgYWxsIGl0cyBzY3JvbGxp
bmcgbm9kZXMuCisgICAgICAgIAorICAgICAgICBGaXggYnkgaGF2aW5nIFNjcm9sbGluZ1N0YXRl
VHJlZTo6ZGV0YWNoTm9kZSgpIGJ5IGRlZmF1bHQgc2V0IGFzaWRlIHN1YmZyYW1lIG5vZGVzCisg
ICAgICAgIGludG8gYSBoYXNoIG1hcC4gT24gcmVhdHRhY2gsIHdlJ2xsIGxvb2sgaW4gdGhlIGhh
c2ggbWFwIGFuZCBwdWxsIG91dCBhbiBleGlzdGluZyBub2RlCisgICAgICAgICh3aXRoIGl0cyBj
aGlsZHJlbiBpbnRhY3QpIGlmIHBvc3NpYmxlLgorCisgICAgICAgIFRlc3RzOiBwbGF0Zm9ybS9t
YWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9jb29yZGluYXRlZC1mcmFtZS1n
YWluLXNjcm9sbGluZy1hbmNlc3Rvci5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9tYWMt
d2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9jb29yZGluYXRlZC1mcmFtZS1sb3Nl
LXNjcm9sbGluZy1hbmNlc3Rvci5odG1sCisgICAgICAgICAgICAgICBwbGF0Zm9ybS9tYWMtd2sy
L3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9yZW1vdmUtY29vcmRpbmF0ZWQtZnJhbWUu
aHRtbAorCisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlTm9kZTo6U2Nyb2xsaW5nU3RhdGVOb2Rl
KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVUcmVlOjphdHRhY2hOb2RlKToKKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlVHJlZTo6ZGV0YWNoTm9kZSk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxpbmdTdGF0ZVRyZWU6OmNsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ1N0YXRlVHJlZTo6cmVtb3ZlTm9kZUFuZEFsbERlc2NlbmRhbnRzKToKKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ1N0YXRlVHJlZTo6cmVjdXJzaXZlTm9kZVdpbGxCZVJlbW92ZWQpOgor
ICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5oOgorICAgICAgICAq
IHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsaW5nVHJlZTo6Y29tbWl0TmV3VHJlZVN0YXRlKTogR28gYmFjayB0byByZW1vdmluZyB0aGUg
ZGVsZXRlZAorICAgICAgICBub2RlcyBmcm9tIG1fbm9kZU1hcCBmaXJzdC4KKyAgICAgICAgKFdl
YkNvcmU6OlNjcm9sbGluZ1RyZWU6OnJlbW92ZURlc3Ryb3llZE5vZGVzKTogVGhlcmUgaXMgbm8g
bmVlZCBmb3IgdGhpcyB0bworICAgICAgICBhY3R1YWxseSBtYWtlIHVzZSBvZiBTY3JvbGxpbmdU
cmVlTm9kZSogYW55IG1vcmU7IHRoZSBBU1NFUlQoIW5vZGUtPnBhcmVudCgpKQorICAgICAgICBp
cyBib2d1cyBiZWNhdXNlIGl0IGNhbiBmaXJlIHdoZW4gd2hvbGUgc3VidHJlZXMgYXJlIHJlbW92
ZWQsIGFuZCB0byBjbGVhciB0aGUKKyAgICAgICAgbGF0Y2hlZCBub2RlIHdlIGp1c3QgbmVlZCB0
aGUgSUQuCisKKzIwMTQtMDYtMTkgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5j
b20+CisKKyAgICAgICAgSGFuZGxlIHNjcm9sbGluZyB0cmVlIG1vZGlmaWNhdGlvbnMgd2hpY2gg
cmVtb3ZlIGludGVybWVkaWF0ZSBub2RlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTM0MDgyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVGltIEhvcnRv
bi4KKworICAgICAgICBXaGVuIHVwZGF0aW5nIHRoZSBzY3JvbGxpbmcgdHJlZSBmcm9tIHRoZSBz
dGF0ZSB0cmVlLCB3ZSBmYWlsZWQgdG8gbWFpbnRhaW4KKyAgICAgICAgdGhlIGNoaWxkcmVuIGFy
cmF5cyBjb3JyZWN0bHkuIEZpeCBieSByZW1vdmluZyBhbGwgY2hpbGRyZW4gb24gc2Nyb2xsaW5n
IG5vZGVzLAorICAgICAgICBhbmQgYWxsb3dpbmcgdGhlIGNhbGxzIG9uIGNoaWxkcmVuIHRvIGFk
ZCB0aGVtIGJhY2suIEEgdGVtcG9yYXJ5IGhhc2ggbWFwCisgICAgICAgIGtlZXBzIHRoZSBub2Rl
cyBhbGl2ZS4KKyAgICAgICAgCisgICAgICAgIFRoZSBzdGF0ZSB0cmVlJ3MgbV9ub2Rlc1JlbW92
ZWRTaW5jZUxhc3RDb21taXQgd2FzIGFsc28gbWFkZSBpbnRvIGEgSGFzaFNldCwKKyAgICAgICAg
dG8gbWFrZSBpdCBlYXNpZXIgdG8gaGFuZGxlIHJlbW92YWwgZm9sbG93ZWQgYnkgcmUtaW5zZXJ0
aW9uLgorCisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogcGFnZS9zY3JvbGxp
bmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0
YXRlVHJlZTo6YXR0YWNoTm9kZSk6IElmIGEgbm9kZSBpcyAocG9zc2libHkgcmUtKWFkZGVkLAor
ICAgICAgICByZW1vdmUgaXQgZnJvbSBtX25vZGVzUmVtb3ZlZFNpbmNlTGFzdENvbW1pdC5yZW1v
dmUuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVRyZWU6OndpbGxSZW1vdmVOb2Rl
KToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlVHJlZTo6c2V0UmVtb3ZlZE5vZGVz
KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuaDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbGluZ1N0YXRlVHJlZTo6cmVtb3ZlZE5vZGVzKToKKyAgICAgICAg
KiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGluZ1RyZWU6OmNvbW1pdE5ld1RyZWVTdGF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxpbmdUcmVlOjp1cGRhdGVUcmVlRnJvbVN0YXRlTm9kZSk6IENsZWFuIHVwIHRvIGhhdmUgb25s
eSBvbmUgY2FsbAorICAgICAgICB0byB1cGRhdGVCZWZvcmVDaGlsZHJlbigpLCBhbmQgcmVtb3Zl
IGFsbCBjaGlsZHJlbiBmcm9tIHRoZSBzY3JvbGxpbmcgbm9kZQorICAgICAgICBiZWZvcmUgdmlz
aXRpbmcgc3RhdGUgY2hpbGRyZW4uCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlOjpy
ZW1vdmVEZXN0cm95ZWROb2Rlcyk6IEl0IHdhcyB2ZXJ5IHdyb25nIHRvIGFzc3VtZQorICAgICAg
ICB0aGF0IGFsbCBub24tcm9vdCBub2RlcyB3ZXJlIHBhcmVudGVkIGluIHRoZSByb290ISBOb3cg
d2UgZG9uJ3QgbmVlZCB0bworICAgICAgICByZW1vdmUgZnJvbSB0aGUgcGFyZW50IGFueXdheS4K
KyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmg6CisgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ1RyZWVOb2RlOjpjaGlsZHJlbik6CisKKzIwMTQtMDYtMTkgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBTY3JvbGxpbmdUcmVlTm9kZXMg
cmVmb3VudGVkLCBmb3IgZWFzaWVyIHRyZWUgcmVjb25maWd1cmF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzQwNzUKKworICAgICAgICBSZXZp
ZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIE1ha2UgU2Nyb2xsaW5nVHJlZU5vZGUgYmUg
cmVmLWNvdW50ZWQuCisKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlOjpoYW5kbGVXaGVlbEV2ZW50KToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWU6OnVwZGF0ZVRyZWVGcm9tU3RhdGVOb2RlKToK
KyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmg6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxpbmdUcmVlOjpyb290Tm9kZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nVHJlZU5vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU5v
ZGU6OmFwcGVuZENoaWxkKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVl
Tm9kZS5oOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xsaW5nVHJlZS5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmNyZWF0ZU5vZGUp
OgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xsaW5nVHJlZS5oOgorICAg
ICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5oOgorICAg
ICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbToKKyAg
ICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9ySU9TOjpjcmVhdGVTY3JvbGxpbmdU
cmVlTm9kZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFt
ZVNjcm9sbGluZ05vZGVJT1MuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1M6OmNyZWF0ZSk6CisgICAgICAgICogcGFnZS9z
Y3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVJT1MuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2Ny
b2xsaW5nVHJlZUlPUzo6Y3JlYXRlTm9kZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvaW9z
L1Njcm9sbGluZ1RyZWVJT1MuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xs
aW5nQ29vcmRpbmF0b3JNYWMuaDoKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xs
aW5nQ29vcmRpbmF0b3JNYWMubW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxpbmdDb29yZGlu
YXRvck1hYzo6Y3JlYXRlU2Nyb2xsaW5nVHJlZU5vZGUpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xs
aW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLmg6CisgICAgICAgICogcGFnZS9zY3JvbGxp
bmcvbWFjL1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUubW06CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxpbmdUcmVlRml4ZWROb2RlOjpjcmVhdGUpOgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLmg6CisgICAgICAgICogcGFnZS9z
Y3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW06CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjcmVhdGUp
OgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5o
OgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5t
bToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVTdGlja3lOb2RlOjpjcmVhdGUpOgor
CiAyMDE0LTA2LTE4ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCiAg
ICAgICAgIE1vdmUgdGhlIHJlbW92ZU5vZGUoKSB0cmVlIHdhbGtpbmcgZnJvbSBTY3JvbGxpbmdT
dGF0ZU5vdGUgaW50byBTY3JvbGxpbmdTdGF0ZVRyZWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlZWFmMzVkYjE2
NzNkODQwMGZiOTlhZTc2ODc0ZmUzZWYyOWZkMzFkLi5mNTZmOGNmZTJhYjcxMDAwZGUzMWQyOWQx
OTRiNWZjZTA5NTlmZGZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTYgQEAKKzIwMTQtMDYtMTkg
IFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPUyBX
ZWJLaXQyXSBNYWtlIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOnRvdWNoIHdvcmsgaW4gaWZy
YW1lcyAoYnJlYWtzIE1TV29yZCBwcmV2aWV3cykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNDA4NQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTY0
NDA1ODY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAor
ICAgICAgICBBZGQgc29tZSBkZWJ1Zy1vbmx5IGFzc2VydGlvbnMgdGhhdCBjaGVjayB0aGF0IHRo
ZSBudW1iZXIgb2Ygbm9kZXMgd2UgZW5jb2RlZCBpcworICAgICAgICB0aGUgZXhwZWN0ZWQgbnVt
YmVyLgorCisgICAgICAgICogU2hhcmVkL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdDb29yZGlu
YXRvclRyYW5zYWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZW5jb2RlTm9kZUFuZERlc2Nl
bmRhbnRzKToKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFu
c2FjdGlvbjo6ZW5jb2RlKToKKworMjAxNC0wNi0xOSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJh
c2VyQGFwcGxlLmNvbT4KKworICAgICAgICBIYW5kbGUgc2Nyb2xsaW5nIHRyZWUgbW9kaWZpY2F0
aW9ucyB3aGljaCByZW1vdmUgaW50ZXJtZWRpYXRlIG5vZGVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzQwODIKKworICAgICAgICBSZXZpZXdlZCBi
eSBUaW0gSG9ydG9uLgorCisgICAgICAgIFdoZW4gdXBkYXRpbmcgdGhlIHNjcm9sbGluZyB0cmVl
IGZyb20gdGhlIHN0YXRlIHRyZWUsIHdlIGZhaWxlZCB0byBtYWludGFpbgorICAgICAgICB0aGUg
Y2hpbGRyZW4gYXJyYXlzIGNvcnJlY3RseS4gRml4IGJ5IHJlbW92aW5nIGFsbCBjaGlsZHJlbiBv
biBzY3JvbGxpbmcgbm9kZXMsCisgICAgICAgIGFuZCBhbGxvd2luZyB0aGUgY2FsbHMgb24gY2hp
bGRyZW4gdG8gYWRkIHRoZW0gYmFjay4gQSB0ZW1wb3JhcnkgaGFzaCBtYXAKKyAgICAgICAga2Vl
cHMgdGhlIG5vZGVzIGFsaXZlLgorICAgICAgICAKKyAgICAgICAgVGhlIHN0YXRlIHRyZWUncyBt
X25vZGVzUmVtb3ZlZFNpbmNlTGFzdENvbW1pdCB3YXMgYWxzbyBtYWRlIGludG8gYSBIYXNoU2V0
LAorICAgICAgICB0byBtYWtlIGl0IGVhc2llciB0byBoYW5kbGUgcmVtb3ZhbCBmb2xsb3dlZCBi
eSByZS1pbnNlcnRpb24uCisKKyAgICAgICAgKiBTaGFyZWQvU2Nyb2xsaW5nL1JlbW90ZVNjcm9s
bGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVT
Y3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uOjpkZWNvZGUpOgorICAgICAgICAoV2ViS2l0
OjpSZW1vdGVTY3JvbGxpbmdUcmVlVGV4dFN0cmVhbTo6ZHVtcCk6CisKKzIwMTQtMDYtMTkgIFNp
bW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgTWFrZSBTY3Jv
bGxpbmdUcmVlTm9kZXMgcmVmb3VudGVkLCBmb3IgZWFzaWVyIHRyZWUgcmVjb25maWd1cmF0aW9u
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzQwNzUK
KworICAgICAgICBSZXZpZXdlZCBieSBUaW0gSG9ydG9uLgorCisgICAgICAgIE1ha2UgU2Nyb2xs
aW5nVHJlZU5vZGUgYmUgcmVmLWNvdW50ZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvU2Nyb2xs
aW5nL1JlbW90ZVNjcm9sbGluZ1RyZWUuY3BwOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTY3Jv
bGxpbmdUcmVlOjpjcmVhdGVOb2RlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvU2Nyb2xsaW5nL1Jl
bW90ZVNjcm9sbGluZ1RyZWUuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvU2Nyb2xsaW5nL2lvcy9T
Y3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL1Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUy5t
bToKKyAgICAgICAgKFdlYktpdDo6U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlP
Uzo6Y3JlYXRlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxp
bmdDb29yZGluYXRvci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvU2Nyb2xsaW5nL1JlbW90ZVNj
cm9sbGluZ0Nvb3JkaW5hdG9yLm1tOgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTY3JvbGxpbmdD
b29yZGluYXRvcjo6Y3JlYXRlU2Nyb2xsaW5nVHJlZU5vZGUpOgorCiAyMDE0LTA2LTE4ICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGJhY2sgV0tQ
YWdlUnVuSmF2YVNjcmlwdEluTWFpbkZyYW1lX2IgZm9yIG5vdwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpp
bmRleCAyMmE4NGI3M2NhZjRiOWI2ODhmOGIxZTA0MmZlYjM2MTVhMmU4OTAyLi4xZDcyZjJiNGNl
ZWI0NzhlZTYzOGQzYmRlYzg1MzI0MjFkNTg0NGQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAt
MjgzMyw3ICsyODMzLDcgQEAgX19aTjdXZWJDb3JlMTVTY3JvbGxpbmdUaHJlYWQ4ZGlzcGF0Y2hF
TlN0M19fMThmdW5jdGlvbklGdnZFRUUKIF9fWk43V2ViQ29yZTE4U2Nyb2xsaW5nU3RhdGVOb2Rl
OHNldExheWVyRVJLTlNfMTlMYXllclJlcHJlc2VudGF0aW9uRQogX19aTjdXZWJDb3JlMThTY3Jv
bGxpbmdTdGF0ZVRyZWUxMGF0dGFjaE5vZGVFTlNfMTdTY3JvbGxpbmdOb2RlVHlwZUV5eQogX19a
TjdXZWJDb3JlMThTY3JvbGxpbmdTdGF0ZVRyZWUxNHN0YXRlTm9kZUZvcklERXkKLV9fWk43V2Vi
Q29yZTE4U2Nyb2xsaW5nU3RhdGVUcmVlMTVzZXRSZW1vdmVkTm9kZXNFTjNXVEY2VmVjdG9ySXlM
bTBFTlMxXzE1Q3Jhc2hPbk92ZXJmbG93RUVFCitfX1pON1dlYkNvcmUxOFNjcm9sbGluZ1N0YXRl
VHJlZTE1c2V0UmVtb3ZlZE5vZGVzRU4zV1RGN0hhc2hTZXRJeU5TMV83SW50SGFzaEl5RUVOUzFf
MTBIYXNoVHJhaXRzSXlFRUVFCiBfX1pON1dlYkNvcmUxOFNjcm9sbGluZ1N0YXRlVHJlZTIzc2V0
SGFzQ2hhbmdlZFByb3BlcnRpZXNFYgogX19aTjdXZWJDb3JlMThTY3JvbGxpbmdTdGF0ZVRyZWU2
Y29tbWl0RU5TXzE5TGF5ZXJSZXByZXNlbnRhdGlvbjRUeXBlRQogX19aTjdXZWJDb3JlMThTY3Jv
bGxpbmdTdGF0ZVRyZWU2Y3JlYXRlRVBOU18yNUFzeW5jU2Nyb2xsaW5nQ29vcmRpbmF0b3JFCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGluZ0Nv
b3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9Bc3luY1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yLmgKaW5kZXggZjU0N2ZiMWZkYmY0NTZhYjI5MDAxM2YxM2RmZjIxM2I4MTkx
YWRjNy4uNWExZGQwMmRhMWFkZDFhNzMzMzQ1YWJkYjhiMjNjMzI4NzRjZmRhMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvQXN5bmNTY3JvbGxpbmdDb29yZGluYXRv
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL0FzeW5jU2Nyb2xsaW5nQ29v
cmRpbmF0b3IuaApAQCAtNTMsNyArNTMsNyBAQCBwdWJsaWM6CiAKICAgICBTY3JvbGxpbmdUcmVl
KiBzY3JvbGxpbmdUcmVlKCkgY29uc3QgeyByZXR1cm4gbV9zY3JvbGxpbmdUcmVlLmdldCgpOyB9
CiAKLSAgICB2aXJ0dWFsIFBhc3NPd25QdHI8U2Nyb2xsaW5nVHJlZU5vZGU+IGNyZWF0ZVNjcm9s
bGluZ1RyZWVOb2RlKFNjcm9sbGluZ05vZGVUeXBlLCBTY3JvbGxpbmdOb2RlSUQpID0gMDsKKyAg
ICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2Nyb2xsaW5nVHJlZU5vZGU+IGNyZWF0ZVNjcm9sbGluZ1Ry
ZWVOb2RlKFNjcm9sbGluZ05vZGVUeXBlLCBTY3JvbGxpbmdOb2RlSUQpID0gMDsKIAogICAgIHZv
aWQgc2Nyb2xsaW5nU3RhdGVUcmVlUHJvcGVydGllc0NoYW5nZWQoKTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAKaW5kZXgg
YzM2YTg4NmQyZTA5MzM1NjJiNjEzOTdiMDE0MTVhNGQyNTg1NDY0NC4uMjAwMGEwMTBjYjBiMmJm
NDgyMTJjZWUzYWYzN2ExMmIxZDQ4ZWUwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuY3BwCkBAIC00MSw3ICs0MSw3IEBAIFNj
cm9sbGluZ1N0YXRlTm9kZTo6U2Nyb2xsaW5nU3RhdGVOb2RlKFNjcm9sbGluZ05vZGVUeXBlIG5v
ZGVUeXBlLCBTY3JvbGxpbmdTdGF0CiAgICAgLCBtX25vZGVJRChub2RlSUQpCiAgICAgLCBtX2No
YW5nZWRQcm9wZXJ0aWVzKDApCiAgICAgLCBtX3Njcm9sbGluZ1N0YXRlVHJlZShzY3JvbGxpbmdT
dGF0ZVRyZWUpCi0gICAgLCBtX3BhcmVudCgwKQorICAgICwgbV9wYXJlbnQobnVsbHB0cikKIHsK
IH0KIApAQCAtNTIsNyArNTIsNyBAQCBTY3JvbGxpbmdTdGF0ZU5vZGU6OlNjcm9sbGluZ1N0YXRl
Tm9kZShjb25zdCBTY3JvbGxpbmdTdGF0ZU5vZGUmIHN0YXRlTm9kZSwgU2NybwogICAgICwgbV9u
b2RlSUQoc3RhdGVOb2RlLnNjcm9sbGluZ05vZGVJRCgpKQogICAgICwgbV9jaGFuZ2VkUHJvcGVy
dGllcyhzdGF0ZU5vZGUuY2hhbmdlZFByb3BlcnRpZXMoKSkKICAgICAsIG1fc2Nyb2xsaW5nU3Rh
dGVUcmVlKGFkb3B0aXZlVHJlZSkKLSAgICAsIG1fcGFyZW50KDApCisgICAgLCBtX3BhcmVudChu
dWxscHRyKQogewogICAgIGlmIChoYXNDaGFuZ2VkUHJvcGVydHkoU2Nyb2xsTGF5ZXIpKQogICAg
ICAgICBzZXRMYXllcihzdGF0ZU5vZGUubGF5ZXIoKS50b1JlcHJlc2VudGF0aW9uKGFkb3B0aXZl
VHJlZS5wcmVmZXJyZWRMYXllclJlcHJlc2VudGF0aW9uKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuY3BwCmluZGV4IDg5NThk
ZTQ0NjhmM2QyYWQzNjEwNzM0MGY4YTQ0NGJmZjhjYjU0NTkuLmUxNDMwMGY4ZGFiMjE5NDU2YmUx
ZGRmMTFlYWFkMGE3ZTM2Mzg0NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmNwcApAQCAtNzAsNyArNzAsNiBAQCB2b2lkIFNj
cm9sbGluZ1N0YXRlVHJlZTo6c2V0SGFzQ2hhbmdlZFByb3BlcnRpZXMoYm9vbCBjaGFuZ2VkUHJv
cGVydGllcykKIFNjcm9sbGluZ05vZGVJRCBTY3JvbGxpbmdTdGF0ZVRyZWU6OmF0dGFjaE5vZGUo
U2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5cGUsIFNjcm9sbGluZ05vZGVJRCBuZXdOb2RlSUQsIFNj
cm9sbGluZ05vZGVJRCBwYXJlbnRJRCkKIHsKICAgICBBU1NFUlQobmV3Tm9kZUlEKTsKLQogICAg
IGlmIChTY3JvbGxpbmdTdGF0ZU5vZGUqIG5vZGUgPSBzdGF0ZU5vZGVGb3JJRChuZXdOb2RlSUQp
KSB7CiAgICAgICAgIGlmICghcGFyZW50SUQpCiAgICAgICAgICAgICByZXR1cm4gbmV3Tm9kZUlE
OwpAQCAtODMsNyArODIsNyBAQCBTY3JvbGxpbmdOb2RlSUQgU2Nyb2xsaW5nU3RhdGVUcmVlOjph
dHRhY2hOb2RlKFNjcm9sbGluZ05vZGVUeXBlIG5vZGVUeXBlLCBTY3JvbAogICAgICAgICAgICAg
cmV0dXJuIG5ld05vZGVJRDsKIAogICAgICAgICAvLyBUaGUgbm9kZSBpcyBiZWluZyByZS1wYXJl
bnRlZC4gVG8gZG8gdGhhdCwgd2UnbGwgcmVtb3ZlIGl0LCBhbmQgdGhlbiByZS1jcmVhdGUgYSBu
ZXcgbm9kZS4KLSAgICAgICAgcmVtb3ZlTm9kZUFuZEFsbERlc2NlbmRhbnRzKG5vZGUpOworICAg
ICAgICByZW1vdmVOb2RlQW5kQWxsRGVzY2VuZGFudHMobm9kZSwgT3JwaGFuU3ViZnJhbWVOb2Rl
cyk7CiAgICAgfQogCiAgICAgU2Nyb2xsaW5nU3RhdGVOb2RlKiBuZXdOb2RlID0gbnVsbHB0cjsK
QEAgLTk5LDM1ICs5OCw0NSBAQCBTY3JvbGxpbmdOb2RlSUQgU2Nyb2xsaW5nU3RhdGVUcmVlOjph
dHRhY2hOb2RlKFNjcm9sbGluZ05vZGVUeXBlIG5vZGVUeXBlLCBTY3JvbAogICAgICAgICBpZiAo
IXBhcmVudCkKICAgICAgICAgICAgIHJldHVybiAwOwogCi0gICAgICAgIHN3aXRjaCAobm9kZVR5
cGUpIHsKLSAgICAgICAgY2FzZSBGaXhlZE5vZGU6IHsKLSAgICAgICAgICAgIFJlZlB0cjxTY3Jv
bGxpbmdTdGF0ZUZpeGVkTm9kZT4gZml4ZWROb2RlID0gU2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU6
OmNyZWF0ZSgqdGhpcywgbmV3Tm9kZUlEKTsKLSAgICAgICAgICAgIG5ld05vZGUgPSBmaXhlZE5v
ZGUuZ2V0KCk7Ci0gICAgICAgICAgICBwYXJlbnQtPmFwcGVuZENoaWxkKGZpeGVkTm9kZS5yZWxl
YXNlKCkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBTdGlj
a3lOb2RlOiB7Ci0gICAgICAgICAgICBSZWZQdHI8U2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlPiBz
dGlja3lOb2RlID0gU2Nyb2xsaW5nU3RhdGVTdGlja3lOb2RlOjpjcmVhdGUoKnRoaXMsIG5ld05v
ZGVJRCk7Ci0gICAgICAgICAgICBuZXdOb2RlID0gc3RpY2t5Tm9kZS5nZXQoKTsKLSAgICAgICAg
ICAgIHBhcmVudC0+YXBwZW5kQ2hpbGQoc3RpY2t5Tm9kZS5yZWxlYXNlKCkpOwotICAgICAgICAg
ICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBGcmFtZVNjcm9sbGluZ05vZGU6IHsK
LSAgICAgICAgICAgIFJlZlB0cjxTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZT4gc2Ny
b2xsaW5nTm9kZSA9IFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlOjpjcmVhdGUoKnRo
aXMsIG5ld05vZGVJRCk7Ci0gICAgICAgICAgICBuZXdOb2RlID0gc2Nyb2xsaW5nTm9kZS5nZXQo
KTsKLSAgICAgICAgICAgIHBhcmVudC0+YXBwZW5kQ2hpbGQoc2Nyb2xsaW5nTm9kZS5yZWxlYXNl
KCkpOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBPdmVyZmxv
d1Njcm9sbGluZ05vZGU6IHsKLSAgICAgICAgICAgIFJlZlB0cjxTY3JvbGxpbmdTdGF0ZU92ZXJm
bG93U2Nyb2xsaW5nTm9kZT4gc2Nyb2xsaW5nTm9kZSA9IFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dT
Y3JvbGxpbmdOb2RlOjpjcmVhdGUoKnRoaXMsIG5ld05vZGVJRCk7Ci0gICAgICAgICAgICBuZXdO
b2RlID0gc2Nyb2xsaW5nTm9kZS5nZXQoKTsKLSAgICAgICAgICAgIHBhcmVudC0+YXBwZW5kQ2hp
bGQoc2Nyb2xsaW5nTm9kZS5yZWxlYXNlKCkpOwotICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGlmIChub2RlVHlwZSA9PSBGcmFtZVNjcm9sbGluZ05vZGUgJiYgcGFyZW50SUQpIHsKKyAgICAg
ICAgICAgIGlmIChSZWZQdHI8U2Nyb2xsaW5nU3RhdGVOb2RlPiBvcnBoYW5lZE5vZGUgPSBtX29y
cGhhbmVkU3ViZnJhbWVOb2Rlcy50YWtlKG5ld05vZGVJRCkpIHsKKyAgICAgICAgICAgICAgICBu
ZXdOb2RlID0gb3JwaGFuZWROb2RlLmdldCgpOworICAgICAgICAgICAgICAgIHBhcmVudC0+YXBw
ZW5kQ2hpbGQob3JwaGFuZWROb2RlLnJlbGVhc2UoKSk7CisgICAgICAgICAgICB9CiAgICAgICAg
IH0KKworICAgICAgICBpZiAoIW5ld05vZGUpIHsKKyAgICAgICAgICAgIHN3aXRjaCAobm9kZVR5
cGUpIHsKKyAgICAgICAgICAgIGNhc2UgRml4ZWROb2RlOiB7CisgICAgICAgICAgICAgICAgUmVm
UHRyPFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlPiBmaXhlZE5vZGUgPSBTY3JvbGxpbmdTdGF0ZUZp
eGVkTm9kZTo6Y3JlYXRlKCp0aGlzLCBuZXdOb2RlSUQpOworICAgICAgICAgICAgICAgIG5ld05v
ZGUgPSBmaXhlZE5vZGUuZ2V0KCk7CisgICAgICAgICAgICAgICAgcGFyZW50LT5hcHBlbmRDaGls
ZChmaXhlZE5vZGUucmVsZWFzZSgpKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIGNhc2UgU3RpY2t5Tm9kZTogeworICAgICAgICAgICAgICAgIFJl
ZlB0cjxTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU+IHN0aWNreU5vZGUgPSBTY3JvbGxpbmdTdGF0
ZVN0aWNreU5vZGU6OmNyZWF0ZSgqdGhpcywgbmV3Tm9kZUlEKTsKKyAgICAgICAgICAgICAgICBu
ZXdOb2RlID0gc3RpY2t5Tm9kZS5nZXQoKTsKKyAgICAgICAgICAgICAgICBwYXJlbnQtPmFwcGVu
ZENoaWxkKHN0aWNreU5vZGUucmVsZWFzZSgpKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGNhc2UgRnJhbWVTY3JvbGxpbmdOb2RlOiB7CisgICAg
ICAgICAgICAgICAgUmVmUHRyPFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlPiBzY3Jv
bGxpbmdOb2RlID0gU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU6OmNyZWF0ZSgqdGhp
cywgbmV3Tm9kZUlEKTsKKyAgICAgICAgICAgICAgICBuZXdOb2RlID0gc2Nyb2xsaW5nTm9kZS5n
ZXQoKTsKKyAgICAgICAgICAgICAgICBwYXJlbnQtPmFwcGVuZENoaWxkKHNjcm9sbGluZ05vZGUu
cmVsZWFzZSgpKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIGNhc2UgT3ZlcmZsb3dTY3JvbGxpbmdOb2RlOiB7CisgICAgICAgICAgICAgICAgUmVm
UHRyPFNjcm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlPiBzY3JvbGxpbmdOb2RlID0g
U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmNyZWF0ZSgqdGhpcywgbmV3Tm9k
ZUlEKTsKKyAgICAgICAgICAgICAgICBuZXdOb2RlID0gc2Nyb2xsaW5nTm9kZS5nZXQoKTsKKyAg
ICAgICAgICAgICAgICBwYXJlbnQtPmFwcGVuZENoaWxkKHNjcm9sbGluZ05vZGUucmVsZWFzZSgp
KTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH0K
ICAgICAgICAgfQogICAgIH0KIAogICAgIG1fc3RhdGVOb2RlTWFwLnNldChuZXdOb2RlSUQsIG5l
d05vZGUpOworICAgIG1fbm9kZXNSZW1vdmVkU2luY2VMYXN0Q29tbWl0LnJlbW92ZShuZXdOb2Rl
SUQpOwogICAgIHJldHVybiBuZXdOb2RlSUQ7CiB9CiAKQEAgLTE0MSwxOCArMTUwLDIzIEBAIHZv
aWQgU2Nyb2xsaW5nU3RhdGVUcmVlOjpkZXRhY2hOb2RlKFNjcm9sbGluZ05vZGVJRCBub2RlSUQp
CiAgICAgaWYgKCFub2RlKQogICAgICAgICByZXR1cm47CiAKLSAgICByZW1vdmVOb2RlQW5kQWxs
RGVzY2VuZGFudHMobm9kZSk7CisgICAgcmVtb3ZlTm9kZUFuZEFsbERlc2NlbmRhbnRzKG5vZGUs
IE9ycGhhblN1YmZyYW1lTm9kZXMpOwogfQogCiB2b2lkIFNjcm9sbGluZ1N0YXRlVHJlZTo6Y2xl
YXIoKQogewotICAgIHJlbW92ZU5vZGVBbmRBbGxEZXNjZW5kYW50cyhyb290U3RhdGVOb2RlKCkp
OworICAgIGlmIChyb290U3RhdGVOb2RlKCkpCisgICAgICAgIHJlbW92ZU5vZGVBbmRBbGxEZXNj
ZW5kYW50cyhyb290U3RhdGVOb2RlKCkpOworCiAgICAgQVNTRVJUKG1fc3RhdGVOb2RlTWFwLmlz
RW1wdHkoKSk7CiAgICAgbV9zdGF0ZU5vZGVNYXAuY2xlYXIoKTsKKyAgICBtX29ycGhhbmVkU3Vi
ZnJhbWVOb2Rlcy5jbGVhcigpOwogfQogCiBQYXNzT3duUHRyPFNjcm9sbGluZ1N0YXRlVHJlZT4g
U2Nyb2xsaW5nU3RhdGVUcmVlOjpjb21taXQoTGF5ZXJSZXByZXNlbnRhdGlvbjo6VHlwZSBwcmVm
ZXJyZWRMYXllclJlcHJlc2VudGF0aW9uKQogeworICAgIG1fb3JwaGFuZWRTdWJmcmFtZU5vZGVz
LmNsZWFyKCk7CisKICAgICAvLyBUaGlzIGZ1bmN0aW9uIGNsb25lcyBhbmQgcmVzZXRzIHRoZSBj
dXJyZW50IHN0YXRlIHRyZWUsIGJ1dCBsZWF2ZXMgdGhlIHRyZWUgc3RydWN0dXJlIGludGFjdC4K
ICAgICBPd25QdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPiB0cmVlU3RhdGVDbG9uZSA9IFNjcm9sbGlu
Z1N0YXRlVHJlZTo6Y3JlYXRlKCk7CiAgICAgdHJlZVN0YXRlQ2xvbmUtPnNldFByZWZlcnJlZExh
eWVyUmVwcmVzZW50YXRpb24ocHJlZmVycmVkTGF5ZXJSZXByZXNlbnRhdGlvbik7CkBAIC0xNzgs
MTYgKzE5MiwxNSBAQCB2b2lkIFNjcm9sbGluZ1N0YXRlVHJlZTo6YWRkTm9kZShTY3JvbGxpbmdT
dGF0ZU5vZGUqIG5vZGUpCiAgICAgbV9zdGF0ZU5vZGVNYXAuYWRkKG5vZGUtPnNjcm9sbGluZ05v
ZGVJRCgpLCBub2RlKTsKIH0KIAotdm9pZCBTY3JvbGxpbmdTdGF0ZVRyZWU6OnJlbW92ZU5vZGVB
bmRBbGxEZXNjZW5kYW50cyhTY3JvbGxpbmdTdGF0ZU5vZGUqIG5vZGUpCit2b2lkIFNjcm9sbGlu
Z1N0YXRlVHJlZTo6cmVtb3ZlTm9kZUFuZEFsbERlc2NlbmRhbnRzKFNjcm9sbGluZ1N0YXRlTm9k
ZSogbm9kZSwgU3ViZnJhbWVOb2RlUmVtb3ZhbCBzdWJmcmFtZU5vZGVSZW1vdmFsKQogewotICAg
IGlmICghbm9kZSkKLSAgICAgICAgcmV0dXJuOworICAgIFNjcm9sbGluZ1N0YXRlTm9kZSogcGFy
ZW50ID0gbm9kZS0+cGFyZW50KCk7CiAKLSAgICByZWN1cnNpdmVOb2RlV2lsbEJlUmVtb3ZlZChu
b2RlKTsKKyAgICByZWN1cnNpdmVOb2RlV2lsbEJlUmVtb3ZlZChub2RlLCBzdWJmcmFtZU5vZGVS
ZW1vdmFsKTsKIAogICAgIGlmIChub2RlID09IG1fcm9vdFN0YXRlTm9kZSkKICAgICAgICAgbV9y
b290U3RhdGVOb2RlID0gbnVsbHB0cjsKLSAgICBlbHNlIGlmIChTY3JvbGxpbmdTdGF0ZU5vZGUq
IHBhcmVudCA9IG5vZGUtPnBhcmVudCgpKSB7CisgICAgZWxzZSBpZiAocGFyZW50KSB7CiAgICAg
ICAgIEFTU0VSVChwYXJlbnQtPmNoaWxkcmVuKCkgJiYgcGFyZW50LT5jaGlsZHJlbigpLT5maW5k
KG5vZGUpICE9IG5vdEZvdW5kKTsKICAgICAgICAgaWYgKGF1dG8gY2hpbGRyZW4gPSBwYXJlbnQt
PmNoaWxkcmVuKCkpIHsKICAgICAgICAgICAgIHNpemVfdCBpbmRleCA9IGNoaWxkcmVuLT5maW5k
KG5vZGUpOwpAQCAtMTk3LDI0ICsyMTAsMzAgQEAgdm9pZCBTY3JvbGxpbmdTdGF0ZVRyZWU6OnJl
bW92ZU5vZGVBbmRBbGxEZXNjZW5kYW50cyhTY3JvbGxpbmdTdGF0ZU5vZGUqIG5vZGUpCiAgICAg
fQogfQogCi12b2lkIFNjcm9sbGluZ1N0YXRlVHJlZTo6cmVjdXJzaXZlTm9kZVdpbGxCZVJlbW92
ZWQoU2Nyb2xsaW5nU3RhdGVOb2RlKiBjdXJyTm9kZSkKK3ZvaWQgU2Nyb2xsaW5nU3RhdGVUcmVl
OjpyZWN1cnNpdmVOb2RlV2lsbEJlUmVtb3ZlZChTY3JvbGxpbmdTdGF0ZU5vZGUqIGN1cnJOb2Rl
LCBTdWJmcmFtZU5vZGVSZW1vdmFsIHN1YmZyYW1lTm9kZVJlbW92YWwpCiB7CisgICAgY3Vyck5v
ZGUtPnNldFBhcmVudChudWxscHRyKTsKKyAgICBpZiAoc3ViZnJhbWVOb2RlUmVtb3ZhbCA9PSBP
cnBoYW5TdWJmcmFtZU5vZGVzICYmIGN1cnJOb2RlICE9IG1fcm9vdFN0YXRlTm9kZSAmJiBjdXJy
Tm9kZS0+aXNGcmFtZVNjcm9sbGluZ05vZGUoKSkgeworICAgICAgICBtX29ycGhhbmVkU3ViZnJh
bWVOb2Rlcy5hZGQoY3Vyck5vZGUtPnNjcm9sbGluZ05vZGVJRCgpLCBjdXJyTm9kZSk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKICAgICB3aWxsUmVtb3ZlTm9kZShjdXJyTm9kZSk7CiAKICAg
ICBpZiAoYXV0byBjaGlsZHJlbiA9IGN1cnJOb2RlLT5jaGlsZHJlbigpKSB7CiAgICAgICAgIGZv
ciAoYXV0byYgY2hpbGQgOiAqY2hpbGRyZW4pCi0gICAgICAgICAgICByZWN1cnNpdmVOb2RlV2ls
bEJlUmVtb3ZlZChjaGlsZC5nZXQoKSk7CisgICAgICAgICAgICByZWN1cnNpdmVOb2RlV2lsbEJl
UmVtb3ZlZChjaGlsZC5nZXQoKSwgc3ViZnJhbWVOb2RlUmVtb3ZhbCk7CiAgICAgfQogfQogCiB2
b2lkIFNjcm9sbGluZ1N0YXRlVHJlZTo6d2lsbFJlbW92ZU5vZGUoU2Nyb2xsaW5nU3RhdGVOb2Rl
KiBub2RlKQogewotICAgIG1fbm9kZXNSZW1vdmVkU2luY2VMYXN0Q29tbWl0LmFwcGVuZChub2Rl
LT5zY3JvbGxpbmdOb2RlSUQoKSk7CisgICAgbV9ub2Rlc1JlbW92ZWRTaW5jZUxhc3RDb21taXQu
YWRkKG5vZGUtPnNjcm9sbGluZ05vZGVJRCgpKTsKICAgICBtX3N0YXRlTm9kZU1hcC5yZW1vdmUo
bm9kZS0+c2Nyb2xsaW5nTm9kZUlEKCkpOwogICAgIHNldEhhc0NoYW5nZWRQcm9wZXJ0aWVzKCk7
CiB9CiAKLXZvaWQgU2Nyb2xsaW5nU3RhdGVUcmVlOjpzZXRSZW1vdmVkTm9kZXMoVmVjdG9yPFNj
cm9sbGluZ05vZGVJRD4gbm9kZXMpCit2b2lkIFNjcm9sbGluZ1N0YXRlVHJlZTo6c2V0UmVtb3Zl
ZE5vZGVzKEhhc2hTZXQ8U2Nyb2xsaW5nTm9kZUlEPiBub2RlcykKIHsKICAgICBtX25vZGVzUmVt
b3ZlZFNpbmNlTGFzdENvbW1pdCA9IHN0ZDo6bW92ZShub2Rlcyk7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5oCmluZGV4IGU2YmYy
YmMwYWI4ODJhOGI3N2I2MTRmZmMyZjhlNDg2ODM4NmNlOGEuLmIwZTE5MjRjYjc3OTZmYzI2NjUw
YjEzZGE1NDM0MzJjYzFlYzliOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5oCkBAIC01Niw4ICs1Niw4IEBAIHB1YmxpYzoKICAg
ICB2b2lkIGRldGFjaE5vZGUoU2Nyb2xsaW5nTm9kZUlEKTsKICAgICB2b2lkIGNsZWFyKCk7CiAg
ICAgCi0gICAgY29uc3QgVmVjdG9yPFNjcm9sbGluZ05vZGVJRD4mIHJlbW92ZWROb2RlcygpIGNv
bnN0IHsgcmV0dXJuIG1fbm9kZXNSZW1vdmVkU2luY2VMYXN0Q29tbWl0OyB9Ci0gICAgdm9pZCBz
ZXRSZW1vdmVkTm9kZXMoVmVjdG9yPFNjcm9sbGluZ05vZGVJRD4pOworICAgIGNvbnN0IEhhc2hT
ZXQ8U2Nyb2xsaW5nTm9kZUlEPiYgcmVtb3ZlZE5vZGVzKCkgY29uc3QgeyByZXR1cm4gbV9ub2Rl
c1JlbW92ZWRTaW5jZUxhc3RDb21taXQ7IH0KKyAgICB2b2lkIHNldFJlbW92ZWROb2RlcyhIYXNo
U2V0PFNjcm9sbGluZ05vZGVJRD4pOwogCiAgICAgLy8gQ29waWVzIHRoZSBjdXJyZW50IHRyZWUg
c3RhdGUgYW5kIGNsZWFycyB0aGUgY2hhbmdlZCBwcm9wZXJ0aWVzIG1hc2sgaW4gdGhlIG9yaWdp
bmFsLgogICAgIFBhc3NPd25QdHI8U2Nyb2xsaW5nU3RhdGVUcmVlPiBjb21taXQoTGF5ZXJSZXBy
ZXNlbnRhdGlvbjo6VHlwZSBwcmVmZXJyZWRMYXllclJlcHJlc2VudGF0aW9uKTsKQEAgLTgxLDE1
ICs4MSwyMSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBzZXRSb290U3RhdGVOb2RlKFBhc3NSZWZQ
dHI8U2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU+IHJvb3RTdGF0ZU5vZGUpIHsgbV9y
b290U3RhdGVOb2RlID0gcm9vdFN0YXRlTm9kZTsgfQogICAgIHZvaWQgYWRkTm9kZShTY3JvbGxp
bmdTdGF0ZU5vZGUqKTsKLSAgICB2b2lkIHJlbW92ZU5vZGVBbmRBbGxEZXNjZW5kYW50cyhTY3Jv
bGxpbmdTdGF0ZU5vZGUqKTsKIAotICAgIHZvaWQgcmVjdXJzaXZlTm9kZVdpbGxCZVJlbW92ZWQo
U2Nyb2xsaW5nU3RhdGVOb2RlKiBjdXJyTm9kZSk7CisgICAgZW51bSBTdWJmcmFtZU5vZGVSZW1v
dmFsIHsKKyAgICAgICAgRGVsZXRlU3ViZnJhbWVOb2RlcywKKyAgICAgICAgT3JwaGFuU3ViZnJh
bWVOb2RlcworICAgIH07CisgICAgdm9pZCByZW1vdmVOb2RlQW5kQWxsRGVzY2VuZGFudHMoU2Ny
b2xsaW5nU3RhdGVOb2RlKiwgU3ViZnJhbWVOb2RlUmVtb3ZhbCA9IERlbGV0ZVN1YmZyYW1lTm9k
ZXMpOworCisgICAgdm9pZCByZWN1cnNpdmVOb2RlV2lsbEJlUmVtb3ZlZChTY3JvbGxpbmdTdGF0
ZU5vZGUqIGN1cnJOb2RlLCBTdWJmcmFtZU5vZGVSZW1vdmFsKTsKICAgICB2b2lkIHdpbGxSZW1v
dmVOb2RlKFNjcm9sbGluZ1N0YXRlTm9kZSopOwogCiAgICAgQXN5bmNTY3JvbGxpbmdDb29yZGlu
YXRvciogbV9zY3JvbGxpbmdDb29yZGluYXRvcjsKICAgICBTdGF0ZU5vZGVNYXAgbV9zdGF0ZU5v
ZGVNYXA7CiAgICAgUmVmUHRyPFNjcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlPiBtX3Jv
b3RTdGF0ZU5vZGU7Ci0gICAgVmVjdG9yPFNjcm9sbGluZ05vZGVJRD4gbV9ub2Rlc1JlbW92ZWRT
aW5jZUxhc3RDb21taXQ7CisgICAgSGFzaFNldDxTY3JvbGxpbmdOb2RlSUQ+IG1fbm9kZXNSZW1v
dmVkU2luY2VMYXN0Q29tbWl0OworICAgIEhhc2hNYXA8U2Nyb2xsaW5nTm9kZUlELCBSZWZQdHI8
U2Nyb2xsaW5nU3RhdGVOb2RlPj4gbV9vcnBoYW5lZFN1YmZyYW1lTm9kZXM7CiAgICAgYm9vbCBt
X2hhc0NoYW5nZWRQcm9wZXJ0aWVzOwogICAgIGJvb2wgbV9oYXNOZXdSb290U3RhdGVOb2RlOwog
ICAgIExheWVyUmVwcmVzZW50YXRpb246OlR5cGUgbV9wcmVmZXJyZWRMYXllclJlcHJlc2VudGF0
aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
VHJlZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNw
cAppbmRleCBjNzI4NjFjNjlhODg2MjQ4YWFlM2Y2M2U5NTQ0YTRlMWE5YWFhZGZkLi43ZWNjNmUy
MmUzNzM2M2FiZjQ5OTY2YjVhYzNiMDNmODIwYTA4ZGQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNwcApAQCAtOTUsNyArOTUsNyBAQCB2b2lk
IFNjcm9sbGluZ1RyZWU6OnNldE9yQ2xlYXJMYXRjaGVkTm9kZShjb25zdCBQbGF0Zm9ybVdoZWVs
RXZlbnQmIHdoZWVsRXZlbnQsCiB2b2lkIFNjcm9sbGluZ1RyZWU6OmhhbmRsZVdoZWVsRXZlbnQo
Y29uc3QgUGxhdGZvcm1XaGVlbEV2ZW50JiB3aGVlbEV2ZW50KQogewogICAgIGlmIChtX3Jvb3RO
b2RlKQotICAgICAgICBtX3Jvb3ROb2RlLT5oYW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOwor
ICAgICAgICB0b1Njcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlKG1fcm9vdE5vZGUuZ2V0KCkpLT5o
YW5kbGVXaGVlbEV2ZW50KHdoZWVsRXZlbnQpOwogfQogCiB2b2lkIFNjcm9sbGluZ1RyZWU6OnZp
ZXdwb3J0Q2hhbmdlZFZpYURlbGVnYXRlZFNjcm9sbGluZyhTY3JvbGxpbmdOb2RlSUQgbm9kZUlE
LCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGZpeGVkUG9zaXRpb25SZWN0LCBkb3VibGUgc2Nh
bGUpCkBAIC0xNTAsMTAgKzE1MCwxMiBAQCB2b2lkIFNjcm9sbGluZ1RyZWU6OmNvbW1pdE5ld1Ry
ZWVTdGF0ZShQYXNzT3duUHRyPFNjcm9sbGluZ1N0YXRlVHJlZT4gc2Nyb2xsaW5nUwogICAgIFRl
bXBvcmFyeUNoYW5nZTxib29sPiBjaGFuZ2VIYW5kbGluZ1Byb2dyYW1tYXRpY1Njcm9sbChtX2lz
SGFuZGxpbmdQcm9ncmFtbWF0aWNTY3JvbGwsIHNjcm9sbFJlcXVlc3RJc1Byb2dhbW1hdGljKTsK
IAogICAgIHJlbW92ZURlc3Ryb3llZE5vZGVzKCpzY3JvbGxpbmdTdGF0ZVRyZWUpOwotICAgIHVw
ZGF0ZVRyZWVGcm9tU3RhdGVOb2RlKHJvb3ROb2RlKTsKKworICAgIE9ycGhhblNjcm9sbGluZ05v
ZGVNYXAgb3JwaGFuTm9kZXM7CisgICAgdXBkYXRlVHJlZUZyb21TdGF0ZU5vZGUocm9vdE5vZGUs
IG9ycGhhbk5vZGVzKTsKIH0KIAotdm9pZCBTY3JvbGxpbmdUcmVlOjp1cGRhdGVUcmVlRnJvbVN0
YXRlTm9kZShjb25zdCBTY3JvbGxpbmdTdGF0ZU5vZGUqIHN0YXRlTm9kZSkKK3ZvaWQgU2Nyb2xs
aW5nVHJlZTo6dXBkYXRlVHJlZUZyb21TdGF0ZU5vZGUoY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2Rl
KiBzdGF0ZU5vZGUsIE9ycGhhblNjcm9sbGluZ05vZGVNYXAmIG9ycGhhbk5vZGVzKQogewogICAg
IGlmICghc3RhdGVOb2RlKSB7CiAgICAgICAgIG1fbm9kZU1hcC5jbGVhcigpOwpAQCAtMTYxLDYz
ICsxNjMsNjEgQEAgdm9pZCBTY3JvbGxpbmdUcmVlOjp1cGRhdGVUcmVlRnJvbVN0YXRlTm9kZShj
b25zdCBTY3JvbGxpbmdTdGF0ZU5vZGUqIHN0YXRlTm9kZSkKICAgICAgICAgcmV0dXJuOwogICAg
IH0KICAgICAKLSAgICAvLyBUaGlzIGZ1Y3Rpb24gcmVjdXJzZXMgdGhyb3VnaCB0aGUgU2Nyb2xs
aW5nU3RhdGVUcmVlIGFuZCB1cGRhdGVzIHRoZSBjb3JyZXNwb25kaW5nIFNjcm9sbGluZ1RyZWVO
b2Rlcy4KLSAgICAvLyBGaW5kIHRoZSBTY3JvbGxpbmdUcmVlTm9kZSBhc3NvY2lhdGVkIHdpdGgg
dGhlIGN1cnJlbnQgc3RhdGVOb2RlIHVzaW5nIHRoZSBzaGFyZWQgSUQgYW5kIG91ciBIYXNoTWFw
LgotICAgIFNjcm9sbGluZ1RyZWVOb2RlTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IG1fbm9kZU1h
cC5maW5kKHN0YXRlTm9kZS0+c2Nyb2xsaW5nTm9kZUlEKCkpOworICAgIFNjcm9sbGluZ05vZGVJ
RCBub2RlSUQgPSBzdGF0ZU5vZGUtPnNjcm9sbGluZ05vZGVJRCgpOworICAgIFNjcm9sbGluZ05v
ZGVJRCBwYXJlbnROb2RlSUQgPSBzdGF0ZU5vZGUtPnBhcmVudE5vZGVJRCgpOworCisgICAgYXV0
byBpdCA9IG1fbm9kZU1hcC5maW5kKG5vZGVJRCk7CiAKLSAgICBTY3JvbGxpbmdUcmVlTm9kZSog
bm9kZTsKLSAgICBpZiAoaXQgIT0gbV9ub2RlTWFwLmVuZCgpKSB7CisgICAgUmVmUHRyPFNjcm9s
bGluZ1RyZWVOb2RlPiBub2RlOworICAgIGlmIChpdCAhPSBtX25vZGVNYXAuZW5kKCkpCiAgICAg
ICAgIG5vZGUgPSBpdC0+dmFsdWU7Ci0gICAgICAgIG5vZGUtPnVwZGF0ZUJlZm9yZUNoaWxkcmVu
KCpzdGF0ZU5vZGUpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIC8vIElmIHRoZSBub2RlIGlzbid0
IGZvdW5kLCBpdCdzIGVpdGhlciBuZXcgYW5kIG5lZWRzIHRvIGJlIGFkZGVkIHRvIHRoZSB0cmVl
LCBvciB0aGVyZSBpcyBhIG5ldyBJRCBmb3Igb3VyCi0gICAgICAgIC8vIHJvb3Qgbm9kZS4KLSAg
ICAgICAgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCA9IHN0YXRlTm9kZS0+c2Nyb2xsaW5nTm9kZUlE
KCk7Ci0gICAgICAgIGlmICghc3RhdGVOb2RlLT5wYXJlbnQoKSkgewotICAgICAgICAgICAgLy8g
VGhpcyBpcyB0aGUgcm9vdCBub2RlLiBOdWtlIHRoZSBub2RlIG1hcC4KKyAgICBlbHNlIHsKKyAg
ICAgICAgbm9kZSA9IGNyZWF0ZU5vZGUoc3RhdGVOb2RlLT5ub2RlVHlwZSgpLCBub2RlSUQpOwor
ICAgICAgICBpZiAoIXBhcmVudE5vZGVJRCkgeworICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUg
cm9vdCBub2RlLiBDbGVhciB0aGUgbm9kZSBtYXAuCisgICAgICAgICAgICBBU1NFUlQoc3RhdGVO
b2RlLT5ub2RlVHlwZSgpID09IEZyYW1lU2Nyb2xsaW5nTm9kZSk7CisgICAgICAgICAgICBtX3Jv
b3ROb2RlID0gbm9kZTsKICAgICAgICAgICAgIG1fbm9kZU1hcC5jbGVhcigpOworICAgICAgICB9
IAorICAgICAgICBtX25vZGVNYXAuc2V0KG5vZGVJRCwgbm9kZS5nZXQoKSk7CisgICAgfQorCisg
ICAgaWYgKHBhcmVudE5vZGVJRCkgeworICAgICAgICBhdXRvIHBhcmVudEl0ID0gbV9ub2RlTWFw
LmZpbmQocGFyZW50Tm9kZUlEKTsKKyAgICAgICAgQVNTRVJUKHBhcmVudEl0ICE9IG1fbm9kZU1h
cC5lbmQoKSk7CisgICAgICAgIGlmIChwYXJlbnRJdCAhPSBtX25vZGVNYXAuZW5kKCkpIHsKKyAg
ICAgICAgICAgIFNjcm9sbGluZ1RyZWVOb2RlKiBwYXJlbnQgPSBwYXJlbnRJdC0+dmFsdWU7Cisg
ICAgICAgICAgICBub2RlLT5zZXRQYXJlbnQocGFyZW50KTsKKyAgICAgICAgICAgIHBhcmVudC0+
YXBwZW5kQ2hpbGQobm9kZSk7CisgICAgICAgIH0KKyAgICB9CiAKLSAgICAgICAgICAgIG1fcm9v
dE5vZGUgPSBzdGF0aWNfcG9pbnRlcl9jYXN0PFNjcm9sbGluZ1RyZWVTY3JvbGxpbmdOb2RlPihj
cmVhdGVOb2RlKEZyYW1lU2Nyb2xsaW5nTm9kZSwgbm9kZUlEKSk7Ci0gICAgICAgICAgICBtX25v
ZGVNYXAuc2V0KG5vZGVJRCwgbV9yb290Tm9kZS5nZXQoKSk7Ci0gICAgICAgICAgICBtX3Jvb3RO
b2RlLT51cGRhdGVCZWZvcmVDaGlsZHJlbigqc3RhdGVOb2RlKTsKLSAgICAgICAgICAgIG5vZGUg
PSBtX3Jvb3ROb2RlLmdldCgpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgT3duUHRy
PFNjcm9sbGluZ1RyZWVOb2RlPiBuZXdOb2RlID0gY3JlYXRlTm9kZShzdGF0ZU5vZGUtPm5vZGVU
eXBlKCksIG5vZGVJRCk7Ci0gICAgICAgICAgICBub2RlID0gbmV3Tm9kZS5nZXQoKTsKLSAgICAg
ICAgICAgIG1fbm9kZU1hcC5zZXQobm9kZUlELCBub2RlKTsKLSAgICAgICAgICAgIFNjcm9sbGlu
Z1RyZWVOb2RlTWFwOjpjb25zdF9pdGVyYXRvciBpdCA9IG1fbm9kZU1hcC5maW5kKHN0YXRlTm9k
ZS0+cGFyZW50KCktPnNjcm9sbGluZ05vZGVJRCgpKTsKLSAgICAgICAgICAgIEFTU0VSVChpdCAh
PSBtX25vZGVNYXAuZW5kKCkpOwotICAgICAgICAgICAgaWYgKGl0ICE9IG1fbm9kZU1hcC5lbmQo
KSkgewotICAgICAgICAgICAgICAgIFNjcm9sbGluZ1RyZWVOb2RlKiBwYXJlbnQgPSBpdC0+dmFs
dWU7Ci0gICAgICAgICAgICAgICAgbmV3Tm9kZS0+c2V0UGFyZW50KHBhcmVudCk7Ci0gICAgICAg
ICAgICAgICAgcGFyZW50LT5hcHBlbmRDaGlsZChuZXdOb2RlLnJlbGVhc2UoKSk7Ci0gICAgICAg
ICAgICB9Ci0gICAgICAgICAgICBub2RlLT51cGRhdGVCZWZvcmVDaGlsZHJlbigqc3RhdGVOb2Rl
KTsKKyAgICBub2RlLT51cGRhdGVCZWZvcmVDaGlsZHJlbigqc3RhdGVOb2RlKTsKKyAgICAKKyAg
ICAvLyBNb3ZlIGFsbCBjaGlsZHJlbiBpbnRvIHRoZSBvcnBoYW5Ob2RlcyBtYXAuIExpdmUgb25l
cyB3aWxsIGdldCBhZGRlZCBiYWNrIGFzIHdlIHJlY3Vyc2Ugb3ZlciBjaGlsZHJlbi4KKyAgICBp
ZiAoYXV0byBub2RlQ2hpbGRyZW4gPSBub2RlLT5jaGlsZHJlbigpKSB7CisgICAgICAgIGZvciAo
YXV0byYgY2hpbGRTY3JvbGxpbmdOb2RlIDogKm5vZGVDaGlsZHJlbikgeworICAgICAgICAgICAg
Y2hpbGRTY3JvbGxpbmdOb2RlLT5zZXRQYXJlbnQobnVsbHB0cik7CisgICAgICAgICAgICBvcnBo
YW5Ob2Rlcy5hZGQoY2hpbGRTY3JvbGxpbmdOb2RlLT5zY3JvbGxpbmdOb2RlSUQoKSwgY2hpbGRT
Y3JvbGxpbmdOb2RlKTsKICAgICAgICAgfQorICAgICAgICBub2RlQ2hpbGRyZW4tPmNsZWFyKCk7
CiAgICAgfQogCiAgICAgLy8gTm93IHVwZGF0ZSB0aGUgY2hpbGRyZW4gaWYgd2UgaGF2ZSBhbnku
CiAgICAgaWYgKGF1dG8gY2hpbGRyZW4gPSBzdGF0ZU5vZGUtPmNoaWxkcmVuKCkpIHsKICAgICAg
ICAgZm9yIChhdXRvJiBjaGlsZCA6ICpjaGlsZHJlbikKLSAgICAgICAgICAgIHVwZGF0ZVRyZWVG
cm9tU3RhdGVOb2RlKGNoaWxkLmdldCgpKTsKKyAgICAgICAgICAgIHVwZGF0ZVRyZWVGcm9tU3Rh
dGVOb2RlKGNoaWxkLmdldCgpLCBvcnBoYW5Ob2Rlcyk7CiAgICAgfQorCiAgICAgbm9kZS0+dXBk
YXRlQWZ0ZXJDaGlsZHJlbigqc3RhdGVOb2RlKTsKIH0KIAogdm9pZCBTY3JvbGxpbmdUcmVlOjpy
ZW1vdmVEZXN0cm95ZWROb2Rlcyhjb25zdCBTY3JvbGxpbmdTdGF0ZVRyZWUmIHN0YXRlVHJlZSkK
IHsKLSAgICBmb3IgKGNvbnN0IGF1dG8mIHJlbW92ZWROb2RlIDogc3RhdGVUcmVlLnJlbW92ZWRO
b2RlcygpKSB7Ci0gICAgICAgIFNjcm9sbGluZ1RyZWVOb2RlKiBub2RlID0gbV9ub2RlTWFwLnRh
a2UocmVtb3ZlZE5vZGUpOwotICAgICAgICBpZiAoIW5vZGUpCi0gICAgICAgICAgICBjb250aW51
ZTsKLQotICAgICAgICBpZiAobm9kZS0+c2Nyb2xsaW5nTm9kZUlEKCkgPT0gbV9sYXRjaGVkTm9k
ZSkKKyAgICBmb3IgKGNvbnN0IGF1dG8mIHJlbW92ZWROb2RlSUQgOiBzdGF0ZVRyZWUucmVtb3Zl
ZE5vZGVzKCkpIHsKKyAgICAgICAgbV9ub2RlTWFwLnJlbW92ZShyZW1vdmVkTm9kZUlEKTsKKyAg
ICAgICAgaWYgKHJlbW92ZWROb2RlSUQgPT0gbV9sYXRjaGVkTm9kZSkKICAgICAgICAgICAgIGNs
ZWFyTGF0Y2hlZE5vZGUoKTsKLQotICAgICAgICAvLyBOZXZlciBkZXN0cm95IHRoZSByb290IG5v
ZGUuIFRoZXJlIHdpbGwgYmUgYSBuZXcgcm9vdCBub2RlIGluIHRoZSBzdGF0ZSB0cmVlLCBhbmQg
d2Ugd2lsbAotICAgICAgICAvLyBhc3NvY2lhdGUgaXQgd2l0aCBvdXIgZXhpc3Rpbmcgcm9vdCBu
b2RlIGluIHVwZGF0ZVRyZWVGcm9tU3RhdGVOb2RlKCkuCi0gICAgICAgIGlmIChub2RlLT5wYXJl
bnQoKSkKLSAgICAgICAgICAgIG1fcm9vdE5vZGUtPnJlbW92ZUNoaWxkKG5vZGUpOwogICAgIH0K
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5n
VHJlZS5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5oCmlu
ZGV4IGMxZGY5ZTk3N2E2MjU0Nzk4OTg2MjA3MDRlZjIwOWU2MTU0MGY2N2MuLmY0ZWY0N2VlZDky
NzMyOTU5MjVjZjRiOTc1OWMyOGQ1OGY1YzBjNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmgKQEAgLTExNiw3ICsxMTYsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRTY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkKGJvb2wgZmxhZyk7
CiAgICAgYm9vbCBzY3JvbGxpbmdQZXJmb3JtYW5jZUxvZ2dpbmdFbmFibGVkKCk7CiAKLSAgICBT
Y3JvbGxpbmdUcmVlU2Nyb2xsaW5nTm9kZSogcm9vdE5vZGUoKSBjb25zdCB7IHJldHVybiBtX3Jv
b3ROb2RlLmdldCgpOyB9CisgICAgU2Nyb2xsaW5nVHJlZU5vZGUqIHJvb3ROb2RlKCkgY29uc3Qg
eyByZXR1cm4gbV9yb290Tm9kZS5nZXQoKTsgfQogCiAgICAgU2Nyb2xsaW5nTm9kZUlEIGxhdGNo
ZWROb2RlKCk7CiAgICAgdm9pZCBzZXRMYXRjaGVkTm9kZShTY3JvbGxpbmdOb2RlSUQpOwpAQCAt
MTMxLDEzICsxMzEsMTUgQEAgcHJvdGVjdGVkOgogCiBwcml2YXRlOgogICAgIHZvaWQgcmVtb3Zl
RGVzdHJveWVkTm9kZXMoY29uc3QgU2Nyb2xsaW5nU3RhdGVUcmVlJik7Ci0gICAgdm9pZCB1cGRh
dGVUcmVlRnJvbVN0YXRlTm9kZShjb25zdCBTY3JvbGxpbmdTdGF0ZU5vZGUqKTsKKyAgICAKKyAg
ICB0eXBlZGVmIEhhc2hNYXA8U2Nyb2xsaW5nTm9kZUlELCBSZWZQdHI8U2Nyb2xsaW5nVHJlZU5v
ZGU+PiBPcnBoYW5TY3JvbGxpbmdOb2RlTWFwOworICAgIHZvaWQgdXBkYXRlVHJlZUZyb21TdGF0
ZU5vZGUoY29uc3QgU2Nyb2xsaW5nU3RhdGVOb2RlKiwgT3JwaGFuU2Nyb2xsaW5nTm9kZU1hcCYp
OwogCi0gICAgdmlydHVhbCBQYXNzT3duUHRyPFNjcm9sbGluZ1RyZWVOb2RlPiBjcmVhdGVOb2Rl
KFNjcm9sbGluZ05vZGVUeXBlLCBTY3JvbGxpbmdOb2RlSUQpID0gMDsKKyAgICB2aXJ0dWFsIFBh
c3NSZWZQdHI8U2Nyb2xsaW5nVHJlZU5vZGU+IGNyZWF0ZU5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUs
IFNjcm9sbGluZ05vZGVJRCkgPSAwOwogCiAgICAgU2Nyb2xsaW5nVHJlZU5vZGUqIG5vZGVGb3JJ
RChTY3JvbGxpbmdOb2RlSUQpIGNvbnN0OwogCi0gICAgT3duUHRyPFNjcm9sbGluZ1RyZWVTY3Jv
bGxpbmdOb2RlPiBtX3Jvb3ROb2RlOworICAgIFJlZlB0cjxTY3JvbGxpbmdUcmVlTm9kZT4gbV9y
b290Tm9kZTsKIAogICAgIHR5cGVkZWYgSGFzaE1hcDxTY3JvbGxpbmdOb2RlSUQsIFNjcm9sbGlu
Z1RyZWVOb2RlKj4gU2Nyb2xsaW5nVHJlZU5vZGVNYXA7CiAgICAgU2Nyb2xsaW5nVHJlZU5vZGVN
YXAgbV9ub2RlTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nVHJlZU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nVHJlZU5vZGUuY3BwCmluZGV4IGE5NTM3MTQ3MjE0YjM4YTA1MGY4MGVhZmFkMDI4ZTYx
ODcwMTQ2NGUuLjk4MTY2NDZmOGU3NzMxODU5ZWZhMzRmZjI1MmNmMTJhYTljMThjYmMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWVOb2RlLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9kZS5j
cHAKQEAgLTQ0LDEyICs0NCwxMiBAQCBTY3JvbGxpbmdUcmVlTm9kZTo6flNjcm9sbGluZ1RyZWVO
b2RlKCkKIHsKIH0KIAotdm9pZCBTY3JvbGxpbmdUcmVlTm9kZTo6YXBwZW5kQ2hpbGQoUGFzc093
blB0cjxTY3JvbGxpbmdUcmVlTm9kZT4gY2hpbGROb2RlKQordm9pZCBTY3JvbGxpbmdUcmVlTm9k
ZTo6YXBwZW5kQ2hpbGQoUGFzc1JlZlB0cjxTY3JvbGxpbmdUcmVlTm9kZT4gY2hpbGROb2RlKQog
ewogICAgIGNoaWxkTm9kZS0+c2V0UGFyZW50KHRoaXMpOwogCiAgICAgaWYgKCFtX2NoaWxkcmVu
KQotICAgICAgICBtX2NoaWxkcmVuID0gYWRvcHRQdHIobmV3IFZlY3RvcjxPd25QdHI8U2Nyb2xs
aW5nVHJlZU5vZGU+Pik7CisgICAgICAgIG1fY2hpbGRyZW4gPSBhZG9wdFB0cihuZXcgU2Nyb2xs
aW5nVHJlZUNoaWxkcmVuVmVjdG9yKTsKIAogICAgIG1fY2hpbGRyZW4tPmFwcGVuZChjaGlsZE5v
ZGUpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nVHJlZU5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1Ry
ZWVOb2RlLmgKaW5kZXggZjBmMWE1NDIzNjM4OGI2Zjk5MDgxY2ZjODM1ZTNkOTM4ODJkNzdmMy4u
MTkwYmMzODA1OWYyZTk5YzRhZGFmNjdlZjEwODFjMTc3N2FhZGJmYyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZU5vZGUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlTm9kZS5oCkBAIC0zMSw3ICsz
MSw3IEBACiAjaW5jbHVkZSAiSW50UmVjdC5oIgogI2luY2x1ZGUgIlNjcm9sbFR5cGVzLmgiCiAj
aW5jbHVkZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCIKLSNpbmNsdWRlIDx3dGYvUGFzc093blB0
ci5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IApAQCAtMzksNyArMzksNyBAQCBjbGFzcyBTY3JvbGxpbmdTdGF0ZUZpeGVkTm9kZTsKIGNsYXNz
IFNjcm9sbGluZ1N0YXRlTm9kZTsKIGNsYXNzIFNjcm9sbGluZ1N0YXRlU2Nyb2xsaW5nTm9kZTsK
IAotY2xhc3MgU2Nyb2xsaW5nVHJlZU5vZGUgeworY2xhc3MgU2Nyb2xsaW5nVHJlZU5vZGUgOiBw
dWJsaWMgUmVmQ291bnRlZDxTY3JvbGxpbmdUcmVlTm9kZT4gewogcHVibGljOgogICAgIHZpcnR1
YWwgflNjcm9sbGluZ1RyZWVOb2RlKCk7CiAKQEAgLTYwLDE0ICs2MCwxNiBAQCBwdWJsaWM6CiAg
ICAgU2Nyb2xsaW5nVHJlZU5vZGUqIHBhcmVudCgpIGNvbnN0IHsgcmV0dXJuIG1fcGFyZW50OyB9
CiAgICAgdm9pZCBzZXRQYXJlbnQoU2Nyb2xsaW5nVHJlZU5vZGUqIHBhcmVudCkgeyBtX3BhcmVu
dCA9IHBhcmVudDsgfQogCi0gICAgdm9pZCBhcHBlbmRDaGlsZChQYXNzT3duUHRyPFNjcm9sbGlu
Z1RyZWVOb2RlPik7CisgICAgdHlwZWRlZiBWZWN0b3I8UmVmUHRyPFNjcm9sbGluZ1RyZWVOb2Rl
Pj4gU2Nyb2xsaW5nVHJlZUNoaWxkcmVuVmVjdG9yOworICAgIFNjcm9sbGluZ1RyZWVDaGlsZHJl
blZlY3RvciogY2hpbGRyZW4oKSB7IHJldHVybiBtX2NoaWxkcmVuLmdldCgpOyB9CisgICAgCisg
ICAgdm9pZCBhcHBlbmRDaGlsZChQYXNzUmVmUHRyPFNjcm9sbGluZ1RyZWVOb2RlPik7CiAgICAg
dm9pZCByZW1vdmVDaGlsZChTY3JvbGxpbmdUcmVlTm9kZSopOwogCiBwcm90ZWN0ZWQ6CiAgICAg
U2Nyb2xsaW5nVHJlZU5vZGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9sbGluZ05vZGVUeXBlLCBTY3Jv
bGxpbmdOb2RlSUQpOwogICAgIFNjcm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUoKSBjb25zdCB7
IHJldHVybiBtX3Njcm9sbGluZ1RyZWU7IH0KIAotICAgIHR5cGVkZWYgVmVjdG9yPE93blB0cjxT
Y3JvbGxpbmdUcmVlTm9kZT4+IFNjcm9sbGluZ1RyZWVDaGlsZHJlblZlY3RvcjsKICAgICBPd25Q
dHI8U2Nyb2xsaW5nVHJlZUNoaWxkcmVuVmVjdG9yPiBtX2NoaWxkcmVuOwogCiBwcml2YXRlOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxp
bmdUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1RocmVhZGVkU2Nyb2xs
aW5nVHJlZS5jcHAKaW5kZXggNTc5MDE3N2U4NWUwYTViMmY2M2U0ZWZiYTc2MmQ1MmIzYmU2NGFk
Zi4uZTIzMzQ3ZDk3NmE1NzdkNDFjOWViNTdjZWI2YmUyOTkxNzE1YjVjYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUu
Y3BwCkBAIC0xMTYsNyArMTE2LDcgQEAgdm9pZCBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6OmhhbmRs
ZVdoZWVsRXZlbnRQaGFzZShQbGF0Zm9ybVdoZWVsRXZlbnRQaGFzZSBwaGFzZSkKIH0KICNlbmRp
ZgogCi1QYXNzT3duUHRyPFNjcm9sbGluZ1RyZWVOb2RlPiBUaHJlYWRlZFNjcm9sbGluZ1RyZWU6
OmNyZWF0ZU5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5cGUsIFNjcm9sbGluZ05vZGVJRCBu
b2RlSUQpCitQYXNzUmVmUHRyPFNjcm9sbGluZ1RyZWVOb2RlPiBUaHJlYWRlZFNjcm9sbGluZ1Ry
ZWU6OmNyZWF0ZU5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5cGUsIFNjcm9sbGluZ05vZGVJ
RCBub2RlSUQpCiB7CiAgICAgcmV0dXJuIG1fc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPmNyZWF0ZVNj
cm9sbGluZ1RyZWVOb2RlKG5vZGVUeXBlLCBub2RlSUQpOwogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvVGhyZWFkZWRTY3JvbGxpbmdUcmVlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaAppbmRleCBiOGM1
Y2JiNDdlODZmZDFmOGI5YzI2YzA5MWRhZTZmMDlkMWY3MjVjLi40ZTc3NTExOTA0MTQ4OTNmMDgw
NTEwYjI3MzdlYzc5NDYwNjRhODU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9UaHJlYWRlZFNjcm9sbGluZ1RyZWUuaApAQCAtNTksNyArNTksNyBAQCBwdWJs
aWM6CiBwcm90ZWN0ZWQ6CiAgICAgZXhwbGljaXQgVGhyZWFkZWRTY3JvbGxpbmdUcmVlKEFzeW5j
U2Nyb2xsaW5nQ29vcmRpbmF0b3IqKTsKIAotICAgIHZpcnR1YWwgUGFzc093blB0cjxTY3JvbGxp
bmdUcmVlTm9kZT4gY3JlYXRlTm9kZShTY3JvbGxpbmdOb2RlVHlwZSwgU2Nyb2xsaW5nTm9kZUlE
KSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8U2Nyb2xsaW5nVHJlZU5vZGU+IGNy
ZWF0ZU5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUsIFNjcm9sbGluZ05vZGVJRCkgb3ZlcnJpZGU7CiAK
ICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsaW5nVHJlZU5vZGVEaWRTY3JvbGwoU2Nyb2xsaW5nTm9k
ZUlELCBjb25zdCBGbG9hdFBvaW50JiBzY3JvbGxQb3NpdGlvbiwgU2V0T3JTeW5jU2Nyb2xsaW5n
TGF5ZXJQb3NpdGlvbiA9IFN5bmNTY3JvbGxpbmdMYXllclBvc2l0aW9uKSBvdmVycmlkZTsKICNp
ZiBQTEFURk9STShNQUMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5oCmluZGV4IGM5NTk4ZTc4YjJhODhl
MmYyNDc4YTE2NDg3NjAwYmVlOGMzYzlkMzAuLjU0ZTA2MDljMTM3Mjg3YzlhYzNhNmNhMmZmYzkw
MTdlNDJlMTdhOWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lv
cy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5oCkBAIC01MSw3ICs1MSw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlV2hlZWxFdmVudChGcmFtZVZpZXcqLCBjb25z
dCBQbGF0Zm9ybVdoZWVsRXZlbnQmKSBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogCiBwcml2
YXRlOgotICAgIHZpcnR1YWwgUGFzc093blB0cjxTY3JvbGxpbmdUcmVlTm9kZT4gY3JlYXRlU2Ny
b2xsaW5nVHJlZU5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUsIFNjcm9sbGluZ05vZGVJRCkgb3ZlcnJp
ZGU7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPFNjcm9sbGluZ1RyZWVOb2RlPiBjcmVhdGVTY3Jv
bGxpbmdUcmVlTm9kZShTY3JvbGxpbmdOb2RlVHlwZSwgU2Nyb2xsaW5nTm9kZUlEKSBvdmVycmlk
ZTsKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVUcmVlU3RhdGVDb21taXQoKSBvdmVycmlkZTsK
IAogICAgIHZvaWQgc2Nyb2xsaW5nU3RhdGVUcmVlQ29tbWl0dGVyVGltZXJGaXJlZChUaW1lcjxT
Y3JvbGxpbmdDb29yZGluYXRvcklPUz4qKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbSBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdDb29yZGluYXRvcklPUy5tbQppbmRleCA1
ZmMyOTc3OTQzMGQ2YWYwZGEzYjdiOWQ1NzU5MDc0Yzc2Mjk5NzExLi4yNzNkZGZmNzMyN2ZiZjg2
YTQ3MTVkNjQ5ZTFlOGJjZjg4N2Y4ZGQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nQ29vcmRpbmF0b3JJT1MubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ0Nvb3JkaW5hdG9ySU9TLm1tCkBAIC0x
MDQsNyArMTA0LDcgQEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6Y29tbWl0VHJlZVN0
YXRlKCkKICAgICAvLyBGSVhNRTogZmlndXJlIG91dCBob3cgdG8gY29tbWl0LgogfQogCi1QYXNz
T3duUHRyPFNjcm9sbGluZ1RyZWVOb2RlPiBTY3JvbGxpbmdDb29yZGluYXRvcklPUzo6Y3JlYXRl
U2Nyb2xsaW5nVHJlZU5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5cGUsIFNjcm9sbGluZ05v
ZGVJRCBub2RlSUQpCitQYXNzUmVmUHRyPFNjcm9sbGluZ1RyZWVOb2RlPiBTY3JvbGxpbmdDb29y
ZGluYXRvcklPUzo6Y3JlYXRlU2Nyb2xsaW5nVHJlZU5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUgbm9k
ZVR5cGUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCiB7CiAgICAgQVNTRVJUKHNjcm9sbGluZ1Ry
ZWUoKSk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9T
Y3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUy5oCmluZGV4
IGViOWE3MDg0ZDAxMzdmMGVkYWI4YTVjOThhMWQyOTJhZjk5MDFmMTcuLmQ0ZDNmNDczMWYxZmRm
NDM0MTE4NzNiNDcyMzQ5OGU4MjIyMDg4YzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNj
cm9sbGluZ05vZGVJT1MuaApAQCAtMzcsNyArMzcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MgOiBwdWJsaWMgU2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZSB7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NPd25Q
dHI8U2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZUlPUz4gY3JlYXRlKFNjcm9sbGluZ1Ry
ZWUmLCBTY3JvbGxpbmdOb2RlSUQpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNjcm9sbGluZ1Ry
ZWVGcmFtZVNjcm9sbGluZ05vZGVJT1M+IGNyZWF0ZShTY3JvbGxpbmdUcmVlJiwgU2Nyb2xsaW5n
Tm9kZUlEKTsKICAgICB2aXJ0dWFsIH5TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9T
KCk7CiAKIHByb3RlY3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xs
aW5nL2lvcy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TLm1tIGIvU291cmNlL1dl
YkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJ
T1MubW0KaW5kZXggYmFlODM0NjVkY2QzMmExNTllY2NiYjM5MzRjODFlNDE0NzNiZTEzMC4uOWRm
N2U4YTlhMTRhMzFlZDMxZjE2M2RjZTQ2MGFjYmFjZTU4OTlkYyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVJT1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1MubW0KQEAgLTQwLDkgKzQwLDkgQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1QYXNzT3duUHRyPFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05v
ZGVJT1M+IFNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1M6OmNyZWF0ZShTY3JvbGxp
bmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQorUGFzc1JlZlB0
cjxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TPiBTY3JvbGxpbmdUcmVlRnJhbWVT
Y3JvbGxpbmdOb2RlSU9TOjpjcmVhdGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSwgU2Ny
b2xsaW5nTm9kZUlEIG5vZGVJRCkKIHsKLSAgICByZXR1cm4gYWRvcHRQdHIobmV3IFNjcm9sbGlu
Z1RyZWVGcmFtZVNjcm9sbGluZ05vZGVJT1Moc2Nyb2xsaW5nVHJlZSwgbm9kZUlEKSk7CisgICAg
cmV0dXJuIGFkb3B0UmVmKG5ldyBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TKHNj
cm9sbGluZ1RyZWUsIG5vZGVJRCkpOwogfQogCiBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdO
b2RlSU9TOjpTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlSU9TKFNjcm9sbGluZ1RyZWUm
IHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUlPUy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUlPUy5jcHAKaW5kZXgg
OWFkM2UyNTUyMjc5NGUxNzY5MWI5NzVjNWZlMWE4MDFkN2EwOGQ0Mi4uMTE1YzAxNmFmNWU4YjMx
OGJmZjgzMTc3ZjAwYWU1YjBiOTIyY2FkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVJT1MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlSU9TLmNwcApAQCAtOTIsNyArOTIsNyBA
QCB2b2lkIFNjcm9sbGluZ1RyZWVJT1M6OnNjcm9sbGluZ1RyZWVOb2RlRGlkU2Nyb2xsKFNjcm9s
bGluZ05vZGVJRCBub2RlSUQsIGNvbnN0CiAgICAgY2FsbE9uTWFpblRocmVhZChiaW5kKCZBc3lu
Y1Njcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVVwZGF0ZVNjcm9sbFBvc2l0aW9uQWZ0ZXJB
c3luY1Njcm9sbCwgbV9zY3JvbGxpbmdDb29yZGluYXRvci5nZXQoKSwgbm9kZUlELCBzY3JvbGxQ
b3NpdGlvbiwgaXNIYW5kbGluZ1Byb2dyYW1tYXRpY1Njcm9sbCgpLCBzY3JvbGxpbmdMYXllclBv
c2l0aW9uQWN0aW9uKSk7CiB9CiAKLVBhc3NPd25QdHI8U2Nyb2xsaW5nVHJlZU5vZGU+IFNjcm9s
bGluZ1RyZWVJT1M6OmNyZWF0ZU5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5cGUsIFNjcm9s
bGluZ05vZGVJRCBub2RlSUQpCitQYXNzUmVmUHRyPFNjcm9sbGluZ1RyZWVOb2RlPiBTY3JvbGxp
bmdUcmVlSU9TOjpjcmVhdGVOb2RlKFNjcm9sbGluZ05vZGVUeXBlIG5vZGVUeXBlLCBTY3JvbGxp
bmdOb2RlSUQgbm9kZUlEKQogewogICAgIHJldHVybiBtX3Njcm9sbGluZ0Nvb3JkaW5hdG9yLT5j
cmVhdGVTY3JvbGxpbmdUcmVlTm9kZShub2RlVHlwZSwgbm9kZUlEKTsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlSU9TLmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZUlPUy5oCmluZGV4
IGM3NjE2YTVhYjFhNzBlMzI2NzUzOTExZDAzMGQ3ZjJmYzQ1Y2MxYjUuLmM2YTk0N2UzY2FiMGJj
OWQ1Y2MyOGU4NThhMmRjYzU4MjUwZjVkZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlSU9TLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVJT1MuaApAQCAtNTQsNyArNTQsNyBAQCBw
cml2YXRlOgogICAgIGV4cGxpY2l0IFNjcm9sbGluZ1RyZWVJT1MoQXN5bmNTY3JvbGxpbmdDb29y
ZGluYXRvciopOwogICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbGluZ1RyZWVJT1MoKSBjb25zdCBv
dmVycmlkZSB7IHJldHVybiB0cnVlOyB9CiAKLSAgICB2aXJ0dWFsIFBhc3NPd25QdHI8U2Nyb2xs
aW5nVHJlZU5vZGU+IGNyZWF0ZU5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUsIFNjcm9sbGluZ05vZGVJ
RCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPFNjcm9sbGluZ1RyZWVOb2RlPiBj
cmVhdGVOb2RlKFNjcm9sbGluZ05vZGVUeXBlLCBTY3JvbGxpbmdOb2RlSUQpIG92ZXJyaWRlOwog
CiAgICAgdmlydHVhbCB2b2lkIHNjcm9sbGluZ1RyZWVOb2RlRGlkU2Nyb2xsKFNjcm9sbGluZ05v
ZGVJRCwgY29uc3QgRmxvYXRQb2ludCYgc2Nyb2xsUG9zaXRpb24sIFNldE9yU3luY1Njcm9sbGlu
Z0xheWVyUG9zaXRpb24gPSBTeW5jU2Nyb2xsaW5nTGF5ZXJQb3NpdGlvbikgb3ZlcnJpZGU7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdD
b29yZGluYXRvck1hYy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yTWFjLmgKaW5kZXggMWYzMDIwZWMwMTE2MGQ0MDY0MWMxNWVhYjdjNTll
OGIwYTRhYmJiMC4uOGVhMjI1MmY2OTJiZmIxMjBlZmVkNTE4ZjAwYjBlMDliNGJkNDg3ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ0Nvb3Jk
aW5hdG9yTWFjLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yTWFjLmgKQEAgLTUxLDcgKzUxLDcgQEAgcHVibGljOgogICAgIHZpcnR1
YWwgYm9vbCBoYW5kbGVXaGVlbEV2ZW50KEZyYW1lVmlldyosIGNvbnN0IFBsYXRmb3JtV2hlZWxF
dmVudCYpIG92ZXJyaWRlOwogCiBwcml2YXRlOgotICAgIHZpcnR1YWwgUGFzc093blB0cjxTY3Jv
bGxpbmdUcmVlTm9kZT4gY3JlYXRlU2Nyb2xsaW5nVHJlZU5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUs
IFNjcm9sbGluZ05vZGVJRCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBQYXNzUmVmUHRyPFNjcm9s
bGluZ1RyZWVOb2RlPiBjcmVhdGVTY3JvbGxpbmdUcmVlTm9kZShTY3JvbGxpbmdOb2RlVHlwZSwg
U2Nyb2xsaW5nTm9kZUlEKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVUcmVl
U3RhdGVDb21taXQoKSBvdmVycmlkZTsKIAogICAgIHZvaWQgc2Nyb2xsaW5nU3RhdGVUcmVlQ29t
bWl0dGVyVGltZXJGaXJlZChUaW1lcjxTY3JvbGxpbmdDb29yZGluYXRvck1hYz4qKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdDb29yZGlu
YXRvck1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdD
b29yZGluYXRvck1hYy5tbQppbmRleCBjNmJlMGJlNjhiMzlkMDAwMzc1YzZiOWMxZTcwZWQxNDli
OTM3MGY5Li4zNjM3NDU3NDVhZjUzMGVlZTU0NDVhM2UyZDg3ZTkyZTgxMzZmZTUyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nQ29vcmRpbmF0
b3JNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGlu
Z0Nvb3JkaW5hdG9yTWFjLm1tCkBAIC0xNDIsNyArMTQyLDcgQEAgdm9pZCBTY3JvbGxpbmdDb29y
ZGluYXRvck1hYzo6dXBkYXRlVGlsZWRTY3JvbGxpbmdJbmRpY2F0b3IoKQogICAgIHRpbGVkQmFj
a2luZy0+c2V0U2Nyb2xsaW5nTW9kZUluZGljYXRpb24oaW5kaWNhdG9yTW9kZSk7CiB9CiAKLVBh
c3NPd25QdHI8U2Nyb2xsaW5nVHJlZU5vZGU+IFNjcm9sbGluZ0Nvb3JkaW5hdG9yTWFjOjpjcmVh
dGVTY3JvbGxpbmdUcmVlTm9kZShTY3JvbGxpbmdOb2RlVHlwZSBub2RlVHlwZSwgU2Nyb2xsaW5n
Tm9kZUlEIG5vZGVJRCkKK1Bhc3NSZWZQdHI8U2Nyb2xsaW5nVHJlZU5vZGU+IFNjcm9sbGluZ0Nv
b3JkaW5hdG9yTWFjOjpjcmVhdGVTY3JvbGxpbmdUcmVlTm9kZShTY3JvbGxpbmdOb2RlVHlwZSBu
b2RlVHlwZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKIHsKICAgICBBU1NFUlQoc2Nyb2xsaW5n
VHJlZSgpKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFj
L1Njcm9sbGluZ1RyZWVGaXhlZE5vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLmgKaW5kZXggMDEyOGFjNTgyYmQ0Y2NlZDRhMjIx
NjFhNWYxOGU1YTcwNDY3NTYwYS4uMzE0M2EwNzNhMmVhMTdhNjE5NzEwNjJmM2I1Yjk3NmUzNTRm
OTlmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9s
bGluZ1RyZWVGaXhlZE5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9t
YWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5oCkBAIC00MCw3ICs0MCw3IEBAIGNsYXNzIEZpeGVk
UG9zaXRpb25WaWV3cG9ydENvbnN0cmFpbnRzOwogCiBjbGFzcyBTY3JvbGxpbmdUcmVlRml4ZWRO
b2RlIDogcHVibGljIFNjcm9sbGluZ1RyZWVOb2RlIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFz
c093blB0cjxTY3JvbGxpbmdUcmVlRml4ZWROb2RlPiBjcmVhdGUoU2Nyb2xsaW5nVHJlZSYsIFNj
cm9sbGluZ05vZGVJRCk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U2Nyb2xsaW5nVHJlZUZpeGVk
Tm9kZT4gY3JlYXRlKFNjcm9sbGluZ1RyZWUmLCBTY3JvbGxpbmdOb2RlSUQpOwogCiAgICAgdmly
dHVhbCB+U2Nyb2xsaW5nVHJlZUZpeGVkTm9kZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZS5tbSBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tCmlu
ZGV4IDBkM2FjNDJkNGIwNjUzY2JmODZiZDJiZGNlZWE3NmUzN2I2MWQ4MTMuLmUyNGQxYTUyMjA3
NGFlNDg1NjUyMGRjZDAzMTFmZTg1ZDYzYWU2YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRml4ZWROb2RlLm1tCkBA
IC0zNCw5ICszNCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc093blB0cjxTY3Jv
bGxpbmdUcmVlRml4ZWROb2RlPiBTY3JvbGxpbmdUcmVlRml4ZWROb2RlOjpjcmVhdGUoU2Nyb2xs
aW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKK1Bhc3NSZWZQ
dHI8U2Nyb2xsaW5nVHJlZUZpeGVkTm9kZT4gU2Nyb2xsaW5nVHJlZUZpeGVkTm9kZTo6Y3JlYXRl
KFNjcm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCiB7
Ci0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTY3JvbGxpbmdUcmVlRml4ZWROb2RlKHNjcm9sbGlu
Z1RyZWUsIG5vZGVJRCkpOworICAgIHJldHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nVHJlZUZp
eGVkTm9kZShzY3JvbGxpbmdUcmVlLCBub2RlSUQpKTsKIH0KIAogU2Nyb2xsaW5nVHJlZUZpeGVk
Tm9kZTo6U2Nyb2xsaW5nVHJlZUZpeGVkTm9kZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVl
LCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxp
bmdOb2RlTWFjLmgKaW5kZXggYWRlYzc0OTkyYjE5N2U0Y2ZiZTQ0NWI1MTVlZTY1Y2VhNjJlYTk0
NC4uNWMxZWQ5ZDVlNWFhZjJhMjNjNDM4NTk4N2I0OGI2M2NiOTRkZTM5MiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9s
bGluZ05vZGVNYWMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Ny
b2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYy5oCkBAIC0zOSw3ICszOSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1h
YyA6IHB1YmxpYyBTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlLCBwcml2YXRlIFNjcm9s
bEVsYXN0aWNpdHlDb250cm9sbGVyQ2xpZW50IHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc093
blB0cjxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlPiBjcmVhdGUoU2Nyb2xsaW5nVHJl
ZSYsIFNjcm9sbGluZ05vZGVJRCk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U2Nyb2xsaW5nVHJl
ZUZyYW1lU2Nyb2xsaW5nTm9kZT4gY3JlYXRlKFNjcm9sbGluZ1RyZWUmLCBTY3JvbGxpbmdOb2Rl
SUQpOwogICAgIHZpcnR1YWwgflNjcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMoKTsK
IAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21h
Yy9TY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjLm1tIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMubW0K
aW5kZXggNzNhMWJhYjQ0ZTdkMjEwNGJiNjYxMDY4NmVjMGViYzk3NzA0NjdiYy4uZTdhYTA0ZjBl
YmM3YTgzOTkyMzk2MDA4MWU5ZjMzNzBjZTViNTg5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVGcmFtZVNjcm9sbGluZ05vZGVNYWMu
bW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVG
cmFtZVNjcm9sbGluZ05vZGVNYWMubW0KQEAgLTUwLDkgKzUwLDkgQEAgc3RhdGljIHZvaWQgbG9n
VGhyZWFkZWRTY3JvbGxpbmdNb2RlKHVuc2lnbmVkIHN5bmNocm9ub3VzU2Nyb2xsaW5nUmVhc29u
cyk7CiBzdGF0aWMgdm9pZCBsb2dXaGVlbEV2ZW50SGFuZGxlckNvdW50Q2hhbmdlZCh1bnNpZ25l
ZCk7CiAKIAotUGFzc093blB0cjxTY3JvbGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlPiBTY3Jv
bGxpbmdUcmVlRnJhbWVTY3JvbGxpbmdOb2RlTWFjOjpjcmVhdGUoU2Nyb2xsaW5nVHJlZSYgc2Ny
b2xsaW5nVHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKK1Bhc3NSZWZQdHI8U2Nyb2xsaW5n
VHJlZUZyYW1lU2Nyb2xsaW5nTm9kZT4gU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1h
Yzo6Y3JlYXRlKFNjcm9sbGluZ1RyZWUmIHNjcm9sbGluZ1RyZWUsIFNjcm9sbGluZ05vZGVJRCBu
b2RlSUQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UHRyKG5ldyBTY3JvbGxpbmdUcmVlRnJhbWVTY3Jv
bGxpbmdOb2RlTWFjKHNjcm9sbGluZ1RyZWUsIG5vZGVJRCkpOworICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYyhzY3JvbGxpbmdUcmVlLCBu
b2RlSUQpKTsKIH0KIAogU2Nyb2xsaW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYzo6U2Nyb2xs
aW5nVHJlZUZyYW1lU2Nyb2xsaW5nTm9kZU1hYyhTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVl
LCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1RyZWVTdGlja3lOb2RlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaAppbmRleCBiZWMy
OTQxMzhiMjFjYWQ3ZjI5ZjEyYTI1NmQzNWE3MDJiMDg1OTZjLi4xMWEzNjE0ZTUxMzQ5YjEwMTk4
OTY3YmZmYjdhNmNiYzA3MDc3OTJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Nj
cm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUuaApAQCAtNDAsNyAr
NDAsNyBAQCBjbGFzcyBTdGlja3lQb3NpdGlvblZpZXdwb3J0Q29uc3RyYWludHM7CiAKIGNsYXNz
IFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlIDogcHVibGljIFNjcm9sbGluZ1RyZWVOb2RlIHsKIHB1
YmxpYzoKLSAgICBzdGF0aWMgUGFzc093blB0cjxTY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZT4gY3Jl
YXRlKFNjcm9sbGluZ1RyZWUmLCBTY3JvbGxpbmdOb2RlSUQpOworICAgIHN0YXRpYyBQYXNzUmVm
UHRyPFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlPiBjcmVhdGUoU2Nyb2xsaW5nVHJlZSYsIFNjcm9s
bGluZ05vZGVJRCk7CiAKICAgICB2aXJ0dWFsIH5TY3JvbGxpbmdUcmVlU3RpY2t5Tm9kZSgpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Nyb2xsaW5n
VHJlZVN0aWNreU5vZGUubW0gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9tYWMvU2Ny
b2xsaW5nVHJlZVN0aWNreU5vZGUubW0KaW5kZXggMWQ5YWNkYzc4NGMyYTQyNGM3NTkwOGVlZjUw
ZTY0ZDI0NDFmYzI2Mi4uYTM4YTUzMjJiNTM2ZTAzY2I3OWU3MTJlYWRmYjIzNWU1YWI2NWJjMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvbWFjL1Njcm9sbGluZ1Ry
ZWVTdGlja3lOb2RlLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL21hYy9T
Y3JvbGxpbmdUcmVlU3RpY2t5Tm9kZS5tbQpAQCAtMzUsOSArMzUsOSBAQAogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKLVBhc3NPd25QdHI8U2Nyb2xsaW5nVHJlZVN0aWNreU5vZGU+IFNjcm9sbGlu
Z1RyZWVTdGlja3lOb2RlOjpjcmVhdGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5nVHJlZSwgU2Ny
b2xsaW5nTm9kZUlEIG5vZGVJRCkKK1Bhc3NSZWZQdHI8U2Nyb2xsaW5nVHJlZVN0aWNreU5vZGU+
IFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlOjpjcmVhdGUoU2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5n
VHJlZSwgU2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKIHsKLSAgICByZXR1cm4gYWRvcHRQdHIobmV3
IFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlKHNjcm9sbGluZ1RyZWUsIG5vZGVJRCkpOworICAgIHJl
dHVybiBhZG9wdFJlZihuZXcgU2Nyb2xsaW5nVHJlZVN0aWNreU5vZGUoc2Nyb2xsaW5nVHJlZSwg
bm9kZUlEKSk7CiB9CiAKIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlOjpTY3JvbGxpbmdUcmVlU3Rp
Y2t5Tm9kZShTY3JvbGxpbmdUcmVlJiBzY3JvbGxpbmdUcmVlLCBTY3JvbGxpbmdOb2RlSUQgbm9k
ZUlEKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1Njcm9sbGluZy9SZW1vdGVT
Y3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9TY3JvbGxpbmcvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbi5jcHAKaW5k
ZXggMjgzMzk5N2JiY2MwN2VjOWEyOTFjNTQzOTUwMWFiMWI0ZjViN2RkNy4uNzVlN2I4Y2RhNjU1
ZmRmOGNhMTA5ZjFkMjVlOGVkMWY5NzUwNTNiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2Nyb2xsaW5nL1JlbW90ZVNjcm9sbGluZ0Nv
b3JkaW5hdG9yVHJhbnNhY3Rpb24uY3BwCkBAIC0zMTcsOCArMzE3LDEwIEBAIGJvb2wgQXJndW1l
bnRDb2RlcjxTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU+OjpkZWNvZGUoQXJndW1lbnREZWNvZGVy
JiBkZWNvZGVyLCBTCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMgdm9pZCBlbmNvZGVO
b2RlQW5kRGVzY2VuZGFudHMoSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIsIGNvbnN0IFNj
cm9sbGluZ1N0YXRlTm9kZSYgc3RhdGVOb2RlKQorc3RhdGljIHZvaWQgZW5jb2RlTm9kZUFuZERl
c2NlbmRhbnRzKElQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBTY3JvbGxpbmdT
dGF0ZU5vZGUmIHN0YXRlTm9kZSwgaW50JiBlbmNvZGVkTm9kZUNvdW50KQogeworICAgICsrZW5j
b2RlZE5vZGVDb3VudDsKKwogICAgIHN3aXRjaCAoc3RhdGVOb2RlLm5vZGVUeXBlKCkpIHsKICAg
ICBjYXNlIEZyYW1lU2Nyb2xsaW5nTm9kZToKICAgICAgICAgZW5jb2RlciA8PCB0b1Njcm9sbGlu
Z1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKHN0YXRlTm9kZSk7CkBAIC0zMzgsNyArMzQwLDcgQEAg
c3RhdGljIHZvaWQgZW5jb2RlTm9kZUFuZERlc2NlbmRhbnRzKElQQzo6QXJndW1lbnRFbmNvZGVy
JiBlbmNvZGVyLCBjb25zdCBTY3JvbGwKICAgICAgICAgcmV0dXJuOwogCiAgICAgZm9yIChjb25z
dCBhdXRvJiBjaGlsZCA6ICpzdGF0ZU5vZGUuY2hpbGRyZW4oKSkKLSAgICAgICAgZW5jb2RlTm9k
ZUFuZERlc2NlbmRhbnRzKGVuY29kZXIsICpjaGlsZC5nZXQoKSk7CisgICAgICAgIGVuY29kZU5v
ZGVBbmREZXNjZW5kYW50cyhlbmNvZGVyLCAqY2hpbGQuZ2V0KCksIGVuY29kZWROb2RlQ291bnQp
OwogfQogCiB2b2lkIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb246OmVuY29k
ZShJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKQEAgLTM1Miw5ICszNTQsMTEg
QEAgdm9pZCBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uOjplbmNvZGUoSVBD
OjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIKICAgICBpZiAobV9zY3JvbGxpbmdTdGF0ZVRyZWUp
IHsKICAgICAgICAgZW5jb2RlciA8PCBtX3Njcm9sbGluZ1N0YXRlVHJlZS0+aGFzQ2hhbmdlZFBy
b3BlcnRpZXMoKTsKIAorICAgICAgICBpbnQgbnVtTm9kZXNFbmNvZGVkID0gMDsKICAgICAgICAg
aWYgKGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSogcm9vdE5vZGUgPSBtX3Njcm9sbGluZ1N0YXRl
VHJlZS0+cm9vdFN0YXRlTm9kZSgpKQotICAgICAgICAgICAgZW5jb2RlTm9kZUFuZERlc2NlbmRh
bnRzKGVuY29kZXIsICpyb290Tm9kZSk7CisgICAgICAgICAgICBlbmNvZGVOb2RlQW5kRGVzY2Vu
ZGFudHMoZW5jb2RlciwgKnJvb3ROb2RlLCBudW1Ob2Rlc0VuY29kZWQpOwogCisgICAgICAgIEFT
U0VSVF9VTlVTRUQobnVtTm9kZXNFbmNvZGVkLCBudW1Ob2Rlc0VuY29kZWQgPT0gbnVtTm9kZXMp
OwogICAgICAgICBlbmNvZGVyIDw8IG1fc2Nyb2xsaW5nU3RhdGVUcmVlLT5yZW1vdmVkTm9kZXMo
KTsKICAgICB9IGVsc2UKICAgICAgICAgZW5jb2RlciA8PCBWZWN0b3I8U2Nyb2xsaW5nTm9kZUlE
PigpOwpAQCAtNDI0LDcgKzQyOCw3IEBAIGJvb2wgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JU
cmFuc2FjdGlvbjo6ZGVjb2RlKElQQzo6QXJndW1lbnREZWNvZGVyJiBkZWNvZGVyCiAgICAgbV9z
Y3JvbGxpbmdTdGF0ZVRyZWUtPnNldEhhc05ld1Jvb3RTdGF0ZU5vZGUoaGFzTmV3Um9vdE5vZGUp
OwogCiAgICAgLy8gUmVtb3ZlZCBub2RlcwotICAgIFZlY3RvcjxTY3JvbGxpbmdOb2RlSUQ+IHJl
bW92ZWROb2RlczsKKyAgICBIYXNoU2V0PFNjcm9sbGluZ05vZGVJRD4gcmVtb3ZlZE5vZGVzOwog
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVtb3ZlZE5vZGVzKSkKICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgIApAQCAtNjgzLDggKzY4NywxMSBAQCB2b2lkIFJlbW90ZVNjcm9sbGluZ1RyZWVU
ZXh0U3RyZWFtOjpkdW1wKGNvbnN0IFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVUcmVlLCBibwog
ICAgIGlmIChzdGF0ZVRyZWUucm9vdFN0YXRlTm9kZSgpKQogICAgICAgICByZWN1cnNpdmVEdW1w
Tm9kZXMoKnN0YXRlVHJlZS5yb290U3RhdGVOb2RlKCksIGNoYW5nZWRQcm9wZXJ0aWVzT25seSk7
CiAKLSAgICBpZiAoIXN0YXRlVHJlZS5yZW1vdmVkTm9kZXMoKS5pc0VtcHR5KCkpCi0gICAgICAg
IGR1bXBQcm9wZXJ0eTxWZWN0b3I8U2Nyb2xsaW5nTm9kZUlEPj4odHMsICJyZW1vdmVkLW5vZGVz
Iiwgc3RhdGVUcmVlLnJlbW92ZWROb2RlcygpKTsKKyAgICBpZiAoIXN0YXRlVHJlZS5yZW1vdmVk
Tm9kZXMoKS5pc0VtcHR5KCkpIHsKKyAgICAgICAgVmVjdG9yPFNjcm9sbGluZ05vZGVJRD4gcmVt
b3ZlZE5vZGVzOworICAgICAgICBjb3B5VG9WZWN0b3Ioc3RhdGVUcmVlLnJlbW92ZWROb2Rlcygp
LCByZW1vdmVkTm9kZXMpOworICAgICAgICBkdW1wUHJvcGVydHk8VmVjdG9yPFNjcm9sbGluZ05v
ZGVJRD4+KHRzLCAicmVtb3ZlZC1ub2RlcyIsIHJlbW92ZWROb2Rlcyk7CisgICAgfQogfQogCiBX
VEY6OkNTdHJpbmcgUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2FjdGlvbjo6ZGVzY3Jp
cHRpb24oKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Njcm9s
bGluZy9SZW1vdGVTY3JvbGxpbmdUcmVlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9T
Y3JvbGxpbmcvUmVtb3RlU2Nyb2xsaW5nVHJlZS5jcHAKaW5kZXggNWY1NDBlNmEzYmE2MDA2Mjg5
NDZhMGZiMjcxYTk5OWM3YzAxMGU1MC4uZjY4ZmY1MGEzZWU4ZmFhYWFmZTBjOTlhNGUyY2ExYzdj
OWZmODI3NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Njcm9sbGluZy9S
ZW1vdGVTY3JvbGxpbmdUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvU2Ny
b2xsaW5nL1JlbW90ZVNjcm9sbGluZ1RyZWUuY3BwCkBAIC05OSw3ICs5OSw3IEBAIHZvaWQgUmVt
b3RlU2Nyb2xsaW5nVHJlZTo6c2Nyb2xsaW5nVHJlZU5vZGVSZXF1ZXN0c1Njcm9sbChTY3JvbGxp
bmdOb2RlSUQgbm9kZUlECiAgICAgbV9zY3JvbGxpbmdDb29yZGluYXRvclByb3h5LnNjcm9sbGlu
Z1RyZWVOb2RlUmVxdWVzdHNTY3JvbGwobm9kZUlELCBzY3JvbGxQb3NpdGlvbiwgcmVwcmVzZW50
c1Byb2dyYW1tYXRpY1Njcm9sbCk7CiB9CiAKLVBhc3NPd25QdHI8U2Nyb2xsaW5nVHJlZU5vZGU+
IFJlbW90ZVNjcm9sbGluZ1RyZWU6OmNyZWF0ZU5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5
cGUsIFNjcm9sbGluZ05vZGVJRCBub2RlSUQpCitQYXNzUmVmUHRyPFNjcm9sbGluZ1RyZWVOb2Rl
PiBSZW1vdGVTY3JvbGxpbmdUcmVlOjpjcmVhdGVOb2RlKFNjcm9sbGluZ05vZGVUeXBlIG5vZGVU
eXBlLCBTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQogewogICAgIHN3aXRjaCAobm9kZVR5cGUpIHsK
ICAgICBjYXNlIEZyYW1lU2Nyb2xsaW5nTm9kZToKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9TY3JvbGxpbmcvUmVtb3RlU2Nyb2xsaW5nVHJlZS5oIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdUcmVlLmgKaW5kZXggYjYyNDlh
NDg1NjJjNTY0OTYyMGRhNjYwMDY0MjViMDliY2Q1ZjBmOC4uZDZlZjdjYjJkNjBjYWVhN2ZhYWYy
MDc3MjhkNTRiZTQyZDBlNTRmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdUcmVlLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdUcmVlLmgKQEAgLTYxLDcgKzYxLDcgQEAg
cHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsaW5nVHJlZU5vZGVXaWxsU3RhcnRQYW5H
ZXN0dXJlKCkgb3ZlcnJpZGU7CiAjZW5kaWYKIAotICAgIHZpcnR1YWwgUGFzc093blB0cjxXZWJD
b3JlOjpTY3JvbGxpbmdUcmVlTm9kZT4gY3JlYXRlTm9kZShXZWJDb3JlOjpTY3JvbGxpbmdOb2Rl
VHlwZSwgV2ViQ29yZTo6U2Nyb2xsaW5nTm9kZUlEKTsKKyAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8
V2ViQ29yZTo6U2Nyb2xsaW5nVHJlZU5vZGU+IGNyZWF0ZU5vZGUoV2ViQ29yZTo6U2Nyb2xsaW5n
Tm9kZVR5cGUsIFdlYkNvcmU6OlNjcm9sbGluZ05vZGVJRCk7CiAgICAgCiAgICAgUmVtb3RlU2Ny
b2xsaW5nQ29vcmRpbmF0b3JQcm94eSYgbV9zY3JvbGxpbmdDb29yZGluYXRvclByb3h5OwogfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TY3JvbGxpbmcvaW9zL1Njcm9s
bGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1MuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9TY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1Mu
aAppbmRleCAxMTI2MTExMGY5MzgwNTcxMjJlZWQ5YjcyOWNkZGIzYjQ5MWZkZDNkLi4zYzZiNGUw
OGMxMTlhOWJhNmRhNGFlOGRjZWFjNmJhMjMwNDgwYzdjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvU2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxp
bmdOb2RlSU9TLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Njcm9sbGluZy9pb3Mv
U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUy5oCkBAIC0zNyw3ICszNyw3IEBA
IG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBTY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxp
bmdOb2RlSU9TIDogcHVibGljIFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGlu
Z05vZGUgewogcHVibGljOgotICAgIHN0YXRpYyBQYXNzT3duUHRyPFNjcm9sbGluZ1RyZWVPdmVy
Zmxvd1Njcm9sbGluZ05vZGVJT1M+IGNyZWF0ZShXZWJDb3JlOjpTY3JvbGxpbmdUcmVlJiwgV2Vi
Q29yZTo6U2Nyb2xsaW5nTm9kZUlEKTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTY3JvbGxpbmdU
cmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9TPiBjcmVhdGUoV2ViQ29yZTo6U2Nyb2xsaW5nVHJl
ZSYsIFdlYkNvcmU6OlNjcm9sbGluZ05vZGVJRCk7CiAgICAgdmlydHVhbCB+U2Nyb2xsaW5nVHJl
ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUygpOwogCiAgICAgdm9pZCBzY3JvbGxWaWV3V2lsbFN0
YXJ0UGFuR2VzdHVyZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Nj
cm9sbGluZy9pb3MvU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUy5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9TY3JvbGxpbmcvaW9zL1Njcm9sbGluZ1RyZWVPdmVyZmxv
d1Njcm9sbGluZ05vZGVJT1MubW0KaW5kZXggNmEyODYyMjRlYmUwYjFlZGFhOTBkZjdiMDcwMTQ5
MGMwNTRjY2JhNS4uZmRhMjFmZmZiYmMyMDA3Y2E0MzcxZDkxMmYzZjlhYzA2ZDQ0MWJhNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1Njcm9sbGluZy9pb3MvU2Nyb2xsaW5n
VHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvU2Nyb2xsaW5nL2lvcy9TY3JvbGxpbmdUcmVlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlSU9T
Lm1tCkBAIC05MSw5ICs5MSw5IEBAIEBlbmQKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKLVBhc3NP
d25QdHI8U2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUz4gU2Nyb2xsaW5nVHJl
ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUzo6Y3JlYXRlKFdlYkNvcmU6OlNjcm9sbGluZ1RyZWUm
IHNjcm9sbGluZ1RyZWUsIFdlYkNvcmU6OlNjcm9sbGluZ05vZGVJRCBub2RlSUQpCitQYXNzUmVm
UHRyPFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1M+IFNjcm9sbGluZ1RyZWVP
dmVyZmxvd1Njcm9sbGluZ05vZGVJT1M6OmNyZWF0ZShXZWJDb3JlOjpTY3JvbGxpbmdUcmVlJiBz
Y3JvbGxpbmdUcmVlLCBXZWJDb3JlOjpTY3JvbGxpbmdOb2RlSUQgbm9kZUlEKQogewotICAgIHJl
dHVybiBhZG9wdFB0cihuZXcgU2Nyb2xsaW5nVHJlZU92ZXJmbG93U2Nyb2xsaW5nTm9kZUlPUyhz
Y3JvbGxpbmdUcmVlLCBub2RlSUQpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYobmV3IFNjcm9sbGlu
Z1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1Moc2Nyb2xsaW5nVHJlZSwgbm9kZUlEKSk7CiB9
CiAKIFNjcm9sbGluZ1RyZWVPdmVyZmxvd1Njcm9sbGluZ05vZGVJT1M6OlNjcm9sbGluZ1RyZWVP
dmVyZmxvd1Njcm9sbGluZ05vZGVJT1MoV2ViQ29yZTo6U2Nyb2xsaW5nVHJlZSYgc2Nyb2xsaW5n
VHJlZSwgV2ViQ29yZTo6U2Nyb2xsaW5nTm9kZUlEIG5vZGVJRCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvU2Nyb2xsaW5nL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9y
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdD
b29yZGluYXRvci5oCmluZGV4IDA1ZGExZDg0ZTBhYmFmM2Q5ODRjZWFlMTBlOTA5OTg5YWFjNWI2
OWIuLmYyZTQyNDRhZTFlNTIwN2M5NjQ3MTg2YjFlZDM0YzI2ZTY0ZGM0ZTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvU2Nyb2xsaW5nL1JlbW90ZVNjcm9sbGluZ0Nvb3Jk
aW5hdG9yLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9TY3JvbGxpbmcvUmVtb3Rl
U2Nyb2xsaW5nQ29vcmRpbmF0b3IuaApAQCAtNjQsNyArNjQsNyBAQCBwcml2YXRlOgogICAgIHZp
cnR1YWwgYm9vbCBjb29yZGluYXRlc1Njcm9sbGluZ0ZvckZyYW1lVmlldyhXZWJDb3JlOjpGcmFt
ZVZpZXcqKSBjb25zdCBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVUcmVlU3Rh
dGVDb21taXQoKSBvdmVycmlkZTsKIAotICAgIHZpcnR1YWwgUGFzc093blB0cjxXZWJDb3JlOjpT
Y3JvbGxpbmdUcmVlTm9kZT4gY3JlYXRlU2Nyb2xsaW5nVHJlZU5vZGUoV2ViQ29yZTo6U2Nyb2xs
aW5nTm9kZVR5cGUsIFdlYkNvcmU6OlNjcm9sbGluZ05vZGVJRCkgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCBQYXNzUmVmUHRyPFdlYkNvcmU6OlNjcm9sbGluZ1RyZWVOb2RlPiBjcmVhdGVTY3JvbGxp
bmdUcmVlTm9kZShXZWJDb3JlOjpTY3JvbGxpbmdOb2RlVHlwZSwgV2ViQ29yZTo6U2Nyb2xsaW5n
Tm9kZUlEKSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIGJvb2wgaXNSdWJiZXJCYW5kSW5Qcm9ncmVz
cygpIGNvbnN0IG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBzZXRTY3JvbGxQaW5uaW5nQmVo
YXZpb3IoV2ViQ29yZTo6U2Nyb2xsUGlubmluZ0JlaGF2aW9yKSBvdmVycmlkZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9TY3JvbGxpbmcvUmVtb3RlU2Nyb2xsaW5n
Q29vcmRpbmF0b3IubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Njcm9sbGluZy9SZW1v
dGVTY3JvbGxpbmdDb29yZGluYXRvci5tbQppbmRleCAxZmU2OTZlMmUzOWEwZmFkZTcwYmUzYmI5
Y2Y4YTY4N2Y0MjcwMDEzLi5mYjJhNDA2YzBmMmY2M2FkODE5MzZlMDcxZGNmNWYzNWQ3MDU1NTU5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Njcm9sbGluZy9SZW1vdGVT
Y3JvbGxpbmdDb29yZGluYXRvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1Nj
cm9sbGluZy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvci5tbQpAQCAtNjcsNyArNjcsNyBAQCB2
b2lkIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY2hlZHVsZVRyZWVTdGF0ZUNvbW1pdCgp
CiAgICAgbV93ZWJQYWdlLT5kcmF3aW5nQXJlYSgpLT5zY2hlZHVsZUNvbXBvc2l0aW5nTGF5ZXJG
bHVzaCgpOwogfQogCi1QYXNzT3duUHRyPFNjcm9sbGluZ1RyZWVOb2RlPiBSZW1vdGVTY3JvbGxp
bmdDb29yZGluYXRvcjo6Y3JlYXRlU2Nyb2xsaW5nVHJlZU5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUs
IFNjcm9sbGluZ05vZGVJRCkKK1Bhc3NSZWZQdHI8U2Nyb2xsaW5nVHJlZU5vZGU+IFJlbW90ZVNj
cm9sbGluZ0Nvb3JkaW5hdG9yOjpjcmVhdGVTY3JvbGxpbmdUcmVlTm9kZShTY3JvbGxpbmdOb2Rl
VHlwZSwgU2Nyb2xsaW5nTm9kZUlEKQogewogICAgIC8vIFdlIG5ldmVyIGNyZWF0ZWQgc2Nyb2xs
aW5nIG5vZGVzIGluIHRoZSBXZWJQcm9jZXNzIHdpdGggcmVtb3RlIHNjcm9sbGluZy4KICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3NzNjMWU5NzhlNGRiODgzMjRmYmY1ZjliZDAz
ZWJmMzM3NGY0ZTAwLi5iYzY1YmIwYzhhMzYzZjE1MDU2OTZkNzI5MzA4ZTUyNzIxNWIwYzY3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTQtMDYtMTkgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZy
YXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPUyBXZWJLaXQyXSBNYWtlIC13ZWJraXQtb3Zl
cmZsb3ctc2Nyb2xsaW5nOnRvdWNoIHdvcmsgaW4gaWZyYW1lcyAoYnJlYWtzIE1TV29yZCBwcmV2
aWV3cykKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEz
NDA4NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAg
ICAgICAgVGVzdHMgdGhhdCBhZGQgYW5kIHJlbW92ZSBhIGZpeGVkIGNvbnRhaW5lciBvZiBhIHNj
cm9sbC1jb29yZGluYXRlZCBpZnJhbWUuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3Rp
bGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9jb29yZGluYXRlZC1mcmFtZS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9m
cmFtZXMvY29vcmRpbmF0ZWQtZnJhbWUtZ2Fpbi1zY3JvbGxpbmctYW5jZXN0b3ItZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Ny
b2xsaW5nL2ZyYW1lcy9jb29yZGluYXRlZC1mcmFtZS1nYWluLXNjcm9sbGluZy1hbmNlc3Rvci5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Ny
b2xsaW5nL2ZyYW1lcy9jb29yZGluYXRlZC1mcmFtZS1pbi1maXhlZC1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mcmFtZXMv
Y29vcmRpbmF0ZWQtZnJhbWUtbG9zZS1zY3JvbGxpbmctYW5jZXN0b3ItZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L2ZyYW1lcy9jb29yZGluYXRlZC1mcmFtZS1sb3NlLXNjcm9sbGluZy1hbmNlc3Rvci5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5n
L2ZyYW1lcy9yZW1vdmUtY29vcmRpbmF0ZWQtZnJhbWUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9y
ZW1vdmUtY29vcmRpbmF0ZWQtZnJhbWUuaHRtbDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
bWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mcmFtZXMvcmVzb3VyY2VzL2RvYy13aXRo
LXN0aWNreS5odG1sOgorCiAyMDE0LTA2LTE4ICBCZW5qYW1pbiBQb3VsYWluICA8YmVuamFtaW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBTdWJ0cmVlcyB3aXRoIDpmaXJzdC1jaGlsZCBhbmQgOmxh
c3QtY2hpbGQgYXJlIG5vdCBpbnZhbGlkYXRlZCB3aGVuIHNpYmxpbmdzIGFyZSBhZGRlZC9yZW1v
dmVkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdp
bmcvc2Nyb2xsaW5nL2ZyYW1lcy9jb29yZGluYXRlZC1mcmFtZS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9j
b29yZGluYXRlZC1mcmFtZS1leHBlY3RlZC50eHQKaW5kZXggYWJhMDdmMWI2NzI1YWExZGZjNzgx
MmJlNDc4Yzc5YmI5YTQ2Mjc2Ny4uMGI1Yjk3YWZjNmNiMzQyZmZiNTEzZWZkYTQyOTljZDBhMTIz
ZjlmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3
aW5nL3Njcm9sbGluZy9mcmFtZXMvY29vcmRpbmF0ZWQtZnJhbWUtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZnJh
bWVzL2Nvb3JkaW5hdGVkLWZyYW1lLWV4cGVjdGVkLnR4dApAQCAtNCwxNiArNCwxNyBAQAogICAo
Y2hpbGRyZW4gMQogICAgIChGcmFtZSBzY3JvbGxpbmcgbm9kZQogICAgICAgKHNjcm9sbGFibGUg
YXJlYSBzaXplIDQ4NSAzMDApCi0gICAgICAoY29udGVudHMgc2l6ZSA0ODUgMTg2OCkKKyAgICAg
IChjb250ZW50cyBzaXplIDQ4NSA0MjApCiAgICAgICAoY2hpbGRyZW4gMQogICAgICAgICAoU3Rp
Y2t5IG5vZGUKLSAgICAgICAgICAoYW5jaG9yIGVkZ2VzOiBBbmNob3JFZGdlVG9wICkKKyAgICAg
ICAgICAoYW5jaG9yIGVkZ2VzOiBBbmNob3JFZGdlVG9wIEFuY2hvckVkZ2VCb3R0b20pCiAgICAg
ICAgICAgKHRvcCBvZmZzZXQgMTAuMDApCi0gICAgICAgICAgKGNvbnRhaW5pbmcgYmxvY2sgcmVj
dCA4LjAwLCAxMC4wMCA0NjkuMDAgeCAxODUwLjAwKQotICAgICAgICAgIChzdGlja3kgYm94IHJl
Y3QgOC4wMCA4MzAuMDAgMTAwLjAwIDEwMC4wMCkKKyAgICAgICAgICAoYm90dG9tIG9mZnNldCAx
MC4wMCkKKyAgICAgICAgICAoY29udGFpbmluZyBibG9jayByZWN0IDguMDAsIDguMDAgNDY5LjAw
IHggNDA0LjAwKQorICAgICAgICAgIChzdGlja3kgYm94IHJlY3QgOC4wMCAzMTIuMDAgMTAwLjAw
IDEwMC4wMCkKICAgICAgICAgICAoY29uc3RyYWluaW5nIHJlY3QgMC4wMCAwLjAwIDQ4NS4wMCAz
MDAuMDApCi0gICAgICAgICAgKHN0aWNreSBvZmZzZXQgYXQgbGFzdCBsYXlvdXQgMC4wMCAwLjAw
KQotICAgICAgICAgIChsYXllciBwb3NpdGlvbiBhdCBsYXN0IGxheW91dCA4LjAwIDgzMC4wMCkK
KyAgICAgICAgICAoc3RpY2t5IG9mZnNldCBhdCBsYXN0IGxheW91dCAwLjAwIC0xMjIuMDApCisg
ICAgICAgICAgKGxheWVyIHBvc2l0aW9uIGF0IGxhc3QgbGF5b3V0IDguMDAgMTkwLjAwKQogICAg
ICAgICApCiAgICAgICApCiAgICAgKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mcmFtZXMvY29vcmRpbmF0ZWQtZnJhbWUt
Z2Fpbi1zY3JvbGxpbmctYW5jZXN0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mcmFtZXMvY29vcmRpbmF0ZWQtZnJh
bWUtZ2Fpbi1zY3JvbGxpbmctYW5jZXN0b3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFlYmMw
NDVkZWE0NDRjMTRiOTk1MzQwNjNjNWYyNGUyZmZmMDRiYmMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1l
cy9jb29yZGluYXRlZC1mcmFtZS1nYWluLXNjcm9sbGluZy1hbmNlc3Rvci1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSwzMCBAQAorKEZyYW1lIHNjcm9sbGluZyBub2RlCisgIChzY3JvbGxhYmxlIGFy
ZWEgc2l6ZSA3ODUgNjAwKQorICAoY29udGVudHMgc2l6ZSA3ODUgMTAxNikKKyAgKGNoaWxkcmVu
IDEKKyAgICAoRml4ZWQgbm9kZQorICAgICAgKGFuY2hvciBlZGdlczogQW5jaG9yRWRnZUxlZnQg
QW5jaG9yRWRnZVRvcCkKKyAgICAgICh2aWV3cG9ydCByZWN0IGF0IGxhc3QgbGF5b3V0OiAwLjAw
IDAuMDAgNzg1LjAwIDYwMC4wMCkKKyAgICAgIChsYXllciBwb3NpdGlvbiBhdCBsYXN0IGxheW91
dCA4LjAwIDEwLjAwKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgKEZyYW1lIHNjcm9sbGlu
ZyBub2RlCisgICAgICAgICAgKHNjcm9sbGFibGUgYXJlYSBzaXplIDUwMCAzMDApCisgICAgICAg
ICAgKGNvbnRlbnRzIHNpemUgNTAwIDQyMCkKKyAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAg
ICAgICAgKFN0aWNreSBub2RlCisgICAgICAgICAgICAgIChhbmNob3IgZWRnZXM6IEFuY2hvckVk
Z2VUb3AgQW5jaG9yRWRnZUJvdHRvbSkKKyAgICAgICAgICAgICAgKHRvcCBvZmZzZXQgMTAuMDAp
CisgICAgICAgICAgICAgIChib3R0b20gb2Zmc2V0IDEwLjAwKQorICAgICAgICAgICAgICAoY29u
dGFpbmluZyBibG9jayByZWN0IDguMDAsIDguMDAgNDg0LjAwIHggNDA0LjAwKQorICAgICAgICAg
ICAgICAoc3RpY2t5IGJveCByZWN0IDguMDAgMzEyLjAwIDEwMC4wMCAxMDAuMDApCisgICAgICAg
ICAgICAgIChjb25zdHJhaW5pbmcgcmVjdCAwLjAwIDAuMDAgNTAwLjAwIDMwMC4wMCkKKyAgICAg
ICAgICAgICAgKHN0aWNreSBvZmZzZXQgYXQgbGFzdCBsYXlvdXQgMC4wMCAtMTIyLjAwKQorICAg
ICAgICAgICAgICAobGF5ZXIgcG9zaXRpb24gYXQgbGFzdCBsYXlvdXQgOC4wMCAxOTAuMDApCisg
ICAgICAgICAgICApCisgICAgICAgICAgKQorICAgICAgICApCisgICAgICApCisgICAgKQorICAp
CispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJh
d2luZy9zY3JvbGxpbmcvZnJhbWVzL2Nvb3JkaW5hdGVkLWZyYW1lLWdhaW4tc2Nyb2xsaW5nLWFu
Y2VzdG9yLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcv
c2Nyb2xsaW5nL2ZyYW1lcy9jb29yZGluYXRlZC1mcmFtZS1nYWluLXNjcm9sbGluZy1hbmNlc3Rv
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmI5NzAzYjcxOWU5MWE2ZGY4MGRhY2E1MDNlNzBmYWU4NzQzMzVj
ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVk
LWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9jb29yZGluYXRlZC1mcmFtZS1nYWluLXNjcm9sbGlu
Zy1hbmNlc3Rvci5odG1sCkBAIC0wLDAgKzEsNjQgQEAKKzwhRE9DVFlQRSBodG1sPg0KKzxodG1s
Pg0KKzxoZWFkPg0KKyAgICA8c3R5bGU+DQorICAgICAgICBib2R5IHsNCisgICAgICAgICAgICBo
ZWlnaHQ6IDEwMDBweDsNCisgICAgICAgIH0NCisgICAgICAgIA0KKyAgICAgICAgaWZyYW1lIHsN
CisgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsNCisgICAgICAgICAgICBtYXJnaW46IDEwcHg7
DQorICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgYmxhY2s7DQorICAgICAgICB9DQorICAg
ICAgICANCisgICAgICAgICNjb250YWluZXIgew0KKyAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNv
bHV0ZTsNCisgICAgICAgICAgICB0b3A6IDEwcHg7DQorICAgICAgICAgICAgYm9yZGVyOiA0cHgg
c29saWQgZ3JlZW47DQorICAgICAgICAgICAgcGFkZGluZzogMTBweDsNCisgICAgICAgIH0NCisg
ICAgICAgIA0KKyAgICAgICAgI2NvbnRhaW5lci5maXhlZCB7DQorICAgICAgICAgICAgcG9zaXRp
b246IGZpeGVkOw0KKyAgICAgICAgICAgIHRvcDogMTBweDsNCisgICAgICAgICAgICBib3JkZXI6
IDRweCBzb2xpZCBvcmFuZ2U7DQorICAgICAgICB9DQorICAgICAgICANCisgICAgICAgICN0cmVl
IHsNCisgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQorICAgICAgICAgICAgdG9wOiAz
NzVweDsNCisgICAgICAgIH0NCisgICAgPC9zdHlsZT4NCisgICAgPHNjcmlwdD4NCisgICAgICAg
IGlmICh3aW5kb3cudGVzdFJ1bm5lcikgew0KKyAgICAgICAgICAgIHRlc3RSdW5uZXIud2FpdFVu
dGlsRG9uZSgpOw0KKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOw0KKyAgICAg
ICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2Nyb2xsaW5nVHJlZUluY2x1ZGVz
RnJhbWVzKHRydWUpOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgZnVuY3Rpb24gc3RhcnRUZXN0
KCkNCisgICAgICAgIHsNCisgICAgICAgICAgICB3aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigp
IHsNCisgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRhaW5lcicp
LmNsYXNzTGlzdC50b2dnbGUoJ2ZpeGVkJyk7DQorDQorICAgICAgICAgICAgICAgIGlmICh3aW5k
b3cuaW50ZXJuYWxzKQ0KKyAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ3RyZWUnKS5pbm5lclRleHQgPSBpbnRlcm5hbHMuc2Nyb2xsaW5nU3RhdGVUcmVlQXNUZXh0
KCk7DQorDQorICAgICAgICAgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikNCisgICAgICAg
ICAgICAgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOw0KKw0KKyAgICAgICAgICAgIH0s
IDApOw0KKyAgICAgICAgfQ0KKyAgICAgICAgDQorICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0
ZW5lcignbG9hZCcsIHN0YXJ0VGVzdCwgZmFsc2UpOw0KKyAgICA8L3NjcmlwdD4NCis8L2hlYWQ+
DQorPGJvZHk+DQorICAgIA0KKyAgICA8ZGl2IGlkPSJjb250YWluZXIiPg0KKyAgICAgICAgPGlm
cmFtZSBzcmM9InJlc291cmNlcy9kb2Mtd2l0aC1zdGlja3kuaHRtbCIgc2Nyb2xsaW5nPSJubyIg
d2lkdGg9IjUwMCIgaGVpZ2h0PSIzMDAiPjwvaWZyYW1lPg0KKyAgICA8L2Rpdj4NCis8cHJlIGlk
PSJ0cmVlIj5TY3JvbGxpbmcgdHJlZSBnb2VzIGhlcmU8L3ByZT4NCis8L2JvZHk+DQorPC9odG1s
Pg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2lu
Zy9zY3JvbGxpbmcvZnJhbWVzL2Nvb3JkaW5hdGVkLWZyYW1lLWluLWZpeGVkLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcv
ZnJhbWVzL2Nvb3JkaW5hdGVkLWZyYW1lLWluLWZpeGVkLWV4cGVjdGVkLnR4dAppbmRleCBhZmVh
ODgxODE2YjZhOGMwNDZhNWFlMTlhZTE0NzlkZTJhYzE5MDI1Li5iYmI0YzE4ODcxZDJkZmFlNzY5
YzkzNjQxNjUxMGY2ZjkzZGJhNGQ5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9jb29yZGluYXRlZC1mcmFtZS1p
bi1maXhlZC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90
aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mcmFtZXMvY29vcmRpbmF0ZWQtZnJhbWUtaW4tZml4ZWQt
ZXhwZWN0ZWQudHh0CkBAIC05LDE2ICs5LDE3IEBACiAgICAgICAoY2hpbGRyZW4gMQogICAgICAg
ICAoRnJhbWUgc2Nyb2xsaW5nIG5vZGUKICAgICAgICAgICAoc2Nyb2xsYWJsZSBhcmVhIHNpemUg
NDg1IDMwMCkKLSAgICAgICAgICAoY29udGVudHMgc2l6ZSA0ODUgMTg2OCkKKyAgICAgICAgICAo
Y29udGVudHMgc2l6ZSA0ODUgNDIwKQogICAgICAgICAgIChjaGlsZHJlbiAxCiAgICAgICAgICAg
ICAoU3RpY2t5IG5vZGUKLSAgICAgICAgICAgICAgKGFuY2hvciBlZGdlczogQW5jaG9yRWRnZVRv
cCApCisgICAgICAgICAgICAgIChhbmNob3IgZWRnZXM6IEFuY2hvckVkZ2VUb3AgQW5jaG9yRWRn
ZUJvdHRvbSkKICAgICAgICAgICAgICAgKHRvcCBvZmZzZXQgMTAuMDApCi0gICAgICAgICAgICAg
IChjb250YWluaW5nIGJsb2NrIHJlY3QgOC4wMCwgMTAuMDAgNDY5LjAwIHggMTg1MC4wMCkKLSAg
ICAgICAgICAgICAgKHN0aWNreSBib3ggcmVjdCA4LjAwIDgzMC4wMCAxMDAuMDAgMTAwLjAwKQor
ICAgICAgICAgICAgICAoYm90dG9tIG9mZnNldCAxMC4wMCkKKyAgICAgICAgICAgICAgKGNvbnRh
aW5pbmcgYmxvY2sgcmVjdCA4LjAwLCA4LjAwIDQ2OS4wMCB4IDQwNC4wMCkKKyAgICAgICAgICAg
ICAgKHN0aWNreSBib3ggcmVjdCA4LjAwIDMxMi4wMCAxMDAuMDAgMTAwLjAwKQogICAgICAgICAg
ICAgICAoY29uc3RyYWluaW5nIHJlY3QgMC4wMCAwLjAwIDQ4NS4wMCAzMDAuMDApCi0gICAgICAg
ICAgICAgIChzdGlja3kgb2Zmc2V0IGF0IGxhc3QgbGF5b3V0IDAuMDAgMC4wMCkKLSAgICAgICAg
ICAgICAgKGxheWVyIHBvc2l0aW9uIGF0IGxhc3QgbGF5b3V0IDguMDAgODMwLjAwKQorICAgICAg
ICAgICAgICAoc3RpY2t5IG9mZnNldCBhdCBsYXN0IGxheW91dCAwLjAwIC0xMjIuMDApCisgICAg
ICAgICAgICAgIChsYXllciBwb3NpdGlvbiBhdCBsYXN0IGxheW91dCA4LjAwIDE5MC4wMCkKICAg
ICAgICAgICAgICkKICAgICAgICAgICApCiAgICAgICAgICkKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZnJhbWVzL2Nvb3Jk
aW5hdGVkLWZyYW1lLWxvc2Utc2Nyb2xsaW5nLWFuY2VzdG9yLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZnJhbWVzL2Nv
b3JkaW5hdGVkLWZyYW1lLWxvc2Utc2Nyb2xsaW5nLWFuY2VzdG9yLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kMGIzZmJjNmRiMWFhNmFhMzgwZDJlNzA5MDEwN2YzMmVjMDY3MzEzCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Nj
cm9sbGluZy9mcmFtZXMvY29vcmRpbmF0ZWQtZnJhbWUtbG9zZS1zY3JvbGxpbmctYW5jZXN0b3It
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjMgQEAKKyhGcmFtZSBzY3JvbGxpbmcgbm9kZQorICAo
c2Nyb2xsYWJsZSBhcmVhIHNpemUgNzg1IDYwMCkKKyAgKGNvbnRlbnRzIHNpemUgNzg1IDEwMTYp
CisgIChjaGlsZHJlbiAxCisgICAgKEZyYW1lIHNjcm9sbGluZyBub2RlCisgICAgICAoc2Nyb2xs
YWJsZSBhcmVhIHNpemUgNTAwIDMwMCkKKyAgICAgIChjb250ZW50cyBzaXplIDUwMCA0MjApCisg
ICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoU3RpY2t5IG5vZGUKKyAgICAgICAgICAoYW5jaG9y
IGVkZ2VzOiBBbmNob3JFZGdlVG9wIEFuY2hvckVkZ2VCb3R0b20pCisgICAgICAgICAgKHRvcCBv
ZmZzZXQgMTAuMDApCisgICAgICAgICAgKGJvdHRvbSBvZmZzZXQgMTAuMDApCisgICAgICAgICAg
KGNvbnRhaW5pbmcgYmxvY2sgcmVjdCA4LjAwLCA4LjAwIDQ4NC4wMCB4IDQwNC4wMCkKKyAgICAg
ICAgICAoc3RpY2t5IGJveCByZWN0IDguMDAgMzEyLjAwIDEwMC4wMCAxMDAuMDApCisgICAgICAg
ICAgKGNvbnN0cmFpbmluZyByZWN0IDAuMDAgMC4wMCA1MDAuMDAgMzAwLjAwKQorICAgICAgICAg
IChzdGlja3kgb2Zmc2V0IGF0IGxhc3QgbGF5b3V0IDAuMDAgLTEyMi4wMCkKKyAgICAgICAgICAo
bGF5ZXIgcG9zaXRpb24gYXQgbGFzdCBsYXlvdXQgOC4wMCAxOTAuMDApCisgICAgICAgICkKKyAg
ICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mcmFtZXMvY29vcmRpbmF0ZWQtZnJhbWUt
bG9zZS1zY3JvbGxpbmctYW5jZXN0b3IuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZnJhbWVzL2Nvb3JkaW5hdGVkLWZyYW1lLWxvc2Ut
c2Nyb2xsaW5nLWFuY2VzdG9yLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjIyNmQwNjg3MmJmMDdlNWNjNWNh
NmMxNzJkNmYzY2U3MDA0OTVjOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZnJhbWVzL2Nvb3JkaW5hdGVkLWZy
YW1lLWxvc2Utc2Nyb2xsaW5nLWFuY2VzdG9yLmh0bWwKQEAgLTAsMCArMSw2NCBAQAorPCFET0NU
WVBFIGh0bWw+DQorPGh0bWw+DQorPGhlYWQ+DQorICAgIDxzdHlsZT4NCisgICAgICAgIGJvZHkg
ew0KKyAgICAgICAgICAgIGhlaWdodDogMTAwMHB4Ow0KKyAgICAgICAgfQ0KKyAgICAgICAgDQor
ICAgICAgICBpZnJhbWUgew0KKyAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOw0KKyAgICAgICAg
ICAgIG1hcmdpbjogMTBweDsNCisgICAgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCBibGFjazsN
CisgICAgICAgIH0NCisgICAgICAgIA0KKyAgICAgICAgI2NvbnRhaW5lciB7DQorICAgICAgICAg
ICAgcG9zaXRpb246IGFic29sdXRlOw0KKyAgICAgICAgICAgIHRvcDogMTBweDsNCisgICAgICAg
ICAgICBib3JkZXI6IDRweCBzb2xpZCBncmVlbjsNCisgICAgICAgICAgICBwYWRkaW5nOiAxMHB4
Ow0KKyAgICAgICAgfQ0KKyAgICAgICAgDQorICAgICAgICAjY29udGFpbmVyLmZpeGVkIHsNCisg
ICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7DQorICAgICAgICAgICAgdG9wOiAxMHB4Ow0KKyAg
ICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIG9yYW5nZTsNCisgICAgICAgIH0NCisgICAgICAg
IA0KKyAgICAgICAgI3RyZWUgew0KKyAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCisg
ICAgICAgICAgICB0b3A6IDM3NXB4Ow0KKyAgICAgICAgfQ0KKyAgICA8L3N0eWxlPg0KKyAgICA8
c2NyaXB0Pg0KKyAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKSB7DQorICAgICAgICAgICAg
dGVzdFJ1bm5lci53YWl0VW50aWxEb25lKCk7DQorICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1w
QXNUZXh0KCk7DQorICAgICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTY3Jv
bGxpbmdUcmVlSW5jbHVkZXNGcmFtZXModHJ1ZSk7DQorICAgICAgICB9DQorDQorICAgICAgICBm
dW5jdGlvbiBzdGFydFRlc3QoKQ0KKyAgICAgICAgew0KKyAgICAgICAgICAgIHdpbmRvdy5zZXRU
aW1lb3V0KGZ1bmN0aW9uKCkgew0KKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgnY29udGFpbmVyJykuY2xhc3NMaXN0LnRvZ2dsZSgnZml4ZWQnKTsNCisNCisgICAgICAg
ICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpDQorICAgICAgICAgICAgICAgICAgICBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgndHJlZScpLmlubmVyVGV4dCA9IGludGVybmFscy5zY3JvbGxp
bmdTdGF0ZVRyZWVBc1RleHQoKTsNCisNCisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQ0KKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7DQor
DQorICAgICAgICAgICAgfSwgMCk7DQorICAgICAgICB9DQorICAgICAgICANCisgICAgICAgIHdp
bmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgc3RhcnRUZXN0LCBmYWxzZSk7DQorICAgIDwv
c2NyaXB0Pg0KKzwvaGVhZD4NCis8Ym9keT4NCisgICAgDQorICAgIDxkaXYgaWQ9ImNvbnRhaW5l
ciIgY2xhc3M9ImZpeGVkIj4NCisgICAgICAgIDxpZnJhbWUgc3JjPSJyZXNvdXJjZXMvZG9jLXdp
dGgtc3RpY2t5Lmh0bWwiIHNjcm9sbGluZz0ibm8iIHdpZHRoPSI1MDAiIGhlaWdodD0iMzAwIj48
L2lmcmFtZT4NCisgICAgPC9kaXY+DQorPHByZSBpZD0idHJlZSI+U2Nyb2xsaW5nIHRyZWUgZ29l
cyBoZXJlPC9wcmU+DQorPC9ib2R5Pg0KKzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9yZW1vdmUt
Y29vcmRpbmF0ZWQtZnJhbWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mcmFtZXMvcmVtb3ZlLWNvb3JkaW5hdGVkLWZy
YW1lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44N2M4YmE2ZWNhMGM1ZDY4YzViNjNjYTgzMTI1
NmFmZDNkZjc4ODkxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mcmFtZXMvcmVtb3ZlLWNvb3JkaW5hdGVkLWZy
YW1lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE0IEBACisoRnJhbWUgc2Nyb2xsaW5nIG5vZGUK
KyAgKHNjcm9sbGFibGUgYXJlYSBzaXplIDc4NSA2MDApCisgIChjb250ZW50cyBzaXplIDc4NSAx
MDE2KQorICAoY2hpbGRyZW4gMQorICAgIChGaXhlZCBub2RlCisgICAgICAoYW5jaG9yIGVkZ2Vz
OiBBbmNob3JFZGdlTGVmdCBBbmNob3JFZGdlVG9wKQorICAgICAgKHZpZXdwb3J0IHJlY3QgYXQg
bGFzdCBsYXlvdXQ6IDAuMDAgMC4wMCA3ODUuMDAgNjAwLjAwKQorICAgICAgKGxheWVyIHBvc2l0
aW9uIGF0IGxhc3QgbGF5b3V0IDguMDAgMTAuMDApCisgICAgICAoY2hpbGRyZW4gMAorICAgICAg
KQorICAgICkKKyAgKQorKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9yZW1vdmUtY29vcmRpbmF0ZWQtZnJh
bWUuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3Jv
bGxpbmcvZnJhbWVzL3JlbW92ZS1jb29yZGluYXRlZC1mcmFtZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJj
ODc0NDM2OGM3MTJkNWU5YWQyYjBlOWI3ZTNkMmI2YTc0MTE4NjYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zy
YW1lcy9yZW1vdmUtY29vcmRpbmF0ZWQtZnJhbWUuaHRtbApAQCAtMCwwICsxLDY1IEBACis8IURP
Q1RZUEUgaHRtbD4NCis8aHRtbD4NCis8aGVhZD4NCisgICAgPHN0eWxlPg0KKyAgICAgICAgYm9k
eSB7DQorICAgICAgICAgICAgaGVpZ2h0OiAxMDAwcHg7DQorICAgICAgICB9DQorICAgICAgICAN
CisgICAgICAgIGlmcmFtZSB7DQorICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7DQorICAgICAg
ICAgICAgbWFyZ2luOiAxMHB4Ow0KKyAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIGJsYWNr
Ow0KKyAgICAgICAgfQ0KKyAgICAgICAgDQorICAgICAgICAjY29udGFpbmVyIHsNCisgICAgICAg
ICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQorICAgICAgICAgICAgdG9wOiAxMHB4Ow0KKyAgICAg
ICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIGdyZWVuOw0KKyAgICAgICAgICAgIHBhZGRpbmc6IDEw
cHg7DQorICAgICAgICB9DQorICAgICAgICANCisgICAgICAgICNjb250YWluZXIuZml4ZWQgew0K
KyAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDsNCisgICAgICAgICAgICB0b3A6IDEwcHg7DQor
ICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgb3JhbmdlOw0KKyAgICAgICAgfQ0KKyAgICAg
ICAgDQorICAgICAgICAjdHJlZSB7DQorICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0K
KyAgICAgICAgICAgIHRvcDogMzc1cHg7DQorICAgICAgICB9DQorICAgIDwvc3R5bGU+DQorICAg
IDxzY3JpcHQ+DQorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsNCisgICAgICAgICAg
ICB0ZXN0UnVubmVyLndhaXRVbnRpbERvbmUoKTsNCisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1
bXBBc1RleHQoKTsNCisgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFNj
cm9sbGluZ1RyZWVJbmNsdWRlc0ZyYW1lcyh0cnVlKTsNCisgICAgICAgIH0NCisNCisgICAgICAg
IGZ1bmN0aW9uIHN0YXJ0VGVzdCgpDQorICAgICAgICB7DQorICAgICAgICAgICAgd2luZG93LnNl
dFRpbWVvdXQoZnVuY3Rpb24oKSB7DQorICAgICAgICAgICAgICAgIHZhciBpZnJhbWUgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgnaWZyYW1lJyk7DQorICAgICAgICAgICAgICAgIGlmcmFtZS5y
ZW1vdmUoKTsNCisNCisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpDQorICAg
ICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndHJlZScpLmlubmVyVGV4
dCA9IGludGVybmFscy5zY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHQoKTsNCisNCisgICAgICAgICAg
ICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQ0KKyAgICAgICAgICAgICAgICAgICAgdGVzdFJ1
bm5lci5ub3RpZnlEb25lKCk7DQorDQorICAgICAgICAgICAgfSwgMCk7DQorICAgICAgICB9DQor
ICAgICAgICANCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgc3RhcnRU
ZXN0LCBmYWxzZSk7DQorICAgIDwvc2NyaXB0Pg0KKzwvaGVhZD4NCis8Ym9keT4NCisgICAgDQor
ICAgIDxkaXYgaWQ9ImNvbnRhaW5lciIgY2xhc3M9ImZpeGVkIj4NCisgICAgICAgIDxpZnJhbWUg
aWQ9ImlmcmFtZSIgc3JjPSJyZXNvdXJjZXMvZG9jLXdpdGgtc3RpY2t5Lmh0bWwiIHNjcm9sbGlu
Zz0ibm8iIHdpZHRoPSI1MDAiIGhlaWdodD0iMzAwIj48L2lmcmFtZT4NCisgICAgPC9kaXY+DQor
PHByZSBpZD0idHJlZSI+U2Nyb2xsaW5nIHRyZWUgZ29lcyBoZXJlPC9wcmU+DQorPC9ib2R5Pg0K
KzwvaHRtbD4NCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVk
LWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9yZXNvdXJjZXMvZG9jLXdpdGgtc3RpY2t5Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2Zy
YW1lcy9yZXNvdXJjZXMvZG9jLXdpdGgtc3RpY2t5Lmh0bWwKaW5kZXggZThiZWY1OWI5MTg4Y2Zj
NjY0Y2I1ZjVhZGM0YmQ1ZDQzMmM2Mzc1Ny4uN2JiZDJiYjQzMzVmYzEyNDM3NWY5YjJiNTZlNDY3
MTUxMTgxZTYzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxl
ZC1kcmF3aW5nL3Njcm9sbGluZy9mcmFtZXMvcmVzb3VyY2VzL2RvYy13aXRoLXN0aWNreS5odG1s
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxp
bmcvZnJhbWVzL3Jlc291cmNlcy9kb2Mtd2l0aC1zdGlja3kuaHRtbApAQCAtOSw2ICs5LDE0IEBA
CiAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOwogICAgICAgICB9CiAgICAgICAg
IAorICAgICAgICAuc2Nyb2xsaW5nIHsKKyAgICAgICAgICAgIGhlaWdodDogMzAwcHg7CisgICAg
ICAgICAgICB3aWR0aDogNDAwcHg7CisgICAgICAgICAgICBvdmVyZmxvdzogc2Nyb2xsOworICAg
ICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOworICAgICAgICAgICAg
Ym9yZGVyOiAycHggc29saWQgYmxhY2s7CisgICAgICAgIH0KKyAgICAgICAgCiAgICAgICAgIC5z
cGFjZXIgewogICAgICAgICAgICAgaGVpZ2h0OiA0MDBweDsKICAgICAgICAgICAgIG1hcmdpbjog
MTBweDsKQEAgLTE3LDYgKzI1LDcgQEAKICAgICAgICAgLnN0aWNreSB7CiAgICAgICAgICAgICBw
b3NpdGlvbjogLXdlYmtpdC1zdGlja3k7CiAgICAgICAgICAgICB0b3A6IDEwcHg7CisgICAgICAg
ICAgICBib3R0b206IDEwcHg7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIC5jb21wb3Np
dGVkIHsKQEAgLTI1LDExICszNCwxNCBAQAogICAgIDwvc3R5bGU+CiA8L2hlYWQ+CiA8Ym9keT4K
LSAgICA8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgotICAgIDxkaXYgY2xhc3M9InNwYWNlciI+
PC9kaXY+CisgICAgPGRpdiBjbGFzcz0iY29tcG9zaXRlZCBzY3JvbGxpbmciPgorICAgICAgICA8
ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjZXIiPjwv
ZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzdGlja3kgYm94Ij48L2Rpdj4KKyAgICAgICAgPGRp
diBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KKyAgICAgICAgPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rp
dj4KKyAgICA8L2Rpdj4KICAgICA8ZGl2IGNsYXNzPSJzdGlja3kgYm94Ij48L2Rpdj4KLSAgICA8
ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2PgotICAgIDxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+
Ci0gICAgPGRpdiBjbGFzcz0iY29tcG9zaXRlZCBib3giPjwvZGl2PgorCiA8L2JvZHk+CiA8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233435</attachid>
            <date>2014-06-20 11:14:06 -0700</date>
            <delta_ts>2014-06-20 11:30:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-134085-20140620111344.patch</filename>
            <type>text/plain</type>
            <size>32319</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTcwMTMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjVkZWNmYTExMzNiNzk4
NWMwNWY3YmRkMzBmZjNhZTdjZWMxOGRjZS4uMDExNWQ0MDBhZWU5MzJiMGNkZGM0Y2I1ZGIxYTk0
MTI0NTNjMjQ5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ1IEBACiAyMDE0LTA2LTE5ICBTaW1v
biBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBwbGUuY29tPgogCisgICAgICAgIFtpT1MgV2ViS2l0
Ml0gTWFrZSAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaCB3b3JrIGluIGlmcmFtZXMg
KGJyZWFrcyBNU1dvcmQgcHJldmlld3MpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMzQwODUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE2NDQwNTg2
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAg
ICAgV2hlbiBub2RlcyB3ZXJlIGRldGFjaGVkIGZyb20gdGhlIHNjcm9sbGluZyB0cmVlLCB3ZSB3
b3VsZCBwcmV2aW91c2x5IHRocm93IGF3YXkKKyAgICAgICAgYWxsIGRlc2NlbmRhbnQgbm9kZXMs
IGV4cGVjdGluZyB0aGF0IHRoZXkgd291bGQgYmUgcmUtYXR0YWNoZWQgYXMgd2Ugd2FsayB0aGUg
Y29tcG9zaXRpbmcKKyAgICAgICAgbGF5ZXIgdHJlZSBpbiBSZW5kZXJMYXllckNvbXBvc2l0b3Iu
CisgICAgICAgIAorICAgICAgICBIb3dldmVyLCB0aGlzIGRvZXNuJ3Qgd29yayBhY3Jvc3MgZnJh
bWUgYm91bmRhcmllczsgdGhlIHN1YmZyYW1lIG1heSBuZXZlciB1cGRhdGUKKyAgICAgICAgaXRz
IGNvbXBvc2l0aW5nIGxheWVycyBhZ2Fpbiwgc28gd291bGQgbG9zZSBhbGwgaXRzIHNjcm9sbGlu
ZyBub2Rlcy4KKyAgICAgICAgCisgICAgICAgIEZpeCBieSBoYXZpbmcgU2Nyb2xsaW5nU3RhdGVU
cmVlOjpkZXRhY2hOb2RlKCkgYnkgZGVmYXVsdCBzZXQgYXNpZGUgc3ViZnJhbWUgbm9kZXMKKyAg
ICAgICAgaW50byBhIGhhc2ggbWFwLiBPbiByZWF0dGFjaCwgd2UnbGwgbG9vayBpbiB0aGUgaGFz
aCBtYXAgYW5kIHB1bGwgb3V0IGFuIGV4aXN0aW5nIG5vZGUKKyAgICAgICAgKHdpdGggaXRzIGNo
aWxkcmVuIGludGFjdCkgaWYgcG9zc2libGUuCisKKyAgICAgICAgVGVzdHM6IHBsYXRmb3JtL21h
Yy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZnJhbWVzL2Nvb3JkaW5hdGVkLWZyYW1lLWdh
aW4tc2Nyb2xsaW5nLWFuY2VzdG9yLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL21hYy13
azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZnJhbWVzL2Nvb3JkaW5hdGVkLWZyYW1lLWxvc2Ut
c2Nyb2xsaW5nLWFuY2VzdG9yLmh0bWwKKyAgICAgICAgICAgICAgIHBsYXRmb3JtL21hYy13azIv
dGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZnJhbWVzL3JlbW92ZS1jb29yZGluYXRlZC1mcmFtZS5o
dG1sCisKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVOb2RlOjpTY3JvbGxpbmdTdGF0ZU5vZGUp
OgorICAgICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTY3JvbGxpbmdTdGF0ZVRyZWU6OmF0dGFjaE5vZGUpOgorICAgICAgICAo
V2ViQ29yZTo6U2Nyb2xsaW5nU3RhdGVUcmVlOjpkZXRhY2hOb2RlKToKKyAgICAgICAgKFdlYkNv
cmU6OlNjcm9sbGluZ1N0YXRlVHJlZTo6Y2xlYXIpOgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xs
aW5nU3RhdGVUcmVlOjpyZW1vdmVOb2RlQW5kQWxsRGVzY2VuZGFudHMpOgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsaW5nU3RhdGVUcmVlOjpyZWN1cnNpdmVOb2RlV2lsbEJlUmVtb3ZlZCk6Cisg
ICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmg6CisgICAgICAgICog
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nVHJlZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTY3Jv
bGxpbmdUcmVlOjpjb21taXROZXdUcmVlU3RhdGUpOiBHbyBiYWNrIHRvIHJlbW92aW5nIHRoZSBk
ZWxldGVkCisgICAgICAgIG5vZGVzIGZyb20gbV9ub2RlTWFwIGZpcnN0LgorICAgICAgICAoV2Vi
Q29yZTo6U2Nyb2xsaW5nVHJlZTo6cmVtb3ZlRGVzdHJveWVkTm9kZXMpOiBUaGVyZSBpcyBubyBu
ZWVkIGZvciB0aGlzIHRvCisgICAgICAgIGFjdHVhbGx5IG1ha2UgdXNlIG9mIFNjcm9sbGluZ1Ry
ZWVOb2RlKiBhbnkgbW9yZTsgdGhlIEFTU0VSVCghbm9kZS0+cGFyZW50KCkpCisgICAgICAgIGlz
IGJvZ3VzIGJlY2F1c2UgaXQgY2FuIGZpcmUgd2hlbiB3aG9sZSBzdWJ0cmVlcyBhcmUgcmVtb3Zl
ZCwgYW5kIHRvIGNsZWFyIHRoZQorICAgICAgICBsYXRjaGVkIG5vZGUgd2UganVzdCBuZWVkIHRo
ZSBJRC4KKworMjAxNC0wNi0xOSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNv
bT4KKwogICAgICAgICBIYW5kbGUgc2Nyb2xsaW5nIHRyZWUgbW9kaWZpY2F0aW9ucyB3aGljaCBy
ZW1vdmUgaW50ZXJtZWRpYXRlIG5vZGVzCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMzQwODIKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDg3MjY3NDRlMmUwOTI3YTcz
YTdmZTUxYjJhNjM3NDdiMzM1MGY1NGIuLmY1NmY4Y2ZlMmFiNzEwMDBkZTMxZDI5ZDE5NGI1ZmNl
MDk1OWZkZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwyMCBAQAogMjAxNC0wNi0xOSAgU2ltb24g
RnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAorICAgICAgICBbaU9TIFdlYktpdDJd
IE1ha2UgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2ggd29yayBpbiBpZnJhbWVzIChi
cmVha3MgTVNXb3JkIHByZXZpZXdzKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTM0MDg1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8xNjQ0MDU4Nj4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAg
IEFkZCBzb21lIGRlYnVnLW9ubHkgYXNzZXJ0aW9ucyB0aGF0IGNoZWNrIHRoYXQgdGhlIG51bWJl
ciBvZiBub2RlcyB3ZSBlbmNvZGVkIGlzCisgICAgICAgIHRoZSBleHBlY3RlZCBudW1iZXIuCisK
KyAgICAgICAgKiBTaGFyZWQvU2Nyb2xsaW5nL1JlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJh
bnNhY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0OjplbmNvZGVOb2RlQW5kRGVzY2VuZGFudHMp
OgorICAgICAgICAoV2ViS2l0OjpSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9u
OjplbmNvZGUpOgorCisyMDE0LTA2LTE5ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJAYXBw
bGUuY29tPgorCiAgICAgICAgIEhhbmRsZSBzY3JvbGxpbmcgdHJlZSBtb2RpZmljYXRpb25zIHdo
aWNoIHJlbW92ZSBpbnRlcm1lZGlhdGUgbm9kZXMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNDA4MgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZU5vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVOb2RlLmNwcAppbmRleCBjMzZhODg2ZDJlMDkz
MzU2MmI2MTM5N2IwMTQxNWE0ZDI1ODU0NjQ0Li4yMDAwYTAxMGNiMGIyYmY0ODIxMmNlZTNhZjM3
YTEyYjFkNDhlZTA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdTdGF0ZU5vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ1N0YXRlTm9kZS5jcHAKQEAgLTQxLDcgKzQxLDcgQEAgU2Nyb2xsaW5nU3RhdGVO
b2RlOjpTY3JvbGxpbmdTdGF0ZU5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5cGUsIFNjcm9s
bGluZ1N0YXQKICAgICAsIG1fbm9kZUlEKG5vZGVJRCkKICAgICAsIG1fY2hhbmdlZFByb3BlcnRp
ZXMoMCkKICAgICAsIG1fc2Nyb2xsaW5nU3RhdGVUcmVlKHNjcm9sbGluZ1N0YXRlVHJlZSkKLSAg
ICAsIG1fcGFyZW50KDApCisgICAgLCBtX3BhcmVudChudWxscHRyKQogewogfQogCkBAIC01Miw3
ICs1Miw3IEBAIFNjcm9sbGluZ1N0YXRlTm9kZTo6U2Nyb2xsaW5nU3RhdGVOb2RlKGNvbnN0IFNj
cm9sbGluZ1N0YXRlTm9kZSYgc3RhdGVOb2RlLCBTY3JvCiAgICAgLCBtX25vZGVJRChzdGF0ZU5v
ZGUuc2Nyb2xsaW5nTm9kZUlEKCkpCiAgICAgLCBtX2NoYW5nZWRQcm9wZXJ0aWVzKHN0YXRlTm9k
ZS5jaGFuZ2VkUHJvcGVydGllcygpKQogICAgICwgbV9zY3JvbGxpbmdTdGF0ZVRyZWUoYWRvcHRp
dmVUcmVlKQotICAgICwgbV9wYXJlbnQoMCkKKyAgICAsIG1fcGFyZW50KG51bGxwdHIpCiB7CiAg
ICAgaWYgKGhhc0NoYW5nZWRQcm9wZXJ0eShTY3JvbGxMYXllcikpCiAgICAgICAgIHNldExheWVy
KHN0YXRlTm9kZS5sYXllcigpLnRvUmVwcmVzZW50YXRpb24oYWRvcHRpdmVUcmVlLnByZWZlcnJl
ZExheWVyUmVwcmVzZW50YXRpb24oKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3RhdGVUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1N0YXRlVHJlZS5jcHAKaW5kZXggNWY3ZTA3YzdjZjUzOTY4YmFj
N2JkMjNlMjI5Zjc3ZWI2MDIyNjQ2ZS4uZTE0MzAwZjhkYWIyMTk0NTZiZTFkZGYxMWVhYWQwYTdl
MzYzODQ2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nU3RhdGVUcmVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdTdGF0ZVRyZWUuY3BwCkBAIC04Miw3ICs4Miw3IEBAIFNjcm9sbGluZ05vZGVJRCBTY3Jv
bGxpbmdTdGF0ZVRyZWU6OmF0dGFjaE5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5cGUsIFNj
cm9sCiAgICAgICAgICAgICByZXR1cm4gbmV3Tm9kZUlEOwogCiAgICAgICAgIC8vIFRoZSBub2Rl
IGlzIGJlaW5nIHJlLXBhcmVudGVkLiBUbyBkbyB0aGF0LCB3ZSdsbCByZW1vdmUgaXQsIGFuZCB0
aGVuIHJlLWNyZWF0ZSBhIG5ldyBub2RlLgotICAgICAgICByZW1vdmVOb2RlQW5kQWxsRGVzY2Vu
ZGFudHMobm9kZSk7CisgICAgICAgIHJlbW92ZU5vZGVBbmRBbGxEZXNjZW5kYW50cyhub2RlLCBP
cnBoYW5TdWJmcmFtZU5vZGVzKTsKICAgICB9CiAKICAgICBTY3JvbGxpbmdTdGF0ZU5vZGUqIG5l
d05vZGUgPSBudWxscHRyOwpAQCAtOTgsMzEgKzk4LDQwIEBAIFNjcm9sbGluZ05vZGVJRCBTY3Jv
bGxpbmdTdGF0ZVRyZWU6OmF0dGFjaE5vZGUoU2Nyb2xsaW5nTm9kZVR5cGUgbm9kZVR5cGUsIFNj
cm9sCiAgICAgICAgIGlmICghcGFyZW50KQogICAgICAgICAgICAgcmV0dXJuIDA7CiAKLSAgICAg
ICAgc3dpdGNoIChub2RlVHlwZSkgewotICAgICAgICBjYXNlIEZpeGVkTm9kZTogewotICAgICAg
ICAgICAgUmVmUHRyPFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlPiBmaXhlZE5vZGUgPSBTY3JvbGxp
bmdTdGF0ZUZpeGVkTm9kZTo6Y3JlYXRlKCp0aGlzLCBuZXdOb2RlSUQpOwotICAgICAgICAgICAg
bmV3Tm9kZSA9IGZpeGVkTm9kZS5nZXQoKTsKLSAgICAgICAgICAgIHBhcmVudC0+YXBwZW5kQ2hp
bGQoZml4ZWROb2RlLnJlbGVhc2UoKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQot
ICAgICAgICBjYXNlIFN0aWNreU5vZGU6IHsKLSAgICAgICAgICAgIFJlZlB0cjxTY3JvbGxpbmdT
dGF0ZVN0aWNreU5vZGU+IHN0aWNreU5vZGUgPSBTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU6OmNy
ZWF0ZSgqdGhpcywgbmV3Tm9kZUlEKTsKLSAgICAgICAgICAgIG5ld05vZGUgPSBzdGlja3lOb2Rl
LmdldCgpOwotICAgICAgICAgICAgcGFyZW50LT5hcHBlbmRDaGlsZChzdGlja3lOb2RlLnJlbGVh
c2UoKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAgICAgICBjYXNlIEZyYW1l
U2Nyb2xsaW5nTm9kZTogewotICAgICAgICAgICAgUmVmUHRyPFNjcm9sbGluZ1N0YXRlRnJhbWVT
Y3JvbGxpbmdOb2RlPiBzY3JvbGxpbmdOb2RlID0gU2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGlu
Z05vZGU6OmNyZWF0ZSgqdGhpcywgbmV3Tm9kZUlEKTsKLSAgICAgICAgICAgIG5ld05vZGUgPSBz
Y3JvbGxpbmdOb2RlLmdldCgpOwotICAgICAgICAgICAgcGFyZW50LT5hcHBlbmRDaGlsZChzY3Jv
bGxpbmdOb2RlLnJlbGVhc2UoKSk7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgfQotICAg
ICAgICBjYXNlIE92ZXJmbG93U2Nyb2xsaW5nTm9kZTogewotICAgICAgICAgICAgUmVmUHRyPFNj
cm9sbGluZ1N0YXRlT3ZlcmZsb3dTY3JvbGxpbmdOb2RlPiBzY3JvbGxpbmdOb2RlID0gU2Nyb2xs
aW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU6OmNyZWF0ZSgqdGhpcywgbmV3Tm9kZUlEKTsK
LSAgICAgICAgICAgIG5ld05vZGUgPSBzY3JvbGxpbmdOb2RlLmdldCgpOwotICAgICAgICAgICAg
cGFyZW50LT5hcHBlbmRDaGlsZChzY3JvbGxpbmdOb2RlLnJlbGVhc2UoKSk7Ci0gICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgaWYgKG5vZGVUeXBlID09IEZyYW1lU2Nyb2xsaW5nTm9kZSAmJiBw
YXJlbnRJRCkgeworICAgICAgICAgICAgaWYgKFJlZlB0cjxTY3JvbGxpbmdTdGF0ZU5vZGU+IG9y
cGhhbmVkTm9kZSA9IG1fb3JwaGFuZWRTdWJmcmFtZU5vZGVzLnRha2UobmV3Tm9kZUlEKSkgewor
ICAgICAgICAgICAgICAgIG5ld05vZGUgPSBvcnBoYW5lZE5vZGUuZ2V0KCk7CisgICAgICAgICAg
ICAgICAgcGFyZW50LT5hcHBlbmRDaGlsZChvcnBoYW5lZE5vZGUucmVsZWFzZSgpKTsKKyAgICAg
ICAgICAgIH0KICAgICAgICAgfQorCisgICAgICAgIGlmICghbmV3Tm9kZSkgeworICAgICAgICAg
ICAgc3dpdGNoIChub2RlVHlwZSkgeworICAgICAgICAgICAgY2FzZSBGaXhlZE5vZGU6IHsKKyAg
ICAgICAgICAgICAgICBSZWZQdHI8U2Nyb2xsaW5nU3RhdGVGaXhlZE5vZGU+IGZpeGVkTm9kZSA9
IFNjcm9sbGluZ1N0YXRlRml4ZWROb2RlOjpjcmVhdGUoKnRoaXMsIG5ld05vZGVJRCk7CisgICAg
ICAgICAgICAgICAgbmV3Tm9kZSA9IGZpeGVkTm9kZS5nZXQoKTsKKyAgICAgICAgICAgICAgICBw
YXJlbnQtPmFwcGVuZENoaWxkKGZpeGVkTm9kZS5yZWxlYXNlKCkpOworICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY2FzZSBTdGlja3lOb2RlOiB7Cisg
ICAgICAgICAgICAgICAgUmVmUHRyPFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZT4gc3RpY2t5Tm9k
ZSA9IFNjcm9sbGluZ1N0YXRlU3RpY2t5Tm9kZTo6Y3JlYXRlKCp0aGlzLCBuZXdOb2RlSUQpOwor
ICAgICAgICAgICAgICAgIG5ld05vZGUgPSBzdGlja3lOb2RlLmdldCgpOworICAgICAgICAgICAg
ICAgIHBhcmVudC0+YXBwZW5kQ2hpbGQoc3RpY2t5Tm9kZS5yZWxlYXNlKCkpOworICAgICAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICAgICAgY2FzZSBGcmFtZVNjcm9s
bGluZ05vZGU6IHsKKyAgICAgICAgICAgICAgICBSZWZQdHI8U2Nyb2xsaW5nU3RhdGVGcmFtZVNj
cm9sbGluZ05vZGU+IHNjcm9sbGluZ05vZGUgPSBTY3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5n
Tm9kZTo6Y3JlYXRlKCp0aGlzLCBuZXdOb2RlSUQpOworICAgICAgICAgICAgICAgIG5ld05vZGUg
PSBzY3JvbGxpbmdOb2RlLmdldCgpOworICAgICAgICAgICAgICAgIHBhcmVudC0+YXBwZW5kQ2hp
bGQoc2Nyb2xsaW5nTm9kZS5yZWxlYXNlKCkpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgY2FzZSBPdmVyZmxvd1Njcm9sbGluZ05vZGU6IHsKKyAg
ICAgICAgICAgICAgICBSZWZQdHI8U2Nyb2xsaW5nU3RhdGVPdmVyZmxvd1Njcm9sbGluZ05vZGU+
IHNjcm9sbGluZ05vZGUgPSBTY3JvbGxpbmdTdGF0ZU92ZXJmbG93U2Nyb2xsaW5nTm9kZTo6Y3Jl
YXRlKCp0aGlzLCBuZXdOb2RlSUQpOworICAgICAgICAgICAgICAgIG5ld05vZGUgPSBzY3JvbGxp
bmdOb2RlLmdldCgpOworICAgICAgICAgICAgICAgIHBhcmVudC0+YXBwZW5kQ2hpbGQoc2Nyb2xs
aW5nTm9kZS5yZWxlYXNlKCkpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAg
fQorICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQogCkBAIC0xNDEsMTggKzE1MCwyMyBA
QCB2b2lkIFNjcm9sbGluZ1N0YXRlVHJlZTo6ZGV0YWNoTm9kZShTY3JvbGxpbmdOb2RlSUQgbm9k
ZUlEKQogICAgIGlmICghbm9kZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgcmVtb3ZlTm9kZUFu
ZEFsbERlc2NlbmRhbnRzKG5vZGUpOworICAgIHJlbW92ZU5vZGVBbmRBbGxEZXNjZW5kYW50cyhu
b2RlLCBPcnBoYW5TdWJmcmFtZU5vZGVzKTsKIH0KIAogdm9pZCBTY3JvbGxpbmdTdGF0ZVRyZWU6
OmNsZWFyKCkKIHsKLSAgICByZW1vdmVOb2RlQW5kQWxsRGVzY2VuZGFudHMocm9vdFN0YXRlTm9k
ZSgpKTsKKyAgICBpZiAocm9vdFN0YXRlTm9kZSgpKQorICAgICAgICByZW1vdmVOb2RlQW5kQWxs
RGVzY2VuZGFudHMocm9vdFN0YXRlTm9kZSgpKTsKKwogICAgIEFTU0VSVChtX3N0YXRlTm9kZU1h
cC5pc0VtcHR5KCkpOwogICAgIG1fc3RhdGVOb2RlTWFwLmNsZWFyKCk7CisgICAgbV9vcnBoYW5l
ZFN1YmZyYW1lTm9kZXMuY2xlYXIoKTsKIH0KIAogUGFzc093blB0cjxTY3JvbGxpbmdTdGF0ZVRy
ZWU+IFNjcm9sbGluZ1N0YXRlVHJlZTo6Y29tbWl0KExheWVyUmVwcmVzZW50YXRpb246OlR5cGUg
cHJlZmVycmVkTGF5ZXJSZXByZXNlbnRhdGlvbikKIHsKKyAgICBtX29ycGhhbmVkU3ViZnJhbWVO
b2Rlcy5jbGVhcigpOworCiAgICAgLy8gVGhpcyBmdW5jdGlvbiBjbG9uZXMgYW5kIHJlc2V0cyB0
aGUgY3VycmVudCBzdGF0ZSB0cmVlLCBidXQgbGVhdmVzIHRoZSB0cmVlIHN0cnVjdHVyZSBpbnRh
Y3QuCiAgICAgT3duUHRyPFNjcm9sbGluZ1N0YXRlVHJlZT4gdHJlZVN0YXRlQ2xvbmUgPSBTY3Jv
bGxpbmdTdGF0ZVRyZWU6OmNyZWF0ZSgpOwogICAgIHRyZWVTdGF0ZUNsb25lLT5zZXRQcmVmZXJy
ZWRMYXllclJlcHJlc2VudGF0aW9uKHByZWZlcnJlZExheWVyUmVwcmVzZW50YXRpb24pOwpAQCAt
MTc4LDE2ICsxOTIsMTUgQEAgdm9pZCBTY3JvbGxpbmdTdGF0ZVRyZWU6OmFkZE5vZGUoU2Nyb2xs
aW5nU3RhdGVOb2RlKiBub2RlKQogICAgIG1fc3RhdGVOb2RlTWFwLmFkZChub2RlLT5zY3JvbGxp
bmdOb2RlSUQoKSwgbm9kZSk7CiB9CiAKLXZvaWQgU2Nyb2xsaW5nU3RhdGVUcmVlOjpyZW1vdmVO
b2RlQW5kQWxsRGVzY2VuZGFudHMoU2Nyb2xsaW5nU3RhdGVOb2RlKiBub2RlKQordm9pZCBTY3Jv
bGxpbmdTdGF0ZVRyZWU6OnJlbW92ZU5vZGVBbmRBbGxEZXNjZW5kYW50cyhTY3JvbGxpbmdTdGF0
ZU5vZGUqIG5vZGUsIFN1YmZyYW1lTm9kZVJlbW92YWwgc3ViZnJhbWVOb2RlUmVtb3ZhbCkKIHsK
LSAgICBpZiAoIW5vZGUpCi0gICAgICAgIHJldHVybjsKKyAgICBTY3JvbGxpbmdTdGF0ZU5vZGUq
IHBhcmVudCA9IG5vZGUtPnBhcmVudCgpOwogCi0gICAgcmVjdXJzaXZlTm9kZVdpbGxCZVJlbW92
ZWQobm9kZSk7CisgICAgcmVjdXJzaXZlTm9kZVdpbGxCZVJlbW92ZWQobm9kZSwgc3ViZnJhbWVO
b2RlUmVtb3ZhbCk7CiAKICAgICBpZiAobm9kZSA9PSBtX3Jvb3RTdGF0ZU5vZGUpCiAgICAgICAg
IG1fcm9vdFN0YXRlTm9kZSA9IG51bGxwdHI7Ci0gICAgZWxzZSBpZiAoU2Nyb2xsaW5nU3RhdGVO
b2RlKiBwYXJlbnQgPSBub2RlLT5wYXJlbnQoKSkgeworICAgIGVsc2UgaWYgKHBhcmVudCkgewog
ICAgICAgICBBU1NFUlQocGFyZW50LT5jaGlsZHJlbigpICYmIHBhcmVudC0+Y2hpbGRyZW4oKS0+
ZmluZChub2RlKSAhPSBub3RGb3VuZCk7CiAgICAgICAgIGlmIChhdXRvIGNoaWxkcmVuID0gcGFy
ZW50LT5jaGlsZHJlbigpKSB7CiAgICAgICAgICAgICBzaXplX3QgaW5kZXggPSBjaGlsZHJlbi0+
ZmluZChub2RlKTsKQEAgLTE5NywxMyArMjEwLDE5IEBAIHZvaWQgU2Nyb2xsaW5nU3RhdGVUcmVl
OjpyZW1vdmVOb2RlQW5kQWxsRGVzY2VuZGFudHMoU2Nyb2xsaW5nU3RhdGVOb2RlKiBub2RlKQog
ICAgIH0KIH0KIAotdm9pZCBTY3JvbGxpbmdTdGF0ZVRyZWU6OnJlY3Vyc2l2ZU5vZGVXaWxsQmVS
ZW1vdmVkKFNjcm9sbGluZ1N0YXRlTm9kZSogY3Vyck5vZGUpCit2b2lkIFNjcm9sbGluZ1N0YXRl
VHJlZTo6cmVjdXJzaXZlTm9kZVdpbGxCZVJlbW92ZWQoU2Nyb2xsaW5nU3RhdGVOb2RlKiBjdXJy
Tm9kZSwgU3ViZnJhbWVOb2RlUmVtb3ZhbCBzdWJmcmFtZU5vZGVSZW1vdmFsKQogeworICAgIGN1
cnJOb2RlLT5zZXRQYXJlbnQobnVsbHB0cik7CisgICAgaWYgKHN1YmZyYW1lTm9kZVJlbW92YWwg
PT0gT3JwaGFuU3ViZnJhbWVOb2RlcyAmJiBjdXJyTm9kZSAhPSBtX3Jvb3RTdGF0ZU5vZGUgJiYg
Y3Vyck5vZGUtPmlzRnJhbWVTY3JvbGxpbmdOb2RlKCkpIHsKKyAgICAgICAgbV9vcnBoYW5lZFN1
YmZyYW1lTm9kZXMuYWRkKGN1cnJOb2RlLT5zY3JvbGxpbmdOb2RlSUQoKSwgY3Vyck5vZGUpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAgd2lsbFJlbW92ZU5vZGUoY3Vyck5vZGUpOwog
CiAgICAgaWYgKGF1dG8gY2hpbGRyZW4gPSBjdXJyTm9kZS0+Y2hpbGRyZW4oKSkgewogICAgICAg
ICBmb3IgKGF1dG8mIGNoaWxkIDogKmNoaWxkcmVuKQotICAgICAgICAgICAgcmVjdXJzaXZlTm9k
ZVdpbGxCZVJlbW92ZWQoY2hpbGQuZ2V0KCkpOworICAgICAgICAgICAgcmVjdXJzaXZlTm9kZVdp
bGxCZVJlbW92ZWQoY2hpbGQuZ2V0KCksIHN1YmZyYW1lTm9kZVJlbW92YWwpOwogICAgIH0KIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nU3Rh
dGVUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRy
ZWUuaAppbmRleCBhZTkwNWY2NzE4NTRlNzNmZDgzOTJiZWFiOGE5NGIwYzY4MWIzYjVlLi5iMGUx
OTI0Y2I3Nzk2ZmMyNjY1MGIxM2RhNTQzNDMyY2MxZWM5YjljIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdTdGF0ZVRyZWUuaApAQCAtODEsMTUgKzgx
LDIxIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHNldFJvb3RTdGF0ZU5vZGUoUGFzc1JlZlB0cjxT
Y3JvbGxpbmdTdGF0ZUZyYW1lU2Nyb2xsaW5nTm9kZT4gcm9vdFN0YXRlTm9kZSkgeyBtX3Jvb3RT
dGF0ZU5vZGUgPSByb290U3RhdGVOb2RlOyB9CiAgICAgdm9pZCBhZGROb2RlKFNjcm9sbGluZ1N0
YXRlTm9kZSopOwotICAgIHZvaWQgcmVtb3ZlTm9kZUFuZEFsbERlc2NlbmRhbnRzKFNjcm9sbGlu
Z1N0YXRlTm9kZSopOwogCi0gICAgdm9pZCByZWN1cnNpdmVOb2RlV2lsbEJlUmVtb3ZlZChTY3Jv
bGxpbmdTdGF0ZU5vZGUqIGN1cnJOb2RlKTsKKyAgICBlbnVtIFN1YmZyYW1lTm9kZVJlbW92YWwg
eworICAgICAgICBEZWxldGVTdWJmcmFtZU5vZGVzLAorICAgICAgICBPcnBoYW5TdWJmcmFtZU5v
ZGVzCisgICAgfTsKKyAgICB2b2lkIHJlbW92ZU5vZGVBbmRBbGxEZXNjZW5kYW50cyhTY3JvbGxp
bmdTdGF0ZU5vZGUqLCBTdWJmcmFtZU5vZGVSZW1vdmFsID0gRGVsZXRlU3ViZnJhbWVOb2Rlcyk7
CisKKyAgICB2b2lkIHJlY3Vyc2l2ZU5vZGVXaWxsQmVSZW1vdmVkKFNjcm9sbGluZ1N0YXRlTm9k
ZSogY3Vyck5vZGUsIFN1YmZyYW1lTm9kZVJlbW92YWwpOwogICAgIHZvaWQgd2lsbFJlbW92ZU5v
ZGUoU2Nyb2xsaW5nU3RhdGVOb2RlKik7CiAKICAgICBBc3luY1Njcm9sbGluZ0Nvb3JkaW5hdG9y
KiBtX3Njcm9sbGluZ0Nvb3JkaW5hdG9yOwogICAgIFN0YXRlTm9kZU1hcCBtX3N0YXRlTm9kZU1h
cDsKICAgICBSZWZQdHI8U2Nyb2xsaW5nU3RhdGVGcmFtZVNjcm9sbGluZ05vZGU+IG1fcm9vdFN0
YXRlTm9kZTsKICAgICBIYXNoU2V0PFNjcm9sbGluZ05vZGVJRD4gbV9ub2Rlc1JlbW92ZWRTaW5j
ZUxhc3RDb21taXQ7CisgICAgSGFzaE1hcDxTY3JvbGxpbmdOb2RlSUQsIFJlZlB0cjxTY3JvbGxp
bmdTdGF0ZU5vZGU+PiBtX29ycGhhbmVkU3ViZnJhbWVOb2RlczsKICAgICBib29sIG1faGFzQ2hh
bmdlZFByb3BlcnRpZXM7CiAgICAgYm9vbCBtX2hhc05ld1Jvb3RTdGF0ZU5vZGU7CiAgICAgTGF5
ZXJSZXByZXNlbnRhdGlvbjo6VHlwZSBtX3ByZWZlcnJlZExheWVyUmVwcmVzZW50YXRpb247CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdUcmVlLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCmluZGV4
IDg1MjRkMTdhOWFlZTk2NDExYTYzN2RmMTExODM0NjBhN2RjZmZhZDEuLjdlY2M2ZTIyZTM3MzYz
YWJmNDk5NjZiNWFjM2IwM2Y4MjBhMDhkZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL1Njcm9sbGluZ1RyZWUuY3BwCkBAIC0xNDksMTIgKzE0OSwxMCBAQCB2b2lkIFNj
cm9sbGluZ1RyZWU6OmNvbW1pdE5ld1RyZWVTdGF0ZShQYXNzT3duUHRyPFNjcm9sbGluZ1N0YXRl
VHJlZT4gc2Nyb2xsaW5nUwogICAgIGJvb2wgc2Nyb2xsUmVxdWVzdElzUHJvZ2FtbWF0aWMgPSBy
b290Tm9kZSA/IHJvb3ROb2RlLT5yZXF1ZXN0ZWRTY3JvbGxQb3NpdGlvblJlcHJlc2VudHNQcm9n
cmFtbWF0aWNTY3JvbGwoKSA6IGZhbHNlOwogICAgIFRlbXBvcmFyeUNoYW5nZTxib29sPiBjaGFu
Z2VIYW5kbGluZ1Byb2dyYW1tYXRpY1Njcm9sbChtX2lzSGFuZGxpbmdQcm9ncmFtbWF0aWNTY3Jv
bGwsIHNjcm9sbFJlcXVlc3RJc1Byb2dhbW1hdGljKTsKIAotICAgIHsKLSAgICAgICAgT3JwaGFu
U2Nyb2xsaW5nTm9kZU1hcCBvcnBoYW5Ob2RlczsKLSAgICAgICAgdXBkYXRlVHJlZUZyb21TdGF0
ZU5vZGUocm9vdE5vZGUsIG9ycGhhbk5vZGVzKTsKLSAgICB9Ci0KICAgICByZW1vdmVEZXN0cm95
ZWROb2Rlcygqc2Nyb2xsaW5nU3RhdGVUcmVlKTsKKworICAgIE9ycGhhblNjcm9sbGluZ05vZGVN
YXAgb3JwaGFuTm9kZXM7CisgICAgdXBkYXRlVHJlZUZyb21TdGF0ZU5vZGUocm9vdE5vZGUsIG9y
cGhhbk5vZGVzKTsKIH0KIAogdm9pZCBTY3JvbGxpbmdUcmVlOjp1cGRhdGVUcmVlRnJvbVN0YXRl
Tm9kZShjb25zdCBTY3JvbGxpbmdTdGF0ZU5vZGUqIHN0YXRlTm9kZSwgT3JwaGFuU2Nyb2xsaW5n
Tm9kZU1hcCYgb3JwaGFuTm9kZXMpCkBAIC0yMTYsMTYgKzIxNCwxMCBAQCB2b2lkIFNjcm9sbGlu
Z1RyZWU6OnVwZGF0ZVRyZWVGcm9tU3RhdGVOb2RlKGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSog
c3RhdGVOb2RlLAogCiB2b2lkIFNjcm9sbGluZ1RyZWU6OnJlbW92ZURlc3Ryb3llZE5vZGVzKGNv
bnN0IFNjcm9sbGluZ1N0YXRlVHJlZSYgc3RhdGVUcmVlKQogewotICAgIGZvciAoY29uc3QgYXV0
byYgcmVtb3ZlZE5vZGUgOiBzdGF0ZVRyZWUucmVtb3ZlZE5vZGVzKCkpIHsKLSAgICAgICAgU2Ny
b2xsaW5nVHJlZU5vZGUqIG5vZGUgPSBtX25vZGVNYXAudGFrZShyZW1vdmVkTm9kZSk7Ci0gICAg
ICAgIGlmICghbm9kZSkKLSAgICAgICAgICAgIGNvbnRpbnVlOwotCi0gICAgICAgIGlmIChub2Rl
LT5zY3JvbGxpbmdOb2RlSUQoKSA9PSBtX2xhdGNoZWROb2RlKQorICAgIGZvciAoY29uc3QgYXV0
byYgcmVtb3ZlZE5vZGVJRCA6IHN0YXRlVHJlZS5yZW1vdmVkTm9kZXMoKSkgeworICAgICAgICBt
X25vZGVNYXAucmVtb3ZlKHJlbW92ZWROb2RlSUQpOworICAgICAgICBpZiAocmVtb3ZlZE5vZGVJ
RCA9PSBtX2xhdGNoZWROb2RlKQogICAgICAgICAgICAgY2xlYXJMYXRjaGVkTm9kZSgpOwotCi0g
ICAgICAgIC8vIFdlIHNob3VsZCBoYXZlIHVucGFyZW50ZWQgdGhpcyBub2RlIGFscmVhZHkgdmlh
IHVwZGF0ZVRyZWVGcm9tU3RhdGVOb2RlKCkuCi0gICAgICAgIEFTU0VSVCghbm9kZS0+cGFyZW50
KCkpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1Njcm9s
bGluZy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9uLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9TY3JvbGxpbmcvUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JUcmFuc2Fj
dGlvbi5jcHAKaW5kZXggODRkY2M1NDAwMjM0ZjZhNTA3YzNiZjdjNGY5NGEwOTNjYzljZDhmNi4u
NzVlN2I4Y2RhNjU1ZmRmOGNhMTA5ZjFkMjVlOGVkMWY5NzUwNTNiOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1Njcm9sbGluZy9SZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRy
YW5zYWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvU2Nyb2xsaW5nL1JlbW90
ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNhY3Rpb24uY3BwCkBAIC0zMTcsOCArMzE3LDEwIEBA
IGJvb2wgQXJndW1lbnRDb2RlcjxTY3JvbGxpbmdTdGF0ZVN0aWNreU5vZGU+OjpkZWNvZGUoQXJn
dW1lbnREZWNvZGVyJiBkZWNvZGVyLCBTCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1zdGF0aWMg
dm9pZCBlbmNvZGVOb2RlQW5kRGVzY2VuZGFudHMoSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29k
ZXIsIGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSYgc3RhdGVOb2RlKQorc3RhdGljIHZvaWQgZW5j
b2RlTm9kZUFuZERlc2NlbmRhbnRzKElQQzo6QXJndW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25z
dCBTY3JvbGxpbmdTdGF0ZU5vZGUmIHN0YXRlTm9kZSwgaW50JiBlbmNvZGVkTm9kZUNvdW50KQog
eworICAgICsrZW5jb2RlZE5vZGVDb3VudDsKKwogICAgIHN3aXRjaCAoc3RhdGVOb2RlLm5vZGVU
eXBlKCkpIHsKICAgICBjYXNlIEZyYW1lU2Nyb2xsaW5nTm9kZToKICAgICAgICAgZW5jb2RlciA8
PCB0b1Njcm9sbGluZ1N0YXRlRnJhbWVTY3JvbGxpbmdOb2RlKHN0YXRlTm9kZSk7CkBAIC0zMzgs
NyArMzQwLDcgQEAgc3RhdGljIHZvaWQgZW5jb2RlTm9kZUFuZERlc2NlbmRhbnRzKElQQzo6QXJn
dW1lbnRFbmNvZGVyJiBlbmNvZGVyLCBjb25zdCBTY3JvbGwKICAgICAgICAgcmV0dXJuOwogCiAg
ICAgZm9yIChjb25zdCBhdXRvJiBjaGlsZCA6ICpzdGF0ZU5vZGUuY2hpbGRyZW4oKSkKLSAgICAg
ICAgZW5jb2RlTm9kZUFuZERlc2NlbmRhbnRzKGVuY29kZXIsICpjaGlsZC5nZXQoKSk7CisgICAg
ICAgIGVuY29kZU5vZGVBbmREZXNjZW5kYW50cyhlbmNvZGVyLCAqY2hpbGQuZ2V0KCksIGVuY29k
ZWROb2RlQ291bnQpOwogfQogCiB2b2lkIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yVHJhbnNh
Y3Rpb246OmVuY29kZShJUEM6OkFyZ3VtZW50RW5jb2RlciYgZW5jb2RlcikgY29uc3QKQEAgLTM1
Miw5ICszNTQsMTEgQEAgdm9pZCBSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRvclRyYW5zYWN0aW9u
OjplbmNvZGUoSVBDOjpBcmd1bWVudEVuY29kZXImIGVuY29kZXIKICAgICBpZiAobV9zY3JvbGxp
bmdTdGF0ZVRyZWUpIHsKICAgICAgICAgZW5jb2RlciA8PCBtX3Njcm9sbGluZ1N0YXRlVHJlZS0+
aGFzQ2hhbmdlZFByb3BlcnRpZXMoKTsKIAorICAgICAgICBpbnQgbnVtTm9kZXNFbmNvZGVkID0g
MDsKICAgICAgICAgaWYgKGNvbnN0IFNjcm9sbGluZ1N0YXRlTm9kZSogcm9vdE5vZGUgPSBtX3Nj
cm9sbGluZ1N0YXRlVHJlZS0+cm9vdFN0YXRlTm9kZSgpKQotICAgICAgICAgICAgZW5jb2RlTm9k
ZUFuZERlc2NlbmRhbnRzKGVuY29kZXIsICpyb290Tm9kZSk7CisgICAgICAgICAgICBlbmNvZGVO
b2RlQW5kRGVzY2VuZGFudHMoZW5jb2RlciwgKnJvb3ROb2RlLCBudW1Ob2Rlc0VuY29kZWQpOwog
CisgICAgICAgIEFTU0VSVF9VTlVTRUQobnVtTm9kZXNFbmNvZGVkLCBudW1Ob2Rlc0VuY29kZWQg
PT0gbnVtTm9kZXMpOwogICAgICAgICBlbmNvZGVyIDw8IG1fc2Nyb2xsaW5nU3RhdGVUcmVlLT5y
ZW1vdmVkTm9kZXMoKTsKICAgICB9IGVsc2UKICAgICAgICAgZW5jb2RlciA8PCBWZWN0b3I8U2Ny
b2xsaW5nTm9kZUlEPigpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDc3M2MxZTk3OGU0ZGI4ODMyNGZiZjVmOWJkMDNlYmYz
Mzc0ZjRlMDAuLmJjNjViYjBjOGEzNjNmMTUwNTY5NmQ3MjkzMDhlNTI3MjE1YjBjNjcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMiBAQAorMjAxNC0wNi0xOSAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2Vy
QGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TIFdlYktpdDJdIE1ha2UgLXdlYmtpdC1vdmVyZmxv
dy1zY3JvbGxpbmc6dG91Y2ggd29yayBpbiBpZnJhbWVzIChicmVha3MgTVNXb3JkIHByZXZpZXdz
KQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM0MDg1
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAg
ICBUZXN0cyB0aGF0IGFkZCBhbmQgcmVtb3ZlIGEgZml4ZWQgY29udGFpbmVyIG9mIGEgc2Nyb2xs
LWNvb3JkaW5hdGVkIGlmcmFtZS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvdGlsZWQt
ZHJhd2luZy9zY3JvbGxpbmcvZnJhbWVzL2Nvb3JkaW5hdGVkLWZyYW1lLWV4cGVjdGVkLnR4dDoK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1l
cy9jb29yZGluYXRlZC1mcmFtZS1nYWluLXNjcm9sbGluZy1hbmNlc3Rvci1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxp
bmcvZnJhbWVzL2Nvb3JkaW5hdGVkLWZyYW1lLWdhaW4tc2Nyb2xsaW5nLWFuY2VzdG9yLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxp
bmcvZnJhbWVzL2Nvb3JkaW5hdGVkLWZyYW1lLWluLWZpeGVkLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9jb29y
ZGluYXRlZC1mcmFtZS1sb3NlLXNjcm9sbGluZy1hbmNlc3Rvci1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZnJh
bWVzL2Nvb3JkaW5hdGVkLWZyYW1lLWxvc2Utc2Nyb2xsaW5nLWFuY2VzdG9yLmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZnJh
bWVzL3JlbW92ZS1jb29yZGluYXRlZC1mcmFtZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZnJhbWVzL3JlbW92
ZS1jb29yZGluYXRlZC1mcmFtZS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMt
d2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9yZXNvdXJjZXMvZG9jLXdpdGgtc3Rp
Y2t5Lmh0bWw6CisKIDIwMTQtMDYtMTggIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJr
aXQub3JnPgogCiAgICAgICAgIFN1YnRyZWVzIHdpdGggOmZpcnN0LWNoaWxkIGFuZCA6bGFzdC1j
aGlsZCBhcmUgbm90IGludmFsaWRhdGVkIHdoZW4gc2libGluZ3MgYXJlIGFkZGVkL3JlbW92ZWQK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9z
Y3JvbGxpbmcvZnJhbWVzL2Nvb3JkaW5hdGVkLWZyYW1lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZnJhbWVzL2Nvb3Jk
aW5hdGVkLWZyYW1lLWV4cGVjdGVkLnR4dAppbmRleCBhYmEwN2YxYjY3MjVhYTFkZmM3ODEyYmU0
NzhjNzliYjlhNDYyNzY3Li4wYjViOTdhZmM2Y2IzNDJmZmI1MTNlZmRhNDI5OWNkMGExMjNmOWYx
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcv
c2Nyb2xsaW5nL2ZyYW1lcy9jb29yZGluYXRlZC1mcmFtZS1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mcmFtZXMv
Y29vcmRpbmF0ZWQtZnJhbWUtZXhwZWN0ZWQudHh0CkBAIC00LDE2ICs0LDE3IEBACiAgIChjaGls
ZHJlbiAxCiAgICAgKEZyYW1lIHNjcm9sbGluZyBub2RlCiAgICAgICAoc2Nyb2xsYWJsZSBhcmVh
IHNpemUgNDg1IDMwMCkKLSAgICAgIChjb250ZW50cyBzaXplIDQ4NSAxODY4KQorICAgICAgKGNv
bnRlbnRzIHNpemUgNDg1IDQyMCkKICAgICAgIChjaGlsZHJlbiAxCiAgICAgICAgIChTdGlja3kg
bm9kZQotICAgICAgICAgIChhbmNob3IgZWRnZXM6IEFuY2hvckVkZ2VUb3AgKQorICAgICAgICAg
IChhbmNob3IgZWRnZXM6IEFuY2hvckVkZ2VUb3AgQW5jaG9yRWRnZUJvdHRvbSkKICAgICAgICAg
ICAodG9wIG9mZnNldCAxMC4wMCkKLSAgICAgICAgICAoY29udGFpbmluZyBibG9jayByZWN0IDgu
MDAsIDEwLjAwIDQ2OS4wMCB4IDE4NTAuMDApCi0gICAgICAgICAgKHN0aWNreSBib3ggcmVjdCA4
LjAwIDgzMC4wMCAxMDAuMDAgMTAwLjAwKQorICAgICAgICAgIChib3R0b20gb2Zmc2V0IDEwLjAw
KQorICAgICAgICAgIChjb250YWluaW5nIGJsb2NrIHJlY3QgOC4wMCwgOC4wMCA0NjkuMDAgeCA0
MDQuMDApCisgICAgICAgICAgKHN0aWNreSBib3ggcmVjdCA4LjAwIDMxMi4wMCAxMDAuMDAgMTAw
LjAwKQogICAgICAgICAgIChjb25zdHJhaW5pbmcgcmVjdCAwLjAwIDAuMDAgNDg1LjAwIDMwMC4w
MCkKLSAgICAgICAgICAoc3RpY2t5IG9mZnNldCBhdCBsYXN0IGxheW91dCAwLjAwIDAuMDApCi0g
ICAgICAgICAgKGxheWVyIHBvc2l0aW9uIGF0IGxhc3QgbGF5b3V0IDguMDAgODMwLjAwKQorICAg
ICAgICAgIChzdGlja3kgb2Zmc2V0IGF0IGxhc3QgbGF5b3V0IDAuMDAgLTEyMi4wMCkKKyAgICAg
ICAgICAobGF5ZXIgcG9zaXRpb24gYXQgbGFzdCBsYXlvdXQgOC4wMCAxOTAuMDApCiAgICAgICAg
ICkKICAgICAgICkKICAgICApCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9jb29yZGluYXRlZC1mcmFtZS1nYWlu
LXNjcm9sbGluZy1hbmNlc3Rvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9jb29yZGluYXRlZC1mcmFtZS1n
YWluLXNjcm9sbGluZy1hbmNlc3Rvci1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWViYzA0NWRl
YTQ0NGMxNGI5OTUzNDA2M2M1ZjI0ZTJmZmYwNGJiYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZnJhbWVzL2Nv
b3JkaW5hdGVkLWZyYW1lLWdhaW4tc2Nyb2xsaW5nLWFuY2VzdG9yLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDMwIEBACisoRnJhbWUgc2Nyb2xsaW5nIG5vZGUKKyAgKHNjcm9sbGFibGUgYXJlYSBz
aXplIDc4NSA2MDApCisgIChjb250ZW50cyBzaXplIDc4NSAxMDE2KQorICAoY2hpbGRyZW4gMQor
ICAgIChGaXhlZCBub2RlCisgICAgICAoYW5jaG9yIGVkZ2VzOiBBbmNob3JFZGdlTGVmdCBBbmNo
b3JFZGdlVG9wKQorICAgICAgKHZpZXdwb3J0IHJlY3QgYXQgbGFzdCBsYXlvdXQ6IDAuMDAgMC4w
MCA3ODUuMDAgNjAwLjAwKQorICAgICAgKGxheWVyIHBvc2l0aW9uIGF0IGxhc3QgbGF5b3V0IDgu
MDAgMTAuMDApCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoRnJhbWUgc2Nyb2xsaW5nIG5v
ZGUKKyAgICAgICAgICAoc2Nyb2xsYWJsZSBhcmVhIHNpemUgNTAwIDMwMCkKKyAgICAgICAgICAo
Y29udGVudHMgc2l6ZSA1MDAgNDIwKQorICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAg
ICAoU3RpY2t5IG5vZGUKKyAgICAgICAgICAgICAgKGFuY2hvciBlZGdlczogQW5jaG9yRWRnZVRv
cCBBbmNob3JFZGdlQm90dG9tKQorICAgICAgICAgICAgICAodG9wIG9mZnNldCAxMC4wMCkKKyAg
ICAgICAgICAgICAgKGJvdHRvbSBvZmZzZXQgMTAuMDApCisgICAgICAgICAgICAgIChjb250YWlu
aW5nIGJsb2NrIHJlY3QgOC4wMCwgOC4wMCA0ODQuMDAgeCA0MDQuMDApCisgICAgICAgICAgICAg
IChzdGlja3kgYm94IHJlY3QgOC4wMCAzMTIuMDAgMTAwLjAwIDEwMC4wMCkKKyAgICAgICAgICAg
ICAgKGNvbnN0cmFpbmluZyByZWN0IDAuMDAgMC4wMCA1MDAuMDAgMzAwLjAwKQorICAgICAgICAg
ICAgICAoc3RpY2t5IG9mZnNldCBhdCBsYXN0IGxheW91dCAwLjAwIC0xMjIuMDApCisgICAgICAg
ICAgICAgIChsYXllciBwb3NpdGlvbiBhdCBsYXN0IGxheW91dCA4LjAwIDE5MC4wMCkKKyAgICAg
ICAgICAgICkKKyAgICAgICAgICApCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5n
L3Njcm9sbGluZy9mcmFtZXMvY29vcmRpbmF0ZWQtZnJhbWUtZ2Fpbi1zY3JvbGxpbmctYW5jZXN0
b3IuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3Jv
bGxpbmcvZnJhbWVzL2Nvb3JkaW5hdGVkLWZyYW1lLWdhaW4tc2Nyb2xsaW5nLWFuY2VzdG9yLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYjk3MDNiNzE5ZTkxYTZkZjgwZGFjYTUwM2U3MGZhZTg3NDMzNWNmOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJh
d2luZy9zY3JvbGxpbmcvZnJhbWVzL2Nvb3JkaW5hdGVkLWZyYW1lLWdhaW4tc2Nyb2xsaW5nLWFu
Y2VzdG9yLmh0bWwKQEAgLTAsMCArMSw2NCBAQAorPCFET0NUWVBFIGh0bWw+DQorPGh0bWw+DQor
PGhlYWQ+DQorICAgIDxzdHlsZT4NCisgICAgICAgIGJvZHkgew0KKyAgICAgICAgICAgIGhlaWdo
dDogMTAwMHB4Ow0KKyAgICAgICAgfQ0KKyAgICAgICAgDQorICAgICAgICBpZnJhbWUgew0KKyAg
ICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOw0KKyAgICAgICAgICAgIG1hcmdpbjogMTBweDsNCisg
ICAgICAgICAgICBib3JkZXI6IDVweCBzb2xpZCBibGFjazsNCisgICAgICAgIH0NCisgICAgICAg
IA0KKyAgICAgICAgI2NvbnRhaW5lciB7DQorICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRl
Ow0KKyAgICAgICAgICAgIHRvcDogMTBweDsNCisgICAgICAgICAgICBib3JkZXI6IDRweCBzb2xp
ZCBncmVlbjsNCisgICAgICAgICAgICBwYWRkaW5nOiAxMHB4Ow0KKyAgICAgICAgfQ0KKyAgICAg
ICAgDQorICAgICAgICAjY29udGFpbmVyLmZpeGVkIHsNCisgICAgICAgICAgICBwb3NpdGlvbjog
Zml4ZWQ7DQorICAgICAgICAgICAgdG9wOiAxMHB4Ow0KKyAgICAgICAgICAgIGJvcmRlcjogNHB4
IHNvbGlkIG9yYW5nZTsNCisgICAgICAgIH0NCisgICAgICAgIA0KKyAgICAgICAgI3RyZWUgew0K
KyAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsNCisgICAgICAgICAgICB0b3A6IDM3NXB4
Ow0KKyAgICAgICAgfQ0KKyAgICA8L3N0eWxlPg0KKyAgICA8c2NyaXB0Pg0KKyAgICAgICAgaWYg
KHdpbmRvdy50ZXN0UnVubmVyKSB7DQorICAgICAgICAgICAgdGVzdFJ1bm5lci53YWl0VW50aWxE
b25lKCk7DQorICAgICAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7DQorICAgICAgICAg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTY3JvbGxpbmdUcmVlSW5jbHVkZXNGcmFt
ZXModHJ1ZSk7DQorICAgICAgICB9DQorDQorICAgICAgICBmdW5jdGlvbiBzdGFydFRlc3QoKQ0K
KyAgICAgICAgew0KKyAgICAgICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0K
KyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGFpbmVyJykuY2xh
c3NMaXN0LnRvZ2dsZSgnZml4ZWQnKTsNCisNCisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpDQorICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
dHJlZScpLmlubmVyVGV4dCA9IGludGVybmFscy5zY3JvbGxpbmdTdGF0ZVRyZWVBc1RleHQoKTsN
CisNCisgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy50ZXN0UnVubmVyKQ0KKyAgICAgICAgICAg
ICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7DQorDQorICAgICAgICAgICAgfSwgMCk7
DQorICAgICAgICB9DQorICAgICAgICANCisgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVy
KCdsb2FkJywgc3RhcnRUZXN0LCBmYWxzZSk7DQorICAgIDwvc2NyaXB0Pg0KKzwvaGVhZD4NCis8
Ym9keT4NCisgICAgDQorICAgIDxkaXYgaWQ9ImNvbnRhaW5lciI+DQorICAgICAgICA8aWZyYW1l
IHNyYz0icmVzb3VyY2VzL2RvYy13aXRoLXN0aWNreS5odG1sIiBzY3JvbGxpbmc9Im5vIiB3aWR0
aD0iNTAwIiBoZWlnaHQ9IjMwMCI+PC9pZnJhbWU+DQorICAgIDwvZGl2Pg0KKzxwcmUgaWQ9InRy
ZWUiPlNjcm9sbGluZyB0cmVlIGdvZXMgaGVyZTwvcHJlPg0KKzwvYm9keT4NCis8L2h0bWw+DQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Nj
cm9sbGluZy9mcmFtZXMvY29vcmRpbmF0ZWQtZnJhbWUtaW4tZml4ZWQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mcmFt
ZXMvY29vcmRpbmF0ZWQtZnJhbWUtaW4tZml4ZWQtZXhwZWN0ZWQudHh0CmluZGV4IGFmZWE4ODE4
MTZiNmE4YzA0NmE1YWUxOWFlMTQ3OWRlMmFjMTkwMjUuLmJiYjRjMTg4NzFkMmRmYWU3NjljOTM2
NDE2NTEwZjZmOTNkYmE0ZDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZnJhbWVzL2Nvb3JkaW5hdGVkLWZyYW1lLWluLWZp
eGVkLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVk
LWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9jb29yZGluYXRlZC1mcmFtZS1pbi1maXhlZC1leHBl
Y3RlZC50eHQKQEAgLTksMTYgKzksMTcgQEAKICAgICAgIChjaGlsZHJlbiAxCiAgICAgICAgIChG
cmFtZSBzY3JvbGxpbmcgbm9kZQogICAgICAgICAgIChzY3JvbGxhYmxlIGFyZWEgc2l6ZSA0ODUg
MzAwKQotICAgICAgICAgIChjb250ZW50cyBzaXplIDQ4NSAxODY4KQorICAgICAgICAgIChjb250
ZW50cyBzaXplIDQ4NSA0MjApCiAgICAgICAgICAgKGNoaWxkcmVuIDEKICAgICAgICAgICAgIChT
dGlja3kgbm9kZQotICAgICAgICAgICAgICAoYW5jaG9yIGVkZ2VzOiBBbmNob3JFZGdlVG9wICkK
KyAgICAgICAgICAgICAgKGFuY2hvciBlZGdlczogQW5jaG9yRWRnZVRvcCBBbmNob3JFZGdlQm90
dG9tKQogICAgICAgICAgICAgICAodG9wIG9mZnNldCAxMC4wMCkKLSAgICAgICAgICAgICAgKGNv
bnRhaW5pbmcgYmxvY2sgcmVjdCA4LjAwLCAxMC4wMCA0NjkuMDAgeCAxODUwLjAwKQotICAgICAg
ICAgICAgICAoc3RpY2t5IGJveCByZWN0IDguMDAgODMwLjAwIDEwMC4wMCAxMDAuMDApCisgICAg
ICAgICAgICAgIChib3R0b20gb2Zmc2V0IDEwLjAwKQorICAgICAgICAgICAgICAoY29udGFpbmlu
ZyBibG9jayByZWN0IDguMDAsIDguMDAgNDY5LjAwIHggNDA0LjAwKQorICAgICAgICAgICAgICAo
c3RpY2t5IGJveCByZWN0IDguMDAgMzEyLjAwIDEwMC4wMCAxMDAuMDApCiAgICAgICAgICAgICAg
IChjb25zdHJhaW5pbmcgcmVjdCAwLjAwIDAuMDAgNDg1LjAwIDMwMC4wMCkKLSAgICAgICAgICAg
ICAgKHN0aWNreSBvZmZzZXQgYXQgbGFzdCBsYXlvdXQgMC4wMCAwLjAwKQotICAgICAgICAgICAg
ICAobGF5ZXIgcG9zaXRpb24gYXQgbGFzdCBsYXlvdXQgOC4wMCA4MzAuMDApCisgICAgICAgICAg
ICAgIChzdGlja3kgb2Zmc2V0IGF0IGxhc3QgbGF5b3V0IDAuMDAgLTEyMi4wMCkKKyAgICAgICAg
ICAgICAgKGxheWVyIHBvc2l0aW9uIGF0IGxhc3QgbGF5b3V0IDguMDAgMTkwLjAwKQogICAgICAg
ICAgICAgKQogICAgICAgICAgICkKICAgICAgICAgKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mcmFtZXMvY29vcmRpbmF0
ZWQtZnJhbWUtbG9zZS1zY3JvbGxpbmctYW5jZXN0b3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mcmFtZXMvY29vcmRp
bmF0ZWQtZnJhbWUtbG9zZS1zY3JvbGxpbmctYW5jZXN0b3ItZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmQwYjNmYmM2ZGIxYWE2YWEzODBkMmU3MDkwMTA3ZjMyZWMwNjczMTMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xs
aW5nL2ZyYW1lcy9jb29yZGluYXRlZC1mcmFtZS1sb3NlLXNjcm9sbGluZy1hbmNlc3Rvci1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAorKEZyYW1lIHNjcm9sbGluZyBub2RlCisgIChzY3Jv
bGxhYmxlIGFyZWEgc2l6ZSA3ODUgNjAwKQorICAoY29udGVudHMgc2l6ZSA3ODUgMTAxNikKKyAg
KGNoaWxkcmVuIDEKKyAgICAoRnJhbWUgc2Nyb2xsaW5nIG5vZGUKKyAgICAgIChzY3JvbGxhYmxl
IGFyZWEgc2l6ZSA1MDAgMzAwKQorICAgICAgKGNvbnRlbnRzIHNpemUgNTAwIDQyMCkKKyAgICAg
IChjaGlsZHJlbiAxCisgICAgICAgIChTdGlja3kgbm9kZQorICAgICAgICAgIChhbmNob3IgZWRn
ZXM6IEFuY2hvckVkZ2VUb3AgQW5jaG9yRWRnZUJvdHRvbSkKKyAgICAgICAgICAodG9wIG9mZnNl
dCAxMC4wMCkKKyAgICAgICAgICAoYm90dG9tIG9mZnNldCAxMC4wMCkKKyAgICAgICAgICAoY29u
dGFpbmluZyBibG9jayByZWN0IDguMDAsIDguMDAgNDg0LjAwIHggNDA0LjAwKQorICAgICAgICAg
IChzdGlja3kgYm94IHJlY3QgOC4wMCAzMTIuMDAgMTAwLjAwIDEwMC4wMCkKKyAgICAgICAgICAo
Y29uc3RyYWluaW5nIHJlY3QgMC4wMCAwLjAwIDUwMC4wMCAzMDAuMDApCisgICAgICAgICAgKHN0
aWNreSBvZmZzZXQgYXQgbGFzdCBsYXlvdXQgMC4wMCAtMTIyLjAwKQorICAgICAgICAgIChsYXll
ciBwb3NpdGlvbiBhdCBsYXN0IGxheW91dCA4LjAwIDE5MC4wMCkKKyAgICAgICAgKQorICAgICAg
KQorICAgICkKKyAgKQorKQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2syL3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9jb29yZGluYXRlZC1mcmFtZS1sb3Nl
LXNjcm9sbGluZy1hbmNlc3Rvci5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90
aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mcmFtZXMvY29vcmRpbmF0ZWQtZnJhbWUtbG9zZS1zY3Jv
bGxpbmctYW5jZXN0b3IuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mMjI2ZDA2ODcyYmYwN2U1Y2M1Y2E2YzE3
MmQ2ZjNjZTcwMDQ5NWM5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9mcmFtZXMvY29vcmRpbmF0ZWQtZnJhbWUt
bG9zZS1zY3JvbGxpbmctYW5jZXN0b3IuaHRtbApAQCAtMCwwICsxLDY0IEBACis8IURPQ1RZUEUg
aHRtbD4NCis8aHRtbD4NCis8aGVhZD4NCisgICAgPHN0eWxlPg0KKyAgICAgICAgYm9keSB7DQor
ICAgICAgICAgICAgaGVpZ2h0OiAxMDAwcHg7DQorICAgICAgICB9DQorICAgICAgICANCisgICAg
ICAgIGlmcmFtZSB7DQorICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7DQorICAgICAgICAgICAg
bWFyZ2luOiAxMHB4Ow0KKyAgICAgICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIGJsYWNrOw0KKyAg
ICAgICAgfQ0KKyAgICAgICAgDQorICAgICAgICAjY29udGFpbmVyIHsNCisgICAgICAgICAgICBw
b3NpdGlvbjogYWJzb2x1dGU7DQorICAgICAgICAgICAgdG9wOiAxMHB4Ow0KKyAgICAgICAgICAg
IGJvcmRlcjogNHB4IHNvbGlkIGdyZWVuOw0KKyAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7DQor
ICAgICAgICB9DQorICAgICAgICANCisgICAgICAgICNjb250YWluZXIuZml4ZWQgew0KKyAgICAg
ICAgICAgIHBvc2l0aW9uOiBmaXhlZDsNCisgICAgICAgICAgICB0b3A6IDEwcHg7DQorICAgICAg
ICAgICAgYm9yZGVyOiA0cHggc29saWQgb3JhbmdlOw0KKyAgICAgICAgfQ0KKyAgICAgICAgDQor
ICAgICAgICAjdHJlZSB7DQorICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOw0KKyAgICAg
ICAgICAgIHRvcDogMzc1cHg7DQorICAgICAgICB9DQorICAgIDwvc3R5bGU+DQorICAgIDxzY3Jp
cHQ+DQorICAgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsNCisgICAgICAgICAgICB0ZXN0
UnVubmVyLndhaXRVbnRpbERvbmUoKTsNCisgICAgICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1Rl
eHQoKTsNCisgICAgICAgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFNjcm9sbGlu
Z1RyZWVJbmNsdWRlc0ZyYW1lcyh0cnVlKTsNCisgICAgICAgIH0NCisNCisgICAgICAgIGZ1bmN0
aW9uIHN0YXJ0VGVzdCgpDQorICAgICAgICB7DQorICAgICAgICAgICAgd2luZG93LnNldFRpbWVv
dXQoZnVuY3Rpb24oKSB7DQorICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCdjb250YWluZXInKS5jbGFzc0xpc3QudG9nZ2xlKCdmaXhlZCcpOw0KKw0KKyAgICAgICAgICAg
ICAgICBpZiAod2luZG93LmludGVybmFscykNCisgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCd0cmVlJykuaW5uZXJUZXh0ID0gaW50ZXJuYWxzLnNjcm9sbGluZ1N0
YXRlVHJlZUFzVGV4dCgpOw0KKw0KKyAgICAgICAgICAgICAgICBpZiAod2luZG93LnRlc3RSdW5u
ZXIpDQorICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsNCisNCisg
ICAgICAgICAgICB9LCAwKTsNCisgICAgICAgIH0NCisgICAgICAgIA0KKyAgICAgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBzdGFydFRlc3QsIGZhbHNlKTsNCisgICAgPC9zY3Jp
cHQ+DQorPC9oZWFkPg0KKzxib2R5Pg0KKyAgICANCisgICAgPGRpdiBpZD0iY29udGFpbmVyIiBj
bGFzcz0iZml4ZWQiPg0KKyAgICAgICAgPGlmcmFtZSBzcmM9InJlc291cmNlcy9kb2Mtd2l0aC1z
dGlja3kuaHRtbCIgc2Nyb2xsaW5nPSJubyIgd2lkdGg9IjUwMCIgaGVpZ2h0PSIzMDAiPjwvaWZy
YW1lPg0KKyAgICA8L2Rpdj4NCis8cHJlIGlkPSJ0cmVlIj5TY3JvbGxpbmcgdHJlZSBnb2VzIGhl
cmU8L3ByZT4NCis8L2JvZHk+DQorPC9odG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZnJhbWVzL3JlbW92ZS1jb29y
ZGluYXRlZC1mcmFtZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9yZW1vdmUtY29vcmRpbmF0ZWQtZnJhbWUt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg3YzhiYTZlY2EwYzVkNjhjNWI2M2NhODMxMjU2YWZk
M2RmNzg4OTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L3RpbGVkLWRyYXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9yZW1vdmUtY29vcmRpbmF0ZWQtZnJhbWUt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTQgQEAKKyhGcmFtZSBzY3JvbGxpbmcgbm9kZQorICAo
c2Nyb2xsYWJsZSBhcmVhIHNpemUgNzg1IDYwMCkKKyAgKGNvbnRlbnRzIHNpemUgNzg1IDEwMTYp
CisgIChjaGlsZHJlbiAxCisgICAgKEZpeGVkIG5vZGUKKyAgICAgIChhbmNob3IgZWRnZXM6IEFu
Y2hvckVkZ2VMZWZ0IEFuY2hvckVkZ2VUb3ApCisgICAgICAodmlld3BvcnQgcmVjdCBhdCBsYXN0
IGxheW91dDogMC4wMCAwLjAwIDc4NS4wMCA2MDAuMDApCisgICAgICAobGF5ZXIgcG9zaXRpb24g
YXQgbGFzdCBsYXlvdXQgOC4wMCAxMC4wMCkKKyAgICAgIChjaGlsZHJlbiAwCisgICAgICApCisg
ICAgKQorICApCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
dGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZnJhbWVzL3JlbW92ZS1jb29yZGluYXRlZC1mcmFtZS5o
dG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGlu
Zy9mcmFtZXMvcmVtb3ZlLWNvb3JkaW5hdGVkLWZyYW1lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmM4NzQ0
MzY4YzcxMmQ1ZTlhZDJiMGU5YjdlM2QyYjZhNzQxMTg2NgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZnJhbWVz
L3JlbW92ZS1jb29yZGluYXRlZC1mcmFtZS5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQ
RSBodG1sPg0KKzxodG1sPg0KKzxoZWFkPg0KKyAgICA8c3R5bGU+DQorICAgICAgICBib2R5IHsN
CisgICAgICAgICAgICBoZWlnaHQ6IDEwMDBweDsNCisgICAgICAgIH0NCisgICAgICAgIA0KKyAg
ICAgICAgaWZyYW1lIHsNCisgICAgICAgICAgICBkaXNwbGF5OiBibG9jazsNCisgICAgICAgICAg
ICBtYXJnaW46IDEwcHg7DQorICAgICAgICAgICAgYm9yZGVyOiA1cHggc29saWQgYmxhY2s7DQor
ICAgICAgICB9DQorICAgICAgICANCisgICAgICAgICNjb250YWluZXIgew0KKyAgICAgICAgICAg
IHBvc2l0aW9uOiBhYnNvbHV0ZTsNCisgICAgICAgICAgICB0b3A6IDEwcHg7DQorICAgICAgICAg
ICAgYm9yZGVyOiA0cHggc29saWQgZ3JlZW47DQorICAgICAgICAgICAgcGFkZGluZzogMTBweDsN
CisgICAgICAgIH0NCisgICAgICAgIA0KKyAgICAgICAgI2NvbnRhaW5lci5maXhlZCB7DQorICAg
ICAgICAgICAgcG9zaXRpb246IGZpeGVkOw0KKyAgICAgICAgICAgIHRvcDogMTBweDsNCisgICAg
ICAgICAgICBib3JkZXI6IDRweCBzb2xpZCBvcmFuZ2U7DQorICAgICAgICB9DQorICAgICAgICAN
CisgICAgICAgICN0cmVlIHsNCisgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQorICAg
ICAgICAgICAgdG9wOiAzNzVweDsNCisgICAgICAgIH0NCisgICAgPC9zdHlsZT4NCisgICAgPHNj
cmlwdD4NCisgICAgICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikgew0KKyAgICAgICAgICAgIHRl
c3RSdW5uZXIud2FpdFVudGlsRG9uZSgpOw0KKyAgICAgICAgICAgIHRlc3RSdW5uZXIuZHVtcEFz
VGV4dCgpOw0KKyAgICAgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U2Nyb2xs
aW5nVHJlZUluY2x1ZGVzRnJhbWVzKHRydWUpOw0KKyAgICAgICAgfQ0KKw0KKyAgICAgICAgZnVu
Y3Rpb24gc3RhcnRUZXN0KCkNCisgICAgICAgIHsNCisgICAgICAgICAgICB3aW5kb3cuc2V0VGlt
ZW91dChmdW5jdGlvbigpIHsNCisgICAgICAgICAgICAgICAgdmFyIGlmcmFtZSA9IGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdpZnJhbWUnKTsNCisgICAgICAgICAgICAgICAgaWZyYW1lLnJlbW92
ZSgpOw0KKw0KKyAgICAgICAgICAgICAgICBpZiAod2luZG93LmludGVybmFscykNCisgICAgICAg
ICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0cmVlJykuaW5uZXJUZXh0ID0g
aW50ZXJuYWxzLnNjcm9sbGluZ1N0YXRlVHJlZUFzVGV4dCgpOw0KKw0KKyAgICAgICAgICAgICAg
ICBpZiAod2luZG93LnRlc3RSdW5uZXIpDQorICAgICAgICAgICAgICAgICAgICB0ZXN0UnVubmVy
Lm5vdGlmeURvbmUoKTsNCisNCisgICAgICAgICAgICB9LCAwKTsNCisgICAgICAgIH0NCisgICAg
ICAgIA0KKyAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBzdGFydFRlc3Qs
IGZhbHNlKTsNCisgICAgPC9zY3JpcHQ+DQorPC9oZWFkPg0KKzxib2R5Pg0KKyAgICANCisgICAg
PGRpdiBpZD0iY29udGFpbmVyIiBjbGFzcz0iZml4ZWQiPg0KKyAgICAgICAgPGlmcmFtZSBpZD0i
aWZyYW1lIiBzcmM9InJlc291cmNlcy9kb2Mtd2l0aC1zdGlja3kuaHRtbCIgc2Nyb2xsaW5nPSJu
byIgd2lkdGg9IjUwMCIgaGVpZ2h0PSIzMDAiPjwvaWZyYW1lPg0KKyAgICA8L2Rpdj4NCis8cHJl
IGlkPSJ0cmVlIj5TY3JvbGxpbmcgdHJlZSBnb2VzIGhlcmU8L3ByZT4NCis8L2JvZHk+DQorPC9o
dG1sPg0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJh
d2luZy9zY3JvbGxpbmcvZnJhbWVzL3Jlc291cmNlcy9kb2Mtd2l0aC1zdGlja3kuaHRtbCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy9zY3JvbGxpbmcvZnJhbWVz
L3Jlc291cmNlcy9kb2Mtd2l0aC1zdGlja3kuaHRtbAppbmRleCBlOGJlZjU5YjkxODhjZmM2NjRj
YjVmNWFkYzRiZDVkNDMyYzYzNzU3Li43YmJkMmJiNDMzNWZjMTI0Mzc1ZjliMmI1NmU0NjcxNTEx
ODFlNjNkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRy
YXdpbmcvc2Nyb2xsaW5nL2ZyYW1lcy9yZXNvdXJjZXMvZG9jLXdpdGgtc3RpY2t5Lmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3Njcm9sbGluZy9m
cmFtZXMvcmVzb3VyY2VzL2RvYy13aXRoLXN0aWNreS5odG1sCkBAIC05LDYgKzksMTQgQEAKICAg
ICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsdWU7CiAgICAgICAgIH0KICAgICAgICAgCisg
ICAgICAgIC5zY3JvbGxpbmcgeworICAgICAgICAgICAgaGVpZ2h0OiAzMDBweDsKKyAgICAgICAg
ICAgIHdpZHRoOiA0MDBweDsKKyAgICAgICAgICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAgICAg
ICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7CisgICAgICAgICAgICBib3Jk
ZXI6IDJweCBzb2xpZCBibGFjazsKKyAgICAgICAgfQorICAgICAgICAKICAgICAgICAgLnNwYWNl
ciB7CiAgICAgICAgICAgICBoZWlnaHQ6IDQwMHB4OwogICAgICAgICAgICAgbWFyZ2luOiAxMHB4
OwpAQCAtMTcsNiArMjUsNyBAQAogICAgICAgICAuc3RpY2t5IHsKICAgICAgICAgICAgIHBvc2l0
aW9uOiAtd2Via2l0LXN0aWNreTsKICAgICAgICAgICAgIHRvcDogMTBweDsKKyAgICAgICAgICAg
IGJvdHRvbTogMTBweDsKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgLmNvbXBvc2l0ZWQg
ewpAQCAtMjUsMTEgKzM0LDE0IEBACiAgICAgPC9zdHlsZT4KIDwvaGVhZD4KIDxib2R5PgotICAg
IDxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+Ci0gICAgPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rp
dj4KKyAgICA8ZGl2IGNsYXNzPSJjb21wb3NpdGVkIHNjcm9sbGluZyI+CisgICAgICAgIDxkaXYg
Y2xhc3M9InNwYWNlciI+PC9kaXY+CisgICAgICAgIDxkaXYgY2xhc3M9InNwYWNlciI+PC9kaXY+
CisgICAgICAgIDxkaXYgY2xhc3M9InN0aWNreSBib3giPjwvZGl2PgorICAgICAgICA8ZGl2IGNs
YXNzPSJzcGFjZXIiPjwvZGl2PgorICAgICAgICA8ZGl2IGNsYXNzPSJzcGFjZXIiPjwvZGl2Pgor
ICAgIDwvZGl2PgogICAgIDxkaXYgY2xhc3M9InN0aWNreSBib3giPjwvZGl2PgotICAgIDxkaXYg
Y2xhc3M9InNwYWNlciI+PC9kaXY+Ci0gICAgPGRpdiBjbGFzcz0ic3BhY2VyIj48L2Rpdj4KLSAg
ICA8ZGl2IGNsYXNzPSJjb21wb3NpdGVkIGJveCI+PC9kaXY+CisKIDwvYm9keT4KIDwvaHRtbD4K
</data>
<flag name="review"
          id="257943"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>