<?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>178555</bug_id>
          
          <creation_ts>2017-10-19 18:59:59 -0700</creation_ts>
          <short_desc>Modernize authentication challenge handling in WebKit</short_desc>
          <delta_ts>2017-11-15 13:03:27 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>berto</cc>
    
    <cc>buildbot</cc>
    
    <cc>cgarcia</cc>
    
    <cc>gustavo</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1362491</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-10-19 18:59:59 -0700</bug_when>
    <thetext>Modernize authentication challenge handling in WebKit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362492</commentid>
    <comment_count>1</comment_count>
      <attachid>324330</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-10-19 19:00:49 -0700</bug_when>
    <thetext>Created attachment 324330
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362496</commentid>
    <comment_count>2</comment_count>
      <attachid>324331</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-10-19 19:05:20 -0700</bug_when>
    <thetext>Created attachment 324331
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362497</commentid>
    <comment_count>3</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-10-19 19:06:22 -0700</bug_when>
    <thetext>Thanks for the patch. If this patch contains new public API please make sure it follows the guidelines for new WebKit2 GTK+ API. See http://trac.webkit.org/wiki/WebKitGTK/AddingNewWebKit2API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1362505</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-10-19 19:17:58 -0700</bug_when>
    <thetext>http://trac.webkit.org/r223737</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1372336</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-11-15 13:03:27 -0800</bug_when>
    <thetext>&lt;rdar://problem/35568691&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324330</attachid>
            <date>2017-10-19 19:00:49 -0700</date>
            <delta_ts>2017-10-19 19:05:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178555-20171019190048.patch</filename>
            <type>text/plain</type>
            <size>14733</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjM3MzMpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE3LTEwLTE5ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW9kZXJuaXplIGF1
dGhlbnRpY2F0aW9uIGNoYWxsZW5nZSBoYW5kbGluZyBpbiBXZWJLaXQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODU1NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElMb2Fk
ZXJDbGllbnQuaDoKKyAgICAgICAgKEFQSTo6TG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2VJbkZyYW1lKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSU5h
dmlnYXRpb25DbGllbnQuaDoKKyAgICAgICAgKEFQSTo6TmF2aWdhdGlvbkNsaWVudDo6ZGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQpOgorICAgICAg
ICAoV0tQYWdlU2V0UGFnZU5hdmlnYXRpb25DbGllbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tOYXZpZ2F0aW9uRGVsZWdhdGVQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9O
YXZpZ2F0aW9uU3RhdGUubW06CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6TmF2
aWdhdGlvbkNsaWVudDo6Y2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZSk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNsaWVudDo6ZGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSk6CisKIDIwMTctMTAtMTkgIEFsZXggQ2hyaXN0ZW5z
ZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBNb2Rlcm5pemUgQVBJOjpE
b3dubG9hZENsaWVudApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCShyZXZpc2lvbiAyMjM3MzApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01ODI0LDkgKzU4MjQsOSBAQCB2b2lkIFdlYlBh
Z2VQcm94eTo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0CiAgICAgTUVTU0FHRV9DSEVDSyhmcmFtZSk7
CiAKICAgICBpZiAobV9uYXZpZ2F0aW9uQ2xpZW50KQotICAgICAgICBtX25hdmlnYXRpb25DbGll
bnQtPmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgqdGhpcywgYXV0aGVudGljYXRp
b25DaGFsbGVuZ2UucHRyKCkpOworICAgICAgICBtX25hdmlnYXRpb25DbGllbnQtPmRpZFJlY2Vp
dmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgqdGhpcywgYXV0aGVudGljYXRpb25DaGFsbGVuZ2Uu
Z2V0KCkpOwogICAgIGVsc2UKLSAgICAgICAgbV9sb2FkZXJDbGllbnQtPmRpZFJlY2VpdmVBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZUluRnJhbWUoKnRoaXMsICpmcmFtZSwgYXV0aGVudGljYXRpb25D
aGFsbGVuZ2UucHRyKCkpOworICAgICAgICBtX2xvYWRlckNsaWVudC0+ZGlkUmVjZWl2ZUF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlSW5GcmFtZSgqdGhpcywgKmZyYW1lLCBhdXRoZW50aWNhdGlvbkNo
YWxsZW5nZS5nZXQoKSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpleGNlZWRlZERhdGFiYXNl
UXVvdGEodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSwgY29uc3QgU3RyaW5nJiBkaXNwbGF5TmFtZSwgdWlu
dDY0X3QgY3VycmVudFF1b3RhLCB1aW50NjRfdCBjdXJyZW50T3JpZ2luVXNhZ2UsIHVpbnQ2NF90
IGN1cnJlbnREYXRhYmFzZVVzYWdlLCB1aW50NjRfdCBleHBlY3RlZFVzYWdlLCBSZWY8TWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6RXhjZWVkZWREYXRhYmFzZVF1b3RhOjpEZWxheWVkUmVwbHk+JiYg
cmVwbHkpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJTG9hZGVyQ2xpZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUxvYWRlckNs
aWVudC5oCShyZXZpc2lvbiAyMjM3MzApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
QVBJTG9hZGVyQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTc4LDcgKzc4LDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWFjaExheW91dE1pbGVzdG9uZShXZWJLaXQ6OldlYlBh
Z2VQcm94eSYsIFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZXMpIHsgfQogICAgIAogICAgIHZpcnR1
YWwgYm9vbCBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlSW5GcmFtZShXZWJL
aXQ6OldlYlBhZ2VQcm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSYsIFdlYktpdDo6V2ViUHJv
dGVjdGlvblNwYWNlKikgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlSW5GcmFtZShXZWJLaXQ6OldlYlBhZ2VQcm94eSYs
IFdlYktpdDo6V2ViRnJhbWVQcm94eSYsIFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQ
cm94eSopIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFs
bGVuZ2VJbkZyYW1lKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5
JiwgV2ViS2l0OjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5JikgeyB9CiAKICAgICB2aXJ0
dWFsIHZvaWQgZGlkU3RhcnRQcm9ncmVzcyhXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgfQogICAg
IHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VQcm9ncmVzcyhXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsg
fQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb25DbGllbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlv
bkNsaWVudC5oCShyZXZpc2lvbiAyMjM3MzApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQVBJTmF2aWdhdGlvbkNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC04Miw3ICs4Miw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UoV2Vi
S2l0OjpXZWJQYWdlUHJveHkmLCBXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmVzKSB7IH0KIAogICAg
IHZpcnR1YWwgYm9vbCBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKFdlYktp
dDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJQcm90ZWN0aW9uU3BhY2UqKSB7IHJldHVybiBm
YWxzZTsgfQotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVu
Z2UoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
UHJveHkqKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZVByb3h5JikgeyB9CiAKICAgICAvLyBGSVhNRTogVGhlc2UgZnVuY3Rpb24gc2hvdWxkIG5v
dCBiZSBwYXJ0IG9mIHRoaXMgY2xpZW50LgogICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzRGlkVGVy
bWluYXRlKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpQcm9jZXNzVGVybWluYXRpb25S
ZWFzb24pIHsgfQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3Bw
CShyZXZpc2lvbiAyMjM3MzApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTQ4LDEyICsxMTQ4LDEyIEBAIHZvaWQgV0tQYWdl
U2V0UGFnZUxvYWRlckNsaWVudChXS1BhZ2VSZWYKICAgICAgICAgICAgIHJldHVybiBtX2NsaWVu
dC5jYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlSW5GcmFtZSh0b0FQSSgmcGFn
ZSksIHRvQVBJKCZmcmFtZSksIHRvQVBJKHByb3RlY3Rpb25TcGFjZSksIG1fY2xpZW50LmJhc2Uu
Y2xpZW50SW5mbyk7CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZUluRnJhbWUoV2ViUGFnZVByb3h5JiBwYWdlLCBXZWJGcmFtZVByb3h5
JiBmcmFtZSwgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSogYXV0aGVudGljYXRpb25DaGFs
bGVuZ2UpIG92ZXJyaWRlCisgICAgICAgIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlSW5GcmFtZShXZWJQYWdlUHJveHkmIHBhZ2UsIFdlYkZyYW1lUHJveHkmIGZyYW1lLCBB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5JiBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSkgb3Zl
cnJpZGUKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCFtX2NsaWVudC5kaWRSZWNlaXZlQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VJbkZyYW1lKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAot
ICAgICAgICAgICAgbV9jbGllbnQuZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlSW5G
cmFtZSh0b0FQSSgmcGFnZSksIHRvQVBJKCZmcmFtZSksIHRvQVBJKGF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgICAgIG1fY2xpZW50
LmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUluRnJhbWUodG9BUEkoJnBhZ2UpLCB0
b0FQSSgmZnJhbWUpLCB0b0FQSSgmYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpLCBtX2NsaWVudC5i
YXNlLmNsaWVudEluZm8pOwogICAgICAgICB9CiAKICAgICAgICAgdm9pZCBkaWRTdGFydFByb2dy
ZXNzKFdlYlBhZ2VQcm94eSYgcGFnZSkgb3ZlcnJpZGUKQEAgLTIyMzUsMTEgKzIyMzUsMTEgQEAg
dm9pZCBXS1BhZ2VTZXRQYWdlTmF2aWdhdGlvbkNsaWVudChXS1BhZwogICAgICAgICAgICAgcmV0
dXJuIG1fY2xpZW50LmNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UodG9BUEko
JnBhZ2UpLCB0b0FQSShwcm90ZWN0aW9uU3BhY2UpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8p
OwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZShXZWJQYWdlUHJveHkmIHBhZ2UsIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
UHJveHkqIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKSBvdmVycmlkZQorICAgICAgICB2b2lkIGRp
ZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShXZWJQYWdlUHJveHkmIHBhZ2UsIEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkmIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKSBvdmVycmlk
ZQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIW1fY2xpZW50LmRpZFJlY2VpdmVBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSkKICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICBt
X2NsaWVudC5kaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UodG9BUEkoJnBhZ2UpLCB0
b0FQSShhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7
CisgICAgICAgICAgICBtX2NsaWVudC5kaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
dG9BUEkoJnBhZ2UpLCB0b0FQSSgmYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpLCBtX2NsaWVudC5i
YXNlLmNsaWVudEluZm8pOwogICAgICAgICB9CiAKICAgICAgICAgdm9pZCBwcm9jZXNzRGlkVGVy
bWluYXRlKFdlYlBhZ2VQcm94eSYgcGFnZSwgV2ViS2l0OjpQcm9jZXNzVGVybWluYXRpb25SZWFz
b24gcmVhc29uKSBvdmVycmlkZQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLTmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25EZWxlZ2F0ZVByaXZhdGUuaAko
cmV2aXNpb24gMjIzNzMwKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
TmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw4ICs2MCw4
IEBAIHN0YXRpYyBjb25zdCBXS05hdmlnYXRpb25SZXNwb25zZVBvbGljeSAKIAogLSAodm9pZClf
d2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyByZW5kZXJpbmdQcm9ncmVzc0RpZENoYW5nZToo
X1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHMpcHJvZ3Jlc3NFdmVudHM7CiAKLS0gKEJPT0wpX3dl
YlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgY2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rp
b25TcGFjZTooTlNVUkxQcm90ZWN0aW9uU3BhY2UgKilwcm90ZWN0aW9uU3BhY2U7Ci0tICh2b2lk
KV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZTooTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSAqKWNoYWxsZW5nZTsKKy0gKEJP
T0wpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgY2FuQXV0aGVudGljYXRlQWdhaW5zdFBy
b3RlY3Rpb25TcGFjZTooTlNVUkxQcm90ZWN0aW9uU3BhY2UgKilwcm90ZWN0aW9uU3BhY2UgV0tf
QVBJX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgid2ViVmlldzpkaWRSZWNlaXZlQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2U6Y29tcGxldGlvbkhhbmRsZXI6IiwgbWFjb3N4KDEwLjEwLCBXS19N
QUNfVEJBKSwgaW9zKDguMCwgV0tfSU9TX1RCQSkpOworLSAodm9pZClfd2ViVmlldzooV0tXZWJW
aWV3ICopd2ViVmlldyBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6KE5TVVJMQXV0
aGVudGljYXRpb25DaGFsbGVuZ2UgKiljaGFsbGVuZ2UgV0tfQVBJX0RFUFJFQ0FURURfV0lUSF9S
RVBMQUNFTUVOVCgid2ViVmlldzpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6Y29t
cGxldGlvbkhhbmRsZXI6IiwgbWFjb3N4KDEwLjEwLCBXS19NQUNfVEJBKSwgaW9zKDguMCwgV0tf
SU9TX1RCQSkpOwogCiAtICh2b2lkKV93ZWJWaWV3V2ViUHJvY2Vzc0RpZENyYXNoOihXS1dlYlZp
ZXcgKil3ZWJWaWV3OwogLSAodm9pZClfd2ViVmlld1dlYlByb2Nlc3NEaWRCZWNvbWVSZXNwb25z
aXZlOihXS1dlYlZpZXcgKil3ZWJWaWV3OwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvTmF2aWdhdGlvblN0YXRlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLmgJKHJldmlzaW9uIDIyMzczMCkKKysrIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5oCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDQsNyArMTA0LDcgQEAgcHJpdmF0ZToKICAgICAgICAgdm9pZCByZW5kZXJpbmdQcm9n
cmVzc0RpZENoYW5nZShXZWJQYWdlUHJveHkmLCBXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmVzKSBv
dmVycmlkZTsKIAogICAgICAgICBib29sIGNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9u
U3BhY2UoV2ViUGFnZVByb3h5JiwgV2ViUHJvdGVjdGlvblNwYWNlKikgb3ZlcnJpZGU7Ci0gICAg
ICAgIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFdlYlBhZ2VQcm94eSYs
IEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkqKSBvdmVycmlkZTsKKyAgICAgICAgdm9pZCBk
aWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UoV2ViUGFnZVByb3h5JiwgQXV0aGVudGlj
YXRpb25DaGFsbGVuZ2VQcm94eSYpIG92ZXJyaWRlOwogICAgICAgICB2b2lkIHByb2Nlc3NEaWRU
ZXJtaW5hdGUoV2ViUGFnZVByb3h5JiwgUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uKSBvdmVycmlk
ZTsKICAgICAgICAgdm9pZCBwcm9jZXNzRGlkQmVjb21lUmVzcG9uc2l2ZShXZWJQYWdlUHJveHkm
KSBvdmVycmlkZTsKICAgICAgICAgdm9pZCBwcm9jZXNzRGlkQmVjb21lVW5yZXNwb25zaXZlKFdl
YlBhZ2VQcm94eSYpIG92ZXJyaWRlOwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvTmF2aWdhdGlvblN0YXRlLm1tCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQkocmV2aXNpb24gMjIzNzMwKQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTmF2aWdhdGlvblN0YXRlLm1tCSh3b3JraW5nIGNvcHkp
CkBAIC04MTksNTMgKzgxOSw1MyBAQCBib29sIE5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNs
aWVudDo6CiAgICAgaWYgKCFuYXZpZ2F0aW9uRGVsZWdhdGUpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKIAorI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFnbWEgY2xhbmcgZGlhZ25v
c3RpYyBpZ25vcmVkICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgogICAgIHJldHVybiBbc3Rh
dGljX2Nhc3Q8aWQgPFdLTmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZT4+KG5hdmlnYXRpb25EZWxl
Z2F0ZS5nZXQoKSkgX3dlYlZpZXc6bV9uYXZpZ2F0aW9uU3RhdGUubV93ZWJWaWV3IGNhbkF1dGhl
bnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2U6cHJvdGVjdGlvblNwYWNlLT5wcm90ZWN0aW9u
U3BhY2UoKS5uc1NwYWNlKCldOworI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAogfQogCi12
b2lkIE5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNsaWVudDo6ZGlkUmVjZWl2ZUF1dGhlbnRp
Y2F0aW9uQ2hhbGxlbmdlKFdlYlBhZ2VQcm94eSYsIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJv
eHkqIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKQordm9pZCBOYXZpZ2F0aW9uU3RhdGU6Ok5hdmln
YXRpb25DbGllbnQ6OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShXZWJQYWdlUHJv
eHkmLCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5JiBhdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSkKIHsKICAgICBpZiAobV9uYXZpZ2F0aW9uU3RhdGUubV9uYXZpZ2F0aW9uRGVsZWdhdGVNZXRo
b2RzLndlYlZpZXdEaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2VDb21wbGV0aW9uSGFu
ZGxlcikgewogICAgICAgICBhdXRvIG5hdmlnYXRpb25EZWxlZ2F0ZSA9IG1fbmF2aWdhdGlvblN0
YXRlLm1fbmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpOwogICAgICAgICBpZiAoIW5hdmlnYXRpb25E
ZWxlZ2F0ZSkgewotICAgICAgICAgICAgYXV0aGVudGljYXRpb25DaGFsbGVuZ2UtPmxpc3RlbmVy
KCktPnBlcmZvcm1EZWZhdWx0SGFuZGxpbmcoKTsKKyAgICAgICAgICAgIGF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlLmxpc3RlbmVyKCktPnBlcmZvcm1EZWZhdWx0SGFuZGxpbmcoKTsKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgfQogCi0gICAgICAgIFJlZlB0cjxBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZVByb3h5PiBjaGFsbGVuZ2UgPSBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZTsKLSAgICAg
ICAgUmVmUHRyPENvbXBsZXRpb25IYW5kbGVyQ2FsbENoZWNrZXI+IGNoZWNrZXIgPSBDb21wbGV0
aW9uSGFuZGxlckNhbGxDaGVja2VyOjpjcmVhdGUobmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpLCBA
c2VsZWN0b3Iod2ViVmlldzpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6Y29tcGxl
dGlvbkhhbmRsZXI6KSk7Ci0gICAgICAgIFtzdGF0aWNfY2FzdDxpZCA8V0tOYXZpZ2F0aW9uRGVs
ZWdhdGVQcml2YXRlPj4obmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpKSB3ZWJWaWV3Om1fbmF2aWdh
dGlvblN0YXRlLm1fd2ViVmlldyBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6d3Jh
cHBlcigqYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpCi0gICAgICAgICAgICBjb21wbGV0aW9uSGFu
ZGxlcjpbY2hhbGxlbmdlLCBjaGVja2VyXShOU1VSTFNlc3Npb25BdXRoQ2hhbGxlbmdlRGlzcG9z
aXRpb24gZGlzcG9zaXRpb24sIE5TVVJMQ3JlZGVudGlhbCAqY3JlZGVudGlhbCkgewotICAgICAg
ICAgICAgICAgIGlmIChjaGVja2VyLT5jb21wbGV0aW9uSGFuZGxlckhhc0JlZW5DYWxsZWQoKSkK
LSAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgICAgIGNoZWNrZXItPmRp
ZENhbGxDb21wbGV0aW9uSGFuZGxlcigpOwotCi0gICAgICAgICAgICAgICAgc3dpdGNoIChkaXNw
b3NpdGlvbikgewotICAgICAgICAgICAgICAgIGNhc2UgTlNVUkxTZXNzaW9uQXV0aENoYWxsZW5n
ZVVzZUNyZWRlbnRpYWw6IHsKLSAgICAgICAgICAgICAgICAgICAgUmVmUHRyPFdlYkNyZWRlbnRp
YWw+IHdlYkNyZWRlbnRpYWw7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChjcmVkZW50aWFsKQot
ICAgICAgICAgICAgICAgICAgICAgICAgd2ViQ3JlZGVudGlhbCA9IFdlYkNyZWRlbnRpYWw6OmNy
ZWF0ZShXZWJDb3JlOjpDcmVkZW50aWFsKGNyZWRlbnRpYWwpKTsKLQotICAgICAgICAgICAgICAg
ICAgICBjaGFsbGVuZ2UtPmxpc3RlbmVyKCktPnVzZUNyZWRlbnRpYWwod2ViQ3JlZGVudGlhbC5n
ZXQoKSk7Ci0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAgICAgICAgIH0KLQot
ICAgICAgICAgICAgICAgIGNhc2UgTlNVUkxTZXNzaW9uQXV0aENoYWxsZW5nZVBlcmZvcm1EZWZh
dWx0SGFuZGxpbmc6Ci0gICAgICAgICAgICAgICAgICAgIGNoYWxsZW5nZS0+bGlzdGVuZXIoKS0+
cGVyZm9ybURlZmF1bHRIYW5kbGluZygpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLQot
ICAgICAgICAgICAgICAgIGNhc2UgTlNVUkxTZXNzaW9uQXV0aENoYWxsZW5nZUNhbmNlbEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlOgotICAgICAgICAgICAgICAgICAgICBjaGFsbGVuZ2UtPmxpc3Rl
bmVyKCktPmNhbmNlbCgpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLQotICAgICAgICAg
ICAgICAgIGNhc2UgTlNVUkxTZXNzaW9uQXV0aENoYWxsZW5nZVJlamVjdFByb3RlY3Rpb25TcGFj
ZToKLSAgICAgICAgICAgICAgICAgICAgY2hhbGxlbmdlLT5saXN0ZW5lcigpLT5yZWplY3RQcm90
ZWN0aW9uU3BhY2VBbmRDb250aW51ZSgpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLQot
ICAgICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAgICAgICAgICAgICAgICAgIFtOU0V4Y2VwdGlv
biByYWlzZTpOU0ludmFsaWRBcmd1bWVudEV4Y2VwdGlvbiBmb3JtYXQ6QCJJbnZhbGlkIE5TVVJM
U2Vzc2lvbkF1dGhDaGFsbGVuZ2VEaXNwb3NpdGlvbiAoJWxkKSIsIChsb25nKWRpc3Bvc2l0aW9u
XTsKLSAgICAgICAgICAgICAgICB9CisgICAgICAgIGF1dG8gY2hlY2tlciA9IENvbXBsZXRpb25I
YW5kbGVyQ2FsbENoZWNrZXI6OmNyZWF0ZShuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCksIEBzZWxl
Y3Rvcih3ZWJWaWV3OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTpjb21wbGV0aW9u
SGFuZGxlcjopKTsKKyAgICAgICAgW3N0YXRpY19jYXN0PGlkIDxXS05hdmlnYXRpb25EZWxlZ2F0
ZVByaXZhdGU+PihuYXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCkpIHdlYlZpZXc6bV9uYXZpZ2F0aW9u
U3RhdGUubV93ZWJWaWV3IGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTp3cmFwcGVy
KGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKSBjb21wbGV0aW9uSGFuZGxlcjpCbG9ja1B0cjx2b2lk
KE5TVVJMU2Vzc2lvbkF1dGhDaGFsbGVuZ2VEaXNwb3NpdGlvbiwgTlNVUkxDcmVkZW50aWFsICop
Pjo6ZnJvbUNhbGxhYmxlKFtjaGFsbGVuZ2UgPSBtYWtlUmVmKGF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlKSwgY2hlY2tlciA9IFdURk1vdmUoY2hlY2tlcildKE5TVVJMU2Vzc2lvbkF1dGhDaGFsbGVu
Z2VEaXNwb3NpdGlvbiBkaXNwb3NpdGlvbiwgTlNVUkxDcmVkZW50aWFsICpjcmVkZW50aWFsKSB7
CisgICAgICAgICAgICBpZiAoY2hlY2tlci0+Y29tcGxldGlvbkhhbmRsZXJIYXNCZWVuQ2FsbGVk
KCkpCisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgY2hlY2tlci0+ZGlkQ2Fs
bENvbXBsZXRpb25IYW5kbGVyKCk7CisKKyAgICAgICAgICAgIHN3aXRjaCAoZGlzcG9zaXRpb24p
IHsKKyAgICAgICAgICAgIGNhc2UgTlNVUkxTZXNzaW9uQXV0aENoYWxsZW5nZVVzZUNyZWRlbnRp
YWw6IHsKKyAgICAgICAgICAgICAgICBSZWZQdHI8V2ViQ3JlZGVudGlhbD4gd2ViQ3JlZGVudGlh
bDsKKyAgICAgICAgICAgICAgICBpZiAoY3JlZGVudGlhbCkKKyAgICAgICAgICAgICAgICAgICAg
d2ViQ3JlZGVudGlhbCA9IFdlYkNyZWRlbnRpYWw6OmNyZWF0ZShXZWJDb3JlOjpDcmVkZW50aWFs
KGNyZWRlbnRpYWwpKTsKKworICAgICAgICAgICAgICAgIGNoYWxsZW5nZS0+bGlzdGVuZXIoKS0+
dXNlQ3JlZGVudGlhbCh3ZWJDcmVkZW50aWFsLmdldCgpKTsKKyAgICAgICAgICAgICAgICBicmVh
azsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgY2FzZSBOU1VSTFNlc3Npb25BdXRoQ2hh
bGxlbmdlUGVyZm9ybURlZmF1bHRIYW5kbGluZzoKKyAgICAgICAgICAgICAgICBjaGFsbGVuZ2Ut
Pmxpc3RlbmVyKCktPnBlcmZvcm1EZWZhdWx0SGFuZGxpbmcoKTsKKyAgICAgICAgICAgICAgICBi
cmVhazsKKworICAgICAgICAgICAgY2FzZSBOU1VSTFNlc3Npb25BdXRoQ2hhbGxlbmdlQ2FuY2Vs
QXV0aGVudGljYXRpb25DaGFsbGVuZ2U6CisgICAgICAgICAgICAgICAgY2hhbGxlbmdlLT5saXN0
ZW5lcigpLT5jYW5jZWwoKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAg
Y2FzZSBOU1VSTFNlc3Npb25BdXRoQ2hhbGxlbmdlUmVqZWN0UHJvdGVjdGlvblNwYWNlOgorICAg
ICAgICAgICAgICAgIGNoYWxsZW5nZS0+bGlzdGVuZXIoKS0+cmVqZWN0UHJvdGVjdGlvblNwYWNl
QW5kQ29udGludWUoKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAgZGVm
YXVsdDoKKyAgICAgICAgICAgICAgICBbTlNFeGNlcHRpb24gcmFpc2U6TlNJbnZhbGlkQXJndW1l
bnRFeGNlcHRpb24gZm9ybWF0OkAiSW52YWxpZCBOU1VSTFNlc3Npb25BdXRoQ2hhbGxlbmdlRGlz
cG9zaXRpb24gKCVsZCkiLCAobG9uZylkaXNwb3NpdGlvbl07CiAgICAgICAgICAgICB9Ci0gICAg
ICAgIF07CisgICAgICAgIH0pLmdldCgpXTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAt
ODc2LDcgKzg3NiwxMCBAQCB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNsaWVudDo6
CiAgICAgaWYgKCFuYXZpZ2F0aW9uRGVsZWdhdGUpCiAgICAgICAgIHJldHVybjsKIAotICAgIFtz
dGF0aWNfY2FzdDxpZCA8V0tOYXZpZ2F0aW9uRGVsZWdhdGVQcml2YXRlPj4obmF2aWdhdGlvbkRl
bGVnYXRlLmdldCgpKSBfd2ViVmlldzptX25hdmlnYXRpb25TdGF0ZS5tX3dlYlZpZXcgZGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOndyYXBwZXIoKmF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlKV07CisjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAorI3ByYWdtYSBjbGFuZyBkaWFn
bm9zdGljIGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCisgICAgW3N0YXRpY19j
YXN0PGlkIDxXS05hdmlnYXRpb25EZWxlZ2F0ZVByaXZhdGU+PihuYXZpZ2F0aW9uRGVsZWdhdGUu
Z2V0KCkpIF93ZWJWaWV3Om1fbmF2aWdhdGlvblN0YXRlLm1fd2ViVmlldyBkaWRSZWNlaXZlQXV0
aGVudGljYXRpb25DaGFsbGVuZ2U6d3JhcHBlcihhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSldOwor
I3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHBvcAogfQogCiB2b2lkIE5hdmlnYXRpb25TdGF0ZTo6
TmF2aWdhdGlvbkNsaWVudDo6cHJvY2Vzc0RpZFRlcm1pbmF0ZShXZWJQYWdlUHJveHkmIHBhZ2Us
IFByb2Nlc3NUZXJtaW5hdGlvblJlYXNvbikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324331</attachid>
            <date>2017-10-19 19:05:20 -0700</date>
            <delta_ts>2017-10-19 19:10:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-178555-20171019190519.patch</filename>
            <type>text/plain</type>
            <size>15715</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyMjM3MzMpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDE3LTEwLTE5ICBBbGV4IENocmlz
dGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgTW9kZXJuaXplIGF1
dGhlbnRpY2F0aW9uIGNoYWxsZW5nZSBoYW5kbGluZyBpbiBXZWJLaXQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODU1NQorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElMb2Fk
ZXJDbGllbnQuaDoKKyAgICAgICAgKEFQSTo6TG9hZGVyQ2xpZW50OjpkaWRSZWNlaXZlQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2VJbkZyYW1lKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0FQSU5h
dmlnYXRpb25DbGllbnQuaDoKKyAgICAgICAgKEFQSTo6TmF2aWdhdGlvbkNsaWVudDo6ZGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlLmNwcDoKKyAgICAgICAgKFdLUGFnZVNldFBhZ2VMb2FkZXJDbGllbnQpOgorICAgICAg
ICAoV0tQYWdlU2V0UGFnZU5hdmlnYXRpb25DbGllbnQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tOYXZpZ2F0aW9uRGVsZWdhdGVQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9j
ZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9O
YXZpZ2F0aW9uU3RhdGUubW06CisgICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6TmF2
aWdhdGlvbkNsaWVudDo6Y2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZSk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5hdmlnYXRpb25TdGF0ZTo6TmF2aWdhdGlvbkNsaWVudDo6ZGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRSZWNlaXZlQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSk6CisKIDIwMTctMTAtMTkgIEFsZXggQ2hyaXN0ZW5z
ZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBNb2Rlcm5pemUgQVBJOjpE
b3dubG9hZENsaWVudApJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCShyZXZpc2lvbiAyMjM3MzApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01ODI0LDkgKzU4MjQsOSBAQCB2b2lkIFdlYlBh
Z2VQcm94eTo6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0CiAgICAgTUVTU0FHRV9DSEVDSyhmcmFtZSk7
CiAKICAgICBpZiAobV9uYXZpZ2F0aW9uQ2xpZW50KQotICAgICAgICBtX25hdmlnYXRpb25DbGll
bnQtPmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgqdGhpcywgYXV0aGVudGljYXRp
b25DaGFsbGVuZ2UucHRyKCkpOworICAgICAgICBtX25hdmlnYXRpb25DbGllbnQtPmRpZFJlY2Vp
dmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSgqdGhpcywgYXV0aGVudGljYXRpb25DaGFsbGVuZ2Uu
Z2V0KCkpOwogICAgIGVsc2UKLSAgICAgICAgbV9sb2FkZXJDbGllbnQtPmRpZFJlY2VpdmVBdXRo
ZW50aWNhdGlvbkNoYWxsZW5nZUluRnJhbWUoKnRoaXMsICpmcmFtZSwgYXV0aGVudGljYXRpb25D
aGFsbGVuZ2UucHRyKCkpOworICAgICAgICBtX2xvYWRlckNsaWVudC0+ZGlkUmVjZWl2ZUF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlSW5GcmFtZSgqdGhpcywgKmZyYW1lLCBhdXRoZW50aWNhdGlvbkNo
YWxsZW5nZS5nZXQoKSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpleGNlZWRlZERhdGFiYXNl
UXVvdGEodWludDY0X3QgZnJhbWVJRCwgY29uc3QgU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIGRhdGFiYXNlTmFtZSwgY29uc3QgU3RyaW5nJiBkaXNwbGF5TmFtZSwgdWlu
dDY0X3QgY3VycmVudFF1b3RhLCB1aW50NjRfdCBjdXJyZW50T3JpZ2luVXNhZ2UsIHVpbnQ2NF90
IGN1cnJlbnREYXRhYmFzZVVzYWdlLCB1aW50NjRfdCBleHBlY3RlZFVzYWdlLCBSZWY8TWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6RXhjZWVkZWREYXRhYmFzZVF1b3RhOjpEZWxheWVkUmVwbHk+JiYg
cmVwbHkpCkluZGV4OiBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJTG9hZGVyQ2xpZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSUxvYWRlckNs
aWVudC5oCShyZXZpc2lvbiAyMjM3MzApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
QVBJTG9hZGVyQ2xpZW50LmgJKHdvcmtpbmcgY29weSkKQEAgLTc4LDcgKzc4LDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWFjaExheW91dE1pbGVzdG9uZShXZWJLaXQ6OldlYlBh
Z2VQcm94eSYsIFdlYkNvcmU6OkxheW91dE1pbGVzdG9uZXMpIHsgfQogICAgIAogICAgIHZpcnR1
YWwgYm9vbCBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlSW5GcmFtZShXZWJL
aXQ6OldlYlBhZ2VQcm94eSYsIFdlYktpdDo6V2ViRnJhbWVQcm94eSYsIFdlYktpdDo6V2ViUHJv
dGVjdGlvblNwYWNlKikgeyByZXR1cm4gZmFsc2U7IH0KLSAgICB2aXJ0dWFsIHZvaWQgZGlkUmVj
ZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlSW5GcmFtZShXZWJLaXQ6OldlYlBhZ2VQcm94eSYs
IFdlYktpdDo6V2ViRnJhbWVQcm94eSYsIFdlYktpdDo6QXV0aGVudGljYXRpb25DaGFsbGVuZ2VQ
cm94eSopIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFs
bGVuZ2VJbkZyYW1lKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJGcmFtZVByb3h5
JiwgV2ViS2l0OjpBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5JikgeyB9CiAKICAgICB2aXJ0
dWFsIHZvaWQgZGlkU3RhcnRQcm9ncmVzcyhXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsgfQogICAg
IHZpcnR1YWwgdm9pZCBkaWRDaGFuZ2VQcm9ncmVzcyhXZWJLaXQ6OldlYlBhZ2VQcm94eSYpIHsg
fQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSU5hdmlnYXRpb25DbGllbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJTmF2aWdhdGlv
bkNsaWVudC5oCShyZXZpc2lvbiAyMjM3MzApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQVBJTmF2aWdhdGlvbkNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC04Miw3ICs4Miw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVuZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UoV2Vi
S2l0OjpXZWJQYWdlUHJveHkmLCBXZWJDb3JlOjpMYXlvdXRNaWxlc3RvbmVzKSB7IH0KIAogICAg
IHZpcnR1YWwgYm9vbCBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKFdlYktp
dDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpXZWJQcm90ZWN0aW9uU3BhY2UqKSB7IHJldHVybiBm
YWxzZTsgfQotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVu
Z2UoV2ViS2l0OjpXZWJQYWdlUHJveHkmLCBXZWJLaXQ6OkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
UHJveHkqKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpBdXRoZW50aWNhdGlvbkNoYWxs
ZW5nZVByb3h5JikgeyB9CiAKICAgICAvLyBGSVhNRTogVGhlc2UgZnVuY3Rpb24gc2hvdWxkIG5v
dCBiZSBwYXJ0IG9mIHRoaXMgY2xpZW50LgogICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzRGlkVGVy
bWluYXRlKFdlYktpdDo6V2ViUGFnZVByb3h5JiwgV2ViS2l0OjpQcm9jZXNzVGVybWluYXRpb25S
ZWFzb24pIHsgfQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3Bw
CShyZXZpc2lvbiAyMjM3MzApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMTQ4LDEyICsxMTQ4LDEyIEBAIHZvaWQgV0tQYWdl
U2V0UGFnZUxvYWRlckNsaWVudChXS1BhZ2VSZWYKICAgICAgICAgICAgIHJldHVybiBtX2NsaWVu
dC5jYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlSW5GcmFtZSh0b0FQSSgmcGFn
ZSksIHRvQVBJKCZmcmFtZSksIHRvQVBJKHByb3RlY3Rpb25TcGFjZSksIG1fY2xpZW50LmJhc2Uu
Y2xpZW50SW5mbyk7CiAgICAgICAgIH0KIAotICAgICAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZUluRnJhbWUoV2ViUGFnZVByb3h5JiBwYWdlLCBXZWJGcmFtZVByb3h5
JiBmcmFtZSwgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSogYXV0aGVudGljYXRpb25DaGFs
bGVuZ2UpIG92ZXJyaWRlCisgICAgICAgIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlSW5GcmFtZShXZWJQYWdlUHJveHkmIHBhZ2UsIFdlYkZyYW1lUHJveHkmIGZyYW1lLCBB
dXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5JiBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSkgb3Zl
cnJpZGUKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCFtX2NsaWVudC5kaWRSZWNlaXZlQXV0
aGVudGljYXRpb25DaGFsbGVuZ2VJbkZyYW1lKQogICAgICAgICAgICAgICAgIHJldHVybjsKIAot
ICAgICAgICAgICAgbV9jbGllbnQuZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlSW5G
cmFtZSh0b0FQSSgmcGFnZSksIHRvQVBJKCZmcmFtZSksIHRvQVBJKGF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlKSwgbV9jbGllbnQuYmFzZS5jbGllbnRJbmZvKTsKKyAgICAgICAgICAgIG1fY2xpZW50
LmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZUluRnJhbWUodG9BUEkoJnBhZ2UpLCB0
b0FQSSgmZnJhbWUpLCB0b0FQSSgmYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpLCBtX2NsaWVudC5i
YXNlLmNsaWVudEluZm8pOwogICAgICAgICB9CiAKICAgICAgICAgdm9pZCBkaWRTdGFydFByb2dy
ZXNzKFdlYlBhZ2VQcm94eSYgcGFnZSkgb3ZlcnJpZGUKQEAgLTIyMzUsMTEgKzIyMzUsMTEgQEAg
dm9pZCBXS1BhZ2VTZXRQYWdlTmF2aWdhdGlvbkNsaWVudChXS1BhZwogICAgICAgICAgICAgcmV0
dXJuIG1fY2xpZW50LmNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UodG9BUEko
JnBhZ2UpLCB0b0FQSShwcm90ZWN0aW9uU3BhY2UpLCBtX2NsaWVudC5iYXNlLmNsaWVudEluZm8p
OwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNh
dGlvbkNoYWxsZW5nZShXZWJQYWdlUHJveHkmIHBhZ2UsIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
UHJveHkqIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKSBvdmVycmlkZQorICAgICAgICB2b2lkIGRp
ZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShXZWJQYWdlUHJveHkmIHBhZ2UsIEF1dGhl
bnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkmIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKSBvdmVycmlk
ZQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIW1fY2xpZW50LmRpZFJlY2VpdmVBdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSkKICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICBt
X2NsaWVudC5kaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2UodG9BUEkoJnBhZ2UpLCB0
b0FQSShhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSksIG1fY2xpZW50LmJhc2UuY2xpZW50SW5mbyk7
CisgICAgICAgICAgICBtX2NsaWVudC5kaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2Uo
dG9BUEkoJnBhZ2UpLCB0b0FQSSgmYXV0aGVudGljYXRpb25DaGFsbGVuZ2UpLCBtX2NsaWVudC5i
YXNlLmNsaWVudEluZm8pOwogICAgICAgICB9CiAKICAgICAgICAgdm9pZCBwcm9jZXNzRGlkVGVy
bWluYXRlKFdlYlBhZ2VQcm94eSYgcGFnZSwgV2ViS2l0OjpQcm9jZXNzVGVybWluYXRpb25SZWFz
b24gcmVhc29uKSBvdmVycmlkZQpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLTmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS05hdmlnYXRpb25EZWxlZ2F0ZVByaXZhdGUuaAko
cmV2aXNpb24gMjIzNzMwKQorKysgU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dL
TmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC02MCw4ICs2MCw4
IEBAIHN0YXRpYyBjb25zdCBXS05hdmlnYXRpb25SZXNwb25zZVBvbGljeSAKIAogLSAodm9pZClf
d2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyByZW5kZXJpbmdQcm9ncmVzc0RpZENoYW5nZToo
X1dLUmVuZGVyaW5nUHJvZ3Jlc3NFdmVudHMpcHJvZ3Jlc3NFdmVudHM7CiAKLS0gKEJPT0wpX3dl
YlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgY2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rp
b25TcGFjZTooTlNVUkxQcm90ZWN0aW9uU3BhY2UgKilwcm90ZWN0aW9uU3BhY2U7Ci0tICh2b2lk
KV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNo
YWxsZW5nZTooTlNVUkxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSAqKWNoYWxsZW5nZTsKKy0gKEJP
T0wpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgY2FuQXV0aGVudGljYXRlQWdhaW5zdFBy
b3RlY3Rpb25TcGFjZTooTlNVUkxQcm90ZWN0aW9uU3BhY2UgKilwcm90ZWN0aW9uU3BhY2UgV0tf
QVBJX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgid2ViVmlldzpkaWRSZWNlaXZlQXV0aGVu
dGljYXRpb25DaGFsbGVuZ2U6Y29tcGxldGlvbkhhbmRsZXI6IiwgbWFjb3N4KDEwLjEwLCBXS19N
QUNfVEJBKSwgaW9zKDguMCwgV0tfSU9TX1RCQSkpOworLSAodm9pZClfd2ViVmlldzooV0tXZWJW
aWV3ICopd2ViVmlldyBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6KE5TVVJMQXV0
aGVudGljYXRpb25DaGFsbGVuZ2UgKiljaGFsbGVuZ2UgV0tfQVBJX0RFUFJFQ0FURURfV0lUSF9S
RVBMQUNFTUVOVCgid2ViVmlldzpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVuZ2U6Y29t
cGxldGlvbkhhbmRsZXI6IiwgbWFjb3N4KDEwLjEwLCBXS19NQUNfVEJBKSwgaW9zKDguMCwgV0tf
SU9TX1RCQSkpOwogCiAtICh2b2lkKV93ZWJWaWV3V2ViUHJvY2Vzc0RpZENyYXNoOihXS1dlYlZp
ZXcgKil3ZWJWaWV3OwogLSAodm9pZClfd2ViVmlld1dlYlByb2Nlc3NEaWRCZWNvbWVSZXNwb25z
aXZlOihXS1dlYlZpZXcgKil3ZWJWaWV3OwpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
QVBJL2dsaWIvV2ViS2l0TG9hZGVyQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRMb2FkZXJDbGllbnQuY3BwCShyZXZpc2lvbiAy
MjM3MzApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvZ2xpYi9XZWJLaXRMb2FkZXJD
bGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMDUsOSArMTA1LDkgQEAgcHJpdmF0ZToKICAg
ICAgICAgd2Via2l0QmFja0ZvcndhcmRMaXN0Q2hhbmdlZCh3ZWJraXRfd2ViX3ZpZXdfZ2V0X2Jh
Y2tfZm9yd2FyZF9saXN0KG1fd2ViVmlldyksIGFkZGVkSXRlbSwgV1RGTW92ZShyZW1vdmVkSXRl
bXMpKTsKICAgICB9CiAKLSAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZUluRnJhbWUoV2ViUGFnZVByb3h5JiwgV2ViRnJhbWVQcm94eSYsIEF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlUHJveHkqIGF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKSBvdmVycmlkZQorICAgIHZvaWQg
ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlSW5GcmFtZShXZWJQYWdlUHJveHkmLCBX
ZWJGcmFtZVByb3h5JiwgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSYgYXV0aGVudGljYXRp
b25DaGFsbGVuZ2UpIG92ZXJyaWRlCiAgICAgewotICAgICAgICB3ZWJraXRXZWJWaWV3SGFuZGxl
QXV0aGVudGljYXRpb25DaGFsbGVuZ2UobV93ZWJWaWV3LCBhdXRoZW50aWNhdGlvbkNoYWxsZW5n
ZSk7CisgICAgICAgIHdlYmtpdFdlYlZpZXdIYW5kbGVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZSht
X3dlYlZpZXcsICZhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSk7CiAgICAgfQogCiAgICAgdm9pZCBw
cm9jZXNzRGlkQ3Jhc2goV2ViUGFnZVByb3h5Jikgb3ZlcnJpZGUKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5oCShyZXZpc2lvbiAyMjM3
MzApCisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUuaAko
d29ya2luZyBjb3B5KQpAQCAtMTA0LDcgKzEwNCw3IEBAIHByaXZhdGU6CiAgICAgICAgIHZvaWQg
cmVuZGVyaW5nUHJvZ3Jlc3NEaWRDaGFuZ2UoV2ViUGFnZVByb3h5JiwgV2ViQ29yZTo6TGF5b3V0
TWlsZXN0b25lcykgb3ZlcnJpZGU7CiAKICAgICAgICAgYm9vbCBjYW5BdXRoZW50aWNhdGVBZ2Fp
bnN0UHJvdGVjdGlvblNwYWNlKFdlYlBhZ2VQcm94eSYsIFdlYlByb3RlY3Rpb25TcGFjZSopIG92
ZXJyaWRlOwotICAgICAgICB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShX
ZWJQYWdlUHJveHkmLCBBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5Kikgb3ZlcnJpZGU7Cisg
ICAgICAgIHZvaWQgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKFdlYlBhZ2VQcm94
eSYsIEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkmKSBvdmVycmlkZTsKICAgICAgICAgdm9p
ZCBwcm9jZXNzRGlkVGVybWluYXRlKFdlYlBhZ2VQcm94eSYsIFByb2Nlc3NUZXJtaW5hdGlvblJl
YXNvbikgb3ZlcnJpZGU7CiAgICAgICAgIHZvaWQgcHJvY2Vzc0RpZEJlY29tZVJlc3BvbnNpdmUo
V2ViUGFnZVByb3h5Jikgb3ZlcnJpZGU7CiAgICAgICAgIHZvaWQgcHJvY2Vzc0RpZEJlY29tZVVu
cmVzcG9uc2l2ZShXZWJQYWdlUHJveHkmKSBvdmVycmlkZTsKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9OYXZpZ2F0aW9uU3RhdGUubW0JKHJldmlzaW9uIDIyMzcz
MCkKKysrIFNvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL05hdmlnYXRpb25TdGF0ZS5tbQko
d29ya2luZyBjb3B5KQpAQCAtODE5LDUzICs4MTksNTMgQEAgYm9vbCBOYXZpZ2F0aW9uU3RhdGU6
Ok5hdmlnYXRpb25DbGllbnQ6OgogICAgIGlmICghbmF2aWdhdGlvbkRlbGVnYXRlKQogICAgICAg
ICByZXR1cm4gZmFsc2U7CiAKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwdXNoCisjcHJhZ21h
IGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRlY2xhcmF0aW9ucyIKICAg
ICByZXR1cm4gW3N0YXRpY19jYXN0PGlkIDxXS05hdmlnYXRpb25EZWxlZ2F0ZVByaXZhdGU+Pihu
YXZpZ2F0aW9uRGVsZWdhdGUuZ2V0KCkpIF93ZWJWaWV3Om1fbmF2aWdhdGlvblN0YXRlLm1fd2Vi
VmlldyBjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlOnByb3RlY3Rpb25TcGFj
ZS0+cHJvdGVjdGlvblNwYWNlKCkubnNTcGFjZSgpXTsKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3Rp
YyBwb3AKIH0KIAotdm9pZCBOYXZpZ2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25DbGllbnQ6OmRpZFJl
Y2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZShXZWJQYWdlUHJveHkmLCBBdXRoZW50aWNhdGlv
bkNoYWxsZW5nZVByb3h5KiBhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSkKK3ZvaWQgTmF2aWdhdGlv
blN0YXRlOjpOYXZpZ2F0aW9uQ2xpZW50OjpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVu
Z2UoV2ViUGFnZVByb3h5JiwgQXV0aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eSYgYXV0aGVudGlj
YXRpb25DaGFsbGVuZ2UpCiB7CiAgICAgaWYgKG1fbmF2aWdhdGlvblN0YXRlLm1fbmF2aWdhdGlv
bkRlbGVnYXRlTWV0aG9kcy53ZWJWaWV3RGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdl
Q29tcGxldGlvbkhhbmRsZXIpIHsKICAgICAgICAgYXV0byBuYXZpZ2F0aW9uRGVsZWdhdGUgPSBt
X25hdmlnYXRpb25TdGF0ZS5tX25hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKTsKICAgICAgICAgaWYg
KCFuYXZpZ2F0aW9uRGVsZWdhdGUpIHsKLSAgICAgICAgICAgIGF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlLT5saXN0ZW5lcigpLT5wZXJmb3JtRGVmYXVsdEhhbmRsaW5nKCk7CisgICAgICAgICAgICBh
dXRoZW50aWNhdGlvbkNoYWxsZW5nZS5saXN0ZW5lcigpLT5wZXJmb3JtRGVmYXVsdEhhbmRsaW5n
KCk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIH0KIAotICAgICAgICBSZWZQdHI8QXV0
aGVudGljYXRpb25DaGFsbGVuZ2VQcm94eT4gY2hhbGxlbmdlID0gYXV0aGVudGljYXRpb25DaGFs
bGVuZ2U7Ci0gICAgICAgIFJlZlB0cjxDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyPiBjaGVj
a2VyID0gQ29tcGxldGlvbkhhbmRsZXJDYWxsQ2hlY2tlcjo6Y3JlYXRlKG5hdmlnYXRpb25EZWxl
Z2F0ZS5nZXQoKSwgQHNlbGVjdG9yKHdlYlZpZXc6ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlOmNvbXBsZXRpb25IYW5kbGVyOikpOwotICAgICAgICBbc3RhdGljX2Nhc3Q8aWQgPFdL
TmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZT4+KG5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKSkgd2Vi
VmlldzptX25hdmlnYXRpb25TdGF0ZS5tX3dlYlZpZXcgZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlOndyYXBwZXIoKmF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlKQotICAgICAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXI6W2NoYWxsZW5nZSwgY2hlY2tlcl0oTlNVUkxTZXNzaW9uQXV0aENo
YWxsZW5nZURpc3Bvc2l0aW9uIGRpc3Bvc2l0aW9uLCBOU1VSTENyZWRlbnRpYWwgKmNyZWRlbnRp
YWwpIHsKLSAgICAgICAgICAgICAgICBpZiAoY2hlY2tlci0+Y29tcGxldGlvbkhhbmRsZXJIYXNC
ZWVuQ2FsbGVkKCkpCi0gICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgICAg
ICBjaGVja2VyLT5kaWRDYWxsQ29tcGxldGlvbkhhbmRsZXIoKTsKLQotICAgICAgICAgICAgICAg
IHN3aXRjaCAoZGlzcG9zaXRpb24pIHsKLSAgICAgICAgICAgICAgICBjYXNlIE5TVVJMU2Vzc2lv
bkF1dGhDaGFsbGVuZ2VVc2VDcmVkZW50aWFsOiB7Ci0gICAgICAgICAgICAgICAgICAgIFJlZlB0
cjxXZWJDcmVkZW50aWFsPiB3ZWJDcmVkZW50aWFsOwotICAgICAgICAgICAgICAgICAgICBpZiAo
Y3JlZGVudGlhbCkKLSAgICAgICAgICAgICAgICAgICAgICAgIHdlYkNyZWRlbnRpYWwgPSBXZWJD
cmVkZW50aWFsOjpjcmVhdGUoV2ViQ29yZTo6Q3JlZGVudGlhbChjcmVkZW50aWFsKSk7Ci0KLSAg
ICAgICAgICAgICAgICAgICAgY2hhbGxlbmdlLT5saXN0ZW5lcigpLT51c2VDcmVkZW50aWFsKHdl
YkNyZWRlbnRpYWwuZ2V0KCkpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgICAgICB9Ci0KLSAgICAgICAgICAgICAgICBjYXNlIE5TVVJMU2Vzc2lvbkF1dGhDaGFsbGVu
Z2VQZXJmb3JtRGVmYXVsdEhhbmRsaW5nOgotICAgICAgICAgICAgICAgICAgICBjaGFsbGVuZ2Ut
Pmxpc3RlbmVyKCktPnBlcmZvcm1EZWZhdWx0SGFuZGxpbmcoKTsKLSAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7Ci0KLSAgICAgICAgICAgICAgICBjYXNlIE5TVVJMU2Vzc2lvbkF1dGhDaGFsbGVu
Z2VDYW5jZWxBdXRoZW50aWNhdGlvbkNoYWxsZW5nZToKLSAgICAgICAgICAgICAgICAgICAgY2hh
bGxlbmdlLT5saXN0ZW5lcigpLT5jYW5jZWwoKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7
Ci0KLSAgICAgICAgICAgICAgICBjYXNlIE5TVVJMU2Vzc2lvbkF1dGhDaGFsbGVuZ2VSZWplY3RQ
cm90ZWN0aW9uU3BhY2U6Ci0gICAgICAgICAgICAgICAgICAgIGNoYWxsZW5nZS0+bGlzdGVuZXIo
KS0+cmVqZWN0UHJvdGVjdGlvblNwYWNlQW5kQ29udGludWUoKTsKLSAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7Ci0KLSAgICAgICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgICAg
ICBbTlNFeGNlcHRpb24gcmFpc2U6TlNJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24gZm9ybWF0OkAi
SW52YWxpZCBOU1VSTFNlc3Npb25BdXRoQ2hhbGxlbmdlRGlzcG9zaXRpb24gKCVsZCkiLCAobG9u
ZylkaXNwb3NpdGlvbl07Ci0gICAgICAgICAgICAgICAgfQorICAgICAgICBhdXRvIGNoZWNrZXIg
PSBDb21wbGV0aW9uSGFuZGxlckNhbGxDaGVja2VyOjpjcmVhdGUobmF2aWdhdGlvbkRlbGVnYXRl
LmdldCgpLCBAc2VsZWN0b3Iod2ViVmlldzpkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFsbGVu
Z2U6Y29tcGxldGlvbkhhbmRsZXI6KSk7CisgICAgICAgIFtzdGF0aWNfY2FzdDxpZCA8V0tOYXZp
Z2F0aW9uRGVsZWdhdGVQcml2YXRlPj4obmF2aWdhdGlvbkRlbGVnYXRlLmdldCgpKSB3ZWJWaWV3
Om1fbmF2aWdhdGlvblN0YXRlLm1fd2ViVmlldyBkaWRSZWNlaXZlQXV0aGVudGljYXRpb25DaGFs
bGVuZ2U6d3JhcHBlcihhdXRoZW50aWNhdGlvbkNoYWxsZW5nZSkgY29tcGxldGlvbkhhbmRsZXI6
QmxvY2tQdHI8dm9pZChOU1VSTFNlc3Npb25BdXRoQ2hhbGxlbmdlRGlzcG9zaXRpb24sIE5TVVJM
Q3JlZGVudGlhbCAqKT46OmZyb21DYWxsYWJsZShbY2hhbGxlbmdlID0gbWFrZVJlZihhdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSksIGNoZWNrZXIgPSBXVEZNb3ZlKGNoZWNrZXIpXShOU1VSTFNlc3Np
b25BdXRoQ2hhbGxlbmdlRGlzcG9zaXRpb24gZGlzcG9zaXRpb24sIE5TVVJMQ3JlZGVudGlhbCAq
Y3JlZGVudGlhbCkgeworICAgICAgICAgICAgaWYgKGNoZWNrZXItPmNvbXBsZXRpb25IYW5kbGVy
SGFzQmVlbkNhbGxlZCgpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGNo
ZWNrZXItPmRpZENhbGxDb21wbGV0aW9uSGFuZGxlcigpOworCisgICAgICAgICAgICBzd2l0Y2gg
KGRpc3Bvc2l0aW9uKSB7CisgICAgICAgICAgICBjYXNlIE5TVVJMU2Vzc2lvbkF1dGhDaGFsbGVu
Z2VVc2VDcmVkZW50aWFsOiB7CisgICAgICAgICAgICAgICAgUmVmUHRyPFdlYkNyZWRlbnRpYWw+
IHdlYkNyZWRlbnRpYWw7CisgICAgICAgICAgICAgICAgaWYgKGNyZWRlbnRpYWwpCisgICAgICAg
ICAgICAgICAgICAgIHdlYkNyZWRlbnRpYWwgPSBXZWJDcmVkZW50aWFsOjpjcmVhdGUoV2ViQ29y
ZTo6Q3JlZGVudGlhbChjcmVkZW50aWFsKSk7CisKKyAgICAgICAgICAgICAgICBjaGFsbGVuZ2Ut
Pmxpc3RlbmVyKCktPnVzZUNyZWRlbnRpYWwod2ViQ3JlZGVudGlhbC5nZXQoKSk7CisgICAgICAg
ICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGNhc2UgTlNVUkxT
ZXNzaW9uQXV0aENoYWxsZW5nZVBlcmZvcm1EZWZhdWx0SGFuZGxpbmc6CisgICAgICAgICAgICAg
ICAgY2hhbGxlbmdlLT5saXN0ZW5lcigpLT5wZXJmb3JtRGVmYXVsdEhhbmRsaW5nKCk7CisgICAg
ICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGNhc2UgTlNVUkxTZXNzaW9uQXV0aENo
YWxsZW5nZUNhbmNlbEF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOgorICAgICAgICAgICAgICAgIGNo
YWxsZW5nZS0+bGlzdGVuZXIoKS0+Y2FuY2VsKCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisK
KyAgICAgICAgICAgIGNhc2UgTlNVUkxTZXNzaW9uQXV0aENoYWxsZW5nZVJlamVjdFByb3RlY3Rp
b25TcGFjZToKKyAgICAgICAgICAgICAgICBjaGFsbGVuZ2UtPmxpc3RlbmVyKCktPnJlamVjdFBy
b3RlY3Rpb25TcGFjZUFuZENvbnRpbnVlKCk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAg
ICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAgICAgW05TRXhjZXB0aW9uIHJhaXNlOk5T
SW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uIGZvcm1hdDpAIkludmFsaWQgTlNVUkxTZXNzaW9uQXV0
aENoYWxsZW5nZURpc3Bvc2l0aW9uICglbGQpIiwgKGxvbmcpZGlzcG9zaXRpb25dOwogICAgICAg
ICAgICAgfQotICAgICAgICBdOworICAgICAgICB9KS5nZXQoKV07CiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKQEAgLTg3Niw3ICs4NzYsMTAgQEAgdm9pZCBOYXZpZ2F0aW9uU3RhdGU6Ok5hdmln
YXRpb25DbGllbnQ6OgogICAgIGlmICghbmF2aWdhdGlvbkRlbGVnYXRlKQogICAgICAgICByZXR1
cm47CiAKLSAgICBbc3RhdGljX2Nhc3Q8aWQgPFdLTmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZT4+
KG5hdmlnYXRpb25EZWxlZ2F0ZS5nZXQoKSkgX3dlYlZpZXc6bV9uYXZpZ2F0aW9uU3RhdGUubV93
ZWJWaWV3IGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNoYWxsZW5nZTp3cmFwcGVyKCphdXRoZW50
aWNhdGlvbkNoYWxsZW5nZSldOworI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKKyNwcmFn
bWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgor
ICAgIFtzdGF0aWNfY2FzdDxpZCA8V0tOYXZpZ2F0aW9uRGVsZWdhdGVQcml2YXRlPj4obmF2aWdh
dGlvbkRlbGVnYXRlLmdldCgpKSBfd2ViVmlldzptX25hdmlnYXRpb25TdGF0ZS5tX3dlYlZpZXcg
ZGlkUmVjZWl2ZUF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlOndyYXBwZXIoYXV0aGVudGljYXRpb25D
aGFsbGVuZ2UpXTsKKyNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKIH0KIAogdm9pZCBOYXZp
Z2F0aW9uU3RhdGU6Ok5hdmlnYXRpb25DbGllbnQ6OnByb2Nlc3NEaWRUZXJtaW5hdGUoV2ViUGFn
ZVByb3h5JiBwYWdlLCBQcm9jZXNzVGVybWluYXRpb25SZWFzb24pCg==
</data>
<flag name="review"
          id="343964"
          type_id="1"
          status="+"
          setter="thorton"
    />
          </attachment>
      

    </bug>

</bugzilla>