<?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>108388</bug_id>
          
          <creation_ts>2013-01-30 14:53:45 -0800</creation_ts>
          <short_desc>[BlackBerry] store proxy and host auth credentials separately</short_desc>
          <delta_ts>2013-01-30 17:27:58 -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>Page Loading</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="Joe Mason">joenotcharles</reporter>
          <assigned_to name="Joe Mason">joenotcharles</assigned_to>
          <cc>mifenton</cc>
    
    <cc>rwlbuis</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yong.li.webkit</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>820629</commentid>
    <comment_count>0</comment_count>
    <who name="Joe Mason">joenotcharles</who>
    <bug_when>2013-01-30 14:53:45 -0800</bug_when>
    <thetext>The platform layer NetworkRequest object has been updated to take both host and proxy credentials in the same request. To support this the webkit layer must be updated to pass both sets of credentials at the same time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820632</commentid>
    <comment_count>1</comment_count>
      <attachid>185586</attachid>
    <who name="Joe Mason">joenotcharles</who>
    <bug_when>2013-01-30 14:55:44 -0800</bug_when>
    <thetext>Created attachment 185586
fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820642</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-30 15:01:31 -0800</bug_when>
    <thetext>Attachment 185586 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;Source/WebCore/ChangeLog&apos;, u&apos;Source/WebCore/platform/network/ResourceHandleInternal.h&apos;, u&apos;Source/WebCore/platform/network/blackberry/AuthenticationChallenge.h&apos;, u&apos;Source/WebCore/platform/network/blackberry/NetworkJob.cpp&apos;, u&apos;Source/WebCore/platform/network/blackberry/NetworkJob.h&apos;, u&apos;Source/WebCore/platform/network/blackberry/NetworkManager.cpp&apos;]&quot; exit_code: 1
Source/WebCore/platform/network/blackberry/NetworkJob.h:77:  When wrapping a line, only indent 4 spaces.  [whitespace/indent] [3]
Source/WebCore/platform/network/blackberry/NetworkJob.cpp:353:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/platform/network/blackberry/NetworkJob.cpp:354:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/platform/network/blackberry/NetworkJob.cpp:355:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Source/WebCore/platform/network/blackberry/NetworkJob.cpp:356:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 5 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820644</commentid>
    <comment_count>3</comment_count>
      <attachid>185586</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2013-01-30 15:01:56 -0800</bug_when>
    <thetext>Comment on attachment 185586
fix

r+ based on Leo&apos;s review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820647</commentid>
    <comment_count>4</comment_count>
      <attachid>185586</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2013-01-30 15:02:28 -0800</bug_when>
    <thetext>Comment on attachment 185586
fix

oops. style error?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820653</commentid>
    <comment_count>5</comment_count>
    <who name="Joe Mason">joenotcharles</who>
    <bug_when>2013-01-30 15:04:46 -0800</bug_when>
    <thetext>Weird, check-webkit-style locally didn&apos;t catch it.

I&apos;ll fix and resubmit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820660</commentid>
    <comment_count>6</comment_count>
      <attachid>185592</attachid>
    <who name="Joe Mason">joenotcharles</who>
    <bug_when>2013-01-30 15:08:48 -0800</bug_when>
    <thetext>Created attachment 185592
fixed style</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820855</commentid>
    <comment_count>7</comment_count>
      <attachid>185592</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-30 17:27:54 -0800</bug_when>
    <thetext>Comment on attachment 185592
fixed style

Clearing flags on attachment: 185592

Committed r141350: &lt;http://trac.webkit.org/changeset/141350&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>820856</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-30 17:27:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185586</attachid>
            <date>2013-01-30 14:55:44 -0800</date>
            <delta_ts>2013-01-30 15:08:48 -0800</delta_ts>
            <desc>fix</desc>
            <filename>0001-BlackBerry-Store-both-proxy-and-host-credentials-sim.patch</filename>
            <type>text/plain</type>
            <size>27244</size>
            <attacher name="Joe Mason">joenotcharles</attacher>
            
              <data encoding="base64">RnJvbSBlOWFmMDRlNjYxMjIxZTg3MDY0Zjk1NzljNTYzNjE0ZGQ0YjU0ODNmIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2UgTWFzb24gPGptYXNvbkByaW0uY29tPgpEYXRlOiBXZWQs
IDMwIEphbiAyMDEzIDE3OjUxOjA3IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gW0JsYWNrQmVycnld
IFN0b3JlIGJvdGggcHJveHkgYW5kIGhvc3QgY3JlZGVudGlhbHMKIHNpbXVsdGFuZW91c2x5IGZv
ciBOZXR3b3JrSm9iCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA4
Mzg4CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClRoZSBwbGF0Zm9ybSBOZXR3b3JrUmVx
dWVzdCBpbnRlcmZhY2UgaGFzIGJlZW4gdXBkYXRlZCBhZ2FpbiwgdG8gc3RvcmUgYm90aCBhIHBy
b3h5IGFuZCBob3N0CmNyZWRlbnRpYWwgZm9yIGVhY2ggcmVxdWVzdCAodG8gcHJldmVudCBhbiBp
bmZpbml0ZSBsb29wIHdoZW4gYSByZXF1ZXN0IGF1dGhlbnRpY2F0ZXMgYWdhaW5zdCBhCnByb3h5
IGJ1dCBmYWlscyB0aGUgaG9zdCBhdXRoZW50aWNhdGlvbiwgYW5kIHRoZW4gdGhlIGZvbGxvd3Vw
IGNvbnRhaW5zIHRoZSBob3N0IGNyZWRlbnRpYWwgYnV0IG5vdAp0aGUgcHJveHkgY3JlZGVudGlh
bCBzbyBpdCBmYWlscyBwcm94eSBhdXRoZW50aWNhdGlvbiwgc28gdGhlIG5leHQgZm9sbG93dXAg
Y29udGFpbnMgdGhlIHByb3h5CmNyZWRlbnRpYWwgYnV0IG5vdCB0aGUgaG9zdCBjcmVkZW50aWFs
Li4uKQoKQ29tcGx5aW5nIHdpdGggdGhlIG5ldyBpbnRlcmZhY2UgcmVxdWlyZXMgdGhlIGhvc3Qg
YW5kIHByb3h5IGNoYWxsZW5nZSB0byBiZSBzdG9yZWQgc2VwYXJhdGVseSBpbgp3ZWJraXQgc28g
dGhleSBjYW4gYm90aCBiZSBhZGRlZCB0byB0aGUgc2FtZSBOZXR3b3JrUmVxdWVzdC4KCkludGVy
bmFsIFBSOiAyODExNzIKSW50ZXJuYWwgUmV2aWV3ZXI6IExlbyBZYW5nCgoqIHBsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oOgooUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCk6
CiogcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg6
CihXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTo6aGFzQ3JlZGVudGlhbHMpOgooQXV0
aGVudGljYXRpb25DaGFsbGVuZ2UpOgoqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3
b3JrSm9iLmNwcDoKKFdlYkNvcmU6Ok5ldHdvcmtKb2I6Om5vdGlmeUF1dGhSZWNlaXZlZCk6CihX
ZWJDb3JlOjpOZXR3b3JrSm9iOjpoYW5kbGVSZWRpcmVjdCk6CihXZWJDb3JlOjpOZXR3b3JrSm9i
OjpzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFscyk6CihXZWJDb3JlOjpOZXR3b3JrSm9iOjpzdG9y
ZUNyZWRlbnRpYWxzKToKKFdlYkNvcmUpOgooV2ViQ29yZTo6TmV0d29ya0pvYjo6cHVyZ2VDcmVk
ZW50aWFscyk6CihXZWJDb3JlOjpOZXR3b3JrSm9iOjpub3RpZnlDaGFsbGVuZ2VSZXN1bHQpOgoo
V2ViQ29yZTo6TmV0d29ya0pvYjo6dXBkYXRlQ3VycmVudFdlYkNoYWxsZW5nZSk6CiogcGxhdGZv
cm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuaDoKKE5ldHdvcmtKb2IpOgoqIHBsYXRm
b3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrTWFuYWdlci5jcHA6CihXZWJDb3JlOjpzZXRB
dXRoQ3JlZGVudGlhbHMpOgooV2ViQ29yZSk6CihXZWJDb3JlOjpOZXR3b3JrTWFuYWdlcjo6c3Rh
cnRKb2IpOgotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICA0MCArKysrKysKIC4uLi9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxl
SW50ZXJuYWwuaCAgICAgIHwgICAgNiArCiAuLi4vbmV0d29yay9ibGFja2JlcnJ5L0F1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlLmggICB8ICAgIDcgKwogLi4uL3BsYXRmb3JtL25ldHdvcmsvYmxhY2ti
ZXJyeS9OZXR3b3JrSm9iLmNwcCAgICAgfCAgMTI5ICsrKysrKysrKysrKy0tLS0tLS0KIC4uLi9w
bGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5oICAgICAgIHwgICAxNCArKy0K
IC4uLi9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya01hbmFnZXIuY3BwIHwgIDEz
OCArKysrKysrKysrKy0tLS0tLS0tLQogNiBmaWxlcyBjaGFuZ2VkLCAyMjUgaW5zZXJ0aW9ucygr
KSwgMTA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4ODg5ZTY4Li4xMmE4ZTA4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsNDUgQEAKIDIwMTMtMDEtMzAgIEpvZSBNYXNvbiAgPGptYXNvbkBy
aW0uY29tPgogCisgICAgICAgIFtCbGFja0JlcnJ5XSBTdG9yZSBib3RoIHByb3h5IGFuZCBob3N0
IGNyZWRlbnRpYWxzIHNpbXVsdGFuZW91c2x5IGZvciBOZXR3b3JrSm9iCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDgzODgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgcGxhdGZvcm0gTmV0d29ya1Jl
cXVlc3QgaW50ZXJmYWNlIGhhcyBiZWVuIHVwZGF0ZWQgYWdhaW4sIHRvIHN0b3JlIGJvdGggYSBw
cm94eSBhbmQgaG9zdAorICAgICAgICBjcmVkZW50aWFsIGZvciBlYWNoIHJlcXVlc3QgKHRvIHBy
ZXZlbnQgYW4gaW5maW5pdGUgbG9vcCB3aGVuIGEgcmVxdWVzdCBhdXRoZW50aWNhdGVzIGFnYWlu
c3QgYQorICAgICAgICBwcm94eSBidXQgZmFpbHMgdGhlIGhvc3QgYXV0aGVudGljYXRpb24sIGFu
ZCB0aGVuIHRoZSBmb2xsb3d1cCBjb250YWlucyB0aGUgaG9zdCBjcmVkZW50aWFsIGJ1dCBub3QK
KyAgICAgICAgdGhlIHByb3h5IGNyZWRlbnRpYWwgc28gaXQgZmFpbHMgcHJveHkgYXV0aGVudGlj
YXRpb24sIHNvIHRoZSBuZXh0IGZvbGxvd3VwIGNvbnRhaW5zIHRoZSBwcm94eQorICAgICAgICBj
cmVkZW50aWFsIGJ1dCBub3QgdGhlIGhvc3QgY3JlZGVudGlhbC4uLikKKworICAgICAgICBDb21w
bHlpbmcgd2l0aCB0aGUgbmV3IGludGVyZmFjZSByZXF1aXJlcyB0aGUgaG9zdCBhbmQgcHJveHkg
Y2hhbGxlbmdlIHRvIGJlIHN0b3JlZCBzZXBhcmF0ZWx5IGluCisgICAgICAgIHdlYmtpdCBzbyB0
aGV5IGNhbiBib3RoIGJlIGFkZGVkIHRvIHRoZSBzYW1lIE5ldHdvcmtSZXF1ZXN0LgorCisgICAg
ICAgIEludGVybmFsIFBSOiAyODExNzIKKyAgICAgICAgSW50ZXJuYWwgUmV2aWV3ZXI6IExlbyBZ
YW5nCisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50ZXJuYWwu
aDoKKyAgICAgICAgKFJlc291cmNlSGFuZGxlSW50ZXJuYWwpOgorICAgICAgICAqIHBsYXRmb3Jt
L25ldHdvcmsvYmxhY2tiZXJyeS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oOgorICAgICAgICAo
V2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2U6Omhhc0NyZWRlbnRpYWxzKToKKyAgICAg
ICAgKEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3Jr
L2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9i
Ojpub3RpZnlBdXRoUmVjZWl2ZWQpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6aGFu
ZGxlUmVkaXJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6c2VuZFJlcXVlc3RX
aXRoQ3JlZGVudGlhbHMpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6c3RvcmVDcmVk
ZW50aWFscyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtK
b2I6OnB1cmdlQ3JlZGVudGlhbHMpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6bm90
aWZ5Q2hhbGxlbmdlUmVzdWx0KToKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6OnVwZGF0
ZUN1cnJlbnRXZWJDaGFsbGVuZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2ti
ZXJyeS9OZXR3b3JrSm9iLmg6CisgICAgICAgIChOZXR3b3JrSm9iKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya01hbmFnZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6c2V0QXV0aENyZWRlbnRpYWxzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6TmV0d29ya01hbmFnZXI6OnN0YXJ0Sm9iKToKKworMjAxMy0wMS0zMCAgSm9lIE1h
c29uICA8am1hc29uQHJpbS5jb20+CisKICAgICAgICAgW0JsYWNrQmVycnldIE5ldmVyIHN0b3Jl
IGVtcHR5IGNyZWRlbnRpYWxzIGluIE5ldHdvcmtKb2I6OnN0b3JlQ3JlZGVudGlhbHMKICAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODM4NwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxlSW50
ZXJuYWwuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJ
bnRlcm5hbC5oCmluZGV4IGVjZjY0OGYuLjJhYzFmNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oCkBAIC0y
MDQsNiArMjA0LDEyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgTlNVUkxBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSAqbV9jdXJyZW50TWFjQ2hhbGxlbmdlOwogI2VuZGlmCiAgICAgICAg
IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIG1fY3VycmVudFdlYkNoYWxsZW5nZTsKKyNpZiBQTEFU
Rk9STShCTEFDS0JFUlJZKQorICAgICAgICAvLyBXZSBuZWVkIHRvIHN0b3JlIHRoZSBjcmVkZW50
aWFscyBmb3IgaG9zdCBhbmQgcHJveHkgc2VwYXJhdGVseSBmb3IgdGhlIHBsYXRmb3JtCisgICAg
ICAgIC8vIG5ldHdvcmtpbmcgbGF5ZXIuIE9uZSBvZiB0aGVzZSB3aWxsIGFsd2F5cyBiZSBlcXVh
bCB0byBtX2N1cnJlbnRXZWJDaGFsbGVuZ2UuCisgICAgICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlIG1faG9zdFdlYkNoYWxsZW5nZTsKKyAgICAgICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2Ug
bV9wcm94eVdlYkNoYWxsZW5nZTsKKyNlbmRpZgogCiAgICAgICAgIFJlc291cmNlSGFuZGxlOjpG
YWlsdXJlVHlwZSBtX3NjaGVkdWxlZEZhaWx1cmVUeXBlOwogICAgICAgICBUaW1lcjxSZXNvdXJj
ZUhhbmRsZT4gbV9mYWlsdXJlVGltZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvQXV0aGVudGljYXRpb25DaGFsbGVuZ2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9BdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZS5oCmluZGV4IGQxZDlhNzUuLmM4ZDBjYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9BdXRoZW50aWNh
dGlvbkNoYWxsZW5nZS5oCkBAIC0zOSw2ICszOSwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRT
dG9yZWQoYm9vbCBpc1N0b3JlZCkgeyBtX2lzU3RvcmVkID0gaXNTdG9yZWQ7IH0KICAgICBib29s
IGlzU3RvcmVkKCkgY29uc3QgeyByZXR1cm4gbV9pc1N0b3JlZDsgfQogCisgICAgYm9vbCBoYXND
cmVkZW50aWFscygpIGNvbnN0CisgICAgeworICAgICAgICBpZiAoaXNOdWxsKCkpCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiAhcHJvcG9zZWRDcmVkZW50aWFsKCku
aXNFbXB0eSgpOworICAgIH0KKwogcHJpdmF0ZToKICAgICAvLyBEZXNjcmliZXMgaWYgYXR0YWNo
ZWQgY3JlZGVudGlhbHMgYXJlIHN0b3JlZCBpbiBDcmVkZW50aWFsU3RvcmFnZS4KICAgICBib29s
IG1faXNTdG9yZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAKaW5kZXggMTA5YTJhZC4uNzI2ZjdhZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdv
cmtKb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJy
eS9OZXR3b3JrSm9iLmNwcApAQCAtNDQsNiArNDQsOCBAQAogI2luY2x1ZGUgPG5ldHdvcmsvTXVs
dGlwYXJ0U3RyZWFtLmg+CiAjaW5jbHVkZSA8bmV0d29yay9OZXR3b3JrU3RyZWFtRmFjdG9yeS5o
PgogCit1c2luZyBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q7CisKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogc3RhdGljIGNvbnN0IGludCBzX3JlZGlyZWN0TWF4aW11bSA9IDEw
OwpAQCAtMjY4LDMyICsyNzAsNDUgQEAgdm9pZCBOZXR3b3JrSm9iOjpub3RpZnlNdWx0aXBhcnRI
ZWFkZXJSZWNlaXZlZChjb25zdCBjaGFyKiBrZXksIGNvbnN0IGNoYXIqIHZhbHUKICAgICAgICAg
aGFuZGxlTm90aWZ5TXVsdGlwYXJ0SGVhZGVyUmVjZWl2ZWQoa2V5LCB2YWx1ZSk7CiB9CiAKLXZv
aWQgTmV0d29ya0pvYjo6bm90aWZ5QXV0aFJlY2VpdmVkKEJsYWNrQmVycnk6OlBsYXRmb3JtOjpO
ZXR3b3JrUmVxdWVzdDo6QXV0aFR5cGUgYXV0aFR5cGUsIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpO
ZXR3b3JrUmVxdWVzdDo6QXV0aFNjaGVtZSBhdXRoU2NoZW1lLCBjb25zdCBjaGFyKiByZWFsbSwg
QXV0aFJlc3VsdCByZXN1bHQsIGJvb2wgcmVxdWlyZUNyZWRlbnRpYWxzKQordm9pZCBOZXR3b3Jr
Sm9iOjpub3RpZnlBdXRoUmVjZWl2ZWQoTmV0d29ya1JlcXVlc3Q6OkF1dGhUeXBlIGF1dGhUeXBl
LCBOZXR3b3JrUmVxdWVzdDo6QXV0aFByb3RvY29sIGF1dGhQcm90b2NvbCwgTmV0d29ya1JlcXVl
c3Q6OkF1dGhTY2hlbWUgYXV0aFNjaGVtZSwgY29uc3QgY2hhciogcmVhbG0sIEF1dGhSZXN1bHQg
cmVzdWx0LCBib29sIHJlcXVpcmVDcmVkZW50aWFscykKIHsKLSAgICB1c2luZyBCbGFja0JlcnJ5
OjpQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q7Ci0KICAgICBQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJU
eXBlIHNlcnZlclR5cGU7CiAgICAgc3dpdGNoIChhdXRoVHlwZSkgewotICAgIGNhc2UgTmV0d29y
a1JlcXVlc3Q6OkF1dGhUeXBlSFRUUDoKLSAgICAgICAgc2VydmVyVHlwZSA9IFByb3RlY3Rpb25T
cGFjZVNlcnZlckhUVFA7Ci0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgTmV0d29ya1JlcXVlc3Q6
OkF1dGhUeXBlSFRUUFM6Ci0gICAgICAgIHNlcnZlclR5cGUgPSBQcm90ZWN0aW9uU3BhY2VTZXJ2
ZXJIVFRQUzsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBOZXR3b3JrUmVxdWVzdDo6QXV0aFR5
cGVGVFA6Ci0gICAgICAgIHNlcnZlclR5cGUgPSBQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJGVFA7Ci0g
ICAgICAgIGJyZWFrOwotICAgIGNhc2UgTmV0d29ya1JlcXVlc3Q6OkF1dGhUeXBlRlRQUzoKLSAg
ICAgICAgc2VydmVyVHlwZSA9IFByb3RlY3Rpb25TcGFjZVNlcnZlckZUUFM7Ci0gICAgICAgIGJy
ZWFrOwotICAgIGNhc2UgTmV0d29ya1JlcXVlc3Q6OkF1dGhUeXBlUHJveHlIVFRQOgotICAgICAg
ICBzZXJ2ZXJUeXBlID0gUHJvdGVjdGlvblNwYWNlUHJveHlIVFRQOwotICAgICAgICBicmVhazsK
LSAgICBjYXNlIE5ldHdvcmtSZXF1ZXN0OjpBdXRoVHlwZVByb3h5SFRUUFM6Ci0gICAgICAgIHNl
cnZlclR5cGUgPSBQcm90ZWN0aW9uU3BhY2VQcm94eUhUVFBTOworICAgIGNhc2UgTmV0d29ya1Jl
cXVlc3Q6OkF1dGhUeXBlSG9zdDoKKyAgICAgICAgc3dpdGNoIChhdXRoUHJvdG9jb2wpIHsKKyAg
ICAgICAgY2FzZSBOZXR3b3JrUmVxdWVzdDo6QXV0aFByb3RvY29sSFRUUDoKKyAgICAgICAgICAg
IHNlcnZlclR5cGUgPSBQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJIVFRQOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgTmV0d29ya1JlcXVlc3Q6OkF1dGhQcm90b2NvbEhUVFBTOgorICAg
ICAgICAgICAgc2VydmVyVHlwZSA9IFByb3RlY3Rpb25TcGFjZVNlcnZlckhUVFBTOworICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTmV0d29ya1JlcXVlc3Q6OkF1dGhQcm90b2NvbEZU
UDoKKyAgICAgICAgICAgIHNlcnZlclR5cGUgPSBQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJGVFA7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBOZXR3b3JrUmVxdWVzdDo6QXV0aFByb3Rv
Y29sRlRQUzoKKyAgICAgICAgICAgIHNlcnZlclR5cGUgPSBQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJG
VFBTOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAg
ICAgICBicmVhazsKLSAgICBjYXNlIE5ldHdvcmtSZXF1ZXN0OjpBdXRoVHlwZVByb3h5RlRQOgot
ICAgICAgICBzZXJ2ZXJUeXBlID0gUHJvdGVjdGlvblNwYWNlUHJveHlGVFA7CisgICAgY2FzZSBO
ZXR3b3JrUmVxdWVzdDo6QXV0aFR5cGVQcm94eToKKyAgICAgICAgc3dpdGNoIChhdXRoUHJvdG9j
b2wpIHsKKyAgICAgICAgY2FzZSBOZXR3b3JrUmVxdWVzdDo6QXV0aFByb3RvY29sSFRUUDoKKyAg
ICAgICAgICAgIHNlcnZlclR5cGUgPSBQcm90ZWN0aW9uU3BhY2VQcm94eUhUVFA7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBOZXR3b3JrUmVxdWVzdDo6QXV0aFByb3RvY29sSFRU
UFM6CisgICAgICAgICAgICBzZXJ2ZXJUeXBlID0gUHJvdGVjdGlvblNwYWNlUHJveHlIVFRQUzsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIE5ldHdvcmtSZXF1ZXN0OjpBdXRoUHJv
dG9jb2xGVFA6CisgICAgICAgIGNhc2UgTmV0d29ya1JlcXVlc3Q6OkF1dGhQcm90b2NvbEZUUFM6
CisgICAgICAgICAgICBzZXJ2ZXJUeXBlID0gUHJvdGVjdGlvblNwYWNlUHJveHlGVFA7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAgICAgIGJyZWFr
OwogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpAQCAtMzI5LDE2
ICszNDQsMTYgQEAgdm9pZCBOZXR3b3JrSm9iOjpub3RpZnlBdXRoUmVjZWl2ZWQoQmxhY2tCZXJy
eTo6UGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpBdXRoVHkKICAgICAgICAgcHVyZ2VDcmVkZW50
aWFscygpOwogICAgIGVsc2UgewogICAgICAgICAvLyBVcGRhdGUgdGhlIGNyZWRlbnRpYWxzIHRo
YXQgd2lsbCBiZSBzdG9yZWQgdG8gbWF0Y2ggdGhlIHNjaGVtZSB0aGF0IHdhcyBhY3R1YWxseSB1
c2VkCi0gICAgICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBjaGFsbGVuZ2UgPSBtX2hhbmRs
ZS0+Z2V0SW50ZXJuYWwoKS0+bV9jdXJyZW50V2ViQ2hhbGxlbmdlOwotICAgICAgICBpZiAoIWNo
YWxsZW5nZS5pc051bGwoKSkgeworICAgICAgICBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgY2hh
bGxlbmdlID0gYXV0aFR5cGUgPT0gTmV0d29ya1JlcXVlc3Q6OkF1dGhUeXBlUHJveHkgPyBtX2hh
bmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9wcm94eVdlYkNoYWxsZW5nZSA6IG1faGFuZGxlLT5nZXRJ
bnRlcm5hbCgpLT5tX2hvc3RXZWJDaGFsbGVuZ2U7CisgICAgICAgIGlmIChjaGFsbGVuZ2UuaGFz
Q3JlZGVudGlhbHMoKSkgewogICAgICAgICAgICAgY29uc3QgUHJvdGVjdGlvblNwYWNlJiBvbGRT
cGFjZSA9IGNoYWxsZW5nZS5wcm90ZWN0aW9uU3BhY2UoKTsKICAgICAgICAgICAgIGlmIChvbGRT
cGFjZS5hdXRoZW50aWNhdGlvblNjaGVtZSgpICE9IHNjaGVtZSAmJiBvbGRTcGFjZS5zZXJ2ZXJU
eXBlKCkgPT0gc2VydmVyVHlwZSkgewogICAgICAgICAgICAgICAgIFByb3RlY3Rpb25TcGFjZSBu
ZXdTcGFjZShvbGRTcGFjZS5ob3N0KCksIG9sZFNwYWNlLnBvcnQoKSwgb2xkU3BhY2Uuc2VydmVy
VHlwZSgpLCBvbGRTcGFjZS5yZWFsbSgpLCBzY2hlbWUpOwotICAgICAgICAgICAgICAgIG1faGFu
ZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UgPSBBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZShuZXdTcGFjZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hh
bGxlbmdlLnByb3Bvc2VkQ3JlZGVudGlhbCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjaGFsbGVuZ2UucHJldmlvdXNGYWlsdXJlQ291bnQoKSwKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY2hhbGxlbmdlLmZhaWx1cmVSZXNwb25zZSgpLAotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjaGFsbGVuZ2UuZXJyb3IoKSk7CisgICAgICAgICAgICAgICAg
dXBkYXRlQ3VycmVudFdlYkNoYWxsZW5nZShBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShuZXdTcGFj
ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGNoYWxsZW5nZS5wcm9wb3NlZENyZWRlbnRpYWwoKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNo
YWxsZW5nZS5wcmV2aW91c0ZhaWx1cmVDb3VudCgpLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbGxlbmdlLmZhaWx1
cmVSZXNwb25zZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY2hhbGxlbmdlLmVycm9yKCkpKTsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgICAgICBzdG9yZUNyZWRlbnRpYWxzKCk7CkBAIC02NTMsMTIgKzY2
OCwxMyBAQCBib29sIE5ldHdvcmtKb2I6OmhhbmRsZVJlZGlyZWN0KCkKICAgICAgICAgbmV3UmVx
dWVzdC5jbGVhckhUVFBDb250ZW50VHlwZSgpOwogICAgIH0KIAotICAgIGlmICghbV9oYW5kbGUt
PmdldEludGVybmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZS5pc051bGwoKSkgewotICAgICAg
ICAvLyBJZiB0aGlzIHJlcXVlc3QgaXMgY2hhbGxlbmdlZCwgc3RvcmUgdGhlIGNyZWRlbnRpYWxz
IG5vdyBiZWNhdXNlIHRoZSBjcmVkZW50aWFsIGlzIGNvcnJlY3QgKG90aGVyd2lzZSwgaXQgd29u
J3QgZ2V0IGhlcmUpLgotICAgICAgICBzdG9yZUNyZWRlbnRpYWxzKCk7Ci0gICAgICAgIC8vIERv
IG5vdCBzZW5kIGV4aXN0aW5nIGNyZWRlbnRpYWxzIHdpdGggdGhlIG5ldyByZXF1ZXN0LgotICAg
ICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9jdXJyZW50V2ViQ2hhbGxlbmdlLm51bGxp
ZnkoKTsKLSAgICB9CisgICAgLy8gSWYgdGhpcyByZXF1ZXN0IGlzIGNoYWxsZW5nZWQsIHN0b3Jl
IHRoZSBjcmVkZW50aWFscyBub3cgKGlmIHRoZXkgYXJlIG51bGwgdGhpcyB3aWxsIGRvIG5vdGhp
bmcpCisgICAgc3RvcmVDcmVkZW50aWFscygpOworCisgICAgLy8gRG8gbm90IHNlbmQgZXhpc3Rp
bmcgY3JlZGVudGlhbHMgd2l0aCB0aGUgbmV3IHJlcXVlc3QuCisgICAgbV9oYW5kbGUtPmdldElu
dGVybmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZS5udWxsaWZ5KCk7CisgICAgbV9oYW5kbGUt
PmdldEludGVybmFsKCktPm1fcHJveHlXZWJDaGFsbGVuZ2UubnVsbGlmeSgpOworICAgIG1faGFu
ZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2hvc3RXZWJDaGFsbGVuZ2UubnVsbGlmeSgpOwogCiAgICAg
cmV0dXJuIHN0YXJ0TmV3Sm9iV2l0aFJlcXVlc3QobmV3UmVxdWVzdCwgdHJ1ZSk7CiB9CkBAIC04
MTcsMTYgKzgzMywxNiBAQCBib29sIE5ldHdvcmtKb2I6OnNlbmRSZXF1ZXN0V2l0aENyZWRlbnRp
YWxzKFByb3RlY3Rpb25TcGFjZVNlcnZlclR5cGUgdHlwZSwgUHJvdAogICAgIENyZWRlbnRpYWwg
Y3JlZGVudGlhbDsKICAgICBpZiAoIXJlcXVpcmVDcmVkZW50aWFscykgewogICAgICAgICAvLyBE
b24ndCBvdmVyd3JpdGUgYW55IGV4aXN0aW5nIGNyZWRlbnRpYWxzIHdpdGggdGhlIGVtcHR5IGNy
ZWRlbnRpYWwKLSAgICAgICAgaWYgKG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRX
ZWJDaGFsbGVuZ2UuaXNOdWxsKCkpCi0gICAgICAgICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwo
KS0+bV9jdXJyZW50V2ViQ2hhbGxlbmdlID0gQXV0aGVudGljYXRpb25DaGFsbGVuZ2UocHJvdGVj
dGlvblNwYWNlLCBjcmVkZW50aWFsLCAwLCBtX3Jlc3BvbnNlLCBSZXNvdXJjZUVycm9yKCkpOwor
ICAgICAgICB1cGRhdGVDdXJyZW50V2ViQ2hhbGxlbmdlKEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
KHByb3RlY3Rpb25TcGFjZSwgY3JlZGVudGlhbCwgMCwgbV9yZXNwb25zZSwgUmVzb3VyY2VFcnJv
cigpKSwgLyogYWxsb3dPdmVyd3JpdGUgKi8gZmFsc2UpOwogICAgIH0gZWxzZSBpZiAoIShjcmVk
ZW50aWFsID0gQ3JlZGVudGlhbFN0b3JhZ2U6OmdldChwcm90ZWN0aW9uU3BhY2UpKS5pc0VtcHR5
KCkKICNpZiBFTkFCTEUoQkxBQ0tCRVJSWV9DUkVERU5USUFMX1BFUlNJU1QpCiAgICAgICAgICAg
ICB8fCAhKGNyZWRlbnRpYWwgPSBDcmVkZW50aWFsU3RvcmFnZTo6Z2V0RnJvbVBlcnNpc3RlbnRT
dG9yYWdlKHByb3RlY3Rpb25TcGFjZSkpLmlzRW1wdHkoKQogI2VuZGlmCiAgICAgICAgICAgICAp
IHsKICAgICAgICAgLy8gRmlyc3Qgc2VhcmNoIHRoZSBDcmVkZW50aWFsU3RvcmFnZSBhbmQgUGVy
c2lzdGVudCBDcmVkZW50aWFsIFN0b3JhZ2UKLSAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFs
KCktPm1fY3VycmVudFdlYkNoYWxsZW5nZSA9IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKHByb3Rl
Y3Rpb25TcGFjZSwgY3JlZGVudGlhbCwgMCwgbV9yZXNwb25zZSwgUmVzb3VyY2VFcnJvcigpKTsK
LSAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZS5z
ZXRTdG9yZWQodHJ1ZSk7CisgICAgICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlIGNoYWxsZW5n
ZShwcm90ZWN0aW9uU3BhY2UsIGNyZWRlbnRpYWwsIDAsIG1fcmVzcG9uc2UsIFJlc291cmNlRXJy
b3IoKSk7CisgICAgICAgIGNoYWxsZW5nZS5zZXRTdG9yZWQodHJ1ZSk7CisgICAgICAgIHVwZGF0
ZUN1cnJlbnRXZWJDaGFsbGVuZ2UoY2hhbGxlbmdlKTsKICAgICB9IGVsc2UgewogICAgICAgICBp
ZiAobV9oYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnRhcmdldFR5cGUoKSA9PSBSZXNvdXJjZVJlcXVl
c3Q6OlRhcmdldElzRmF2aWNvbikgewogICAgICAgICAgICAgLy8gVGhlIGZhdmljb24gbG9hZGlu
ZyBpcyB0cmlnZ2VycmVkIGFmdGVyIHRoZSBtYWluIHJlc291cmNlIGhhcyBiZWVuIGxvYWRlZApA
QCAtODU2LDcgKzg3Miw4IEBAIGJvb2wgTmV0d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVu
dGlhbHMoUHJvdGVjdGlvblNwYWNlU2VydmVyVHlwZSB0eXBlLCBQcm90CiAgICAgICAgICAgICBp
ZiAoIW1fZnJhbWUgfHwgIW1fZnJhbWUtPnBhZ2UoKSkKICAgICAgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKLSAgICAgICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRX
ZWJDaGFsbGVuZ2UgPSBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgpOworICAgICAgICAgICAgLy8g
RE8gb3ZlcndyaXRlIGFueSBleGlzdGluZyBjcmVkZW50aWFscyB3aXRoIHRoZSBlbXB0eSBjcmVk
ZW50aWFsCisgICAgICAgICAgICB1cGRhdGVDdXJyZW50V2ViQ2hhbGxlbmdlKEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlKHByb3RlY3Rpb25TcGFjZSwgY3JlZGVudGlhbCwgMCwgbV9yZXNwb25zZSwg
UmVzb3VyY2VFcnJvcigpKSk7CiAKICAgICAgICAgICAgIG1faXNBdXRoZW50aWNhdGlvbkNoYWxs
ZW5naW5nID0gdHJ1ZTsKICAgICAgICAgICAgIHVwZGF0ZURlZmVyTG9hZGluZ0NvdW50KDEpOwpA
QCAtODY4LDcgKzg4NSw3IEBAIGJvb2wgTmV0d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVu
dGlhbHMoUHJvdGVjdGlvblNwYWNlU2VydmVyVHlwZSB0eXBlLCBQcm90CiAKICAgICAgICAgY3Jl
ZGVudGlhbCA9IENyZWRlbnRpYWwodXNlcm5hbWUsIHBhc3N3b3JkLCBDcmVkZW50aWFsUGVyc2lz
dGVuY2VGb3JTZXNzaW9uKTsKIAotICAgICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9j
dXJyZW50V2ViQ2hhbGxlbmdlID0gQXV0aGVudGljYXRpb25DaGFsbGVuZ2UocHJvdGVjdGlvblNw
YWNlLCBjcmVkZW50aWFsLCAwLCBtX3Jlc3BvbnNlLCBSZXNvdXJjZUVycm9yKCkpOworICAgICAg
ICB1cGRhdGVDdXJyZW50V2ViQ2hhbGxlbmdlKEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKHByb3Rl
Y3Rpb25TcGFjZSwgY3JlZGVudGlhbCwgMCwgbV9yZXNwb25zZSwgUmVzb3VyY2VFcnJvcigpKSk7
CiAgICAgfQogCiAgICAgbm90aWZ5Q2hhbGxlbmdlUmVzdWx0KG5ld1VSTCwgcHJvdGVjdGlvblNw
YWNlLCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVN1Y2Nlc3MsIGNyZWRlbnRpYWwpOwpAQCAtODgw
LDcgKzg5NywxMiBAQCB2b2lkIE5ldHdvcmtKb2I6OnN0b3JlQ3JlZGVudGlhbHMoKQogICAgIGlm
ICghbV9oYW5kbGUpCiAgICAgICAgIHJldHVybjsKIAotICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlJiBjaGFsbGVuZ2UgPSBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9jdXJyZW50V2ViQ2hh
bGxlbmdlOworICAgIHN0b3JlQ3JlZGVudGlhbHMobV9oYW5kbGUtPmdldEludGVybmFsKCktPm1f
aG9zdFdlYkNoYWxsZW5nZSk7CisgICAgc3RvcmVDcmVkZW50aWFscyhtX2hhbmRsZS0+Z2V0SW50
ZXJuYWwoKS0+bV9wcm94eVdlYkNoYWxsZW5nZSk7Cit9CisKK3ZvaWQgTmV0d29ya0pvYjo6c3Rv
cmVDcmVkZW50aWFscyhBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgY2hhbGxlbmdlKQorewogICAg
IGlmIChjaGFsbGVuZ2UuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtOTIyLDcgKzk0
NCwxMiBAQCB2b2lkIE5ldHdvcmtKb2I6OnB1cmdlQ3JlZGVudGlhbHMoKQogICAgIGlmICghbV9o
YW5kbGUpCiAgICAgICAgIHJldHVybjsKIAotICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBj
aGFsbGVuZ2UgPSBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9jdXJyZW50V2ViQ2hhbGxlbmdl
OworICAgIHB1cmdlQ3JlZGVudGlhbHMobV9oYW5kbGUtPmdldEludGVybmFsKCktPm1faG9zdFdl
YkNoYWxsZW5nZSk7CisgICAgcHVyZ2VDcmVkZW50aWFscyhtX2hhbmRsZS0+Z2V0SW50ZXJuYWwo
KS0+bV9wcm94eVdlYkNoYWxsZW5nZSk7Cit9CisKK3ZvaWQgTmV0d29ya0pvYjo6cHVyZ2VDcmVk
ZW50aWFscyhBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgY2hhbGxlbmdlKQorewogICAgIGlmIChj
aGFsbGVuZ2UuaXNOdWxsKCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtOTc5LDggKzEwMDYsNyBA
QCB2b2lkIE5ldHdvcmtKb2I6Om5vdGlmeUNoYWxsZW5nZVJlc3VsdChjb25zdCBLVVJMJiB1cmws
IGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcAogICAgIGlmIChyZXN1bHQgIT0gQXV0aGVudGljYXRp
b25DaGFsbGVuZ2VTdWNjZXNzKQogICAgICAgICByZXR1cm47CiAKLSAgICBpZiAobV9oYW5kbGUt
PmdldEludGVybmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZS5pc051bGwoKSkKLSAgICAgICAg
bV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZSA9IEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlKHByb3RlY3Rpb25TcGFjZSwgY3JlZGVudGlhbCwgMCwgbV9yZXNwb25z
ZSwgUmVzb3VyY2VFcnJvcigpKTsKKyAgICB1cGRhdGVDdXJyZW50V2ViQ2hhbGxlbmdlKEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlKHByb3RlY3Rpb25TcGFjZSwgY3JlZGVudGlhbCwgMCwgbV9yZXNw
b25zZSwgUmVzb3VyY2VFcnJvcigpKSwgLyogYWxsb3dPdmVyd3JpdGUgKi8gZmFsc2UpOwogCiAg
ICAgUmVzb3VyY2VSZXF1ZXN0IG5ld1JlcXVlc3QgPSBtX2hhbmRsZS0+Zmlyc3RSZXF1ZXN0KCk7
CiAgICAgbmV3UmVxdWVzdC5zZXRVUkwodXJsKTsKQEAgLTEwMDEsNCArMTAyNywxNyBAQCB2b2lk
IE5ldHdvcmtKb2I6OndpbGxEZXRhY2hQYWdlKCkKICAgICAgICAgY2FuY2VsSm9iKCk7CiB9CiAK
K3ZvaWQgTmV0d29ya0pvYjo6dXBkYXRlQ3VycmVudFdlYkNoYWxsZW5nZShjb25zdCBBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSYgY2hhbGxlbmdlLCBib29sIGFsbG93T3ZlcndyaXRlKQoreworICAg
IGlmIChhbGxvd092ZXJ3cml0ZSB8fCAhbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fY3VycmVu
dFdlYkNoYWxsZW5nZS5oYXNDcmVkZW50aWFscygpKQorICAgICAgICBtX2hhbmRsZS0+Z2V0SW50
ZXJuYWwoKS0+bV9jdXJyZW50V2ViQ2hhbGxlbmdlID0gY2hhbGxlbmdlOworICAgIGlmIChjaGFs
bGVuZ2UucHJvdGVjdGlvblNwYWNlKCkuc2VydmVyVHlwZSgpID09IFByb3RlY3Rpb25TcGFjZVBy
b3h5SFRUUCB8fCBjaGFsbGVuZ2UucHJvdGVjdGlvblNwYWNlKCkuc2VydmVyVHlwZSgpID09IFBy
b3RlY3Rpb25TcGFjZVByb3h5SFRUUFMpIHsKKyAgICAgICAgaWYgKGFsbG93T3ZlcndyaXRlIHx8
ICFtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9wcm94eVdlYkNoYWxsZW5nZS5oYXNDcmVkZW50
aWFscygpKQorICAgICAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcHJveHlXZWJD
aGFsbGVuZ2UgPSBjaGFsbGVuZ2U7CisgICAgfSBlbHNlIHsKKyAgICAgICAgaWYgKGFsbG93T3Zl
cndyaXRlIHx8ICFtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9ob3N0V2ViQ2hhbGxlbmdlLmhh
c0NyZWRlbnRpYWxzKCkpCisgICAgICAgICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9o
b3N0V2ViQ2hhbGxlbmdlID0gY2hhbGxlbmdlOworICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFj
a2JlcnJ5L05ldHdvcmtKb2IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxh
Y2tiZXJyeS9OZXR3b3JrSm9iLmgKaW5kZXggNjhiMjE3ZS4uOGI5ODliYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pv
Yi5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCwgMjAx
MSBSZXNlYXJjaCBJbiBNb3Rpb24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAwOSwgMjAxMCwgMjAxMSwgMjAxMiwgMjAxMyBSZXNlYXJjaCBJbiBNb3Rp
b24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCkBAIC03
Myw3ICs3MywxMiBAQCBwdWJsaWM6CiAgICAgdm9pZCBoYW5kbGVOb3RpZnlTdGF0dXNSZWNlaXZl
ZChpbnQgc3RhdHVzLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UpOwogICAgIHZpcnR1YWwgdm9pZCBu
b3RpZnlIZWFkZXJzUmVjZWl2ZWQoY29uc3QgQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok5ldHdvcmtS
ZXF1ZXN0OjpIZWFkZXJMaXN0JiBoZWFkZXJzKTsKICAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5TXVs
dGlwYXJ0SGVhZGVyUmVjZWl2ZWQoY29uc3QgY2hhcioga2V5LCBjb25zdCBjaGFyKiB2YWx1ZSk7
Ci0gICAgdmlydHVhbCB2b2lkIG5vdGlmeUF1dGhSZWNlaXZlZChCbGFja0JlcnJ5OjpQbGF0Zm9y
bTo6TmV0d29ya1JlcXVlc3Q6OkF1dGhUeXBlLCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TmV0d29y
a1JlcXVlc3Q6OkF1dGhTY2hlbWUsIGNvbnN0IGNoYXIqIHJlYWxtLCBBdXRoUmVzdWx0LCBib29s
IHJlcXVpcmVDcmVkZW50aWFscyk7CisgICAgdmlydHVhbCB2b2lkIG5vdGlmeUF1dGhSZWNlaXZl
ZChCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q6OkF1dGhUeXBlLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok5ldHdv
cmtSZXF1ZXN0OjpBdXRoUHJvdG9jb2wsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q6OkF1dGhTY2hlbWUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyKiByZWFsbSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1dGhSZXN1bHQsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHJlcXVpcmVDcmVkZW50aWFscyk7CiAgICAg
Ly8gbm90aWZ5U3RyaW5nSGVhZGVyUmVjZWl2ZWQgZXhpc3RzIG9ubHkgdG8gcmVzb2x2ZSBhbWJp
Z3VpdHkgYmV0d2VlbiBjaGFyKiBhbmQgU3RyaW5nIHBhcmFtZXRlcnMKICAgICB2b2lkIG5vdGlm
eVN0cmluZ0hlYWRlclJlY2VpdmVkKGNvbnN0IFN0cmluZyYga2V5LCBjb25zdCBTdHJpbmcmIHZh
bHVlKTsKICAgICB2b2lkIGhhbmRsZU5vdGlmeUhlYWRlclJlY2VpdmVkKGNvbnN0IFN0cmluZyYg
a2V5LCBjb25zdCBTdHJpbmcmIHZhbHVlKTsKQEAgLTEzNSwxNCArMTQwLDE3IEBAIHByaXZhdGU6
CiAgICAgYm9vbCBzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFscyhQcm90ZWN0aW9uU3BhY2VTZXJ2
ZXJUeXBlLCBQcm90ZWN0aW9uU3BhY2VBdXRoZW50aWNhdGlvblNjaGVtZSwgY29uc3QgU3RyaW5n
JiByZWFsbSwgYm9vbCByZXF1aXJlQ3JlZGVudGlhbHMgPSB0cnVlKTsKIAogICAgIHZvaWQgc3Rv
cmVDcmVkZW50aWFscygpOwotCisgICAgdm9pZCBzdG9yZUNyZWRlbnRpYWxzKEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlJik7CiAgICAgdm9pZCBwdXJnZUNyZWRlbnRpYWxzKCk7CisgICAgdm9pZCBw
dXJnZUNyZWRlbnRpYWxzKEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJik7CiAKICAgICBib29sIGlz
RXJyb3IoaW50IHN0YXR1c0NvZGUpIGNvbnN0CiAgICAgewogICAgICAgICByZXR1cm4gc3RhdHVz
Q29kZSA8IDAgfHwgKDQwMCA8PSBzdGF0dXNDb2RlICYmIHN0YXR1c0NvZGUgPCA2MDApOwogICAg
IH0KIAorICAgIHZvaWQgdXBkYXRlQ3VycmVudFdlYkNoYWxsZW5nZShjb25zdCBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSYsIGJvb2wgYWxsb3dPdmVyd3JpdGUgPSB0cnVlKTsKKwogcHJpdmF0ZToK
ICAgICBpbnQgbV9wbGF5ZXJJZDsKICAgICBTdHJpbmcgbV9wYWdlR3JvdXBOYW1lOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtN
YW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9O
ZXR3b3JrTWFuYWdlci5jcHAKaW5kZXggMjZkZjM1ZC4uNjRhYWE3ZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtNYW5hZ2VyLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29y
a01hbmFnZXIuY3BwCkBAIC0zNCw2ICszNCw4IEBACiAjaW5jbHVkZSA8bmV0d29yay9GaWx0ZXJT
dHJlYW0uaD4KICNpbmNsdWRlIDxuZXR3b3JrL05ldHdvcmtSZXF1ZXN0Lmg+CiAKK3VzaW5nIEJs
YWNrQmVycnk6OlBsYXRmb3JtOjpOZXR3b3JrUmVxdWVzdDsKKwogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBTSU5HTEVUT05fSU5JVElBTElaRVJfVEhSRUFEVU5TQUZFKE5ldHdvcmtNYW5hZ2VyKQpA
QCAtNTUsNiArNTcsNzkgQEAgYm9vbCBOZXR3b3JrTWFuYWdlcjo6c3RhcnRKb2IoaW50IHBsYXll
cklkLCBQYXNzUmVmUHRyPFJlc291cmNlSGFuZGxlPiBqb2IsIGNvbnMKICAgICByZXR1cm4gc3Rh
cnRKb2IocGxheWVySWQsIHBhZ2UtPmdyb3VwTmFtZSgpLCBqb2IsIHJlcXVlc3QsIHN0cmVhbUZh
Y3RvcnksIGZyYW1lLCBkZWZlcnNMb2FkaW5nID8gMSA6IDApOwogfQogCitzdGF0aWMgdm9pZCBz
ZXRBdXRoQ3JlZGVudGlhbHMoTmV0d29ya1JlcXVlc3QmIHBsYXRmb3JtUmVxdWVzdCwgY29uc3Qg
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGNoYWxsZW5nZSkKK3sKKyAgICBpZiAoY2hhbGxlbmdl
LmlzTnVsbCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBDcmVkZW50aWFsIGNyZWRlbnRpYWwg
PSBjaGFsbGVuZ2UucHJvcG9zZWRDcmVkZW50aWFsKCk7CisgICAgY29uc3QgUHJvdGVjdGlvblNw
YWNlJiBwcm90ZWN0aW9uU3BhY2UgPSBjaGFsbGVuZ2UucHJvdGVjdGlvblNwYWNlKCk7CisKKyAg
ICBTdHJpbmcgdXNlcm5hbWUgPSBjcmVkZW50aWFsLnVzZXIoKTsKKyAgICBTdHJpbmcgcGFzc3dv
cmQgPSBjcmVkZW50aWFsLnBhc3N3b3JkKCk7CisKKyAgICBOZXR3b3JrUmVxdWVzdDo6QXV0aFNj
aGVtZSBhdXRoU2NoZW1lID0gTmV0d29ya1JlcXVlc3Q6OkF1dGhTY2hlbWVOb25lOworICAgIHN3
aXRjaCAocHJvdGVjdGlvblNwYWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkpIHsKKyAgICBjYXNl
IFByb3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lRGVmYXVsdDoKKyAgICAgICAgYXV0
aFNjaGVtZSA9IE5ldHdvcmtSZXF1ZXN0OjpBdXRoU2NoZW1lRGVmYXVsdDsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBQcm90ZWN0aW9uU3BhY2VBdXRoZW50aWNhdGlvblNjaGVtZUhUVFBCYXNp
YzoKKyAgICAgICAgYXV0aFNjaGVtZSA9IE5ldHdvcmtSZXF1ZXN0OjpBdXRoU2NoZW1lSFRUUEJh
c2ljOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFByb3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0
aW9uU2NoZW1lSFRUUERpZ2VzdDoKKyAgICAgICAgYXV0aFNjaGVtZSA9IE5ldHdvcmtSZXF1ZXN0
OjpBdXRoU2NoZW1lSFRUUERpZ2VzdDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQcm90ZWN0
aW9uU3BhY2VBdXRoZW50aWNhdGlvblNjaGVtZU5lZ290aWF0ZToKKyAgICAgICAgYXV0aFNjaGVt
ZSA9IE5ldHdvcmtSZXF1ZXN0OjpBdXRoU2NoZW1lTmVnb3RpYXRlOworICAgICAgICBicmVhazsK
KyAgICBjYXNlIFByb3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lTlRMTToKKyAgICAg
ICAgYXV0aFNjaGVtZSA9IE5ldHdvcmtSZXF1ZXN0OjpBdXRoU2NoZW1lTlRMTTsKKyAgICAgICAg
YnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgIGJyZWFrOworICAgIH0KKworICAgIE5ldHdvcmtSZXF1ZXN0OjpBdXRoVHlwZSBhdXRoVHlw
ZSA9IE5ldHdvcmtSZXF1ZXN0OjpBdXRoVHlwZU5vbmU7CisgICAgTmV0d29ya1JlcXVlc3Q6OkF1
dGhQcm90b2NvbCBhdXRoUHJvdG9jb2wgPSBOZXR3b3JrUmVxdWVzdDo6QXV0aFByb3RvY29sTm9u
ZTsKKyAgICBzd2l0Y2ggKHByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpIHsKKyAgICBjYXNl
IFByb3RlY3Rpb25TcGFjZVNlcnZlckhUVFA6CisgICAgICAgIGF1dGhUeXBlID0gTmV0d29ya1Jl
cXVlc3Q6OkF1dGhUeXBlSG9zdDsKKyAgICAgICAgYXV0aFByb3RvY29sID0gTmV0d29ya1JlcXVl
c3Q6OkF1dGhQcm90b2NvbEhUVFA7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUHJvdGVjdGlv
blNwYWNlU2VydmVySFRUUFM6CisgICAgICAgIGF1dGhUeXBlID0gTmV0d29ya1JlcXVlc3Q6OkF1
dGhUeXBlSG9zdDsKKyAgICAgICAgYXV0aFByb3RvY29sID0gTmV0d29ya1JlcXVlc3Q6OkF1dGhQ
cm90b2NvbEhUVFBTOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFByb3RlY3Rpb25TcGFjZVNl
cnZlckZUUDoKKyAgICAgICAgYXV0aFR5cGUgPSBOZXR3b3JrUmVxdWVzdDo6QXV0aFR5cGVIb3N0
OworICAgICAgICBhdXRoUHJvdG9jb2wgPSBOZXR3b3JrUmVxdWVzdDo6QXV0aFByb3RvY29sRlRQ
OworICAgICAgICBicmVhazsKKyAgICBjYXNlIFByb3RlY3Rpb25TcGFjZVNlcnZlckZUUFM6Cisg
ICAgICAgIGF1dGhUeXBlID0gTmV0d29ya1JlcXVlc3Q6OkF1dGhUeXBlSG9zdDsKKyAgICAgICAg
YXV0aFByb3RvY29sID0gTmV0d29ya1JlcXVlc3Q6OkF1dGhQcm90b2NvbEZUUFM7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgUHJvdGVjdGlvblNwYWNlUHJveHlIVFRQOgorICAgICAgICBhdXRo
VHlwZSA9IE5ldHdvcmtSZXF1ZXN0OjpBdXRoVHlwZVByb3h5OworICAgICAgICBhdXRoUHJvdG9j
b2wgPSBOZXR3b3JrUmVxdWVzdDo6QXV0aFByb3RvY29sSFRUUDsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBQcm90ZWN0aW9uU3BhY2VQcm94eUhUVFBTOgorICAgICAgICBhdXRoVHlwZSA9IE5l
dHdvcmtSZXF1ZXN0OjpBdXRoVHlwZVByb3h5OworICAgICAgICBhdXRoUHJvdG9jb2wgPSBOZXR3
b3JrUmVxdWVzdDo6QXV0aFByb3RvY29sSFRUUFM7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
UHJvdGVjdGlvblNwYWNlUHJveHlGVFA6CisgICAgICAgIGF1dGhUeXBlID0gTmV0d29ya1JlcXVl
c3Q6OkF1dGhUeXBlUHJveHk7CisgICAgICAgIGF1dGhQcm90b2NvbCA9IE5ldHdvcmtSZXF1ZXN0
OjpBdXRoUHJvdG9jb2xGVFA7CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBpZiAo
YXV0aFR5cGUgIT0gTmV0d29ya1JlcXVlc3Q6OkF1dGhUeXBlTm9uZSAmJiBhdXRoUHJvdG9jb2wg
IT0gTmV0d29ya1JlcXVlc3Q6OkF1dGhQcm90b2NvbE5vbmUgJiYgYXV0aFNjaGVtZSAhPSBOZXR3
b3JrUmVxdWVzdDo6QXV0aFNjaGVtZU5vbmUpCisgICAgICAgIHBsYXRmb3JtUmVxdWVzdC5zZXRD
cmVkZW50aWFscyhhdXRoVHlwZSwgYXV0aFByb3RvY29sLCBhdXRoU2NoZW1lLCB1c2VybmFtZS51
dGY4KCkuZGF0YSgpLCBwYXNzd29yZC51dGY4KCkuZGF0YSgpKTsKK30KKwogYm9vbCBOZXR3b3Jr
TWFuYWdlcjo6c3RhcnRKb2IoaW50IHBsYXllcklkLCBjb25zdCBTdHJpbmcmIHBhZ2VHcm91cE5h
bWUsIFBhc3NSZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGpvYiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0
JiByZXF1ZXN0LCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TmV0d29ya1N0cmVhbUZhY3RvcnkqIHN0
cmVhbUZhY3RvcnksIEZyYW1lKiBmcmFtZSwgaW50IGRlZmVyTG9hZGluZ0NvdW50LCBpbnQgcmVk
aXJlY3RDb3VudCkKIHsKICAgICAvLyBNYWtlIHN1cmUgdGhlIFJlc291cmNlSGFuZGxlIGRvZXNu
J3QgZ28gb3V0IG9mIHNjb3BlIHdoaWxlIGNhbGxpbmcgY2FsbGJhY2tzLgpAQCAtNzgsNjcgKzE1
Myw4IEBAIGJvb2wgTmV0d29ya01hbmFnZXI6OnN0YXJ0Sm9iKGludCBwbGF5ZXJJZCwgY29uc3Qg
U3RyaW5nJiBwYWdlR3JvdXBOYW1lLCBQYXNzUmVmCiAgICAgcGxhdGZvcm1SZXF1ZXN0LnNldFNl
Y3VyaXR5T3JpZ2luKGZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT50b1Jhd1N0
cmluZygpKTsKIAogICAgIC8vIEF0dGFjaCBhbnkgYXBwbGljYWJsZSBhdXRoIGNyZWRlbnRpYWxz
IHRvIHRoZSBOZXR3b3JrUmVxdWVzdC4KLSAgICBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSYgY2hh
bGxlbmdlID0gZ3VhcmRKb2ItPmdldEludGVybmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZTsK
LSAgICBpZiAoIWNoYWxsZW5nZS5pc051bGwoKSkgewotICAgICAgICBDcmVkZW50aWFsIGNyZWRl
bnRpYWwgPSBjaGFsbGVuZ2UucHJvcG9zZWRDcmVkZW50aWFsKCk7Ci0gICAgICAgIGNvbnN0IFBy
b3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlID0gY2hhbGxlbmdlLnByb3RlY3Rpb25TcGFj
ZSgpOwotCi0gICAgICAgIFN0cmluZyB1c2VybmFtZSA9IGNyZWRlbnRpYWwudXNlcigpOwotICAg
ICAgICBTdHJpbmcgcGFzc3dvcmQgPSBjcmVkZW50aWFsLnBhc3N3b3JkKCk7Ci0KLSAgICAgICAg
QmxhY2tCZXJyeTo6UGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpBdXRoVHlwZSBhdXRoVHlwZSA9
IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpOZXR3b3JrUmVxdWVzdDo6QXV0aFR5cGVOb25lOwotICAg
ICAgICBzd2l0Y2ggKHByb3RlY3Rpb25TcGFjZS5zZXJ2ZXJUeXBlKCkpIHsKLSAgICAgICAgY2Fz
ZSBQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJIVFRQOgotICAgICAgICAgICAgYXV0aFR5cGUgPSBCbGFj
a0JlcnJ5OjpQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q6OkF1dGhUeXBlSFRUUDsKLSAgICAgICAg
ICAgIGJyZWFrOwotICAgICAgICBjYXNlIFByb3RlY3Rpb25TcGFjZVNlcnZlckhUVFBTOgotICAg
ICAgICAgICAgYXV0aFR5cGUgPSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q6
OkF1dGhUeXBlSFRUUFM7Ci0gICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBQcm90ZWN0
aW9uU3BhY2VTZXJ2ZXJGVFA6Ci0gICAgICAgICAgICBhdXRoVHlwZSA9IEJsYWNrQmVycnk6OlBs
YXRmb3JtOjpOZXR3b3JrUmVxdWVzdDo6QXV0aFR5cGVGVFA7Ci0gICAgICAgICAgICBicmVhazsK
LSAgICAgICAgY2FzZSBQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJGVFBTOgotICAgICAgICAgICAgYXV0
aFR5cGUgPSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q6OkF1dGhUeXBlRlRQ
UzsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFByb3RlY3Rpb25TcGFjZVByb3h5
SFRUUDoKLSAgICAgICAgICAgIGF1dGhUeXBlID0gQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok5ldHdv
cmtSZXF1ZXN0OjpBdXRoVHlwZVByb3h5SFRUUDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAg
ICBjYXNlIFByb3RlY3Rpb25TcGFjZVByb3h5SFRUUFM6Ci0gICAgICAgICAgICBhdXRoVHlwZSA9
IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpOZXR3b3JrUmVxdWVzdDo6QXV0aFR5cGVQcm94eUhUVFBT
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgUHJvdGVjdGlvblNwYWNlUHJveHlG
VFA6Ci0gICAgICAgICAgICBhdXRoVHlwZSA9IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpOZXR3b3Jr
UmVxdWVzdDo6QXV0aFR5cGVQcm94eUZUUDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBk
ZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgfQotCi0gICAgICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpOZXR3b3Jr
UmVxdWVzdDo6QXV0aFNjaGVtZSBhdXRoU2NoZW1lID0gQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok5l
dHdvcmtSZXF1ZXN0OjpBdXRoU2NoZW1lTm9uZTsKLSAgICAgICAgc3dpdGNoIChwcm90ZWN0aW9u
U3BhY2UuYXV0aGVudGljYXRpb25TY2hlbWUoKSkgewotICAgICAgICBjYXNlIFByb3RlY3Rpb25T
cGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lRGVmYXVsdDoKLSAgICAgICAgICAgIGF1dGhTY2hlbWUg
PSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q6OkF1dGhTY2hlbWVEZWZhdWx0
OwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgUHJvdGVjdGlvblNwYWNlQXV0aGVu
dGljYXRpb25TY2hlbWVIVFRQQmFzaWM6Ci0gICAgICAgICAgICBhdXRoU2NoZW1lID0gQmxhY2tC
ZXJyeTo6UGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpBdXRoU2NoZW1lSFRUUEJhc2ljOwotICAg
ICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgUHJvdGVjdGlvblNwYWNlQXV0aGVudGljYXRp
b25TY2hlbWVIVFRQRGlnZXN0OgotICAgICAgICAgICAgYXV0aFNjaGVtZSA9IEJsYWNrQmVycnk6
OlBsYXRmb3JtOjpOZXR3b3JrUmVxdWVzdDo6QXV0aFNjaGVtZUhUVFBEaWdlc3Q7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgY2FzZSBQcm90ZWN0aW9uU3BhY2VBdXRoZW50aWNhdGlvblNj
aGVtZU5lZ290aWF0ZToKLSAgICAgICAgICAgIGF1dGhTY2hlbWUgPSBCbGFja0JlcnJ5OjpQbGF0
Zm9ybTo6TmV0d29ya1JlcXVlc3Q6OkF1dGhTY2hlbWVOZWdvdGlhdGU7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgY2FzZSBQcm90ZWN0aW9uU3BhY2VBdXRoZW50aWNhdGlvblNjaGVtZU5U
TE06Ci0gICAgICAgICAgICBhdXRoU2NoZW1lID0gQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok5ldHdv
cmtSZXF1ZXN0OjpBdXRoU2NoZW1lTlRMTTsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBk
ZWZhdWx0OgotICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChhdXRoVHlwZSAhPSBCbGFja0JlcnJ5OjpQ
bGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q6OkF1dGhUeXBlTm9uZSAmJiBhdXRoU2NoZW1lICE9IEJs
YWNrQmVycnk6OlBsYXRmb3JtOjpOZXR3b3JrUmVxdWVzdDo6QXV0aFNjaGVtZU5vbmUpCi0gICAg
ICAgICAgICBwbGF0Zm9ybVJlcXVlc3Quc2V0Q3JlZGVudGlhbHModXNlcm5hbWUudXRmOCgpLmRh
dGEoKSwgcGFzc3dvcmQudXRmOCgpLmRhdGEoKSwgYXV0aFR5cGUsIGF1dGhTY2hlbWUpOwotICAg
IH0KKyAgICBzZXRBdXRoQ3JlZGVudGlhbHMocGxhdGZvcm1SZXF1ZXN0LCBndWFyZEpvYi0+Z2V0
SW50ZXJuYWwoKS0+bV9ob3N0V2ViQ2hhbGxlbmdlKTsKKyAgICBzZXRBdXRoQ3JlZGVudGlhbHMo
cGxhdGZvcm1SZXF1ZXN0LCBndWFyZEpvYi0+Z2V0SW50ZXJuYWwoKS0+bV9wcm94eVdlYkNoYWxs
ZW5nZSk7CiAKICAgICBpZiAoIXJlcXVlc3Qub3ZlcnJpZGVDb250ZW50VHlwZSgpLmlzRW1wdHko
KSkKICAgICAgICAgcGxhdGZvcm1SZXF1ZXN0LnNldE92ZXJyaWRlQ29udGVudFR5cGUocmVxdWVz
dC5vdmVycmlkZUNvbnRlbnRUeXBlKCkubGF0aW4xKCkuZGF0YSgpKTsKLS0gCjEuNy41LjQKCg==
</data>
<flag name="review"
          id="204701"
          type_id="1"
          status="+"
          setter="yong.li.webkit"
    />
    <flag name="commit-queue"
          id="204702"
          type_id="3"
          status="-"
          setter="yong.li.webkit"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185592</attachid>
            <date>2013-01-30 15:08:48 -0800</date>
            <delta_ts>2013-01-30 17:27:54 -0800</delta_ts>
            <desc>fixed style</desc>
            <filename>0001-BlackBerry-Store-both-proxy-and-host-credentials-sim.patch</filename>
            <type>text/plain</type>
            <size>26835</size>
            <attacher name="Joe Mason">joenotcharles</attacher>
            
              <data encoding="base64">RnJvbSA0OWUyZGI4OTQ4Nzc0ZTQ2NGU0Y2FkMzUyOWIwZjEwMmUzY2E5NjdjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2UgTWFzb24gPGptYXNvbkByaW0uY29tPgpEYXRlOiBXZWQs
IDMwIEphbiAyMDEzIDE3OjUxOjA3IC0wNTAwClN1YmplY3Q6IFtQQVRDSF0gW0JsYWNrQmVycnld
IFN0b3JlIGJvdGggcHJveHkgYW5kIGhvc3QgY3JlZGVudGlhbHMKIHNpbXVsdGFuZW91c2x5IGZv
ciBOZXR3b3JrSm9iCiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA4
Mzg4CgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClRoZSBwbGF0Zm9ybSBOZXR3b3JrUmVx
dWVzdCBpbnRlcmZhY2UgaGFzIGJlZW4gdXBkYXRlZCBhZ2FpbiwgdG8gc3RvcmUgYm90aCBhIHBy
b3h5IGFuZCBob3N0CmNyZWRlbnRpYWwgZm9yIGVhY2ggcmVxdWVzdCAodG8gcHJldmVudCBhbiBp
bmZpbml0ZSBsb29wIHdoZW4gYSByZXF1ZXN0IGF1dGhlbnRpY2F0ZXMgYWdhaW5zdCBhCnByb3h5
IGJ1dCBmYWlscyB0aGUgaG9zdCBhdXRoZW50aWNhdGlvbiwgYW5kIHRoZW4gdGhlIGZvbGxvd3Vw
IGNvbnRhaW5zIHRoZSBob3N0IGNyZWRlbnRpYWwgYnV0IG5vdAp0aGUgcHJveHkgY3JlZGVudGlh
bCBzbyBpdCBmYWlscyBwcm94eSBhdXRoZW50aWNhdGlvbiwgc28gdGhlIG5leHQgZm9sbG93dXAg
Y29udGFpbnMgdGhlIHByb3h5CmNyZWRlbnRpYWwgYnV0IG5vdCB0aGUgaG9zdCBjcmVkZW50aWFs
Li4uKQoKQ29tcGx5aW5nIHdpdGggdGhlIG5ldyBpbnRlcmZhY2UgcmVxdWlyZXMgdGhlIGhvc3Qg
YW5kIHByb3h5IGNoYWxsZW5nZSB0byBiZSBzdG9yZWQgc2VwYXJhdGVseSBpbgp3ZWJraXQgc28g
dGhleSBjYW4gYm90aCBiZSBhZGRlZCB0byB0aGUgc2FtZSBOZXR3b3JrUmVxdWVzdC4KCkludGVy
bmFsIFBSOiAyODExNzIKSW50ZXJuYWwgUmV2aWV3ZXI6IExlbyBZYW5nCgoqIHBsYXRmb3JtL25l
dHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5oOgooUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCk6
CiogcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg6
CihXZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTo6aGFzQ3JlZGVudGlhbHMpOgooQXV0
aGVudGljYXRpb25DaGFsbGVuZ2UpOgoqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3
b3JrSm9iLmNwcDoKKFdlYkNvcmU6Ok5ldHdvcmtKb2I6Om5vdGlmeUF1dGhSZWNlaXZlZCk6CihX
ZWJDb3JlOjpOZXR3b3JrSm9iOjpoYW5kbGVSZWRpcmVjdCk6CihXZWJDb3JlOjpOZXR3b3JrSm9i
OjpzZW5kUmVxdWVzdFdpdGhDcmVkZW50aWFscyk6CihXZWJDb3JlOjpOZXR3b3JrSm9iOjpzdG9y
ZUNyZWRlbnRpYWxzKToKKFdlYkNvcmUpOgooV2ViQ29yZTo6TmV0d29ya0pvYjo6cHVyZ2VDcmVk
ZW50aWFscyk6CihXZWJDb3JlOjpOZXR3b3JrSm9iOjpub3RpZnlDaGFsbGVuZ2VSZXN1bHQpOgoo
V2ViQ29yZTo6TmV0d29ya0pvYjo6dXBkYXRlQ3VycmVudFdlYkNoYWxsZW5nZSk6CiogcGxhdGZv
cm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuaDoKKE5ldHdvcmtKb2IpOgoqIHBsYXRm
b3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrTWFuYWdlci5jcHA6CihXZWJDb3JlOjpzZXRB
dXRoQ3JlZGVudGlhbHMpOgooV2ViQ29yZSk6CihXZWJDb3JlOjpOZXR3b3JrTWFuYWdlcjo6c3Rh
cnRKb2IpOgotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHwgICA0MCArKysrKysKIC4uLi9wbGF0Zm9ybS9uZXR3b3JrL1Jlc291cmNlSGFuZGxl
SW50ZXJuYWwuaCAgICAgIHwgICAgNiArCiAuLi4vbmV0d29yay9ibGFja2JlcnJ5L0F1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlLmggICB8ICAgIDcgKwogLi4uL3BsYXRmb3JtL25ldHdvcmsvYmxhY2ti
ZXJyeS9OZXR3b3JrSm9iLmNwcCAgICAgfCAgMTI1ICsrKysrKysrKysrLS0tLS0tLQogLi4uL3Bs
YXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmggICAgICAgfCAgIDE0ICsrLQog
Li4uL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrTWFuYWdlci5jcHAgfCAgMTM4
ICsrKysrKysrKysrLS0tLS0tLS0tCiA2IGZpbGVzIGNoYW5nZWQsIDIyMSBpbnNlcnRpb25zKCsp
LCAxMDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDg4ODllNjguLjEyYThlMDggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKQEAgLTEsNSArMSw0NSBAQAogMjAxMy0wMS0zMCAgSm9lIE1hc29uICA8am1hc29uQHJp
bS5jb20+CiAKKyAgICAgICAgW0JsYWNrQmVycnldIFN0b3JlIGJvdGggcHJveHkgYW5kIGhvc3Qg
Y3JlZGVudGlhbHMgc2ltdWx0YW5lb3VzbHkgZm9yIE5ldHdvcmtKb2IKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwODM4OAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBwbGF0Zm9ybSBOZXR3b3JrUmVx
dWVzdCBpbnRlcmZhY2UgaGFzIGJlZW4gdXBkYXRlZCBhZ2FpbiwgdG8gc3RvcmUgYm90aCBhIHBy
b3h5IGFuZCBob3N0CisgICAgICAgIGNyZWRlbnRpYWwgZm9yIGVhY2ggcmVxdWVzdCAodG8gcHJl
dmVudCBhbiBpbmZpbml0ZSBsb29wIHdoZW4gYSByZXF1ZXN0IGF1dGhlbnRpY2F0ZXMgYWdhaW5z
dCBhCisgICAgICAgIHByb3h5IGJ1dCBmYWlscyB0aGUgaG9zdCBhdXRoZW50aWNhdGlvbiwgYW5k
IHRoZW4gdGhlIGZvbGxvd3VwIGNvbnRhaW5zIHRoZSBob3N0IGNyZWRlbnRpYWwgYnV0IG5vdAor
ICAgICAgICB0aGUgcHJveHkgY3JlZGVudGlhbCBzbyBpdCBmYWlscyBwcm94eSBhdXRoZW50aWNh
dGlvbiwgc28gdGhlIG5leHQgZm9sbG93dXAgY29udGFpbnMgdGhlIHByb3h5CisgICAgICAgIGNy
ZWRlbnRpYWwgYnV0IG5vdCB0aGUgaG9zdCBjcmVkZW50aWFsLi4uKQorCisgICAgICAgIENvbXBs
eWluZyB3aXRoIHRoZSBuZXcgaW50ZXJmYWNlIHJlcXVpcmVzIHRoZSBob3N0IGFuZCBwcm94eSBj
aGFsbGVuZ2UgdG8gYmUgc3RvcmVkIHNlcGFyYXRlbHkgaW4KKyAgICAgICAgd2Via2l0IHNvIHRo
ZXkgY2FuIGJvdGggYmUgYWRkZWQgdG8gdGhlIHNhbWUgTmV0d29ya1JlcXVlc3QuCisKKyAgICAg
ICAgSW50ZXJuYWwgUFI6IDI4MTE3MgorICAgICAgICBJbnRlcm5hbCBSZXZpZXdlcjogTGVvIFlh
bmcKKworICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRlcm5hbC5o
OgorICAgICAgICAoUmVzb3VyY2VIYW5kbGVJbnRlcm5hbCk6CisgICAgICAgICogcGxhdGZvcm0v
bmV0d29yay9ibGFja2JlcnJ5L0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTo6aGFzQ3JlZGVudGlhbHMpOgorICAgICAg
ICAoQXV0aGVudGljYXRpb25DaGFsbGVuZ2UpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsv
YmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5ldHdvcmtKb2I6
Om5vdGlmeUF1dGhSZWNlaXZlZCk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9iOjpoYW5k
bGVSZWRpcmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9iOjpzZW5kUmVxdWVzdFdp
dGhDcmVkZW50aWFscyk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9iOjpzdG9yZUNyZWRl
bnRpYWxzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pv
Yjo6cHVyZ2VDcmVkZW50aWFscyk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9iOjpub3Rp
ZnlDaGFsbGVuZ2VSZXN1bHQpOgorICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6dXBkYXRl
Q3VycmVudFdlYkNoYWxsZW5nZSk6CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ibGFja2Jl
cnJ5L05ldHdvcmtKb2IuaDoKKyAgICAgICAgKE5ldHdvcmtKb2IpOgorICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrTWFuYWdlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpzZXRBdXRoQ3JlZGVudGlhbHMpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChX
ZWJDb3JlOjpOZXR3b3JrTWFuYWdlcjo6c3RhcnRKb2IpOgorCisyMDEzLTAxLTMwICBKb2UgTWFz
b24gIDxqbWFzb25AcmltLmNvbT4KKwogICAgICAgICBbQmxhY2tCZXJyeV0gTmV2ZXIgc3RvcmUg
ZW1wdHkgY3JlZGVudGlhbHMgaW4gTmV0d29ya0pvYjo6c3RvcmVDcmVkZW50aWFscwogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA4Mzg3CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvUmVzb3VyY2VIYW5kbGVJbnRl
cm5hbC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUlu
dGVybmFsLmgKaW5kZXggZWNmNjQ4Zi4uMmFjMWY3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9SZXNvdXJjZUhhbmRsZUludGVybmFsLmgKQEAgLTIw
NCw2ICsyMDQsMTIgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBOU1VSTEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlICptX2N1cnJlbnRNYWNDaGFsbGVuZ2U7CiAjZW5kaWYKICAgICAgICAg
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UgbV9jdXJyZW50V2ViQ2hhbGxlbmdlOworI2lmIFBMQVRG
T1JNKEJMQUNLQkVSUlkpCisgICAgICAgIC8vIFdlIG5lZWQgdG8gc3RvcmUgdGhlIGNyZWRlbnRp
YWxzIGZvciBob3N0IGFuZCBwcm94eSBzZXBhcmF0ZWx5IGZvciB0aGUgcGxhdGZvcm0KKyAgICAg
ICAgLy8gbmV0d29ya2luZyBsYXllci4gT25lIG9mIHRoZXNlIHdpbGwgYWx3YXlzIGJlIGVxdWFs
IHRvIG1fY3VycmVudFdlYkNoYWxsZW5nZS4KKyAgICAgICAgQXV0aGVudGljYXRpb25DaGFsbGVu
Z2UgbV9ob3N0V2ViQ2hhbGxlbmdlOworICAgICAgICBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSBt
X3Byb3h5V2ViQ2hhbGxlbmdlOworI2VuZGlmCiAKICAgICAgICAgUmVzb3VyY2VIYW5kbGU6OkZh
aWx1cmVUeXBlIG1fc2NoZWR1bGVkRmFpbHVyZVR5cGU7CiAgICAgICAgIFRpbWVyPFJlc291cmNl
SGFuZGxlPiBtX2ZhaWx1cmVUaW1lcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvYmxhY2tiZXJyeS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0F1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlLmgKaW5kZXggZDFkOWE3NS4uYzhkMGNiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L0F1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlLmgKQEAgLTM5LDYgKzM5LDEzIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFN0
b3JlZChib29sIGlzU3RvcmVkKSB7IG1faXNTdG9yZWQgPSBpc1N0b3JlZDsgfQogICAgIGJvb2wg
aXNTdG9yZWQoKSBjb25zdCB7IHJldHVybiBtX2lzU3RvcmVkOyB9CiAKKyAgICBib29sIGhhc0Ny
ZWRlbnRpYWxzKCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmIChpc051bGwoKSkKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmV0dXJuICFwcm9wb3NlZENyZWRlbnRpYWwoKS5p
c0VtcHR5KCk7CisgICAgfQorCiBwcml2YXRlOgogICAgIC8vIERlc2NyaWJlcyBpZiBhdHRhY2hl
ZCBjcmVkZW50aWFscyBhcmUgc3RvcmVkIGluIENyZWRlbnRpYWxTdG9yYWdlLgogICAgIGJvb2wg
bV9pc1N0b3JlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
YmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcAppbmRleCAxMDlhMmFkLi4zODAyY2RiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29y
a0pvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5
L05ldHdvcmtKb2IuY3BwCkBAIC00NCw2ICs0NCw4IEBACiAjaW5jbHVkZSA8bmV0d29yay9NdWx0
aXBhcnRTdHJlYW0uaD4KICNpbmNsdWRlIDxuZXR3b3JrL05ldHdvcmtTdHJlYW1GYWN0b3J5Lmg+
CiAKK3VzaW5nIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpOZXR3b3JrUmVxdWVzdDsKKwogbmFtZXNw
YWNlIFdlYkNvcmUgewogCiBzdGF0aWMgY29uc3QgaW50IHNfcmVkaXJlY3RNYXhpbXVtID0gMTA7
CkBAIC0yNjgsMzIgKzI3MCw0NSBAQCB2b2lkIE5ldHdvcmtKb2I6Om5vdGlmeU11bHRpcGFydEhl
YWRlclJlY2VpdmVkKGNvbnN0IGNoYXIqIGtleSwgY29uc3QgY2hhciogdmFsdQogICAgICAgICBo
YW5kbGVOb3RpZnlNdWx0aXBhcnRIZWFkZXJSZWNlaXZlZChrZXksIHZhbHVlKTsKIH0KIAotdm9p
ZCBOZXR3b3JrSm9iOjpub3RpZnlBdXRoUmVjZWl2ZWQoQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok5l
dHdvcmtSZXF1ZXN0OjpBdXRoVHlwZSBhdXRoVHlwZSwgQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok5l
dHdvcmtSZXF1ZXN0OjpBdXRoU2NoZW1lIGF1dGhTY2hlbWUsIGNvbnN0IGNoYXIqIHJlYWxtLCBB
dXRoUmVzdWx0IHJlc3VsdCwgYm9vbCByZXF1aXJlQ3JlZGVudGlhbHMpCit2b2lkIE5ldHdvcmtK
b2I6Om5vdGlmeUF1dGhSZWNlaXZlZChOZXR3b3JrUmVxdWVzdDo6QXV0aFR5cGUgYXV0aFR5cGUs
IE5ldHdvcmtSZXF1ZXN0OjpBdXRoUHJvdG9jb2wgYXV0aFByb3RvY29sLCBOZXR3b3JrUmVxdWVz
dDo6QXV0aFNjaGVtZSBhdXRoU2NoZW1lLCBjb25zdCBjaGFyKiByZWFsbSwgQXV0aFJlc3VsdCBy
ZXN1bHQsIGJvb2wgcmVxdWlyZUNyZWRlbnRpYWxzKQogewotICAgIHVzaW5nIEJsYWNrQmVycnk6
OlBsYXRmb3JtOjpOZXR3b3JrUmVxdWVzdDsKLQogICAgIFByb3RlY3Rpb25TcGFjZVNlcnZlclR5
cGUgc2VydmVyVHlwZTsKICAgICBzd2l0Y2ggKGF1dGhUeXBlKSB7Ci0gICAgY2FzZSBOZXR3b3Jr
UmVxdWVzdDo6QXV0aFR5cGVIVFRQOgotICAgICAgICBzZXJ2ZXJUeXBlID0gUHJvdGVjdGlvblNw
YWNlU2VydmVySFRUUDsKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBOZXR3b3JrUmVxdWVzdDo6
QXV0aFR5cGVIVFRQUzoKLSAgICAgICAgc2VydmVyVHlwZSA9IFByb3RlY3Rpb25TcGFjZVNlcnZl
ckhUVFBTOwotICAgICAgICBicmVhazsKLSAgICBjYXNlIE5ldHdvcmtSZXF1ZXN0OjpBdXRoVHlw
ZUZUUDoKLSAgICAgICAgc2VydmVyVHlwZSA9IFByb3RlY3Rpb25TcGFjZVNlcnZlckZUUDsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBOZXR3b3JrUmVxdWVzdDo6QXV0aFR5cGVGVFBTOgotICAg
ICAgICBzZXJ2ZXJUeXBlID0gUHJvdGVjdGlvblNwYWNlU2VydmVyRlRQUzsKLSAgICAgICAgYnJl
YWs7Ci0gICAgY2FzZSBOZXR3b3JrUmVxdWVzdDo6QXV0aFR5cGVQcm94eUhUVFA6Ci0gICAgICAg
IHNlcnZlclR5cGUgPSBQcm90ZWN0aW9uU3BhY2VQcm94eUhUVFA7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgTmV0d29ya1JlcXVlc3Q6OkF1dGhUeXBlUHJveHlIVFRQUzoKLSAgICAgICAgc2Vy
dmVyVHlwZSA9IFByb3RlY3Rpb25TcGFjZVByb3h5SFRUUFM7CisgICAgY2FzZSBOZXR3b3JrUmVx
dWVzdDo6QXV0aFR5cGVIb3N0OgorICAgICAgICBzd2l0Y2ggKGF1dGhQcm90b2NvbCkgeworICAg
ICAgICBjYXNlIE5ldHdvcmtSZXF1ZXN0OjpBdXRoUHJvdG9jb2xIVFRQOgorICAgICAgICAgICAg
c2VydmVyVHlwZSA9IFByb3RlY3Rpb25TcGFjZVNlcnZlckhUVFA7CisgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgY2FzZSBOZXR3b3JrUmVxdWVzdDo6QXV0aFByb3RvY29sSFRUUFM6CisgICAg
ICAgICAgICBzZXJ2ZXJUeXBlID0gUHJvdGVjdGlvblNwYWNlU2VydmVySFRUUFM7CisgICAgICAg
ICAgICBicmVhazsKKyAgICAgICAgY2FzZSBOZXR3b3JrUmVxdWVzdDo6QXV0aFByb3RvY29sRlRQ
OgorICAgICAgICAgICAgc2VydmVyVHlwZSA9IFByb3RlY3Rpb25TcGFjZVNlcnZlckZUUDsKKyAg
ICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIE5ldHdvcmtSZXF1ZXN0OjpBdXRoUHJvdG9j
b2xGVFBTOgorICAgICAgICAgICAgc2VydmVyVHlwZSA9IFByb3RlY3Rpb25TcGFjZVNlcnZlckZU
UFM7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAg
ICAgIGJyZWFrOwotICAgIGNhc2UgTmV0d29ya1JlcXVlc3Q6OkF1dGhUeXBlUHJveHlGVFA6Ci0g
ICAgICAgIHNlcnZlclR5cGUgPSBQcm90ZWN0aW9uU3BhY2VQcm94eUZUUDsKKyAgICBjYXNlIE5l
dHdvcmtSZXF1ZXN0OjpBdXRoVHlwZVByb3h5OgorICAgICAgICBzd2l0Y2ggKGF1dGhQcm90b2Nv
bCkgeworICAgICAgICBjYXNlIE5ldHdvcmtSZXF1ZXN0OjpBdXRoUHJvdG9jb2xIVFRQOgorICAg
ICAgICAgICAgc2VydmVyVHlwZSA9IFByb3RlY3Rpb25TcGFjZVByb3h5SFRUUDsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIE5ldHdvcmtSZXF1ZXN0OjpBdXRoUHJvdG9jb2xIVFRQ
UzoKKyAgICAgICAgICAgIHNlcnZlclR5cGUgPSBQcm90ZWN0aW9uU3BhY2VQcm94eUhUVFBTOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgTmV0d29ya1JlcXVlc3Q6OkF1dGhQcm90
b2NvbEZUUDoKKyAgICAgICAgY2FzZSBOZXR3b3JrUmVxdWVzdDo6QXV0aFByb3RvY29sRlRQUzoK
KyAgICAgICAgICAgIHNlcnZlclR5cGUgPSBQcm90ZWN0aW9uU3BhY2VQcm94eUZUUDsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KICAgICAgICAgYnJlYWs7
CiAgICAgZGVmYXVsdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC0zMjksMTYg
KzM0NCwxMiBAQCB2b2lkIE5ldHdvcmtKb2I6Om5vdGlmeUF1dGhSZWNlaXZlZChCbGFja0JlcnJ5
OjpQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q6OkF1dGhUeQogICAgICAgICBwdXJnZUNyZWRlbnRp
YWxzKCk7CiAgICAgZWxzZSB7CiAgICAgICAgIC8vIFVwZGF0ZSB0aGUgY3JlZGVudGlhbHMgdGhh
dCB3aWxsIGJlIHN0b3JlZCB0byBtYXRjaCB0aGUgc2NoZW1lIHRoYXQgd2FzIGFjdHVhbGx5IHVz
ZWQKLSAgICAgICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGNoYWxsZW5nZSA9IG1faGFuZGxl
LT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2U7Ci0gICAgICAgIGlmICghY2hh
bGxlbmdlLmlzTnVsbCgpKSB7CisgICAgICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBjaGFs
bGVuZ2UgPSBhdXRoVHlwZSA9PSBOZXR3b3JrUmVxdWVzdDo6QXV0aFR5cGVQcm94eSA/IG1faGFu
ZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Byb3h5V2ViQ2hhbGxlbmdlIDogbV9oYW5kbGUtPmdldElu
dGVybmFsKCktPm1faG9zdFdlYkNoYWxsZW5nZTsKKyAgICAgICAgaWYgKGNoYWxsZW5nZS5oYXND
cmVkZW50aWFscygpKSB7CiAgICAgICAgICAgICBjb25zdCBQcm90ZWN0aW9uU3BhY2UmIG9sZFNw
YWNlID0gY2hhbGxlbmdlLnByb3RlY3Rpb25TcGFjZSgpOwogICAgICAgICAgICAgaWYgKG9sZFNw
YWNlLmF1dGhlbnRpY2F0aW9uU2NoZW1lKCkgIT0gc2NoZW1lICYmIG9sZFNwYWNlLnNlcnZlclR5
cGUoKSA9PSBzZXJ2ZXJUeXBlKSB7CiAgICAgICAgICAgICAgICAgUHJvdGVjdGlvblNwYWNlIG5l
d1NwYWNlKG9sZFNwYWNlLmhvc3QoKSwgb2xkU3BhY2UucG9ydCgpLCBvbGRTcGFjZS5zZXJ2ZXJU
eXBlKCksIG9sZFNwYWNlLnJlYWxtKCksIHNjaGVtZSk7Ci0gICAgICAgICAgICAgICAgbV9oYW5k
bGUtPmdldEludGVybmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZSA9IEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlKG5ld1NwYWNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFs
bGVuZ2UucHJvcG9zZWRDcmVkZW50aWFsKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGNoYWxsZW5nZS5wcmV2aW91c0ZhaWx1cmVDb3VudCgpLAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjaGFsbGVuZ2UuZmFpbHVyZVJlc3BvbnNlKCksCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNoYWxsZW5nZS5lcnJvcigpKTsKKyAgICAgICAgICAgICAgICB1
cGRhdGVDdXJyZW50V2ViQ2hhbGxlbmdlKEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKG5ld1NwYWNl
LCBjaGFsbGVuZ2UucHJvcG9zZWRDcmVkZW50aWFsKCksIGNoYWxsZW5nZS5wcmV2aW91c0ZhaWx1
cmVDb3VudCgpLCBjaGFsbGVuZ2UuZmFpbHVyZVJlc3BvbnNlKCksIGNoYWxsZW5nZS5lcnJvcigp
KSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgc3RvcmVDcmVkZW50aWFscygp
OwpAQCAtNjUzLDEyICs2NjQsMTMgQEAgYm9vbCBOZXR3b3JrSm9iOjpoYW5kbGVSZWRpcmVjdCgp
CiAgICAgICAgIG5ld1JlcXVlc3QuY2xlYXJIVFRQQ29udGVudFR5cGUoKTsKICAgICB9CiAKLSAg
ICBpZiAoIW1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UuaXNO
dWxsKCkpIHsKLSAgICAgICAgLy8gSWYgdGhpcyByZXF1ZXN0IGlzIGNoYWxsZW5nZWQsIHN0b3Jl
IHRoZSBjcmVkZW50aWFscyBub3cgYmVjYXVzZSB0aGUgY3JlZGVudGlhbCBpcyBjb3JyZWN0IChv
dGhlcndpc2UsIGl0IHdvbid0IGdldCBoZXJlKS4KLSAgICAgICAgc3RvcmVDcmVkZW50aWFscygp
OwotICAgICAgICAvLyBEbyBub3Qgc2VuZCBleGlzdGluZyBjcmVkZW50aWFscyB3aXRoIHRoZSBu
ZXcgcmVxdWVzdC4KLSAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fY3VycmVudFdl
YkNoYWxsZW5nZS5udWxsaWZ5KCk7Ci0gICAgfQorICAgIC8vIElmIHRoaXMgcmVxdWVzdCBpcyBj
aGFsbGVuZ2VkLCBzdG9yZSB0aGUgY3JlZGVudGlhbHMgbm93IChpZiB0aGV5IGFyZSBudWxsIHRo
aXMgd2lsbCBkbyBub3RoaW5nKQorICAgIHN0b3JlQ3JlZGVudGlhbHMoKTsKKworICAgIC8vIERv
IG5vdCBzZW5kIGV4aXN0aW5nIGNyZWRlbnRpYWxzIHdpdGggdGhlIG5ldyByZXF1ZXN0LgorICAg
IG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UubnVsbGlmeSgp
OworICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Byb3h5V2ViQ2hhbGxlbmdlLm51bGxp
ZnkoKTsKKyAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9ob3N0V2ViQ2hhbGxlbmdlLm51
bGxpZnkoKTsKIAogICAgIHJldHVybiBzdGFydE5ld0pvYldpdGhSZXF1ZXN0KG5ld1JlcXVlc3Qs
IHRydWUpOwogfQpAQCAtODE3LDE2ICs4MjksMTYgQEAgYm9vbCBOZXR3b3JrSm9iOjpzZW5kUmVx
dWVzdFdpdGhDcmVkZW50aWFscyhQcm90ZWN0aW9uU3BhY2VTZXJ2ZXJUeXBlIHR5cGUsIFByb3QK
ICAgICBDcmVkZW50aWFsIGNyZWRlbnRpYWw7CiAgICAgaWYgKCFyZXF1aXJlQ3JlZGVudGlhbHMp
IHsKICAgICAgICAgLy8gRG9uJ3Qgb3ZlcndyaXRlIGFueSBleGlzdGluZyBjcmVkZW50aWFscyB3
aXRoIHRoZSBlbXB0eSBjcmVkZW50aWFsCi0gICAgICAgIGlmIChtX2hhbmRsZS0+Z2V0SW50ZXJu
YWwoKS0+bV9jdXJyZW50V2ViQ2hhbGxlbmdlLmlzTnVsbCgpKQotICAgICAgICAgICAgbV9oYW5k
bGUtPmdldEludGVybmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZSA9IEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlKHByb3RlY3Rpb25TcGFjZSwgY3JlZGVudGlhbCwgMCwgbV9yZXNwb25zZSwgUmVz
b3VyY2VFcnJvcigpKTsKKyAgICAgICAgdXBkYXRlQ3VycmVudFdlYkNoYWxsZW5nZShBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZShwcm90ZWN0aW9uU3BhY2UsIGNyZWRlbnRpYWwsIDAsIG1fcmVzcG9u
c2UsIFJlc291cmNlRXJyb3IoKSksIC8qIGFsbG93T3ZlcndyaXRlICovIGZhbHNlKTsKICAgICB9
IGVsc2UgaWYgKCEoY3JlZGVudGlhbCA9IENyZWRlbnRpYWxTdG9yYWdlOjpnZXQocHJvdGVjdGlv
blNwYWNlKSkuaXNFbXB0eSgpCiAjaWYgRU5BQkxFKEJMQUNLQkVSUllfQ1JFREVOVElBTF9QRVJT
SVNUKQogICAgICAgICAgICAgfHwgIShjcmVkZW50aWFsID0gQ3JlZGVudGlhbFN0b3JhZ2U6Omdl
dEZyb21QZXJzaXN0ZW50U3RvcmFnZShwcm90ZWN0aW9uU3BhY2UpKS5pc0VtcHR5KCkKICNlbmRp
ZgogICAgICAgICAgICAgKSB7CiAgICAgICAgIC8vIEZpcnN0IHNlYXJjaCB0aGUgQ3JlZGVudGlh
bFN0b3JhZ2UgYW5kIFBlcnNpc3RlbnQgQ3JlZGVudGlhbCBTdG9yYWdlCi0gICAgICAgIG1faGFu
ZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UgPSBBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZShwcm90ZWN0aW9uU3BhY2UsIGNyZWRlbnRpYWwsIDAsIG1fcmVzcG9uc2UsIFJl
c291cmNlRXJyb3IoKSk7Ci0gICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJl
bnRXZWJDaGFsbGVuZ2Uuc2V0U3RvcmVkKHRydWUpOworICAgICAgICBBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZSBjaGFsbGVuZ2UocHJvdGVjdGlvblNwYWNlLCBjcmVkZW50aWFsLCAwLCBtX3Jlc3Bv
bnNlLCBSZXNvdXJjZUVycm9yKCkpOworICAgICAgICBjaGFsbGVuZ2Uuc2V0U3RvcmVkKHRydWUp
OworICAgICAgICB1cGRhdGVDdXJyZW50V2ViQ2hhbGxlbmdlKGNoYWxsZW5nZSk7CiAgICAgfSBl
bHNlIHsKICAgICAgICAgaWYgKG1faGFuZGxlLT5maXJzdFJlcXVlc3QoKS50YXJnZXRUeXBlKCkg
PT0gUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRJc0Zhdmljb24pIHsKICAgICAgICAgICAgIC8vIFRo
ZSBmYXZpY29uIGxvYWRpbmcgaXMgdHJpZ2dlcnJlZCBhZnRlciB0aGUgbWFpbiByZXNvdXJjZSBo
YXMgYmVlbiBsb2FkZWQKQEAgLTg1Niw3ICs4NjgsOCBAQCBib29sIE5ldHdvcmtKb2I6OnNlbmRS
ZXF1ZXN0V2l0aENyZWRlbnRpYWxzKFByb3RlY3Rpb25TcGFjZVNlcnZlclR5cGUgdHlwZSwgUHJv
dAogICAgICAgICAgICAgaWYgKCFtX2ZyYW1lIHx8ICFtX2ZyYW1lLT5wYWdlKCkpCiAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgICAgICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJu
YWwoKS0+bV9jdXJyZW50V2ViQ2hhbGxlbmdlID0gQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKTsK
KyAgICAgICAgICAgIC8vIERPIG92ZXJ3cml0ZSBhbnkgZXhpc3RpbmcgY3JlZGVudGlhbHMgd2l0
aCB0aGUgZW1wdHkgY3JlZGVudGlhbAorICAgICAgICAgICAgdXBkYXRlQ3VycmVudFdlYkNoYWxs
ZW5nZShBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShwcm90ZWN0aW9uU3BhY2UsIGNyZWRlbnRpYWws
IDAsIG1fcmVzcG9uc2UsIFJlc291cmNlRXJyb3IoKSkpOwogCiAgICAgICAgICAgICBtX2lzQXV0
aGVudGljYXRpb25DaGFsbGVuZ2luZyA9IHRydWU7CiAgICAgICAgICAgICB1cGRhdGVEZWZlckxv
YWRpbmdDb3VudCgxKTsKQEAgLTg2OCw3ICs4ODEsNyBAQCBib29sIE5ldHdvcmtKb2I6OnNlbmRS
ZXF1ZXN0V2l0aENyZWRlbnRpYWxzKFByb3RlY3Rpb25TcGFjZVNlcnZlclR5cGUgdHlwZSwgUHJv
dAogCiAgICAgICAgIGNyZWRlbnRpYWwgPSBDcmVkZW50aWFsKHVzZXJuYW1lLCBwYXNzd29yZCwg
Q3JlZGVudGlhbFBlcnNpc3RlbmNlRm9yU2Vzc2lvbik7CiAKLSAgICAgICAgbV9oYW5kbGUtPmdl
dEludGVybmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZSA9IEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlKHByb3RlY3Rpb25TcGFjZSwgY3JlZGVudGlhbCwgMCwgbV9yZXNwb25zZSwgUmVzb3VyY2VF
cnJvcigpKTsKKyAgICAgICAgdXBkYXRlQ3VycmVudFdlYkNoYWxsZW5nZShBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZShwcm90ZWN0aW9uU3BhY2UsIGNyZWRlbnRpYWwsIDAsIG1fcmVzcG9uc2UsIFJl
c291cmNlRXJyb3IoKSkpOwogICAgIH0KIAogICAgIG5vdGlmeUNoYWxsZW5nZVJlc3VsdChuZXdV
UkwsIHByb3RlY3Rpb25TcGFjZSwgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTdWNjZXNzLCBjcmVk
ZW50aWFsKTsKQEAgLTg4MCw3ICs4OTMsMTIgQEAgdm9pZCBOZXR3b3JrSm9iOjpzdG9yZUNyZWRl
bnRpYWxzKCkKICAgICBpZiAoIW1faGFuZGxlKQogICAgICAgICByZXR1cm47CiAKLSAgICBBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZSYgY2hhbGxlbmdlID0gbV9oYW5kbGUtPmdldEludGVybmFsKCkt
Pm1fY3VycmVudFdlYkNoYWxsZW5nZTsKKyAgICBzdG9yZUNyZWRlbnRpYWxzKG1faGFuZGxlLT5n
ZXRJbnRlcm5hbCgpLT5tX2hvc3RXZWJDaGFsbGVuZ2UpOworICAgIHN0b3JlQ3JlZGVudGlhbHMo
bV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcHJveHlXZWJDaGFsbGVuZ2UpOworfQorCit2b2lk
IE5ldHdvcmtKb2I6OnN0b3JlQ3JlZGVudGlhbHMoQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGNo
YWxsZW5nZSkKK3sKICAgICBpZiAoY2hhbGxlbmdlLmlzTnVsbCgpKQogICAgICAgICByZXR1cm47
CiAKQEAgLTkyMiw3ICs5NDAsMTIgQEAgdm9pZCBOZXR3b3JrSm9iOjpwdXJnZUNyZWRlbnRpYWxz
KCkKICAgICBpZiAoIW1faGFuZGxlKQogICAgICAgICByZXR1cm47CiAKLSAgICBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSYgY2hhbGxlbmdlID0gbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fY3Vy
cmVudFdlYkNoYWxsZW5nZTsKKyAgICBwdXJnZUNyZWRlbnRpYWxzKG1faGFuZGxlLT5nZXRJbnRl
cm5hbCgpLT5tX2hvc3RXZWJDaGFsbGVuZ2UpOworICAgIHB1cmdlQ3JlZGVudGlhbHMobV9oYW5k
bGUtPmdldEludGVybmFsKCktPm1fcHJveHlXZWJDaGFsbGVuZ2UpOworfQorCit2b2lkIE5ldHdv
cmtKb2I6OnB1cmdlQ3JlZGVudGlhbHMoQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGNoYWxsZW5n
ZSkKK3sKICAgICBpZiAoY2hhbGxlbmdlLmlzTnVsbCgpKQogICAgICAgICByZXR1cm47CiAKQEAg
LTk3OSw4ICsxMDAyLDcgQEAgdm9pZCBOZXR3b3JrSm9iOjpub3RpZnlDaGFsbGVuZ2VSZXN1bHQo
Y29uc3QgS1VSTCYgdXJsLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHAKICAgICBpZiAocmVzdWx0
ICE9IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU3VjY2VzcykKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgaWYgKG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UuaXNO
dWxsKCkpCi0gICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFs
bGVuZ2UgPSBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShwcm90ZWN0aW9uU3BhY2UsIGNyZWRlbnRp
YWwsIDAsIG1fcmVzcG9uc2UsIFJlc291cmNlRXJyb3IoKSk7CisgICAgdXBkYXRlQ3VycmVudFdl
YkNoYWxsZW5nZShBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShwcm90ZWN0aW9uU3BhY2UsIGNyZWRl
bnRpYWwsIDAsIG1fcmVzcG9uc2UsIFJlc291cmNlRXJyb3IoKSksIC8qIGFsbG93T3ZlcndyaXRl
ICovIGZhbHNlKTsKIAogICAgIFJlc291cmNlUmVxdWVzdCBuZXdSZXF1ZXN0ID0gbV9oYW5kbGUt
PmZpcnN0UmVxdWVzdCgpOwogICAgIG5ld1JlcXVlc3Quc2V0VVJMKHVybCk7CkBAIC0xMDAxLDQg
KzEwMjMsMTcgQEAgdm9pZCBOZXR3b3JrSm9iOjp3aWxsRGV0YWNoUGFnZSgpCiAgICAgICAgIGNh
bmNlbEpvYigpOwogfQogCit2b2lkIE5ldHdvcmtKb2I6OnVwZGF0ZUN1cnJlbnRXZWJDaGFsbGVu
Z2UoY29uc3QgQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmIGNoYWxsZW5nZSwgYm9vbCBhbGxvd092
ZXJ3cml0ZSkKK3sKKyAgICBpZiAoYWxsb3dPdmVyd3JpdGUgfHwgIW1faGFuZGxlLT5nZXRJbnRl
cm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UuaGFzQ3JlZGVudGlhbHMoKSkKKyAgICAgICAg
bV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZSA9IGNoYWxsZW5n
ZTsKKyAgICBpZiAoY2hhbGxlbmdlLnByb3RlY3Rpb25TcGFjZSgpLnNlcnZlclR5cGUoKSA9PSBQ
cm90ZWN0aW9uU3BhY2VQcm94eUhUVFAgfHwgY2hhbGxlbmdlLnByb3RlY3Rpb25TcGFjZSgpLnNl
cnZlclR5cGUoKSA9PSBQcm90ZWN0aW9uU3BhY2VQcm94eUhUVFBTKSB7CisgICAgICAgIGlmIChh
bGxvd092ZXJ3cml0ZSB8fCAhbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcHJveHlXZWJDaGFs
bGVuZ2UuaGFzQ3JlZGVudGlhbHMoKSkKKyAgICAgICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5h
bCgpLT5tX3Byb3h5V2ViQ2hhbGxlbmdlID0gY2hhbGxlbmdlOworICAgIH0gZWxzZSB7CisgICAg
ICAgIGlmIChhbGxvd092ZXJ3cml0ZSB8fCAhbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1faG9z
dFdlYkNoYWxsZW5nZS5oYXNDcmVkZW50aWFscygpKQorICAgICAgICAgICAgbV9oYW5kbGUtPmdl
dEludGVybmFsKCktPm1faG9zdFdlYkNoYWxsZW5nZSA9IGNoYWxsZW5nZTsKKyAgICB9Cit9CisK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5oCmluZGV4IDY4YjIxN2UuLjczNDI0
NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJy
eS9OZXR3b3JrSm9iLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFj
a2JlcnJ5L05ldHdvcmtKb2IuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMDksIDIwMTAsIDIwMTEgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAsIDIwMTEsIDIwMTIsIDIwMTMg
UmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgogICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5l
cmFsIFB1YmxpYwpAQCAtNzMsNyArNzMsMTIgQEAgcHVibGljOgogICAgIHZvaWQgaGFuZGxlTm90
aWZ5U3RhdHVzUmVjZWl2ZWQoaW50IHN0YXR1cywgY29uc3QgU3RyaW5nJiBtZXNzYWdlKTsKICAg
ICB2aXJ0dWFsIHZvaWQgbm90aWZ5SGVhZGVyc1JlY2VpdmVkKGNvbnN0IEJsYWNrQmVycnk6OlBs
YXRmb3JtOjpOZXR3b3JrUmVxdWVzdDo6SGVhZGVyTGlzdCYgaGVhZGVycyk7CiAgICAgdmlydHVh
bCB2b2lkIG5vdGlmeU11bHRpcGFydEhlYWRlclJlY2VpdmVkKGNvbnN0IGNoYXIqIGtleSwgY29u
c3QgY2hhciogdmFsdWUpOwotICAgIHZpcnR1YWwgdm9pZCBub3RpZnlBdXRoUmVjZWl2ZWQoQmxh
Y2tCZXJyeTo6UGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpBdXRoVHlwZSwgQmxhY2tCZXJyeTo6
UGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpBdXRoU2NoZW1lLCBjb25zdCBjaGFyKiByZWFsbSwg
QXV0aFJlc3VsdCwgYm9vbCByZXF1aXJlQ3JlZGVudGlhbHMpOworICAgIHZpcnR1YWwgdm9pZCBu
b3RpZnlBdXRoUmVjZWl2ZWQoQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpB
dXRoVHlwZSwKKyAgICAgICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpB
dXRoUHJvdG9jb2wsCisgICAgICAgIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpOZXR3b3JrUmVxdWVz
dDo6QXV0aFNjaGVtZSwKKyAgICAgICAgY29uc3QgY2hhciogcmVhbG0sCisgICAgICAgIEF1dGhS
ZXN1bHQsCisgICAgICAgIGJvb2wgcmVxdWlyZUNyZWRlbnRpYWxzKTsKICAgICAvLyBub3RpZnlT
dHJpbmdIZWFkZXJSZWNlaXZlZCBleGlzdHMgb25seSB0byByZXNvbHZlIGFtYmlndWl0eSBiZXR3
ZWVuIGNoYXIqIGFuZCBTdHJpbmcgcGFyYW1ldGVycwogICAgIHZvaWQgbm90aWZ5U3RyaW5nSGVh
ZGVyUmVjZWl2ZWQoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0IFN0cmluZyYgdmFsdWUpOwogICAg
IHZvaWQgaGFuZGxlTm90aWZ5SGVhZGVyUmVjZWl2ZWQoY29uc3QgU3RyaW5nJiBrZXksIGNvbnN0
IFN0cmluZyYgdmFsdWUpOwpAQCAtMTM1LDE0ICsxNDAsMTcgQEAgcHJpdmF0ZToKICAgICBib29s
IHNlbmRSZXF1ZXN0V2l0aENyZWRlbnRpYWxzKFByb3RlY3Rpb25TcGFjZVNlcnZlclR5cGUsIFBy
b3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lLCBjb25zdCBTdHJpbmcmIHJlYWxtLCBi
b29sIHJlcXVpcmVDcmVkZW50aWFscyA9IHRydWUpOwogCiAgICAgdm9pZCBzdG9yZUNyZWRlbnRp
YWxzKCk7Ci0KKyAgICB2b2lkIHN0b3JlQ3JlZGVudGlhbHMoQXV0aGVudGljYXRpb25DaGFsbGVu
Z2UmKTsKICAgICB2b2lkIHB1cmdlQ3JlZGVudGlhbHMoKTsKKyAgICB2b2lkIHB1cmdlQ3JlZGVu
dGlhbHMoQXV0aGVudGljYXRpb25DaGFsbGVuZ2UmKTsKIAogICAgIGJvb2wgaXNFcnJvcihpbnQg
c3RhdHVzQ29kZSkgY29uc3QKICAgICB7CiAgICAgICAgIHJldHVybiBzdGF0dXNDb2RlIDwgMCB8
fCAoNDAwIDw9IHN0YXR1c0NvZGUgJiYgc3RhdHVzQ29kZSA8IDYwMCk7CiAgICAgfQogCisgICAg
dm9pZCB1cGRhdGVDdXJyZW50V2ViQ2hhbGxlbmdlKGNvbnN0IEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlJiwgYm9vbCBhbGxvd092ZXJ3cml0ZSA9IHRydWUpOworCiBwcml2YXRlOgogICAgIGludCBt
X3BsYXllcklkOwogICAgIFN0cmluZyBtX3BhZ2VHcm91cE5hbWU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya01hbmFnZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtNYW5h
Z2VyLmNwcAppbmRleCAyNmRmMzVkLi42NGFhYTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya01hbmFnZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrTWFuYWdlci5j
cHAKQEAgLTM0LDYgKzM0LDggQEAKICNpbmNsdWRlIDxuZXR3b3JrL0ZpbHRlclN0cmVhbS5oPgog
I2luY2x1ZGUgPG5ldHdvcmsvTmV0d29ya1JlcXVlc3QuaD4KIAordXNpbmcgQmxhY2tCZXJyeTo6
UGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OworCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIFNJTkdM
RVRPTl9JTklUSUFMSVpFUl9USFJFQURVTlNBRkUoTmV0d29ya01hbmFnZXIpCkBAIC01NSw2ICs1
Nyw3OSBAQCBib29sIE5ldHdvcmtNYW5hZ2VyOjpzdGFydEpvYihpbnQgcGxheWVySWQsIFBhc3NS
ZWZQdHI8UmVzb3VyY2VIYW5kbGU+IGpvYiwgY29ucwogICAgIHJldHVybiBzdGFydEpvYihwbGF5
ZXJJZCwgcGFnZS0+Z3JvdXBOYW1lKCksIGpvYiwgcmVxdWVzdCwgc3RyZWFtRmFjdG9yeSwgZnJh
bWUsIGRlZmVyc0xvYWRpbmcgPyAxIDogMCk7CiB9CiAKK3N0YXRpYyB2b2lkIHNldEF1dGhDcmVk
ZW50aWFscyhOZXR3b3JrUmVxdWVzdCYgcGxhdGZvcm1SZXF1ZXN0LCBjb25zdCBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZSYgY2hhbGxlbmdlKQoreworICAgIGlmIChjaGFsbGVuZ2UuaXNOdWxsKCkp
CisgICAgICAgIHJldHVybjsKKworICAgIENyZWRlbnRpYWwgY3JlZGVudGlhbCA9IGNoYWxsZW5n
ZS5wcm9wb3NlZENyZWRlbnRpYWwoKTsKKyAgICBjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3Rl
Y3Rpb25TcGFjZSA9IGNoYWxsZW5nZS5wcm90ZWN0aW9uU3BhY2UoKTsKKworICAgIFN0cmluZyB1
c2VybmFtZSA9IGNyZWRlbnRpYWwudXNlcigpOworICAgIFN0cmluZyBwYXNzd29yZCA9IGNyZWRl
bnRpYWwucGFzc3dvcmQoKTsKKworICAgIE5ldHdvcmtSZXF1ZXN0OjpBdXRoU2NoZW1lIGF1dGhT
Y2hlbWUgPSBOZXR3b3JrUmVxdWVzdDo6QXV0aFNjaGVtZU5vbmU7CisgICAgc3dpdGNoIChwcm90
ZWN0aW9uU3BhY2UuYXV0aGVudGljYXRpb25TY2hlbWUoKSkgeworICAgIGNhc2UgUHJvdGVjdGlv
blNwYWNlQXV0aGVudGljYXRpb25TY2hlbWVEZWZhdWx0OgorICAgICAgICBhdXRoU2NoZW1lID0g
TmV0d29ya1JlcXVlc3Q6OkF1dGhTY2hlbWVEZWZhdWx0OworICAgICAgICBicmVhazsKKyAgICBj
YXNlIFByb3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lSFRUUEJhc2ljOgorICAgICAg
ICBhdXRoU2NoZW1lID0gTmV0d29ya1JlcXVlc3Q6OkF1dGhTY2hlbWVIVFRQQmFzaWM7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgUHJvdGVjdGlvblNwYWNlQXV0aGVudGljYXRpb25TY2hlbWVI
VFRQRGlnZXN0OgorICAgICAgICBhdXRoU2NoZW1lID0gTmV0d29ya1JlcXVlc3Q6OkF1dGhTY2hl
bWVIVFRQRGlnZXN0OworICAgICAgICBicmVhazsKKyAgICBjYXNlIFByb3RlY3Rpb25TcGFjZUF1
dGhlbnRpY2F0aW9uU2NoZW1lTmVnb3RpYXRlOgorICAgICAgICBhdXRoU2NoZW1lID0gTmV0d29y
a1JlcXVlc3Q6OkF1dGhTY2hlbWVOZWdvdGlhdGU7CisgICAgICAgIGJyZWFrOworICAgIGNhc2Ug
UHJvdGVjdGlvblNwYWNlQXV0aGVudGljYXRpb25TY2hlbWVOVExNOgorICAgICAgICBhdXRoU2No
ZW1lID0gTmV0d29ya1JlcXVlc3Q6OkF1dGhTY2hlbWVOVExNOworICAgICAgICBicmVhazsKKyAg
ICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgYnJlYWs7
CisgICAgfQorCisgICAgTmV0d29ya1JlcXVlc3Q6OkF1dGhUeXBlIGF1dGhUeXBlID0gTmV0d29y
a1JlcXVlc3Q6OkF1dGhUeXBlTm9uZTsKKyAgICBOZXR3b3JrUmVxdWVzdDo6QXV0aFByb3RvY29s
IGF1dGhQcm90b2NvbCA9IE5ldHdvcmtSZXF1ZXN0OjpBdXRoUHJvdG9jb2xOb25lOworICAgIHN3
aXRjaCAocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkgeworICAgIGNhc2UgUHJvdGVjdGlv
blNwYWNlU2VydmVySFRUUDoKKyAgICAgICAgYXV0aFR5cGUgPSBOZXR3b3JrUmVxdWVzdDo6QXV0
aFR5cGVIb3N0OworICAgICAgICBhdXRoUHJvdG9jb2wgPSBOZXR3b3JrUmVxdWVzdDo6QXV0aFBy
b3RvY29sSFRUUDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQcm90ZWN0aW9uU3BhY2VTZXJ2
ZXJIVFRQUzoKKyAgICAgICAgYXV0aFR5cGUgPSBOZXR3b3JrUmVxdWVzdDo6QXV0aFR5cGVIb3N0
OworICAgICAgICBhdXRoUHJvdG9jb2wgPSBOZXR3b3JrUmVxdWVzdDo6QXV0aFByb3RvY29sSFRU
UFM7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUHJvdGVjdGlvblNwYWNlU2VydmVyRlRQOgor
ICAgICAgICBhdXRoVHlwZSA9IE5ldHdvcmtSZXF1ZXN0OjpBdXRoVHlwZUhvc3Q7CisgICAgICAg
IGF1dGhQcm90b2NvbCA9IE5ldHdvcmtSZXF1ZXN0OjpBdXRoUHJvdG9jb2xGVFA7CisgICAgICAg
IGJyZWFrOworICAgIGNhc2UgUHJvdGVjdGlvblNwYWNlU2VydmVyRlRQUzoKKyAgICAgICAgYXV0
aFR5cGUgPSBOZXR3b3JrUmVxdWVzdDo6QXV0aFR5cGVIb3N0OworICAgICAgICBhdXRoUHJvdG9j
b2wgPSBOZXR3b3JrUmVxdWVzdDo6QXV0aFByb3RvY29sRlRQUzsKKyAgICAgICAgYnJlYWs7Cisg
ICAgY2FzZSBQcm90ZWN0aW9uU3BhY2VQcm94eUhUVFA6CisgICAgICAgIGF1dGhUeXBlID0gTmV0
d29ya1JlcXVlc3Q6OkF1dGhUeXBlUHJveHk7CisgICAgICAgIGF1dGhQcm90b2NvbCA9IE5ldHdv
cmtSZXF1ZXN0OjpBdXRoUHJvdG9jb2xIVFRQOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFBy
b3RlY3Rpb25TcGFjZVByb3h5SFRUUFM6CisgICAgICAgIGF1dGhUeXBlID0gTmV0d29ya1JlcXVl
c3Q6OkF1dGhUeXBlUHJveHk7CisgICAgICAgIGF1dGhQcm90b2NvbCA9IE5ldHdvcmtSZXF1ZXN0
OjpBdXRoUHJvdG9jb2xIVFRQUzsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBQcm90ZWN0aW9u
U3BhY2VQcm94eUZUUDoKKyAgICAgICAgYXV0aFR5cGUgPSBOZXR3b3JrUmVxdWVzdDo6QXV0aFR5
cGVQcm94eTsKKyAgICAgICAgYXV0aFByb3RvY29sID0gTmV0d29ya1JlcXVlc3Q6OkF1dGhQcm90
b2NvbEZUUDsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CisgICAgICAgIGJyZWFrOworICAgIH0KKworICAgIGlmIChhdXRoVHlwZSAh
PSBOZXR3b3JrUmVxdWVzdDo6QXV0aFR5cGVOb25lICYmIGF1dGhQcm90b2NvbCAhPSBOZXR3b3Jr
UmVxdWVzdDo6QXV0aFByb3RvY29sTm9uZSAmJiBhdXRoU2NoZW1lICE9IE5ldHdvcmtSZXF1ZXN0
OjpBdXRoU2NoZW1lTm9uZSkKKyAgICAgICAgcGxhdGZvcm1SZXF1ZXN0LnNldENyZWRlbnRpYWxz
KGF1dGhUeXBlLCBhdXRoUHJvdG9jb2wsIGF1dGhTY2hlbWUsIHVzZXJuYW1lLnV0ZjgoKS5kYXRh
KCksIHBhc3N3b3JkLnV0ZjgoKS5kYXRhKCkpOworfQorCiBib29sIE5ldHdvcmtNYW5hZ2VyOjpz
dGFydEpvYihpbnQgcGxheWVySWQsIGNvbnN0IFN0cmluZyYgcGFnZUdyb3VwTmFtZSwgUGFzc1Jl
ZlB0cjxSZXNvdXJjZUhhbmRsZT4gam9iLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qs
IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpOZXR3b3JrU3RyZWFtRmFjdG9yeSogc3RyZWFtRmFjdG9y
eSwgRnJhbWUqIGZyYW1lLCBpbnQgZGVmZXJMb2FkaW5nQ291bnQsIGludCByZWRpcmVjdENvdW50
KQogewogICAgIC8vIE1ha2Ugc3VyZSB0aGUgUmVzb3VyY2VIYW5kbGUgZG9lc24ndCBnbyBvdXQg
b2Ygc2NvcGUgd2hpbGUgY2FsbGluZyBjYWxsYmFja3MuCkBAIC03OCw2NyArMTUzLDggQEAgYm9v
bCBOZXR3b3JrTWFuYWdlcjo6c3RhcnRKb2IoaW50IHBsYXllcklkLCBjb25zdCBTdHJpbmcmIHBh
Z2VHcm91cE5hbWUsIFBhc3NSZWYKICAgICBwbGF0Zm9ybVJlcXVlc3Quc2V0U2VjdXJpdHlPcmln
aW4oZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPnRvUmF3U3RyaW5nKCkpOwog
CiAgICAgLy8gQXR0YWNoIGFueSBhcHBsaWNhYmxlIGF1dGggY3JlZGVudGlhbHMgdG8gdGhlIE5l
dHdvcmtSZXF1ZXN0LgotICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlJiBjaGFsbGVuZ2UgPSBn
dWFyZEpvYi0+Z2V0SW50ZXJuYWwoKS0+bV9jdXJyZW50V2ViQ2hhbGxlbmdlOwotICAgIGlmICgh
Y2hhbGxlbmdlLmlzTnVsbCgpKSB7Ci0gICAgICAgIENyZWRlbnRpYWwgY3JlZGVudGlhbCA9IGNo
YWxsZW5nZS5wcm9wb3NlZENyZWRlbnRpYWwoKTsKLSAgICAgICAgY29uc3QgUHJvdGVjdGlvblNw
YWNlJiBwcm90ZWN0aW9uU3BhY2UgPSBjaGFsbGVuZ2UucHJvdGVjdGlvblNwYWNlKCk7Ci0KLSAg
ICAgICAgU3RyaW5nIHVzZXJuYW1lID0gY3JlZGVudGlhbC51c2VyKCk7Ci0gICAgICAgIFN0cmlu
ZyBwYXNzd29yZCA9IGNyZWRlbnRpYWwucGFzc3dvcmQoKTsKLQotICAgICAgICBCbGFja0JlcnJ5
OjpQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q6OkF1dGhUeXBlIGF1dGhUeXBlID0gQmxhY2tCZXJy
eTo6UGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpBdXRoVHlwZU5vbmU7Ci0gICAgICAgIHN3aXRj
aCAocHJvdGVjdGlvblNwYWNlLnNlcnZlclR5cGUoKSkgewotICAgICAgICBjYXNlIFByb3RlY3Rp
b25TcGFjZVNlcnZlckhUVFA6Ci0gICAgICAgICAgICBhdXRoVHlwZSA9IEJsYWNrQmVycnk6OlBs
YXRmb3JtOjpOZXR3b3JrUmVxdWVzdDo6QXV0aFR5cGVIVFRQOwotICAgICAgICAgICAgYnJlYWs7
Ci0gICAgICAgIGNhc2UgUHJvdGVjdGlvblNwYWNlU2VydmVySFRUUFM6Ci0gICAgICAgICAgICBh
dXRoVHlwZSA9IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpOZXR3b3JrUmVxdWVzdDo6QXV0aFR5cGVI
VFRQUzsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNlIFByb3RlY3Rpb25TcGFjZVNl
cnZlckZUUDoKLSAgICAgICAgICAgIGF1dGhUeXBlID0gQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok5l
dHdvcmtSZXF1ZXN0OjpBdXRoVHlwZUZUUDsKLSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBj
YXNlIFByb3RlY3Rpb25TcGFjZVNlcnZlckZUUFM6Ci0gICAgICAgICAgICBhdXRoVHlwZSA9IEJs
YWNrQmVycnk6OlBsYXRmb3JtOjpOZXR3b3JrUmVxdWVzdDo6QXV0aFR5cGVGVFBTOwotICAgICAg
ICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgUHJvdGVjdGlvblNwYWNlUHJveHlIVFRQOgotICAg
ICAgICAgICAgYXV0aFR5cGUgPSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q6
OkF1dGhUeXBlUHJveHlIVFRQOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGNhc2UgUHJv
dGVjdGlvblNwYWNlUHJveHlIVFRQUzoKLSAgICAgICAgICAgIGF1dGhUeXBlID0gQmxhY2tCZXJy
eTo6UGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpBdXRoVHlwZVByb3h5SFRUUFM7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgY2FzZSBQcm90ZWN0aW9uU3BhY2VQcm94eUZUUDoKLSAgICAg
ICAgICAgIGF1dGhUeXBlID0gQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpB
dXRoVHlwZVByb3h5RlRQOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0g
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9Ci0KLSAgICAgICAgQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpB
dXRoU2NoZW1lIGF1dGhTY2hlbWUgPSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TmV0d29ya1JlcXVl
c3Q6OkF1dGhTY2hlbWVOb25lOwotICAgICAgICBzd2l0Y2ggKHByb3RlY3Rpb25TcGFjZS5hdXRo
ZW50aWNhdGlvblNjaGVtZSgpKSB7Ci0gICAgICAgIGNhc2UgUHJvdGVjdGlvblNwYWNlQXV0aGVu
dGljYXRpb25TY2hlbWVEZWZhdWx0OgotICAgICAgICAgICAgYXV0aFNjaGVtZSA9IEJsYWNrQmVy
cnk6OlBsYXRmb3JtOjpOZXR3b3JrUmVxdWVzdDo6QXV0aFNjaGVtZURlZmF1bHQ7Ci0gICAgICAg
ICAgICBicmVhazsKLSAgICAgICAgY2FzZSBQcm90ZWN0aW9uU3BhY2VBdXRoZW50aWNhdGlvblNj
aGVtZUhUVFBCYXNpYzoKLSAgICAgICAgICAgIGF1dGhTY2hlbWUgPSBCbGFja0JlcnJ5OjpQbGF0
Zm9ybTo6TmV0d29ya1JlcXVlc3Q6OkF1dGhTY2hlbWVIVFRQQmFzaWM7Ci0gICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgY2FzZSBQcm90ZWN0aW9uU3BhY2VBdXRoZW50aWNhdGlvblNjaGVtZUhU
VFBEaWdlc3Q6Ci0gICAgICAgICAgICBhdXRoU2NoZW1lID0gQmxhY2tCZXJyeTo6UGxhdGZvcm06
Ok5ldHdvcmtSZXF1ZXN0OjpBdXRoU2NoZW1lSFRUUERpZ2VzdDsKLSAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICBjYXNlIFByb3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lTmVnb3Rp
YXRlOgotICAgICAgICAgICAgYXV0aFNjaGVtZSA9IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpOZXR3
b3JrUmVxdWVzdDo6QXV0aFNjaGVtZU5lZ290aWF0ZTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICBjYXNlIFByb3RlY3Rpb25TcGFjZUF1dGhlbnRpY2F0aW9uU2NoZW1lTlRMTToKLSAgICAg
ICAgICAgIGF1dGhTY2hlbWUgPSBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q6
OkF1dGhTY2hlbWVOVExNOwotICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgIGRlZmF1bHQ6Ci0g
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9Ci0KLSAgICAgICAgaWYgKGF1dGhUeXBlICE9IEJsYWNrQmVycnk6OlBsYXRmb3JtOjpO
ZXR3b3JrUmVxdWVzdDo6QXV0aFR5cGVOb25lICYmIGF1dGhTY2hlbWUgIT0gQmxhY2tCZXJyeTo6
UGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpBdXRoU2NoZW1lTm9uZSkKLSAgICAgICAgICAgIHBs
YXRmb3JtUmVxdWVzdC5zZXRDcmVkZW50aWFscyh1c2VybmFtZS51dGY4KCkuZGF0YSgpLCBwYXNz
d29yZC51dGY4KCkuZGF0YSgpLCBhdXRoVHlwZSwgYXV0aFNjaGVtZSk7Ci0gICAgfQorICAgIHNl
dEF1dGhDcmVkZW50aWFscyhwbGF0Zm9ybVJlcXVlc3QsIGd1YXJkSm9iLT5nZXRJbnRlcm5hbCgp
LT5tX2hvc3RXZWJDaGFsbGVuZ2UpOworICAgIHNldEF1dGhDcmVkZW50aWFscyhwbGF0Zm9ybVJl
cXVlc3QsIGd1YXJkSm9iLT5nZXRJbnRlcm5hbCgpLT5tX3Byb3h5V2ViQ2hhbGxlbmdlKTsKIAog
ICAgIGlmICghcmVxdWVzdC5vdmVycmlkZUNvbnRlbnRUeXBlKCkuaXNFbXB0eSgpKQogICAgICAg
ICBwbGF0Zm9ybVJlcXVlc3Quc2V0T3ZlcnJpZGVDb250ZW50VHlwZShyZXF1ZXN0Lm92ZXJyaWRl
Q29udGVudFR5cGUoKS5sYXRpbjEoKS5kYXRhKCkpOwotLSAKMS43LjUuNAoK
</data>

          </attachment>
      

    </bug>

</bugzilla>