<?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>80178</bug_id>
          
          <creation_ts>2012-03-02 11:56:25 -0800</creation_ts>
          <short_desc>allowDatabaseAccess and databaseExceededQuota should be part of DatabaseContext not ScriptExecutionContext</short_desc>
          <delta_ts>2012-03-05 00:14:12 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>79327</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Barth">abarth</reporter>
          <assigned_to name="Adam Barth">abarth</assigned_to>
          <cc>eric</cc>
    
    <cc>haraken</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>569821</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-02 11:56:25 -0800</bug_when>
    <thetext>allowDatabaseAccess and databaseExceededQuota should be part of DatabaseContext not ScriptExecutionContext</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569825</commentid>
    <comment_count>1</comment_count>
      <attachid>129935</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-02 11:59:37 -0800</bug_when>
    <thetext>Created attachment 129935
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569837</commentid>
    <comment_count>2</comment_count>
      <attachid>129935</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-02 12:18:04 -0800</bug_when>
    <thetext>Comment on attachment 129935
Patch

Attachment 129935 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/11799076</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569840</commentid>
    <comment_count>3</comment_count>
      <attachid>129935</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-02 12:20:07 -0800</bug_when>
    <thetext>Comment on attachment 129935
Patch

Attachment 129935 did not pass win-ews (win):
Output: http://queues.webkit.org/results/11796111</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569852</commentid>
    <comment_count>4</comment_count>
      <attachid>129935</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-03-02 12:34:15 -0800</bug_when>
    <thetext>Comment on attachment 129935
Patch

Attachment 129935 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/11803071</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569886</commentid>
    <comment_count>5</comment_count>
      <attachid>129948</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-02 13:31:06 -0800</bug_when>
    <thetext>Created attachment 129948
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569901</commentid>
    <comment_count>6</comment_count>
      <attachid>129948</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-02 13:45:17 -0800</bug_when>
    <thetext>Comment on attachment 129948
Patch

OK.  I assume that Suplement&lt;T&gt; takes care of all the details of making sure that these supelemnts (like DatabaseContext) never outlive their Suplementables?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>569904</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-02 13:46:04 -0800</bug_when>
    <thetext>&gt; OK.  I assume that Suplement&lt;T&gt; takes care of all the details of making sure that these supelemnts (like DatabaseContext) never outlive their Suplementables?

Yes.  The Suplement object is owned by the Suplementable object.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570073</commentid>
    <comment_count>8</comment_count>
      <attachid>129948</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-02 18:42:32 -0800</bug_when>
    <thetext>Comment on attachment 129948
Patch

Rejecting attachment 129948 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 1

Last 500 characters of output:
_by_email
    return self._reviewer_only(self.account_by_email(email))
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/common/config/committers.py&quot;, line 632, in account_by_email
    return self._email_to_account_map().get(email.lower()) if email else None
  File &quot;/mnt/git/webkit-commit-queue/Tools/Scripts/webkitpy/common/config/committers.py&quot;, line 525, in _email_to_account_map
    assert(email not in self._accounts_by_email)  # We should never have duplicate emails.
AssertionError

Full output: http://queues.webkit.org/results/11801210</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570447</commentid>
    <comment_count>9</comment_count>
      <attachid>129948</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-05 00:14:01 -0800</bug_when>
    <thetext>Comment on attachment 129948
Patch

Clearing flags on attachment: 129948

Committed r109716: &lt;http://trac.webkit.org/changeset/109716&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>570448</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-05 00:14:12 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129935</attachid>
            <date>2012-03-02 11:59:37 -0800</date>
            <delta_ts>2012-03-02 13:31:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80178-20120302115936.patch</filename>
            <type>text/plain</type>
            <size>12663</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwOTU5MykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDEyLTAzLTAyICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgYWxsb3dEYXRhYmFzZUFjY2VzcyBh
bmQgZGF0YWJhc2VFeGNlZWRlZFF1b3RhIHNob3VsZCBiZSBwYXJ0IG9mIERhdGFiYXNlQ29udGV4
dCBub3QgU2NyaXB0RXhlY3V0aW9uQ29udGV4dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAxNzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGVzZSBmdW5jdGlvbnMgYXJlIG9ubHkgdXNlZCBieSBTUUxE
YXRhYmFzZSwgd2hpY2ggbWVhbnMgd2UgY2FuIG1vdmUKKyAgICAgICAgdGhlbSB0byBEYXRhYmFz
ZUNvbnRleHQsIHJlbW92aW5nIG9uZSBtb3JlIHRlbmRyaWwgb2YgdGhlIFNRTERhdGFiYXNlCisg
ICAgICAgIGNvZGUuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChEb2N1bWVudCk6Cisg
ICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQpOgorICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VDb250ZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQ29udGV4dDo6RGF0YWJhc2VDb250ZXh0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQ29udGV4dDo6ZnJvbSk6CisgICAgICAgIChXZWJDb3Jl
OjpEYXRhYmFzZUNvbnRleHQ6OmFsbG93RGF0YWJhc2VBY2Nlc3MpOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZUNvbnRleHQ6OmRhdGFiYXNlRXhjZWVkZWRR
dW90YSk6CisgICAgICAgICogc3RvcmFnZS9EYXRhYmFzZUNvbnRleHQuaDoKKyAgICAgICAgKERh
dGFiYXNlQ29udGV4dCk6CisgICAgICAgICogc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjpjYW5Fc3RhYmxpc2hEYXRhYmFzZSk6
CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTUUxUcmFuc2FjdGlvbjo6ZXhlY3V0ZVNRTCk6CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFu
c2FjdGlvbkNsaWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTUUxUcmFuc2FjdGlvbkNsaWVu
dDo6ZGlkRXhjZWVkUXVvdGEpOgorICAgICAgICAqIHN0b3JhZ2UvU1FMVHJhbnNhY3Rpb25TeW5j
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNRTFRyYW5zYWN0aW9uU3luYzo6ZXhlY3V0ZVNRTCk6
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5oOgorICAgICAgICAoV29ya2VyQ29u
dGV4dCk6CisKIDIwMTItMDMtMDIgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUkVHUkVTU0lPTihyNzQ5NzEpOiBDYW4ndCBzZWxlY3QgYSBsaW5lIG9mIFJUTCB0
ZXh0IG9uIEZhY2Vib29rCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHJldmlzaW9uIDEw
OTU4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTQ3MzYsMjQgKzQ3MzYsNiBAQCB2b2lkIERvY3VtZW50OjpzZXRTZWN1cml0eU9yaWdpbihQ
YXNzUmVmCiAgICAgU2VjdXJpdHlDb250ZXh0OjpzZXRTZWN1cml0eU9yaWdpbihvcmlnaW4pOwog
fQogCi0jaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKLQotYm9vbCBEb2N1bWVudDo6YWxsb3dEYXRh
YmFzZUFjY2VzcygpIGNvbnN0Ci17Ci0gICAgaWYgKCFwYWdlKCkgfHwgKHBhZ2UoKS0+c2V0dGlu
Z3MoKS0+cHJpdmF0ZUJyb3dzaW5nRW5hYmxlZCgpICYmICFTY2hlbWVSZWdpc3RyeTo6YWxsb3dz
RGF0YWJhc2VBY2Nlc3NJblByaXZhdGVCcm93c2luZyhzZWN1cml0eU9yaWdpbigpLT5wcm90b2Nv
bCgpKSkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICByZXR1cm4gdHJ1ZTsKLX0KLQotdm9p
ZCBEb2N1bWVudDo6ZGF0YWJhc2VFeGNlZWRlZFF1b3RhKGNvbnN0IFN0cmluZyYgbmFtZSkKLXsK
LSAgICBQYWdlKiBjdXJyZW50UGFnZSA9IHBhZ2UoKTsKLSAgICBpZiAoY3VycmVudFBhZ2UpCi0g
ICAgICAgIGN1cnJlbnRQYWdlLT5jaHJvbWUoKS0+Y2xpZW50KCktPmV4Y2VlZGVkRGF0YWJhc2VR
dW90YShkb2N1bWVudCgpLT5mcmFtZSgpLCBuYW1lKTsKLX0KLQotI2VuZGlmCi0KIGJvb2wgRG9j
dW1lbnQ6OmlzQ29udGV4dFRocmVhZCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGlzTWFpblRocmVh
ZCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHJldmlzaW9uIDEwOTU4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDI4LDExICsxMDI4
LDYgQEAgcHVibGljOgogICAgIGJvb2wgcHJvY2Vzc2luZ0xvYWRFdmVudCgpIGNvbnN0IHsgcmV0
dXJuIG1fcHJvY2Vzc2luZ0xvYWRFdmVudDsgfQogICAgIGJvb2wgbG9hZEV2ZW50RmluaXNoZWQo
KSBjb25zdCB7IHJldHVybiBtX2xvYWRFdmVudEZpbmlzaGVkOyB9CiAKLSNpZiBFTkFCTEUoU1FM
X0RBVEFCQVNFKQotICAgIHZpcnR1YWwgYm9vbCBhbGxvd0RhdGFiYXNlQWNjZXNzKCkgY29uc3Q7
Ci0gICAgdmlydHVhbCB2b2lkIGRhdGFiYXNlRXhjZWVkZWRRdW90YShjb25zdCBTdHJpbmcmIG5h
bWUpOwotI2VuZGlmCi0KICAgICB2aXJ0dWFsIGJvb2wgaXNDb250ZXh0VGhyZWFkKCkgY29uc3Q7
CiAgICAgdmlydHVhbCBib29sIGlzSlNFeGVjdXRpb25Gb3JiaWRkZW4oKSBjb25zdCB7IHJldHVy
biBmYWxzZTsgfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRFeGVjdXRpb25D
b250ZXh0LmgJKHJldmlzaW9uIDEwOTU4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TY3JpcHRF
eGVjdXRpb25Db250ZXh0LmgJKHdvcmtpbmcgY29weSkKQEAgLTcwLDEwICs3MCw2IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIGJvb2wgaXNEb2N1bWVudCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CiAgICAgdmlydHVhbCBib29sIGlzV29ya2VyQ29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CiAKLSNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQotICAgIHZpcnR1YWwgYm9vbCBhbGxvd0Rh
dGFiYXNlQWNjZXNzKCkgY29uc3QgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBkYXRhYmFzZUV4Y2Vl
ZGVkUXVvdGEoY29uc3QgU3RyaW5nJiBuYW1lKSA9IDA7Ci0jZW5kaWYKICAgICB2aXJ0dWFsIGJv
b2wgaXNDb250ZXh0VGhyZWFkKCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZpcnR1YWwg
Ym9vbCBpc0pTRXhlY3V0aW9uRm9yYmlkZGVuKCkgY29uc3QgPSAwOwogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZUNvbnRleHQuY3BwCShyZXZpc2lvbiAxMDk1ODQpCisr
KyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlQ29udGV4dC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTMwLDkgKzMwLDE3IEBACiAKICNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQogCisjaW5j
bHVkZSAiQ2hyb21lLmgiCisjaW5jbHVkZSAiQ2hyb21lQ2xpZW50LmgiCiAjaW5jbHVkZSAiRGF0
YWJhc2UuaCIKICNpbmNsdWRlICJEYXRhYmFzZVRhc2suaCIKICNpbmNsdWRlICJEYXRhYmFzZVRo
cmVhZC5oIgorI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgorI2luY2x1ZGUgIkRvY3VtZW50
LmgiCisjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlNjaGVtZVJlZ2lzdHJ5LmgiCisjaW5j
bHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTQxLDggKzQ5LDkgQEAgc3RhdGljIERhdGFiYXNlQ29udGV4dCog
ZXhpc3RpbmdEYXRhYmFzZQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxEYXRhYmFzZUNvbnRleHQq
PihTdXBwbGVtZW50PFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQ+Ojpmcm9tKGNvbnRleHQsICJEYXRh
YmFzZUNvbnRleHQiKSk7CiB9CiAKLURhdGFiYXNlQ29udGV4dDo6RGF0YWJhc2VDb250ZXh0KCkK
LSAgICA6IG1faGFzT3BlbkRhdGFiYXNlcyhmYWxzZSkKK0RhdGFiYXNlQ29udGV4dDo6RGF0YWJh
c2VDb250ZXh0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQpCisgICAgOiBtX3Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQoY29udGV4dCkKKyAgICAsIG1faGFzT3BlbkRhdGFiYXNlcyhmYWxz
ZSkKIHsKIH0KIApAQCAtNTgsNyArNjcsNyBAQCBEYXRhYmFzZUNvbnRleHQqIERhdGFiYXNlQ29u
dGV4dDo6ZnJvbShTCiB7CiAgICAgRGF0YWJhc2VDb250ZXh0KiBzdXBwbGVtZW50ID0gZXhpc3Rp
bmdEYXRhYmFzZUNvbnRleHRGcm9tKGNvbnRleHQpOwogICAgIGlmICghc3VwcGxlbWVudCkgewot
ICAgICAgICBzdXBwbGVtZW50ID0gbmV3IERhdGFiYXNlQ29udGV4dCgpOworICAgICAgICBzdXBw
bGVtZW50ID0gbmV3IERhdGFiYXNlQ29udGV4dChjb250ZXh0KTsKICAgICAgICAgcHJvdmlkZVRv
KGNvbnRleHQsICJEYXRhYmFzZUNvbnRleHQiLCBhZG9wdFB0cihzdXBwbGVtZW50KSk7CiAgICAg
ICAgIEFTU0VSVChzdXBwbGVtZW50ID09IGV4aXN0aW5nRGF0YWJhc2VDb250ZXh0RnJvbShjb250
ZXh0KSk7CiAgICAgfQpAQCAtMTAwLDYgKzEwOSwzNSBAQCB2b2lkIERhdGFiYXNlQ29udGV4dDo6
c3RvcERhdGFiYXNlcyhTY3JpCiAgICAgICAgIGNsZWFudXBTeW5jLT50YXNrQ29tcGxldGVkKCk7
CiB9CiAKK2Jvb2wgRGF0YWJhc2VDb250ZXh0OjphbGxvd0RhdGFiYXNlQWNjZXNzKCkgY29uc3QK
K3sKKyAgICBpZiAobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5pc0RvY3VtZW50KCkpIHsKKyAg
ICAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gc3RhdGljX2Nhc3Q8RG9jdW1lbnQqPihtX3Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQpOworICAgICAgICBpZiAoIWRvY3VtZW50LT5wYWdlKCkgfHwgKGRv
Y3VtZW50LT5wYWdlKCktPnNldHRpbmdzKCktPnByaXZhdGVCcm93c2luZ0VuYWJsZWQoKSAmJiAh
U2NoZW1lUmVnaXN0cnk6OmFsbG93c0RhdGFiYXNlQWNjZXNzSW5Qcml2YXRlQnJvd3NpbmcoZG9j
dW1lbnQtPnNlY3VyaXR5T3JpZ2luKCktPnByb3RvY29sKCkpKSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIEFTU0VSVChtX3Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQtPmlzV29ya2VyQ29udGV4dCgpKTsKKyAgICAvLyBhbGxvd0RhdGFi
YXNlQWNjZXNzIGlzIG5vdCB5ZXQgaW1wbGVtZW50ZWQgZm9yIHdvcmtlcnMuCisgICAgcmV0dXJu
IHRydWU7Cit9CisKK3ZvaWQgRGF0YWJhc2VDb250ZXh0OjpkYXRhYmFzZUV4Y2VlZGVkUXVvdGEo
Y29uc3QgU3RyaW5nJiBuYW1lKQoreworICAgIGlmIChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQt
PmlzRG9jdW1lbnQoKSkgeworICAgICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBzdGF0aWNfY2Fz
dDxEb2N1bWVudCo+KG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7CisgICAgICAgIGlmIChQYWdl
KiBwYWdlID0gZG9jdW1lbnQtPnBhZ2UoKSkKKyAgICAgICAgICAgIHBhZ2UtPmNocm9tZSgpLT5j
bGllbnQoKS0+ZXhjZWVkZWREYXRhYmFzZVF1b3RhKGRvY3VtZW50LT5mcmFtZSgpLCBuYW1lKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBBU1NFUlQobV9zY3JpcHRFeGVjdXRpb25Db250
ZXh0LT5pc1dvcmtlckNvbnRleHQoKSk7CisjaWYgIVBMQVRGT1JNKENIUk9NSVVNKQorICAgIC8v
IEZJWE1FOiBUaGlzIG5lZWRzIGEgcmVhbCBpbXBsZW1lbnRhdGlvbjsgdGhpcyBpcyBhIHRlbXBv
cmFyeSBzb2x1dGlvbiBmb3IgdGVzdGluZy4KKyAgICBjb25zdCB1bnNpZ25lZCBsb25nIGxvbmcg
ZGVmYXVsdFF1b3RhID0gNSAqIDEwMjQgKiAxMDI0OworICAgIERhdGFiYXNlVHJhY2tlcjo6dHJh
Y2tlcigpLnNldFF1b3RhKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+c2VjdXJpdHlPcmlnaW4o
KSwgZGVmYXVsdFF1b3RhKTsKKyNlbmRpZgorfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBFTkFCTEUoU1FMX0RBVEFCQVNFKQpJbmRleDogU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9EYXRhYmFzZUNvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0RhdGFiYXNlQ29udGV4dC5oCShyZXZpc2lvbiAxMDk1ODQpCisrKyBTb3VyY2UvV2ViQ29y
ZS9zdG9yYWdlL0RhdGFiYXNlQ29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Myw5ICs1Mywx
MyBAQCBwdWJsaWM6CiAgICAgLy8gV2hlbiB0aGUgZGF0YWJhc2UgY2xlYW51cCBpcyBkb25lLCBj
bGVhbnVwU3luYyB3aWxsIGJlIHNpZ25hbGxlZC4KICAgICBzdGF0aWMgdm9pZCBzdG9wRGF0YWJh
c2VzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBEYXRhYmFzZVRhc2tTeW5jaHJvbml6ZXIqKTsK
IAorICAgIGJvb2wgYWxsb3dEYXRhYmFzZUFjY2VzcygpIGNvbnN0OworICAgIHZvaWQgZGF0YWJh
c2VFeGNlZWRlZFF1b3RhKGNvbnN0IFN0cmluZyYgbmFtZSk7CisKIHByaXZhdGU6Ci0gICAgRGF0
YWJhc2VDb250ZXh0KCk7CisgICAgZXhwbGljaXQgRGF0YWJhc2VDb250ZXh0KFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQqKTsKIAorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIG1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dDsKICAgICBSZWZQdHI8RGF0YWJhc2VUaHJlYWQ+IG1fZGF0YWJhc2VUaHJl
YWQ7CiAgICAgYm9vbCBtX2hhc09wZW5EYXRhYmFzZXM7IC8vIFRoaXMgbmV2ZXIgY2hhbmdlcyBi
YWNrIHRvIGZhbHNlLCBldmVuIGFmdGVyIHRoZSBkYXRhYmFzZSB0aHJlYWQgaXMgY2xvc2VkLgog
fTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2VyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlVHJhY2tlci5jcHAJKHJl
dmlzaW9uIDEwOTU4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VUcmFja2Vy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTc1LDcgKzE3NSw3IEBAIGJvb2wgRGF0YWJhc2VUcmFj
a2VyOjpjYW5Fc3RhYmxpc2hEYXRhYmEKICAgICAgICAgbV9wcm9wb3NlZERhdGFiYXNlcy5hZGQo
JmRldGFpbHMpOwogICAgIH0KICAgICAvLyBEcm9wIGFsbCBsb2NrcyBiZWZvcmUgY2FsbGluZyBv
dXQ7IHdlIGRvbid0IGtub3cgd2hhdCB0aGV5J2xsIGRvLgotICAgIGNvbnRleHQtPmRhdGFiYXNl
RXhjZWVkZWRRdW90YShuYW1lKTsKKyAgICBEYXRhYmFzZUNvbnRleHQ6OmZyb20oY29udGV4dCkt
PmRhdGFiYXNlRXhjZWVkZWRRdW90YShuYW1lKTsKIAogICAgIE11dGV4TG9ja2VyIGxvY2tEYXRh
YmFzZShtX2RhdGFiYXNlR3VhcmQpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NR
TFRyYW5zYWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NR
TFRyYW5zYWN0aW9uLmNwcAkocmV2aXNpb24gMTA5NTg0KQorKysgU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9TUUxUcmFuc2FjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk4LDcgKzk4LDcgQEAg
dm9pZCBTUUxUcmFuc2FjdGlvbjo6ZXhlY3V0ZVNRTChjb25zdCBTdAogICAgIH0KIAogICAgIGlu
dCBwZXJtaXNzaW9ucyA9IERhdGFiYXNlQXV0aG9yaXplcjo6UmVhZFdyaXRlTWFzazsKLSAgICBp
ZiAoIW1fZGF0YWJhc2UtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWxsb3dEYXRhYmFzZUFj
Y2VzcygpKQorICAgIGlmICghbV9kYXRhYmFzZS0+ZGF0YWJhc2VDb250ZXh0KCktPmFsbG93RGF0
YWJhc2VBY2Nlc3MoKSkKICAgICAgICAgcGVybWlzc2lvbnMgfD0gRGF0YWJhc2VBdXRob3JpemVy
OjpOb0FjY2Vzc01hc2s7CiAgICAgZWxzZSBpZiAobV9yZWFkT25seSkKICAgICAgICAgcGVybWlz
c2lvbnMgfD0gRGF0YWJhc2VBdXRob3JpemVyOjpSZWFkT25seU1hc2s7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmNwcAkocmV2aXNpb24g
MTA5NTg0KQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTU1LDcgKzU1LDcgQEAgYm9vbCBTUUxUcmFuc2FjdGlvbkNs
aWVudDo6ZGlkRXhjZWVkUXVvdAogewogICAgIEFTU0VSVChkYXRhYmFzZS0+c2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLT5pc0NvbnRleHRUaHJlYWQoKSk7CiAgICAgdW5zaWduZWQgbG9uZyBsb25n
IGN1cnJlbnRRdW90YSA9IERhdGFiYXNlVHJhY2tlcjo6dHJhY2tlcigpLnF1b3RhRm9yT3JpZ2lu
KGRhdGFiYXNlLT5zZWN1cml0eU9yaWdpbigpKTsKLSAgICBkYXRhYmFzZS0+c2NyaXB0RXhlY3V0
aW9uQ29udGV4dCgpLT5kYXRhYmFzZUV4Y2VlZGVkUXVvdGEoZGF0YWJhc2UtPnN0cmluZ0lkZW50
aWZpZXIoKSk7CisgICAgZGF0YWJhc2UtPmRhdGFiYXNlQ29udGV4dCgpLT5kYXRhYmFzZUV4Y2Vl
ZGVkUXVvdGEoZGF0YWJhc2UtPnN0cmluZ0lkZW50aWZpZXIoKSk7CiAgICAgdW5zaWduZWQgbG9u
ZyBsb25nIG5ld1F1b3RhID0gRGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkucXVvdGFGb3JPcmln
aW4oZGF0YWJhc2UtPnNlY3VyaXR5T3JpZ2luKCkpOwogICAgIHJldHVybiAobmV3UXVvdGEgPiBj
dXJyZW50UXVvdGEpOwogfQpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2Fj
dGlvblN5bmMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU1FMVHJh
bnNhY3Rpb25TeW5jLmNwcAkocmV2aXNpb24gMTA5NTg0KQorKysgU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9TUUxUcmFuc2FjdGlvblN5bmMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3
IEBACiAjaWYgRU5BQkxFKFNRTF9EQVRBQkFTRSkKIAogI2luY2x1ZGUgIkRhdGFiYXNlQXV0aG9y
aXplci5oIgorI2luY2x1ZGUgIkRhdGFiYXNlQ29udGV4dC5oIgogI2luY2x1ZGUgIkRhdGFiYXNl
U3luYy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiU1FMRXhjZXB0
aW9uLmgiCkBAIC05NCw3ICs5NSw3IEBAIFBhc3NSZWZQdHI8U1FMUmVzdWx0U2V0PiBTUUxUcmFu
c2FjdGlvblMKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBpbnQgcGVybWlzc2lvbnMgPSBEYXRh
YmFzZUF1dGhvcml6ZXI6OlJlYWRXcml0ZU1hc2s7Ci0gICAgaWYgKCFtX2RhdGFiYXNlLT5zY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCktPmFsbG93RGF0YWJhc2VBY2Nlc3MoKSkKKyAgICBpZiAoIW1f
ZGF0YWJhc2UtPmRhdGFiYXNlQ29udGV4dCgpLT5hbGxvd0RhdGFiYXNlQWNjZXNzKCkpCiAgICAg
ICBwZXJtaXNzaW9ucyB8PSBEYXRhYmFzZUF1dGhvcml6ZXI6Ok5vQWNjZXNzTWFzazsKICAgICBl
bHNlIGlmIChtX3JlYWRPbmx5KQogICAgICAgcGVybWlzc2lvbnMgfD0gRGF0YWJhc2VBdXRob3Jp
emVyOjpSZWFkT25seU1hc2s7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNv
bnRleHQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29u
dGV4dC5jcHAJKHJldmlzaW9uIDEwOTU4NCkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29y
a2VyQ29udGV4dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMxOSwxNSArMzE5LDYgQEAgUGFzc1Jl
ZlB0cjxEYXRhYmFzZT4gV29ya2VyQ29udGV4dDo6b3BlbgogICAgIHJldHVybiBEYXRhYmFzZTo6
b3BlbkRhdGFiYXNlKHRoaXMsIG5hbWUsIHZlcnNpb24sIGRpc3BsYXlOYW1lLCBlc3RpbWF0ZWRT
aXplLCBjcmVhdGlvbkNhbGxiYWNrLCBlYyk7CiB9CiAKLXZvaWQgV29ya2VyQ29udGV4dDo6ZGF0
YWJhc2VFeGNlZWRlZFF1b3RhKGNvbnN0IFN0cmluZyYpCi17Ci0jaWYgIVBMQVRGT1JNKENIUk9N
SVVNKQotICAgIC8vIEZJWE1FOiBUaGlzIG5lZWRzIGEgcmVhbCBpbXBsZW1lbnRhdGlvbjsgdGhp
cyBpcyBhIHRlbXBvcmFyeSBzb2x1dGlvbiBmb3IgdGVzdGluZy4KLSAgICBjb25zdCB1bnNpZ25l
ZCBsb25nIGxvbmcgZGVmYXVsdFF1b3RhID0gNSAqIDEwMjQgKiAxMDI0OwotICAgIERhdGFiYXNl
VHJhY2tlcjo6dHJhY2tlcigpLnNldFF1b3RhKHNlY3VyaXR5T3JpZ2luKCksIGRlZmF1bHRRdW90
YSk7Ci0jZW5kaWYKLX0KLQogUGFzc1JlZlB0cjxEYXRhYmFzZVN5bmM+IFdvcmtlckNvbnRleHQ6
Om9wZW5EYXRhYmFzZVN5bmMoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZlcnNp
b24sIGNvbnN0IFN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6
ZSwgUGFzc1JlZlB0cjxEYXRhYmFzZUNhbGxiYWNrPiBjcmVhdGlvbkNhbGxiYWNrLCBFeGNlcHRp
b25Db2RlJiBlYykKIHsKICAgICBpZiAoIXNlY3VyaXR5T3JpZ2luKCktPmNhbkFjY2Vzc0RhdGFi
YXNlKCkgfHwgIUFic3RyYWN0RGF0YWJhc2U6OmlzQXZhaWxhYmxlKCkpIHsKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5oCShyZXZpc2lvbiAxMDk1ODQpCisrKyBTb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1dvcmtlckNvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtMTE2
LDExICsxMTYsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIC8vIEhUTUwgNSBjbGll
bnQtc2lkZSBkYXRhYmFzZQogICAgICAgICBQYXNzUmVmUHRyPERhdGFiYXNlPiBvcGVuRGF0YWJh
c2UoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZlcnNpb24sIGNvbnN0IFN0cmlu
ZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVkU2l6ZSwgUGFzc1JlZlB0cjxE
YXRhYmFzZUNhbGxiYWNrPiBjcmVhdGlvbkNhbGxiYWNrLCBFeGNlcHRpb25Db2RlJik7CiAgICAg
ICAgIFBhc3NSZWZQdHI8RGF0YWJhc2VTeW5jPiBvcGVuRGF0YWJhc2VTeW5jKGNvbnN0IFN0cmlu
ZyYgbmFtZSwgY29uc3QgU3RyaW5nJiB2ZXJzaW9uLCBjb25zdCBTdHJpbmcmIGRpc3BsYXlOYW1l
LCB1bnNpZ25lZCBsb25nIGVzdGltYXRlZFNpemUsIFBhc3NSZWZQdHI8RGF0YWJhc2VDYWxsYmFj
az4gY3JlYXRpb25DYWxsYmFjaywgRXhjZXB0aW9uQ29kZSYpOwotCi0gICAgICAgIC8vIE5vdCBp
bXBsZW1lbnRlZCB5ZXQuCi0gICAgICAgIHZpcnR1YWwgYm9vbCBhbGxvd0RhdGFiYXNlQWNjZXNz
KCkgY29uc3QgeyByZXR1cm4gdHJ1ZTsgfQotICAgICAgICAvLyBOb3QgaW1wbGVtZW50ZWQgZm9y
IHJlYWwgeWV0LgotICAgICAgICB2aXJ0dWFsIHZvaWQgZGF0YWJhc2VFeGNlZWRlZFF1b3RhKGNv
bnN0IFN0cmluZyYpOwogI2VuZGlmCiAgICAgICAgIHZpcnR1YWwgYm9vbCBpc0NvbnRleHRUaHJl
YWQoKSBjb25zdDsKICAgICAgICAgdmlydHVhbCBib29sIGlzSlNFeGVjdXRpb25Gb3JiaWRkZW4o
KSBjb25zdDsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129948</attachid>
            <date>2012-03-02 13:31:06 -0800</date>
            <delta_ts>2012-03-05 00:14:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80178-20120302133111.patch</filename>
            <type>text/plain</type>
            <size>13094</size>
            <attacher name="Adam Barth">abarth</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwOTYwMSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQxIEBACisyMDEyLTAzLTAyICBBZGFtIEJh
cnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CisKKyAgICAgICAgYWxsb3dEYXRhYmFzZUFjY2VzcyBh
bmQgZGF0YWJhc2VFeGNlZWRlZFF1b3RhIHNob3VsZCBiZSBwYXJ0IG9mIERhdGFiYXNlQ29udGV4
dCBub3QgU2NyaXB0RXhlY3V0aW9uQ29udGV4dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODAxNzgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGVzZSBmdW5jdGlvbnMgYXJlIG9ubHkgdXNlZCBieSBTUUxE
YXRhYmFzZSwgd2hpY2ggbWVhbnMgd2UgY2FuIG1vdmUKKyAgICAgICAgdGhlbSB0byBEYXRhYmFz
ZUNvbnRleHQsIHJlbW92aW5nIG9uZSBtb3JlIHRlbmRyaWwgb2YgdGhlIFNRTERhdGFiYXNlCisg
ICAgICAgIGNvZGUuCisKKyAgICAgICAgKiBkb20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgICogZG9tL0RvY3VtZW50Lmg6CisgICAgICAgIChEb2N1bWVudCk6Cisg
ICAgICAgICogZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaDoKKyAgICAgICAgKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQpOgorICAgICAgICAqIHN0b3JhZ2UvRGF0YWJhc2VDb250ZXh0LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQ29udGV4dDo6RGF0YWJhc2VDb250ZXh0KToKKyAg
ICAgICAgKFdlYkNvcmU6OkRhdGFiYXNlQ29udGV4dDo6ZnJvbSk6CisgICAgICAgIChXZWJDb3Jl
OjpEYXRhYmFzZUNvbnRleHQ6OmFsbG93RGF0YWJhc2VBY2Nlc3MpOgorICAgICAgICAoV2ViQ29y
ZSk6CisgICAgICAgIChXZWJDb3JlOjpEYXRhYmFzZUNvbnRleHQ6OmRhdGFiYXNlRXhjZWVkZWRR
dW90YSk6CisgICAgICAgICogc3RvcmFnZS9EYXRhYmFzZUNvbnRleHQuaDoKKyAgICAgICAgKERh
dGFiYXNlQ29udGV4dCk6CisgICAgICAgICogc3RvcmFnZS9EYXRhYmFzZVRyYWNrZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RGF0YWJhc2VUcmFja2VyOjpjYW5Fc3RhYmxpc2hEYXRhYmFzZSk6
CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFuc2FjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTUUxUcmFuc2FjdGlvbjo6ZXhlY3V0ZVNRTCk6CisgICAgICAgICogc3RvcmFnZS9TUUxUcmFu
c2FjdGlvbkNsaWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTUUxUcmFuc2FjdGlvbkNsaWVu
dDo6ZGlkRXhjZWVkUXVvdGEpOgorICAgICAgICAqIHN0b3JhZ2UvU1FMVHJhbnNhY3Rpb25TeW5j
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNRTFRyYW5zYWN0aW9uU3luYzo6ZXhlY3V0ZVNRTCk6
CisgICAgICAgICogd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAqIHdvcmtlcnMvV29ya2VyQ29udGV4dC5oOgorICAgICAgICAoV29ya2VyQ29u
dGV4dCk6CisKIDIwMTItMDMtMDIgIFcuIEphbWVzIE1hY0xlYW4gIDx3am1hY2xlYW5AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gUmVtb3ZlIFRSQUNFX0VWRU5UIGZyb20gQ0NR
dWFkQ3VsbGVyOjpjdWxsT2NjbHVkZWRRdWFkcy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9E
b2N1bWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNw
cAkocmV2aXNpb24gMTA5NjAxKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDczNiwyNCArNDczNiw2IEBAIHZvaWQgRG9jdW1lbnQ6OnNldFNl
Y3VyaXR5T3JpZ2luKFBhc3NSZWYKICAgICBTZWN1cml0eUNvbnRleHQ6OnNldFNlY3VyaXR5T3Jp
Z2luKG9yaWdpbik7CiB9CiAKLSNpZiBFTkFCTEUoU1FMX0RBVEFCQVNFKQotCi1ib29sIERvY3Vt
ZW50OjphbGxvd0RhdGFiYXNlQWNjZXNzKCkgY29uc3QKLXsKLSAgICBpZiAoIXBhZ2UoKSB8fCAo
cGFnZSgpLT5zZXR0aW5ncygpLT5wcml2YXRlQnJvd3NpbmdFbmFibGVkKCkgJiYgIVNjaGVtZVJl
Z2lzdHJ5OjphbGxvd3NEYXRhYmFzZUFjY2Vzc0luUHJpdmF0ZUJyb3dzaW5nKHNlY3VyaXR5T3Jp
Z2luKCktPnByb3RvY29sKCkpKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIHJldHVybiB0
cnVlOwotfQotCi12b2lkIERvY3VtZW50OjpkYXRhYmFzZUV4Y2VlZGVkUXVvdGEoY29uc3QgU3Ry
aW5nJiBuYW1lKQotewotICAgIFBhZ2UqIGN1cnJlbnRQYWdlID0gcGFnZSgpOwotICAgIGlmIChj
dXJyZW50UGFnZSkKLSAgICAgICAgY3VycmVudFBhZ2UtPmNocm9tZSgpLT5jbGllbnQoKS0+ZXhj
ZWVkZWREYXRhYmFzZVF1b3RhKGRvY3VtZW50KCktPmZyYW1lKCksIG5hbWUpOwotfQotCi0jZW5k
aWYKLQogYm9vbCBEb2N1bWVudDo6aXNDb250ZXh0VGhyZWFkKCkgY29uc3QKIHsKICAgICByZXR1
cm4gaXNNYWluVGhyZWFkKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAkocmV2aXNpb24gMTA5
NjAxKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmgJKHdvcmtpbmcgY29weSkKQEAg
LTEwMjgsMTEgKzEwMjgsNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBwcm9jZXNzaW5nTG9hZEV2ZW50
KCkgY29uc3QgeyByZXR1cm4gbV9wcm9jZXNzaW5nTG9hZEV2ZW50OyB9CiAgICAgYm9vbCBsb2Fk
RXZlbnRGaW5pc2hlZCgpIGNvbnN0IHsgcmV0dXJuIG1fbG9hZEV2ZW50RmluaXNoZWQ7IH0KIAot
I2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCi0gICAgdmlydHVhbCBib29sIGFsbG93RGF0YWJhc2VB
Y2Nlc3MoKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZvaWQgZGF0YWJhc2VFeGNlZWRlZFF1b3RhKGNv
bnN0IFN0cmluZyYgbmFtZSk7Ci0jZW5kaWYKLQogICAgIHZpcnR1YWwgYm9vbCBpc0NvbnRleHRU
aHJlYWQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgaXNKU0V4ZWN1dGlvbkZvcmJpZGRlbigp
IGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9TY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1Nj
cmlwdEV4ZWN1dGlvbkNvbnRleHQuaAkocmV2aXNpb24gMTA5NjAxKQorKysgU291cmNlL1dlYkNv
cmUvZG9tL1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQuaAkod29ya2luZyBjb3B5KQpAQCAtNzAsMTAg
KzcwLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc0RvY3VtZW50KCkgY29uc3QgeyBy
ZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNXb3JrZXJDb250ZXh0KCkgY29uc3Qg
eyByZXR1cm4gZmFsc2U7IH0KIAotI2lmIEVOQUJMRShTUUxfREFUQUJBU0UpCi0gICAgdmlydHVh
bCBib29sIGFsbG93RGF0YWJhc2VBY2Nlc3MoKSBjb25zdCA9IDA7Ci0gICAgdmlydHVhbCB2b2lk
IGRhdGFiYXNlRXhjZWVkZWRRdW90YShjb25zdCBTdHJpbmcmIG5hbWUpID0gMDsKLSNlbmRpZgog
ICAgIHZpcnR1YWwgYm9vbCBpc0NvbnRleHRUaHJlYWQoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
CiAgICAgdmlydHVhbCBib29sIGlzSlNFeGVjdXRpb25Gb3JiaWRkZW4oKSBjb25zdCA9IDA7CiAK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VDb250ZXh0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlQ29udGV4dC5jcHAJKHJldmlz
aW9uIDEwOTYwMSkKKysrIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VDb250ZXh0LmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMzAsOSArMzAsMTcgQEAKIAogI2lmIEVOQUJMRShTUUxfREFU
QUJBU0UpCiAKKyNpbmNsdWRlICJDaHJvbWUuaCIKKyNpbmNsdWRlICJDaHJvbWVDbGllbnQuaCIK
ICNpbmNsdWRlICJEYXRhYmFzZS5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVGFzay5oIgogI2luY2x1
ZGUgIkRhdGFiYXNlVGhyZWFkLmgiCisjaW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyLmgiCisjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJQYWdlLmgiCisjaW5jbHVkZSAiU2NoZW1lUmVn
aXN0cnkuaCIKKyNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorI2luY2x1ZGUgIlNldHRpbmdz
LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNDEsOCArNDksOSBAQCBzdGF0aWMgRGF0
YWJhc2VDb250ZXh0KiBleGlzdGluZ0RhdGFiYXNlCiAgICAgcmV0dXJuIHN0YXRpY19jYXN0PERh
dGFiYXNlQ29udGV4dCo+KFN1cHBsZW1lbnQ8U2NyaXB0RXhlY3V0aW9uQ29udGV4dD46OmZyb20o
Y29udGV4dCwgIkRhdGFiYXNlQ29udGV4dCIpKTsKIH0KIAotRGF0YWJhc2VDb250ZXh0OjpEYXRh
YmFzZUNvbnRleHQoKQotICAgIDogbV9oYXNPcGVuRGF0YWJhc2VzKGZhbHNlKQorRGF0YWJhc2VD
b250ZXh0OjpEYXRhYmFzZUNvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCkK
KyAgICA6IG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dChjb250ZXh0KQorICAgICwgbV9oYXNPcGVu
RGF0YWJhc2VzKGZhbHNlKQogewogfQogCkBAIC01OCw3ICs2Nyw3IEBAIERhdGFiYXNlQ29udGV4
dCogRGF0YWJhc2VDb250ZXh0Ojpmcm9tKFMKIHsKICAgICBEYXRhYmFzZUNvbnRleHQqIHN1cHBs
ZW1lbnQgPSBleGlzdGluZ0RhdGFiYXNlQ29udGV4dEZyb20oY29udGV4dCk7CiAgICAgaWYgKCFz
dXBwbGVtZW50KSB7Ci0gICAgICAgIHN1cHBsZW1lbnQgPSBuZXcgRGF0YWJhc2VDb250ZXh0KCk7
CisgICAgICAgIHN1cHBsZW1lbnQgPSBuZXcgRGF0YWJhc2VDb250ZXh0KGNvbnRleHQpOwogICAg
ICAgICBwcm92aWRlVG8oY29udGV4dCwgIkRhdGFiYXNlQ29udGV4dCIsIGFkb3B0UHRyKHN1cHBs
ZW1lbnQpKTsKICAgICAgICAgQVNTRVJUKHN1cHBsZW1lbnQgPT0gZXhpc3RpbmdEYXRhYmFzZUNv
bnRleHRGcm9tKGNvbnRleHQpKTsKICAgICB9CkBAIC0xMDAsNiArMTA5LDM1IEBAIHZvaWQgRGF0
YWJhc2VDb250ZXh0OjpzdG9wRGF0YWJhc2VzKFNjcmkKICAgICAgICAgY2xlYW51cFN5bmMtPnRh
c2tDb21wbGV0ZWQoKTsKIH0KIAorYm9vbCBEYXRhYmFzZUNvbnRleHQ6OmFsbG93RGF0YWJhc2VB
Y2Nlc3MoKSBjb25zdAoreworICAgIGlmIChtX3NjcmlwdEV4ZWN1dGlvbkNvbnRleHQtPmlzRG9j
dW1lbnQoKSkgeworICAgICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSBzdGF0aWNfY2FzdDxEb2N1
bWVudCo+KG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dCk7CisgICAgICAgIGlmICghZG9jdW1lbnQt
PnBhZ2UoKSB8fCAoZG9jdW1lbnQtPnBhZ2UoKS0+c2V0dGluZ3MoKS0+cHJpdmF0ZUJyb3dzaW5n
RW5hYmxlZCgpICYmICFTY2hlbWVSZWdpc3RyeTo6YWxsb3dzRGF0YWJhc2VBY2Nlc3NJblByaXZh
dGVCcm93c2luZyhkb2N1bWVudC0+c2VjdXJpdHlPcmlnaW4oKS0+cHJvdG9jb2woKSkpKQorICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAg
QVNTRVJUKG1fc2NyaXB0RXhlY3V0aW9uQ29udGV4dC0+aXNXb3JrZXJDb250ZXh0KCkpOworICAg
IC8vIGFsbG93RGF0YWJhc2VBY2Nlc3MgaXMgbm90IHlldCBpbXBsZW1lbnRlZCBmb3Igd29ya2Vy
cy4KKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBEYXRhYmFzZUNvbnRleHQ6OmRhdGFiYXNl
RXhjZWVkZWRRdW90YShjb25zdCBTdHJpbmcmIG5hbWUpCit7CisgICAgaWYgKG1fc2NyaXB0RXhl
Y3V0aW9uQ29udGV4dC0+aXNEb2N1bWVudCgpKSB7CisgICAgICAgIERvY3VtZW50KiBkb2N1bWVu
dCA9IHN0YXRpY19jYXN0PERvY3VtZW50Kj4obV9zY3JpcHRFeGVjdXRpb25Db250ZXh0KTsKKyAg
ICAgICAgaWYgKFBhZ2UqIHBhZ2UgPSBkb2N1bWVudC0+cGFnZSgpKQorICAgICAgICAgICAgcGFn
ZS0+Y2hyb21lKCktPmNsaWVudCgpLT5leGNlZWRlZERhdGFiYXNlUXVvdGEoZG9jdW1lbnQtPmZy
YW1lKCksIG5hbWUpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIEFTU0VSVChtX3Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQtPmlzV29ya2VyQ29udGV4dCgpKTsKKyNpZiAhUExBVEZPUk0oQ0hS
T01JVU0pCisgICAgLy8gRklYTUU6IFRoaXMgbmVlZHMgYSByZWFsIGltcGxlbWVudGF0aW9uOyB0
aGlzIGlzIGEgdGVtcG9yYXJ5IHNvbHV0aW9uIGZvciB0ZXN0aW5nLgorICAgIGNvbnN0IHVuc2ln
bmVkIGxvbmcgbG9uZyBkZWZhdWx0UXVvdGEgPSA1ICogMTAyNCAqIDEwMjQ7CisgICAgRGF0YWJh
c2VUcmFja2VyOjp0cmFja2VyKCkuc2V0UXVvdGEobV9zY3JpcHRFeGVjdXRpb25Db250ZXh0LT5z
ZWN1cml0eU9yaWdpbigpLCBkZWZhdWx0UXVvdGEpOworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShTUUxfREFUQUJBU0UpCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL0RhdGFiYXNlQ29udGV4dC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VDb250ZXh0LmgJKHJldmlzaW9uIDEwOTYwMSkKKysr
IFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VDb250ZXh0LmgJKHdvcmtpbmcgY29weSkK
QEAgLTUzLDkgKzUzLDEzIEBAIHB1YmxpYzoKICAgICAvLyBXaGVuIHRoZSBkYXRhYmFzZSBjbGVh
bnVwIGlzIGRvbmUsIGNsZWFudXBTeW5jIHdpbGwgYmUgc2lnbmFsbGVkLgogICAgIHN0YXRpYyB2
b2lkIHN0b3BEYXRhYmFzZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCosIERhdGFiYXNlVGFza1N5
bmNocm9uaXplciopOwogCisgICAgYm9vbCBhbGxvd0RhdGFiYXNlQWNjZXNzKCkgY29uc3Q7Cisg
ICAgdm9pZCBkYXRhYmFzZUV4Y2VlZGVkUXVvdGEoY29uc3QgU3RyaW5nJiBuYW1lKTsKKwogcHJp
dmF0ZToKLSAgICBEYXRhYmFzZUNvbnRleHQoKTsKKyAgICBleHBsaWNpdCBEYXRhYmFzZUNvbnRl
eHQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopOwogCisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogbV9zY3JpcHRFeGVjdXRpb25Db250ZXh0OwogICAgIFJlZlB0cjxEYXRhYmFzZVRocmVhZD4g
bV9kYXRhYmFzZVRocmVhZDsKICAgICBib29sIG1faGFzT3BlbkRhdGFiYXNlczsgLy8gVGhpcyBu
ZXZlciBjaGFuZ2VzIGJhY2sgdG8gZmFsc2UsIGV2ZW4gYWZ0ZXIgdGhlIGRhdGFiYXNlIHRocmVh
ZCBpcyBjbG9zZWQuCiB9OwpJbmRleDogU291cmNlL1dlYkNvcmUvc3RvcmFnZS9EYXRhYmFzZVRy
YWNrZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvRGF0YWJhc2VU
cmFja2VyLmNwcAkocmV2aXNpb24gMTA5NjAxKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9E
YXRhYmFzZVRyYWNrZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNCw2ICszNCw3IEBACiAjaW5j
bHVkZSAiQWJzdHJhY3REYXRhYmFzZS5oIgogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUg
IkNocm9tZUNsaWVudC5oIgorI2luY2x1ZGUgIkRhdGFiYXNlQ29udGV4dC5oIgogI2luY2x1ZGUg
IkRhdGFiYXNlVGhyZWFkLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VUcmFja2VyQ2xpZW50LmgiCiAj
aW5jbHVkZSAiTG9nZ2luZy5oIgpAQCAtMTc1LDcgKzE3Niw3IEBAIGJvb2wgRGF0YWJhc2VUcmFj
a2VyOjpjYW5Fc3RhYmxpc2hEYXRhYmEKICAgICAgICAgbV9wcm9wb3NlZERhdGFiYXNlcy5hZGQo
JmRldGFpbHMpOwogICAgIH0KICAgICAvLyBEcm9wIGFsbCBsb2NrcyBiZWZvcmUgY2FsbGluZyBv
dXQ7IHdlIGRvbid0IGtub3cgd2hhdCB0aGV5J2xsIGRvLgotICAgIGNvbnRleHQtPmRhdGFiYXNl
RXhjZWVkZWRRdW90YShuYW1lKTsKKyAgICBEYXRhYmFzZUNvbnRleHQ6OmZyb20oY29udGV4dCkt
PmRhdGFiYXNlRXhjZWVkZWRRdW90YShuYW1lKTsKIAogICAgIE11dGV4TG9ja2VyIGxvY2tEYXRh
YmFzZShtX2RhdGFiYXNlR3VhcmQpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NR
TFRyYW5zYWN0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NR
TFRyYW5zYWN0aW9uLmNwcAkocmV2aXNpb24gMTA5NjAxKQorKysgU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9TUUxUcmFuc2FjdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTk4LDcgKzk4LDcgQEAg
dm9pZCBTUUxUcmFuc2FjdGlvbjo6ZXhlY3V0ZVNRTChjb25zdCBTdAogICAgIH0KIAogICAgIGlu
dCBwZXJtaXNzaW9ucyA9IERhdGFiYXNlQXV0aG9yaXplcjo6UmVhZFdyaXRlTWFzazsKLSAgICBp
ZiAoIW1fZGF0YWJhc2UtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWxsb3dEYXRhYmFzZUFj
Y2VzcygpKQorICAgIGlmICghbV9kYXRhYmFzZS0+ZGF0YWJhc2VDb250ZXh0KCktPmFsbG93RGF0
YWJhc2VBY2Nlc3MoKSkKICAgICAgICAgcGVybWlzc2lvbnMgfD0gRGF0YWJhc2VBdXRob3JpemVy
OjpOb0FjY2Vzc01hc2s7CiAgICAgZWxzZSBpZiAobV9yZWFkT25seSkKICAgICAgICAgcGVybWlz
c2lvbnMgfD0gRGF0YWJhc2VBdXRob3JpemVyOjpSZWFkT25seU1hc2s7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uQ2xpZW50LmNwcAkocmV2aXNpb24g
MTA5NjAxKQorKysgU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvbkNsaWVudC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogCiAjaW5jbHVkZSAiQWJzdHJhY3REYXRhYmFzZS5oIgorI2luY2x1ZGUgIkRhdGFiYXNl
Q29udGV4dC5oIgogI2luY2x1ZGUgIkRhdGFiYXNlVHJhY2tlci5oIgogI2luY2x1ZGUgIlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgpAQCAtNTUs
NyArNTYsNyBAQCBib29sIFNRTFRyYW5zYWN0aW9uQ2xpZW50OjpkaWRFeGNlZWRRdW90CiB7CiAg
ICAgQVNTRVJUKGRhdGFiYXNlLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmlzQ29udGV4dFRo
cmVhZCgpKTsKICAgICB1bnNpZ25lZCBsb25nIGxvbmcgY3VycmVudFF1b3RhID0gRGF0YWJhc2VU
cmFja2VyOjp0cmFja2VyKCkucXVvdGFGb3JPcmlnaW4oZGF0YWJhc2UtPnNlY3VyaXR5T3JpZ2lu
KCkpOwotICAgIGRhdGFiYXNlLT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmRhdGFiYXNlRXhj
ZWVkZWRRdW90YShkYXRhYmFzZS0+c3RyaW5nSWRlbnRpZmllcigpKTsKKyAgICBkYXRhYmFzZS0+
ZGF0YWJhc2VDb250ZXh0KCktPmRhdGFiYXNlRXhjZWVkZWRRdW90YShkYXRhYmFzZS0+c3RyaW5n
SWRlbnRpZmllcigpKTsKICAgICB1bnNpZ25lZCBsb25nIGxvbmcgbmV3UXVvdGEgPSBEYXRhYmFz
ZVRyYWNrZXI6OnRyYWNrZXIoKS5xdW90YUZvck9yaWdpbihkYXRhYmFzZS0+c2VjdXJpdHlPcmln
aW4oKSk7CiAgICAgcmV0dXJuIChuZXdRdW90YSA+IGN1cnJlbnRRdW90YSk7CiB9CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uU3luYy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TUUxUcmFuc2FjdGlvblN5bmMuY3BwCShyZXZpc2lv
biAxMDk2MDEpCisrKyBTb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1NRTFRyYW5zYWN0aW9uU3luYy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTM0LDYgKzM0LDcgQEAKICNpZiBFTkFCTEUoU1FMX0RBVEFC
QVNFKQogCiAjaW5jbHVkZSAiRGF0YWJhc2VBdXRob3JpemVyLmgiCisjaW5jbHVkZSAiRGF0YWJh
c2VDb250ZXh0LmgiCiAjaW5jbHVkZSAiRGF0YWJhc2VTeW5jLmgiCiAjaW5jbHVkZSAiUGxhdGZv
cm1TdHJpbmcuaCIKICNpbmNsdWRlICJTUUxFeGNlcHRpb24uaCIKQEAgLTk0LDcgKzk1LDcgQEAg
UGFzc1JlZlB0cjxTUUxSZXN1bHRTZXQ+IFNRTFRyYW5zYWN0aW9uUwogICAgICAgICByZXR1cm4g
MDsKIAogICAgIGludCBwZXJtaXNzaW9ucyA9IERhdGFiYXNlQXV0aG9yaXplcjo6UmVhZFdyaXRl
TWFzazsKLSAgICBpZiAoIW1fZGF0YWJhc2UtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWxs
b3dEYXRhYmFzZUFjY2VzcygpKQorICAgIGlmICghbV9kYXRhYmFzZS0+ZGF0YWJhc2VDb250ZXh0
KCktPmFsbG93RGF0YWJhc2VBY2Nlc3MoKSkKICAgICAgIHBlcm1pc3Npb25zIHw9IERhdGFiYXNl
QXV0aG9yaXplcjo6Tm9BY2Nlc3NNYXNrOwogICAgIGVsc2UgaWYgKG1fcmVhZE9ubHkpCiAgICAg
ICBwZXJtaXNzaW9ucyB8PSBEYXRhYmFzZUF1dGhvcml6ZXI6OlJlYWRPbmx5TWFzazsKSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2VyQ29udGV4dC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAkocmV2aXNpb24gMTA5NjAx
KQorKysgU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250ZXh0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzE5LDE1ICszMTksNiBAQCBQYXNzUmVmUHRyPERhdGFiYXNlPiBXb3JrZXJDb250
ZXh0OjpvcGVuCiAgICAgcmV0dXJuIERhdGFiYXNlOjpvcGVuRGF0YWJhc2UodGhpcywgbmFtZSwg
dmVyc2lvbiwgZGlzcGxheU5hbWUsIGVzdGltYXRlZFNpemUsIGNyZWF0aW9uQ2FsbGJhY2ssIGVj
KTsKIH0KIAotdm9pZCBXb3JrZXJDb250ZXh0OjpkYXRhYmFzZUV4Y2VlZGVkUXVvdGEoY29uc3Qg
U3RyaW5nJikKLXsKLSNpZiAhUExBVEZPUk0oQ0hST01JVU0pCi0gICAgLy8gRklYTUU6IFRoaXMg
bmVlZHMgYSByZWFsIGltcGxlbWVudGF0aW9uOyB0aGlzIGlzIGEgdGVtcG9yYXJ5IHNvbHV0aW9u
IGZvciB0ZXN0aW5nLgotICAgIGNvbnN0IHVuc2lnbmVkIGxvbmcgbG9uZyBkZWZhdWx0UXVvdGEg
PSA1ICogMTAyNCAqIDEwMjQ7Ci0gICAgRGF0YWJhc2VUcmFja2VyOjp0cmFja2VyKCkuc2V0UXVv
dGEoc2VjdXJpdHlPcmlnaW4oKSwgZGVmYXVsdFF1b3RhKTsKLSNlbmRpZgotfQotCiBQYXNzUmVm
UHRyPERhdGFiYXNlU3luYz4gV29ya2VyQ29udGV4dDo6b3BlbkRhdGFiYXNlU3luYyhjb25zdCBT
dHJpbmcmIG5hbWUsIGNvbnN0IFN0cmluZyYgdmVyc2lvbiwgY29uc3QgU3RyaW5nJiBkaXNwbGF5
TmFtZSwgdW5zaWduZWQgbG9uZyBlc3RpbWF0ZWRTaXplLCBQYXNzUmVmUHRyPERhdGFiYXNlQ2Fs
bGJhY2s+IGNyZWF0aW9uQ2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmIGVjKQogewogICAgIGlmICgh
c2VjdXJpdHlPcmlnaW4oKS0+Y2FuQWNjZXNzRGF0YWJhc2UoKSB8fCAhQWJzdHJhY3REYXRhYmFz
ZTo6aXNBdmFpbGFibGUoKSkgewpJbmRleDogU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJD
b250ZXh0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvd29ya2Vycy9Xb3JrZXJDb250
ZXh0LmgJKHJldmlzaW9uIDEwOTYwMSkKKysrIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvV29ya2Vy
Q29udGV4dC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMTYsMTEgKzExNiw2IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICAgICAgLy8gSFRNTCA1IGNsaWVudC1zaWRlIGRhdGFiYXNlCiAgICAgICAg
IFBhc3NSZWZQdHI8RGF0YWJhc2U+IG9wZW5EYXRhYmFzZShjb25zdCBTdHJpbmcmIG5hbWUsIGNv
bnN0IFN0cmluZyYgdmVyc2lvbiwgY29uc3QgU3RyaW5nJiBkaXNwbGF5TmFtZSwgdW5zaWduZWQg
bG9uZyBlc3RpbWF0ZWRTaXplLCBQYXNzUmVmUHRyPERhdGFiYXNlQ2FsbGJhY2s+IGNyZWF0aW9u
Q2FsbGJhY2ssIEV4Y2VwdGlvbkNvZGUmKTsKICAgICAgICAgUGFzc1JlZlB0cjxEYXRhYmFzZVN5
bmM+IG9wZW5EYXRhYmFzZVN5bmMoY29uc3QgU3RyaW5nJiBuYW1lLCBjb25zdCBTdHJpbmcmIHZl
cnNpb24sIGNvbnN0IFN0cmluZyYgZGlzcGxheU5hbWUsIHVuc2lnbmVkIGxvbmcgZXN0aW1hdGVk
U2l6ZSwgUGFzc1JlZlB0cjxEYXRhYmFzZUNhbGxiYWNrPiBjcmVhdGlvbkNhbGxiYWNrLCBFeGNl
cHRpb25Db2RlJik7Ci0KLSAgICAgICAgLy8gTm90IGltcGxlbWVudGVkIHlldC4KLSAgICAgICAg
dmlydHVhbCBib29sIGFsbG93RGF0YWJhc2VBY2Nlc3MoKSBjb25zdCB7IHJldHVybiB0cnVlOyB9
Ci0gICAgICAgIC8vIE5vdCBpbXBsZW1lbnRlZCBmb3IgcmVhbCB5ZXQuCi0gICAgICAgIHZpcnR1
YWwgdm9pZCBkYXRhYmFzZUV4Y2VlZGVkUXVvdGEoY29uc3QgU3RyaW5nJik7CiAjZW5kaWYKICAg
ICAgICAgdmlydHVhbCBib29sIGlzQ29udGV4dFRocmVhZCgpIGNvbnN0OwogICAgICAgICB2aXJ0
dWFsIGJvb2wgaXNKU0V4ZWN1dGlvbkZvcmJpZGRlbigpIGNvbnN0Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>