<?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>110690</bug_id>
          
          <creation_ts>2013-02-23 09:13:07 -0800</creation_ts>
          <short_desc>Scrollbar style resolution arguments should not passed via statics.</short_desc>
          <delta_ts>2013-02-23 12:44:36 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>
          
          <blocked>89879</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>eric</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>840382</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2013-02-23 09:13:07 -0800</bug_when>
    <thetext>Scrollbar style resolution arguments should not passed via statics.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840384</commentid>
    <comment_count>1</comment_count>
      <attachid>189928</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2013-02-23 09:23:18 -0800</bug_when>
    <thetext>Created attachment 189928
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840393</commentid>
    <comment_count>2</comment_count>
      <attachid>189928</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2013-02-23 09:58:30 -0800</bug_when>
    <thetext>Comment on attachment 189928
Patch

This is just the tip of the psuedo-styling iceberg. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840398</commentid>
    <comment_count>3</comment_count>
      <attachid>189932</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2013-02-23 10:18:16 -0800</bug_when>
    <thetext>Created attachment 189932
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840437</commentid>
    <comment_count>4</comment_count>
      <attachid>189932</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-23 12:44:33 -0800</bug_when>
    <thetext>Comment on attachment 189932
Patch for landing

Clearing flags on attachment: 189932

Committed r143848: &lt;http://trac.webkit.org/changeset/143848&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>840438</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-23 12:44:36 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189928</attachid>
            <date>2013-02-23 09:23:18 -0800</date>
            <delta_ts>2013-02-23 10:18:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110690-20130223091936.patch</filename>
            <type>text/plain</type>
            <size>28067</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzODEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDk1MWM4MzgwNmIwZjZh
ZjE0Y2RiNTExMzU3OWIxYjJmNzQ4ODQyOC4uM2RiYTY4NGE1ZDliNDBjODkyZjI2NzQ1MmM3MTY5
MjU3YmM0YjMwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEzLTAyLTIzICBEaW1p
dHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU2Nyb2xsYmFy
IHN0eWxlIHJlc29sdXRpb24gYXJndW1lbnRzIHNob3VsZCBub3QgcGFzc2VkIHZpYSBzdGF0aWNz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwNjkw
CisKKyAgICAgICAgVXNlIFBzZXVkb1N0eWxlUmVxdWVzdCB0byBwYXNzIHNjcm9sbGJhciBwYXJh
bXMgZm9yIHN0eWxlIHJlc29sdmUuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgTm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHksIGNvdmVyZWQgYnkgZXhp
c3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2gpOiBDaGFuZ2VkIHRvIHVzZSBjb250
ZXh0IHBhcmFtcywgcmF0aGVyIHRoYW4gc3RhdGljcy4KKyAgICAgICAgKFdlYkNvcmU6OlNlbGVj
dG9yQ2hlY2tlcjo6Y2hlY2tPbmUpOiBDaGFuZ2VkIHRvIHBhc3MgY29udGV4dCB0byBjaGVja1Nj
cm9sbGJhclBzZXVkb0NsYXNzLgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2VyOjpj
aGVja1Njcm9sbGJhclBzZXVkb0NsYXNzKTogQ2hhbmdlZCB0byB1c2UgY29udGV4dCBwYXJhbXMs
IHJhdGhlciB0aGFuIHN0YXRpY3MuCisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5oOgor
ICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2VyOjpTZWxlY3RvckNoZWNraW5nQ29udGV4
dDo6U2VsZWN0b3JDaGVja2luZ0NvbnRleHQpOiBBZGRlZCBzY3JvbGxiYXIgc3R5bGUgYXJncy4K
KyAgICAgICAgKFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0KTogRGl0dG8uCisgICAgICAgICogY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6Y29s
bGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KTogQ2hhbmdlZCB0byB1c2UgUHNldWRvU3R5bGVSZXF1
ZXN0LgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6U3RhdGU6OmluaXRGb3JTdHls
ZVJlc29sdmUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OnBzZXVk
b1N0eWxlRm9yRWxlbWVudCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZl
cjo6cnVsZU1hdGNoZXMpOiBEaXR0byBhbmQgYWRkZWQgc3R1ZmZpbmcgc2Nyb2xsYmFyIHN0eWxl
IHJlc29sdmUgYXJncyBpbnRvIFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0LgorICAgICAgICAqIGNz
cy9TdHlsZVJlc29sdmVyLmg6CisgICAgICAgIChQc2V1ZG9TdHlsZVJlcXVlc3QpOiBBZGRlZC4K
KyAgICAgICAgKFN0YXRlKTogQ2hhbmdlZCB0byBob2xkIGFuZCB1c2UgUHNldWRvU3R5bGVSZXF1
ZXN0IGluc3RlYWQgb2YganVzdCBQc2V1ZG9JZAorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnBzZXVkb1N0eWxlQ2FjaGVJc0ludmFsaWQpOiBD
aGFuZ2VkIHRvIHVzZSBQc2V1ZG9TdHlsZVJlcXVlc3QuCisgICAgICAgICogcGFnZS9GcmFtZVZp
ZXcuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dXBkYXRlU2Nyb2xs
Q29ybmVyKTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRhdGVTY3JvbGxDb3JuZXJTdHlsZSk6IERp
dHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZVJlc2l6ZXJTdHlsZSk6
IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpzZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IpOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2VsZWN0aW9uQ29sb3IpOiBEaXR0by4K
KyAgICAgICAgKFdlYkNvcmU6OmZpcnN0TGluZVN0eWxlRm9yQ2FjaGVkVW5jYWNoZWRUeXBlKTog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmdldENhY2hlZFBzZXVkb1N0
eWxlKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmdldFVuY2FjaGVk
UHNldWRvU3R5bGUpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6
CisgICAgICAgIChSZW5kZXJPYmplY3QpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyU2Nyb2xsYmFyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhcjo6Z2V0
U2Nyb2xsYmFyUHNldWRvU3R5bGUpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
U2Nyb2xsYmFyLmg6CisgICAgICAgIChSZW5kZXJTY3JvbGxiYXIpOiBSZW1vdmVkIHN0YXRpYyBt
ZW1iZXJzIHRoYXQgYXJlIG5vdyBvYnNvbGV0ZS4KKwogMjAxMy0wMi0yMiAgTGV2aSBXZWludHJh
dWIgIDxsZXZpd0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkIGRlc2NyaXB0aXZlIG5hbWVz
IGZvciBkaWZmZXJlbnQgYWRkTWlkcG9pbnQgdXNlIGNhc2VzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxl
Y3RvckNoZWNrZXIuY3BwCmluZGV4IGYzZTYxZTgzNGI5ZTQ0YmQ5YWQwNjMxZDIzZWIxMjFkOTUw
MDc3ZDEuLmI4YjRiMjM0NjlkZmM4MjI4ZTY4MjMxMDk5Y2U1NmFkYjdmMTEzZTcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCkBAIC0xNDMsMTUgKzE0MywxNSBAQCBTZWxl
Y3RvckNoZWNrZXI6Ok1hdGNoIFNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2goY29uc3QgU2VsZWN0b3JD
aGVja2luZ0NvbnRleHQmIGNvbgogICAgICAgICBpZiAoY29udGV4dC5lbGVtZW50ID09IGNvbnRl
eHQuc2NvcGUpCiAgICAgICAgICAgICByZXR1cm4gU2VsZWN0b3JGYWlsc0NvbXBsZXRlbHk7CiAK
LSAgICAgICAgLy8gQmFpbC1vdXQgaWYgdGhpcyBzZWxlY3RvciBpcyBpcnJlbGV2YW50IGZvciB0
aGUgcHNldWRvU3R5bGUKLSAgICAgICAgaWYgKGNvbnRleHQucHNldWRvU3R5bGUgIT0gTk9QU0VV
RE8gJiYgY29udGV4dC5wc2V1ZG9TdHlsZSAhPSBkeW5hbWljUHNldWRvKQorICAgICAgICAvLyBC
YWlsLW91dCBpZiB0aGlzIHNlbGVjdG9yIGlzIGlycmVsZXZhbnQgZm9yIHRoZSBwc2V1ZG9JZAor
ICAgICAgICBpZiAoY29udGV4dC5wc2V1ZG9JZCAhPSBOT1BTRVVETyAmJiBjb250ZXh0LnBzZXVk
b0lkICE9IGR5bmFtaWNQc2V1ZG8pCiAgICAgICAgICAgICByZXR1cm4gU2VsZWN0b3JGYWlsc0Nv
bXBsZXRlbHk7CiAKICAgICAgICAgLy8gRGlzYWJsZSA6dmlzaXRlZCBtYXRjaGluZyB3aGVuIHdl
IHNlZSB0aGUgZmlyc3QgbGluayBvciB0cnkgdG8gbWF0Y2ggYW55dGhpbmcgZWxzZSB0aGFuIGFu
IGFuY2VzdG9ycy4KICAgICAgICAgaWYgKCFjb250ZXh0LmlzU3ViU2VsZWN0b3IgJiYgKGNvbnRl
eHQuZWxlbWVudC0+aXNMaW5rKCkgfHwgKHJlbGF0aW9uICE9IENTU1NlbGVjdG9yOjpEZXNjZW5k
YW50ICYmIHJlbGF0aW9uICE9IENTU1NlbGVjdG9yOjpDaGlsZCkpKQogICAgICAgICAgICAgbmV4
dENvbnRleHQudmlzaXRlZE1hdGNoVHlwZSA9IFZpc2l0ZWRNYXRjaERpc2FibGVkOwogCi0gICAg
ICAgIG5leHRDb250ZXh0LnBzZXVkb1N0eWxlID0gTk9QU0VVRE87CisgICAgICAgIG5leHRDb250
ZXh0LnBzZXVkb0lkID0gTk9QU0VVRE87CiAgICAgfQogCiAgICAgc3dpdGNoIChyZWxhdGlvbikg
ewpAQCAtMjA3LDcgKzIwNyw3IEBAIFNlbGVjdG9yQ2hlY2tlcjo6TWF0Y2ggU2VsZWN0b3JDaGVj
a2VyOjptYXRjaChjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29uCiAgICAgICAgIC8v
IGEgc2VsZWN0b3IgaXMgaW52YWxpZCBpZiBzb21ldGhpbmcgZm9sbG93cyBhIHBzZXVkby1lbGVt
ZW50CiAgICAgICAgIC8vIFdlIG1ha2UgYW4gZXhjZXB0aW9uIGZvciBzY3JvbGxiYXIgcHNldWRv
IGVsZW1lbnRzIGFuZCBhbGxvdyBhIHNldCBvZiBwc2V1ZG8gY2xhc3NlcyAoYnV0IG5vdGhpbmcg
ZWxzZSkKICAgICAgICAgLy8gdG8gZm9sbG93IHRoZSBwc2V1ZG8gZWxlbWVudHMuCi0gICAgICAg
IG5leHRDb250ZXh0Lmhhc1Njcm9sbGJhclBzZXVkbyA9IFJlbmRlclNjcm9sbGJhcjo6c2Nyb2xs
YmFyRm9yU3R5bGVSZXNvbHZlKCkgfHwgZHluYW1pY1BzZXVkbyA9PSBTQ1JPTExCQVJfQ09STkVS
IHx8IGR5bmFtaWNQc2V1ZG8gPT0gUkVTSVpFUjsKKyAgICAgICAgbmV4dENvbnRleHQuaGFzU2Ny
b2xsYmFyUHNldWRvID0gY29udGV4dC5zY3JvbGxiYXIgfHwgZHluYW1pY1BzZXVkbyA9PSBTQ1JP
TExCQVJfQ09STkVSIHx8IGR5bmFtaWNQc2V1ZG8gPT0gUkVTSVpFUjsKICAgICAgICAgbmV4dENv
bnRleHQuaGFzU2VsZWN0aW9uUHNldWRvID0gZHluYW1pY1BzZXVkbyA9PSBTRUxFQ1RJT047CiAg
ICAgICAgIGlmICgoY29udGV4dC5lbGVtZW50U3R5bGUgfHwgbV9tb2RlID09IENvbGxlY3RpbmdS
dWxlcyB8fCBtX21vZGUgPT0gUXVlcnlpbmdSdWxlcykgJiYgZHluYW1pY1BzZXVkbyAhPSBOT1BT
RVVETwogICAgICAgICAgICAgJiYgIW5leHRDb250ZXh0Lmhhc1NlbGVjdGlvblBzZXVkbwpAQCAt
Mzg2LDcgKzM4Niw3IEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZShjb25zdCBTZWxl
Y3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCwgY29uc3QgU2liCiAgICAgICAgIH0gZWxzZSBp
ZiAoY29udGV4dC5oYXNTY3JvbGxiYXJQc2V1ZG8pIHsKICAgICAgICAgICAgIC8vIENTUyBzY3Jv
bGxiYXJzIG1hdGNoIGEgc3BlY2lmaWMgc3Vic2V0IG9mIHBzZXVkbyBjbGFzc2VzLCBhbmQgdGhl
eSBoYXZlIHNwZWNpYWxpemVkIHJ1bGVzIGZvciBlYWNoCiAgICAgICAgICAgICAvLyAoc2luY2Ug
dGhlcmUgYXJlIG5vIGVsZW1lbnRzIGludm9sdmVkKS4KLSAgICAgICAgICAgIHJldHVybiBjaGVj
a1Njcm9sbGJhclBzZXVkb0NsYXNzKGVsZW1lbnQtPmRvY3VtZW50KCksIHNlbGVjdG9yKTsKKyAg
ICAgICAgICAgIHJldHVybiBjaGVja1Njcm9sbGJhclBzZXVkb0NsYXNzKGNvbnRleHQsIGVsZW1l
bnQtPmRvY3VtZW50KCksIHNlbGVjdG9yKTsKICAgICAgICAgfSBlbHNlIGlmIChjb250ZXh0Lmhh
c1NlbGVjdGlvblBzZXVkbykgewogICAgICAgICAgICAgaWYgKHNlbGVjdG9yLT5wc2V1ZG9UeXBl
KCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb1dpbmRvd0luYWN0aXZlKQogICAgICAgICAgICAgICAg
IHJldHVybiAhZWxlbWVudC0+ZG9jdW1lbnQoKS0+cGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+
aXNBY3RpdmUoKTsKQEAgLTc4NiwxMCArNzg2LDEwIEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpj
aGVja09uZShjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCwgY29uc3QgU2li
CiAgICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja1Njcm9s
bGJhclBzZXVkb0NsYXNzKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgQ1NTU2VsZWN0b3IqIHNl
bGVjdG9yKSBjb25zdAorYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrU2Nyb2xsYmFyUHNldWRv
Q2xhc3MoY29uc3QgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQmIGNvbnRleHQsIERvY3VtZW50KiBk
b2N1bWVudCwgY29uc3QgQ1NTU2VsZWN0b3IqIHNlbGVjdG9yKSBjb25zdAogewotICAgIFJlbmRl
clNjcm9sbGJhciogc2Nyb2xsYmFyID0gUmVuZGVyU2Nyb2xsYmFyOjpzY3JvbGxiYXJGb3JTdHls
ZVJlc29sdmUoKTsKLSAgICBTY3JvbGxiYXJQYXJ0IHBhcnQgPSBSZW5kZXJTY3JvbGxiYXI6OnBh
cnRGb3JTdHlsZVJlc29sdmUoKTsKKyAgICBSZW5kZXJTY3JvbGxiYXIqIHNjcm9sbGJhciA9IGNv
bnRleHQuc2Nyb2xsYmFyOworICAgIFNjcm9sbGJhclBhcnQgcGFydCA9IGNvbnRleHQuc2Nyb2xs
YmFyUGFydDsKIAogICAgIC8vIEZJWE1FOiBUaGlzIGlzIGEgdGVtcG9yYXJ5IGhhY2sgZm9yIHJl
c2l6ZXJzIGFuZCBzY3JvbGxiYXIgY29ybmVycy4gRXZlbnR1YWxseSA6d2luZG93LWluYWN0aXZl
IHNob3VsZCBiZWNvbWUgYSByZWFsCiAgICAgLy8gcHNldWRvIGNsYXNzIGFuZCBqdXN0IGFwcGx5
IHRvIGV2ZXJ5dGhpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JD
aGVja2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmgKaW5kZXggMDM1
NWNkZTVkYTQ3MWYzZDgwZWYyMzA1ZTAxOWE2YzBkNzUyMWYxYi4uZjExMGMwMGUwZmU3ZWU0NmMy
YmI5NjRkYWYwNmJhOTJlYTI3NTNhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1Nl
bGVjdG9yQ2hlY2tlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIu
aApAQCAtMzksNiArMzksNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDU1NTZWxl
Y3RvcjsKK2NsYXNzIFJlbmRlclNjcm9sbGJhcjsKIGNsYXNzIFJlbmRlclN0eWxlOwogCiBjbGFz
cyBTZWxlY3RvckNoZWNrZXIgewpAQCAtNTcsOCArNTgsMTAgQEAgcHVibGljOgogICAgICAgICAg
ICAgLCBlbGVtZW50KGVsZW1lbnQpCiAgICAgICAgICAgICAsIHNjb3BlKDApCiAgICAgICAgICAg
ICAsIHZpc2l0ZWRNYXRjaFR5cGUodmlzaXRlZE1hdGNoVHlwZSkKLSAgICAgICAgICAgICwgcHNl
dWRvU3R5bGUoTk9QU0VVRE8pCisgICAgICAgICAgICAsIHBzZXVkb0lkKE5PUFNFVURPKQogICAg
ICAgICAgICAgLCBlbGVtZW50U3R5bGUoMCkKKyAgICAgICAgICAgICwgc2Nyb2xsYmFyKDApCisg
ICAgICAgICAgICAsIHNjcm9sbGJhclBhcnQoTm9QYXJ0KQogICAgICAgICAgICAgLCBpc1N1YlNl
bGVjdG9yKGZhbHNlKQogICAgICAgICAgICAgLCBoYXNTY3JvbGxiYXJQc2V1ZG8oZmFsc2UpCiAg
ICAgICAgICAgICAsIGhhc1NlbGVjdGlvblBzZXVkbyhmYWxzZSkKQEAgLTY5LDggKzcyLDEwIEBA
IHB1YmxpYzoKICAgICAgICAgRWxlbWVudCogZWxlbWVudDsKICAgICAgICAgY29uc3QgQ29udGFp
bmVyTm9kZSogc2NvcGU7CiAgICAgICAgIFZpc2l0ZWRNYXRjaFR5cGUgdmlzaXRlZE1hdGNoVHlw
ZTsKLSAgICAgICAgUHNldWRvSWQgcHNldWRvU3R5bGU7CisgICAgICAgIFBzZXVkb0lkIHBzZXVk
b0lkOwogICAgICAgICBSZW5kZXJTdHlsZSogZWxlbWVudFN0eWxlOworICAgICAgICBSZW5kZXJT
Y3JvbGxiYXIqIHNjcm9sbGJhcjsKKyAgICAgICAgU2Nyb2xsYmFyUGFydCBzY3JvbGxiYXJQYXJ0
OwogICAgICAgICBib29sIGlzU3ViU2VsZWN0b3I7CiAgICAgICAgIGJvb2wgaGFzU2Nyb2xsYmFy
UHNldWRvOwogICAgICAgICBib29sIGhhc1NlbGVjdGlvblBzZXVkbzsKQEAgLTk2LDcgKzEwMSw3
IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdW5zaWduZWQgZGV0ZXJtaW5lTGlua01hdGNoVHlwZShj
b25zdCBDU1NTZWxlY3RvciopOwogCiBwcml2YXRlOgotICAgIGJvb2wgY2hlY2tTY3JvbGxiYXJQ
c2V1ZG9DbGFzcyhEb2N1bWVudCosIGNvbnN0IENTU1NlbGVjdG9yKikgY29uc3Q7CisgICAgYm9v
bCBjaGVja1Njcm9sbGJhclBzZXVkb0NsYXNzKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0
JiwgRG9jdW1lbnQqLCBjb25zdCBDU1NTZWxlY3RvciopIGNvbnN0OwogCiAgICAgc3RhdGljIGJv
b2wgaXNGcmFtZUZvY3VzZWQoY29uc3QgRWxlbWVudCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
ZXNvbHZlci5jcHAKaW5kZXggYmQ4NWJmNmJlZDUyY2FkMjQyOTQzOGNjNzhjNWU0MzE4NjZiOGRi
My4uYTk1MTkxY2YyNGRjN2E4ZjM2YzBjMWJhYjRiYThhZTBjOGE2Y2U3OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtNjk2LDcgKzY5Niw3IEBAIHZvaWQgU3R5bGVSZXNv
bHZlcjo6Y29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KFN0YXRlJiBzdGF0ZSwgY29uc3QgVmVj
dG9yPFJ1bGVECiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBtYXRjaGlu
ZyBub3JtYWwgcnVsZXMsIHNldCBhIHBzZXVkbyBiaXQgaWYKICAgICAgICAgICAgIC8vIHdlIHJl
YWxseSBqdXN0IG1hdGNoZWQgYSBwc2V1ZG8tZWxlbWVudC4KLSAgICAgICAgICAgIGlmIChkeW5h
bWljUHNldWRvICE9IE5PUFNFVURPICYmIHN0YXRlLnBzZXVkb1N0eWxlKCkgPT0gTk9QU0VVRE8p
IHsKKyAgICAgICAgICAgIGlmIChkeW5hbWljUHNldWRvICE9IE5PUFNFVURPICYmIHN0YXRlLnBz
ZXVkb1N0eWxlUmVxdWVzdCgpLnBzZXVkb0lkID09IE5PUFNFVURPKSB7CiAgICAgICAgICAgICAg
ICAgaWYgKHN0YXRlLm1vZGUoKSA9PSBTZWxlY3RvckNoZWNrZXI6OkNvbGxlY3RpbmdSdWxlcykg
ewogICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE1hdGNo
UnVsZShjb29raWUsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CkBAIC04
MDMsOSArODAzLDkgQEAgaW5saW5lIHZvaWQgU3R5bGVSZXNvbHZlcjo6aW5pdEVsZW1lbnQoU3Rh
dGUmIHN0YXRlLCBFbGVtZW50KiBlKQogICAgIH0KIH0KIAotaW5saW5lIHZvaWQgU3R5bGVSZXNv
bHZlcjo6U3RhdGU6OmluaXRGb3JTdHlsZVJlc29sdmUoRG9jdW1lbnQqIGRvY3VtZW50LCBFbGVt
ZW50KiBlLCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUsIFBzZXVkb0lkIHBzZXVkb0lkLCBSZW5k
ZXJSZWdpb24qIHJlZ2lvbkZvclN0eWxpbmcpCitpbmxpbmUgdm9pZCBTdHlsZVJlc29sdmVyOjpT
dGF0ZTo6aW5pdEZvclN0eWxlUmVzb2x2ZShEb2N1bWVudCogZG9jdW1lbnQsIEVsZW1lbnQqIGUs
IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgY29uc3QgUHNldWRvU3R5bGVSZXF1ZXN0JiBwc2V1
ZG9TdHlsZVJlcXVlc3QsIFJlbmRlclJlZ2lvbiogcmVnaW9uRm9yU3R5bGluZykKIHsKLSAgICBt
X3BzZXVkb1N0eWxlID0gcHNldWRvSWQ7CisgICAgbV9wc2V1ZG9TdHlsZVJlcXVlc3QgPSBwc2V1
ZG9TdHlsZVJlcXVlc3Q7CiAgICAgbV9yZWdpb25Gb3JTdHlsaW5nID0gcmVnaW9uRm9yU3R5bGlu
ZzsKIAogICAgIGlmIChlKSB7CkBAIC0xNTU2LDcgKzE1NTYsNyBAQCB2b2lkIFN0eWxlUmVzb2x2
ZXI6OmtleWZyYW1lU3R5bGVzRm9yQW5pbWF0aW9uKEVsZW1lbnQqIGUsIGNvbnN0IFJlbmRlclN0
eWxlKiBlbAogICAgIH0KIH0KIAotUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gU3R5bGVSZXNvbHZl
cjo6cHNldWRvU3R5bGVGb3JFbGVtZW50KFBzZXVkb0lkIHBzZXVkbywgRWxlbWVudCogZSwgUmVu
ZGVyU3R5bGUqIHBhcmVudFN0eWxlKQorUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gU3R5bGVSZXNv
bHZlcjo6cHNldWRvU3R5bGVGb3JFbGVtZW50KEVsZW1lbnQqIGUsIGNvbnN0IFBzZXVkb1N0eWxl
UmVxdWVzdCYgcHNldWRvU3R5bGVSZXF1ZXN0LCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUpCiB7
CiAgICAgQVNTRVJUKHBhcmVudFN0eWxlKTsKICAgICBpZiAoIWUpCkBAIC0xNTY0LDcgKzE1NjQs
NyBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBTdHlsZVJlc29sdmVyOjpwc2V1ZG9TdHlsZUZv
ckVsZW1lbnQoUHNldWRvSWQgcHNldWRvLCBFbAogCiAgICAgU3RhdGUgc3RhdGUoZG9jdW1lbnQo
KSk7CiAgICAgaW5pdEVsZW1lbnQoc3RhdGUsIGUpOwotICAgIHN0YXRlLmluaXRGb3JTdHlsZVJl
c29sdmUoZG9jdW1lbnQoKSwgZSwgcGFyZW50U3R5bGUsIHBzZXVkbyk7CisgICAgc3RhdGUuaW5p
dEZvclN0eWxlUmVzb2x2ZShkb2N1bWVudCgpLCBlLCBwYXJlbnRTdHlsZSwgcHNldWRvU3R5bGVS
ZXF1ZXN0KTsKICAgICBzdGF0ZS5zZXRTdHlsZShSZW5kZXJTdHlsZTo6Y3JlYXRlKCkpOwogICAg
IHN0YXRlLnN0eWxlKCktPmluaGVyaXRGcm9tKHN0YXRlLnBhcmVudFN0eWxlKCkpOwogCkBAIC0x
NTgzLDcgKzE1ODMsNyBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBTdHlsZVJlc29sdmVyOjpw
c2V1ZG9TdHlsZUZvckVsZW1lbnQoUHNldWRvSWQgcHNldWRvLCBFbAogICAgIGlmIChtYXRjaFJl
c3VsdC5tYXRjaGVkUHJvcGVydGllcy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiAwOwogCi0g
ICAgc3RhdGUuc3R5bGUoKS0+c2V0U3R5bGVUeXBlKHBzZXVkbyk7CisgICAgc3RhdGUuc3R5bGUo
KS0+c2V0U3R5bGVUeXBlKHBzZXVkb1N0eWxlUmVxdWVzdC5wc2V1ZG9JZCk7CiAKICAgICBhcHBs
eU1hdGNoZWRQcm9wZXJ0aWVzKHN0YXRlLCBtYXRjaFJlc3VsdCwgZSk7CiAKQEAgLTIwNzUsNyAr
MjA3NSw3IEBAIGlubGluZSBib29sIFN0eWxlUmVzb2x2ZXI6OnJ1bGVNYXRjaGVzKFN0YXRlJiBz
dGF0ZSwgY29uc3QgUnVsZURhdGEmIHJ1bGVEYXRhLCBjCiB7CiAgICAgaWYgKHJ1bGVEYXRhLmhh
c0Zhc3RDaGVja2FibGVTZWxlY3RvcigpKSB7CiAgICAgICAgIC8vIFdlIGtub3cgdGhpcyBzZWxl
Y3RvciBkb2VzIG5vdCBpbmNsdWRlIGFueSBwc2V1ZG8gZWxlbWVudHMuCi0gICAgICAgIGlmIChz
dGF0ZS5wc2V1ZG9TdHlsZSgpICE9IE5PUFNFVURPKQorICAgICAgICBpZiAoc3RhdGUucHNldWRv
U3R5bGVSZXF1ZXN0KCkucHNldWRvSWQgIT0gTk9QU0VVRE8pCiAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAgICAgICAgIC8vIFdlIGtub3cgYSBzdWZmaWNpZW50bHkgc2ltcGxlIHNpbmdsZSBw
YXJ0IHNlbGVjdG9yIG1hdGNoZXMgc2ltcGx5IGJlY2F1c2Ugd2UgZm91bmQgaXQgZnJvbSB0aGUg
cnVsZSBoYXNoLgogICAgICAgICAvLyBUaGlzIGlzIGxpbWl0ZWQgdG8gSFRNTCBvbmx5IHNvIHdl
IGRvbid0IG5lZWQgdG8gY2hlY2sgdGhlIG5hbWVzcGFjZS4KQEAgLTIwOTcsMTIgKzIwOTcsMTQg
QEAgaW5saW5lIGJvb2wgU3R5bGVSZXNvbHZlcjo6cnVsZU1hdGNoZXMoU3RhdGUmIHN0YXRlLCBj
b25zdCBSdWxlRGF0YSYgcnVsZURhdGEsIGMKICAgICBTZWxlY3RvckNoZWNrZXI6OlNlbGVjdG9y
Q2hlY2tpbmdDb250ZXh0IGNvbnRleHQocnVsZURhdGEuc2VsZWN0b3IoKSwgc3RhdGUuZWxlbWVu
dCgpLCBTZWxlY3RvckNoZWNrZXI6OlZpc2l0ZWRNYXRjaEVuYWJsZWQpOwogICAgIGNvbnRleHQu
ZWxlbWVudFN0eWxlID0gc3RhdGUuc3R5bGUoKTsKICAgICBjb250ZXh0LnNjb3BlID0gc2NvcGU7
Ci0gICAgY29udGV4dC5wc2V1ZG9TdHlsZSA9IHN0YXRlLnBzZXVkb1N0eWxlKCk7CisgICAgY29u
dGV4dC5wc2V1ZG9JZCA9IHN0YXRlLnBzZXVkb1N0eWxlUmVxdWVzdCgpLnBzZXVkb0lkOworICAg
IGNvbnRleHQuc2Nyb2xsYmFyID0gc3RhdGUucHNldWRvU3R5bGVSZXF1ZXN0KCkuc2Nyb2xsYmFy
OworICAgIGNvbnRleHQuc2Nyb2xsYmFyUGFydCA9IHN0YXRlLnBzZXVkb1N0eWxlUmVxdWVzdCgp
LnNjcm9sbGJhclBhcnQ7CiAgICAgY29udGV4dC5iZWhhdmlvckF0Qm91bmRhcnkgPSBiZWhhdmlv
ckF0Qm91bmRhcnk7CiAgICAgU2VsZWN0b3JDaGVja2VyOjpNYXRjaCBtYXRjaCA9IHNlbGVjdG9y
Q2hlY2tlci5tYXRjaChjb250ZXh0LCBkeW5hbWljUHNldWRvLCBET01TaWJsaW5nVHJhdmVyc2Fs
U3RyYXRlZ3koKSk7CiAgICAgaWYgKG1hdGNoICE9IFNlbGVjdG9yQ2hlY2tlcjo6U2VsZWN0b3JN
YXRjaGVzKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKHN0YXRlLnBzZXVkb1N0eWxl
KCkgIT0gTk9QU0VVRE8gJiYgc3RhdGUucHNldWRvU3R5bGUoKSAhPSBkeW5hbWljUHNldWRvKQor
ICAgIGlmIChzdGF0ZS5wc2V1ZG9TdHlsZVJlcXVlc3QoKS5wc2V1ZG9JZCAhPSBOT1BTRVVETyAm
JiBzdGF0ZS5wc2V1ZG9TdHlsZVJlcXVlc3QoKS5wc2V1ZG9JZCAhPSBkeW5hbWljUHNldWRvKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUmVzb2x2ZXIuaAppbmRleCAyODU2ZDczNTlkMzI2Y2U4NDQzNzUwMzMwNWM5NTk4ZDc1OTlk
NzRmLi4zOGIyZmE2YmZkYzc4ZDRiNzQzNGJkZjUxMGIwOGI1ZWI0MWQzYmFjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmgKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJSdWxlRmVh
dHVyZS5oIgogI2luY2x1ZGUgIlJ1bGVTZXQuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZl
YXR1cmVzLmgiCisjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNsdWRlICJTZWxlY3RvckNo
ZWNrZXIuaCIKICNpbmNsdWRlICJTZWxlY3RvckZpbHRlci5oIgogI2luY2x1ZGUgIlN0eWxlSW5o
ZXJpdGVkRGF0YS5oIgpAQCAtODAsNiArODEsNyBAQCBjbGFzcyBLZXlmcmFtZVZhbHVlOwogY2xh
c3MgTWVkaWFRdWVyeUV2YWx1YXRvcjsKIGNsYXNzIE5vZGU7CiBjbGFzcyBSZW5kZXJSZWdpb247
CitjbGFzcyBSZW5kZXJTY3JvbGxiYXI7CiBjbGFzcyBSdWxlRGF0YTsKIGNsYXNzIFJ1bGVTZXQ7
CiBjbGFzcyBTZXR0aW5nczsKQEAgLTEzNSw2ICsxMzcsMjAgQEAgZW51bSBSdWxlTWF0Y2hpbmdC
ZWhhdmlvciB7CiAgICAgTWF0Y2hPbmx5VXNlckFnZW50UnVsZXMsCiB9OwogCitjbGFzcyBQc2V1
ZG9TdHlsZVJlcXVlc3QgeworcHVibGljOgorICAgIFBzZXVkb1N0eWxlUmVxdWVzdChQc2V1ZG9J
ZCBwc2V1ZG9JZCwgUmVuZGVyU2Nyb2xsYmFyKiBzY3JvbGxiYXIgPSAwLCBTY3JvbGxiYXJQYXJ0
IHNjcm9sbGJhclBhcnQgPSBOb1BhcnQpCisgICAgICAgIDogcHNldWRvSWQocHNldWRvSWQpCisg
ICAgICAgICwgc2Nyb2xsYmFyUGFydChzY3JvbGxiYXJQYXJ0KQorICAgICAgICAsIHNjcm9sbGJh
cihzY3JvbGxiYXIpCisgICAgeworICAgIH0KKworICAgIFBzZXVkb0lkIHBzZXVkb0lkOworICAg
IFNjcm9sbGJhclBhcnQgc2Nyb2xsYmFyUGFydDsKKyAgICBSZW5kZXJTY3JvbGxiYXIqIHNjcm9s
bGJhcjsKK307CisKIGNsYXNzIE1hdGNoUmVxdWVzdCB7CiBwdWJsaWM6CiAgICAgTWF0Y2hSZXF1
ZXN0KFJ1bGVTZXQqIHJ1bGVTZXQsIGJvb2wgaW5jbHVkZUVtcHR5UnVsZXMgPSBmYWxzZSwgY29u
c3QgQ29udGFpbmVyTm9kZSogc2NvcGUgPSAwLCBTZWxlY3RvckNoZWNrZXI6OkJlaGF2aW9yQXRC
b3VuZGFyeSBiZWhhdmlvckF0Qm91bmRhcnkgPSBTZWxlY3RvckNoZWNrZXI6OkRvZXNOb3RDcm9z
c0JvdW5kYXJ5KQpAQCAtMTY5LDcgKzE4NSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQga2V5ZnJh
bWVTdHlsZXNGb3JBbmltYXRpb24oRWxlbWVudCosIGNvbnN0IFJlbmRlclN0eWxlKiwgS2V5ZnJh
bWVMaXN0Jik7CiAKLSAgICBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBwc2V1ZG9TdHlsZUZvckVs
ZW1lbnQoUHNldWRvSWQsIEVsZW1lbnQqLCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUpOworICAg
IFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IHBzZXVkb1N0eWxlRm9yRWxlbWVudChFbGVtZW50Kiwg
Y29uc3QgUHNldWRvU3R5bGVSZXF1ZXN0JiwgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKTsKIAog
ICAgIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IHN0eWxlRm9yUGFnZShpbnQgcGFnZUluZGV4KTsK
ICAgICBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBkZWZhdWx0U3R5bGVGb3JFbGVtZW50KCk7CkBA
IC00MjMsNyArNDM5LDcgQEAgcHVibGljOgogICAgICAgICAsIG1fcm9vdEVsZW1lbnRTdHlsZSgw
KQogICAgICAgICAsIG1fcmVnaW9uRm9yU3R5bGluZygwKQogICAgICAgICAsIG1fc2FtZU9yaWdp
bk9ubHkoZmFsc2UpCi0gICAgICAgICwgbV9wc2V1ZG9TdHlsZShOT1BTRVVETykKKyAgICAgICAg
LCBtX3BzZXVkb1N0eWxlUmVxdWVzdChOT1BTRVVETykKICAgICAgICAgLCBtX2VsZW1lbnRMaW5r
U3RhdGUoTm90SW5zaWRlTGluaykKICAgICAgICAgLCBtX2Rpc3RyaWJ1dGVkVG9JbnNlcnRpb25Q
b2ludChmYWxzZSkKICAgICAgICAgLCBtX2VsZW1lbnRBZmZlY3RlZEJ5Q2xhc3NSdWxlcyhmYWxz
ZSkKQEAgLTQ0MCw3ICs0NTYsNyBAQCBwdWJsaWM6CiAKICAgICBwdWJsaWM6CiAgICAgICAgIHZv
aWQgaW5pdEVsZW1lbnQoRWxlbWVudCopOwotICAgICAgICB2b2lkIGluaXRGb3JTdHlsZVJlc29s
dmUoRG9jdW1lbnQqLCBFbGVtZW50KiwgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlID0gMCwgUHNl
dWRvSWQgPSBOT1BTRVVETywgUmVuZGVyUmVnaW9uKiByZWdpb25Gb3JTdHlsaW5nID0gMCk7Cisg
ICAgICAgIHZvaWQgaW5pdEZvclN0eWxlUmVzb2x2ZShEb2N1bWVudCosIEVsZW1lbnQqLCBSZW5k
ZXJTdHlsZSogcGFyZW50U3R5bGUgPSAwLCBjb25zdCBQc2V1ZG9TdHlsZVJlcXVlc3QmID0gUHNl
dWRvU3R5bGVSZXF1ZXN0KE5PUFNFVURPKSwgUmVuZGVyUmVnaW9uKiByZWdpb25Gb3JTdHlsaW5n
ID0gMCk7CiAgICAgICAgIHZvaWQgY2xlYXIoKTsKIAogICAgICAgICBEb2N1bWVudCogZG9jdW1l
bnQoKSBjb25zdCB7IHJldHVybiBtX2RvY3VtZW50OyB9CkBAIC00NjEsNyArNDc3LDcgQEAgcHVi
bGljOgogICAgICAgICBjb25zdCBSZW5kZXJSZWdpb24qIHJlZ2lvbkZvclN0eWxpbmcoKSBjb25z
dCB7IHJldHVybiBtX3JlZ2lvbkZvclN0eWxpbmc7IH0KICAgICAgICAgdm9pZCBzZXRTYW1lT3Jp
Z2luT25seShib29sIGlzU2FtZU9yaWdpbk9ubHkpIHsgbV9zYW1lT3JpZ2luT25seSA9IGlzU2Ft
ZU9yaWdpbk9ubHk7IH0KICAgICAgICAgYm9vbCBpc1NhbWVPcmlnaW5Pbmx5KCkgY29uc3QgeyBy
ZXR1cm4gbV9zYW1lT3JpZ2luT25seTsgfQotICAgICAgICBQc2V1ZG9JZCBwc2V1ZG9TdHlsZSgp
IGNvbnN0IHsgcmV0dXJuIG1fcHNldWRvU3R5bGU7IH0KKyAgICAgICAgY29uc3QgUHNldWRvU3R5
bGVSZXF1ZXN0JiBwc2V1ZG9TdHlsZVJlcXVlc3QoKSBjb25zdCB7IHJldHVybiBtX3BzZXVkb1N0
eWxlUmVxdWVzdDsgfQogICAgICAgICBFSW5zaWRlTGluayBlbGVtZW50TGlua1N0YXRlKCkgY29u
c3QgeyByZXR1cm4gbV9lbGVtZW50TGlua1N0YXRlOyB9CiAgICAgICAgIGJvb2wgZGlzdHJpYnV0
ZWRUb0luc2VydGlvblBvaW50KCkgY29uc3QgeyByZXR1cm4gbV9kaXN0cmlidXRlZFRvSW5zZXJ0
aW9uUG9pbnQ7IH0KICAgICAgICAgdm9pZCBzZXRFbGVtZW50QWZmZWN0ZWRCeUNsYXNzUnVsZXMo
Ym9vbCBpc0FmZmVjdGVkKSB7IG1fZWxlbWVudEFmZmVjdGVkQnlDbGFzc1J1bGVzID0gaXNBZmZl
Y3RlZDsgfQpAQCAtNTE3LDcgKzUzMyw3IEBAIHB1YmxpYzoKICAgICAgICAgCiAgICAgICAgIFJl
bmRlclJlZ2lvbiogbV9yZWdpb25Gb3JTdHlsaW5nOwogICAgICAgICBib29sIG1fc2FtZU9yaWdp
bk9ubHk7Ci0gICAgICAgIFBzZXVkb0lkIG1fcHNldWRvU3R5bGU7CisgICAgICAgIFBzZXVkb1N0
eWxlUmVxdWVzdCBtX3BzZXVkb1N0eWxlUmVxdWVzdDsKIAogICAgICAgICBFSW5zaWRlTGluayBt
X2VsZW1lbnRMaW5rU3RhdGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA1MTNkZDk0ZjI2
MzlkYzg5ZTkwYTg4MGZhNDgyZmZiNzA0YzE3NzkxLi40ODcyN2I5OWRjNmI5Zjc0NzQyN2I3Mzk2
Y2IzNmUzZmI3YjNlNGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xMzMxLDcgKzEzMzEs
NyBAQCBib29sIEVsZW1lbnQ6OnBzZXVkb1N0eWxlQ2FjaGVJc0ludmFsaWQoY29uc3QgUmVuZGVy
U3R5bGUqIGN1cnJlbnRTdHlsZSwgUmVuZGVyUwogICAgICAgICBpZiAocHNldWRvSWQgPT0gRklS
U1RfTElORSB8fCBwc2V1ZG9JZCA9PSBGSVJTVF9MSU5FX0lOSEVSSVRFRCkKICAgICAgICAgICAg
IG5ld1BzZXVkb1N0eWxlID0gcmVuZGVyZXIoKS0+dW5jYWNoZWRGaXJzdExpbmVTdHlsZShuZXdT
dHlsZSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIG5ld1BzZXVkb1N0eWxlID0gcmVuZGVy
ZXIoKS0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShwc2V1ZG9JZCwgbmV3U3R5bGUsIG5ld1N0eWxl
KTsKKyAgICAgICAgICAgIG5ld1BzZXVkb1N0eWxlID0gcmVuZGVyZXIoKS0+Z2V0VW5jYWNoZWRQ
c2V1ZG9TdHlsZShQc2V1ZG9TdHlsZVJlcXVlc3QocHNldWRvSWQpLCBuZXdTdHlsZSwgbmV3U3R5
bGUpOwogICAgICAgICBpZiAoIW5ld1BzZXVkb1N0eWxlKQogICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgICAgIGlmICgqbmV3UHNldWRvU3R5bGUgIT0gKnBzZXVkb1N0eWxlQ2FjaGUtPmF0
KGkpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZjc0ZTg0MWI5ZjYyZmQ2OWE2
ZWM3MGNkOTMxOTA3MjAxODFhZWM4Ni4uMTBjMDBjNWQ2Njc1YjU3ODdlZjhmZjM1ZWQ5MTBiYWYz
NGZkYThiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMzA4NSw3ICszMDg1LDcg
QEAgdm9pZCBGcmFtZVZpZXc6OnVwZGF0ZVNjcm9sbENvcm5lcigpCiAgICAgICAgIEVsZW1lbnQq
IGJvZHkgPSBkb2MgPyBkb2MtPmJvZHkoKSA6IDA7CiAgICAgICAgIGlmIChib2R5ICYmIGJvZHkt
PnJlbmRlcmVyKCkpIHsKICAgICAgICAgICAgIHJlbmRlcmVyID0gYm9keS0+cmVuZGVyZXIoKTsK
LSAgICAgICAgICAgIGNvcm5lclN0eWxlID0gcmVuZGVyZXItPmdldFVuY2FjaGVkUHNldWRvU3R5
bGUoU0NST0xMQkFSX0NPUk5FUiwgcmVuZGVyZXItPnN0eWxlKCkpOworICAgICAgICAgICAgY29y
bmVyU3R5bGUgPSByZW5kZXJlci0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShQc2V1ZG9TdHlsZVJl
cXVlc3QoU0NST0xMQkFSX0NPUk5FUiksIHJlbmRlcmVyLT5zdHlsZSgpKTsKICAgICAgICAgfQog
ICAgICAgICAKICAgICAgICAgaWYgKCFjb3JuZXJTdHlsZSkgewpAQCAtMzA5MywxNCArMzA5Mywx
NCBAQCB2b2lkIEZyYW1lVmlldzo6dXBkYXRlU2Nyb2xsQ29ybmVyKCkKICAgICAgICAgICAgIEVs
ZW1lbnQqIGRvY0VsZW1lbnQgPSBkb2MgPyBkb2MtPmRvY3VtZW50RWxlbWVudCgpIDogMDsKICAg
ICAgICAgICAgIGlmIChkb2NFbGVtZW50ICYmIGRvY0VsZW1lbnQtPnJlbmRlcmVyKCkpIHsKICAg
ICAgICAgICAgICAgICByZW5kZXJlciA9IGRvY0VsZW1lbnQtPnJlbmRlcmVyKCk7Ci0gICAgICAg
ICAgICAgICAgY29ybmVyU3R5bGUgPSByZW5kZXJlci0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShT
Q1JPTExCQVJfQ09STkVSLCByZW5kZXJlci0+c3R5bGUoKSk7CisgICAgICAgICAgICAgICAgY29y
bmVyU3R5bGUgPSByZW5kZXJlci0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShQc2V1ZG9TdHlsZVJl
cXVlc3QoU0NST0xMQkFSX0NPUk5FUiksIHJlbmRlcmVyLT5zdHlsZSgpKTsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgaWYgKCFjb3JuZXJTdHlsZSkgewogICAg
ICAgICAgICAgLy8gSWYgd2UgaGF2ZSBhbiBvd25pbmcgaWZyYW1lL2ZyYW1lIGVsZW1lbnQsIHRo
ZW4gaXQgY2FuIHNldCB0aGUgY3VzdG9tIHNjcm9sbGJhciBhbHNvLgogICAgICAgICAgICAgaWYg
KFJlbmRlclBhcnQqIHJlbmRlcmVyID0gbV9mcmFtZS0+b3duZXJSZW5kZXJlcigpKQotICAgICAg
ICAgICAgICAgIGNvcm5lclN0eWxlID0gcmVuZGVyZXItPmdldFVuY2FjaGVkUHNldWRvU3R5bGUo
U0NST0xMQkFSX0NPUk5FUiwgcmVuZGVyZXItPnN0eWxlKCkpOworICAgICAgICAgICAgICAgIGNv
cm5lclN0eWxlID0gcmVuZGVyZXItPmdldFVuY2FjaGVkUHNldWRvU3R5bGUoUHNldWRvU3R5bGVS
ZXF1ZXN0KFNDUk9MTEJBUl9DT1JORVIpLCByZW5kZXJlci0+c3R5bGUoKSk7CiAgICAgICAgIH0K
ICAgICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGRi
NzAyYjRkOTcxYmM4YTU5YTUxNmVmM2M0OTQ2MzQyNzE4NWFlY2MuLmQ5NWMyMzZiMzI5ZGM4NjJi
MjQ3MzUwZjc3OWE1YjExNDI3MDdkZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcApAQCAtNTc1OSw3ICs1NzU5LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRl
U2Nyb2xsYWJsZUFyZWFTZXQoYm9vbCBoYXNPdmVyZmxvdykKIHZvaWQgUmVuZGVyTGF5ZXI6OnVw
ZGF0ZVNjcm9sbENvcm5lclN0eWxlKCkKIHsKICAgICBSZW5kZXJPYmplY3QqIGFjdHVhbFJlbmRl
cmVyID0gcmVuZGVyZXJGb3JTY3JvbGxiYXIocmVuZGVyZXIoKSk7Ci0gICAgUmVmUHRyPFJlbmRl
clN0eWxlPiBjb3JuZXIgPSByZW5kZXJlcigpLT5oYXNPdmVyZmxvd0NsaXAoKSA/IGFjdHVhbFJl
bmRlcmVyLT5nZXRVbmNhY2hlZFBzZXVkb1N0eWxlKFNDUk9MTEJBUl9DT1JORVIsIGFjdHVhbFJl
bmRlcmVyLT5zdHlsZSgpKSA6IFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+KDApOworICAgIFJlZlB0
cjxSZW5kZXJTdHlsZT4gY29ybmVyID0gcmVuZGVyZXIoKS0+aGFzT3ZlcmZsb3dDbGlwKCkgPyBh
Y3R1YWxSZW5kZXJlci0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShQc2V1ZG9TdHlsZVJlcXVlc3Qo
U0NST0xMQkFSX0NPUk5FUiksIGFjdHVhbFJlbmRlcmVyLT5zdHlsZSgpKSA6IFBhc3NSZWZQdHI8
UmVuZGVyU3R5bGU+KDApOwogICAgIGlmIChjb3JuZXIpIHsKICAgICAgICAgaWYgKCFtX3Njcm9s
bENvcm5lcikgewogICAgICAgICAgICAgbV9zY3JvbGxDb3JuZXIgPSBSZW5kZXJTY3JvbGxiYXJQ
YXJ0OjpjcmVhdGVBbm9ueW1vdXMocmVuZGVyZXIoKS0+ZG9jdW1lbnQoKSk7CkBAIC01Nzc1LDcg
KzU3NzUsNyBAQCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVTY3JvbGxDb3JuZXJTdHlsZSgpCiB2
b2lkIFJlbmRlckxheWVyOjp1cGRhdGVSZXNpemVyU3R5bGUoKQogewogICAgIFJlbmRlck9iamVj
dCogYWN0dWFsUmVuZGVyZXIgPSByZW5kZXJlckZvclNjcm9sbGJhcihyZW5kZXJlcigpKTsKLSAg
ICBSZWZQdHI8UmVuZGVyU3R5bGU+IHJlc2l6ZXIgPSByZW5kZXJlcigpLT5oYXNPdmVyZmxvd0Ns
aXAoKSA/IGFjdHVhbFJlbmRlcmVyLT5nZXRVbmNhY2hlZFBzZXVkb1N0eWxlKFJFU0laRVIsIGFj
dHVhbFJlbmRlcmVyLT5zdHlsZSgpKSA6IFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+KDApOworICAg
IFJlZlB0cjxSZW5kZXJTdHlsZT4gcmVzaXplciA9IHJlbmRlcmVyKCktPmhhc092ZXJmbG93Q2xp
cCgpID8gYWN0dWFsUmVuZGVyZXItPmdldFVuY2FjaGVkUHNldWRvU3R5bGUoUHNldWRvU3R5bGVS
ZXF1ZXN0KFJFU0laRVIpLCBhY3R1YWxSZW5kZXJlci0+c3R5bGUoKSkgOiBQYXNzUmVmUHRyPFJl
bmRlclN0eWxlPigwKTsKICAgICBpZiAocmVzaXplcikgewogICAgICAgICBpZiAoIW1fcmVzaXpl
cikgewogICAgICAgICAgICAgbV9yZXNpemVyID0gUmVuZGVyU2Nyb2xsYmFyUGFydDo6Y3JlYXRl
QW5vbnltb3VzKHJlbmRlcmVyKCktPmRvY3VtZW50KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCAwZTQwNTkxZjA2ZDhiNDE5MzMzOGUyZGE0NjBjNWEy
Yzk0ZWNkODc2Li43YzRjMjkyMWU2OGFkM2MzOWVmYjcxMTY4NjFhYzNkY2M4MGVhNWYxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMTYzMSw3ICsxNjMx
LDcgQEAgQ29sb3IgUmVuZGVyT2JqZWN0OjpzZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IoKSBjb25z
dAogewogICAgIENvbG9yIGNvbG9yOwogICAgIGlmIChzdHlsZSgpLT51c2VyU2VsZWN0KCkgIT0g
U0VMRUNUX05PTkUpIHsKLSAgICAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBwc2V1ZG9TdHlsZSA9
IGdldFVuY2FjaGVkUHNldWRvU3R5bGUoU0VMRUNUSU9OKTsKKyAgICAgICAgUmVmUHRyPFJlbmRl
clN0eWxlPiBwc2V1ZG9TdHlsZSA9IGdldFVuY2FjaGVkUHNldWRvU3R5bGUoUHNldWRvU3R5bGVS
ZXF1ZXN0KFNFTEVDVElPTikpOwogICAgICAgICBpZiAocHNldWRvU3R5bGUgJiYgcHNldWRvU3R5
bGUtPnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xvcikuaXNW
YWxpZCgpKQogICAgICAgICAgICAgY29sb3IgPSBwc2V1ZG9TdHlsZS0+dmlzaXRlZERlcGVuZGVu
dENvbG9yKENTU1Byb3BlcnR5QmFja2dyb3VuZENvbG9yKS5ibGVuZFdpdGhXaGl0ZSgpOwogICAg
ICAgICBlbHNlCkBAIC0xNjUyLDcgKzE2NTIsNyBAQCBDb2xvciBSZW5kZXJPYmplY3Q6OnNlbGVj
dGlvbkNvbG9yKGludCBjb2xvclByb3BlcnR5KSBjb25zdAogICAgICAgICB8fCAoZnJhbWUoKS0+
dmlldygpLT5wYWludEJlaGF2aW9yKCkgJiBQYWludEJlaGF2aW9yU2VsZWN0aW9uT25seSkpCiAg
ICAgICAgIHJldHVybiBjb2xvcjsKIAotICAgIGlmIChSZWZQdHI8UmVuZGVyU3R5bGU+IHBzZXVk
b1N0eWxlID0gZ2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShTRUxFQ1RJT04pKSB7CisgICAgaWYgKFJl
ZlB0cjxSZW5kZXJTdHlsZT4gcHNldWRvU3R5bGUgPSBnZXRVbmNhY2hlZFBzZXVkb1N0eWxlKFBz
ZXVkb1N0eWxlUmVxdWVzdChTRUxFQ1RJT04pKSkgewogICAgICAgICBjb2xvciA9IHBzZXVkb1N0
eWxlLT52aXNpdGVkRGVwZW5kZW50Q29sb3IoY29sb3JQcm9wZXJ0eSk7CiAgICAgICAgIGlmICgh
Y29sb3IuaXNWYWxpZCgpKQogICAgICAgICAgICAgY29sb3IgPSBwc2V1ZG9TdHlsZS0+dmlzaXRl
ZERlcGVuZGVudENvbG9yKENTU1Byb3BlcnR5Q29sb3IpOwpAQCAtMjY4Niw3ICsyNjg2LDcgQEAg
c3RhdGljIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IGZpcnN0TGluZVN0eWxlRm9yQ2FjaGVkVW5j
YWNoZWRUeXBlKFN0eWxlQ2FjaGVTdGEKICAgICAgICAgaWYgKFJlbmRlckJsb2NrKiBmaXJzdExp
bmVCbG9jayA9IHJlbmRlcmVyRm9yRmlyc3RMaW5lU3R5bGUtPmZpcnN0TGluZUJsb2NrKCkpIHsK
ICAgICAgICAgICAgIGlmICh0eXBlID09IENhY2hlZCkKICAgICAgICAgICAgICAgICByZXR1cm4g
Zmlyc3RMaW5lQmxvY2stPmdldENhY2hlZFBzZXVkb1N0eWxlKEZJUlNUX0xJTkUsIHN0eWxlKTsK
LSAgICAgICAgICAgIHJldHVybiBmaXJzdExpbmVCbG9jay0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHls
ZShGSVJTVF9MSU5FLCBzdHlsZSwgZmlyc3RMaW5lQmxvY2sgPT0gcmVuZGVyZXIgPyBzdHlsZSA6
IDApOworICAgICAgICAgICAgcmV0dXJuIGZpcnN0TGluZUJsb2NrLT5nZXRVbmNhY2hlZFBzZXVk
b1N0eWxlKFBzZXVkb1N0eWxlUmVxdWVzdChGSVJTVF9MSU5FKSwgc3R5bGUsIGZpcnN0TGluZUJs
b2NrID09IHJlbmRlcmVyID8gc3R5bGUgOiAwKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAo
IXJlbmRlcmVyRm9yRmlyc3RMaW5lU3R5bGUtPmlzQW5vbnltb3VzKCkgJiYgcmVuZGVyZXJGb3JG
aXJzdExpbmVTdHlsZS0+aXNSZW5kZXJJbmxpbmUoKSkgewogICAgICAgICBSZW5kZXJTdHlsZSog
cGFyZW50U3R5bGUgPSByZW5kZXJlckZvckZpcnN0TGluZVN0eWxlLT5wYXJlbnQoKS0+Zmlyc3RM
aW5lU3R5bGUoKTsKQEAgLTI2OTYsNyArMjY5Niw3IEBAIHN0YXRpYyBQYXNzUmVmUHRyPFJlbmRl
clN0eWxlPiBmaXJzdExpbmVTdHlsZUZvckNhY2hlZFVuY2FjaGVkVHlwZShTdHlsZUNhY2hlU3Rh
CiAgICAgICAgICAgICAgICAgcmVuZGVyZXJGb3JGaXJzdExpbmVTdHlsZS0+c3R5bGUoKS0+c2V0
SGFzUHNldWRvU3R5bGUoRklSU1RfTElORV9JTkhFUklURUQpOwogICAgICAgICAgICAgICAgIHJl
dHVybiByZW5kZXJlckZvckZpcnN0TGluZVN0eWxlLT5nZXRDYWNoZWRQc2V1ZG9TdHlsZShGSVJT
VF9MSU5FX0lOSEVSSVRFRCwgcGFyZW50U3R5bGUpOwogICAgICAgICAgICAgfQotICAgICAgICAg
ICAgcmV0dXJuIHJlbmRlcmVyRm9yRmlyc3RMaW5lU3R5bGUtPmdldFVuY2FjaGVkUHNldWRvU3R5
bGUoRklSU1RfTElORV9JTkhFUklURUQsIHBhcmVudFN0eWxlLCBzdHlsZSk7CisgICAgICAgICAg
ICByZXR1cm4gcmVuZGVyZXJGb3JGaXJzdExpbmVTdHlsZS0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHls
ZShQc2V1ZG9TdHlsZVJlcXVlc3QoRklSU1RfTElORV9JTkhFUklURUQpLCBwYXJlbnRTdHlsZSwg
c3R5bGUpOwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiAwOwpAQCAtMjczMSwxNSArMjcz
MSwxNSBAQCBSZW5kZXJTdHlsZSogUmVuZGVyT2JqZWN0OjpnZXRDYWNoZWRQc2V1ZG9TdHlsZShQ
c2V1ZG9JZCBwc2V1ZG8sIFJlbmRlclN0eWxlKiBwYQogICAgIGlmIChjYWNoZWRTdHlsZSkKICAg
ICAgICAgcmV0dXJuIGNhY2hlZFN0eWxlOwogICAgIAotICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4g
cmVzdWx0ID0gZ2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShwc2V1ZG8sIHBhcmVudFN0eWxlKTsKKyAg
ICBSZWZQdHI8UmVuZGVyU3R5bGU+IHJlc3VsdCA9IGdldFVuY2FjaGVkUHNldWRvU3R5bGUoUHNl
dWRvU3R5bGVSZXF1ZXN0KHBzZXVkbyksIHBhcmVudFN0eWxlKTsKICAgICBpZiAocmVzdWx0KQog
ICAgICAgICByZXR1cm4gc3R5bGUoKS0+YWRkQ2FjaGVkUHNldWRvU3R5bGUocmVzdWx0LnJlbGVh
c2UoKSk7CiAgICAgcmV0dXJuIDA7CiB9CiAKLVBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IFJlbmRl
ck9iamVjdDo6Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShQc2V1ZG9JZCBwc2V1ZG8sIFJlbmRlclN0
eWxlKiBwYXJlbnRTdHlsZSwgUmVuZGVyU3R5bGUqIG93blN0eWxlKSBjb25zdAorUGFzc1JlZlB0
cjxSZW5kZXJTdHlsZT4gUmVuZGVyT2JqZWN0OjpnZXRVbmNhY2hlZFBzZXVkb1N0eWxlKGNvbnN0
IFBzZXVkb1N0eWxlUmVxdWVzdCYgcHNldWRvU3R5bGVSZXF1ZXN0LCBSZW5kZXJTdHlsZSogcGFy
ZW50U3R5bGUsIFJlbmRlclN0eWxlKiBvd25TdHlsZSkgY29uc3QKIHsKLSAgICBpZiAocHNldWRv
IDwgRklSU1RfSU5URVJOQUxfUFNFVURPSUQgJiYgIW93blN0eWxlICYmICFzdHlsZSgpLT5oYXNQ
c2V1ZG9TdHlsZShwc2V1ZG8pKQorICAgIGlmIChwc2V1ZG9TdHlsZVJlcXVlc3QucHNldWRvSWQg
PCBGSVJTVF9JTlRFUk5BTF9QU0VVRE9JRCAmJiAhb3duU3R5bGUgJiYgIXN0eWxlKCktPmhhc1Bz
ZXVkb1N0eWxlKHBzZXVkb1N0eWxlUmVxdWVzdC5wc2V1ZG9JZCkpCiAgICAgICAgIHJldHVybiAw
OwogICAgIAogICAgIGlmICghcGFyZW50U3R5bGUpIHsKQEAgLTI3NTUsMTIgKzI3NTUsMTMgQEAg
UGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gUmVuZGVyT2JqZWN0OjpnZXRVbmNhY2hlZFBzZXVkb1N0
eWxlKFBzZXVkb0lkIHBzZXVkbywgUmUKICAgICAgICAgcmV0dXJuIDA7CiAgICAgRWxlbWVudCog
ZWxlbWVudCA9IHRvRWxlbWVudChuKTsKIAotICAgIGlmIChwc2V1ZG8gPT0gRklSU1RfTElORV9J
TkhFUklURUQpIHsKKyAgICBpZiAocHNldWRvU3R5bGVSZXF1ZXN0LnBzZXVkb0lkID09IEZJUlNU
X0xJTkVfSU5IRVJJVEVEKSB7CiAgICAgICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gcmVzdWx0ID0g
ZG9jdW1lbnQoKS0+c3R5bGVSZXNvbHZlcigpLT5zdHlsZUZvckVsZW1lbnQoZWxlbWVudCwgcGFy
ZW50U3R5bGUsIERpc2FsbG93U3R5bGVTaGFyaW5nKTsKICAgICAgICAgcmVzdWx0LT5zZXRTdHls
ZVR5cGUoRklSU1RfTElORV9JTkhFUklURUQpOwogICAgICAgICByZXR1cm4gcmVzdWx0LnJlbGVh
c2UoKTsKICAgICB9Ci0gICAgcmV0dXJuIGRvY3VtZW50KCktPnN0eWxlUmVzb2x2ZXIoKS0+cHNl
dWRvU3R5bGVGb3JFbGVtZW50KHBzZXVkbywgZWxlbWVudCwgcGFyZW50U3R5bGUpOworCisgICAg
cmV0dXJuIGRvY3VtZW50KCktPnN0eWxlUmVzb2x2ZXIoKS0+cHNldWRvU3R5bGVGb3JFbGVtZW50
KGVsZW1lbnQsIHBzZXVkb1N0eWxlUmVxdWVzdCwgcGFyZW50U3R5bGUpOwogfQogCiBzdGF0aWMg
Q29sb3IgZGVjb3JhdGlvbkNvbG9yKFJlbmRlclN0eWxlKiBzdHlsZSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBmYjcxN2U5MmE5MDkwYmMwNzAwZDRjMDczMmZm
Y2U3M2U1NzE4NmUyLi4zY2ZmNWZhNTZjMmU4MjQwODlkNjFmZjdlZDAyYjVlYWYzNzcwMDFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC01NSw2ICs1NSw3IEBA
IGNsYXNzIElubGluZUZsb3dCb3g7CiBjbGFzcyBPdmVybGFwVGVzdFJlcXVlc3RDbGllbnQ7CiBj
bGFzcyBQYXRoOwogY2xhc3MgUG9zaXRpb247CitjbGFzcyBQc2V1ZG9TdHlsZVJlcXVlc3Q7CiBj
bGFzcyBSZW5kZXJCb3hNb2RlbE9iamVjdDsKIGNsYXNzIFJlbmRlcklubGluZTsKIGNsYXNzIFJl
bmRlckJsb2NrOwpAQCAtNjA0LDcgKzYwNSw3IEBAIHB1YmxpYzoKICAgICAvLyBUaGUgcHNldWRv
IGVsZW1lbnQgc3R5bGUgY2FuIGJlIGNhY2hlZCBvciB1bmNhY2hlZC4gIFVzZSB0aGUgY2FjaGVk
IG1ldGhvZCBpZiB0aGUgcHNldWRvIGVsZW1lbnQgZG9lc24ndCByZXNwZWN0CiAgICAgLy8gYW55
IHBzZXVkbyBjbGFzc2VzIChhbmQgdGhlcmVmb3JlIGhhcyBubyBjb25jZXB0IG9mIGNoYW5naW5n
IHN0YXRlKS4KICAgICBSZW5kZXJTdHlsZSogZ2V0Q2FjaGVkUHNldWRvU3R5bGUoUHNldWRvSWQs
IFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSA9IDApIGNvbnN0OwotICAgIFBhc3NSZWZQdHI8UmVu
ZGVyU3R5bGU+IGdldFVuY2FjaGVkUHNldWRvU3R5bGUoUHNldWRvSWQsIFJlbmRlclN0eWxlKiBw
YXJlbnRTdHlsZSA9IDAsIFJlbmRlclN0eWxlKiBvd25TdHlsZSA9IDApIGNvbnN0OworICAgIFBh
c3NSZWZQdHI8UmVuZGVyU3R5bGU+IGdldFVuY2FjaGVkUHNldWRvU3R5bGUoY29uc3QgUHNldWRv
U3R5bGVSZXF1ZXN0JiwgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlID0gMCwgUmVuZGVyU3R5bGUq
IG93blN0eWxlID0gMCkgY29uc3Q7CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZURyYWdT
dGF0ZShib29sIGRyYWdPbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJTY3JvbGxiYXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNj
cm9sbGJhci5jcHAKaW5kZXggZTZhYTdkNzY0ZTZmMTZlZTZmZTBlOWJjMjNjMDg3NWI3OTQ1YTRi
YS4uMDY5OTUwMmM2NGUxNGYwODZhNzA0NTY1OGI5MDU0NzUyNjlhODkxMCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAK
ICNpbmNsdWRlICJSZW5kZXJTY3JvbGxiYXJQYXJ0LmgiCiAjaW5jbHVkZSAiUmVuZGVyU2Nyb2xs
YmFyVGhlbWUuaCIKICNpbmNsdWRlICJTdHlsZUluaGVyaXRlZERhdGEuaCIKKyNpbmNsdWRlICJT
dHlsZVJlc29sdmVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTQ1LDMwICsxNDYs
MTIgQEAgdm9pZCBSZW5kZXJTY3JvbGxiYXI6OnNldFByZXNzZWRQYXJ0KFNjcm9sbGJhclBhcnQg
cGFydCkKICAgICB1cGRhdGVTY3JvbGxiYXJQYXJ0KFRyYWNrQkdQYXJ0KTsKIH0KIAotc3RhdGlj
IFNjcm9sbGJhclBhcnQgc19zdHlsZVJlc29sdmVQYXJ0Owotc3RhdGljIFJlbmRlclNjcm9sbGJh
ciogc19zdHlsZVJlc29sdmVTY3JvbGxiYXI7Ci0KLVJlbmRlclNjcm9sbGJhciogUmVuZGVyU2Ny
b2xsYmFyOjpzY3JvbGxiYXJGb3JTdHlsZVJlc29sdmUoKQotewotICAgIHJldHVybiBzX3N0eWxl
UmVzb2x2ZVNjcm9sbGJhcjsKLX0KLQotU2Nyb2xsYmFyUGFydCBSZW5kZXJTY3JvbGxiYXI6OnBh
cnRGb3JTdHlsZVJlc29sdmUoKQotewotICAgIHJldHVybiBzX3N0eWxlUmVzb2x2ZVBhcnQ7Ci19
Ci0KIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IFJlbmRlclNjcm9sbGJhcjo6Z2V0U2Nyb2xsYmFy
UHNldWRvU3R5bGUoU2Nyb2xsYmFyUGFydCBwYXJ0VHlwZSwgUHNldWRvSWQgcHNldWRvSWQpCiB7
CiAgICAgaWYgKCFvd25pbmdSZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHNf
c3R5bGVSZXNvbHZlUGFydCA9IHBhcnRUeXBlOwotICAgIHNfc3R5bGVSZXNvbHZlU2Nyb2xsYmFy
ID0gdGhpczsKLSAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IHJlc3VsdCA9IG93bmluZ1JlbmRlcmVy
KCktPmdldFVuY2FjaGVkUHNldWRvU3R5bGUocHNldWRvSWQsIG93bmluZ1JlbmRlcmVyKCktPnN0
eWxlKCkpOwotICAgIHNfc3R5bGVSZXNvbHZlUGFydCA9IE5vUGFydDsKLSAgICBzX3N0eWxlUmVz
b2x2ZVNjcm9sbGJhciA9IDA7Ci0KKyAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IHJlc3VsdCA9IG93
bmluZ1JlbmRlcmVyKCktPmdldFVuY2FjaGVkUHNldWRvU3R5bGUoUHNldWRvU3R5bGVSZXF1ZXN0
KHBzZXVkb0lkLCB0aGlzLCBwYXJ0VHlwZSksIG93bmluZ1JlbmRlcmVyKCktPnN0eWxlKCkpOwog
ICAgIC8vIFNjcm9sbGJhcnMgZm9yIHJvb3QgZnJhbWVzIHNob3VsZCBhbHdheXMgaGF2ZSBiYWNr
Z3JvdW5kIGNvbG9yIAogICAgIC8vIHVubGVzcyBleHBsaWNpdGx5IHNwZWNpZmllZCBhcyB0cmFu
c3BhcmVudC4gU28gd2UgZm9yY2UgaXQuCiAgICAgLy8gVGhpcyBpcyBiZWNhdXNlIFdlYktpdCBh
c3N1bWVzIHNjcm9sbGJhciB0byBiZSBhbHdheXMgcGFpbnRlZCBhbmQgbWlzc2luZyBiYWNrZ3Jv
dW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFy
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyLmgKaW5kZXggOTE4
ZWVlMGE5MTZmODRiYTk2NzE2NTM3Y2Q1MjM2Njg3NWJjOTg1ZS4uNDk2YjE3ZWI4MDhkMTNjNjlm
NmQwZGJmZGY2NjRkMzRiMjU2NTMzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclNjcm9sbGJhci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJTY3JvbGxiYXIuaApAQCAtNDcsOSArNDcsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NS
ZWZQdHI8U2Nyb2xsYmFyPiBjcmVhdGVDdXN0b21TY3JvbGxiYXIoU2Nyb2xsYWJsZUFyZWEqLCBT
Y3JvbGxiYXJPcmllbnRhdGlvbiwgTm9kZSosIEZyYW1lKiBvd25pbmdGcmFtZSA9IDApOwogICAg
IHZpcnR1YWwgflJlbmRlclNjcm9sbGJhcigpOwogCi0gICAgc3RhdGljIFNjcm9sbGJhclBhcnQg
cGFydEZvclN0eWxlUmVzb2x2ZSgpOwotICAgIHN0YXRpYyBSZW5kZXJTY3JvbGxiYXIqIHNjcm9s
bGJhckZvclN0eWxlUmVzb2x2ZSgpOwotCiAgICAgUmVuZGVyQm94KiBvd25pbmdSZW5kZXJlcigp
IGNvbnN0OwogCiAgICAgdm9pZCBwYWludFBhcnQoR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFy
UGFydCwgY29uc3QgSW50UmVjdCYpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189932</attachid>
            <date>2013-02-23 10:18:16 -0800</date>
            <delta_ts>2013-02-23 12:44:33 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-110690-20130223101434.patch</filename>
            <type>text/plain</type>
            <size>28121</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzODQyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2M1YmNlYmRkNzJmNzAy
YmZkYzljZDUzZjYyYWIxNjU2ZGUzNjI1OC4uZjEyYjk1YzcwNDFmZjRjNWE4YTlhNTNkYTdkYTZh
MjI5OGYyOGU4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEzLTAyLTIzICBEaW1p
dHJpIEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU2Nyb2xsYmFy
IHN0eWxlIHJlc29sdXRpb24gYXJndW1lbnRzIHNob3VsZCBub3QgcGFzc2VkIHZpYSBzdGF0aWNz
LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwNjkw
CisKKyAgICAgICAgVXNlIFBzZXVkb1N0eWxlUmVxdWVzdCB0byBwYXNzIHNjcm9sbGJhciBwYXJh
bXMgZm9yIHN0eWxlIHJlc29sdmUuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwu
CisKKyAgICAgICAgTm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHksIGNvdmVyZWQgYnkgZXhpc3Rp
bmcgdGVzdHMuCisKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlNlbGVjdG9yQ2hlY2tlcjo6bWF0Y2gpOiBDaGFuZ2VkIHRvIHVzZSBjb250ZXh0
IHBhcmFtcywgcmF0aGVyIHRoYW4gc3RhdGljcy4KKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9y
Q2hlY2tlcjo6Y2hlY2tPbmUpOiBDaGFuZ2VkIHRvIHBhc3MgY29udGV4dCB0byBjaGVja1Njcm9s
bGJhclBzZXVkb0NsYXNzLgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2VyOjpjaGVj
a1Njcm9sbGJhclBzZXVkb0NsYXNzKTogQ2hhbmdlZCB0byB1c2UgY29udGV4dCBwYXJhbXMsIHJh
dGhlciB0aGFuIHN0YXRpY3MuCisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tlci5oOgorICAg
ICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDaGVja2VyOjpTZWxlY3RvckNoZWNraW5nQ29udGV4dDo6
U2VsZWN0b3JDaGVja2luZ0NvbnRleHQpOiBBZGRlZCBzY3JvbGxiYXIgc3R5bGUgYXJncy4KKyAg
ICAgICAgKFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0KTogRGl0dG8uCisgICAgICAgICogY3NzL1N0
eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6Y29sbGVj
dE1hdGNoaW5nUnVsZXNGb3JMaXN0KTogQ2hhbmdlZCB0byB1c2UgUHNldWRvU3R5bGVSZXF1ZXN0
LgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6U3RhdGU6OmluaXRGb3JTdHlsZVJl
c29sdmUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXI6OnBzZXVkb1N0
eWxlRm9yRWxlbWVudCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6
cnVsZU1hdGNoZXMpOiBEaXR0byBhbmQgYWRkZWQgc3R1ZmZpbmcgc2Nyb2xsYmFyIHN0eWxlIHJl
c29sdmUgYXJncyBpbnRvIFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0LgorICAgICAgICAqIGNzcy9T
dHlsZVJlc29sdmVyLmg6CisgICAgICAgIChQc2V1ZG9TdHlsZVJlcXVlc3QpOiBBZGRlZC4KKyAg
ICAgICAgKFN0YXRlKTogQ2hhbmdlZCB0byBob2xkIGFuZCB1c2UgUHNldWRvU3R5bGVSZXF1ZXN0
IGluc3RlYWQgb2YganVzdCBQc2V1ZG9JZAorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnBzZXVkb1N0eWxlQ2FjaGVJc0ludmFsaWQpOiBDaGFu
Z2VkIHRvIHVzZSBQc2V1ZG9TdHlsZVJlcXVlc3QuCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcu
Y3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lVmlldzo6dXBkYXRlU2Nyb2xsQ29y
bmVyKTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRhdGVTY3JvbGxDb3JuZXJTdHlsZSk6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZVJlc2l6ZXJTdHlsZSk6IERp
dHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyT2JqZWN0OjpzZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IpOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2VsZWN0aW9uQ29sb3IpOiBEaXR0by4KKyAg
ICAgICAgKFdlYkNvcmU6OmZpcnN0TGluZVN0eWxlRm9yQ2FjaGVkVW5jYWNoZWRUeXBlKTogRGl0
dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmdldENhY2hlZFBzZXVkb1N0eWxl
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OmdldFVuY2FjaGVkUHNl
dWRvU3R5bGUpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6Cisg
ICAgICAgIChSZW5kZXJPYmplY3QpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
U2Nyb2xsYmFyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclNjcm9sbGJhcjo6Z2V0U2Ny
b2xsYmFyUHNldWRvU3R5bGUpOiBEaXR0by4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyU2Ny
b2xsYmFyLmg6CisgICAgICAgIChSZW5kZXJTY3JvbGxiYXIpOiBSZW1vdmVkIHN0YXRpYyBtZW1i
ZXJzIHRoYXQgYXJlIG5vdyBvYnNvbGV0ZS4KKwogMjAxMy0wMi0yMyAgS29uZGFwYWxseSBLYWx5
YW4gIDxrYWx5YW4ua29uZGFwYWxseUBpbnRlbC5jb20+CiAKICAgICAgICAgW0VGTF1bV2ViR0xd
IFJlZmFjdG9yIEdMUGxhdGZvcm1TdXJmYWNlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVj
a2VyLmNwcAppbmRleCAzNDQ5ODNhYjU0MDVlMzkzZDEwMjJmNmU1YTU4ZTU2MDM5YTM2YzgzLi5j
NDFlNmUwZTY0ZDIzZjViOTg3M2MzMzdmYjY2ZWE5MWNiNjAyNWE4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvU2VsZWN0b3JDaGVja2VyLmNwcApAQCAtMTQzLDE1ICsxNDMsMTUgQEAgU2VsZWN0b3JDaGVj
a2VyOjpNYXRjaCBTZWxlY3RvckNoZWNrZXI6Om1hdGNoKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdD
b250ZXh0JiBjb24KICAgICAgICAgaWYgKGNvbnRleHQuZWxlbWVudCA9PSBjb250ZXh0LnNjb3Bl
KQogICAgICAgICAgICAgcmV0dXJuIFNlbGVjdG9yRmFpbHNDb21wbGV0ZWx5OwogCi0gICAgICAg
IC8vIEJhaWwtb3V0IGlmIHRoaXMgc2VsZWN0b3IgaXMgaXJyZWxldmFudCBmb3IgdGhlIHBzZXVk
b1N0eWxlCi0gICAgICAgIGlmIChjb250ZXh0LnBzZXVkb1N0eWxlICE9IE5PUFNFVURPICYmIGNv
bnRleHQucHNldWRvU3R5bGUgIT0gZHluYW1pY1BzZXVkbykKKyAgICAgICAgLy8gQmFpbC1vdXQg
aWYgdGhpcyBzZWxlY3RvciBpcyBpcnJlbGV2YW50IGZvciB0aGUgcHNldWRvSWQKKyAgICAgICAg
aWYgKGNvbnRleHQucHNldWRvSWQgIT0gTk9QU0VVRE8gJiYgY29udGV4dC5wc2V1ZG9JZCAhPSBk
eW5hbWljUHNldWRvKQogICAgICAgICAgICAgcmV0dXJuIFNlbGVjdG9yRmFpbHNDb21wbGV0ZWx5
OwogCiAgICAgICAgIC8vIERpc2FibGUgOnZpc2l0ZWQgbWF0Y2hpbmcgd2hlbiB3ZSBzZWUgdGhl
IGZpcnN0IGxpbmsgb3IgdHJ5IHRvIG1hdGNoIGFueXRoaW5nIGVsc2UgdGhhbiBhbiBhbmNlc3Rv
cnMuCiAgICAgICAgIGlmICghY29udGV4dC5pc1N1YlNlbGVjdG9yICYmIChjb250ZXh0LmVsZW1l
bnQtPmlzTGluaygpIHx8IChyZWxhdGlvbiAhPSBDU1NTZWxlY3Rvcjo6RGVzY2VuZGFudCAmJiBy
ZWxhdGlvbiAhPSBDU1NTZWxlY3Rvcjo6Q2hpbGQpKSkKICAgICAgICAgICAgIG5leHRDb250ZXh0
LnZpc2l0ZWRNYXRjaFR5cGUgPSBWaXNpdGVkTWF0Y2hEaXNhYmxlZDsKIAotICAgICAgICBuZXh0
Q29udGV4dC5wc2V1ZG9TdHlsZSA9IE5PUFNFVURPOworICAgICAgICBuZXh0Q29udGV4dC5wc2V1
ZG9JZCA9IE5PUFNFVURPOwogICAgIH0KIAogICAgIHN3aXRjaCAocmVsYXRpb24pIHsKQEAgLTIw
Nyw3ICsyMDcsNyBAQCBTZWxlY3RvckNoZWNrZXI6Ok1hdGNoIFNlbGVjdG9yQ2hlY2tlcjo6bWF0
Y2goY29uc3QgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQmIGNvbgogICAgICAgICAvLyBhIHNlbGVj
dG9yIGlzIGludmFsaWQgaWYgc29tZXRoaW5nIGZvbGxvd3MgYSBwc2V1ZG8tZWxlbWVudAogICAg
ICAgICAvLyBXZSBtYWtlIGFuIGV4Y2VwdGlvbiBmb3Igc2Nyb2xsYmFyIHBzZXVkbyBlbGVtZW50
cyBhbmQgYWxsb3cgYSBzZXQgb2YgcHNldWRvIGNsYXNzZXMgKGJ1dCBub3RoaW5nIGVsc2UpCiAg
ICAgICAgIC8vIHRvIGZvbGxvdyB0aGUgcHNldWRvIGVsZW1lbnRzLgotICAgICAgICBuZXh0Q29u
dGV4dC5oYXNTY3JvbGxiYXJQc2V1ZG8gPSBkeW5hbWljUHNldWRvICE9IE5PUFNFVURPICYmIChS
ZW5kZXJTY3JvbGxiYXI6OnNjcm9sbGJhckZvclN0eWxlUmVzb2x2ZSgpIHx8IGR5bmFtaWNQc2V1
ZG8gPT0gU0NST0xMQkFSX0NPUk5FUiB8fCBkeW5hbWljUHNldWRvID09IFJFU0laRVIpOworICAg
ICAgICBuZXh0Q29udGV4dC5oYXNTY3JvbGxiYXJQc2V1ZG8gPSBkeW5hbWljUHNldWRvICE9IE5P
UFNFVURPICYmIChjb250ZXh0LnNjcm9sbGJhciB8fCBkeW5hbWljUHNldWRvID09IFNDUk9MTEJB
Ul9DT1JORVIgfHwgZHluYW1pY1BzZXVkbyA9PSBSRVNJWkVSKTsKICAgICAgICAgbmV4dENvbnRl
eHQuaGFzU2VsZWN0aW9uUHNldWRvID0gZHluYW1pY1BzZXVkbyA9PSBTRUxFQ1RJT047CiAgICAg
ICAgIGlmICgoY29udGV4dC5lbGVtZW50U3R5bGUgfHwgbV9tb2RlID09IENvbGxlY3RpbmdSdWxl
cyB8fCBtX21vZGUgPT0gUXVlcnlpbmdSdWxlcykgJiYgZHluYW1pY1BzZXVkbyAhPSBOT1BTRVVE
TwogICAgICAgICAgICAgJiYgIW5leHRDb250ZXh0Lmhhc1NlbGVjdGlvblBzZXVkbwpAQCAtMzg2
LDcgKzM4Niw3IEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZShjb25zdCBTZWxlY3Rv
ckNoZWNraW5nQ29udGV4dCYgY29udGV4dCwgY29uc3QgU2liCiAgICAgICAgIH0gZWxzZSBpZiAo
Y29udGV4dC5oYXNTY3JvbGxiYXJQc2V1ZG8pIHsKICAgICAgICAgICAgIC8vIENTUyBzY3JvbGxi
YXJzIG1hdGNoIGEgc3BlY2lmaWMgc3Vic2V0IG9mIHBzZXVkbyBjbGFzc2VzLCBhbmQgdGhleSBo
YXZlIHNwZWNpYWxpemVkIHJ1bGVzIGZvciBlYWNoCiAgICAgICAgICAgICAvLyAoc2luY2UgdGhl
cmUgYXJlIG5vIGVsZW1lbnRzIGludm9sdmVkKS4KLSAgICAgICAgICAgIHJldHVybiBjaGVja1Nj
cm9sbGJhclBzZXVkb0NsYXNzKGVsZW1lbnQtPmRvY3VtZW50KCksIHNlbGVjdG9yKTsKKyAgICAg
ICAgICAgIHJldHVybiBjaGVja1Njcm9sbGJhclBzZXVkb0NsYXNzKGNvbnRleHQsIGVsZW1lbnQt
PmRvY3VtZW50KCksIHNlbGVjdG9yKTsKICAgICAgICAgfSBlbHNlIGlmIChjb250ZXh0Lmhhc1Nl
bGVjdGlvblBzZXVkbykgewogICAgICAgICAgICAgaWYgKHNlbGVjdG9yLT5wc2V1ZG9UeXBlKCkg
PT0gQ1NTU2VsZWN0b3I6OlBzZXVkb1dpbmRvd0luYWN0aXZlKQogICAgICAgICAgICAgICAgIHJl
dHVybiAhZWxlbWVudC0+ZG9jdW1lbnQoKS0+cGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+aXNB
Y3RpdmUoKTsKQEAgLTc4NiwxMCArNzg2LDEwIEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVj
a09uZShjb25zdCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCwgY29uc3QgU2liCiAg
ICAgcmV0dXJuIHRydWU7CiB9CiAKLWJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja1Njcm9sbGJh
clBzZXVkb0NsYXNzKERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgQ1NTU2VsZWN0b3IqIHNlbGVj
dG9yKSBjb25zdAorYm9vbCBTZWxlY3RvckNoZWNrZXI6OmNoZWNrU2Nyb2xsYmFyUHNldWRvQ2xh
c3MoY29uc3QgU2VsZWN0b3JDaGVja2luZ0NvbnRleHQmIGNvbnRleHQsIERvY3VtZW50KiBkb2N1
bWVudCwgY29uc3QgQ1NTU2VsZWN0b3IqIHNlbGVjdG9yKSBjb25zdAogewotICAgIFJlbmRlclNj
cm9sbGJhciogc2Nyb2xsYmFyID0gUmVuZGVyU2Nyb2xsYmFyOjpzY3JvbGxiYXJGb3JTdHlsZVJl
c29sdmUoKTsKLSAgICBTY3JvbGxiYXJQYXJ0IHBhcnQgPSBSZW5kZXJTY3JvbGxiYXI6OnBhcnRG
b3JTdHlsZVJlc29sdmUoKTsKKyAgICBSZW5kZXJTY3JvbGxiYXIqIHNjcm9sbGJhciA9IGNvbnRl
eHQuc2Nyb2xsYmFyOworICAgIFNjcm9sbGJhclBhcnQgcGFydCA9IGNvbnRleHQuc2Nyb2xsYmFy
UGFydDsKIAogICAgIC8vIEZJWE1FOiBUaGlzIGlzIGEgdGVtcG9yYXJ5IGhhY2sgZm9yIHJlc2l6
ZXJzIGFuZCBzY3JvbGxiYXIgY29ybmVycy4gRXZlbnR1YWxseSA6d2luZG93LWluYWN0aXZlIHNo
b3VsZCBiZWNvbWUgYSByZWFsCiAgICAgLy8gcHNldWRvIGNsYXNzIGFuZCBqdXN0IGFwcGx5IHRv
IGV2ZXJ5dGhpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVj
a2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmgKaW5kZXggMDM1NWNk
ZTVkYTQ3MWYzZDgwZWYyMzA1ZTAxOWE2YzBkNzUyMWYxYi4uZjExMGMwMGUwZmU3ZWU0NmMyYmI5
NjRkYWYwNmJhOTJlYTI3NTNhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVj
dG9yQ2hlY2tlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuaApA
QCAtMzksNiArMzksNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBDU1NTZWxlY3Rv
cjsKK2NsYXNzIFJlbmRlclNjcm9sbGJhcjsKIGNsYXNzIFJlbmRlclN0eWxlOwogCiBjbGFzcyBT
ZWxlY3RvckNoZWNrZXIgewpAQCAtNTcsOCArNTgsMTAgQEAgcHVibGljOgogICAgICAgICAgICAg
LCBlbGVtZW50KGVsZW1lbnQpCiAgICAgICAgICAgICAsIHNjb3BlKDApCiAgICAgICAgICAgICAs
IHZpc2l0ZWRNYXRjaFR5cGUodmlzaXRlZE1hdGNoVHlwZSkKLSAgICAgICAgICAgICwgcHNldWRv
U3R5bGUoTk9QU0VVRE8pCisgICAgICAgICAgICAsIHBzZXVkb0lkKE5PUFNFVURPKQogICAgICAg
ICAgICAgLCBlbGVtZW50U3R5bGUoMCkKKyAgICAgICAgICAgICwgc2Nyb2xsYmFyKDApCisgICAg
ICAgICAgICAsIHNjcm9sbGJhclBhcnQoTm9QYXJ0KQogICAgICAgICAgICAgLCBpc1N1YlNlbGVj
dG9yKGZhbHNlKQogICAgICAgICAgICAgLCBoYXNTY3JvbGxiYXJQc2V1ZG8oZmFsc2UpCiAgICAg
ICAgICAgICAsIGhhc1NlbGVjdGlvblBzZXVkbyhmYWxzZSkKQEAgLTY5LDggKzcyLDEwIEBAIHB1
YmxpYzoKICAgICAgICAgRWxlbWVudCogZWxlbWVudDsKICAgICAgICAgY29uc3QgQ29udGFpbmVy
Tm9kZSogc2NvcGU7CiAgICAgICAgIFZpc2l0ZWRNYXRjaFR5cGUgdmlzaXRlZE1hdGNoVHlwZTsK
LSAgICAgICAgUHNldWRvSWQgcHNldWRvU3R5bGU7CisgICAgICAgIFBzZXVkb0lkIHBzZXVkb0lk
OwogICAgICAgICBSZW5kZXJTdHlsZSogZWxlbWVudFN0eWxlOworICAgICAgICBSZW5kZXJTY3Jv
bGxiYXIqIHNjcm9sbGJhcjsKKyAgICAgICAgU2Nyb2xsYmFyUGFydCBzY3JvbGxiYXJQYXJ0Owog
ICAgICAgICBib29sIGlzU3ViU2VsZWN0b3I7CiAgICAgICAgIGJvb2wgaGFzU2Nyb2xsYmFyUHNl
dWRvOwogICAgICAgICBib29sIGhhc1NlbGVjdGlvblBzZXVkbzsKQEAgLTk2LDcgKzEwMSw3IEBA
IHB1YmxpYzoKICAgICBzdGF0aWMgdW5zaWduZWQgZGV0ZXJtaW5lTGlua01hdGNoVHlwZShjb25z
dCBDU1NTZWxlY3RvciopOwogCiBwcml2YXRlOgotICAgIGJvb2wgY2hlY2tTY3JvbGxiYXJQc2V1
ZG9DbGFzcyhEb2N1bWVudCosIGNvbnN0IENTU1NlbGVjdG9yKikgY29uc3Q7CisgICAgYm9vbCBj
aGVja1Njcm9sbGJhclBzZXVkb0NsYXNzKGNvbnN0IFNlbGVjdG9yQ2hlY2tpbmdDb250ZXh0Jiwg
RG9jdW1lbnQqLCBjb25zdCBDU1NTZWxlY3RvciopIGNvbnN0OwogCiAgICAgc3RhdGljIGJvb2wg
aXNGcmFtZUZvY3VzZWQoY29uc3QgRWxlbWVudCopOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNv
bHZlci5jcHAKaW5kZXggYmQ4NWJmNmJlZDUyY2FkMjQyOTQzOGNjNzhjNWU0MzE4NjZiOGRiMy4u
YTk1MTkxY2YyNGRjN2E4ZjM2YzBjMWJhYjRiYThhZTBjOGE2Y2U3OCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJlc29sdmVyLmNwcApAQCAtNjk2LDcgKzY5Niw3IEBAIHZvaWQgU3R5bGVSZXNvbHZl
cjo6Y29sbGVjdE1hdGNoaW5nUnVsZXNGb3JMaXN0KFN0YXRlJiBzdGF0ZSwgY29uc3QgVmVjdG9y
PFJ1bGVECiAgICAgICAgICAgICB9CiAgICAgICAgICAgICAvLyBJZiB3ZSdyZSBtYXRjaGluZyBu
b3JtYWwgcnVsZXMsIHNldCBhIHBzZXVkbyBiaXQgaWYKICAgICAgICAgICAgIC8vIHdlIHJlYWxs
eSBqdXN0IG1hdGNoZWQgYSBwc2V1ZG8tZWxlbWVudC4KLSAgICAgICAgICAgIGlmIChkeW5hbWlj
UHNldWRvICE9IE5PUFNFVURPICYmIHN0YXRlLnBzZXVkb1N0eWxlKCkgPT0gTk9QU0VVRE8pIHsK
KyAgICAgICAgICAgIGlmIChkeW5hbWljUHNldWRvICE9IE5PUFNFVURPICYmIHN0YXRlLnBzZXVk
b1N0eWxlUmVxdWVzdCgpLnBzZXVkb0lkID09IE5PUFNFVURPKSB7CiAgICAgICAgICAgICAgICAg
aWYgKHN0YXRlLm1vZGUoKSA9PSBTZWxlY3RvckNoZWNrZXI6OkNvbGxlY3RpbmdSdWxlcykgewog
ICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZE1hdGNoUnVs
ZShjb29raWUsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CkBAIC04MDMs
OSArODAzLDkgQEAgaW5saW5lIHZvaWQgU3R5bGVSZXNvbHZlcjo6aW5pdEVsZW1lbnQoU3RhdGUm
IHN0YXRlLCBFbGVtZW50KiBlKQogICAgIH0KIH0KIAotaW5saW5lIHZvaWQgU3R5bGVSZXNvbHZl
cjo6U3RhdGU6OmluaXRGb3JTdHlsZVJlc29sdmUoRG9jdW1lbnQqIGRvY3VtZW50LCBFbGVtZW50
KiBlLCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUsIFBzZXVkb0lkIHBzZXVkb0lkLCBSZW5kZXJS
ZWdpb24qIHJlZ2lvbkZvclN0eWxpbmcpCitpbmxpbmUgdm9pZCBTdHlsZVJlc29sdmVyOjpTdGF0
ZTo6aW5pdEZvclN0eWxlUmVzb2x2ZShEb2N1bWVudCogZG9jdW1lbnQsIEVsZW1lbnQqIGUsIFJl
bmRlclN0eWxlKiBwYXJlbnRTdHlsZSwgY29uc3QgUHNldWRvU3R5bGVSZXF1ZXN0JiBwc2V1ZG9T
dHlsZVJlcXVlc3QsIFJlbmRlclJlZ2lvbiogcmVnaW9uRm9yU3R5bGluZykKIHsKLSAgICBtX3Bz
ZXVkb1N0eWxlID0gcHNldWRvSWQ7CisgICAgbV9wc2V1ZG9TdHlsZVJlcXVlc3QgPSBwc2V1ZG9T
dHlsZVJlcXVlc3Q7CiAgICAgbV9yZWdpb25Gb3JTdHlsaW5nID0gcmVnaW9uRm9yU3R5bGluZzsK
IAogICAgIGlmIChlKSB7CkBAIC0xNTU2LDcgKzE1NTYsNyBAQCB2b2lkIFN0eWxlUmVzb2x2ZXI6
OmtleWZyYW1lU3R5bGVzRm9yQW5pbWF0aW9uKEVsZW1lbnQqIGUsIGNvbnN0IFJlbmRlclN0eWxl
KiBlbAogICAgIH0KIH0KIAotUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gU3R5bGVSZXNvbHZlcjo6
cHNldWRvU3R5bGVGb3JFbGVtZW50KFBzZXVkb0lkIHBzZXVkbywgRWxlbWVudCogZSwgUmVuZGVy
U3R5bGUqIHBhcmVudFN0eWxlKQorUGFzc1JlZlB0cjxSZW5kZXJTdHlsZT4gU3R5bGVSZXNvbHZl
cjo6cHNldWRvU3R5bGVGb3JFbGVtZW50KEVsZW1lbnQqIGUsIGNvbnN0IFBzZXVkb1N0eWxlUmVx
dWVzdCYgcHNldWRvU3R5bGVSZXF1ZXN0LCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUpCiB7CiAg
ICAgQVNTRVJUKHBhcmVudFN0eWxlKTsKICAgICBpZiAoIWUpCkBAIC0xNTY0LDcgKzE1NjQsNyBA
QCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBTdHlsZVJlc29sdmVyOjpwc2V1ZG9TdHlsZUZvckVs
ZW1lbnQoUHNldWRvSWQgcHNldWRvLCBFbAogCiAgICAgU3RhdGUgc3RhdGUoZG9jdW1lbnQoKSk7
CiAgICAgaW5pdEVsZW1lbnQoc3RhdGUsIGUpOwotICAgIHN0YXRlLmluaXRGb3JTdHlsZVJlc29s
dmUoZG9jdW1lbnQoKSwgZSwgcGFyZW50U3R5bGUsIHBzZXVkbyk7CisgICAgc3RhdGUuaW5pdEZv
clN0eWxlUmVzb2x2ZShkb2N1bWVudCgpLCBlLCBwYXJlbnRTdHlsZSwgcHNldWRvU3R5bGVSZXF1
ZXN0KTsKICAgICBzdGF0ZS5zZXRTdHlsZShSZW5kZXJTdHlsZTo6Y3JlYXRlKCkpOwogICAgIHN0
YXRlLnN0eWxlKCktPmluaGVyaXRGcm9tKHN0YXRlLnBhcmVudFN0eWxlKCkpOwogCkBAIC0xNTgz
LDcgKzE1ODMsNyBAQCBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBTdHlsZVJlc29sdmVyOjpwc2V1
ZG9TdHlsZUZvckVsZW1lbnQoUHNldWRvSWQgcHNldWRvLCBFbAogICAgIGlmIChtYXRjaFJlc3Vs
dC5tYXRjaGVkUHJvcGVydGllcy5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAg
c3RhdGUuc3R5bGUoKS0+c2V0U3R5bGVUeXBlKHBzZXVkbyk7CisgICAgc3RhdGUuc3R5bGUoKS0+
c2V0U3R5bGVUeXBlKHBzZXVkb1N0eWxlUmVxdWVzdC5wc2V1ZG9JZCk7CiAKICAgICBhcHBseU1h
dGNoZWRQcm9wZXJ0aWVzKHN0YXRlLCBtYXRjaFJlc3VsdCwgZSk7CiAKQEAgLTIwNzUsNyArMjA3
NSw3IEBAIGlubGluZSBib29sIFN0eWxlUmVzb2x2ZXI6OnJ1bGVNYXRjaGVzKFN0YXRlJiBzdGF0
ZSwgY29uc3QgUnVsZURhdGEmIHJ1bGVEYXRhLCBjCiB7CiAgICAgaWYgKHJ1bGVEYXRhLmhhc0Zh
c3RDaGVja2FibGVTZWxlY3RvcigpKSB7CiAgICAgICAgIC8vIFdlIGtub3cgdGhpcyBzZWxlY3Rv
ciBkb2VzIG5vdCBpbmNsdWRlIGFueSBwc2V1ZG8gZWxlbWVudHMuCi0gICAgICAgIGlmIChzdGF0
ZS5wc2V1ZG9TdHlsZSgpICE9IE5PUFNFVURPKQorICAgICAgICBpZiAoc3RhdGUucHNldWRvU3R5
bGVSZXF1ZXN0KCkucHNldWRvSWQgIT0gTk9QU0VVRE8pCiAgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CiAgICAgICAgIC8vIFdlIGtub3cgYSBzdWZmaWNpZW50bHkgc2ltcGxlIHNpbmdsZSBwYXJ0
IHNlbGVjdG9yIG1hdGNoZXMgc2ltcGx5IGJlY2F1c2Ugd2UgZm91bmQgaXQgZnJvbSB0aGUgcnVs
ZSBoYXNoLgogICAgICAgICAvLyBUaGlzIGlzIGxpbWl0ZWQgdG8gSFRNTCBvbmx5IHNvIHdlIGRv
bid0IG5lZWQgdG8gY2hlY2sgdGhlIG5hbWVzcGFjZS4KQEAgLTIwOTcsMTIgKzIwOTcsMTQgQEAg
aW5saW5lIGJvb2wgU3R5bGVSZXNvbHZlcjo6cnVsZU1hdGNoZXMoU3RhdGUmIHN0YXRlLCBjb25z
dCBSdWxlRGF0YSYgcnVsZURhdGEsIGMKICAgICBTZWxlY3RvckNoZWNrZXI6OlNlbGVjdG9yQ2hl
Y2tpbmdDb250ZXh0IGNvbnRleHQocnVsZURhdGEuc2VsZWN0b3IoKSwgc3RhdGUuZWxlbWVudCgp
LCBTZWxlY3RvckNoZWNrZXI6OlZpc2l0ZWRNYXRjaEVuYWJsZWQpOwogICAgIGNvbnRleHQuZWxl
bWVudFN0eWxlID0gc3RhdGUuc3R5bGUoKTsKICAgICBjb250ZXh0LnNjb3BlID0gc2NvcGU7Ci0g
ICAgY29udGV4dC5wc2V1ZG9TdHlsZSA9IHN0YXRlLnBzZXVkb1N0eWxlKCk7CisgICAgY29udGV4
dC5wc2V1ZG9JZCA9IHN0YXRlLnBzZXVkb1N0eWxlUmVxdWVzdCgpLnBzZXVkb0lkOworICAgIGNv
bnRleHQuc2Nyb2xsYmFyID0gc3RhdGUucHNldWRvU3R5bGVSZXF1ZXN0KCkuc2Nyb2xsYmFyOwor
ICAgIGNvbnRleHQuc2Nyb2xsYmFyUGFydCA9IHN0YXRlLnBzZXVkb1N0eWxlUmVxdWVzdCgpLnNj
cm9sbGJhclBhcnQ7CiAgICAgY29udGV4dC5iZWhhdmlvckF0Qm91bmRhcnkgPSBiZWhhdmlvckF0
Qm91bmRhcnk7CiAgICAgU2VsZWN0b3JDaGVja2VyOjpNYXRjaCBtYXRjaCA9IHNlbGVjdG9yQ2hl
Y2tlci5tYXRjaChjb250ZXh0LCBkeW5hbWljUHNldWRvLCBET01TaWJsaW5nVHJhdmVyc2FsU3Ry
YXRlZ3koKSk7CiAgICAgaWYgKG1hdGNoICE9IFNlbGVjdG9yQ2hlY2tlcjo6U2VsZWN0b3JNYXRj
aGVzKQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKHN0YXRlLnBzZXVkb1N0eWxlKCkg
IT0gTk9QU0VVRE8gJiYgc3RhdGUucHNldWRvU3R5bGUoKSAhPSBkeW5hbWljUHNldWRvKQorICAg
IGlmIChzdGF0ZS5wc2V1ZG9TdHlsZVJlcXVlc3QoKS5wc2V1ZG9JZCAhPSBOT1BTRVVETyAmJiBz
dGF0ZS5wc2V1ZG9TdHlsZVJlcXVlc3QoKS5wc2V1ZG9JZCAhPSBkeW5hbWljUHNldWRvKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAgICAgcmV0dXJuIHRydWU7CiB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UmVzb2x2ZXIuaAppbmRleCAyODU2ZDczNTlkMzI2Y2U4NDQzNzUwMzMwNWM5NTk4ZDc1OTlkNzRm
Li4zOGIyZmE2YmZkYzc4ZDRiNzQzNGJkZjUxMGIwOGI1ZWI0MWQzYmFjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJlc29sdmVyLmgKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJSdWxlRmVhdHVy
ZS5oIgogI2luY2x1ZGUgIlJ1bGVTZXQuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1
cmVzLmgiCisjaW5jbHVkZSAiU2Nyb2xsVHlwZXMuaCIKICNpbmNsdWRlICJTZWxlY3RvckNoZWNr
ZXIuaCIKICNpbmNsdWRlICJTZWxlY3RvckZpbHRlci5oIgogI2luY2x1ZGUgIlN0eWxlSW5oZXJp
dGVkRGF0YS5oIgpAQCAtODAsNiArODEsNyBAQCBjbGFzcyBLZXlmcmFtZVZhbHVlOwogY2xhc3Mg
TWVkaWFRdWVyeUV2YWx1YXRvcjsKIGNsYXNzIE5vZGU7CiBjbGFzcyBSZW5kZXJSZWdpb247Citj
bGFzcyBSZW5kZXJTY3JvbGxiYXI7CiBjbGFzcyBSdWxlRGF0YTsKIGNsYXNzIFJ1bGVTZXQ7CiBj
bGFzcyBTZXR0aW5nczsKQEAgLTEzNSw2ICsxMzcsMjAgQEAgZW51bSBSdWxlTWF0Y2hpbmdCZWhh
dmlvciB7CiAgICAgTWF0Y2hPbmx5VXNlckFnZW50UnVsZXMsCiB9OwogCitjbGFzcyBQc2V1ZG9T
dHlsZVJlcXVlc3QgeworcHVibGljOgorICAgIFBzZXVkb1N0eWxlUmVxdWVzdChQc2V1ZG9JZCBw
c2V1ZG9JZCwgUmVuZGVyU2Nyb2xsYmFyKiBzY3JvbGxiYXIgPSAwLCBTY3JvbGxiYXJQYXJ0IHNj
cm9sbGJhclBhcnQgPSBOb1BhcnQpCisgICAgICAgIDogcHNldWRvSWQocHNldWRvSWQpCisgICAg
ICAgICwgc2Nyb2xsYmFyUGFydChzY3JvbGxiYXJQYXJ0KQorICAgICAgICAsIHNjcm9sbGJhcihz
Y3JvbGxiYXIpCisgICAgeworICAgIH0KKworICAgIFBzZXVkb0lkIHBzZXVkb0lkOworICAgIFNj
cm9sbGJhclBhcnQgc2Nyb2xsYmFyUGFydDsKKyAgICBSZW5kZXJTY3JvbGxiYXIqIHNjcm9sbGJh
cjsKK307CisKIGNsYXNzIE1hdGNoUmVxdWVzdCB7CiBwdWJsaWM6CiAgICAgTWF0Y2hSZXF1ZXN0
KFJ1bGVTZXQqIHJ1bGVTZXQsIGJvb2wgaW5jbHVkZUVtcHR5UnVsZXMgPSBmYWxzZSwgY29uc3Qg
Q29udGFpbmVyTm9kZSogc2NvcGUgPSAwLCBTZWxlY3RvckNoZWNrZXI6OkJlaGF2aW9yQXRCb3Vu
ZGFyeSBiZWhhdmlvckF0Qm91bmRhcnkgPSBTZWxlY3RvckNoZWNrZXI6OkRvZXNOb3RDcm9zc0Jv
dW5kYXJ5KQpAQCAtMTY5LDcgKzE4NSw3IEBAIHB1YmxpYzoKIAogICAgIHZvaWQga2V5ZnJhbWVT
dHlsZXNGb3JBbmltYXRpb24oRWxlbWVudCosIGNvbnN0IFJlbmRlclN0eWxlKiwgS2V5ZnJhbWVM
aXN0Jik7CiAKLSAgICBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBwc2V1ZG9TdHlsZUZvckVsZW1l
bnQoUHNldWRvSWQsIEVsZW1lbnQqLCBSZW5kZXJTdHlsZSogcGFyZW50U3R5bGUpOworICAgIFBh
c3NSZWZQdHI8UmVuZGVyU3R5bGU+IHBzZXVkb1N0eWxlRm9yRWxlbWVudChFbGVtZW50KiwgY29u
c3QgUHNldWRvU3R5bGVSZXF1ZXN0JiwgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlKTsKIAogICAg
IFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IHN0eWxlRm9yUGFnZShpbnQgcGFnZUluZGV4KTsKICAg
ICBQYXNzUmVmUHRyPFJlbmRlclN0eWxlPiBkZWZhdWx0U3R5bGVGb3JFbGVtZW50KCk7CkBAIC00
MjMsNyArNDM5LDcgQEAgcHVibGljOgogICAgICAgICAsIG1fcm9vdEVsZW1lbnRTdHlsZSgwKQog
ICAgICAgICAsIG1fcmVnaW9uRm9yU3R5bGluZygwKQogICAgICAgICAsIG1fc2FtZU9yaWdpbk9u
bHkoZmFsc2UpCi0gICAgICAgICwgbV9wc2V1ZG9TdHlsZShOT1BTRVVETykKKyAgICAgICAgLCBt
X3BzZXVkb1N0eWxlUmVxdWVzdChOT1BTRVVETykKICAgICAgICAgLCBtX2VsZW1lbnRMaW5rU3Rh
dGUoTm90SW5zaWRlTGluaykKICAgICAgICAgLCBtX2Rpc3RyaWJ1dGVkVG9JbnNlcnRpb25Qb2lu
dChmYWxzZSkKICAgICAgICAgLCBtX2VsZW1lbnRBZmZlY3RlZEJ5Q2xhc3NSdWxlcyhmYWxzZSkK
QEAgLTQ0MCw3ICs0NTYsNyBAQCBwdWJsaWM6CiAKICAgICBwdWJsaWM6CiAgICAgICAgIHZvaWQg
aW5pdEVsZW1lbnQoRWxlbWVudCopOwotICAgICAgICB2b2lkIGluaXRGb3JTdHlsZVJlc29sdmUo
RG9jdW1lbnQqLCBFbGVtZW50KiwgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlID0gMCwgUHNldWRv
SWQgPSBOT1BTRVVETywgUmVuZGVyUmVnaW9uKiByZWdpb25Gb3JTdHlsaW5nID0gMCk7CisgICAg
ICAgIHZvaWQgaW5pdEZvclN0eWxlUmVzb2x2ZShEb2N1bWVudCosIEVsZW1lbnQqLCBSZW5kZXJT
dHlsZSogcGFyZW50U3R5bGUgPSAwLCBjb25zdCBQc2V1ZG9TdHlsZVJlcXVlc3QmID0gUHNldWRv
U3R5bGVSZXF1ZXN0KE5PUFNFVURPKSwgUmVuZGVyUmVnaW9uKiByZWdpb25Gb3JTdHlsaW5nID0g
MCk7CiAgICAgICAgIHZvaWQgY2xlYXIoKTsKIAogICAgICAgICBEb2N1bWVudCogZG9jdW1lbnQo
KSBjb25zdCB7IHJldHVybiBtX2RvY3VtZW50OyB9CkBAIC00NjEsNyArNDc3LDcgQEAgcHVibGlj
OgogICAgICAgICBjb25zdCBSZW5kZXJSZWdpb24qIHJlZ2lvbkZvclN0eWxpbmcoKSBjb25zdCB7
IHJldHVybiBtX3JlZ2lvbkZvclN0eWxpbmc7IH0KICAgICAgICAgdm9pZCBzZXRTYW1lT3JpZ2lu
T25seShib29sIGlzU2FtZU9yaWdpbk9ubHkpIHsgbV9zYW1lT3JpZ2luT25seSA9IGlzU2FtZU9y
aWdpbk9ubHk7IH0KICAgICAgICAgYm9vbCBpc1NhbWVPcmlnaW5Pbmx5KCkgY29uc3QgeyByZXR1
cm4gbV9zYW1lT3JpZ2luT25seTsgfQotICAgICAgICBQc2V1ZG9JZCBwc2V1ZG9TdHlsZSgpIGNv
bnN0IHsgcmV0dXJuIG1fcHNldWRvU3R5bGU7IH0KKyAgICAgICAgY29uc3QgUHNldWRvU3R5bGVS
ZXF1ZXN0JiBwc2V1ZG9TdHlsZVJlcXVlc3QoKSBjb25zdCB7IHJldHVybiBtX3BzZXVkb1N0eWxl
UmVxdWVzdDsgfQogICAgICAgICBFSW5zaWRlTGluayBlbGVtZW50TGlua1N0YXRlKCkgY29uc3Qg
eyByZXR1cm4gbV9lbGVtZW50TGlua1N0YXRlOyB9CiAgICAgICAgIGJvb2wgZGlzdHJpYnV0ZWRU
b0luc2VydGlvblBvaW50KCkgY29uc3QgeyByZXR1cm4gbV9kaXN0cmlidXRlZFRvSW5zZXJ0aW9u
UG9pbnQ7IH0KICAgICAgICAgdm9pZCBzZXRFbGVtZW50QWZmZWN0ZWRCeUNsYXNzUnVsZXMoYm9v
bCBpc0FmZmVjdGVkKSB7IG1fZWxlbWVudEFmZmVjdGVkQnlDbGFzc1J1bGVzID0gaXNBZmZlY3Rl
ZDsgfQpAQCAtNTE3LDcgKzUzMyw3IEBAIHB1YmxpYzoKICAgICAgICAgCiAgICAgICAgIFJlbmRl
clJlZ2lvbiogbV9yZWdpb25Gb3JTdHlsaW5nOwogICAgICAgICBib29sIG1fc2FtZU9yaWdpbk9u
bHk7Ci0gICAgICAgIFBzZXVkb0lkIG1fcHNldWRvU3R5bGU7CisgICAgICAgIFBzZXVkb1N0eWxl
UmVxdWVzdCBtX3BzZXVkb1N0eWxlUmVxdWVzdDsKIAogICAgICAgICBFSW5zaWRlTGluayBtX2Vs
ZW1lbnRMaW5rU3RhdGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCA2ZTI0ZTE2ZGQyZDdk
NDUwMDhjOGZkNDkxOGExOTFiOWMzMGJmNjYxLi5jMzBlNzQ5ZmM0ODEwNGNmZGE0NGVjZDY4ZWQ1
NjE0NGUxOGRlOWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBAIC0xMzI4LDcgKzEzMjgsNyBA
QCBib29sIEVsZW1lbnQ6OnBzZXVkb1N0eWxlQ2FjaGVJc0ludmFsaWQoY29uc3QgUmVuZGVyU3R5
bGUqIGN1cnJlbnRTdHlsZSwgUmVuZGVyUwogICAgICAgICBpZiAocHNldWRvSWQgPT0gRklSU1Rf
TElORSB8fCBwc2V1ZG9JZCA9PSBGSVJTVF9MSU5FX0lOSEVSSVRFRCkKICAgICAgICAgICAgIG5l
d1BzZXVkb1N0eWxlID0gcmVuZGVyZXIoKS0+dW5jYWNoZWRGaXJzdExpbmVTdHlsZShuZXdTdHls
ZSk7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIG5ld1BzZXVkb1N0eWxlID0gcmVuZGVyZXIo
KS0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShwc2V1ZG9JZCwgbmV3U3R5bGUsIG5ld1N0eWxlKTsK
KyAgICAgICAgICAgIG5ld1BzZXVkb1N0eWxlID0gcmVuZGVyZXIoKS0+Z2V0VW5jYWNoZWRQc2V1
ZG9TdHlsZShQc2V1ZG9TdHlsZVJlcXVlc3QocHNldWRvSWQpLCBuZXdTdHlsZSwgbmV3U3R5bGUp
OwogICAgICAgICBpZiAoIW5ld1BzZXVkb1N0eWxlKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgIGlmICgqbmV3UHNldWRvU3R5bGUgIT0gKnBzZXVkb1N0eWxlQ2FjaGUtPmF0KGkp
KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggZjc0ZTg0MWI5ZjYyZmQ2OWE2ZWM3
MGNkOTMxOTA3MjAxODFhZWM4Ni4uMTBjMDBjNWQ2Njc1YjU3ODdlZjhmZjM1ZWQ5MTBiYWYzNGZk
YThiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtMzA4NSw3ICszMDg1LDcgQEAg
dm9pZCBGcmFtZVZpZXc6OnVwZGF0ZVNjcm9sbENvcm5lcigpCiAgICAgICAgIEVsZW1lbnQqIGJv
ZHkgPSBkb2MgPyBkb2MtPmJvZHkoKSA6IDA7CiAgICAgICAgIGlmIChib2R5ICYmIGJvZHktPnJl
bmRlcmVyKCkpIHsKICAgICAgICAgICAgIHJlbmRlcmVyID0gYm9keS0+cmVuZGVyZXIoKTsKLSAg
ICAgICAgICAgIGNvcm5lclN0eWxlID0gcmVuZGVyZXItPmdldFVuY2FjaGVkUHNldWRvU3R5bGUo
U0NST0xMQkFSX0NPUk5FUiwgcmVuZGVyZXItPnN0eWxlKCkpOworICAgICAgICAgICAgY29ybmVy
U3R5bGUgPSByZW5kZXJlci0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShQc2V1ZG9TdHlsZVJlcXVl
c3QoU0NST0xMQkFSX0NPUk5FUiksIHJlbmRlcmVyLT5zdHlsZSgpKTsKICAgICAgICAgfQogICAg
ICAgICAKICAgICAgICAgaWYgKCFjb3JuZXJTdHlsZSkgewpAQCAtMzA5MywxNCArMzA5MywxNCBA
QCB2b2lkIEZyYW1lVmlldzo6dXBkYXRlU2Nyb2xsQ29ybmVyKCkKICAgICAgICAgICAgIEVsZW1l
bnQqIGRvY0VsZW1lbnQgPSBkb2MgPyBkb2MtPmRvY3VtZW50RWxlbWVudCgpIDogMDsKICAgICAg
ICAgICAgIGlmIChkb2NFbGVtZW50ICYmIGRvY0VsZW1lbnQtPnJlbmRlcmVyKCkpIHsKICAgICAg
ICAgICAgICAgICByZW5kZXJlciA9IGRvY0VsZW1lbnQtPnJlbmRlcmVyKCk7Ci0gICAgICAgICAg
ICAgICAgY29ybmVyU3R5bGUgPSByZW5kZXJlci0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShTQ1JP
TExCQVJfQ09STkVSLCByZW5kZXJlci0+c3R5bGUoKSk7CisgICAgICAgICAgICAgICAgY29ybmVy
U3R5bGUgPSByZW5kZXJlci0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShQc2V1ZG9TdHlsZVJlcXVl
c3QoU0NST0xMQkFSX0NPUk5FUiksIHJlbmRlcmVyLT5zdHlsZSgpKTsKICAgICAgICAgICAgIH0K
ICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgaWYgKCFjb3JuZXJTdHlsZSkgewogICAgICAg
ICAgICAgLy8gSWYgd2UgaGF2ZSBhbiBvd25pbmcgaWZyYW1lL2ZyYW1lIGVsZW1lbnQsIHRoZW4g
aXQgY2FuIHNldCB0aGUgY3VzdG9tIHNjcm9sbGJhciBhbHNvLgogICAgICAgICAgICAgaWYgKFJl
bmRlclBhcnQqIHJlbmRlcmVyID0gbV9mcmFtZS0+b3duZXJSZW5kZXJlcigpKQotICAgICAgICAg
ICAgICAgIGNvcm5lclN0eWxlID0gcmVuZGVyZXItPmdldFVuY2FjaGVkUHNldWRvU3R5bGUoU0NS
T0xMQkFSX0NPUk5FUiwgcmVuZGVyZXItPnN0eWxlKCkpOworICAgICAgICAgICAgICAgIGNvcm5l
clN0eWxlID0gcmVuZGVyZXItPmdldFVuY2FjaGVkUHNldWRvU3R5bGUoUHNldWRvU3R5bGVSZXF1
ZXN0KFNDUk9MTEJBUl9DT1JORVIpLCByZW5kZXJlci0+c3R5bGUoKSk7CiAgICAgICAgIH0KICAg
ICB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDcyZjJl
ZWI0ZDFkN2VlZjE2ZGYwYjcyODQzZjg3Y2E2MjM3YWU3ZDEuLmU0Y2E2MDk2MjVkNjM4ZjM0NzA4
MDdhODliMjE1ZTEyOTU5YmZmNmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyLmNwcApAQCAtNTc2MSw3ICs1NzYxLDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlU2Ny
b2xsYWJsZUFyZWFTZXQoYm9vbCBoYXNPdmVyZmxvdykKIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0
ZVNjcm9sbENvcm5lclN0eWxlKCkKIHsKICAgICBSZW5kZXJPYmplY3QqIGFjdHVhbFJlbmRlcmVy
ID0gcmVuZGVyZXJGb3JTY3JvbGxiYXIocmVuZGVyZXIoKSk7Ci0gICAgUmVmUHRyPFJlbmRlclN0
eWxlPiBjb3JuZXIgPSByZW5kZXJlcigpLT5oYXNPdmVyZmxvd0NsaXAoKSA/IGFjdHVhbFJlbmRl
cmVyLT5nZXRVbmNhY2hlZFBzZXVkb1N0eWxlKFNDUk9MTEJBUl9DT1JORVIsIGFjdHVhbFJlbmRl
cmVyLT5zdHlsZSgpKSA6IFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+KDApOworICAgIFJlZlB0cjxS
ZW5kZXJTdHlsZT4gY29ybmVyID0gcmVuZGVyZXIoKS0+aGFzT3ZlcmZsb3dDbGlwKCkgPyBhY3R1
YWxSZW5kZXJlci0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShQc2V1ZG9TdHlsZVJlcXVlc3QoU0NS
T0xMQkFSX0NPUk5FUiksIGFjdHVhbFJlbmRlcmVyLT5zdHlsZSgpKSA6IFBhc3NSZWZQdHI8UmVu
ZGVyU3R5bGU+KDApOwogICAgIGlmIChjb3JuZXIpIHsKICAgICAgICAgaWYgKCFtX3Njcm9sbENv
cm5lcikgewogICAgICAgICAgICAgbV9zY3JvbGxDb3JuZXIgPSBSZW5kZXJTY3JvbGxiYXJQYXJ0
OjpjcmVhdGVBbm9ueW1vdXMocmVuZGVyZXIoKS0+ZG9jdW1lbnQoKSk7CkBAIC01Nzc3LDcgKzU3
NzcsNyBAQCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVTY3JvbGxDb3JuZXJTdHlsZSgpCiB2b2lk
IFJlbmRlckxheWVyOjp1cGRhdGVSZXNpemVyU3R5bGUoKQogewogICAgIFJlbmRlck9iamVjdCog
YWN0dWFsUmVuZGVyZXIgPSByZW5kZXJlckZvclNjcm9sbGJhcihyZW5kZXJlcigpKTsKLSAgICBS
ZWZQdHI8UmVuZGVyU3R5bGU+IHJlc2l6ZXIgPSByZW5kZXJlcigpLT5oYXNPdmVyZmxvd0NsaXAo
KSA/IGFjdHVhbFJlbmRlcmVyLT5nZXRVbmNhY2hlZFBzZXVkb1N0eWxlKFJFU0laRVIsIGFjdHVh
bFJlbmRlcmVyLT5zdHlsZSgpKSA6IFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+KDApOworICAgIFJl
ZlB0cjxSZW5kZXJTdHlsZT4gcmVzaXplciA9IHJlbmRlcmVyKCktPmhhc092ZXJmbG93Q2xpcCgp
ID8gYWN0dWFsUmVuZGVyZXItPmdldFVuY2FjaGVkUHNldWRvU3R5bGUoUHNldWRvU3R5bGVSZXF1
ZXN0KFJFU0laRVIpLCBhY3R1YWxSZW5kZXJlci0+c3R5bGUoKSkgOiBQYXNzUmVmUHRyPFJlbmRl
clN0eWxlPigwKTsKICAgICBpZiAocmVzaXplcikgewogICAgICAgICBpZiAoIW1fcmVzaXplcikg
ewogICAgICAgICAgICAgbV9yZXNpemVyID0gUmVuZGVyU2Nyb2xsYmFyUGFydDo6Y3JlYXRlQW5v
bnltb3VzKHJlbmRlcmVyKCktPmRvY3VtZW50KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyT2JqZWN0LmNwcAppbmRleCAwZTQwNTkxZjA2ZDhiNDE5MzMzOGUyZGE0NjBjNWEyYzk0
ZWNkODc2Li43YzRjMjkyMWU2OGFkM2MzOWVmYjcxMTY4NjFhYzNkY2M4MGVhNWYxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMTYzMSw3ICsxNjMxLDcg
QEAgQ29sb3IgUmVuZGVyT2JqZWN0OjpzZWxlY3Rpb25CYWNrZ3JvdW5kQ29sb3IoKSBjb25zdAog
ewogICAgIENvbG9yIGNvbG9yOwogICAgIGlmIChzdHlsZSgpLT51c2VyU2VsZWN0KCkgIT0gU0VM
RUNUX05PTkUpIHsKLSAgICAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiBwc2V1ZG9TdHlsZSA9IGdl
dFVuY2FjaGVkUHNldWRvU3R5bGUoU0VMRUNUSU9OKTsKKyAgICAgICAgUmVmUHRyPFJlbmRlclN0
eWxlPiBwc2V1ZG9TdHlsZSA9IGdldFVuY2FjaGVkUHNldWRvU3R5bGUoUHNldWRvU3R5bGVSZXF1
ZXN0KFNFTEVDVElPTikpOwogICAgICAgICBpZiAocHNldWRvU3R5bGUgJiYgcHNldWRvU3R5bGUt
PnZpc2l0ZWREZXBlbmRlbnRDb2xvcihDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xvcikuaXNWYWxp
ZCgpKQogICAgICAgICAgICAgY29sb3IgPSBwc2V1ZG9TdHlsZS0+dmlzaXRlZERlcGVuZGVudENv
bG9yKENTU1Byb3BlcnR5QmFja2dyb3VuZENvbG9yKS5ibGVuZFdpdGhXaGl0ZSgpOwogICAgICAg
ICBlbHNlCkBAIC0xNjUyLDcgKzE2NTIsNyBAQCBDb2xvciBSZW5kZXJPYmplY3Q6OnNlbGVjdGlv
bkNvbG9yKGludCBjb2xvclByb3BlcnR5KSBjb25zdAogICAgICAgICB8fCAoZnJhbWUoKS0+dmll
dygpLT5wYWludEJlaGF2aW9yKCkgJiBQYWludEJlaGF2aW9yU2VsZWN0aW9uT25seSkpCiAgICAg
ICAgIHJldHVybiBjb2xvcjsKIAotICAgIGlmIChSZWZQdHI8UmVuZGVyU3R5bGU+IHBzZXVkb1N0
eWxlID0gZ2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShTRUxFQ1RJT04pKSB7CisgICAgaWYgKFJlZlB0
cjxSZW5kZXJTdHlsZT4gcHNldWRvU3R5bGUgPSBnZXRVbmNhY2hlZFBzZXVkb1N0eWxlKFBzZXVk
b1N0eWxlUmVxdWVzdChTRUxFQ1RJT04pKSkgewogICAgICAgICBjb2xvciA9IHBzZXVkb1N0eWxl
LT52aXNpdGVkRGVwZW5kZW50Q29sb3IoY29sb3JQcm9wZXJ0eSk7CiAgICAgICAgIGlmICghY29s
b3IuaXNWYWxpZCgpKQogICAgICAgICAgICAgY29sb3IgPSBwc2V1ZG9TdHlsZS0+dmlzaXRlZERl
cGVuZGVudENvbG9yKENTU1Byb3BlcnR5Q29sb3IpOwpAQCAtMjY4Niw3ICsyNjg2LDcgQEAgc3Rh
dGljIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IGZpcnN0TGluZVN0eWxlRm9yQ2FjaGVkVW5jYWNo
ZWRUeXBlKFN0eWxlQ2FjaGVTdGEKICAgICAgICAgaWYgKFJlbmRlckJsb2NrKiBmaXJzdExpbmVC
bG9jayA9IHJlbmRlcmVyRm9yRmlyc3RMaW5lU3R5bGUtPmZpcnN0TGluZUJsb2NrKCkpIHsKICAg
ICAgICAgICAgIGlmICh0eXBlID09IENhY2hlZCkKICAgICAgICAgICAgICAgICByZXR1cm4gZmly
c3RMaW5lQmxvY2stPmdldENhY2hlZFBzZXVkb1N0eWxlKEZJUlNUX0xJTkUsIHN0eWxlKTsKLSAg
ICAgICAgICAgIHJldHVybiBmaXJzdExpbmVCbG9jay0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShG
SVJTVF9MSU5FLCBzdHlsZSwgZmlyc3RMaW5lQmxvY2sgPT0gcmVuZGVyZXIgPyBzdHlsZSA6IDAp
OworICAgICAgICAgICAgcmV0dXJuIGZpcnN0TGluZUJsb2NrLT5nZXRVbmNhY2hlZFBzZXVkb1N0
eWxlKFBzZXVkb1N0eWxlUmVxdWVzdChGSVJTVF9MSU5FKSwgc3R5bGUsIGZpcnN0TGluZUJsb2Nr
ID09IHJlbmRlcmVyID8gc3R5bGUgOiAwKTsKICAgICAgICAgfQogICAgIH0gZWxzZSBpZiAoIXJl
bmRlcmVyRm9yRmlyc3RMaW5lU3R5bGUtPmlzQW5vbnltb3VzKCkgJiYgcmVuZGVyZXJGb3JGaXJz
dExpbmVTdHlsZS0+aXNSZW5kZXJJbmxpbmUoKSkgewogICAgICAgICBSZW5kZXJTdHlsZSogcGFy
ZW50U3R5bGUgPSByZW5kZXJlckZvckZpcnN0TGluZVN0eWxlLT5wYXJlbnQoKS0+Zmlyc3RMaW5l
U3R5bGUoKTsKQEAgLTI2OTYsNyArMjY5Niw3IEBAIHN0YXRpYyBQYXNzUmVmUHRyPFJlbmRlclN0
eWxlPiBmaXJzdExpbmVTdHlsZUZvckNhY2hlZFVuY2FjaGVkVHlwZShTdHlsZUNhY2hlU3RhCiAg
ICAgICAgICAgICAgICAgcmVuZGVyZXJGb3JGaXJzdExpbmVTdHlsZS0+c3R5bGUoKS0+c2V0SGFz
UHNldWRvU3R5bGUoRklSU1RfTElORV9JTkhFUklURUQpOwogICAgICAgICAgICAgICAgIHJldHVy
biByZW5kZXJlckZvckZpcnN0TGluZVN0eWxlLT5nZXRDYWNoZWRQc2V1ZG9TdHlsZShGSVJTVF9M
SU5FX0lOSEVSSVRFRCwgcGFyZW50U3R5bGUpOwogICAgICAgICAgICAgfQotICAgICAgICAgICAg
cmV0dXJuIHJlbmRlcmVyRm9yRmlyc3RMaW5lU3R5bGUtPmdldFVuY2FjaGVkUHNldWRvU3R5bGUo
RklSU1RfTElORV9JTkhFUklURUQsIHBhcmVudFN0eWxlLCBzdHlsZSk7CisgICAgICAgICAgICBy
ZXR1cm4gcmVuZGVyZXJGb3JGaXJzdExpbmVTdHlsZS0+Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShQ
c2V1ZG9TdHlsZVJlcXVlc3QoRklSU1RfTElORV9JTkhFUklURUQpLCBwYXJlbnRTdHlsZSwgc3R5
bGUpOwogICAgICAgICB9CiAgICAgfQogICAgIHJldHVybiAwOwpAQCAtMjczMSwxNSArMjczMSwx
NSBAQCBSZW5kZXJTdHlsZSogUmVuZGVyT2JqZWN0OjpnZXRDYWNoZWRQc2V1ZG9TdHlsZShQc2V1
ZG9JZCBwc2V1ZG8sIFJlbmRlclN0eWxlKiBwYQogICAgIGlmIChjYWNoZWRTdHlsZSkKICAgICAg
ICAgcmV0dXJuIGNhY2hlZFN0eWxlOwogICAgIAotICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gcmVz
dWx0ID0gZ2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShwc2V1ZG8sIHBhcmVudFN0eWxlKTsKKyAgICBS
ZWZQdHI8UmVuZGVyU3R5bGU+IHJlc3VsdCA9IGdldFVuY2FjaGVkUHNldWRvU3R5bGUoUHNldWRv
U3R5bGVSZXF1ZXN0KHBzZXVkbyksIHBhcmVudFN0eWxlKTsKICAgICBpZiAocmVzdWx0KQogICAg
ICAgICByZXR1cm4gc3R5bGUoKS0+YWRkQ2FjaGVkUHNldWRvU3R5bGUocmVzdWx0LnJlbGVhc2Uo
KSk7CiAgICAgcmV0dXJuIDA7CiB9CiAKLVBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IFJlbmRlck9i
amVjdDo6Z2V0VW5jYWNoZWRQc2V1ZG9TdHlsZShQc2V1ZG9JZCBwc2V1ZG8sIFJlbmRlclN0eWxl
KiBwYXJlbnRTdHlsZSwgUmVuZGVyU3R5bGUqIG93blN0eWxlKSBjb25zdAorUGFzc1JlZlB0cjxS
ZW5kZXJTdHlsZT4gUmVuZGVyT2JqZWN0OjpnZXRVbmNhY2hlZFBzZXVkb1N0eWxlKGNvbnN0IFBz
ZXVkb1N0eWxlUmVxdWVzdCYgcHNldWRvU3R5bGVSZXF1ZXN0LCBSZW5kZXJTdHlsZSogcGFyZW50
U3R5bGUsIFJlbmRlclN0eWxlKiBvd25TdHlsZSkgY29uc3QKIHsKLSAgICBpZiAocHNldWRvIDwg
RklSU1RfSU5URVJOQUxfUFNFVURPSUQgJiYgIW93blN0eWxlICYmICFzdHlsZSgpLT5oYXNQc2V1
ZG9TdHlsZShwc2V1ZG8pKQorICAgIGlmIChwc2V1ZG9TdHlsZVJlcXVlc3QucHNldWRvSWQgPCBG
SVJTVF9JTlRFUk5BTF9QU0VVRE9JRCAmJiAhb3duU3R5bGUgJiYgIXN0eWxlKCktPmhhc1BzZXVk
b1N0eWxlKHBzZXVkb1N0eWxlUmVxdWVzdC5wc2V1ZG9JZCkpCiAgICAgICAgIHJldHVybiAwOwog
ICAgIAogICAgIGlmICghcGFyZW50U3R5bGUpIHsKQEAgLTI3NTUsMTIgKzI3NTUsMTMgQEAgUGFz
c1JlZlB0cjxSZW5kZXJTdHlsZT4gUmVuZGVyT2JqZWN0OjpnZXRVbmNhY2hlZFBzZXVkb1N0eWxl
KFBzZXVkb0lkIHBzZXVkbywgUmUKICAgICAgICAgcmV0dXJuIDA7CiAgICAgRWxlbWVudCogZWxl
bWVudCA9IHRvRWxlbWVudChuKTsKIAotICAgIGlmIChwc2V1ZG8gPT0gRklSU1RfTElORV9JTkhF
UklURUQpIHsKKyAgICBpZiAocHNldWRvU3R5bGVSZXF1ZXN0LnBzZXVkb0lkID09IEZJUlNUX0xJ
TkVfSU5IRVJJVEVEKSB7CiAgICAgICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gcmVzdWx0ID0gZG9j
dW1lbnQoKS0+c3R5bGVSZXNvbHZlcigpLT5zdHlsZUZvckVsZW1lbnQoZWxlbWVudCwgcGFyZW50
U3R5bGUsIERpc2FsbG93U3R5bGVTaGFyaW5nKTsKICAgICAgICAgcmVzdWx0LT5zZXRTdHlsZVR5
cGUoRklSU1RfTElORV9JTkhFUklURUQpOwogICAgICAgICByZXR1cm4gcmVzdWx0LnJlbGVhc2Uo
KTsKICAgICB9Ci0gICAgcmV0dXJuIGRvY3VtZW50KCktPnN0eWxlUmVzb2x2ZXIoKS0+cHNldWRv
U3R5bGVGb3JFbGVtZW50KHBzZXVkbywgZWxlbWVudCwgcGFyZW50U3R5bGUpOworCisgICAgcmV0
dXJuIGRvY3VtZW50KCktPnN0eWxlUmVzb2x2ZXIoKS0+cHNldWRvU3R5bGVGb3JFbGVtZW50KGVs
ZW1lbnQsIHBzZXVkb1N0eWxlUmVxdWVzdCwgcGFyZW50U3R5bGUpOwogfQogCiBzdGF0aWMgQ29s
b3IgZGVjb3JhdGlvbkNvbG9yKFJlbmRlclN0eWxlKiBzdHlsZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBmYjcxN2U5MmE5MDkwYmMwNzAwZDRjMDczMmZmY2U3
M2U1NzE4NmUyLi4zY2ZmNWZhNTZjMmU4MjQwODlkNjFmZjdlZDAyYjVlYWYzNzcwMDFhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC01NSw2ICs1NSw3IEBAIGNs
YXNzIElubGluZUZsb3dCb3g7CiBjbGFzcyBPdmVybGFwVGVzdFJlcXVlc3RDbGllbnQ7CiBjbGFz
cyBQYXRoOwogY2xhc3MgUG9zaXRpb247CitjbGFzcyBQc2V1ZG9TdHlsZVJlcXVlc3Q7CiBjbGFz
cyBSZW5kZXJCb3hNb2RlbE9iamVjdDsKIGNsYXNzIFJlbmRlcklubGluZTsKIGNsYXNzIFJlbmRl
ckJsb2NrOwpAQCAtNjA0LDcgKzYwNSw3IEBAIHB1YmxpYzoKICAgICAvLyBUaGUgcHNldWRvIGVs
ZW1lbnQgc3R5bGUgY2FuIGJlIGNhY2hlZCBvciB1bmNhY2hlZC4gIFVzZSB0aGUgY2FjaGVkIG1l
dGhvZCBpZiB0aGUgcHNldWRvIGVsZW1lbnQgZG9lc24ndCByZXNwZWN0CiAgICAgLy8gYW55IHBz
ZXVkbyBjbGFzc2VzIChhbmQgdGhlcmVmb3JlIGhhcyBubyBjb25jZXB0IG9mIGNoYW5naW5nIHN0
YXRlKS4KICAgICBSZW5kZXJTdHlsZSogZ2V0Q2FjaGVkUHNldWRvU3R5bGUoUHNldWRvSWQsIFJl
bmRlclN0eWxlKiBwYXJlbnRTdHlsZSA9IDApIGNvbnN0OwotICAgIFBhc3NSZWZQdHI8UmVuZGVy
U3R5bGU+IGdldFVuY2FjaGVkUHNldWRvU3R5bGUoUHNldWRvSWQsIFJlbmRlclN0eWxlKiBwYXJl
bnRTdHlsZSA9IDAsIFJlbmRlclN0eWxlKiBvd25TdHlsZSA9IDApIGNvbnN0OworICAgIFBhc3NS
ZWZQdHI8UmVuZGVyU3R5bGU+IGdldFVuY2FjaGVkUHNldWRvU3R5bGUoY29uc3QgUHNldWRvU3R5
bGVSZXF1ZXN0JiwgUmVuZGVyU3R5bGUqIHBhcmVudFN0eWxlID0gMCwgUmVuZGVyU3R5bGUqIG93
blN0eWxlID0gMCkgY29uc3Q7CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZURyYWdTdGF0
ZShib29sIGRyYWdPbik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJTY3JvbGxiYXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9s
bGJhci5jcHAKaW5kZXggZTZhYTdkNzY0ZTZmMTZlZTZmZTBlOWJjMjNjMDg3NWI3OTQ1YTRiYS4u
MDY5OTUwMmM2NGUxNGYwODZhNzA0NTY1OGI5MDU0NzUyNjlhODkxMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclNjcm9sbGJhci5jcHAKQEAgLTMyLDYgKzMyLDcgQEAKICNp
bmNsdWRlICJSZW5kZXJTY3JvbGxiYXJQYXJ0LmgiCiAjaW5jbHVkZSAiUmVuZGVyU2Nyb2xsYmFy
VGhlbWUuaCIKICNpbmNsdWRlICJTdHlsZUluaGVyaXRlZERhdGEuaCIKKyNpbmNsdWRlICJTdHls
ZVJlc29sdmVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTQ1LDMwICsxNDYsMTIg
QEAgdm9pZCBSZW5kZXJTY3JvbGxiYXI6OnNldFByZXNzZWRQYXJ0KFNjcm9sbGJhclBhcnQgcGFy
dCkKICAgICB1cGRhdGVTY3JvbGxiYXJQYXJ0KFRyYWNrQkdQYXJ0KTsKIH0KIAotc3RhdGljIFNj
cm9sbGJhclBhcnQgc19zdHlsZVJlc29sdmVQYXJ0Owotc3RhdGljIFJlbmRlclNjcm9sbGJhciog
c19zdHlsZVJlc29sdmVTY3JvbGxiYXI7Ci0KLVJlbmRlclNjcm9sbGJhciogUmVuZGVyU2Nyb2xs
YmFyOjpzY3JvbGxiYXJGb3JTdHlsZVJlc29sdmUoKQotewotICAgIHJldHVybiBzX3N0eWxlUmVz
b2x2ZVNjcm9sbGJhcjsKLX0KLQotU2Nyb2xsYmFyUGFydCBSZW5kZXJTY3JvbGxiYXI6OnBhcnRG
b3JTdHlsZVJlc29sdmUoKQotewotICAgIHJldHVybiBzX3N0eWxlUmVzb2x2ZVBhcnQ7Ci19Ci0K
IFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IFJlbmRlclNjcm9sbGJhcjo6Z2V0U2Nyb2xsYmFyUHNl
dWRvU3R5bGUoU2Nyb2xsYmFyUGFydCBwYXJ0VHlwZSwgUHNldWRvSWQgcHNldWRvSWQpCiB7CiAg
ICAgaWYgKCFvd25pbmdSZW5kZXJlcigpKQogICAgICAgICByZXR1cm4gMDsKIAotICAgIHNfc3R5
bGVSZXNvbHZlUGFydCA9IHBhcnRUeXBlOwotICAgIHNfc3R5bGVSZXNvbHZlU2Nyb2xsYmFyID0g
dGhpczsKLSAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IHJlc3VsdCA9IG93bmluZ1JlbmRlcmVyKCkt
PmdldFVuY2FjaGVkUHNldWRvU3R5bGUocHNldWRvSWQsIG93bmluZ1JlbmRlcmVyKCktPnN0eWxl
KCkpOwotICAgIHNfc3R5bGVSZXNvbHZlUGFydCA9IE5vUGFydDsKLSAgICBzX3N0eWxlUmVzb2x2
ZVNjcm9sbGJhciA9IDA7Ci0KKyAgICBSZWZQdHI8UmVuZGVyU3R5bGU+IHJlc3VsdCA9IG93bmlu
Z1JlbmRlcmVyKCktPmdldFVuY2FjaGVkUHNldWRvU3R5bGUoUHNldWRvU3R5bGVSZXF1ZXN0KHBz
ZXVkb0lkLCB0aGlzLCBwYXJ0VHlwZSksIG93bmluZ1JlbmRlcmVyKCktPnN0eWxlKCkpOwogICAg
IC8vIFNjcm9sbGJhcnMgZm9yIHJvb3QgZnJhbWVzIHNob3VsZCBhbHdheXMgaGF2ZSBiYWNrZ3Jv
dW5kIGNvbG9yIAogICAgIC8vIHVubGVzcyBleHBsaWNpdGx5IHNwZWNpZmllZCBhcyB0cmFuc3Bh
cmVudC4gU28gd2UgZm9yY2UgaXQuCiAgICAgLy8gVGhpcyBpcyBiZWNhdXNlIFdlYktpdCBhc3N1
bWVzIHNjcm9sbGJhciB0byBiZSBhbHdheXMgcGFpbnRlZCBhbmQgbWlzc2luZyBiYWNrZ3JvdW5k
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyU2Nyb2xsYmFyLmgKaW5kZXggOTE4ZWVl
MGE5MTZmODRiYTk2NzE2NTM3Y2Q1MjM2Njg3NWJjOTg1ZS4uNDk2YjE3ZWI4MDhkMTNjNjlmNmQw
ZGJmZGY2NjRkMzRiMjU2NTMzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclNjcm9sbGJhci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJT
Y3JvbGxiYXIuaApAQCAtNDcsOSArNDcsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8U2Nyb2xsYmFyPiBjcmVhdGVDdXN0b21TY3JvbGxiYXIoU2Nyb2xsYWJsZUFyZWEqLCBTY3Jv
bGxiYXJPcmllbnRhdGlvbiwgTm9kZSosIEZyYW1lKiBvd25pbmdGcmFtZSA9IDApOwogICAgIHZp
cnR1YWwgflJlbmRlclNjcm9sbGJhcigpOwogCi0gICAgc3RhdGljIFNjcm9sbGJhclBhcnQgcGFy
dEZvclN0eWxlUmVzb2x2ZSgpOwotICAgIHN0YXRpYyBSZW5kZXJTY3JvbGxiYXIqIHNjcm9sbGJh
ckZvclN0eWxlUmVzb2x2ZSgpOwotCiAgICAgUmVuZGVyQm94KiBvd25pbmdSZW5kZXJlcigpIGNv
bnN0OwogCiAgICAgdm9pZCBwYWludFBhcnQoR3JhcGhpY3NDb250ZXh0KiwgU2Nyb2xsYmFyUGFy
dCwgY29uc3QgSW50UmVjdCYpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>