<?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>43076</bug_id>
          
          <creation_ts>2010-07-27 13:53:35 -0700</creation_ts>
          <short_desc>[Chromium] Add the ability to show right-aligned icons in the AutoFill popup.</short_desc>
          <delta_ts>2010-07-27 16:02:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</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>0</everconfirmed>
          <reporter name="James Hawkins">jhawkins</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dhollowa</cc>
    
    <cc>fishd</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>256812</commentid>
    <comment_count>0</comment_count>
    <who name="James Hawkins">jhawkins</who>
    <bug_when>2010-07-27 13:53:35 -0700</bug_when>
    <thetext>[Chromium] Add the ability to show right-aligned icons in the AutoFill popup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256813</commentid>
    <comment_count>1</comment_count>
      <attachid>62742</attachid>
    <who name="James Hawkins">jhawkins</who>
    <bug_when>2010-07-27 13:55:49 -0700</bug_when>
    <thetext>Created attachment 62742
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256905</commentid>
    <comment_count>2</comment_count>
      <attachid>62759</attachid>
    <who name="James Hawkins">jhawkins</who>
    <bug_when>2010-07-27 15:48:56 -0700</bug_when>
    <thetext>Created attachment 62759
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256907</commentid>
    <comment_count>3</comment_count>
    <who name="James Hawkins">jhawkins</who>
    <bug_when>2010-07-27 15:50:05 -0700</bug_when>
    <thetext>Fixed a leak by using RefPtr to accept a PassRefPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256908</commentid>
    <comment_count>4</comment_count>
      <attachid>62759</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2010-07-27 15:50:31 -0700</bug_when>
    <thetext>Comment on attachment 62759
Patch

good catch on the memory leak.  r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256910</commentid>
    <comment_count>5</comment_count>
    <who name="David Holloway">dhollowa</who>
    <bug_when>2010-07-27 15:51:42 -0700</bug_when>
    <thetext>LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>256919</commentid>
    <comment_count>6</comment_count>
    <who name="James Hawkins">jhawkins</who>
    <bug_when>2010-07-27 16:02:13 -0700</bug_when>
    <thetext>Committed r64173: &lt;http://trac.webkit.org/changeset/64173&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62742</attachid>
            <date>2010-07-27 13:55:49 -0700</date>
            <delta_ts>2010-07-27 15:48:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43076-20100727135548.patch</filename>
            <type>text/plain</type>
            <size>17178</size>
            <attacher name="James Hawkins">jhawkins</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDE1MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTAtMDctMjcgIEphbWVzIEhhd2tpbnMgIDxqaGF3a2luc0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGl0ZW1JY29uKCkgbWV0aG9kIHRvIHRoZSBQb3B1cE1lbnVDbGllbnQsIHVzZWQgYnkg
Q2hyb21lIEF1dG9GaWxsCisgICAgICAgIHRvIGRpc3BsYXkgcmlnaHQtYWxpZ25lZCBjcmVkaXQg
Y2FyZCBpY29ucyBpbiB0aGUgc3VnZ2VzdGlvbnMgcG9wdXAuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzA3NgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cyBhcyB0aGlzIGlzIG9ubHkgdXNlZCBieSB0aGUgQ2hyb21pdW0gV2ViS2l0IEFQSS4KKworICAg
ICAgICAqIHBsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwTGlz
dEJveDo6cGFpbnRSb3cpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZW51TGlzdDo6aXRlbUljb24pOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
ZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENv
bnRyb2xTaW5nbGVMaW5lOjppdGVtSWNvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZS5oOgorCiAyMDEwLTA3LTI3ICBKaWFuIExpICA8amlhbmxpQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9Qb3B1cE1lbnVDbGllbnQuaAkocmV2aXNpb24gNjQxNTApCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL1BvcHVwTWVudUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1UZXh0KHVuc2lnbmVkIGxpc3RJbmRl
eCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1MYWJlbCh1bnNpZ25lZCBsaXN0
SW5kZXgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIFN0cmluZyBpdGVtSWNvbih1bnNpZ25lZCBs
aXN0SW5kZXgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtVG9vbFRpcCh1bnNp
Z25lZCBsaXN0SW5kZXgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtQWNjZXNz
aWJpbGl0eVRleHQodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBi
b29sIGl0ZW1Jc0VuYWJsZWQodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdCA9IDA7CkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAkocmV2
aXNpb24gNjQxNTApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9t
aXVtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsNiArNzEsNyBAQCBzdGF0aWMgY29uc3QgaW50
IGtNYXhWaXNpYmxlUm93cyA9IDIwOwogc3RhdGljIGNvbnN0IGludCBrTWF4SGVpZ2h0ID0gNTAw
Owogc3RhdGljIGNvbnN0IGludCBrQm9yZGVyU2l6ZSA9IDE7CiBzdGF0aWMgY29uc3QgaW50IGtU
ZXh0VG9MYWJlbFBhZGRpbmcgPSAxMDsKK3N0YXRpYyBjb25zdCBpbnQga0xhYmVsVG9JY29uUGFk
ZGluZyA9IDU7CiBzdGF0aWMgY29uc3QgVGltZVN0YW1wIGtUeXBlQWhlYWRUaW1lb3V0TXMgPSAx
MDAwOwogCiAvLyBUaGUgc2V0dGluZ3MgdXNlZCBmb3IgdGhlIGRyb3AgZG93biBtZW51LgpAQCAt
OTU5LDE4ICs5NjAsMzAgQEAgdm9pZCBQb3B1cExpc3RCb3g6OnBhaW50Um93KEdyYXBoaWNzQ29u
dAogICAgIGludCB0ZXh0WSA9IHJvd1JlY3QueSgpICsgaXRlbUZvbnQuYXNjZW50KCkgKyAocm93
UmVjdC5oZWlnaHQoKSAtIGl0ZW1Gb250LmhlaWdodCgpKSAvIDI7CiAgICAgZ2MtPmRyYXdCaWRp
VGV4dChpdGVtRm9udCwgdGV4dFJ1biwgSW50UG9pbnQodGV4dFgsIHRleHRZKSk7CiAKKyAgICAv
LyBXZSBhcmUgdXNpbmcgdGhlIGxlZnQgcGFkZGluZyBhcyB0aGUgcmlnaHQgcGFkZGluZyBpbmNs
dWRlcyByb29tIGZvciB0aGUgc2Nyb2xsLWJhciB3aGljaAorICAgIC8vIGRvZXMgbm90IHNob3cg
aW4gdGhpcyBjYXNlLgorICAgIGludCByaWdodFBhZGRpbmcgPSBtYXgoMCwgbV9wb3B1cENsaWVu
dC0+Y2xpZW50UGFkZGluZ0xlZnQoKSAtIG1fcG9wdXBDbGllbnQtPmNsaWVudEluc2V0TGVmdCgp
KTsKKyAgICBpbnQgcmVtYWluaW5nV2lkdGggPSByb3dSZWN0LndpZHRoKCkgLSByaWdodFBhZGRp
bmc7CisKKyAgICAvLyBEcmF3IHRoZSBpY29uIGlmIGFwcGxpY2FibGUuCisgICAgU3RyaW5nIGl0
ZW1JY29uID0gbV9wb3B1cENsaWVudC0+aXRlbUljb24ocm93SW5kZXgpOworICAgIEltYWdlKiBp
bWFnZSA9IEltYWdlOjpsb2FkUGxhdGZvcm1SZXNvdXJjZShpdGVtSWNvbi51dGY4KCkuZGF0YSgp
KS5yZWxlYXNlUmVmKCk7CisgICAgaWYgKGltYWdlKSB7CisgICAgICAgIEludFJlY3QgaW1hZ2VS
ZWN0ID0gaW1hZ2UtPnJlY3QoKTsKKyAgICAgICAgcmVtYWluaW5nV2lkdGggLT0gKGltYWdlUmVj
dC53aWR0aCgpICsga0xhYmVsVG9JY29uUGFkZGluZyk7CisgICAgICAgIGltYWdlUmVjdC5zZXRY
KHJvd1JlY3Qud2lkdGgoKSAtIHJpZ2h0UGFkZGluZyAtIGltYWdlUmVjdC53aWR0aCgpKTsKKyAg
ICAgICAgaW1hZ2VSZWN0LnNldFkocm93UmVjdC55KCkgKyAocm93UmVjdC5oZWlnaHQoKSAtIGlt
YWdlUmVjdC5oZWlnaHQoKSkgLyAyKTsKKyAgICAgICAgZ2MtPmRyYXdJbWFnZShpbWFnZSwgRGV2
aWNlQ29sb3JTcGFjZSwgaW1hZ2VSZWN0KTsKKyAgICB9CisKICAgICAvLyBEcmF3IHRoZSB0aGUg
bGFiZWwgaWYgYXBwbGljYWJsZS4KICAgICBpZiAoaXRlbUxhYmVsLmlzRW1wdHkoKSkKICAgICAg
ICAgcmV0dXJuOwogICAgIFRleHRSdW4gbGFiZWxUZXh0UnVuKGl0ZW1MYWJlbC5jaGFyYWN0ZXJz
KCksIGl0ZW1MYWJlbC5sZW5ndGgoKSwgZmFsc2UsIDAsIDAsIHJ0bCk7CiAgICAgaWYgKHJpZ2h0
QWxpZ25lZCkKICAgICAgICAgdGV4dFggPSBtYXgoMCwgbV9wb3B1cENsaWVudC0+Y2xpZW50UGFk
ZGluZ0xlZnQoKSAtIG1fcG9wdXBDbGllbnQtPmNsaWVudEluc2V0TGVmdCgpKTsKLSAgICBlbHNl
IHsKLSAgICAgICAgLy8gV2UgYXJlIHVzaW5nIHRoZSBsZWZ0IHBhZGRpbmcgYXMgdGhlIHJpZ2h0
IHBhZGRpbmcgaW5jbHVkZXMgcm9vbSBmb3IgdGhlIHNjcm9sbC1iYXIgd2hpY2gKLSAgICAgICAg
Ly8gZG9lcyBub3Qgc2hvdyBpbiB0aGlzIGNhc2UuCi0gICAgICAgIGludCByaWdodFBhZGRpbmcg
PSBtYXgoMCwgbV9wb3B1cENsaWVudC0+Y2xpZW50UGFkZGluZ0xlZnQoKSAtIG1fcG9wdXBDbGll
bnQtPmNsaWVudEluc2V0TGVmdCgpKTsKLSAgICAgICAgdGV4dFggPSByb3dSZWN0LndpZHRoKCkg
LSByaWdodFBhZGRpbmcgLSBpdGVtRm9udC53aWR0aChsYWJlbFRleHRSdW4pOwotICAgIH0KKyAg
ICBlbHNlCisgICAgICAgIHRleHRYID0gcmVtYWluaW5nV2lkdGggLSBpdGVtRm9udC53aWR0aChs
YWJlbFRleHRSdW4pOwogCiAgICAgZ2MtPnNldEZpbGxDb2xvcihsYWJlbENvbG9yLCBEZXZpY2VD
b2xvclNwYWNlKTsKICAgICBnYy0+ZHJhd0JpZGlUZXh0KGl0ZW1Gb250LCBsYWJlbFRleHRSdW4s
IEludFBvaW50KHRleHRYLCB0ZXh0WSkpOwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TWVudUxpc3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVM
aXN0LmNwcAkocmV2aXNpb24gNjQxNTApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51
TGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1NCw2ICszNTQsMTEgQEAgU3RyaW5nIFJlbmRl
ck1lbnVMaXN0OjppdGVtTGFiZWwodW5zaWduZQogICAgIHJldHVybiBTdHJpbmcoKTsKIH0KIAor
U3RyaW5nIFJlbmRlck1lbnVMaXN0OjppdGVtSWNvbih1bnNpZ25lZCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gU3RyaW5nKCk7Cit9CisKIFN0cmluZyBSZW5kZXJNZW51TGlzdDo6aXRlbUFjY2Vzc2li
aWxpdHlUZXh0KHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3QKIHsKICAgICAvLyBBbGxvdyB0aGUg
YWNjZXNzaWJsZSBuYW1lIGJlIGNoYW5nZWQgaWYgbmVjZXNzYXJ5LgpJbmRleDogV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJNZW51TGlzdC5oCShyZXZpc2lvbiA2NDE1MCkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlck1lbnVMaXN0LmgJKHdvcmtpbmcgY29weSkKQEAgLTgzLDYgKzgzLDcgQEAgcHJpdmF0
ZToKICAgICAvLyBQb3B1cE1lbnVDbGllbnQgbWV0aG9kcwogICAgIHZpcnR1YWwgU3RyaW5nIGl0
ZW1UZXh0KHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJpbmcgaXRl
bUxhYmVsKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CisgICAgdmlydHVhbCBTdHJpbmcgaXRl
bUljb24odW5zaWduZWQgbGlzdEluZGV4KSBjb25zdDsKICAgICB2aXJ0dWFsIFN0cmluZyBpdGVt
VG9vbFRpcCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0OwogICAgIHZpcnR1YWwgU3RyaW5nIGl0
ZW1BY2Nlc3NpYmlsaXR5VGV4dCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0OwogICAgIHZpcnR1
YWwgYm9vbCBpdGVtSXNFbmFibGVkKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CkluZGV4OiBX
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAJ
KHJldmlzaW9uIDY0MTUwKQorKysgV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xT
aW5nbGVMaW5lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTE2LDYgKzkxNiwxMSBAQCBTdHJpbmcg
UmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjppdGVtCiAgICAgcmV0dXJuIFN0cmluZygpOwog
fQogCitTdHJpbmcgUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lOjppdGVtSWNvbih1bnNpZ25l
ZCkgY29uc3QKK3sKKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CisKIGJvb2wgUmVuZGVyVGV4dENv
bnRyb2xTaW5nbGVMaW5lOjppdGVtSXNFbmFibGVkKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3QK
IHsKICAgICAgaWYgKCFsaXN0SW5kZXggfHwgaXRlbUlzU2VwYXJhdG9yKGxpc3RJbmRleCkpCklu
ZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUu
aAkocmV2aXNpb24gNjQxNTApCisrKyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJv
bFNpbmdsZUxpbmUuaAkod29ya2luZyBjb3B5KQpAQCAtMTE3LDYgKzExNyw3IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCB2b2lkIHNlbGVjdGlvbkNsZWFyZWQoKSB7fQogICAgIHZpcnR1YWwgU3Ry
aW5nIGl0ZW1UZXh0KHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CiAgICAgdmlydHVhbCBTdHJp
bmcgaXRlbUxhYmVsKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CisgICAgdmlydHVhbCBTdHJp
bmcgaXRlbUljb24odW5zaWduZWQgbGlzdEluZGV4KSBjb25zdDsKICAgICB2aXJ0dWFsIFN0cmlu
ZyBpdGVtVG9vbFRpcCh1bnNpZ25lZCkgY29uc3QgeyByZXR1cm4gU3RyaW5nKCk7IH0KICAgICB2
aXJ0dWFsIFN0cmluZyBpdGVtQWNjZXNzaWJpbGl0eVRleHQodW5zaWduZWQpIGNvbnN0IHsgcmV0
dXJuIFN0cmluZygpOyB9CiAgICAgdmlydHVhbCBib29sIGl0ZW1Jc0VuYWJsZWQodW5zaWduZWQg
bGlzdEluZGV4KSBjb25zdDsKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNjQxNTMpCisrKyBX
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAK
KzIwMTAtMDctMjcgIEphbWVzIEhhd2tpbnMgIDxqaGF3a2luc0BjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0Nocm9taXVtXSBB
ZGQgdGhlIGFiaWxpdHkgdG8gc2hvdyByaWdodC1hbGlnbmVkIGljb25zIGluIHRoZSBBdXRvRmls
bCBwb3B1cC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTQzMDc2CisKKyAgICAgICAgKiBwdWJsaWMvV2ViVmlldy5oOgorICAgICAgICAqIHNyYy9BdXRv
RmlsbFBvcHVwTWVudUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1dG9GaWxsUG9wdXBN
ZW51Q2xpZW50OjpnZXRJY29uKToKKyAgICAgICAgKFdlYktpdDo6QXV0b0ZpbGxQb3B1cE1lbnVD
bGllbnQ6OnJlbW92ZVN1Z2dlc3Rpb25BdEluZGV4KToKKyAgICAgICAgKFdlYktpdDo6QXV0b0Zp
bGxQb3B1cE1lbnVDbGllbnQ6Oml0ZW1JY29uKToKKyAgICAgICAgKFdlYktpdDo6QXV0b0ZpbGxQ
b3B1cE1lbnVDbGllbnQ6OmluaXRpYWxpemUpOgorICAgICAgICAoV2ViS2l0OjpBdXRvRmlsbFBv
cHVwTWVudUNsaWVudDo6c2V0U3VnZ2VzdGlvbnMpOgorICAgICAgICAqIHNyYy9BdXRvRmlsbFBv
cHVwTWVudUNsaWVudC5oOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisgICAgICAg
IChXZWJLaXQ6OldlYlZpZXdJbXBsOjphcHBseUF1dG9GaWxsU3VnZ2VzdGlvbnMpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6YXBwbHlBdXRvY29tcGxldGVTdWdnZXN0aW9ucyk6Cisg
ICAgICAgICogc3JjL1dlYlZpZXdJbXBsLmg6CisKIDIwMTAtMDctMjcgIER1bWl0cnUgRGFuaWxp
dWMgIDxkdW1pQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZp
bi4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCShyZXZpc2lvbiA2NDE1MCkKKysrIFdl
YktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViVmlldy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNTMsNiAr
MjUzLDcgQEAgcHVibGljOgogICAgICAgICBjb25zdCBXZWJOb2RlJiwKICAgICAgICAgY29uc3Qg
V2ViVmVjdG9yPFdlYlN0cmluZz4mIG5hbWVzLAogICAgICAgICBjb25zdCBXZWJWZWN0b3I8V2Vi
U3RyaW5nPiYgbGFiZWxzLAorICAgICAgICBjb25zdCBXZWJWZWN0b3I8aW50PiYgdW5pcXVlSURz
LAogICAgICAgICBpbnQgc2VwYXJhdG9ySW5kZXgpID0gMDsKIAogICAgIC8vIE5vdGlmaWVzIHRo
ZSBXZWJWaWV3IHRoYXQgQXV0b0ZpbGwgc3VnZ2VzdGlvbnMgYXJlIGF2YWlsYWJsZSBmb3IgYSBu
b2RlLgpAQCAtMjYyLDYgKzI2Myw3IEBAIHB1YmxpYzoKICAgICAgICAgY29uc3QgV2ViTm9kZSYs
CiAgICAgICAgIGNvbnN0IFdlYlZlY3RvcjxXZWJTdHJpbmc+JiBuYW1lcywKICAgICAgICAgY29u
c3QgV2ViVmVjdG9yPFdlYlN0cmluZz4mIGxhYmVscywKKyAgICAgICAgY29uc3QgV2ViVmVjdG9y
PFdlYlN0cmluZz4mIGljb25zLAogICAgICAgICBjb25zdCBXZWJWZWN0b3I8aW50PiYgdW5pcXVl
SURzLAogICAgICAgICBpbnQgc2VwYXJhdG9ySW5kZXgpID0gMDsKIApJbmRleDogV2ViS2l0L2No
cm9taXVtL3NyYy9BdXRvRmlsbFBvcHVwTWVudUNsaWVudC5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0L2Nocm9taXVtL3NyYy9BdXRvRmlsbFBvcHVwTWVudUNsaWVudC5jcHAJKHJldmlzaW9uIDY0
MTUwKQorKysgV2ViS2l0L2Nocm9taXVtL3NyYy9BdXRvRmlsbFBvcHVwTWVudUNsaWVudC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTg0LDYgKzg0LDE2IEBAIFdlYlN0cmluZyBBdXRvRmlsbFBvcHVw
TWVudUNsaWVudDo6Z2V0TGEKICAgICByZXR1cm4gbV9sYWJlbHNbaW5kZXhdOwogfQogCitXZWJT
dHJpbmcgQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQ6OmdldEljb24odW5zaWduZWQgbGlzdEluZGV4
KSBjb25zdAoreworICAgIGludCBpbmRleCA9IGNvbnZlcnRMaXN0SW5kZXhUb0ludGVybmFsSW5k
ZXgobGlzdEluZGV4KTsKKyAgICBpZiAoaW5kZXggPT0gLTEpCisgICAgICAgIHJldHVybiBXZWJT
dHJpbmcoKTsKKworICAgIEFTU0VSVChpbmRleCA+PSAwICYmIHN0YXRpY19jYXN0PHNpemVfdD4o
aW5kZXgpIDwgbV9pY29ucy5zaXplKCkpOworICAgIHJldHVybiBtX2ljb25zW2luZGV4XTsKK30K
Kwogdm9pZCBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6cmVtb3ZlU3VnZ2VzdGlvbkF0SW5kZXgo
dW5zaWduZWQgbGlzdEluZGV4KQogewogICAgIGlmICghY2FuUmVtb3ZlU3VnZ2VzdGlvbkF0SW5k
ZXgobGlzdEluZGV4KSkKQEAgLTk1LDYgKzEwNSw4IEBAIHZvaWQgQXV0b0ZpbGxQb3B1cE1lbnVD
bGllbnQ6OnJlbW92ZVN1Z2cKIAogICAgIG1fbmFtZXMucmVtb3ZlKGluZGV4KTsKICAgICBtX2xh
YmVscy5yZW1vdmUoaW5kZXgpOworICAgIG1faWNvbnMucmVtb3ZlKGluZGV4KTsKKyAgICBtX3Vu
aXF1ZUlEcy5yZW1vdmUoaW5kZXgpOwogCiAgICAgLy8gU2hpZnQgdGhlIHNlcGFyYXRvciBpbmRl
eCBpZiBuZWNlc3NhcnkuCiAgICAgaWYgKG1fc2VwYXJhdG9ySW5kZXggIT0gLTEpCkBAIC0xNzcs
NiArMTg5LDExIEBAIFN0cmluZyBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6aXRlbUxhYmUKICAg
ICByZXR1cm4gZ2V0TGFiZWwobGlzdEluZGV4KTsKIH0KIAorU3RyaW5nIEF1dG9GaWxsUG9wdXBN
ZW51Q2xpZW50OjppdGVtSWNvbih1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGdldEljb24obGlzdEluZGV4KTsKK30KKwogUG9wdXBNZW51U3R5bGUgQXV0b0ZpbGxQb3B1
cE1lbnVDbGllbnQ6Oml0ZW1TdHlsZSh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0CiB7CiAgICAg
cmV0dXJuICptX3N0eWxlOwpAQCAtMjQ5LDEwICsyNjYsMTIgQEAgdm9pZCBBdXRvRmlsbFBvcHVw
TWVudUNsaWVudDo6aW5pdGlhbGl6ZQogICAgIEhUTUxJbnB1dEVsZW1lbnQqIHRleHRGaWVsZCwK
ICAgICBjb25zdCBXZWJWZWN0b3I8V2ViU3RyaW5nPiYgbmFtZXMsCiAgICAgY29uc3QgV2ViVmVj
dG9yPFdlYlN0cmluZz4mIGxhYmVscywKKyAgICBjb25zdCBXZWJWZWN0b3I8V2ViU3RyaW5nPiYg
aWNvbnMsCiAgICAgY29uc3QgV2ViVmVjdG9yPGludD4mIHVuaXF1ZUlEcywKICAgICBpbnQgc2Vw
YXJhdG9ySW5kZXgpCiB7CiAgICAgQVNTRVJUKG5hbWVzLnNpemUoKSA9PSBsYWJlbHMuc2l6ZSgp
KTsKKyAgICBBU1NFUlQobmFtZXMuc2l6ZSgpID09IGljb25zLnNpemUoKSk7CiAgICAgQVNTRVJU
KG5hbWVzLnNpemUoKSA9PSB1bmlxdWVJRHMuc2l6ZSgpKTsKICAgICBBU1NFUlQoc2VwYXJhdG9y
SW5kZXggPCBzdGF0aWNfY2FzdDxpbnQ+KG5hbWVzLnNpemUoKSkpOwogCkBAIC0yNjEsNyArMjgw
LDcgQEAgdm9pZCBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6aW5pdGlhbGl6ZQogCiAgICAgLy8g
VGhlIHN1Z2dlc3Rpb25zIG11c3QgYmUgc2V0IGJlZm9yZSBpbml0aWFsaXppbmcgdGhlCiAgICAg
Ly8gQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQuCi0gICAgc2V0U3VnZ2VzdGlvbnMobmFtZXMsIGxh
YmVscywgdW5pcXVlSURzLCBzZXBhcmF0b3JJbmRleCk7CisgICAgc2V0U3VnZ2VzdGlvbnMobmFt
ZXMsIGxhYmVscywgaWNvbnMsIHVuaXF1ZUlEcywgc2VwYXJhdG9ySW5kZXgpOwogCiAgICAgRm9u
dERlc2NyaXB0aW9uIGZvbnREZXNjcmlwdGlvbjsKICAgICBSZW5kZXJUaGVtZTo6ZGVmYXVsdFRo
ZW1lKCktPnN5c3RlbUZvbnQoQ1NTVmFsdWVXZWJraXRDb250cm9sLApAQCAtMjgwLDE5ICsyOTks
MjMgQEAgdm9pZCBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6aW5pdGlhbGl6ZQogCiB2b2lkIEF1
dG9GaWxsUG9wdXBNZW51Q2xpZW50OjpzZXRTdWdnZXN0aW9ucyhjb25zdCBXZWJWZWN0b3I8V2Vi
U3RyaW5nPiYgbmFtZXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb25zdCBXZWJWZWN0b3I8V2ViU3RyaW5nPiYgbGFiZWxzLAorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViVmVjdG9yPFdlYlN0cmluZz4m
IGljb25zLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgV2ViVmVjdG9yPGludD4mIHVuaXF1ZUlEcywKICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGludCBzZXBhcmF0b3JJbmRleCkKIHsKICAgICBBU1NFUlQobmFt
ZXMuc2l6ZSgpID09IGxhYmVscy5zaXplKCkpOworICAgIEFTU0VSVChuYW1lcy5zaXplKCkgPT0g
aWNvbnMuc2l6ZSgpKTsKICAgICBBU1NFUlQobmFtZXMuc2l6ZSgpID09IHVuaXF1ZUlEcy5zaXpl
KCkpOwogICAgIEFTU0VSVChzZXBhcmF0b3JJbmRleCA8IHN0YXRpY19jYXN0PGludD4obmFtZXMu
c2l6ZSgpKSk7CiAKICAgICBtX25hbWVzLmNsZWFyKCk7CiAgICAgbV9sYWJlbHMuY2xlYXIoKTsK
KyAgICBtX2ljb25zLmNsZWFyKCk7CiAgICAgbV91bmlxdWVJRHMuY2xlYXIoKTsKICAgICBmb3Ig
KHNpemVfdCBpID0gMDsgaSA8IG5hbWVzLnNpemUoKTsgKytpKSB7CiAgICAgICAgIG1fbmFtZXMu
YXBwZW5kKG5hbWVzW2ldKTsKICAgICAgICAgbV9sYWJlbHMuYXBwZW5kKGxhYmVsc1tpXSk7Cisg
ICAgICAgIG1faWNvbnMuYXBwZW5kKGljb25zW2ldKTsKICAgICAgICAgbV91bmlxdWVJRHMuYXBw
ZW5kKHVuaXF1ZUlEc1tpXSk7CiAgICAgfQogCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL0F1
dG9GaWxsUG9wdXBNZW51Q2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3Ny
Yy9BdXRvRmlsbFBvcHVwTWVudUNsaWVudC5oCShyZXZpc2lvbiA2NDE1MCkKKysrIFdlYktpdC9j
aHJvbWl1bS9zcmMvQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQuaAkod29ya2luZyBjb3B5KQpAQCAt
NjAsNiArNjAsOSBAQCBwdWJsaWM6CiAgICAgLy8gUmV0dXJucyB0aGUgbGFiZWwgYXQgfGxpc3RJ
bmRleHwuCiAgICAgdmlydHVhbCBXZWJTdHJpbmcgZ2V0TGFiZWwodW5zaWduZWQgbGlzdEluZGV4
KSBjb25zdDsKIAorICAgIC8vIFJldHVybnMgdGhlIGljb24gYXQgfGxpc3RJbmRleHwuCisgICAg
dmlydHVhbCBXZWJTdHJpbmcgZ2V0SWNvbih1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0OworCiAg
ICAgLy8gUmVtb3ZlcyB0aGUgc3VnZ2VzdGlvbiBhdCB8bGlzdEluZGV4fCBmcm9tIHRoZSBsaXN0
IG9mIHN1Z2dlc3Rpb25zLgogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVTdWdnZXN0aW9uQXRJbmRl
eCh1bnNpZ25lZCBsaXN0SW5kZXgpOwogCkBAIC03Miw2ICs3NSw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgc2VsZWN0aW9uQ2xlYXJlZCgpOwogICAgIHZpcnR1YWwgV2ViQ29yZTo6U3Ry
aW5nIGl0ZW1UZXh0KHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CiAgICAgdmlydHVhbCBXZWJD
b3JlOjpTdHJpbmcgaXRlbUxhYmVsKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CisgICAgdmly
dHVhbCBXZWJDb3JlOjpTdHJpbmcgaXRlbUljb24odW5zaWduZWQgbGlzdEluZGV4KSBjb25zdDsK
ICAgICB2aXJ0dWFsIFdlYkNvcmU6OlN0cmluZyBpdGVtVG9vbFRpcCh1bnNpZ25lZCBsYXN0SW5k
ZXgpIGNvbnN0IHsgcmV0dXJuIFdlYkNvcmU6OlN0cmluZygpOyB9CiAgICAgdmlydHVhbCBXZWJD
b3JlOjpTdHJpbmcgaXRlbUFjY2Vzc2liaWxpdHlUZXh0KHVuc2lnbmVkIGxhc3RJbmRleCkgY29u
c3QgeyByZXR1cm4gV2ViQ29yZTo6U3RyaW5nKCk7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXRlbUlz
RW5hYmxlZCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KQEAgLTEw
MCwxMSArMTA0LDEzIEBAIHB1YmxpYzoKICAgICB2b2lkIGluaXRpYWxpemUoV2ViQ29yZTo6SFRN
TElucHV0RWxlbWVudCosCiAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdlYlZlY3RvcjxXZWJT
dHJpbmc+JiBuYW1lcywKICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViVmVjdG9yPFdlYlN0
cmluZz4mIGxhYmVscywKKyAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViVmVjdG9yPFdlYlN0
cmluZz4mIGljb25zLAogICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJWZWN0b3I8aW50PiYg
dW5pcXVlSURzLAogICAgICAgICAgICAgICAgICAgICBpbnQgc2VwYXJhdG9ySW5kZXgpOwogCiAg
ICAgdm9pZCBzZXRTdWdnZXN0aW9ucyhjb25zdCBXZWJWZWN0b3I8V2ViU3RyaW5nPiYgbmFtZXMs
CiAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJWZWN0b3I8V2ViU3RyaW5nPiYgbGFi
ZWxzLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViVmVjdG9yPFdlYlN0cmluZz4m
IGljb25zLAogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViVmVjdG9yPGludD4mIHVu
aXF1ZUlEcywKICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzZXBhcmF0b3JJbmRleCk7CiAK
QEAgLTEyNCw5ICsxMzAsMTAgQEAgcHJpdmF0ZToKICAgICBpbnQgZ2V0U2VsZWN0ZWRJbmRleCgp
IGNvbnN0IHsgcmV0dXJuIG1fc2VsZWN0ZWRJbmRleDsgfQogICAgIHZvaWQgc2V0U2VsZWN0ZWRJ
bmRleChpbnQgaW5kZXgpIHsgbV9zZWxlY3RlZEluZGV4ID0gaW5kZXg7IH0KIAotICAgIC8vIFRo
ZSBuYW1lcyBhbmQgbGFiZWxzIHRoYXQgbWFrZSB1cCB0aGUgdGV4dCBvZiB0aGUgbWVudSBpdGVt
cy4KKyAgICAvLyBUaGUgbmFtZXMsIGxhYmVscyBhbmQgaWNvbnMgdGhhdCBtYWtlIHVwIHRoZSBj
b250ZW50cyBvZiB0aGUgbWVudSBpdGVtcy4KICAgICBWZWN0b3I8V2ViQ29yZTo6U3RyaW5nPiBt
X25hbWVzOwogICAgIFZlY3RvcjxXZWJDb3JlOjpTdHJpbmc+IG1fbGFiZWxzOworICAgIFZlY3Rv
cjxXZWJDb3JlOjpTdHJpbmc+IG1faWNvbnM7CiAgICAgVmVjdG9yPGludD4gbV91bmlxdWVJRHM7
CiAKICAgICAvLyBUaGUgaW5kZXggb2YgdGhlIHNlcGFyYXRvci4gIC0xIGlmIHRoZXJlIGlzIG5v
IHNlcGFyYXRvci4KSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCShyZXZpc2lv
biA2NDE1MCkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0xNzM3LDE2ICsxNzM3LDE4IEBAIHZvaWQgV2ViVmlld0ltcGw6OmFwcGx5QXV0
b0ZpbGxTdWdnZXN0aW8KICAgICBjb25zdCBXZWJOb2RlJiBub2RlLAogICAgIGNvbnN0IFdlYlZl
Y3RvcjxXZWJTdHJpbmc+JiBuYW1lcywKICAgICBjb25zdCBXZWJWZWN0b3I8V2ViU3RyaW5nPiYg
bGFiZWxzLAorICAgIGNvbnN0IFdlYlZlY3RvcjxpbnQ+JiB1bmlxdWVJRHMsCiAgICAgaW50IHNl
cGFyYXRvckluZGV4KQogewotICAgIFdlYlZlY3RvcjxpbnQ+IHVuaXF1ZUlEcyhuYW1lcy5zaXpl
KCkpOwotICAgIGFwcGx5QXV0b0ZpbGxTdWdnZXN0aW9ucyhub2RlLCBuYW1lcywgbGFiZWxzLCB1
bmlxdWVJRHMsIHNlcGFyYXRvckluZGV4KTsKKyAgICBXZWJWZWN0b3I8V2ViU3RyaW5nPiBpY29u
cyhuYW1lcy5zaXplKCkpOworICAgIGFwcGx5QXV0b0ZpbGxTdWdnZXN0aW9ucyhub2RlLCBuYW1l
cywgbGFiZWxzLCBpY29ucywgdW5pcXVlSURzLCBzZXBhcmF0b3JJbmRleCk7CiB9CiAKIHZvaWQg
V2ViVmlld0ltcGw6OmFwcGx5QXV0b0ZpbGxTdWdnZXN0aW9ucygKICAgICBjb25zdCBXZWJOb2Rl
JiBub2RlLAogICAgIGNvbnN0IFdlYlZlY3RvcjxXZWJTdHJpbmc+JiBuYW1lcywKICAgICBjb25z
dCBXZWJWZWN0b3I8V2ViU3RyaW5nPiYgbGFiZWxzLAorICAgIGNvbnN0IFdlYlZlY3RvcjxXZWJT
dHJpbmc+JiBpY29ucywKICAgICBjb25zdCBXZWJWZWN0b3I8aW50PiYgdW5pcXVlSURzLAogICAg
IGludCBzZXBhcmF0b3JJbmRleCkKIHsKQEAgLTE3NzcsNyArMTc3OSw3IEBAIHZvaWQgV2ViVmll
d0ltcGw6OmFwcGx5QXV0b0ZpbGxTdWdnZXN0aW8KICAgICAgICAgbV9hdXRvRmlsbFBvcHVwQ2xp
ZW50LnNldChuZXcgQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQpOwogCiAgICAgbV9hdXRvRmlsbFBv
cHVwQ2xpZW50LT5pbml0aWFsaXplKAotICAgICAgICBpbnB1dEVsZW0sIG5hbWVzLCBsYWJlbHMs
IHVuaXF1ZUlEcywgc2VwYXJhdG9ySW5kZXgpOworICAgICAgICBpbnB1dEVsZW0sIG5hbWVzLCBs
YWJlbHMsIGljb25zLCB1bmlxdWVJRHMsIHNlcGFyYXRvckluZGV4KTsKIAogICAgIGlmICghbV9h
dXRvRmlsbFBvcHVwLmdldCgpKSB7CiAgICAgICAgIG1fYXV0b0ZpbGxQb3B1cCA9IFBvcHVwQ29u
dGFpbmVyOjpjcmVhdGUobV9hdXRvRmlsbFBvcHVwQ2xpZW50LmdldCgpLApAQCAtMTc4Nyw3ICsx
Nzg5LDcgQEAgdm9pZCBXZWJWaWV3SW1wbDo6YXBwbHlBdXRvRmlsbFN1Z2dlc3RpbwogCiAgICAg
aWYgKG1fYXV0b0ZpbGxQb3B1cFNob3dpbmcpIHsKICAgICAgICAgbV9hdXRvRmlsbFBvcHVwQ2xp
ZW50LT5zZXRTdWdnZXN0aW9ucygKLSAgICAgICAgICAgIG5hbWVzLCBsYWJlbHMsIHVuaXF1ZUlE
cywgc2VwYXJhdG9ySW5kZXgpOworICAgICAgICAgICAgbmFtZXMsIGxhYmVscywgaWNvbnMsIHVu
aXF1ZUlEcywgc2VwYXJhdG9ySW5kZXgpOwogICAgICAgICByZWZyZXNoQXV0b0ZpbGxQb3B1cCgp
OwogICAgIH0gZWxzZSB7CiAgICAgICAgIG1fYXV0b0ZpbGxQb3B1cC0+c2hvdyhmb2N1c2VkTm9k
ZS0+Z2V0UmVjdCgpLApAQCAtMTgwOSwxMiArMTgxMSwxMyBAQCB2b2lkIFdlYlZpZXdJbXBsOjph
cHBseUF1dG9jb21wbGV0ZVN1Z2dlCiB7CiAgICAgV2ViVmVjdG9yPFdlYlN0cmluZz4gbmFtZXMo
c3VnZ2VzdGlvbnMuc2l6ZSgpKTsKICAgICBXZWJWZWN0b3I8V2ViU3RyaW5nPiBsYWJlbHMoc3Vn
Z2VzdGlvbnMuc2l6ZSgpKTsKKyAgICBXZWJWZWN0b3I8V2ViU3RyaW5nPiBpY29ucyhzdWdnZXN0
aW9ucy5zaXplKCkpOwogICAgIFdlYlZlY3RvcjxpbnQ+IHVuaXF1ZUlEcyhzdWdnZXN0aW9ucy5z
aXplKCkpOwogCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzdWdnZXN0aW9ucy5zaXplKCk7
ICsraSkKICAgICAgICAgbmFtZXNbaV0gPSBzdWdnZXN0aW9uc1tpXTsKIAotICAgIGFwcGx5QXV0
b0ZpbGxTdWdnZXN0aW9ucyhub2RlLCBuYW1lcywgbGFiZWxzLCB1bmlxdWVJRHMsIC0xKTsKKyAg
ICBhcHBseUF1dG9GaWxsU3VnZ2VzdGlvbnMobm9kZSwgbmFtZXMsIGxhYmVscywgaWNvbnMsIHVu
aXF1ZUlEcywgLTEpOwogICAgIGlmIChtX2F1dG9GaWxsUG9wdXBDbGllbnQpCiAgICAgICAgIG1f
YXV0b0ZpbGxQb3B1cENsaWVudC0+c2V0QXV0b2NvbXBsZXRlTW9kZSh0cnVlKTsKIH0KSW5kZXg6
IFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgJKHJldmlzaW9uIDY0MTUwKQorKysgV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEsMTEgKzE3MSwx
MyBAQCBwdWJsaWM6CiAgICAgICAgIGNvbnN0IFdlYk5vZGUmLAogICAgICAgICBjb25zdCBXZWJW
ZWN0b3I8V2ViU3RyaW5nPiYgbmFtZXMsCiAgICAgICAgIGNvbnN0IFdlYlZlY3RvcjxXZWJTdHJp
bmc+JiBsYWJlbHMsCisgICAgICAgIGNvbnN0IFdlYlZlY3RvcjxpbnQ+JiB1bmlxdWVJRHMsCiAg
ICAgICAgIGludCBzZXBhcmF0b3JJbmRleCk7CiAgICAgdmlydHVhbCB2b2lkIGFwcGx5QXV0b0Zp
bGxTdWdnZXN0aW9ucygKICAgICAgICAgY29uc3QgV2ViTm9kZSYsCiAgICAgICAgIGNvbnN0IFdl
YlZlY3RvcjxXZWJTdHJpbmc+JiBuYW1lcywKICAgICAgICAgY29uc3QgV2ViVmVjdG9yPFdlYlN0
cmluZz4mIGxhYmVscywKKyAgICAgICAgY29uc3QgV2ViVmVjdG9yPFdlYlN0cmluZz4mIGljb25z
LAogICAgICAgICBjb25zdCBXZWJWZWN0b3I8aW50PiYgdW5pcXVlSURzLAogICAgICAgICBpbnQg
c2VwYXJhdG9ySW5kZXgpOwogICAgIC8vIERFUFJFQ0FURUQ6IHJlcGxhY2luZyB3aXRoIGFwcGx5
QXV0b0ZpbGxTdWdnZXN0aW9ucy4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>62759</attachid>
            <date>2010-07-27 15:48:56 -0700</date>
            <delta_ts>2010-07-27 15:50:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43076-20100727154855.patch</filename>
            <type>text/plain</type>
            <size>17197</size>
            <attacher name="James Hawkins">jhawkins</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2NDE1MykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjMgQEAKKzIwMTAtMDctMjcgIEphbWVzIEhhd2tpbnMgIDxqaGF3a2luc0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkIGl0ZW1JY29uKCkgbWV0aG9kIHRvIHRoZSBQb3B1cE1lbnVDbGllbnQsIHVzZWQgYnkg
Q2hyb21lIEF1dG9GaWxsCisgICAgICAgIHRvIGRpc3BsYXkgcmlnaHQtYWxpZ25lZCBjcmVkaXQg
Y2FyZCBpY29ucyBpbiB0aGUgc3VnZ2VzdGlvbnMgcG9wdXAuCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MzA3NgorCisgICAgICAgIE5vIG5ldyB0ZXN0
cyBhcyB0aGlzIGlzIG9ubHkgdXNlZCBieSB0aGUgQ2hyb21pdW0gV2ViS2l0IEFQSS4KKworICAg
ICAgICAqIHBsYXRmb3JtL1BvcHVwTWVudUNsaWVudC5oOgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBvcHVwTGlz
dEJveDo6cGFpbnRSb3cpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJNZW51TGlzdDo6aXRlbUljb24pOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJU
ZXh0Q29udHJvbFNpbmdsZUxpbmUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyVGV4dENv
bnRyb2xTaW5nbGVMaW5lOjppdGVtSWNvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRl
eHRDb250cm9sU2luZ2xlTGluZS5oOgorCiAyMDEwLTA3LTI3ICBKaWFuIExpICA8amlhbmxpQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZpZCBMZXZpbi4KSW5kZXg6IFdl
YkNvcmUvcGxhdGZvcm0vUG9wdXBNZW51Q2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9w
bGF0Zm9ybS9Qb3B1cE1lbnVDbGllbnQuaAkocmV2aXNpb24gNjQxNTApCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL1BvcHVwTWVudUNsaWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC00Myw2ICs0Myw3IEBA
IHB1YmxpYzoKIAogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1UZXh0KHVuc2lnbmVkIGxpc3RJbmRl
eCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1MYWJlbCh1bnNpZ25lZCBsaXN0
SW5kZXgpIGNvbnN0ID0gMDsKKyAgICB2aXJ0dWFsIFN0cmluZyBpdGVtSWNvbih1bnNpZ25lZCBs
aXN0SW5kZXgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtVG9vbFRpcCh1bnNp
Z25lZCBsaXN0SW5kZXgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtQWNjZXNz
aWJpbGl0eVRleHQodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCBi
b29sIGl0ZW1Jc0VuYWJsZWQodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdCA9IDA7CkluZGV4OiBX
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAkocmV2
aXNpb24gNjQxNTApCisrKyBXZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9t
aXVtLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsNiArNzEsNyBAQCBzdGF0aWMgY29uc3QgaW50
IGtNYXhWaXNpYmxlUm93cyA9IDIwOwogc3RhdGljIGNvbnN0IGludCBrTWF4SGVpZ2h0ID0gNTAw
Owogc3RhdGljIGNvbnN0IGludCBrQm9yZGVyU2l6ZSA9IDE7CiBzdGF0aWMgY29uc3QgaW50IGtU
ZXh0VG9MYWJlbFBhZGRpbmcgPSAxMDsKK3N0YXRpYyBjb25zdCBpbnQga0xhYmVsVG9JY29uUGFk
ZGluZyA9IDU7CiBzdGF0aWMgY29uc3QgVGltZVN0YW1wIGtUeXBlQWhlYWRUaW1lb3V0TXMgPSAx
MDAwOwogCiAvLyBUaGUgc2V0dGluZ3MgdXNlZCBmb3IgdGhlIGRyb3AgZG93biBtZW51LgpAQCAt
OTU5LDE4ICs5NjAsMzAgQEAgdm9pZCBQb3B1cExpc3RCb3g6OnBhaW50Um93KEdyYXBoaWNzQ29u
dAogICAgIGludCB0ZXh0WSA9IHJvd1JlY3QueSgpICsgaXRlbUZvbnQuYXNjZW50KCkgKyAocm93
UmVjdC5oZWlnaHQoKSAtIGl0ZW1Gb250LmhlaWdodCgpKSAvIDI7CiAgICAgZ2MtPmRyYXdCaWRp
VGV4dChpdGVtRm9udCwgdGV4dFJ1biwgSW50UG9pbnQodGV4dFgsIHRleHRZKSk7CiAKKyAgICAv
LyBXZSBhcmUgdXNpbmcgdGhlIGxlZnQgcGFkZGluZyBhcyB0aGUgcmlnaHQgcGFkZGluZyBpbmNs
dWRlcyByb29tIGZvciB0aGUgc2Nyb2xsLWJhciB3aGljaAorICAgIC8vIGRvZXMgbm90IHNob3cg
aW4gdGhpcyBjYXNlLgorICAgIGludCByaWdodFBhZGRpbmcgPSBtYXgoMCwgbV9wb3B1cENsaWVu
dC0+Y2xpZW50UGFkZGluZ0xlZnQoKSAtIG1fcG9wdXBDbGllbnQtPmNsaWVudEluc2V0TGVmdCgp
KTsKKyAgICBpbnQgcmVtYWluaW5nV2lkdGggPSByb3dSZWN0LndpZHRoKCkgLSByaWdodFBhZGRp
bmc7CisKKyAgICAvLyBEcmF3IHRoZSBpY29uIGlmIGFwcGxpY2FibGUuCisgICAgU3RyaW5nIGl0
ZW1JY29uID0gbV9wb3B1cENsaWVudC0+aXRlbUljb24ocm93SW5kZXgpOworICAgIFJlZlB0cjxJ
bWFnZT4gaW1hZ2UoSW1hZ2U6OmxvYWRQbGF0Zm9ybVJlc291cmNlKGl0ZW1JY29uLnV0ZjgoKS5k
YXRhKCkpKTsKKyAgICBpZiAoaW1hZ2UgJiYgIWltYWdlLT5pc051bGwoKSkgeworICAgICAgICBJ
bnRSZWN0IGltYWdlUmVjdCA9IGltYWdlLT5yZWN0KCk7CisgICAgICAgIHJlbWFpbmluZ1dpZHRo
IC09IChpbWFnZVJlY3Qud2lkdGgoKSArIGtMYWJlbFRvSWNvblBhZGRpbmcpOworICAgICAgICBp
bWFnZVJlY3Quc2V0WChyb3dSZWN0LndpZHRoKCkgLSByaWdodFBhZGRpbmcgLSBpbWFnZVJlY3Qu
d2lkdGgoKSk7CisgICAgICAgIGltYWdlUmVjdC5zZXRZKHJvd1JlY3QueSgpICsgKHJvd1JlY3Qu
aGVpZ2h0KCkgLSBpbWFnZVJlY3QuaGVpZ2h0KCkpIC8gMik7CisgICAgICAgIGdjLT5kcmF3SW1h
Z2UoaW1hZ2UuZ2V0KCksIERldmljZUNvbG9yU3BhY2UsIGltYWdlUmVjdCk7CisgICAgfQorCiAg
ICAgLy8gRHJhdyB0aGUgdGhlIGxhYmVsIGlmIGFwcGxpY2FibGUuCiAgICAgaWYgKGl0ZW1MYWJl
bC5pc0VtcHR5KCkpCiAgICAgICAgIHJldHVybjsKICAgICBUZXh0UnVuIGxhYmVsVGV4dFJ1bihp
dGVtTGFiZWwuY2hhcmFjdGVycygpLCBpdGVtTGFiZWwubGVuZ3RoKCksIGZhbHNlLCAwLCAwLCBy
dGwpOwogICAgIGlmIChyaWdodEFsaWduZWQpCiAgICAgICAgIHRleHRYID0gbWF4KDAsIG1fcG9w
dXBDbGllbnQtPmNsaWVudFBhZGRpbmdMZWZ0KCkgLSBtX3BvcHVwQ2xpZW50LT5jbGllbnRJbnNl
dExlZnQoKSk7Ci0gICAgZWxzZSB7Ci0gICAgICAgIC8vIFdlIGFyZSB1c2luZyB0aGUgbGVmdCBw
YWRkaW5nIGFzIHRoZSByaWdodCBwYWRkaW5nIGluY2x1ZGVzIHJvb20gZm9yIHRoZSBzY3JvbGwt
YmFyIHdoaWNoCi0gICAgICAgIC8vIGRvZXMgbm90IHNob3cgaW4gdGhpcyBjYXNlLgotICAgICAg
ICBpbnQgcmlnaHRQYWRkaW5nID0gbWF4KDAsIG1fcG9wdXBDbGllbnQtPmNsaWVudFBhZGRpbmdM
ZWZ0KCkgLSBtX3BvcHVwQ2xpZW50LT5jbGllbnRJbnNldExlZnQoKSk7Ci0gICAgICAgIHRleHRY
ID0gcm93UmVjdC53aWR0aCgpIC0gcmlnaHRQYWRkaW5nIC0gaXRlbUZvbnQud2lkdGgobGFiZWxU
ZXh0UnVuKTsKLSAgICB9CisgICAgZWxzZQorICAgICAgICB0ZXh0WCA9IHJlbWFpbmluZ1dpZHRo
IC0gaXRlbUZvbnQud2lkdGgobGFiZWxUZXh0UnVuKTsKIAogICAgIGdjLT5zZXRGaWxsQ29sb3Io
bGFiZWxDb2xvciwgRGV2aWNlQ29sb3JTcGFjZSk7CiAgICAgZ2MtPmRyYXdCaWRpVGV4dChpdGVt
Rm9udCwgbGFiZWxUZXh0UnVuLCBJbnRQb2ludCh0ZXh0WCwgdGV4dFkpKTsKSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJNZW51TGlzdC5jcHAJKHJldmlzaW9uIDY0MTUwKQorKysgV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNTQsNiArMzU0
LDExIEBAIFN0cmluZyBSZW5kZXJNZW51TGlzdDo6aXRlbUxhYmVsKHVuc2lnbmUKICAgICByZXR1
cm4gU3RyaW5nKCk7CiB9CiAKK1N0cmluZyBSZW5kZXJNZW51TGlzdDo6aXRlbUljb24odW5zaWdu
ZWQpIGNvbnN0Cit7CisgICAgcmV0dXJuIFN0cmluZygpOworfQorCiBTdHJpbmcgUmVuZGVyTWVu
dUxpc3Q6Oml0ZW1BY2Nlc3NpYmlsaXR5VGV4dCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0CiB7
CiAgICAgLy8gQWxsb3cgdGhlIGFjY2Vzc2libGUgbmFtZSBiZSBjaGFuZ2VkIGlmIG5lY2Vzc2Fy
eS4KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck1lbnVMaXN0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTWVudUxpc3QuaAkocmV2aXNpb24gNjQxNTApCisr
KyBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJNZW51TGlzdC5oCSh3b3JraW5nIGNvcHkpCkBAIC04
Myw2ICs4Myw3IEBAIHByaXZhdGU6CiAgICAgLy8gUG9wdXBNZW51Q2xpZW50IG1ldGhvZHMKICAg
ICB2aXJ0dWFsIFN0cmluZyBpdGVtVGV4dCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0OwogICAg
IHZpcnR1YWwgU3RyaW5nIGl0ZW1MYWJlbCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0OworICAg
IHZpcnR1YWwgU3RyaW5nIGl0ZW1JY29uKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CiAgICAg
dmlydHVhbCBTdHJpbmcgaXRlbVRvb2xUaXAodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdDsKICAg
ICB2aXJ0dWFsIFN0cmluZyBpdGVtQWNjZXNzaWJpbGl0eVRleHQodW5zaWduZWQgbGlzdEluZGV4
KSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXRlbUlzRW5hYmxlZCh1bnNpZ25lZCBsaXN0SW5k
ZXgpIGNvbnN0OwpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2xTaW5n
bGVMaW5lLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29u
dHJvbFNpbmdsZUxpbmUuY3BwCShyZXZpc2lvbiA2NDE1MCkKKysrIFdlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclRleHRDb250cm9sU2luZ2xlTGluZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkxNiw2
ICs5MTYsMTEgQEAgU3RyaW5nIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6aXRlbQogICAg
IHJldHVybiBTdHJpbmcoKTsKIH0KIAorU3RyaW5nIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGlu
ZTo6aXRlbUljb24odW5zaWduZWQpIGNvbnN0Cit7CisgICAgcmV0dXJuIFN0cmluZygpOworfQor
CiBib29sIFJlbmRlclRleHRDb250cm9sU2luZ2xlTGluZTo6aXRlbUlzRW5hYmxlZCh1bnNpZ25l
ZCBsaXN0SW5kZXgpIGNvbnN0CiB7CiAgICAgIGlmICghbGlzdEluZGV4IHx8IGl0ZW1Jc1NlcGFy
YXRvcihsaXN0SW5kZXgpKQpJbmRleDogV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRy
b2xTaW5nbGVMaW5lLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2xTaW5nbGVMaW5lLmgJKHJldmlzaW9uIDY0MTUwKQorKysgV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgJKHdvcmtpbmcgY29weSkKQEAgLTExNyw2
ICsxMTcsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgdm9pZCBzZWxlY3Rpb25DbGVhcmVkKCkg
e30KICAgICB2aXJ0dWFsIFN0cmluZyBpdGVtVGV4dCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0
OwogICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1MYWJlbCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0
OworICAgIHZpcnR1YWwgU3RyaW5nIGl0ZW1JY29uKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7
CiAgICAgdmlydHVhbCBTdHJpbmcgaXRlbVRvb2xUaXAodW5zaWduZWQpIGNvbnN0IHsgcmV0dXJu
IFN0cmluZygpOyB9CiAgICAgdmlydHVhbCBTdHJpbmcgaXRlbUFjY2Vzc2liaWxpdHlUZXh0KHVu
c2lnbmVkKSBjb25zdCB7IHJldHVybiBTdHJpbmcoKTsgfQogICAgIHZpcnR1YWwgYm9vbCBpdGVt
SXNFbmFibGVkKHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CkluZGV4OiBXZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDY0MTUzKQorKysgV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDIzIEBACisyMDEwLTA3LTI3ICBKYW1lcyBIYXdraW5zICA8amhhd2tpbnNA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFtDaHJvbWl1bV0gQWRkIHRoZSBhYmlsaXR5IHRvIHNob3cgcmlnaHQtYWxpZ25lZCBp
Y29ucyBpbiB0aGUgQXV0b0ZpbGwgcG9wdXAuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD00MzA3NgorCisgICAgICAgICogcHVibGljL1dlYlZpZXcuaDoK
KyAgICAgICAgKiBzcmMvQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6Z2V0SWNvbik6CisgICAgICAgIChXZWJLaXQ6
OkF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjpyZW1vdmVTdWdnZXN0aW9uQXRJbmRleCk6CisgICAg
ICAgIChXZWJLaXQ6OkF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjppdGVtSWNvbik6CisgICAgICAg
IChXZWJLaXQ6OkF1dG9GaWxsUG9wdXBNZW51Q2xpZW50Ojppbml0aWFsaXplKToKKyAgICAgICAg
KFdlYktpdDo6QXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQ6OnNldFN1Z2dlc3Rpb25zKToKKyAgICAg
ICAgKiBzcmMvQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQuaDoKKyAgICAgICAgKiBzcmMvV2ViVmll
d0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6YXBwbHlBdXRvRmlsbFN1
Z2dlc3Rpb25zKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmFwcGx5QXV0b2NvbXBs
ZXRlU3VnZ2VzdGlvbnMpOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5oOgorCiAyMDEwLTA3
LTI3ICBEdW1pdHJ1IERhbmlsaXVjICA8ZHVtaUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgRGF2aWQgTGV2aW4uCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZp
ZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAkocmV2
aXNpb24gNjQxNTApCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlZpZXcuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjUzLDYgKzI1Myw3IEBAIHB1YmxpYzoKICAgICAgICAgY29uc3QgV2ViTm9k
ZSYsCiAgICAgICAgIGNvbnN0IFdlYlZlY3RvcjxXZWJTdHJpbmc+JiBuYW1lcywKICAgICAgICAg
Y29uc3QgV2ViVmVjdG9yPFdlYlN0cmluZz4mIGxhYmVscywKKyAgICAgICAgY29uc3QgV2ViVmVj
dG9yPGludD4mIHVuaXF1ZUlEcywKICAgICAgICAgaW50IHNlcGFyYXRvckluZGV4KSA9IDA7CiAK
ICAgICAvLyBOb3RpZmllcyB0aGUgV2ViVmlldyB0aGF0IEF1dG9GaWxsIHN1Z2dlc3Rpb25zIGFy
ZSBhdmFpbGFibGUgZm9yIGEgbm9kZS4KQEAgLTI2Miw2ICsyNjMsNyBAQCBwdWJsaWM6CiAgICAg
ICAgIGNvbnN0IFdlYk5vZGUmLAogICAgICAgICBjb25zdCBXZWJWZWN0b3I8V2ViU3RyaW5nPiYg
bmFtZXMsCiAgICAgICAgIGNvbnN0IFdlYlZlY3RvcjxXZWJTdHJpbmc+JiBsYWJlbHMsCisgICAg
ICAgIGNvbnN0IFdlYlZlY3RvcjxXZWJTdHJpbmc+JiBpY29ucywKICAgICAgICAgY29uc3QgV2Vi
VmVjdG9yPGludD4mIHVuaXF1ZUlEcywKICAgICAgICAgaW50IHNlcGFyYXRvckluZGV4KSA9IDA7
CiAKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9zcmMvQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdC9jaHJvbWl1bS9zcmMvQXV0b0ZpbGxQb3B1cE1lbnVDbGll
bnQuY3BwCShyZXZpc2lvbiA2NDE1MCkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvQXV0b0ZpbGxQ
b3B1cE1lbnVDbGllbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NCw2ICs4NCwxNiBAQCBXZWJT
dHJpbmcgQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQ6OmdldExhCiAgICAgcmV0dXJuIG1fbGFiZWxz
W2luZGV4XTsKIH0KIAorV2ViU3RyaW5nIEF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjpnZXRJY29u
KHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3QKK3sKKyAgICBpbnQgaW5kZXggPSBjb252ZXJ0TGlz
dEluZGV4VG9JbnRlcm5hbEluZGV4KGxpc3RJbmRleCk7CisgICAgaWYgKGluZGV4ID09IC0xKQor
ICAgICAgICByZXR1cm4gV2ViU3RyaW5nKCk7CisKKyAgICBBU1NFUlQoaW5kZXggPj0gMCAmJiBz
dGF0aWNfY2FzdDxzaXplX3Q+KGluZGV4KSA8IG1faWNvbnMuc2l6ZSgpKTsKKyAgICByZXR1cm4g
bV9pY29uc1tpbmRleF07Cit9CisKIHZvaWQgQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQ6OnJlbW92
ZVN1Z2dlc3Rpb25BdEluZGV4KHVuc2lnbmVkIGxpc3RJbmRleCkKIHsKICAgICBpZiAoIWNhblJl
bW92ZVN1Z2dlc3Rpb25BdEluZGV4KGxpc3RJbmRleCkpCkBAIC05NSw2ICsxMDUsOCBAQCB2b2lk
IEF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjpyZW1vdmVTdWdnCiAKICAgICBtX25hbWVzLnJlbW92
ZShpbmRleCk7CiAgICAgbV9sYWJlbHMucmVtb3ZlKGluZGV4KTsKKyAgICBtX2ljb25zLnJlbW92
ZShpbmRleCk7CisgICAgbV91bmlxdWVJRHMucmVtb3ZlKGluZGV4KTsKIAogICAgIC8vIFNoaWZ0
IHRoZSBzZXBhcmF0b3IgaW5kZXggaWYgbmVjZXNzYXJ5LgogICAgIGlmIChtX3NlcGFyYXRvcklu
ZGV4ICE9IC0xKQpAQCAtMTc3LDYgKzE4OSwxMSBAQCBTdHJpbmcgQXV0b0ZpbGxQb3B1cE1lbnVD
bGllbnQ6Oml0ZW1MYWJlCiAgICAgcmV0dXJuIGdldExhYmVsKGxpc3RJbmRleCk7CiB9CiAKK1N0
cmluZyBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6aXRlbUljb24odW5zaWduZWQgbGlzdEluZGV4
KSBjb25zdAoreworICAgIHJldHVybiBnZXRJY29uKGxpc3RJbmRleCk7Cit9CisKIFBvcHVwTWVu
dVN0eWxlIEF1dG9GaWxsUG9wdXBNZW51Q2xpZW50OjppdGVtU3R5bGUodW5zaWduZWQgbGlzdElu
ZGV4KSBjb25zdAogewogICAgIHJldHVybiAqbV9zdHlsZTsKQEAgLTI0OSwxMCArMjY2LDEyIEBA
IHZvaWQgQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQ6OmluaXRpYWxpemUKICAgICBIVE1MSW5wdXRF
bGVtZW50KiB0ZXh0RmllbGQsCiAgICAgY29uc3QgV2ViVmVjdG9yPFdlYlN0cmluZz4mIG5hbWVz
LAogICAgIGNvbnN0IFdlYlZlY3RvcjxXZWJTdHJpbmc+JiBsYWJlbHMsCisgICAgY29uc3QgV2Vi
VmVjdG9yPFdlYlN0cmluZz4mIGljb25zLAogICAgIGNvbnN0IFdlYlZlY3RvcjxpbnQ+JiB1bmlx
dWVJRHMsCiAgICAgaW50IHNlcGFyYXRvckluZGV4KQogewogICAgIEFTU0VSVChuYW1lcy5zaXpl
KCkgPT0gbGFiZWxzLnNpemUoKSk7CisgICAgQVNTRVJUKG5hbWVzLnNpemUoKSA9PSBpY29ucy5z
aXplKCkpOwogICAgIEFTU0VSVChuYW1lcy5zaXplKCkgPT0gdW5pcXVlSURzLnNpemUoKSk7CiAg
ICAgQVNTRVJUKHNlcGFyYXRvckluZGV4IDwgc3RhdGljX2Nhc3Q8aW50PihuYW1lcy5zaXplKCkp
KTsKIApAQCAtMjYxLDcgKzI4MCw3IEBAIHZvaWQgQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQ6Omlu
aXRpYWxpemUKIAogICAgIC8vIFRoZSBzdWdnZXN0aW9ucyBtdXN0IGJlIHNldCBiZWZvcmUgaW5p
dGlhbGl6aW5nIHRoZQogICAgIC8vIEF1dG9GaWxsUG9wdXBNZW51Q2xpZW50LgotICAgIHNldFN1
Z2dlc3Rpb25zKG5hbWVzLCBsYWJlbHMsIHVuaXF1ZUlEcywgc2VwYXJhdG9ySW5kZXgpOworICAg
IHNldFN1Z2dlc3Rpb25zKG5hbWVzLCBsYWJlbHMsIGljb25zLCB1bmlxdWVJRHMsIHNlcGFyYXRv
ckluZGV4KTsKIAogICAgIEZvbnREZXNjcmlwdGlvbiBmb250RGVzY3JpcHRpb247CiAgICAgUmVu
ZGVyVGhlbWU6OmRlZmF1bHRUaGVtZSgpLT5zeXN0ZW1Gb250KENTU1ZhbHVlV2Via2l0Q29udHJv
bCwKQEAgLTI4MCwxOSArMjk5LDIzIEBAIHZvaWQgQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQ6Omlu
aXRpYWxpemUKIAogdm9pZCBBdXRvRmlsbFBvcHVwTWVudUNsaWVudDo6c2V0U3VnZ2VzdGlvbnMo
Y29uc3QgV2ViVmVjdG9yPFdlYlN0cmluZz4mIG5hbWVzLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViVmVjdG9yPFdlYlN0cmluZz4mIGxhYmVs
cywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdl
YlZlY3RvcjxXZWJTdHJpbmc+JiBpY29ucywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IFdlYlZlY3RvcjxpbnQ+JiB1bmlxdWVJRHMsCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgc2VwYXJhdG9ySW5kZXgp
CiB7CiAgICAgQVNTRVJUKG5hbWVzLnNpemUoKSA9PSBsYWJlbHMuc2l6ZSgpKTsKKyAgICBBU1NF
UlQobmFtZXMuc2l6ZSgpID09IGljb25zLnNpemUoKSk7CiAgICAgQVNTRVJUKG5hbWVzLnNpemUo
KSA9PSB1bmlxdWVJRHMuc2l6ZSgpKTsKICAgICBBU1NFUlQoc2VwYXJhdG9ySW5kZXggPCBzdGF0
aWNfY2FzdDxpbnQ+KG5hbWVzLnNpemUoKSkpOwogCiAgICAgbV9uYW1lcy5jbGVhcigpOwogICAg
IG1fbGFiZWxzLmNsZWFyKCk7CisgICAgbV9pY29ucy5jbGVhcigpOwogICAgIG1fdW5pcXVlSURz
LmNsZWFyKCk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBuYW1lcy5zaXplKCk7ICsraSkg
ewogICAgICAgICBtX25hbWVzLmFwcGVuZChuYW1lc1tpXSk7CiAgICAgICAgIG1fbGFiZWxzLmFw
cGVuZChsYWJlbHNbaV0pOworICAgICAgICBtX2ljb25zLmFwcGVuZChpY29uc1tpXSk7CiAgICAg
ICAgIG1fdW5pcXVlSURzLmFwcGVuZCh1bmlxdWVJRHNbaV0pOwogICAgIH0KIApJbmRleDogV2Vi
S2l0L2Nocm9taXVtL3NyYy9BdXRvRmlsbFBvcHVwTWVudUNsaWVudC5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdC9jaHJvbWl1bS9zcmMvQXV0b0ZpbGxQb3B1cE1lbnVDbGllbnQuaAkocmV2aXNpb24g
NjQxNTApCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL0F1dG9GaWxsUG9wdXBNZW51Q2xpZW50LmgJ
KHdvcmtpbmcgY29weSkKQEAgLTYwLDYgKzYwLDkgQEAgcHVibGljOgogICAgIC8vIFJldHVybnMg
dGhlIGxhYmVsIGF0IHxsaXN0SW5kZXh8LgogICAgIHZpcnR1YWwgV2ViU3RyaW5nIGdldExhYmVs
KHVuc2lnbmVkIGxpc3RJbmRleCkgY29uc3Q7CiAKKyAgICAvLyBSZXR1cm5zIHRoZSBpY29uIGF0
IHxsaXN0SW5kZXh8LgorICAgIHZpcnR1YWwgV2ViU3RyaW5nIGdldEljb24odW5zaWduZWQgbGlz
dEluZGV4KSBjb25zdDsKKwogICAgIC8vIFJlbW92ZXMgdGhlIHN1Z2dlc3Rpb24gYXQgfGxpc3RJ
bmRleHwgZnJvbSB0aGUgbGlzdCBvZiBzdWdnZXN0aW9ucy4KICAgICB2aXJ0dWFsIHZvaWQgcmVt
b3ZlU3VnZ2VzdGlvbkF0SW5kZXgodW5zaWduZWQgbGlzdEluZGV4KTsKIApAQCAtNzIsNiArNzUs
NyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHNlbGVjdGlvbkNsZWFyZWQoKTsKICAgICB2
aXJ0dWFsIFdlYkNvcmU6OlN0cmluZyBpdGVtVGV4dCh1bnNpZ25lZCBsaXN0SW5kZXgpIGNvbnN0
OwogICAgIHZpcnR1YWwgV2ViQ29yZTo6U3RyaW5nIGl0ZW1MYWJlbCh1bnNpZ25lZCBsaXN0SW5k
ZXgpIGNvbnN0OworICAgIHZpcnR1YWwgV2ViQ29yZTo6U3RyaW5nIGl0ZW1JY29uKHVuc2lnbmVk
IGxpc3RJbmRleCkgY29uc3Q7CiAgICAgdmlydHVhbCBXZWJDb3JlOjpTdHJpbmcgaXRlbVRvb2xU
aXAodW5zaWduZWQgbGFzdEluZGV4KSBjb25zdCB7IHJldHVybiBXZWJDb3JlOjpTdHJpbmcoKTsg
fQogICAgIHZpcnR1YWwgV2ViQ29yZTo6U3RyaW5nIGl0ZW1BY2Nlc3NpYmlsaXR5VGV4dCh1bnNp
Z25lZCBsYXN0SW5kZXgpIGNvbnN0IHsgcmV0dXJuIFdlYkNvcmU6OlN0cmluZygpOyB9CiAgICAg
dmlydHVhbCBib29sIGl0ZW1Jc0VuYWJsZWQodW5zaWduZWQgbGlzdEluZGV4KSBjb25zdCB7IHJl
dHVybiB0cnVlOyB9CkBAIC0xMDAsMTEgKzEwNCwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbml0
aWFsaXplKFdlYkNvcmU6OkhUTUxJbnB1dEVsZW1lbnQqLAogICAgICAgICAgICAgICAgICAgICBj
b25zdCBXZWJWZWN0b3I8V2ViU3RyaW5nPiYgbmFtZXMsCiAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IFdlYlZlY3RvcjxXZWJTdHJpbmc+JiBsYWJlbHMsCisgICAgICAgICAgICAgICAgICAgIGNv
bnN0IFdlYlZlY3RvcjxXZWJTdHJpbmc+JiBpY29ucywKICAgICAgICAgICAgICAgICAgICAgY29u
c3QgV2ViVmVjdG9yPGludD4mIHVuaXF1ZUlEcywKICAgICAgICAgICAgICAgICAgICAgaW50IHNl
cGFyYXRvckluZGV4KTsKIAogICAgIHZvaWQgc2V0U3VnZ2VzdGlvbnMoY29uc3QgV2ViVmVjdG9y
PFdlYlN0cmluZz4mIG5hbWVzLAogICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViVmVj
dG9yPFdlYlN0cmluZz4mIGxhYmVscywKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdl
YlZlY3RvcjxXZWJTdHJpbmc+JiBpY29ucywKICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IFdlYlZlY3RvcjxpbnQ+JiB1bmlxdWVJRHMsCiAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg
c2VwYXJhdG9ySW5kZXgpOwogCkBAIC0xMjQsOSArMTMwLDEwIEBAIHByaXZhdGU6CiAgICAgaW50
IGdldFNlbGVjdGVkSW5kZXgoKSBjb25zdCB7IHJldHVybiBtX3NlbGVjdGVkSW5kZXg7IH0KICAg
ICB2b2lkIHNldFNlbGVjdGVkSW5kZXgoaW50IGluZGV4KSB7IG1fc2VsZWN0ZWRJbmRleCA9IGlu
ZGV4OyB9CiAKLSAgICAvLyBUaGUgbmFtZXMgYW5kIGxhYmVscyB0aGF0IG1ha2UgdXAgdGhlIHRl
eHQgb2YgdGhlIG1lbnUgaXRlbXMuCisgICAgLy8gVGhlIG5hbWVzLCBsYWJlbHMgYW5kIGljb25z
IHRoYXQgbWFrZSB1cCB0aGUgY29udGVudHMgb2YgdGhlIG1lbnUgaXRlbXMuCiAgICAgVmVjdG9y
PFdlYkNvcmU6OlN0cmluZz4gbV9uYW1lczsKICAgICBWZWN0b3I8V2ViQ29yZTo6U3RyaW5nPiBt
X2xhYmVsczsKKyAgICBWZWN0b3I8V2ViQ29yZTo6U3RyaW5nPiBtX2ljb25zOwogICAgIFZlY3Rv
cjxpbnQ+IG1fdW5pcXVlSURzOwogCiAgICAgLy8gVGhlIGluZGV4IG9mIHRoZSBzZXBhcmF0b3Iu
ICAtMSBpZiB0aGVyZSBpcyBubyBzZXBhcmF0b3IuCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmNwcAkocmV2aXNpb24gNjQxNTApCisrKyBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTczNywxNiArMTczNywxOCBAQCB2b2lkIFdl
YlZpZXdJbXBsOjphcHBseUF1dG9GaWxsU3VnZ2VzdGlvCiAgICAgY29uc3QgV2ViTm9kZSYgbm9k
ZSwKICAgICBjb25zdCBXZWJWZWN0b3I8V2ViU3RyaW5nPiYgbmFtZXMsCiAgICAgY29uc3QgV2Vi
VmVjdG9yPFdlYlN0cmluZz4mIGxhYmVscywKKyAgICBjb25zdCBXZWJWZWN0b3I8aW50PiYgdW5p
cXVlSURzLAogICAgIGludCBzZXBhcmF0b3JJbmRleCkKIHsKLSAgICBXZWJWZWN0b3I8aW50PiB1
bmlxdWVJRHMobmFtZXMuc2l6ZSgpKTsKLSAgICBhcHBseUF1dG9GaWxsU3VnZ2VzdGlvbnMobm9k
ZSwgbmFtZXMsIGxhYmVscywgdW5pcXVlSURzLCBzZXBhcmF0b3JJbmRleCk7CisgICAgV2ViVmVj
dG9yPFdlYlN0cmluZz4gaWNvbnMobmFtZXMuc2l6ZSgpKTsKKyAgICBhcHBseUF1dG9GaWxsU3Vn
Z2VzdGlvbnMobm9kZSwgbmFtZXMsIGxhYmVscywgaWNvbnMsIHVuaXF1ZUlEcywgc2VwYXJhdG9y
SW5kZXgpOwogfQogCiB2b2lkIFdlYlZpZXdJbXBsOjphcHBseUF1dG9GaWxsU3VnZ2VzdGlvbnMo
CiAgICAgY29uc3QgV2ViTm9kZSYgbm9kZSwKICAgICBjb25zdCBXZWJWZWN0b3I8V2ViU3RyaW5n
PiYgbmFtZXMsCiAgICAgY29uc3QgV2ViVmVjdG9yPFdlYlN0cmluZz4mIGxhYmVscywKKyAgICBj
b25zdCBXZWJWZWN0b3I8V2ViU3RyaW5nPiYgaWNvbnMsCiAgICAgY29uc3QgV2ViVmVjdG9yPGlu
dD4mIHVuaXF1ZUlEcywKICAgICBpbnQgc2VwYXJhdG9ySW5kZXgpCiB7CkBAIC0xNzc3LDcgKzE3
NzksNyBAQCB2b2lkIFdlYlZpZXdJbXBsOjphcHBseUF1dG9GaWxsU3VnZ2VzdGlvCiAgICAgICAg
IG1fYXV0b0ZpbGxQb3B1cENsaWVudC5zZXQobmV3IEF1dG9GaWxsUG9wdXBNZW51Q2xpZW50KTsK
IAogICAgIG1fYXV0b0ZpbGxQb3B1cENsaWVudC0+aW5pdGlhbGl6ZSgKLSAgICAgICAgaW5wdXRF
bGVtLCBuYW1lcywgbGFiZWxzLCB1bmlxdWVJRHMsIHNlcGFyYXRvckluZGV4KTsKKyAgICAgICAg
aW5wdXRFbGVtLCBuYW1lcywgbGFiZWxzLCBpY29ucywgdW5pcXVlSURzLCBzZXBhcmF0b3JJbmRl
eCk7CiAKICAgICBpZiAoIW1fYXV0b0ZpbGxQb3B1cC5nZXQoKSkgewogICAgICAgICBtX2F1dG9G
aWxsUG9wdXAgPSBQb3B1cENvbnRhaW5lcjo6Y3JlYXRlKG1fYXV0b0ZpbGxQb3B1cENsaWVudC5n
ZXQoKSwKQEAgLTE3ODcsNyArMTc4OSw3IEBAIHZvaWQgV2ViVmlld0ltcGw6OmFwcGx5QXV0b0Zp
bGxTdWdnZXN0aW8KIAogICAgIGlmIChtX2F1dG9GaWxsUG9wdXBTaG93aW5nKSB7CiAgICAgICAg
IG1fYXV0b0ZpbGxQb3B1cENsaWVudC0+c2V0U3VnZ2VzdGlvbnMoCi0gICAgICAgICAgICBuYW1l
cywgbGFiZWxzLCB1bmlxdWVJRHMsIHNlcGFyYXRvckluZGV4KTsKKyAgICAgICAgICAgIG5hbWVz
LCBsYWJlbHMsIGljb25zLCB1bmlxdWVJRHMsIHNlcGFyYXRvckluZGV4KTsKICAgICAgICAgcmVm
cmVzaEF1dG9GaWxsUG9wdXAoKTsKICAgICB9IGVsc2UgewogICAgICAgICBtX2F1dG9GaWxsUG9w
dXAtPnNob3coZm9jdXNlZE5vZGUtPmdldFJlY3QoKSwKQEAgLTE4MDksMTIgKzE4MTEsMTMgQEAg
dm9pZCBXZWJWaWV3SW1wbDo6YXBwbHlBdXRvY29tcGxldGVTdWdnZQogewogICAgIFdlYlZlY3Rv
cjxXZWJTdHJpbmc+IG5hbWVzKHN1Z2dlc3Rpb25zLnNpemUoKSk7CiAgICAgV2ViVmVjdG9yPFdl
YlN0cmluZz4gbGFiZWxzKHN1Z2dlc3Rpb25zLnNpemUoKSk7CisgICAgV2ViVmVjdG9yPFdlYlN0
cmluZz4gaWNvbnMoc3VnZ2VzdGlvbnMuc2l6ZSgpKTsKICAgICBXZWJWZWN0b3I8aW50PiB1bmlx
dWVJRHMoc3VnZ2VzdGlvbnMuc2l6ZSgpKTsKIAogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
c3VnZ2VzdGlvbnMuc2l6ZSgpOyArK2kpCiAgICAgICAgIG5hbWVzW2ldID0gc3VnZ2VzdGlvbnNb
aV07CiAKLSAgICBhcHBseUF1dG9GaWxsU3VnZ2VzdGlvbnMobm9kZSwgbmFtZXMsIGxhYmVscywg
dW5pcXVlSURzLCAtMSk7CisgICAgYXBwbHlBdXRvRmlsbFN1Z2dlc3Rpb25zKG5vZGUsIG5hbWVz
LCBsYWJlbHMsIGljb25zLCB1bmlxdWVJRHMsIC0xKTsKICAgICBpZiAobV9hdXRvRmlsbFBvcHVw
Q2xpZW50KQogICAgICAgICBtX2F1dG9GaWxsUG9wdXBDbGllbnQtPnNldEF1dG9jb21wbGV0ZU1v
ZGUodHJ1ZSk7CiB9CkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5oCShyZXZpc2lvbiA2
NDE1MCkKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuaAkod29ya2luZyBjb3B5
KQpAQCAtMTcxLDExICsxNzEsMTMgQEAgcHVibGljOgogICAgICAgICBjb25zdCBXZWJOb2RlJiwK
ICAgICAgICAgY29uc3QgV2ViVmVjdG9yPFdlYlN0cmluZz4mIG5hbWVzLAogICAgICAgICBjb25z
dCBXZWJWZWN0b3I8V2ViU3RyaW5nPiYgbGFiZWxzLAorICAgICAgICBjb25zdCBXZWJWZWN0b3I8
aW50PiYgdW5pcXVlSURzLAogICAgICAgICBpbnQgc2VwYXJhdG9ySW5kZXgpOwogICAgIHZpcnR1
YWwgdm9pZCBhcHBseUF1dG9GaWxsU3VnZ2VzdGlvbnMoCiAgICAgICAgIGNvbnN0IFdlYk5vZGUm
LAogICAgICAgICBjb25zdCBXZWJWZWN0b3I8V2ViU3RyaW5nPiYgbmFtZXMsCiAgICAgICAgIGNv
bnN0IFdlYlZlY3RvcjxXZWJTdHJpbmc+JiBsYWJlbHMsCisgICAgICAgIGNvbnN0IFdlYlZlY3Rv
cjxXZWJTdHJpbmc+JiBpY29ucywKICAgICAgICAgY29uc3QgV2ViVmVjdG9yPGludD4mIHVuaXF1
ZUlEcywKICAgICAgICAgaW50IHNlcGFyYXRvckluZGV4KTsKICAgICAvLyBERVBSRUNBVEVEOiBy
ZXBsYWNpbmcgd2l0aCBhcHBseUF1dG9GaWxsU3VnZ2VzdGlvbnMuCg==
</data>
<flag name="review"
          id="50998"
          type_id="1"
          status="+"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>