<?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>95488</bug_id>
          
          <creation_ts>2012-08-30 12:47:26 -0700</creation_ts>
          <short_desc>[BlackBerry] when one of multiple tabs uses authentication, user can get the auth dialog while the other tab has focus.</short_desc>
          <delta_ts>2012-09-07 10:12:58 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit BlackBerry</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>Other</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="Lyon Chen">liachen</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>joenotcharles</cc>
    
    <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>708916</commentid>
    <comment_count>0</comment_count>
    <who name="Lyon Chen">liachen</who>
    <bug_when>2012-08-30 12:47:26 -0700</bug_when>
    <thetext>Observed Result:
Constantly being prompted for username/password when one of multiple tabs uses
NTLM style authentication

Expected Result:
Should not be prompted for username/password more than once when using multiple
tabs

Steps To Reproduce:
open a tab and browse to a NTLM authenticated site
http://lifeatrim.rim.net/

enter the rim account name and password to login to the site
open a new tab and browse to another site such as www.rim.com</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708919</commentid>
    <comment_count>1</comment_count>
    <who name="Lyon Chen">liachen</who>
    <bug_when>2012-08-30 12:48:00 -0700</bug_when>
    <thetext>Add [BlackBerry] to title.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708927</commentid>
    <comment_count>2</comment_count>
    <who name="Lyon Chen">liachen</who>
    <bug_when>2012-08-30 12:53:47 -0700</bug_when>
    <thetext>Add Yong, Joe, and Rob.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714021</commentid>
    <comment_count>3</comment_count>
      <attachid>162653</attachid>
    <who name="Lyon Chen">liachen</who>
    <bug_when>2012-09-06 19:26:14 -0700</bug_when>
    <thetext>Created attachment 162653
First patch for 95488</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714511</commentid>
    <comment_count>4</comment_count>
      <attachid>162653</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-09-07 07:38:30 -0700</bug_when>
    <thetext>Comment on attachment 162653
First patch for 95488

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

&gt; Source/WebCore/ChangeLog:8
&gt; +
&gt; +        Add AuthenticationChallengeClient interface to support asynchronous

Better put the RIM PR number here, so we will be able to link the commit to the PR

&gt; Source/WebCore/ChangeLog:16
&gt; +        Note: this patch itself will not fix this bug, but it prepares the base
&gt; +        for the next patch by making the authentication asynchronous to NetworkJob
&gt; +        and MediaPlayerPrivateBlackBerry.

why not put them together? That will make it easier for reviewer to understand how it will work

&gt; Source/WebCore/ChangeLog:18
&gt; +        No new tests as there is no change of behavior.

Doing it in async mode is a big behavior change, with your next patch :) We don&apos;t have to upstream a layout test for our platform-specific test though.

&gt; Source/WebCore/platform/network/blackberry/NetworkJob.cpp:832
&gt; +    if (result != AuthenticationChallengeSuccess
&gt; +            || protectionSpace.host().isEmpty()
&gt; +            || !url.isValid()) {

style: using one line is good enough?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714515</commentid>
    <comment_count>5</comment_count>
      <attachid>162653</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-09-07 07:40:57 -0700</bug_when>
    <thetext>Comment on attachment 162653
First patch for 95488

please put &quot;internally reviewed by Joe Mason&quot; in the change log. otherwise r+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714535</commentid>
    <comment_count>6</comment_count>
      <attachid>162777</attachid>
    <who name="Lyon Chen">liachen</who>
    <bug_when>2012-09-07 08:14:57 -0700</bug_when>
    <thetext>Created attachment 162777
Patch updated based on Yong&apos;s comments.

Yong: thanks, this is the updated patch, please check whether it is OK or need further improvement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714661</commentid>
    <comment_count>7</comment_count>
      <attachid>162777</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-07 10:12:55 -0700</bug_when>
    <thetext>Comment on attachment 162777
Patch updated based on Yong&apos;s comments.

Clearing flags on attachment: 162777

Committed r127884: &lt;http://trac.webkit.org/changeset/127884&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714662</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-07 10:12:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162653</attachid>
            <date>2012-09-06 19:26:14 -0700</date>
            <delta_ts>2012-09-07 08:14:57 -0700</delta_ts>
            <desc>First patch for 95488</desc>
            <filename>95488-1.patch</filename>
            <type>text/plain</type>
            <size>19154</size>
            <attacher name="Lyon Chen">liachen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NTA0YWYwLi5kYTA4NjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDAg
QEAKKzIwMTItMDktMDYgIExpYW5naHVpIENoZW4gIDxsaWFjaGVuQHJpbS5jb20+CisKKyAgICAg
ICAgW0JsYWNrQmVycnldIHdoZW4gb25lIG9mIG11bHRpcGxlIHRhYnMgdXNlcyBhdXRoZW50aWNh
dGlvbiwgdXNlciBjYW4gZ2V0IHRoZSBhdXRoIGRpYWxvZyB3aGlsZSB0aGUgb3RoZXIgdGFiIGhh
cyBmb2N1cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk1NDg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QWRkIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQ2xpZW50IGludGVyZmFjZSB0byBzdXBwb3J0IGFz
eW5jaHJvbm91cworICAgICAgICBhdXRoZW50aWNhdGlvbiBjaGFsbGVuZ2UuCisgICAgICAgIE5l
dHdvcmtKb2IgYW5kIE1lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnkgYXJlIGNoYW5nZWQgdG8g
aW5oZXJpdCBmcm9tCisgICAgICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQ2xpZW50IHRvIG1h
a2UgYXN5bmNocm9ub3VzIGF1dGhlbnRpY2F0aW9uCisgICAgICAgIGNoYWxsZW5nZS4KKworICAg
ICAgICBOb3RlOiB0aGlzIHBhdGNoIGl0c2VsZiB3aWxsIG5vdCBmaXggdGhpcyBidWcsIGJ1dCBp
dCBwcmVwYXJlcyB0aGUgYmFzZQorICAgICAgICBmb3IgdGhlIG5leHQgcGF0Y2ggYnkgbWFraW5n
IHRoZSBhdXRoZW50aWNhdGlvbiBhc3luY2hyb25vdXMgdG8gTmV0d29ya0pvYgorICAgICAgICBh
bmQgTWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS4KKworICAgICAgICBObyBuZXcgdGVzdHMg
YXMgdGhlcmUgaXMgbm8gY2hhbmdlIG9mIGJlaGF2aW9yLgorCisgICAgICAgICogcGxhdGZvcm0v
YmxhY2tiZXJyeS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXIuaDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQ2xpZW50KToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L1BhZ2VDbGllbnRCbGFja0JlcnJ5Lmg6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5
L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFQbGF5ZXJQcml2YXRlOjpvbkF1dGhlbnRpY2F0aW9uTmVlZGVkKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUGxheWVyUHJpdmF0ZTo6bm90aWZ5Q2hhbGxlbmdlUmVzdWx0KToKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVy
cnkuaDoKKyAgICAgICAgKE1lZGlhUGxheWVyUHJpdmF0ZSk6CisgICAgICAgICogcGxhdGZvcm0v
bmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmV0
d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMpOgorICAgICAgICAoV2ViQ29yZTo6
TmV0d29ya0pvYjo6bm90aWZ5Q2hhbGxlbmdlUmVzdWx0KToKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmg6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKE5ldHdvcmtKb2IpOgorCiAyMDEyLTA5LTA2ICBBZGFt
IEJhcnRoICA8YWJhcnRoQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbVjhdIFdlYXZlIGNyZWF0
aW9uQ29udGV4dCB0aHJvdWdoIHRvVjggYW5kIHJlbGF0ZWQgZnVuY3Rpb25zCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0F1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlTWFuYWdlci5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9BdXRoZW50
aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi41MjIyNGY1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YmxhY2tiZXJyeS9BdXRoZW50aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXIuaApAQCAtMCwwICsxLDQw
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVk
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAq
IExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZy
ZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEgIFVTQQorICovCisKKyNpZm5kZWYgQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VNYW5hZ2VyX2gKKyNkZWZpbmUgQXV0aGVudGljYXRpb25DaGFs
bGVuZ2VNYW5hZ2VyX2gKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBDcmVkZW50aWFs
OworY2xhc3MgS1VSTDsKK2NsYXNzIFByb3RlY3Rpb25TcGFjZTsKKworZW51bSBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZVJlc3VsdCB7CisgICAgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTdWNjZXNz
LAorICAgIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQ2FuY2VsbGVkCit9OworCitjbGFzcyBBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZUNsaWVudCB7CitwdWJsaWM6CisgICAgdmlydHVhbCB2b2lkIG5v
dGlmeUNoYWxsZW5nZVJlc3VsdChjb25zdCBLVVJMJiwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiwg
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VSZXN1bHQsIGNvbnN0IENyZWRlbnRpYWwmKSA9IDA7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZU1hbmFnZXJfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxh
Y2tiZXJyeS9QYWdlQ2xpZW50QmxhY2tCZXJyeS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
YmxhY2tiZXJyeS9QYWdlQ2xpZW50QmxhY2tCZXJyeS5oCmluZGV4IDc1MmJkYjYuLmIyMzdkMzkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUGFnZUNsaWVu
dEJsYWNrQmVycnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1Bh
Z2VDbGllbnRCbGFja0JlcnJ5LmgKQEAgLTE5LDcgKzE5LDYgQEAKICNpZm5kZWYgUGFnZUNsaWVu
dEJsYWNrQmVycnlfaAogI2RlZmluZSBQYWdlQ2xpZW50QmxhY2tCZXJyeV9oCiAKLSNpbmNsdWRl
ICJDcmVkZW50aWFsLmgiCiAjaW5jbHVkZSAiQ3Vyc29yLmgiCiAjaW5jbHVkZSAiV2ViUGFnZUNs
aWVudC5oIgogCkBAIC0zMyw2ICszMiw4IEBAIG5hbWVzcGFjZSBCbGFja0JlcnJ5IHsKIH0KIAog
bmFtZXNwYWNlIFdlYkNvcmUgeworICAgIGNsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQ2xp
ZW50OworICAgIGNsYXNzIENyZWRlbnRpYWw7CiAgICAgY2xhc3MgSW50UmVjdDsKICAgICBjbGFz
cyBJbnRTaXplOwogICAgIGNsYXNzIEtVUkw7CkBAIC03MCw3ICs3MSw3IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIGludCBzaG93QWxlcnREaWFsb2coQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdl
Q2xpZW50OjpBbGVydFR5cGUpID0gMDsKICAgICB2aXJ0dWFsIGJvb2wgaXNBY3RpdmUoKSBjb25z
dCA9IDA7CiAgICAgdmlydHVhbCBib29sIGlzVmlzaWJsZSgpIGNvbnN0ID0gMDsKLSAgICB2aXJ0
dWFsIGJvb2wgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6S1VSTCYsIGNv
bnN0IFdlYkNvcmU6OlByb3RlY3Rpb25TcGFjZSYsIFdlYkNvcmU6OkNyZWRlbnRpYWwmKSA9IDA7
CisgICAgdmlydHVhbCB2b2lkIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IFdlYkNvcmU6
OktVUkwmLCBjb25zdCBXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2UmLCBjb25zdCBXZWJDb3JlOjpD
cmVkZW50aWFsJiwgV2ViQ29yZTo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VDbGllbnQqKSA9IDA7
CiAgICAgdmlydHVhbCBTYXZlQ3JlZGVudGlhbFR5cGUgbm90aWZ5U2hvdWxkU2F2ZUNyZWRlbnRp
YWwoYm9vbCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBzeW5jUHJveHlDcmVkZW50aWFsKGNvbnN0
IFdlYkNvcmU6OkNyZWRlbnRpYWwmKSA9IDA7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0Jl
cnJ5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTWVk
aWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5jcHAKaW5kZXggMTNiZGNmMC4uYjRlNWNlMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRp
YVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9ibGFja2JlcnJ5L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuY3BwCkBA
IC02OTYsMjUgKzY5NiwzMSBAQCBzdGF0aWMgUHJvdGVjdGlvblNwYWNlIGdlbmVyYXRlUHJvdGVj
dGlvblNwYWNlRnJvbU1NUkF1dGhDaGFsbGVuZ2UoY29uc3QgTU1SQXV0aAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8UHJvdGVjdGlvblNwYWNlQXV0aGVudGljYXRpb25T
Y2hlbWU+KGF1dGhDaGFsbGVuZ2UuYXV0aFNjaGVtZSgpKSk7CiB9CiAKLWJvb2wgTWVkaWFQbGF5
ZXJQcml2YXRlOjpvbkF1dGhlbnRpY2F0aW9uTmVlZGVkKE1NUkF1dGhDaGFsbGVuZ2UmIGF1dGhD
aGFsbGVuZ2UpCit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6b25BdXRoZW50aWNhdGlvbk5lZWRl
ZChNTVJBdXRoQ2hhbGxlbmdlJiBhdXRoQ2hhbGxlbmdlKQogewogICAgIEtVUkwgdXJsKFBhcnNl
ZFVSTFN0cmluZywgU3RyaW5nKGF1dGhDaGFsbGVuZ2UudXJsKCkuY19zdHIoKSkpOwogICAgIGlm
ICghdXJsLmlzVmFsaWQoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm47
CiAKICAgICBQcm90ZWN0aW9uU3BhY2UgcHJvdGVjdGlvblNwYWNlID0gZ2VuZXJhdGVQcm90ZWN0
aW9uU3BhY2VGcm9tTU1SQXV0aENoYWxsZW5nZShhdXRoQ2hhbGxlbmdlKTsKICAgICBDcmVkZW50
aWFsIGNyZWRlbnRpYWwgPSBDcmVkZW50aWFsU3RvcmFnZTo6Z2V0KHByb3RlY3Rpb25TcGFjZSk7
Ci0gICAgYm9vbCBpc0NvbmZpcm1lZCA9IGZhbHNlOwotICAgIGlmIChjcmVkZW50aWFsLmlzRW1w
dHkoKSkgewotICAgICAgICBpc0NvbmZpcm1lZCA9IG1fd2ViQ29yZVBsYXllci0+bWVkaWFQbGF5
ZXJDbGllbnQoKS0+bWVkaWFQbGF5ZXJIb3N0V2luZG93KCktPnBsYXRmb3JtUGFnZUNsaWVudCgp
LT5hdXRoZW50aWNhdGlvbkNoYWxsZW5nZSh1cmwsIHByb3RlY3Rpb25TcGFjZSwgY3JlZGVudGlh
bCk7CisgICAgaWYgKCFjcmVkZW50aWFsLmlzRW1wdHkoKSkgeworICAgICAgICBub3RpZnlDaGFs
bGVuZ2VSZXN1bHQodXJsLCBwcm90ZWN0aW9uU3BhY2UsIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
U3VjY2VzcywgY3JlZGVudGlhbCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAKLSAgICB9IGVs
c2UKLSAgICAgICAgaXNDb25maXJtZWQgPSB0cnVlOworICAgIGlmIChmcmFtZVZpZXcoKSAmJiBm
cmFtZVZpZXcoKS0+aG9zdFdpbmRvdygpKQorICAgICAgICBmcmFtZVZpZXcoKS0+aG9zdFdpbmRv
dygpLT5wbGF0Zm9ybVBhZ2VDbGllbnQoKS0+YXV0aGVudGljYXRpb25DaGFsbGVuZ2UodXJsLCBw
cm90ZWN0aW9uU3BhY2UsIGNyZWRlbnRpYWwsIHRoaXMpOworfQogCi0gICAgaWYgKGlzQ29uZmly
bWVkKQotICAgICAgICBhdXRoQ2hhbGxlbmdlLnNldENyZWRlbnRpYWwoY3JlZGVudGlhbC51c2Vy
KCkudXRmOCgpLmRhdGEoKSwgY3JlZGVudGlhbC5wYXNzd29yZCgpLnV0ZjgoKS5kYXRhKCksIHN0
YXRpY19jYXN0PE1NUkF1dGhDaGFsbGVuZ2U6OkNyZWRlbnRpYWxQZXJzaXN0ZW5jZT4oY3JlZGVu
dGlhbC5wZXJzaXN0ZW5jZSgpKSk7Cit2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZTo6bm90aWZ5Q2hh
bGxlbmdlUmVzdWx0KGNvbnN0IEtVUkwmIHVybCwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90
ZWN0aW9uU3BhY2UsIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUmVzdWx0IHJlc3VsdCwgY29uc3Qg
Q3JlZGVudGlhbCYgY3JlZGVudGlhbCkKK3sKKyAgICBpZiAocmVzdWx0ICE9IEF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlU3VjY2VzcyB8fCAhdXJsLmlzVmFsaWQoKSkKKyAgICAgICAgcmV0dXJuOwog
Ci0gICAgcmV0dXJuIGlzQ29uZmlybWVkOworICAgIG1fcGxhdGZvcm1QbGF5ZXItPnJlbG9hZFdp
dGhDcmVkZW50aWFsKGNyZWRlbnRpYWwudXNlcigpLnV0ZjgodHJ1ZSkuZGF0YSgpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWRlbnRpYWwucGFzc3dvcmQo
KS51dGY4KHRydWUpLmRhdGEoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBzdGF0aWNfY2FzdDxNTVJBdXRoQ2hhbGxlbmdlOjpDcmVkZW50aWFsUGVyc2lzdGVu
Y2U+KGNyZWRlbnRpYWwucGVyc2lzdGVuY2UoKSkpOwogfQogCiB2b2lkIE1lZGlhUGxheWVyUHJp
dmF0ZTo6b25BdXRoZW50aWNhdGlvbkFjY2VwdGVkKGNvbnN0IE1NUkF1dGhDaGFsbGVuZ2UmIGF1
dGhDaGFsbGVuZ2UpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9ibGFja2JlcnJ5L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2YXRl
QmxhY2tCZXJyeS5oCmluZGV4IDU3MDc0MWMuLjI4OTY2OTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxh
Y2tCZXJyeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVy
cnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5oCkBAIC0yMCw2ICsyMCw3IEBACiAjZGVm
aW5lIE1lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnlfaAogCiAjaWYgRU5BQkxFKFZJREVPKQor
I2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlTWFuYWdlci5oIgogI2luY2x1ZGUgIk1l
ZGlhUGxheWVyUHJpdmF0ZS5oIgogCiAjaW5jbHVkZSA8QmxhY2tCZXJyeVBsYXRmb3JtUGxheWVy
Lmg+CkBAIC0zMiw3ICszMyw3IEBAIGNsYXNzIFdlYlBhZ2VDbGllbnQ7CiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotY2xhc3MgTWVkaWFQbGF5ZXJQcml2YXRlIDogcHVibGljIE1lZGlhUGxheWVy
UHJpdmF0ZUludGVyZmFjZSwgcHVibGljIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpJUGxhdGZvcm1Q
bGF5ZXJMaXN0ZW5lciB7CitjbGFzcyBNZWRpYVBsYXllclByaXZhdGUgOiBwdWJsaWMgTWVkaWFQ
bGF5ZXJQcml2YXRlSW50ZXJmYWNlLCBwdWJsaWMgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDbGll
bnQsIHB1YmxpYyBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6SVBsYXRmb3JtUGxheWVyTGlzdGVuZXIg
ewogcHVibGljOgogICAgIHZpcnR1YWwgfk1lZGlhUGxheWVyUHJpdmF0ZSgpOwogCkBAIC0xMzIs
OSArMTMzLDExIEBAIHB1YmxpYzoKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAg
ICAgdmlydHVhbCB2b2lkIG9uQnVmZmVyaW5nKGJvb2wpOwogI2VuZGlmCi0gICAgdmlydHVhbCBi
b29sIG9uQXV0aGVudGljYXRpb25OZWVkZWQoQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok1NUkF1dGhD
aGFsbGVuZ2UmKTsKKyAgICB2aXJ0dWFsIHZvaWQgb25BdXRoZW50aWNhdGlvbk5lZWRlZChCbGFj
a0JlcnJ5OjpQbGF0Zm9ybTo6TU1SQXV0aENoYWxsZW5nZSYpOwogICAgIHZpcnR1YWwgdm9pZCBv
bkF1dGhlbnRpY2F0aW9uQWNjZXB0ZWQoY29uc3QgQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok1NUkF1
dGhDaGFsbGVuZ2UmKSBjb25zdDsKIAorICAgIHZpcnR1YWwgdm9pZCBub3RpZnlDaGFsbGVuZ2VS
ZXN1bHQoY29uc3QgS1VSTCYsIGNvbnN0IFByb3RlY3Rpb25TcGFjZSYsIEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlUmVzdWx0LCBjb25zdCBDcmVkZW50aWFsJik7CisKICAgICB2aXJ0dWFsIGJvb2wg
aXNGdWxsc2NyZWVuKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29sIGlzRWxlbWVudFBhdXNlZCgp
IGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBpc1RhYlZpc2libGUoKSBjb25zdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9i
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3Jr
Sm9iLmNwcAppbmRleCA3NDE5ODE0Li4zNjM2YWE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwCkBAIC03
NTIsMjUgKzc1MiwyMiBAQCBib29sIE5ldHdvcmtKb2I6OnNlbmRSZXF1ZXN0V2l0aENyZWRlbnRp
YWxzKFByb3RlY3Rpb25TcGFjZVNlcnZlclR5cGUgdHlwZSwgUHJvdAogICAgICAgICBTdHJpbmcg
dXNlcm5hbWU7CiAgICAgICAgIFN0cmluZyBwYXNzd29yZDsKIAotICAgICAgICBpZiAodXNlcm5h
bWUuaXNFbXB0eSgpIHx8IHBhc3N3b3JkLmlzRW1wdHkoKSkgewotICAgICAgICAgICAgLy8gQmVm
b3JlIGFza2luZyB0aGUgdXNlciBmb3IgY3JlZGVudGlhbHMsIHdlIGNoZWNrIGlmIHRoZSBVUkwg
Y29udGFpbnMgdGhhdC4KLSAgICAgICAgICAgIGlmICghbV9oYW5kbGUtPmdldEludGVybmFsKCkt
Pm1fdXNlci5pc0VtcHR5KCkgJiYgIW1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Bhc3MuaXNF
bXB0eSgpKSB7Ci0gICAgICAgICAgICAgICAgdXNlcm5hbWUgPSBtX2hhbmRsZS0+Z2V0SW50ZXJu
YWwoKS0+bV91c2VyOwotICAgICAgICAgICAgICAgIHBhc3N3b3JkID0gbV9oYW5kbGUtPmdldElu
dGVybmFsKCktPm1fcGFzczsKLQotICAgICAgICAgICAgICAgIC8vIFByZXZlbnQgdGhlbSBmcm9t
IGJlZW4gdXNlZCBhZ2FpbiBpZiB0aGV5IGFyZSB3cm9uZy4KLSAgICAgICAgICAgICAgICAvLyBJ
ZiB0aGV5IGFyZSBjb3JyZWN0LCB0aGV5IHdpbGwgdGhlIHB1dCBpbnRvIENyZWRlbnRpYWxTdG9y
YWdlLgotICAgICAgICAgICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3VzZXIgPSAi
IjsKLSAgICAgICAgICAgICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9wYXNzID0gIiI7
Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIGlmIChtX2hhbmRsZS0+Zmly
c3RSZXF1ZXN0KCkudGFyZ2V0VHlwZSgpICE9IFJlc291cmNlUmVxdWVzdDo6VGFyZ2V0SXNNYWlu
RnJhbWUgJiYgQmxhY2tCZXJyeTo6UGxhdGZvcm06OlNldHRpbmdzOjppbnN0YW5jZSgpLT5pc0No
cm9tZVByb2Nlc3MoKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAg
ICAgICAgICAgIENyZWRlbnRpYWwgaW5wdXRDcmVkZW50aWFsOwotICAgICAgICAgICAgICAgIGlm
ICghbV9mcmFtZS0+cGFnZSgpLT5jaHJvbWUoKS0+Y2xpZW50KCktPnBsYXRmb3JtUGFnZUNsaWVu
dCgpLT5hdXRoZW50aWNhdGlvbkNoYWxsZW5nZShuZXdVUkwsIHByb3RlY3Rpb25TcGFjZSwgaW5w
dXRDcmVkZW50aWFsKSkKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgICAg
ICAgICAgICAgIHVzZXJuYW1lID0gaW5wdXRDcmVkZW50aWFsLnVzZXIoKTsKLSAgICAgICAgICAg
ICAgICBwYXNzd29yZCA9IGlucHV0Q3JlZGVudGlhbC5wYXNzd29yZCgpOwotICAgICAgICAgICAg
fQorICAgICAgICAvLyBCZWZvcmUgYXNraW5nIHRoZSB1c2VyIGZvciBjcmVkZW50aWFscywgd2Ug
Y2hlY2sgaWYgdGhlIFVSTCBjb250YWlucyB0aGF0LgorICAgICAgICBpZiAoIW1faGFuZGxlLT5n
ZXRJbnRlcm5hbCgpLT5tX3VzZXIuaXNFbXB0eSgpICYmICFtX2hhbmRsZS0+Z2V0SW50ZXJuYWwo
KS0+bV9wYXNzLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgdXNlcm5hbWUgPSBtX2hhbmRsZS0+
Z2V0SW50ZXJuYWwoKS0+bV91c2VyOworICAgICAgICAgICAgcGFzc3dvcmQgPSBtX2hhbmRsZS0+
Z2V0SW50ZXJuYWwoKS0+bV9wYXNzOworCisgICAgICAgICAgICAvLyBQcmV2ZW50IHRoZW0gZnJv
bSBiZWVuIHVzZWQgYWdhaW4gaWYgdGhleSBhcmUgd3JvbmcuCisgICAgICAgICAgICAvLyBJZiB0
aGV5IGFyZSBjb3JyZWN0LCB0aGV5IHdpbGwgdGhlIHB1dCBpbnRvIENyZWRlbnRpYWxTdG9yYWdl
LgorICAgICAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fdXNlciA9ICIiOworICAg
ICAgICAgICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcGFzcyA9ICIiOworICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgaWYgKG1faGFuZGxlLT5maXJzdFJlcXVlc3QoKS50YXJnZXRU
eXBlKCkgIT0gUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRJc01haW5GcmFtZSAmJiBCbGFja0JlcnJ5
OjpQbGF0Zm9ybTo6U2V0dGluZ3M6Omluc3RhbmNlKCktPmlzQ2hyb21lUHJvY2VzcygpKQorICAg
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgbV9oYW5kbGUtPmdldElu
dGVybmFsKCktPm1fY3VycmVudFdlYkNoYWxsZW5nZSA9IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
KCk7CisgICAgICAgICAgICBtX2ZyYW1lLT5wYWdlKCktPmNocm9tZSgpLT5jbGllbnQoKS0+cGxh
dGZvcm1QYWdlQ2xpZW50KCktPmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKG5ld1VSTCwgcHJvdGVj
dGlvblNwYWNlLCBDcmVkZW50aWFsKCksIHRoaXMpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgIH0KIAogICAgICAgICBjcmVkZW50aWFsID0gQ3JlZGVudGlhbCh1c2VybmFtZSwg
cGFzc3dvcmQsIENyZWRlbnRpYWxQZXJzaXN0ZW5jZUZvclNlc3Npb24pOwpAQCAtNzc4LDEwICs3
NzUsOCBAQCBib29sIE5ldHdvcmtKb2I6OnNlbmRSZXF1ZXN0V2l0aENyZWRlbnRpYWxzKFByb3Rl
Y3Rpb25TcGFjZVNlcnZlclR5cGUgdHlwZSwgUHJvdAogICAgICAgICBtX2hhbmRsZS0+Z2V0SW50
ZXJuYWwoKS0+bV9jdXJyZW50V2ViQ2hhbGxlbmdlID0gQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
cHJvdGVjdGlvblNwYWNlLCBjcmVkZW50aWFsLCAwLCBtX3Jlc3BvbnNlLCBSZXNvdXJjZUVycm9y
KCkpOwogICAgIH0KIAotICAgIFJlc291cmNlUmVxdWVzdCBuZXdSZXF1ZXN0ID0gbV9oYW5kbGUt
PmZpcnN0UmVxdWVzdCgpOwotICAgIG5ld1JlcXVlc3Quc2V0VVJMKG5ld1VSTCk7Ci0gICAgbmV3
UmVxdWVzdC5zZXRNdXN0SGFuZGxlSW50ZXJuYWxseSh0cnVlKTsKLSAgICByZXR1cm4gc3RhcnRO
ZXdKb2JXaXRoUmVxdWVzdChuZXdSZXF1ZXN0KTsKKyAgICBub3RpZnlDaGFsbGVuZ2VSZXN1bHQo
bmV3VVJMLCBwcm90ZWN0aW9uU3BhY2UsIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU3VjY2Vzcywg
Y3JlZGVudGlhbCk7CisgICAgcmV0dXJuIG1fbmV3Sm9iV2l0aENyZWRlbnRpYWxzU3RhcnRlZDsK
IH0KIAogdm9pZCBOZXR3b3JrSm9iOjpzdG9yZUNyZWRlbnRpYWxzKCkKQEAgLTgzMCw0ICs4MjUs
MjIgQEAgdm9pZCBOZXR3b3JrSm9iOjpmaXJlRGVsZXRlSm9iVGltZXIoVGltZXI8TmV0d29ya0pv
Yj4qKQogICAgIE5ldHdvcmtNYW5hZ2VyOjppbnN0YW5jZSgpLT5kZWxldGVKb2IodGhpcyk7CiB9
CiAKK3ZvaWQgTmV0d29ya0pvYjo6bm90aWZ5Q2hhbGxlbmdlUmVzdWx0KGNvbnN0IEtVUkwmIHVy
bCwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2UsIEF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlUmVzdWx0IHJlc3VsdCwgY29uc3QgQ3JlZGVudGlhbCYgY3JlZGVudGlhbCkKK3sK
KyAgICBpZiAocmVzdWx0ICE9IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlU3VjY2VzcworICAgICAg
ICAgICAgfHwgcHJvdGVjdGlvblNwYWNlLmhvc3QoKS5pc0VtcHR5KCkKKyAgICAgICAgICAgIHx8
ICF1cmwuaXNWYWxpZCgpKSB7CisgICAgICAgIG1fbmV3Sm9iV2l0aENyZWRlbnRpYWxzU3RhcnRl
ZCA9IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgaWYgKG1faGFuZGxlLT5n
ZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UuaXNOdWxsKCkpCisgICAgICAgIG1f
aGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UgPSBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZShwcm90ZWN0aW9uU3BhY2UsIGNyZWRlbnRpYWwsIDAsIG1fcmVzcG9uc2Us
IFJlc291cmNlRXJyb3IoKSk7CisKKyAgICBSZXNvdXJjZVJlcXVlc3QgbmV3UmVxdWVzdCA9IG1f
aGFuZGxlLT5maXJzdFJlcXVlc3QoKTsKKyAgICBuZXdSZXF1ZXN0LnNldFVSTChtX3Jlc3BvbnNl
LnVybCgpKTsKKyAgICBuZXdSZXF1ZXN0LnNldE11c3RIYW5kbGVJbnRlcm5hbGx5KHRydWUpOwor
ICAgIG1fbmV3Sm9iV2l0aENyZWRlbnRpYWxzU3RhcnRlZCA9IHN0YXJ0TmV3Sm9iV2l0aFJlcXVl
c3QobmV3UmVxdWVzdCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5o
CmluZGV4IDc0Mjk1ZmYuLjM1MjYzNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuaApAQCAtMTksOCArMTksOSBA
QAogI2lmbmRlZiBOZXR3b3JrSm9iX2gKICNkZWZpbmUgTmV0d29ya0pvYl9oCiAKKyNpbmNsdWRl
ICJBdXRoZW50aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXIuaCIKICNpbmNsdWRlICJEZWZlcnJlZERh
dGEuaCIKLSNpbmNsdWRlICJQcm90ZWN0aW9uU3BhY2UuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0
cmluZy5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VS
ZXNwb25zZS5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCkBAIC0zOSwxMSArNDAsMTMgQEAgY2xhc3Mg
TmV0d29ya1N0cmVhbUZhY3Rvcnk7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgQ3Jl
ZGVudGlhbDsKIGNsYXNzIEZyYW1lOwogY2xhc3MgS1VSTDsKK2NsYXNzIFByb3RlY3Rpb25TcGFj
ZTsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIAotY2xhc3MgTmV0d29ya0pvYiA6IHB1YmxpYyBC
bGFja0JlcnJ5OjpQbGF0Zm9ybTo6RmlsdGVyU3RyZWFtIHsKK2NsYXNzIE5ldHdvcmtKb2IgOiBw
dWJsaWMgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDbGllbnQsIHB1YmxpYyBCbGFja0JlcnJ5OjpQ
bGF0Zm9ybTo6RmlsdGVyU3RyZWFtIHsKIHB1YmxpYzoKICAgICBOZXR3b3JrSm9iKCk7CiAgICAg
Ym9vbCBpbml0aWFsaXplKGludCBwbGF5ZXJJZCwKQEAgLTgxLDYgKzg0LDggQEAgcHVibGljOgog
ICAgIHZvaWQgaGFuZGxlTm90aWZ5Q2xvc2UoaW50IHN0YXR1cyk7CiAgICAgdmlydHVhbCBpbnQg
c3RhdHVzKCkgY29uc3QgeyByZXR1cm4gbV9leHRlbmRlZFN0YXR1c0NvZGU7IH0KIAorICAgIHZp
cnR1YWwgdm9pZCBub3RpZnlDaGFsbGVuZ2VSZXN1bHQoY29uc3QgS1VSTCYsIGNvbnN0IFByb3Rl
Y3Rpb25TcGFjZSYsIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUmVzdWx0LCBjb25zdCBDcmVkZW50
aWFsJik7CisKIHByaXZhdGU6CiAgICAgYm9vbCBpc0NsaWVudEF2YWlsYWJsZSgpIGNvbnN0IHsg
cmV0dXJuICFtX2NhbmNlbGxlZCAmJiBtX2hhbmRsZSAmJiBtX2hhbmRsZS0+Y2xpZW50KCk7IH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKaW5kZXggYmYyNGMxOS4u
ZTU2Mjg5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCkBAIC0y
MCw2ICsyMCw3IEBACiAjaW5jbHVkZSAiV2ViUGFnZS5oIgogCiAjaW5jbHVkZSAiQXBwbGljYXRp
b25DYWNoZVN0b3JhZ2UuaCIKKyNpbmNsdWRlICJBdXRoZW50aWNhdGlvbkNoYWxsZW5nZU1hbmFn
ZXIuaCIKICNpbmNsdWRlICJBdXRvZmlsbE1hbmFnZXIuaCIKICNpbmNsdWRlICJCYWNrRm9yd2Fy
ZENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZExpc3RJbXBsLmgiCkBAIC0yMjY3
LDE0ICsyMjY4LDIwIEBAIGJvb2wgV2ViUGFnZVByaXZhdGU6OmlzQWN0aXZlKCkgY29uc3QKICAg
ICByZXR1cm4gbV9jbGllbnQtPmlzQWN0aXZlKCk7CiB9CiAKLWJvb2wgV2ViUGFnZVByaXZhdGU6
OmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IEtVUkwmIHVybCwgY29uc3QgUHJvdGVjdGlv
blNwYWNlJiBwcm90ZWN0aW9uU3BhY2UsIENyZWRlbnRpYWwmIGlucHV0Q3JlZGVudGlhbCkKK3Zv
aWQgV2ViUGFnZVByaXZhdGU6OmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IEtVUkwmIHVy
bCwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2UsIGNvbnN0IENyZWRlbnRp
YWwmIGlucHV0Q3JlZGVudGlhbCwgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDbGllbnQqIGNsaWVu
dCkKIHsKICAgICBXZWJTdHJpbmcgdXNlcm5hbWU7CiAgICAgV2ViU3RyaW5nIHBhc3N3b3JkOwog
CiAjaWYgIWRlZmluZWQoUFVCTElDX0JVSUxEKSB8fCAhUFVCTElDX0JVSUxECi0gICAgaWYgKG1f
ZHVtcFJlbmRlclRyZWUpCi0gICAgICAgIHJldHVybiBtX2R1bXBSZW5kZXJUcmVlLT5kaWRSZWNl
aXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoaW5wdXRDcmVkZW50aWFsKTsKKyAgICBpZiAobV9k
dW1wUmVuZGVyVHJlZSkgeworICAgICAgICBDcmVkZW50aWFsIGNyZWRlbnRpYWwoaW5wdXRDcmVk
ZW50aWFsLCBpbnB1dENyZWRlbnRpYWwucGVyc2lzdGVuY2UoKSk7CisgICAgICAgIGlmIChtX2R1
bXBSZW5kZXJUcmVlLT5kaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY3JlZGVudGlh
bCkpCisgICAgICAgICAgICBjbGllbnQtPm5vdGlmeUNoYWxsZW5nZVJlc3VsdCh1cmwsIHByb3Rl
Y3Rpb25TcGFjZSwgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTdWNjZXNzLCBjcmVkZW50aWFsKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgY2xpZW50LT5ub3RpZnlDaGFsbGVuZ2VSZXN1bHQo
dXJsLCBwcm90ZWN0aW9uU3BhY2UsIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQ2FuY2VsbGVkLCBp
bnB1dENyZWRlbnRpYWwpOworICAgICAgICByZXR1cm47CisgICAgfQogI2VuZGlmCiAKICNpZiBF
TkFCTEUoQkxBQ0tCRVJSWV9DUkVERU5USUFMX1BFUlNJU1QpCkBAIC0yMjkxLDggKzIyOTgsMTEg
QEAgYm9vbCBXZWJQYWdlUHJpdmF0ZTo6YXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3QgS1VS
TCYgdXJsLCBjb25zdCBQcm90ZWN0aW9uU3AKICNlbHNlCiAgICAgQ3JlZGVudGlhbCBjcmVkZW50
aWFsKHVzZXJuYW1lLCBwYXNzd29yZCwgQ3JlZGVudGlhbFBlcnNpc3RlbmNlTm9uZSk7CiAjZW5k
aWYKLSAgICBpbnB1dENyZWRlbnRpYWwgPSBjcmVkZW50aWFsOwotICAgIHJldHVybiBpc0NvbmZp
cm1lZDsKKworICAgIGlmIChpc0NvbmZpcm1lZCkKKyAgICAgICAgY2xpZW50LT5ub3RpZnlDaGFs
bGVuZ2VSZXN1bHQodXJsLCBwcm90ZWN0aW9uU3BhY2UsIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
U3VjY2VzcywgY3JlZGVudGlhbCk7CisgICAgZWxzZQorICAgICAgICBjbGllbnQtPm5vdGlmeUNo
YWxsZW5nZVJlc3VsdCh1cmwsIHByb3RlY3Rpb25TcGFjZSwgQXV0aGVudGljYXRpb25DaGFsbGVu
Z2VDYW5jZWxsZWQsIGlucHV0Q3JlZGVudGlhbCk7CiB9CiAKIFBhZ2VDbGllbnRCbGFja0JlcnJ5
OjpTYXZlQ3JlZGVudGlhbFR5cGUgV2ViUGFnZVByaXZhdGU6Om5vdGlmeVNob3VsZFNhdmVDcmVk
ZW50aWFsKGJvb2wgaXNOZXcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
QXBpL1dlYlBhZ2VfcC5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlX3Au
aAppbmRleCBmNTkyYmIxLi42MzA4OTcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNr
YmVycnkvQXBpL1dlYlBhZ2VfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkv
V2ViUGFnZV9wLmgKQEAgLTQ1LDYgKzQ1LDcgQEAKICNkZWZpbmUgREVGQVVMVF9NQVhfTEFZT1VU
X0hFSUdIVCA3NjgKIAogbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgQXV0aGVudGljYXRpb25D
aGFsbGVuZ2VDbGllbnQ7CiBjbGFzcyBBdXRvZmlsbE1hbmFnZXI7CiBjbGFzcyBET01XcmFwcGVy
V29ybGQ7CiBjbGFzcyBEb2N1bWVudDsKQEAgLTIwMSw3ICsyMDIsNyBAQCBwdWJsaWM6CiAgICAg
dmlydHVhbCBpbnQgc2hvd0FsZXJ0RGlhbG9nKFdlYlBhZ2VDbGllbnQ6OkFsZXJ0VHlwZSBhdHlw
ZSk7CiAgICAgdmlydHVhbCBib29sIGlzQWN0aXZlKCkgY29uc3Q7CiAgICAgdmlydHVhbCBib29s
IGlzVmlzaWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmlzaWJsZTsgfQotICAgIHZpcnR1YWwgYm9v
bCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpLVVJMJiwgY29uc3QgV2Vi
Q29yZTo6UHJvdGVjdGlvblNwYWNlJiwgV2ViQ29yZTo6Q3JlZGVudGlhbCYpOworICAgIHZpcnR1
YWwgdm9pZCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpLVVJMJiwgY29u
c3QgV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlJiwgY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlhbCYs
IFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQ2xpZW50Kik7CiAgICAgdmlydHVhbCBT
YXZlQ3JlZGVudGlhbFR5cGUgbm90aWZ5U2hvdWxkU2F2ZUNyZWRlbnRpYWwoYm9vbCk7CiAgICAg
dmlydHVhbCB2b2lkIHN5bmNQcm94eUNyZWRlbnRpYWwoY29uc3QgV2ViQ29yZTo6Q3JlZGVudGlh
bCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwppbmRleCBjNTI1ZGIyLi5jMTFhN2Rj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0w
OS0wNiAgTGlhbmdodWkgQ2hlbiAgPGxpYWNoZW5AcmltLmNvbT4KKworICAgICAgICBbQmxhY2tC
ZXJyeV0gd2hlbiBvbmUgb2YgbXVsdGlwbGUgdGFicyB1c2VzIGF1dGhlbnRpY2F0aW9uLCB1c2Vy
IGNhbiBnZXQgdGhlIGF1dGggZGlhbG9nIHdoaWxlIHRoZSBvdGhlciB0YWIgaGFzIGZvY3VzLgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTU0ODgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgbmV3IEF1
dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQ2xpZW50IGludGVyZmFjZSB0byBtYWtlIGF1dGhlbnRpY2F0
aW9uCisgICAgICAgIGNoYWxsZW5nZSBhc3luY2hyb25vdXMgdG8gTmV0d29ya0pvYiwgTWVkaWFQ
bGF5ZXJQcml2YXRlQmxhY2tCZXJyeSwgYW5kCisgICAgICAgIG90aGVyIG1vZHVsZSB0aGF0IHdp
bGwgdXNlIEhUVFAgYXV0aGVudGljYXRpb24uIFdlYlBhZ2UgaXRzZWxmIHN0aWxsIHVzZQorICAg
ICAgICBzeW5jaHJvbm91cyBhdXRoZW50aWNhdGlvbiB0aG91Z2guIFN3aXRjaGluZyB0byBhc3lu
Y2hyb25vdXMgYXV0aGVudGljYXRpb24KKyAgICAgICAgaW4gV2ViUGFnZSB3aWxsIHJlcXVpcmUg
YmlnZ2VyIHBsYXRmb3JtIGxheWVyIGNoYW5nZSBhbmQgbm90IHZlcnkgbmVjZXNzYXJ5CisgICAg
ICAgIGF0IHRoZSBtb21lbnQgZm9yIHRoaXMgYnVnLgorCisgICAgICAgICogQXBpL1dlYlBhZ2Uu
Y3BwOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQYWdlUHJpdmF0ZTo6YXV0aGVu
dGljYXRpb25DaGFsbGVuZ2UpOgorICAgICAgICAqIEFwaS9XZWJQYWdlX3AuaDoKKyAgICAgICAg
KFdlYkNvcmUpOgorICAgICAgICAoV2ViUGFnZVByaXZhdGUpOgorCiAyMDEyLTA5LTA2ICBHZW5l
dmlldmUgTWFrICA8Z21ha0ByaW0uY29tPgogCiAgICAgICAgIEFkZCBkYXRhLWJsYWNrYmVycnkt
d2Vid29ya3MtY29udGV4dCBhdHRyaWJ1dGUgYW5kIHNldCB0aGUgY3VzdG9tIGNvbnRleHQgd2hl
bgo=
</data>
<flag name="review"
          id="173829"
          type_id="1"
          status="+"
          setter="yong.li.webkit"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162777</attachid>
            <date>2012-09-07 08:14:57 -0700</date>
            <delta_ts>2012-09-07 10:12:55 -0700</delta_ts>
            <desc>Patch updated based on Yong&apos;s comments.</desc>
            <filename>95488-2.patch</filename>
            <type>text/plain</type>
            <size>19518</size>
            <attacher name="Lyon Chen">liachen</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA4NTA0YWYwLi45OTEzYWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUg
QEAKKzIwMTItMDktMDcgIExpYW5naHVpIENoZW4gIDxsaWFjaGVuQHJpbS5jb20+CisKKyAgICAg
ICAgW0JsYWNrQmVycnldIHdoZW4gb25lIG9mIG11bHRpcGxlIHRhYnMgdXNlcyBhdXRoZW50aWNh
dGlvbiwgdXNlciBjYW4gZ2V0IHRoZSBhdXRoIGRpYWxvZyB3aGlsZSB0aGUgb3RoZXIgdGFiIGhh
cyBmb2N1cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk1NDg4CisgICAgICAgIFBSOiAxODY1OTcuCisKKyAgICAgICAgSW50ZXJuYWxseSByZXZpZXdl
ZCBieSBKb2UgTWFzb24uCisgICAgICAgIFJldmlld2VkIGJ5IFlvbmcgTGkuCisKKyAgICAgICAg
VGhlIGZpeCBmb3IgdGhpcyBQUiB3aWxsIGNvbWUgYXMgMiBwYXRjaGVzLiBUaGlzIGlzIHRoZSBm
aXJzdCBwYXRjaCB3aGljaAorICAgICAgICB3aWxsIG1ha2UgdGhlIGF1dGhlbnRpY2F0aW9uIGNo
YWxsZW5nZSBhc3luY2hyb25vdXMgaW5zaWRlIFdlYktpdC4gVGhlCisgICAgICAgIGJleHQgcGF0
Y2ggd2lsbCBhZGQgYW4gQXV0aGVudGljYXRpb25DaGFsbGVuZ2VNYW5hZ2VyIHRoYXQgbWFuYWdl
cyB0aGVzZQorICAgICAgICBhdXRoZW50aWNhdGlvbiByZXF1ZXN0cyBhc3luY2hyb25vdXNseS4K
KworICAgICAgICBUaGlzIHBhdGNoIGFkZCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUNsaWVudCBp
bnRlcmZhY2UgdG8gZGVmaW5lIGFzeW5jaHJvbm91cworICAgICAgICBhdXRoZW50aWNhdGlvbiBj
aGFsbGVuZ2UgY2FsbGJhY2suIEFuZCBNZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5IGFuZAor
ICAgICAgICBOZXR3b3JrSm9iIGFyZSBjaGFuZ2VkIHRvIGluaGVyaXQgZnJvbSBBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZUNsaWVudCB0bworICAgICAgICBzdXBwb3J0IGFzeW5jaHJvbm91cyBhdXRo
ZW50aWNhdGlvbiBjaGFsbGVuZ2UuCisKKyAgICAgICAgTm90ZTogdGhlcmUgaXMgYWxzbyBhbiBh
Y2NvbXBhbnlpbmcgcGxhdGZvcm0gcGF0Y2ggdG8gbWFrZSBvdXIgUGxhdGZvcm1QbGF5ZXIKKyAg
ICAgICAgdG8gc3VwcG9ydCBhc3ljaHJvbm91cyBhdXRoZW50aWNhdGlvbiwgc2VlIFBSIDE4NjU5
NyBmb3IgZGV0YWlscy4KKworICAgICAgICBObyBuZXcgdGVzdHMgYXMgdGhpcyBpcyBwbGF0Zm9y
bSBzcGVjaWZpYyBjaGFuZ2UuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ibGFja2JlcnJ5L0F1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlTWFuYWdlci5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDbGllbnQpOgorICAgICAgICAqIHBsYXRm
b3JtL2JsYWNrYmVycnkvUGFnZUNsaWVudEJsYWNrQmVycnkuaDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2
YXRlQmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVBsYXllclByaXZhdGU6
Om9uQXV0aGVudGljYXRpb25OZWVkZWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFQbGF5ZXJQ
cml2YXRlOjpub3RpZnlDaGFsbGVuZ2VSZXN1bHQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2JsYWNrYmVycnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5oOgorICAgICAgICAo
TWVkaWFQbGF5ZXJQcml2YXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVy
cnkvTmV0d29ya0pvYi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9iOjpzZW5kUmVx
dWVzdFdpdGhDcmVkZW50aWFscyk6CisgICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9iOjpub3Rp
ZnlDaGFsbGVuZ2VSZXN1bHQpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcGxhdGZv
cm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuaDoKKyAgICAgICAgKFdlYkNvcmUpOgor
ICAgICAgICAoTmV0d29ya0pvYik6CisKIDIwMTItMDktMDYgIEFkYW0gQmFydGggIDxhYmFydGhA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtWOF0gV2VhdmUgY3JlYXRpb25Db250ZXh0IHRocm91
Z2ggdG9WOCBhbmQgcmVsYXRlZCBmdW5jdGlvbnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2JsYWNrYmVycnkvQXV0aGVudGljYXRpb25DaGFsbGVuZ2VNYW5hZ2VyLmggYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0F1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
TWFuYWdlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyMjI0ZjUKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L0F1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlTWFuYWdlci5oCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTIgUmVzZWFyY2ggSW4gTW90aW9uIExpbWl0ZWQuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk
aXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg
R05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhl
IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm
dWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll
ZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICog
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9u
LCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgKi8KKworI2lmbmRlZiBBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZU1hbmFnZXJfaAorI2RlZmluZSBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXJfaAor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENyZWRlbnRpYWw7CitjbGFzcyBLVVJMOwor
Y2xhc3MgUHJvdGVjdGlvblNwYWNlOworCitlbnVtIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUmVz
dWx0IHsKKyAgICBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVN1Y2Nlc3MsCisgICAgQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VDYW5jZWxsZWQKK307CisKK2NsYXNzIEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlQ2xpZW50IHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5Q2hhbGxlbmdlUmVz
dWx0KGNvbnN0IEtVUkwmLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmLCBBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZVJlc3VsdCwgY29uc3QgQ3JlZGVudGlhbCYpID0gMDsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlTWFuYWdlcl9o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BhZ2VDbGll
bnRCbGFja0JlcnJ5LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ibGFja2JlcnJ5L1BhZ2VD
bGllbnRCbGFja0JlcnJ5LmgKaW5kZXggNzUyYmRiNi4uYjIzN2QzOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vYmxhY2tiZXJyeS9QYWdlQ2xpZW50QmxhY2tCZXJyeS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2JsYWNrYmVycnkvUGFnZUNsaWVudEJsYWNrQmVy
cnkuaApAQCAtMTksNyArMTksNiBAQAogI2lmbmRlZiBQYWdlQ2xpZW50QmxhY2tCZXJyeV9oCiAj
ZGVmaW5lIFBhZ2VDbGllbnRCbGFja0JlcnJ5X2gKIAotI2luY2x1ZGUgIkNyZWRlbnRpYWwuaCIK
ICNpbmNsdWRlICJDdXJzb3IuaCIKICNpbmNsdWRlICJXZWJQYWdlQ2xpZW50LmgiCiAKQEAgLTMz
LDYgKzMyLDggQEAgbmFtZXNwYWNlIEJsYWNrQmVycnkgewogfQogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CisgICAgY2xhc3MgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDbGllbnQ7CisgICAgY2xhc3Mg
Q3JlZGVudGlhbDsKICAgICBjbGFzcyBJbnRSZWN0OwogICAgIGNsYXNzIEludFNpemU7CiAgICAg
Y2xhc3MgS1VSTDsKQEAgLTcwLDcgKzcxLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgaW50IHNo
b3dBbGVydERpYWxvZyhCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VDbGllbnQ6OkFsZXJ0VHlw
ZSkgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBpc0FjdGl2ZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0
dWFsIGJvb2wgaXNWaXNpYmxlKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBhdXRoZW50
aWNhdGlvbkNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpLVVJMJiwgY29uc3QgV2ViQ29yZTo6UHJv
dGVjdGlvblNwYWNlJiwgV2ViQ29yZTo6Q3JlZGVudGlhbCYpID0gMDsKKyAgICB2aXJ0dWFsIHZv
aWQgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UoY29uc3QgV2ViQ29yZTo6S1VSTCYsIGNvbnN0IFdl
YkNvcmU6OlByb3RlY3Rpb25TcGFjZSYsIGNvbnN0IFdlYkNvcmU6OkNyZWRlbnRpYWwmLCBXZWJD
b3JlOjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUNsaWVudCopID0gMDsKICAgICB2aXJ0dWFsIFNh
dmVDcmVkZW50aWFsVHlwZSBub3RpZnlTaG91bGRTYXZlQ3JlZGVudGlhbChib29sKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIHN5bmNQcm94eUNyZWRlbnRpYWwoY29uc3QgV2ViQ29yZTo6Q3JlZGVu
dGlhbCYpID0gMDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9ibGFja2JlcnJ5L01lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnkuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVC
bGFja0JlcnJ5LmNwcAppbmRleCAxM2JkY2YwLi5iNGU1Y2UzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9ibGFja2JlcnJ5L01lZGlhUGxheWVyUHJpdmF0ZUJs
YWNrQmVycnkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNr
YmVycnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5jcHAKQEAgLTY5NiwyNSArNjk2LDMx
IEBAIHN0YXRpYyBQcm90ZWN0aW9uU3BhY2UgZ2VuZXJhdGVQcm90ZWN0aW9uU3BhY2VGcm9tTU1S
QXV0aENoYWxsZW5nZShjb25zdCBNTVJBdXRoCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
dGF0aWNfY2FzdDxQcm90ZWN0aW9uU3BhY2VBdXRoZW50aWNhdGlvblNjaGVtZT4oYXV0aENoYWxs
ZW5nZS5hdXRoU2NoZW1lKCkpKTsKIH0KIAotYm9vbCBNZWRpYVBsYXllclByaXZhdGU6Om9uQXV0
aGVudGljYXRpb25OZWVkZWQoTU1SQXV0aENoYWxsZW5nZSYgYXV0aENoYWxsZW5nZSkKK3ZvaWQg
TWVkaWFQbGF5ZXJQcml2YXRlOjpvbkF1dGhlbnRpY2F0aW9uTmVlZGVkKE1NUkF1dGhDaGFsbGVu
Z2UmIGF1dGhDaGFsbGVuZ2UpCiB7CiAgICAgS1VSTCB1cmwoUGFyc2VkVVJMU3RyaW5nLCBTdHJp
bmcoYXV0aENoYWxsZW5nZS51cmwoKS5jX3N0cigpKSk7CiAgICAgaWYgKCF1cmwuaXNWYWxpZCgp
KQotICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybjsKIAogICAgIFByb3RlY3Rp
b25TcGFjZSBwcm90ZWN0aW9uU3BhY2UgPSBnZW5lcmF0ZVByb3RlY3Rpb25TcGFjZUZyb21NTVJB
dXRoQ2hhbGxlbmdlKGF1dGhDaGFsbGVuZ2UpOwogICAgIENyZWRlbnRpYWwgY3JlZGVudGlhbCA9
IENyZWRlbnRpYWxTdG9yYWdlOjpnZXQocHJvdGVjdGlvblNwYWNlKTsKLSAgICBib29sIGlzQ29u
ZmlybWVkID0gZmFsc2U7Ci0gICAgaWYgKGNyZWRlbnRpYWwuaXNFbXB0eSgpKSB7Ci0gICAgICAg
IGlzQ29uZmlybWVkID0gbV93ZWJDb3JlUGxheWVyLT5tZWRpYVBsYXllckNsaWVudCgpLT5tZWRp
YVBsYXllckhvc3RXaW5kb3coKS0+cGxhdGZvcm1QYWdlQ2xpZW50KCktPmF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlKHVybCwgcHJvdGVjdGlvblNwYWNlLCBjcmVkZW50aWFsKTsKKyAgICBpZiAoIWNy
ZWRlbnRpYWwuaXNFbXB0eSgpKSB7CisgICAgICAgIG5vdGlmeUNoYWxsZW5nZVJlc3VsdCh1cmws
IHByb3RlY3Rpb25TcGFjZSwgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTdWNjZXNzLCBjcmVkZW50
aWFsKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KIAotICAgIH0gZWxzZQotICAgICAgICBpc0Nv
bmZpcm1lZCA9IHRydWU7CisgICAgaWYgKGZyYW1lVmlldygpICYmIGZyYW1lVmlldygpLT5ob3N0
V2luZG93KCkpCisgICAgICAgIGZyYW1lVmlldygpLT5ob3N0V2luZG93KCktPnBsYXRmb3JtUGFn
ZUNsaWVudCgpLT5hdXRoZW50aWNhdGlvbkNoYWxsZW5nZSh1cmwsIHByb3RlY3Rpb25TcGFjZSwg
Y3JlZGVudGlhbCwgdGhpcyk7Cit9CiAKLSAgICBpZiAoaXNDb25maXJtZWQpCi0gICAgICAgIGF1
dGhDaGFsbGVuZ2Uuc2V0Q3JlZGVudGlhbChjcmVkZW50aWFsLnVzZXIoKS51dGY4KCkuZGF0YSgp
LCBjcmVkZW50aWFsLnBhc3N3b3JkKCkudXRmOCgpLmRhdGEoKSwgc3RhdGljX2Nhc3Q8TU1SQXV0
aENoYWxsZW5nZTo6Q3JlZGVudGlhbFBlcnNpc3RlbmNlPihjcmVkZW50aWFsLnBlcnNpc3RlbmNl
KCkpKTsKK3ZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpub3RpZnlDaGFsbGVuZ2VSZXN1bHQoY29u
c3QgS1VSTCYgdXJsLCBjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25TcGFjZSwgQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VSZXN1bHQgcmVzdWx0LCBjb25zdCBDcmVkZW50aWFsJiBjcmVk
ZW50aWFsKQoreworICAgIGlmIChyZXN1bHQgIT0gQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTdWNj
ZXNzIHx8ICF1cmwuaXNWYWxpZCgpKQorICAgICAgICByZXR1cm47CiAKLSAgICByZXR1cm4gaXND
b25maXJtZWQ7CisgICAgbV9wbGF0Zm9ybVBsYXllci0+cmVsb2FkV2l0aENyZWRlbnRpYWwoY3Jl
ZGVudGlhbC51c2VyKCkudXRmOCh0cnVlKS5kYXRhKCksCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgY3JlZGVudGlhbC5wYXNzd29yZCgpLnV0ZjgodHJ1ZSkuZGF0
YSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY19j
YXN0PE1NUkF1dGhDaGFsbGVuZ2U6OkNyZWRlbnRpYWxQZXJzaXN0ZW5jZT4oY3JlZGVudGlhbC5w
ZXJzaXN0ZW5jZSgpKSk7CiB9CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlOjpvbkF1dGhlbnRp
Y2F0aW9uQWNjZXB0ZWQoY29uc3QgTU1SQXV0aENoYWxsZW5nZSYgYXV0aENoYWxsZW5nZSkgY29u
c3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2JsYWNrYmVy
cnkvTWVkaWFQbGF5ZXJQcml2YXRlQmxhY2tCZXJyeS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmgKaW5k
ZXggNTcwNzQxYy4uMjg5NjY5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclByaXZhdGVCbGFja0JlcnJ5LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYmxhY2tiZXJyeS9NZWRpYVBsYXllclBy
aXZhdGVCbGFja0JlcnJ5LmgKQEAgLTIwLDYgKzIwLDcgQEAKICNkZWZpbmUgTWVkaWFQbGF5ZXJQ
cml2YXRlQmxhY2tCZXJyeV9oCiAKICNpZiBFTkFCTEUoVklERU8pCisjaW5jbHVkZSAiQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2VNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiTWVkaWFQbGF5ZXJQcml2YXRl
LmgiCiAKICNpbmNsdWRlIDxCbGFja0JlcnJ5UGxhdGZvcm1QbGF5ZXIuaD4KQEAgLTMyLDcgKzMz
LDcgQEAgY2xhc3MgV2ViUGFnZUNsaWVudDsKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFz
cyBNZWRpYVBsYXllclByaXZhdGUgOiBwdWJsaWMgTWVkaWFQbGF5ZXJQcml2YXRlSW50ZXJmYWNl
LCBwdWJsaWMgQmxhY2tCZXJyeTo6UGxhdGZvcm06OklQbGF0Zm9ybVBsYXllckxpc3RlbmVyIHsK
K2NsYXNzIE1lZGlhUGxheWVyUHJpdmF0ZSA6IHB1YmxpYyBNZWRpYVBsYXllclByaXZhdGVJbnRl
cmZhY2UsIHB1YmxpYyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUNsaWVudCwgcHVibGljIEJsYWNr
QmVycnk6OlBsYXRmb3JtOjpJUGxhdGZvcm1QbGF5ZXJMaXN0ZW5lciB7CiBwdWJsaWM6CiAgICAg
dmlydHVhbCB+TWVkaWFQbGF5ZXJQcml2YXRlKCk7CiAKQEAgLTEzMiw5ICsxMzMsMTEgQEAgcHVi
bGljOgogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKICAgICB2aXJ0dWFsIHZvaWQg
b25CdWZmZXJpbmcoYm9vbCk7CiAjZW5kaWYKLSAgICB2aXJ0dWFsIGJvb2wgb25BdXRoZW50aWNh
dGlvbk5lZWRlZChCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TU1SQXV0aENoYWxsZW5nZSYpOworICAg
IHZpcnR1YWwgdm9pZCBvbkF1dGhlbnRpY2F0aW9uTmVlZGVkKEJsYWNrQmVycnk6OlBsYXRmb3Jt
OjpNTVJBdXRoQ2hhbGxlbmdlJik7CiAgICAgdmlydHVhbCB2b2lkIG9uQXV0aGVudGljYXRpb25B
Y2NlcHRlZChjb25zdCBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TU1SQXV0aENoYWxsZW5nZSYpIGNv
bnN0OwogCisgICAgdmlydHVhbCB2b2lkIG5vdGlmeUNoYWxsZW5nZVJlc3VsdChjb25zdCBLVVJM
JiwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiwgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VSZXN1bHQs
IGNvbnN0IENyZWRlbnRpYWwmKTsKKwogICAgIHZpcnR1YWwgYm9vbCBpc0Z1bGxzY3JlZW4oKSBj
b25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNFbGVtZW50UGF1c2VkKCkgY29uc3Q7CiAgICAgdmly
dHVhbCBib29sIGlzVGFiVmlzaWJsZSgpIGNvbnN0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwCmluZGV4IDc0
MTk4MTQuLmYyOWFiY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAKQEAgLTc1MiwyNSArNzUyLDIyIEBA
IGJvb2wgTmV0d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMoUHJvdGVjdGlvblNw
YWNlU2VydmVyVHlwZSB0eXBlLCBQcm90CiAgICAgICAgIFN0cmluZyB1c2VybmFtZTsKICAgICAg
ICAgU3RyaW5nIHBhc3N3b3JkOwogCi0gICAgICAgIGlmICh1c2VybmFtZS5pc0VtcHR5KCkgfHwg
cGFzc3dvcmQuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICAvLyBCZWZvcmUgYXNraW5nIHRoZSB1
c2VyIGZvciBjcmVkZW50aWFscywgd2UgY2hlY2sgaWYgdGhlIFVSTCBjb250YWlucyB0aGF0Lgot
ICAgICAgICAgICAgaWYgKCFtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV91c2VyLmlzRW1wdHko
KSAmJiAhbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fcGFzcy5pc0VtcHR5KCkpIHsKLSAgICAg
ICAgICAgICAgICB1c2VybmFtZSA9IG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3VzZXI7Ci0g
ICAgICAgICAgICAgICAgcGFzc3dvcmQgPSBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9wYXNz
OwotCi0gICAgICAgICAgICAgICAgLy8gUHJldmVudCB0aGVtIGZyb20gYmVlbiB1c2VkIGFnYWlu
IGlmIHRoZXkgYXJlIHdyb25nLgotICAgICAgICAgICAgICAgIC8vIElmIHRoZXkgYXJlIGNvcnJl
Y3QsIHRoZXkgd2lsbCB0aGUgcHV0IGludG8gQ3JlZGVudGlhbFN0b3JhZ2UuCi0gICAgICAgICAg
ICAgICAgbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1fdXNlciA9ICIiOwotICAgICAgICAgICAg
ICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Bhc3MgPSAiIjsKLSAgICAgICAgICAgIH0g
ZWxzZSB7Ci0gICAgICAgICAgICAgICAgaWYgKG1faGFuZGxlLT5maXJzdFJlcXVlc3QoKS50YXJn
ZXRUeXBlKCkgIT0gUmVzb3VyY2VSZXF1ZXN0OjpUYXJnZXRJc01haW5GcmFtZSAmJiBCbGFja0Jl
cnJ5OjpQbGF0Zm9ybTo6U2V0dGluZ3M6Omluc3RhbmNlKCktPmlzQ2hyb21lUHJvY2VzcygpKQot
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgQ3JlZGVu
dGlhbCBpbnB1dENyZWRlbnRpYWw7Ci0gICAgICAgICAgICAgICAgaWYgKCFtX2ZyYW1lLT5wYWdl
KCktPmNocm9tZSgpLT5jbGllbnQoKS0+cGxhdGZvcm1QYWdlQ2xpZW50KCktPmF1dGhlbnRpY2F0
aW9uQ2hhbGxlbmdlKG5ld1VSTCwgcHJvdGVjdGlvblNwYWNlLCBpbnB1dENyZWRlbnRpYWwpKQot
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgdXNlcm5h
bWUgPSBpbnB1dENyZWRlbnRpYWwudXNlcigpOwotICAgICAgICAgICAgICAgIHBhc3N3b3JkID0g
aW5wdXRDcmVkZW50aWFsLnBhc3N3b3JkKCk7Ci0gICAgICAgICAgICB9CisgICAgICAgIC8vIEJl
Zm9yZSBhc2tpbmcgdGhlIHVzZXIgZm9yIGNyZWRlbnRpYWxzLCB3ZSBjaGVjayBpZiB0aGUgVVJM
IGNvbnRhaW5zIHRoYXQuCisgICAgICAgIGlmICghbV9oYW5kbGUtPmdldEludGVybmFsKCktPm1f
dXNlci5pc0VtcHR5KCkgJiYgIW1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX3Bhc3MuaXNFbXB0
eSgpKSB7CisgICAgICAgICAgICB1c2VybmFtZSA9IG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5t
X3VzZXI7CisgICAgICAgICAgICBwYXNzd29yZCA9IG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5t
X3Bhc3M7CisKKyAgICAgICAgICAgIC8vIFByZXZlbnQgdGhlbSBmcm9tIGJlZW4gdXNlZCBhZ2Fp
biBpZiB0aGV5IGFyZSB3cm9uZy4KKyAgICAgICAgICAgIC8vIElmIHRoZXkgYXJlIGNvcnJlY3Qs
IHRoZXkgd2lsbCB0aGUgcHV0IGludG8gQ3JlZGVudGlhbFN0b3JhZ2UuCisgICAgICAgICAgICBt
X2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV91c2VyID0gIiI7CisgICAgICAgICAgICBtX2hhbmRs
ZS0+Z2V0SW50ZXJuYWwoKS0+bV9wYXNzID0gIiI7CisgICAgICAgIH0gZWxzZSB7CisgICAgICAg
ICAgICBpZiAobV9oYW5kbGUtPmZpcnN0UmVxdWVzdCgpLnRhcmdldFR5cGUoKSAhPSBSZXNvdXJj
ZVJlcXVlc3Q6OlRhcmdldElzTWFpbkZyYW1lICYmIEJsYWNrQmVycnk6OlBsYXRmb3JtOjpTZXR0
aW5nczo6aW5zdGFuY2UoKS0+aXNDaHJvbWVQcm9jZXNzKCkpCisgICAgICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgICAgICAgICBtX2hhbmRsZS0+Z2V0SW50ZXJuYWwoKS0+bV9jdXJy
ZW50V2ViQ2hhbGxlbmdlID0gQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoKTsKKyAgICAgICAgICAg
IG1fZnJhbWUtPnBhZ2UoKS0+Y2hyb21lKCktPmNsaWVudCgpLT5wbGF0Zm9ybVBhZ2VDbGllbnQo
KS0+YXV0aGVudGljYXRpb25DaGFsbGVuZ2UobmV3VVJMLCBwcm90ZWN0aW9uU3BhY2UsIENyZWRl
bnRpYWwoKSwgdGhpcyk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgfQogCiAg
ICAgICAgIGNyZWRlbnRpYWwgPSBDcmVkZW50aWFsKHVzZXJuYW1lLCBwYXNzd29yZCwgQ3JlZGVu
dGlhbFBlcnNpc3RlbmNlRm9yU2Vzc2lvbik7CkBAIC03NzgsMTAgKzc3NSw4IEBAIGJvb2wgTmV0
d29ya0pvYjo6c2VuZFJlcXVlc3RXaXRoQ3JlZGVudGlhbHMoUHJvdGVjdGlvblNwYWNlU2VydmVy
VHlwZSB0eXBlLCBQcm90CiAgICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJl
bnRXZWJDaGFsbGVuZ2UgPSBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShwcm90ZWN0aW9uU3BhY2Us
IGNyZWRlbnRpYWwsIDAsIG1fcmVzcG9uc2UsIFJlc291cmNlRXJyb3IoKSk7CiAgICAgfQogCi0g
ICAgUmVzb3VyY2VSZXF1ZXN0IG5ld1JlcXVlc3QgPSBtX2hhbmRsZS0+Zmlyc3RSZXF1ZXN0KCk7
Ci0gICAgbmV3UmVxdWVzdC5zZXRVUkwobmV3VVJMKTsKLSAgICBuZXdSZXF1ZXN0LnNldE11c3RI
YW5kbGVJbnRlcm5hbGx5KHRydWUpOwotICAgIHJldHVybiBzdGFydE5ld0pvYldpdGhSZXF1ZXN0
KG5ld1JlcXVlc3QpOworICAgIG5vdGlmeUNoYWxsZW5nZVJlc3VsdChuZXdVUkwsIHByb3RlY3Rp
b25TcGFjZSwgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTdWNjZXNzLCBjcmVkZW50aWFsKTsKKyAg
ICByZXR1cm4gbV9uZXdKb2JXaXRoQ3JlZGVudGlhbHNTdGFydGVkOwogfQogCiB2b2lkIE5ldHdv
cmtKb2I6OnN0b3JlQ3JlZGVudGlhbHMoKQpAQCAtODMwLDQgKzgyNSwyMCBAQCB2b2lkIE5ldHdv
cmtKb2I6OmZpcmVEZWxldGVKb2JUaW1lcihUaW1lcjxOZXR3b3JrSm9iPiopCiAgICAgTmV0d29y
a01hbmFnZXI6Omluc3RhbmNlKCktPmRlbGV0ZUpvYih0aGlzKTsKIH0KIAordm9pZCBOZXR3b3Jr
Sm9iOjpub3RpZnlDaGFsbGVuZ2VSZXN1bHQoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBQcm90ZWN0
aW9uU3BhY2UmIHByb3RlY3Rpb25TcGFjZSwgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VSZXN1bHQg
cmVzdWx0LCBjb25zdCBDcmVkZW50aWFsJiBjcmVkZW50aWFsKQoreworICAgIGlmIChyZXN1bHQg
IT0gQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTdWNjZXNzIHx8IHByb3RlY3Rpb25TcGFjZS5ob3N0
KCkuaXNFbXB0eSgpIHx8ICF1cmwuaXNWYWxpZCgpKSB7CisgICAgICAgIG1fbmV3Sm9iV2l0aENy
ZWRlbnRpYWxzU3RhcnRlZCA9IGZhbHNlOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
aWYgKG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVuZ2UuaXNOdWxs
KCkpCisgICAgICAgIG1faGFuZGxlLT5nZXRJbnRlcm5hbCgpLT5tX2N1cnJlbnRXZWJDaGFsbGVu
Z2UgPSBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShwcm90ZWN0aW9uU3BhY2UsIGNyZWRlbnRpYWws
IDAsIG1fcmVzcG9uc2UsIFJlc291cmNlRXJyb3IoKSk7CisKKyAgICBSZXNvdXJjZVJlcXVlc3Qg
bmV3UmVxdWVzdCA9IG1faGFuZGxlLT5maXJzdFJlcXVlc3QoKTsKKyAgICBuZXdSZXF1ZXN0LnNl
dFVSTChtX3Jlc3BvbnNlLnVybCgpKTsKKyAgICBuZXdSZXF1ZXN0LnNldE11c3RIYW5kbGVJbnRl
cm5hbGx5KHRydWUpOworICAgIG1fbmV3Sm9iV2l0aENyZWRlbnRpYWxzU3RhcnRlZCA9IHN0YXJ0
TmV3Sm9iV2l0aFJlcXVlc3QobmV3UmVxdWVzdCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJy
eS9OZXR3b3JrSm9iLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVy
cnkvTmV0d29ya0pvYi5oCmluZGV4IDc0Mjk1ZmYuLjM1MjYzNzQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuaApA
QCAtMTksOCArMTksOSBAQAogI2lmbmRlZiBOZXR3b3JrSm9iX2gKICNkZWZpbmUgTmV0d29ya0pv
Yl9oCiAKKyNpbmNsdWRlICJBdXRoZW50aWNhdGlvbkNoYWxsZW5nZU1hbmFnZXIuaCIKICNpbmNs
dWRlICJEZWZlcnJlZERhdGEuaCIKLSNpbmNsdWRlICJQcm90ZWN0aW9uU3BhY2UuaCIKKyNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlJlc291cmNlSGFuZGxlLmgiCiAjaW5j
bHVkZSAiUmVzb3VyY2VSZXNwb25zZS5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCkBAIC0zOSwxMSAr
NDAsMTMgQEAgY2xhc3MgTmV0d29ya1N0cmVhbUZhY3Rvcnk7CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAorY2xhc3MgQ3JlZGVudGlhbDsKIGNsYXNzIEZyYW1lOwogY2xhc3MgS1VSTDsKK2NsYXNz
IFByb3RlY3Rpb25TcGFjZTsKIGNsYXNzIFJlc291cmNlUmVxdWVzdDsKIAotY2xhc3MgTmV0d29y
a0pvYiA6IHB1YmxpYyBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6RmlsdGVyU3RyZWFtIHsKK2NsYXNz
IE5ldHdvcmtKb2IgOiBwdWJsaWMgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDbGllbnQsIHB1Ymxp
YyBCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6RmlsdGVyU3RyZWFtIHsKIHB1YmxpYzoKICAgICBOZXR3
b3JrSm9iKCk7CiAgICAgYm9vbCBpbml0aWFsaXplKGludCBwbGF5ZXJJZCwKQEAgLTgxLDYgKzg0
LDggQEAgcHVibGljOgogICAgIHZvaWQgaGFuZGxlTm90aWZ5Q2xvc2UoaW50IHN0YXR1cyk7CiAg
ICAgdmlydHVhbCBpbnQgc3RhdHVzKCkgY29uc3QgeyByZXR1cm4gbV9leHRlbmRlZFN0YXR1c0Nv
ZGU7IH0KIAorICAgIHZpcnR1YWwgdm9pZCBub3RpZnlDaGFsbGVuZ2VSZXN1bHQoY29uc3QgS1VS
TCYsIGNvbnN0IFByb3RlY3Rpb25TcGFjZSYsIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUmVzdWx0
LCBjb25zdCBDcmVkZW50aWFsJik7CisKIHByaXZhdGU6CiAgICAgYm9vbCBpc0NsaWVudEF2YWls
YWJsZSgpIGNvbnN0IHsgcmV0dXJuICFtX2NhbmNlbGxlZCAmJiBtX2hhbmRsZSAmJiBtX2hhbmRs
ZS0+Y2xpZW50KCk7IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0Fw
aS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAK
aW5kZXggYmYyNGMxOS4uZTU2Mjg5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2Jl
cnJ5L0FwaS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dl
YlBhZ2UuY3BwCkBAIC0yMCw2ICsyMCw3IEBACiAjaW5jbHVkZSAiV2ViUGFnZS5oIgogCiAjaW5j
bHVkZSAiQXBwbGljYXRpb25DYWNoZVN0b3JhZ2UuaCIKKyNpbmNsdWRlICJBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZU1hbmFnZXIuaCIKICNpbmNsdWRlICJBdXRvZmlsbE1hbmFnZXIuaCIKICNpbmNs
dWRlICJCYWNrRm9yd2FyZENvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJCYWNrRm9yd2FyZExpc3RJ
bXBsLmgiCkBAIC0yMjY3LDE0ICsyMjY4LDIwIEBAIGJvb2wgV2ViUGFnZVByaXZhdGU6OmlzQWN0
aXZlKCkgY29uc3QKICAgICByZXR1cm4gbV9jbGllbnQtPmlzQWN0aXZlKCk7CiB9CiAKLWJvb2wg
V2ViUGFnZVByaXZhdGU6OmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKGNvbnN0IEtVUkwmIHVybCwg
Y29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2UsIENyZWRlbnRpYWwmIGlucHV0
Q3JlZGVudGlhbCkKK3ZvaWQgV2ViUGFnZVByaXZhdGU6OmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
KGNvbnN0IEtVUkwmIHVybCwgY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2Us
IGNvbnN0IENyZWRlbnRpYWwmIGlucHV0Q3JlZGVudGlhbCwgQXV0aGVudGljYXRpb25DaGFsbGVu
Z2VDbGllbnQqIGNsaWVudCkKIHsKICAgICBXZWJTdHJpbmcgdXNlcm5hbWU7CiAgICAgV2ViU3Ry
aW5nIHBhc3N3b3JkOwogCiAjaWYgIWRlZmluZWQoUFVCTElDX0JVSUxEKSB8fCAhUFVCTElDX0JV
SUxECi0gICAgaWYgKG1fZHVtcFJlbmRlclRyZWUpCi0gICAgICAgIHJldHVybiBtX2R1bXBSZW5k
ZXJUcmVlLT5kaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoaW5wdXRDcmVkZW50aWFs
KTsKKyAgICBpZiAobV9kdW1wUmVuZGVyVHJlZSkgeworICAgICAgICBDcmVkZW50aWFsIGNyZWRl
bnRpYWwoaW5wdXRDcmVkZW50aWFsLCBpbnB1dENyZWRlbnRpYWwucGVyc2lzdGVuY2UoKSk7Cisg
ICAgICAgIGlmIChtX2R1bXBSZW5kZXJUcmVlLT5kaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFs
bGVuZ2UoY3JlZGVudGlhbCkpCisgICAgICAgICAgICBjbGllbnQtPm5vdGlmeUNoYWxsZW5nZVJl
c3VsdCh1cmwsIHByb3RlY3Rpb25TcGFjZSwgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VTdWNjZXNz
LCBjcmVkZW50aWFsKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgY2xpZW50LT5ub3RpZnlD
aGFsbGVuZ2VSZXN1bHQodXJsLCBwcm90ZWN0aW9uU3BhY2UsIEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlQ2FuY2VsbGVkLCBpbnB1dENyZWRlbnRpYWwpOworICAgICAgICByZXR1cm47CisgICAgfQog
I2VuZGlmCiAKICNpZiBFTkFCTEUoQkxBQ0tCRVJSWV9DUkVERU5USUFMX1BFUlNJU1QpCkBAIC0y
MjkxLDggKzIyOTgsMTEgQEAgYm9vbCBXZWJQYWdlUHJpdmF0ZTo6YXV0aGVudGljYXRpb25DaGFs
bGVuZ2UoY29uc3QgS1VSTCYgdXJsLCBjb25zdCBQcm90ZWN0aW9uU3AKICNlbHNlCiAgICAgQ3Jl
ZGVudGlhbCBjcmVkZW50aWFsKHVzZXJuYW1lLCBwYXNzd29yZCwgQ3JlZGVudGlhbFBlcnNpc3Rl
bmNlTm9uZSk7CiAjZW5kaWYKLSAgICBpbnB1dENyZWRlbnRpYWwgPSBjcmVkZW50aWFsOwotICAg
IHJldHVybiBpc0NvbmZpcm1lZDsKKworICAgIGlmIChpc0NvbmZpcm1lZCkKKyAgICAgICAgY2xp
ZW50LT5ub3RpZnlDaGFsbGVuZ2VSZXN1bHQodXJsLCBwcm90ZWN0aW9uU3BhY2UsIEF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlU3VjY2VzcywgY3JlZGVudGlhbCk7CisgICAgZWxzZQorICAgICAgICBj
bGllbnQtPm5vdGlmeUNoYWxsZW5nZVJlc3VsdCh1cmwsIHByb3RlY3Rpb25TcGFjZSwgQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2VDYW5jZWxsZWQsIGlucHV0Q3JlZGVudGlhbCk7CiB9CiAKIFBhZ2VD
bGllbnRCbGFja0JlcnJ5OjpTYXZlQ3JlZGVudGlhbFR5cGUgV2ViUGFnZVByaXZhdGU6Om5vdGlm
eVNob3VsZFNhdmVDcmVkZW50aWFsKGJvb2wgaXNOZXcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VfcC5oIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5
L0FwaS9XZWJQYWdlX3AuaAppbmRleCBmNTkyYmIxLi42MzA4OTcxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9BcGkvV2ViUGFnZV9wLmgKQEAgLTQ1LDYgKzQ1LDcgQEAKICNkZWZpbmUgREVG
QVVMVF9NQVhfTEFZT1VUX0hFSUdIVCA3NjgKIAogbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3Mg
QXV0aGVudGljYXRpb25DaGFsbGVuZ2VDbGllbnQ7CiBjbGFzcyBBdXRvZmlsbE1hbmFnZXI7CiBj
bGFzcyBET01XcmFwcGVyV29ybGQ7CiBjbGFzcyBEb2N1bWVudDsKQEAgLTIwMSw3ICsyMDIsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBpbnQgc2hvd0FsZXJ0RGlhbG9nKFdlYlBhZ2VDbGllbnQ6
OkFsZXJ0VHlwZSBhdHlwZSk7CiAgICAgdmlydHVhbCBib29sIGlzQWN0aXZlKCkgY29uc3Q7CiAg
ICAgdmlydHVhbCBib29sIGlzVmlzaWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1fdmlzaWJsZTsgfQot
ICAgIHZpcnR1YWwgYm9vbCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBXZWJDb3JlOjpL
VVJMJiwgY29uc3QgV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlJiwgV2ViQ29yZTo6Q3JlZGVudGlh
bCYpOworICAgIHZpcnR1YWwgdm9pZCBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZShjb25zdCBXZWJD
b3JlOjpLVVJMJiwgY29uc3QgV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlJiwgY29uc3QgV2ViQ29y
ZTo6Q3JlZGVudGlhbCYsIFdlYkNvcmU6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlQ2xpZW50Kik7
CiAgICAgdmlydHVhbCBTYXZlQ3JlZGVudGlhbFR5cGUgbm90aWZ5U2hvdWxkU2F2ZUNyZWRlbnRp
YWwoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lkIHN5bmNQcm94eUNyZWRlbnRpYWwoY29uc3QgV2Vi
Q29yZTo6Q3JlZGVudGlhbCYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZwppbmRleCBj
NTI1ZGIyLi42YmExMDhhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hh
bmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNSBAQAorMjAxMi0wOS0wNyAgTGlhbmdodWkgQ2hlbiAgPGxpYWNoZW5AcmltLmNvbT4KKwor
ICAgICAgICBbQmxhY2tCZXJyeV0gd2hlbiBvbmUgb2YgbXVsdGlwbGUgdGFicyB1c2VzIGF1dGhl
bnRpY2F0aW9uLCB1c2VyIGNhbiBnZXQgdGhlIGF1dGggZGlhbG9nIHdoaWxlIHRoZSBvdGhlciB0
YWIgaGFzIGZvY3VzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTU0ODgKKyAgICAgICAgUFI6IDE4NjU5Ny4KKworICAgICAgICBJbnRlcm5hbGx5IHJl
dmlld2VkIGJ5IEpvZSBNYXNvbi4KKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVXNlIG5ldyBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUNsaWVudCBpbnRlcmZh
Y2UgdG8gbWFrZSBhdXRoZW50aWNhdGlvbgorICAgICAgICBjaGFsbGVuZ2UgYXN5bmNocm9ub3Vz
IHRvIE5ldHdvcmtKb2IsIE1lZGlhUGxheWVyUHJpdmF0ZUJsYWNrQmVycnksIGFuZAorICAgICAg
ICBvdGhlciBtb2R1bGUgdGhhdCB3aWxsIHVzZSBIVFRQIGF1dGhlbnRpY2F0aW9uLiBXZWJQYWdl
IGl0c2VsZiBzdGlsbCB1c2UKKyAgICAgICAgc3luY2hyb25vdXMgYXV0aGVudGljYXRpb24gdGhv
dWdoLiBTd2l0Y2hpbmcgdG8gYXN5bmNocm9ub3VzIGF1dGhlbnRpY2F0aW9uCisgICAgICAgIGlu
IFdlYlBhZ2Ugd2lsbCByZXF1aXJlIGJpZ2dlciBwbGF0Zm9ybSBsYXllciBjaGFuZ2UgYW5kIG5v
dCB2ZXJ5IG5lY2Vzc2FyeQorICAgICAgICBhdCB0aGUgbW9tZW50IGZvciB0aGlzIGJ1Zy4KKwor
ICAgICAgICAqIEFwaS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6
V2ViUGFnZVByaXZhdGU6OmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKToKKyAgICAgICAgKiBBcGkv
V2ViUGFnZV9wLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYlBhZ2VQcml2YXRl
KToKKwogMjAxMi0wOS0wNiAgR2VuZXZpZXZlIE1hayAgPGdtYWtAcmltLmNvbT4KIAogICAgICAg
ICBBZGQgZGF0YS1ibGFja2JlcnJ5LXdlYndvcmtzLWNvbnRleHQgYXR0cmlidXRlIGFuZCBzZXQg
dGhlIGN1c3RvbSBjb250ZXh0IHdoZW4K
</data>

          </attachment>
      

    </bug>

</bugzilla>