<?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>85044</bug_id>
          
          <creation_ts>2012-04-27 02:56:08 -0700</creation_ts>
          <short_desc>[BlackBerry] Support html5 download attribute</short_desc>
          <delta_ts>2012-05-06 21:09:01 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit BlackBerry</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mary Wu">mawu</reporter>
          <assigned_to name="Mary Wu">mawu</assigned_to>
          <cc>joenotcharles</cc>
    
    <cc>leo.yang</cc>
    
    <cc>liachen</cc>
    
    <cc>logingx</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>611341</commentid>
    <comment_count>0</comment_count>
    <who name="Mary Wu">mawu</who>
    <bug_when>2012-04-27 02:56:08 -0700</bug_when>
    <thetext>The Spec:
======================================
4.12.4 Downloading resources

In some cases, resources are intended for later use rather than immediate
viewing. To indicate that a resource is intended to be downloaded for use
later, rather than immediately used, the download attribute can be specified on
the a or area element that creates the hyperlink to that resource.

The attribute can furthermore be given a value, to specify the filename that
user agents are to use when storing the resource in a file system. This value
can be overridden by the Content-Disposition HTTP header&apos;s filename parameters.
[RFC6266]

Steps to Reproduce:
=======================================
1. Navigate to
http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download
with PlayBook browser
2. Click the &quot;download me&quot; hyper-link in the page. The HTML for it:
&lt;a href=&quot;http://www.google.com/.../logo2w.png&quot; download=&quot;MyGoogleLogo&quot;&gt;download
me&lt;/a&gt;

Expected result:
=======================================
The download dialogue will pop up with file name as &quot;MyGoogleLogo.png&quot;, which
is the value of the download attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>611358</commentid>
    <comment_count>1</comment_count>
      <attachid>139163</attachid>
    <who name="Mary Wu">mawu</who>
    <bug_when>2012-04-27 03:22:06 -0700</bug_when>
    <thetext>Created attachment 139163
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612122</commentid>
    <comment_count>2</comment_count>
    <who name="Joe Mason">joenotcharles</who>
    <bug_when>2012-04-27 20:37:41 -0700</bug_when>
    <thetext>setSuggestSaveName should be setSuggestedSaveName. Too tired to look at the rest right now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>612602</commentid>
    <comment_count>3</comment_count>
    <who name="Lyon Chen">liachen</who>
    <bug_when>2012-04-30 07:10:26 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=139163) [details]
&gt; Patch

Looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>613875</commentid>
    <comment_count>4</comment_count>
    <who name="Chris.Guan">logingx</who>
    <bug_when>2012-05-01 19:07:44 -0700</bug_when>
    <thetext>Mary, did you test CrossThreadResourceRequestData or redirect?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614288</commentid>
    <comment_count>5</comment_count>
    <who name="Joe Mason">joenotcharles</who>
    <bug_when>2012-05-02 07:35:03 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Mary, did you test CrossThreadResourceRequestData or redirect?
 
Good catch - the new member variable needs to be added to that too.  Also I just noticed it&apos;s missing m_overrideContentType and m_targetType.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614896</commentid>
    <comment_count>6</comment_count>
    <who name="Mary Wu">mawu</who>
    <bug_when>2012-05-02 18:20:40 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; Mary, did you test CrossThreadResourceRequestData or redirect?
&gt; 
&gt; Good catch - the new member variable needs to be added to that too.  Also I just noticed it&apos;s missing m_overrideContentType and m_targetType.

thanks, will add in CrossThreadResourceRequestData. also for the missing members, will create separate pr to track.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614921</commentid>
    <comment_count>7</comment_count>
      <attachid>139936</attachid>
    <who name="Mary Wu">mawu</who>
    <bug_when>2012-05-02 18:40:46 -0700</bug_when>
    <thetext>Created attachment 139936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>614943</commentid>
    <comment_count>8</comment_count>
    <who name="Joe Mason">joenotcharles</who>
    <bug_when>2012-05-02 19:25:52 -0700</bug_when>
    <thetext>LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615819</commentid>
    <comment_count>9</comment_count>
      <attachid>139936</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-03 17:29:25 -0700</bug_when>
    <thetext>Comment on attachment 139936
Patch

Rejecting attachment 139936 from commit-queue.

mary.wu@torchmobile.com.cn does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>615943</commentid>
    <comment_count>10</comment_count>
      <attachid>139936</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-03 21:25:05 -0700</bug_when>
    <thetext>Comment on attachment 139936
Patch

Rejecting attachment 139936 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: 2

Last 500 characters of output:
ED at 244.
2 out of 3 hunks FAILED -- saving rejects to file Source/WebCore/platform/network/blackberry/ResourceRequestBlackBerry.cpp.rej
patching file Source/WebKit/blackberry/Api/WebPage.cpp
patching file Source/WebKit/blackberry/Api/WebPage_p.h
patching file Source/WebKit/blackberry/WebCoreSupport/FrameLoaderClientBlackBerry.cpp

Failed to run &quot;[u&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/svn-apply&apos;, u&apos;--force&apos;, u&apos;--reviewer&apos;, u&apos;Antonio Go...&quot; exit_code: 1 cwd: /mnt/git/webkit-commit-queue/

Full output: http://queues.webkit.org/results/12507050</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617321</commentid>
    <comment_count>11</comment_count>
      <attachid>140462</attachid>
    <who name="Mary Wu">mawu</who>
    <bug_when>2012-05-06 20:10:27 -0700</bug_when>
    <thetext>Created attachment 140462
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617352</commentid>
    <comment_count>12</comment_count>
      <attachid>140462</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-06 21:08:56 -0700</bug_when>
    <thetext>Comment on attachment 140462
Patch

Clearing flags on attachment: 140462

Committed r116265: &lt;http://trac.webkit.org/changeset/116265&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>617353</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-05-06 21:09:01 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139163</attachid>
            <date>2012-04-27 03:22:06 -0700</date>
            <delta_ts>2012-05-02 18:40:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85044-20120427182203.patch</filename>
            <type>text/plain</type>
            <size>9854</size>
            <attacher name="Mary Wu">mawu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1NDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjFmYzhhZjJhY2Y4YmZk
MjZmMDk5OGNlMjQ5NjJkMGI3OThiYzBjZC4uYmY3MzY0MTAzMWRlNDIzY2YzZTE1MGNmZTI5NTFj
M2FjMTU2ODc5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA0LTI3ICBNYXJ5
IFd1ICA8bWFyeS53dUB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IFN1cHBvcnQgaHRtbDUgZG93bmxvYWQgYXR0cmlidXRlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODUwNDQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXNzIGRvd25sb2FkIGF0dHJpYnV0ZSBmaWxlbmFt
ZSB0byBuZXR3b3JrSm9iIGFuZCBpdCBjb3VsZCBiZQorICAgICAgICBvdmVycmlkZGVuIGJ5IHRo
ZSBDb250ZW50LURpc3Bvc2l0aW9uIEhUVFAgaGVhZGVyJ3MgZmlsZW5hbWUgcGFyYW1ldGVyLgor
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6aW5pdGlhbGl6ZSk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L1Jlc291cmNlUmVxdWVzdC5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0OjpzZXRTdWdnZXN0U2F2ZU5hbWUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0OjpzdWdnZXN0U2F2ZU5hbWUpOgorICAgICAgICAoUmVzb3Vy
Y2VSZXF1ZXN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvUmVzb3Vy
Y2VSZXF1ZXN0QmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3Q6OmluaXRpYWxpemVQbGF0Zm9ybVJlcXVlc3QpOgorCiAyMDEyLTA0LTI2ICBBZHJpZW5uZSBX
YWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgdW51
c2VkIENDTGF5ZXJJbXBsOjpkZWJ1Z0lEKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmlu
ZGV4IDYwNGUxOGQ4NjIyNzExYWNhMjA3MzhkY2Q3Mjc2YjMwNDVkNDdmMmEuLjYzNWY4ZDBhY2Zk
YWQ2NGY4YjI2OTA3NDAxYTNlNGI3Y2VjMWJiN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA0LTI3ICBNYXJ5IFd1ICA8bWFyeS53dUB0b3Jj
aG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNrQmVycnldIFN1cHBvcnQgaHRtbDUgZG93
bmxvYWQgYXR0cmlidXRlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODUwNDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJZiBhIGxpbmsgaGFzIGRvd25sb2FkIGF0dHJpYnV0ZSwgd2Ugc2hvdWxkIHBhc3Mg
dGhhdCB2YWx1ZSBhbmQgYmUgYWJsZSB0bworICAgICAgICBzYXZlIGZpbGUgd2l0aCB0aGUgbmFt
ZSBhY2NvcmRpbmcgdG8gSFRNTDU6CisgICAgICAgIGh0dHA6Ly91cGRhdGVzLmh0bWw1cm9ja3Mu
Y29tLzIwMTEvMDgvRG93bmxvYWRpbmctcmVzb3VyY2VzLWluLUhUTUw1LWEtZG93bmxvYWQKKwor
ICAgICAgICAqIEFwaS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6
V2ViUGFnZVByaXZhdGU6OmxvYWQpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQ
YWdlOjpkb3dubG9hZCk6CisgICAgICAgICogQXBpL1dlYlBhZ2VfcC5oOgorICAgICAgICAoV2Vi
UGFnZVByaXZhdGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
QmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEJsYWNr
QmVycnk6OnN0YXJ0RG93bmxvYWQpOgorCiAyMDEyLTA0LTI2ICBZb25nIExpICA8eW9saUByaW0u
Y29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBBIHF1aWNrIGZpeCB0byB0aGUgcHJldmlvdXMg
cGF0Y2ggcjExNTI0NS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcAppbmRleCBhMGM4YmFmNmJkZjU4ZjNkZDlk
Yzc4ZDc1ZWEzNTk0ZGVmZWFjOThiLi44YmQwMDZiOTVmNjlkZGFhYzI2MWQ1NjE2MmY5MjU4NzVm
NGE0NmYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNr
YmVycnkvTmV0d29ya0pvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwCkBAIC0xNjQsNiArMTY0LDExIEBAIGJvb2wgTmV0
d29ya0pvYjo6aW5pdGlhbGl6ZShpbnQgcGxheWVySWQsCiAgICAgaWYgKG1faXNEYXRhIHx8IG1f
aXNBYm91dCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICBpZiAoIXJlcXVlc3QuZ2V0U3Vn
Z2VzdFNhdmVOYW1lKCkuZW1wdHkoKSkgeworICAgICAgICBtX2NvbnRlbnREaXNwb3NpdGlvbiA9
ICJmaWxlbmFtZT0iOworICAgICAgICBtX2NvbnRlbnREaXNwb3NpdGlvbiArPSByZXF1ZXN0Lmdl
dFN1Z2dlc3RTYXZlTmFtZSgpLmNfc3RyKCk7CisgICAgfQorCiAgICAgQmxhY2tCZXJyeTo6UGxh
dGZvcm06OkZpbHRlclN0cmVhbSogd3JhcHBlZFN0cmVhbSA9IG1fc3RyZWFtRmFjdG9yeS0+Y3Jl
YXRlTmV0d29ya1N0cmVhbShyZXF1ZXN0LCBtX3BsYXllcklkKTsKICAgICBpZiAoIXdyYXBwZWRT
dHJlYW0pCiAgICAgICAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9SZXNvdXJjZVJlcXVlc3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9SZXNvdXJjZVJlcXVlc3QuaAppbmRl
eCBmZTlkZTY2NDM3MDQ2N2Y3YzFhMjViMGY0ZDNhNWIyMWRiMjY5YTM3Li42NTQzZGQ3Y2E0NjFk
NWZlMzlkYTJmMTU2YzU3ZGRjOTkzYTcyZWRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvUmVzb3VyY2VSZXF1ZXN0LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L1Jlc291cmNlUmVxdWVzdC5oCkBA
IC0xMTcsNiArMTE3LDggQEAgcHVibGljOgogICAgIHZvaWQgaW5pdGlhbGl6ZVBsYXRmb3JtUmVx
dWVzdChCbGFja0JlcnJ5OjpQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3QmLCBib29sIGNvb2tpZXNF
bmFibGVkLCBib29sIGlzSW5pdGlhbCA9IGZhbHNlLCBib29sIGlzUmVkaXJlY3QgPSBmYWxzZSkg
Y29uc3Q7CiAgICAgdm9pZCBzZXRGb3JjZURvd25sb2FkKGJvb2wgZm9yY2VEb3dubG9hZCkgeyBt
X2ZvcmNlRG93bmxvYWQgPSB0cnVlOyB9CiAgICAgYm9vbCBmb3JjZURvd25sb2FkKCkgY29uc3Qg
eyByZXR1cm4gbV9mb3JjZURvd25sb2FkOyB9CisgICAgdm9pZCBzZXRTdWdnZXN0U2F2ZU5hbWUo
Y29uc3QgU3RyaW5nJiBuYW1lKSB7IG1fc3VnZ2VzdFNhdmVOYW1lID0gbmFtZTsgfQorICAgIFN0
cmluZyBzdWdnZXN0U2F2ZU5hbWUoKSBjb25zdCB7IHJldHVybiBtX3N1Z2dlc3RTYXZlTmFtZTsg
fQogCiAgICAgLy8gV2hhdCB0aGlzIHJlcXVlc3QgaXMgZm9yLgogICAgIFRhcmdldFR5cGUgdGFy
Z2V0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGFyZ2V0VHlwZTsgfQpAQCAtMTMzLDYgKzEzNSw3
IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fdG9rZW47CiAgICAgU3RyaW5nIG1fYW5jaG9yVGV4
dDsKICAgICBTdHJpbmcgbV9vdmVycmlkZUNvbnRlbnRUeXBlOworICAgIFN0cmluZyBtX3N1Z2dl
c3RTYXZlTmFtZTsKICAgICBib29sIG1faXNYTUxIVFRQUmVxdWVzdDsKICAgICBib29sIG1fbXVz
dEhhbmRsZUludGVybmFsbHk7CiAgICAgYm9vbCBtX2lzUmVxdWVzdGVkQnlQbHVnaW47CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvUmVzb3Vy
Y2VSZXF1ZXN0QmxhY2tCZXJyeS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2JsYWNrYmVycnkvUmVzb3VyY2VSZXF1ZXN0QmxhY2tCZXJyeS5jcHAKaW5kZXggOWEzNTBjMWNl
YjBiOGI0ZTEwMTE0NTE4ZjU0ZjIwYjExNzg1ZDc0NC4uZjQ5MDNlOGFhNDYwM2RjZGJhZTAxMDBh
ZDliM2MwYThlMTdiMzRjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9ibGFja2JlcnJ5L1Jlc291cmNlUmVxdWVzdEJsYWNrQmVycnkuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9SZXNvdXJjZVJlcXVlc3RCbGFj
a0JlcnJ5LmNwcApAQCAtMTU1LDYgKzE1NSw3IEBAIHZvaWQgUmVzb3VyY2VSZXF1ZXN0Ojppbml0
aWFsaXplUGxhdGZvcm1SZXF1ZXN0KE5ldHdvcmtSZXF1ZXN0JiBwbGF0Zm9ybVJlcXVlc3QsCiAg
ICAgICAgICAgICAgICAgdGltZW91dEludGVydmFsKCkpOwogCiAgICAgICAgIHBsYXRmb3JtUmVx
dWVzdC5zZXRDb25kaXRpb25hbChpc0NvbmRpdGlvbmFsKCkpOworICAgICAgICBwbGF0Zm9ybVJl
cXVlc3Quc2V0U3VnZ2VzdFNhdmVOYW1lKHN1Z2dlc3RTYXZlTmFtZSgpLnV0ZjgoKS5kYXRhKCkp
OwogCiAgICAgICAgIGlmIChodHRwQm9keSgpICYmICFodHRwQm9keSgpLT5pc0VtcHR5KCkpIHsK
ICAgICAgICAgICAgIGNvbnN0IFZlY3RvcjxGb3JtRGF0YUVsZW1lbnQ+JiBlbGVtZW50cyA9IGh0
dHBCb2R5KCktPmVsZW1lbnRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVy
cnkvQXBpL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdl
LmNwcAppbmRleCA4MzQ0YTY1OTQ4MjJjN2ZmMTNmNzQxN2E2NTgzMjY3NzU4N2I4ZTM2Li5jNGU5
MzUyZWJjOTI0ODQxNTk0MDVmNTI5ZWViNjM4MjdjZjBlN2RiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKQEAgLTU1Nyw3ICs1NTcsNyBAQCBwcml2YXRlOgogICAg
IH0KIH07CiAKLXZvaWQgV2ViUGFnZVByaXZhdGU6OmxvYWQoY29uc3QgY2hhciogdXJsLCBjb25z
dCBjaGFyKiBuZXR3b3JrVG9rZW4sIGNvbnN0IGNoYXIqIG1ldGhvZCwgUGxhdGZvcm06Ok5ldHdv
cmtSZXF1ZXN0OjpDYWNoZVBvbGljeSBjYWNoZVBvbGljeSwgY29uc3QgY2hhciogZGF0YSwgc2l6
ZV90IGRhdGFMZW5ndGgsIGNvbnN0IGNoYXIqIGNvbnN0KiBoZWFkZXJzLCBzaXplX3QgaGVhZGVy
c0xlbmd0aCwgYm9vbCBpc0luaXRpYWwsIGJvb2wgbXVzdEhhbmRsZUludGVybmFsbHksIGJvb2wg
Zm9yY2VEb3dubG9hZCwgY29uc3QgY2hhciogb3ZlcnJpZGVDb250ZW50VHlwZSkKK3ZvaWQgV2Vi
UGFnZVByaXZhdGU6OmxvYWQoY29uc3QgY2hhciogdXJsLCBjb25zdCBjaGFyKiBuZXR3b3JrVG9r
ZW4sIGNvbnN0IGNoYXIqIG1ldGhvZCwgUGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpDYWNoZVBv
bGljeSBjYWNoZVBvbGljeSwgY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIGNv
bnN0IGNoYXIqIGNvbnN0KiBoZWFkZXJzLCBzaXplX3QgaGVhZGVyc0xlbmd0aCwgYm9vbCBpc0lu
aXRpYWwsIGJvb2wgbXVzdEhhbmRsZUludGVybmFsbHksIGJvb2wgZm9yY2VEb3dubG9hZCwgY29u
c3QgY2hhciogb3ZlcnJpZGVDb250ZW50VHlwZSwgY29uc3QgY2hhciogZmlsZW5hbWUpCiB7CiAg
ICAgc3RvcEN1cnJlbnRMb2FkKCk7CiAgICAgRGVmZXJyZWRUYXNrTG9hZE1hbnVhbFNjcmlwdDo6
ZmluaXNoT3JDYW5jZWwodGhpcyk7CkBAIC02MDAsNiArNjAwLDggQEAgdm9pZCBXZWJQYWdlUHJp
dmF0ZTo6bG9hZChjb25zdCBjaGFyKiB1cmwsIGNvbnN0IGNoYXIqIG5ldHdvcmtUb2tlbiwgY29u
c3QgY2hhcioKICAgICBpZiAoZm9yY2VEb3dubG9hZCkKICAgICAgICAgcmVxdWVzdC5zZXRGb3Jj
ZURvd25sb2FkKHRydWUpOwogCisgICAgcmVxdWVzdC5zZXRTdWdnZXN0U2F2ZU5hbWUoZmlsZW5h
bWUpOworCiAgICAgbV9tYWluRnJhbWUtPmxvYWRlcigpLT5sb2FkKHJlcXVlc3QsICIiIC8qIG5h
bWUgKi8sIGZhbHNlKTsKIH0KIApAQCAtNjI2LDcgKzYyOCw3IEBAIHZvaWQgV2ViUGFnZTo6bG9h
ZEZpbGUoY29uc3QgY2hhciogcGF0aCwgY29uc3QgY2hhciogb3ZlcnJpZGVDb250ZW50VHlwZSkK
IAogdm9pZCBXZWJQYWdlOjpkb3dubG9hZChjb25zdCBQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Qm
IHJlcXVlc3QpCiB7Ci0gICAgZC0+bG9hZChyZXF1ZXN0LmdldFVybFJlZigpLmNfc3RyKCksIDAs
ICJHRVQiLCBQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q6OlVzZVByb3RvY29sQ2FjaGVQb2xpY3ks
IDAsIDAsIDAsIDAsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgIiIpOworICAgIGQtPmxvYWQocmVxdWVz
dC5nZXRVcmxSZWYoKS5jX3N0cigpLCAwLCAiR0VUIiwgUGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0
OjpVc2VQcm90b2NvbENhY2hlUG9saWN5LCAwLCAwLCAwLCAwLCBmYWxzZSwgZmFsc2UsIHRydWUs
ICIiLCByZXF1ZXN0LmdldFN1Z2dlc3RTYXZlTmFtZSgpLmNfc3RyKCkpOwogfQogCiB2b2lkIFdl
YlBhZ2VQcml2YXRlOjpsb2FkU3RyaW5nKGNvbnN0IGNoYXIqIHN0cmluZywgY29uc3QgY2hhciog
YmFzZVVSTCwgY29uc3QgY2hhciogY29udGVudFR5cGUsIGNvbnN0IGNoYXIqIGZhaWxpbmdVUkwp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VfcC5oIGIv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlX3AuaAppbmRleCA4MzI1YzQ4NjAw
YjA2OTVlZWFmYTdmODA4OTljNmY4ZDRmZmU1MjJhLi41Y2I1MDhmNjAxZGIxZDU4NjkyOTQ5NjEx
ZjAzNDkxNDJkMjhlZTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBp
L1dlYlBhZ2VfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZV9w
LmgKQEAgLTg4LDcgKzg4LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFuZGxlTW91c2VFdmVudChX
ZWJDb3JlOjpQbGF0Zm9ybU1vdXNlRXZlbnQmKTsKICAgICBib29sIGhhbmRsZVdoZWVsRXZlbnQo
V2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50Jik7CiAKLSAgICB2b2lkIGxvYWQoY29uc3QgY2hh
ciogdXJsLCBjb25zdCBjaGFyKiBuZXR3b3JrVG9rZW4sIGNvbnN0IGNoYXIqIG1ldGhvZCwgUGxh
dGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpDYWNoZVBvbGljeSwgY29uc3QgY2hhciogZGF0YSwgc2l6
ZV90IGRhdGFMZW5ndGgsIGNvbnN0IGNoYXIqIGNvbnN0KiBoZWFkZXJzLCBzaXplX3QgaGVhZGVy
c0xlbmd0aCwgYm9vbCBpc0luaXRpYWwsIGJvb2wgbXVzdEhhbmRsZUludGVybmFsbHkgPSBmYWxz
ZSwgYm9vbCBmb3JjZURvd25sb2FkID0gZmFsc2UsIGNvbnN0IGNoYXIqIG92ZXJyaWRlQ29udGVu
dFR5cGUgPSAiIik7CisgICAgdm9pZCBsb2FkKGNvbnN0IGNoYXIqIHVybCwgY29uc3QgY2hhciog
bmV0d29ya1Rva2VuLCBjb25zdCBjaGFyKiBtZXRob2QsIFBsYXRmb3JtOjpOZXR3b3JrUmVxdWVz
dDo6Q2FjaGVQb2xpY3ksIGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBkYXRhTGVuZ3RoLCBjb25z
dCBjaGFyKiBjb25zdCogaGVhZGVycywgc2l6ZV90IGhlYWRlcnNMZW5ndGgsIGJvb2wgaXNJbml0
aWFsLCBib29sIG11c3RIYW5kbGVJbnRlcm5hbGx5ID0gZmFsc2UsIGJvb2wgZm9yY2VEb3dubG9h
ZCA9IGZhbHNlLCBjb25zdCBjaGFyKiBvdmVycmlkZUNvbnRlbnRUeXBlID0gIiIsIGNvbnN0IGNo
YXIqIGZpbGVuYW1lID0gIiIpOwogICAgIHZvaWQgbG9hZFN0cmluZyhjb25zdCBjaGFyKiBzdHJp
bmcsIGNvbnN0IGNoYXIqIGJhc2VVUkwsIGNvbnN0IGNoYXIqIG1pbWVUeXBlLCBjb25zdCBjaGFy
KiBmYWlsaW5nVVJMID0gMCk7CiAgICAgYm9vbCBleGVjdXRlSmF2YVNjcmlwdChjb25zdCBjaGFy
KiBzY3JpcHQsIEphdmFTY3JpcHREYXRhVHlwZSYgcmV0dXJuVHlwZSwgV2ViU3RyaW5nJiByZXR1
cm5WYWx1ZSk7CiAgICAgYm9vbCBleGVjdXRlSmF2YVNjcmlwdEluSXNvbGF0ZWRXb3JsZChjb25z
dCBXZWJDb3JlOjpTY3JpcHRTb3VyY2VDb2RlJiwgSmF2YVNjcmlwdERhdGFUeXBlJiByZXR1cm5U
eXBlLCBXZWJTdHJpbmcmIHJldHVyblZhbHVlKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3Bw
IGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xp
ZW50QmxhY2tCZXJyeS5jcHAKaW5kZXggNDY4ODEyZjUzNGVjMDA1MTQxZjlhODBhZjQ2MTJiNTBm
YzIwYTM2Mi4uMDlhN2MzZDU0MTQ0OGFkNjMyNjhhZTQyYTU0MGZiMDc1N2E3NmVhMiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVy
Q2xpZW50QmxhY2tCZXJyeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNv
cmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKQEAgLTExMzksMTAgKzEx
MzksOSBAQCBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+IEZyYW1lTG9hZGVyQ2xp
ZW50QmxhY2tCZXJyeTo6Y3JlYXRlTmV0d29ya2luZwogICAgIHJldHVybiBGcmFtZU5ldHdvcmtp
bmdDb250ZXh0QmxhY2tCZXJyeTo6Y3JlYXRlKG1fZnJhbWUpOwogfQogCi12b2lkIEZyYW1lTG9h
ZGVyQ2xpZW50QmxhY2tCZXJyeTo6c3RhcnREb3dubG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgLypzdWdnZXN0ZWROYW1lKi8pCit2b2lkIEZyYW1lTG9h
ZGVyQ2xpZW50QmxhY2tCZXJyeTo6c3RhcnREb3dubG9hZChjb25zdCBSZXNvdXJjZVJlcXVlc3Qm
IHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVkTmFtZSkKIHsKLSAgICAvLyBGSVhNRTog
dXNlIHRoZSBzdWdnZXN0ZWROYW1lPwotICAgIG1fd2ViUGFnZVByaXZhdGUtPmxvYWQocmVxdWVz
dC51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpLCAwLCAiR0VUIiwgTmV0d29ya1JlcXVlc3Q6
OlVzZVByb3RvY29sQ2FjaGVQb2xpY3ksIDAsIDAsIDAsIDAsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwg
IiIpOworICAgIG1fd2ViUGFnZVByaXZhdGUtPmxvYWQocmVxdWVzdC51cmwoKS5zdHJpbmcoKS51
dGY4KCkuZGF0YSgpLCAwLCAiR0VUIiwgTmV0d29ya1JlcXVlc3Q6OlVzZVByb3RvY29sQ2FjaGVQ
b2xpY3ksIDAsIDAsIDAsIDAsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgIiIsIHN1Z2dlc3RlZE5hbWUu
dXRmOCgpLmRhdGEoKSk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5Ojpk
b3dubG9hZChSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBj
b25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>139936</attachid>
            <date>2012-05-02 18:40:46 -0700</date>
            <delta_ts>2012-05-06 20:10:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85044-20120503094043.patch</filename>
            <type>text/plain</type>
            <size>10990</size>
            <attacher name="Mary Wu">mawu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE1NDA1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjFmYzhhZjJhY2Y4YmZk
MjZmMDk5OGNlMjQ5NjJkMGI3OThiYzBjZC4uYmY3MzY0MTAzMWRlNDIzY2YzZTE1MGNmZTI5NTFj
M2FjMTU2ODc5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA0LTI3ICBNYXJ5
IFd1ICA8bWFyeS53dUB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IFN1cHBvcnQgaHRtbDUgZG93bmxvYWQgYXR0cmlidXRlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODUwNDQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXNzIGRvd25sb2FkIGF0dHJpYnV0ZSBmaWxlbmFt
ZSB0byBuZXR3b3JrSm9iIGFuZCBpdCBjb3VsZCBiZQorICAgICAgICBvdmVycmlkZGVuIGJ5IHRo
ZSBDb250ZW50LURpc3Bvc2l0aW9uIEhUVFAgaGVhZGVyJ3MgZmlsZW5hbWUgcGFyYW1ldGVyLgor
CisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6TmV0d29ya0pvYjo6aW5pdGlhbGl6ZSk6CisgICAgICAgICogcGxh
dGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L1Jlc291cmNlUmVxdWVzdC5oOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0OjpzZXRTdWdnZXN0U2F2ZU5hbWUpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0OjpzdWdnZXN0U2F2ZU5hbWUpOgorICAgICAgICAoUmVzb3Vy
Y2VSZXF1ZXN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvUmVzb3Vy
Y2VSZXF1ZXN0QmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3Q6OmluaXRpYWxpemVQbGF0Zm9ybVJlcXVlc3QpOgorCiAyMDEyLTA0LTI2ICBBZHJpZW5uZSBX
YWxrZXIgIDxlbm5lQGdvb2dsZS5jb20+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW1vdmUgdW51
c2VkIENDTGF5ZXJJbXBsOjpkZWJ1Z0lEKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxh
Y2tiZXJyeS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCmlu
ZGV4IDYwNGUxOGQ4NjIyNzExYWNhMjA3MzhkY2Q3Mjc2YjMwNDVkNDdmMmEuLjYzNWY4ZDBhY2Zk
YWQ2NGY4YjI2OTA3NDAxYTNlNGI3Y2VjMWJiN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA0LTI3ICBNYXJ5IFd1ICA8bWFyeS53dUB0b3Jj
aG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNrQmVycnldIFN1cHBvcnQgaHRtbDUgZG93
bmxvYWQgYXR0cmlidXRlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODUwNDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJZiBhIGxpbmsgaGFzIGRvd25sb2FkIGF0dHJpYnV0ZSwgd2Ugc2hvdWxkIHBhc3Mg
dGhhdCB2YWx1ZSBhbmQgYmUgYWJsZSB0bworICAgICAgICBzYXZlIGZpbGUgd2l0aCB0aGUgbmFt
ZSBhY2NvcmRpbmcgdG8gSFRNTDU6CisgICAgICAgIGh0dHA6Ly91cGRhdGVzLmh0bWw1cm9ja3Mu
Y29tLzIwMTEvMDgvRG93bmxvYWRpbmctcmVzb3VyY2VzLWluLUhUTUw1LWEtZG93bmxvYWQKKwor
ICAgICAgICAqIEFwaS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKEJsYWNrQmVycnk6OldlYktpdDo6
V2ViUGFnZVByaXZhdGU6OmxvYWQpOgorICAgICAgICAoQmxhY2tCZXJyeTo6V2ViS2l0OjpXZWJQ
YWdlOjpkb3dubG9hZCk6CisgICAgICAgICogQXBpL1dlYlBhZ2VfcC5oOgorICAgICAgICAoV2Vi
UGFnZVByaXZhdGUpOgorICAgICAgICAqIFdlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50
QmxhY2tCZXJyeS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlckNsaWVudEJsYWNr
QmVycnk6OnN0YXJ0RG93bmxvYWQpOgorCiAyMDEyLTA0LTI2ICBZb25nIExpICA8eW9saUByaW0u
Y29tPgogCiAgICAgICAgIFtCbGFja0JlcnJ5XSBBIHF1aWNrIGZpeCB0byB0aGUgcHJldmlvdXMg
cGF0Y2ggcjExNTI0NS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvYmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcAppbmRleCBhMGM4YmFmNmJkZjU4ZjNkZDlk
Yzc4ZDc1ZWEzNTk0ZGVmZWFjOThiLi42ZGU1ZTRkYmQ0ZTU2ZDI5ZmFlNWY3OTY4ZmFjN2U5ZThi
OWM3ZjcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNr
YmVycnkvTmV0d29ya0pvYi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9ibGFja2JlcnJ5L05ldHdvcmtKb2IuY3BwCkBAIC0xNjQsNiArMTY0LDExIEBAIGJvb2wgTmV0
d29ya0pvYjo6aW5pdGlhbGl6ZShpbnQgcGxheWVySWQsCiAgICAgaWYgKG1faXNEYXRhIHx8IG1f
aXNBYm91dCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKKyAgICBpZiAoIXJlcXVlc3QuZ2V0U3Vn
Z2VzdGVkU2F2ZU5hbWUoKS5lbXB0eSgpKSB7CisgICAgICAgIG1fY29udGVudERpc3Bvc2l0aW9u
ID0gImZpbGVuYW1lPSI7CisgICAgICAgIG1fY29udGVudERpc3Bvc2l0aW9uICs9IHJlcXVlc3Qu
Z2V0U3VnZ2VzdGVkU2F2ZU5hbWUoKS5jX3N0cigpOworICAgIH0KKwogICAgIEJsYWNrQmVycnk6
OlBsYXRmb3JtOjpGaWx0ZXJTdHJlYW0qIHdyYXBwZWRTdHJlYW0gPSBtX3N0cmVhbUZhY3Rvcnkt
PmNyZWF0ZU5ldHdvcmtTdHJlYW0ocmVxdWVzdCwgbV9wbGF5ZXJJZCk7CiAgICAgaWYgKCF3cmFw
cGVkU3RyZWFtKQogICAgICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvUmVzb3VyY2VSZXF1ZXN0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvUmVzb3VyY2VSZXF1ZXN0LmgK
aW5kZXggZmU5ZGU2NjQzNzA0NjdmN2MxYTI1YjBmNGQzYTViMjFkYjI2OWEzNy4uOGY0MjE3NGMy
ZDJkZGUwYTQwNmU0YmRiMjZiYTliZDViMzRiYmU3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L1Jlc291cmNlUmVxdWVzdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9SZXNvdXJjZVJlcXVlc3Qu
aApAQCAtMTE3LDYgKzExNyw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGluaXRpYWxpemVQbGF0Zm9y
bVJlcXVlc3QoQmxhY2tCZXJyeTo6UGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0JiwgYm9vbCBjb29r
aWVzRW5hYmxlZCwgYm9vbCBpc0luaXRpYWwgPSBmYWxzZSwgYm9vbCBpc1JlZGlyZWN0ID0gZmFs
c2UpIGNvbnN0OwogICAgIHZvaWQgc2V0Rm9yY2VEb3dubG9hZChib29sIGZvcmNlRG93bmxvYWQp
IHsgbV9mb3JjZURvd25sb2FkID0gdHJ1ZTsgfQogICAgIGJvb2wgZm9yY2VEb3dubG9hZCgpIGNv
bnN0IHsgcmV0dXJuIG1fZm9yY2VEb3dubG9hZDsgfQorICAgIHZvaWQgc2V0U3VnZ2VzdGVkU2F2
ZU5hbWUoY29uc3QgU3RyaW5nJiBuYW1lKSB7IG1fc3VnZ2VzdGVkU2F2ZU5hbWUgPSBuYW1lOyB9
CisgICAgU3RyaW5nIHN1Z2dlc3RlZFNhdmVOYW1lKCkgY29uc3QgeyByZXR1cm4gbV9zdWdnZXN0
ZWRTYXZlTmFtZTsgfQogCiAgICAgLy8gV2hhdCB0aGlzIHJlcXVlc3QgaXMgZm9yLgogICAgIFRh
cmdldFR5cGUgdGFyZ2V0VHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdGFyZ2V0VHlwZTsgfQpAQCAt
MTMzLDYgKzEzNSw3IEBAIHByaXZhdGU6CiAgICAgU3RyaW5nIG1fdG9rZW47CiAgICAgU3RyaW5n
IG1fYW5jaG9yVGV4dDsKICAgICBTdHJpbmcgbV9vdmVycmlkZUNvbnRlbnRUeXBlOworICAgIFN0
cmluZyBtX3N1Z2dlc3RlZFNhdmVOYW1lOwogICAgIGJvb2wgbV9pc1hNTEhUVFBSZXF1ZXN0Owog
ICAgIGJvb2wgbV9tdXN0SGFuZGxlSW50ZXJuYWxseTsKICAgICBib29sIG1faXNSZXF1ZXN0ZWRC
eVBsdWdpbjsKQEAgLTE0OSw2ICsxNTIsNyBAQCBwcml2YXRlOgogc3RydWN0IENyb3NzVGhyZWFk
UmVzb3VyY2VSZXF1ZXN0RGF0YSA6IHB1YmxpYyBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERh
dGFCYXNlIHsKICAgICBTdHJpbmcgbV90b2tlbjsKICAgICBTdHJpbmcgbV9hbmNob3JUZXh0Owor
ICAgIFN0cmluZyBtX3N1Z2dlc3RlZFNhdmVOYW1lOwogICAgIGJvb2wgbV9pc1hNTEhUVFBSZXF1
ZXN0OwogICAgIGJvb2wgbV9tdXN0SGFuZGxlSW50ZXJuYWxseTsKICAgICBib29sIG1faXNSZXF1
ZXN0ZWRCeVBsdWdpbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvYmxhY2tiZXJyeS9SZXNvdXJjZVJlcXVlc3RCbGFja0JlcnJ5LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9SZXNvdXJjZVJlcXVlc3RCbGFja0JlcnJ5
LmNwcAppbmRleCA5YTM1MGMxY2ViMGI4YjRlMTAxMTQ1MThmNTRmMjBiMTE3ODVkNzQ0Li4yYjNl
ZTUzOTQyNjQ0MTE2YmU2NzVhNDBkY2NiMWIwNzA4NWQ5N2VkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvUmVzb3VyY2VSZXF1ZXN0QmxhY2tC
ZXJyeS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5
L1Jlc291cmNlUmVxdWVzdEJsYWNrQmVycnkuY3BwCkBAIC0xNTUsNiArMTU1LDcgQEAgdm9pZCBS
ZXNvdXJjZVJlcXVlc3Q6OmluaXRpYWxpemVQbGF0Zm9ybVJlcXVlc3QoTmV0d29ya1JlcXVlc3Qm
IHBsYXRmb3JtUmVxdWVzdCwKICAgICAgICAgICAgICAgICB0aW1lb3V0SW50ZXJ2YWwoKSk7CiAK
ICAgICAgICAgcGxhdGZvcm1SZXF1ZXN0LnNldENvbmRpdGlvbmFsKGlzQ29uZGl0aW9uYWwoKSk7
CisgICAgICAgIHBsYXRmb3JtUmVxdWVzdC5zZXRTdWdnZXN0ZWRTYXZlTmFtZShzdWdnZXN0ZWRT
YXZlTmFtZSgpLnV0ZjgoKS5kYXRhKCkpOwogCiAgICAgICAgIGlmIChodHRwQm9keSgpICYmICFo
dHRwQm9keSgpLT5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGNvbnN0IFZlY3RvcjxGb3JtRGF0
YUVsZW1lbnQ+JiBlbGVtZW50cyA9IGh0dHBCb2R5KCktPmVsZW1lbnRzKCk7CkBAIC0yMzMsNiAr
MjM0LDcgQEAgUGFzc093blB0cjxDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGE+IFJlc291
cmNlUmVxdWVzdDo6ZG9QbGF0Zm9ybUNvcHlEYXRhKFAKIHsKICAgICBkYXRhLT5tX3Rva2VuID0g
bV90b2tlbjsKICAgICBkYXRhLT5tX2FuY2hvclRleHQgPSBtX2FuY2hvclRleHQ7CisgICAgZGF0
YS0+bV9zdWdnZXN0ZWRTYXZlTmFtZSA9IG1fc3VnZ2VzdGVkU2F2ZU5hbWU7CiAgICAgZGF0YS0+
bV9pc1hNTEhUVFBSZXF1ZXN0ID0gbV9pc1hNTEhUVFBSZXF1ZXN0OwogICAgIGRhdGEtPm1fbXVz
dEhhbmRsZUludGVybmFsbHkgPSBtX211c3RIYW5kbGVJbnRlcm5hbGx5OwogICAgIGRhdGEtPm1f
aXNSZXF1ZXN0ZWRCeVBsdWdpbiA9IG1faXNSZXF1ZXN0ZWRCeVBsdWdpbjsKQEAgLTI0Myw2ICsy
NDUsNyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9QbGF0Zm9ybUFkb3B0KFBhc3NPd25QdHI8
Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPgogewogICAgIG1fdG9rZW4gPSBkYXRhLT5t
X3Rva2VuOwogICAgIG1fYW5jaG9yVGV4dCA9IGRhdGEtPm1fYW5jaG9yVGV4dDsKKyAgICBtX3N1
Z2dlc3RlZFNhdmVOYW1lID0gZGF0YS0+bV9zdWdnZXN0ZWRTYXZlTmFtZTsKICAgICBtX2lzWE1M
SFRUUFJlcXVlc3QgPSBkYXRhLT5tX2lzWE1MSFRUUFJlcXVlc3Q7CiAgICAgbV9tdXN0SGFuZGxl
SW50ZXJuYWxseSA9IGRhdGEtPm1fbXVzdEhhbmRsZUludGVybmFsbHk7CiAgICAgbV9pc1JlcXVl
c3RlZEJ5UGx1Z2luID0gZGF0YS0+bV9pc1JlcXVlc3RlZEJ5UGx1Z2luOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQv
YmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAKaW5kZXggODM0NGE2NTk0ODIyYzdmZjEzZjc0MTdh
NjU4MzI2Nzc1ODdiOGUzNi4uZTIwYTIyZTY3ODZiMDlmMWI0NTJmZTY4YzFhMjY1OTU0NmIyYjM0
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCkBAIC01NTcsNyAr
NTU3LDcgQEAgcHJpdmF0ZToKICAgICB9CiB9OwogCi12b2lkIFdlYlBhZ2VQcml2YXRlOjpsb2Fk
KGNvbnN0IGNoYXIqIHVybCwgY29uc3QgY2hhciogbmV0d29ya1Rva2VuLCBjb25zdCBjaGFyKiBt
ZXRob2QsIFBsYXRmb3JtOjpOZXR3b3JrUmVxdWVzdDo6Q2FjaGVQb2xpY3kgY2FjaGVQb2xpY3ks
IGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBkYXRhTGVuZ3RoLCBjb25zdCBjaGFyKiBjb25zdCog
aGVhZGVycywgc2l6ZV90IGhlYWRlcnNMZW5ndGgsIGJvb2wgaXNJbml0aWFsLCBib29sIG11c3RI
YW5kbGVJbnRlcm5hbGx5LCBib29sIGZvcmNlRG93bmxvYWQsIGNvbnN0IGNoYXIqIG92ZXJyaWRl
Q29udGVudFR5cGUpCit2b2lkIFdlYlBhZ2VQcml2YXRlOjpsb2FkKGNvbnN0IGNoYXIqIHVybCwg
Y29uc3QgY2hhciogbmV0d29ya1Rva2VuLCBjb25zdCBjaGFyKiBtZXRob2QsIFBsYXRmb3JtOjpO
ZXR3b3JrUmVxdWVzdDo6Q2FjaGVQb2xpY3kgY2FjaGVQb2xpY3ksIGNvbnN0IGNoYXIqIGRhdGEs
IHNpemVfdCBkYXRhTGVuZ3RoLCBjb25zdCBjaGFyKiBjb25zdCogaGVhZGVycywgc2l6ZV90IGhl
YWRlcnNMZW5ndGgsIGJvb2wgaXNJbml0aWFsLCBib29sIG11c3RIYW5kbGVJbnRlcm5hbGx5LCBi
b29sIGZvcmNlRG93bmxvYWQsIGNvbnN0IGNoYXIqIG92ZXJyaWRlQ29udGVudFR5cGUsIGNvbnN0
IGNoYXIqIHN1Z2dlc3RlZFNhdmVOYW1lKQogewogICAgIHN0b3BDdXJyZW50TG9hZCgpOwogICAg
IERlZmVycmVkVGFza0xvYWRNYW51YWxTY3JpcHQ6OmZpbmlzaE9yQ2FuY2VsKHRoaXMpOwpAQCAt
NjAwLDYgKzYwMCw4IEBAIHZvaWQgV2ViUGFnZVByaXZhdGU6OmxvYWQoY29uc3QgY2hhciogdXJs
LCBjb25zdCBjaGFyKiBuZXR3b3JrVG9rZW4sIGNvbnN0IGNoYXIqCiAgICAgaWYgKGZvcmNlRG93
bmxvYWQpCiAgICAgICAgIHJlcXVlc3Quc2V0Rm9yY2VEb3dubG9hZCh0cnVlKTsKIAorICAgIHJl
cXVlc3Quc2V0U3VnZ2VzdGVkU2F2ZU5hbWUoc3VnZ2VzdGVkU2F2ZU5hbWUpOworCiAgICAgbV9t
YWluRnJhbWUtPmxvYWRlcigpLT5sb2FkKHJlcXVlc3QsICIiIC8qIG5hbWUgKi8sIGZhbHNlKTsK
IH0KIApAQCAtNjI2LDcgKzYyOCw3IEBAIHZvaWQgV2ViUGFnZTo6bG9hZEZpbGUoY29uc3QgY2hh
ciogcGF0aCwgY29uc3QgY2hhciogb3ZlcnJpZGVDb250ZW50VHlwZSkKIAogdm9pZCBXZWJQYWdl
Ojpkb3dubG9hZChjb25zdCBQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3QmIHJlcXVlc3QpCiB7Ci0g
ICAgZC0+bG9hZChyZXF1ZXN0LmdldFVybFJlZigpLmNfc3RyKCksIDAsICJHRVQiLCBQbGF0Zm9y
bTo6TmV0d29ya1JlcXVlc3Q6OlVzZVByb3RvY29sQ2FjaGVQb2xpY3ksIDAsIDAsIDAsIDAsIGZh
bHNlLCBmYWxzZSwgdHJ1ZSwgIiIpOworICAgIGQtPmxvYWQocmVxdWVzdC5nZXRVcmxSZWYoKS5j
X3N0cigpLCAwLCAiR0VUIiwgUGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpVc2VQcm90b2NvbENh
Y2hlUG9saWN5LCAwLCAwLCAwLCAwLCBmYWxzZSwgZmFsc2UsIHRydWUsICIiLCByZXF1ZXN0Lmdl
dFN1Z2dlc3RlZFNhdmVOYW1lKCkuY19zdHIoKSk7CiB9CiAKIHZvaWQgV2ViUGFnZVByaXZhdGU6
OmxvYWRTdHJpbmcoY29uc3QgY2hhciogc3RyaW5nLCBjb25zdCBjaGFyKiBiYXNlVVJMLCBjb25z
dCBjaGFyKiBjb250ZW50VHlwZSwgY29uc3QgY2hhciogZmFpbGluZ1VSTCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZV9wLmggYi9Tb3VyY2UvV2ViS2l0
L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VfcC5oCmluZGV4IDgzMjVjNDg2MDBiMDY5NWVlYWZhN2Y4
MDg5OWM2ZjhkNGZmZTUyMmEuLjFjODZjMWE0YWM0MjBkNDYyNmRkNmEwNzI2MjBhMTdkMGIxMDUz
MzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZV9wLmgK
KysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlX3AuaApAQCAtODgsNyAr
ODgsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBoYW5kbGVNb3VzZUV2ZW50KFdlYkNvcmU6OlBsYXRm
b3JtTW91c2VFdmVudCYpOwogICAgIGJvb2wgaGFuZGxlV2hlZWxFdmVudChXZWJDb3JlOjpQbGF0
Zm9ybVdoZWVsRXZlbnQmKTsKIAotICAgIHZvaWQgbG9hZChjb25zdCBjaGFyKiB1cmwsIGNvbnN0
IGNoYXIqIG5ldHdvcmtUb2tlbiwgY29uc3QgY2hhciogbWV0aG9kLCBQbGF0Zm9ybTo6TmV0d29y
a1JlcXVlc3Q6OkNhY2hlUG9saWN5LCBjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgZGF0YUxlbmd0
aCwgY29uc3QgY2hhciogY29uc3QqIGhlYWRlcnMsIHNpemVfdCBoZWFkZXJzTGVuZ3RoLCBib29s
IGlzSW5pdGlhbCwgYm9vbCBtdXN0SGFuZGxlSW50ZXJuYWxseSA9IGZhbHNlLCBib29sIGZvcmNl
RG93bmxvYWQgPSBmYWxzZSwgY29uc3QgY2hhciogb3ZlcnJpZGVDb250ZW50VHlwZSA9ICIiKTsK
KyAgICB2b2lkIGxvYWQoY29uc3QgY2hhciogdXJsLCBjb25zdCBjaGFyKiBuZXR3b3JrVG9rZW4s
IGNvbnN0IGNoYXIqIG1ldGhvZCwgUGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpDYWNoZVBvbGlj
eSwgY29uc3QgY2hhciogZGF0YSwgc2l6ZV90IGRhdGFMZW5ndGgsIGNvbnN0IGNoYXIqIGNvbnN0
KiBoZWFkZXJzLCBzaXplX3QgaGVhZGVyc0xlbmd0aCwgYm9vbCBpc0luaXRpYWwsIGJvb2wgbXVz
dEhhbmRsZUludGVybmFsbHkgPSBmYWxzZSwgYm9vbCBmb3JjZURvd25sb2FkID0gZmFsc2UsIGNv
bnN0IGNoYXIqIG92ZXJyaWRlQ29udGVudFR5cGUgPSAiIiwgY29uc3QgY2hhciogc3VnZ2VzdGVk
U2F2ZU5hbWUgPSAiIik7CiAgICAgdm9pZCBsb2FkU3RyaW5nKGNvbnN0IGNoYXIqIHN0cmluZywg
Y29uc3QgY2hhciogYmFzZVVSTCwgY29uc3QgY2hhciogbWltZVR5cGUsIGNvbnN0IGNoYXIqIGZh
aWxpbmdVUkwgPSAwKTsKICAgICBib29sIGV4ZWN1dGVKYXZhU2NyaXB0KGNvbnN0IGNoYXIqIHNj
cmlwdCwgSmF2YVNjcmlwdERhdGFUeXBlJiByZXR1cm5UeXBlLCBXZWJTdHJpbmcmIHJldHVyblZh
bHVlKTsKICAgICBib29sIGV4ZWN1dGVKYXZhU2NyaXB0SW5Jc29sYXRlZFdvcmxkKGNvbnN0IFdl
YkNvcmU6OlNjcmlwdFNvdXJjZUNvZGUmLCBKYXZhU2NyaXB0RGF0YVR5cGUmIHJldHVyblR5cGUs
IFdlYlN0cmluZyYgcmV0dXJuVmFsdWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAgYi9T
b3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRC
bGFja0JlcnJ5LmNwcAppbmRleCA0Njg4MTJmNTM0ZWMwMDUxNDFmOWE4MGFmNDYxMmI1MGZjMjBh
MzYyLi4wOWE3YzNkNTQxNDQ4YWQ2MzI2OGFlNDJhNTQwZmIwNzU3YTc2ZWEyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1cHBvcnQvRnJhbWVMb2FkZXJDbGll
bnRCbGFja0JlcnJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvV2ViQ29yZVN1
cHBvcnQvRnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5LmNwcApAQCAtMTEzOSwxMCArMTEzOSw5
IEBAIFBhc3NSZWZQdHI8RnJhbWVOZXR3b3JraW5nQ29udGV4dD4gRnJhbWVMb2FkZXJDbGllbnRC
bGFja0JlcnJ5OjpjcmVhdGVOZXR3b3JraW5nCiAgICAgcmV0dXJuIEZyYW1lTmV0d29ya2luZ0Nv
bnRleHRCbGFja0JlcnJ5OjpjcmVhdGUobV9mcmFtZSk7CiB9CiAKLXZvaWQgRnJhbWVMb2FkZXJD
bGllbnRCbGFja0JlcnJ5OjpzdGFydERvd25sb2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgY29uc3QgU3RyaW5nJiAvKnN1Z2dlc3RlZE5hbWUqLykKK3ZvaWQgRnJhbWVMb2FkZXJD
bGllbnRCbGFja0JlcnJ5OjpzdGFydERvd25sb2FkKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCwgY29uc3QgU3RyaW5nJiBzdWdnZXN0ZWROYW1lKQogewotICAgIC8vIEZJWE1FOiB1c2Ug
dGhlIHN1Z2dlc3RlZE5hbWU/Ci0gICAgbV93ZWJQYWdlUHJpdmF0ZS0+bG9hZChyZXF1ZXN0LnVy
bCgpLnN0cmluZygpLnV0ZjgoKS5kYXRhKCksIDAsICJHRVQiLCBOZXR3b3JrUmVxdWVzdDo6VXNl
UHJvdG9jb2xDYWNoZVBvbGljeSwgMCwgMCwgMCwgMCwgZmFsc2UsIGZhbHNlLCB0cnVlLCAiIik7
CisgICAgbV93ZWJQYWdlUHJpdmF0ZS0+bG9hZChyZXF1ZXN0LnVybCgpLnN0cmluZygpLnV0Zjgo
KS5kYXRhKCksIDAsICJHRVQiLCBOZXR3b3JrUmVxdWVzdDo6VXNlUHJvdG9jb2xDYWNoZVBvbGlj
eSwgMCwgMCwgMCwgMCwgZmFsc2UsIGZhbHNlLCB0cnVlLCAiIiwgc3VnZ2VzdGVkTmFtZS51dGY4
KCkuZGF0YSgpKTsKIH0KIAogdm9pZCBGcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnk6OmRvd25s
b2FkKFJlc291cmNlSGFuZGxlKiBoYW5kbGUsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0
IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHIpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>140462</attachid>
            <date>2012-05-06 20:10:27 -0700</date>
            <delta_ts>2012-05-06 21:08:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-85044-20120507111021.patch</filename>
            <type>text/plain</type>
            <size>11120</size>
            <attacher name="Mary Wu">mawu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTE2MjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjM2ZTQ3MjkyOTczMzlj
MjNkMmI4YTk4YWE0OTBjZDYzOWM2MjA2MC4uNDZkYTY2ZmZmZGM5ZmUyOTM3NjY5YWE0N2EzMGVi
ODk3NjA0ZTQ0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA1LTA2ICBNYXJ5
IFd1ICA8bWFyeS53dUB0b3JjaG1vYmlsZS5jb20uY24+CisKKyAgICAgICAgW0JsYWNrQmVycnld
IFN1cHBvcnQgaHRtbDUgZG93bmxvYWQgYXR0cmlidXRlLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODUwNDQKKworICAgICAgICBSZXZpZXdlZCBieSBB
bnRvbmlvIEdvbWVzLgorCisgICAgICAgIFBhc3MgZG93bmxvYWQgYXR0cmlidXRlIGZpbGVuYW1l
IHRvIG5ldHdvcmtKb2IgYW5kIGl0IGNvdWxkIGJlCisgICAgICAgIG92ZXJyaWRkZW4gYnkgdGhl
IENvbnRlbnQtRGlzcG9zaXRpb24gSFRUUCBoZWFkZXIncyBmaWxlbmFtZSBwYXJhbWV0ZXIuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpOZXR3b3JrSm9iOjppbml0aWFsaXplKToKKyAgICAgICAgKiBwbGF0
Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvUmVzb3VyY2VSZXF1ZXN0Lmg6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnNldFN1Z2dlc3RTYXZlTmFtZSk6CisgICAgICAgIChXZWJD
b3JlOjpSZXNvdXJjZVJlcXVlc3Q6OnN1Z2dlc3RTYXZlTmFtZSk6CisgICAgICAgIChSZXNvdXJj
ZVJlcXVlc3QpOgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9SZXNvdXJj
ZVJlcXVlc3RCbGFja0JlcnJ5LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlc291cmNlUmVxdWVz
dDo6aW5pdGlhbGl6ZVBsYXRmb3JtUmVxdWVzdCk6CisKIDIwMTItMDUtMDYgIFJvYiBCdWlzICA8
cmJ1aXNAcmltLmNvbT4KIAogICAgICAgICBTaHJpbmsgVGV4dFJ1biBvYmplY3Qgc2l6ZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQvYmxhY2tiZXJyeS9DaGFuZ2VMb2cKaW5kZXggNzViNmM0NDZkOTUzN2E5YTY1NWVmNjM4YjZl
YmUzZDE2NDliMTI0NS4uNDlmNmQwOTA5N2VmZDZjOWFmMjk4MGE3ZDY4YTRmZDZkNzc4ZDVlNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L2JsYWNrYmVycnkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTItMDUt
MDYgIE1hcnkgV3UgIDxtYXJ5Lnd1QHRvcmNobW9iaWxlLmNvbS5jbj4KKworICAgICAgICBbQmxh
Y2tCZXJyeV0gU3VwcG9ydCBodG1sNSBkb3dubG9hZCBhdHRyaWJ1dGUuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NTA0NAorCisgICAgICAgIFJldmll
d2VkIGJ5IEFudG9uaW8gR29tZXMuCisKKyAgICAgICAgSWYgYSBsaW5rIGhhcyBkb3dubG9hZCBh
dHRyaWJ1dGUsIHdlIHNob3VsZCBwYXNzIHRoYXQgdmFsdWUgYW5kIGJlIGFibGUgdG8KKyAgICAg
ICAgc2F2ZSBmaWxlIHdpdGggdGhlIG5hbWUgYWNjb3JkaW5nIHRvIEhUTUw1OgorICAgICAgICBo
dHRwOi8vdXBkYXRlcy5odG1sNXJvY2tzLmNvbS8yMDExLzA4L0Rvd25sb2FkaW5nLXJlc291cmNl
cy1pbi1IVE1MNS1hLWRvd25sb2FkCisKKyAgICAgICAgKiBBcGkvV2ViUGFnZS5jcHA6CisgICAg
ICAgIChCbGFja0JlcnJ5OjpXZWJLaXQ6OldlYlBhZ2VQcml2YXRlOjpsb2FkKToKKyAgICAgICAg
KEJsYWNrQmVycnk6OldlYktpdDo6V2ViUGFnZTo6ZG93bmxvYWQpOgorICAgICAgICAqIEFwaS9X
ZWJQYWdlX3AuaDoKKyAgICAgICAgKFdlYlBhZ2VQcml2YXRlKToKKyAgICAgICAgKiBXZWJDb3Jl
U3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEJsYWNrQmVycnkuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6RnJhbWVMb2FkZXJDbGllbnRCbGFja0JlcnJ5OjpzdGFydERvd25sb2FkKToKKwogMjAxMi0w
NS0wNiAgSm9uYXRoYW4gRG9uZyAgPGpvbmF0aGFuLmRvbmdAdG9yY2htb2JpbGUuY29tLmNuPgog
CiAgICAgICAgIFtCbGFja0JlcnJ5XSBBdXRvZmlsbCBiYWNraW5nIHN0b3JlIGltcGxlbWVudGF0
aW9uIHVwc3RyZWFtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL2JsYWNrYmVycnkvTmV0d29ya0pvYi5jcHAKaW5kZXggYTBjOGJhZjZiZGY1OGYzZGQ5ZGM3
OGQ3NWVhMzU5NGRlZmVhYzk4Yi4uNmRlNWU0ZGJkNGU1NmQyOWZhZTVmNzk2OGZhYzdlOWU4Yjlj
N2Y3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2Jl
cnJ5L05ldHdvcmtKb2IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsv
YmxhY2tiZXJyeS9OZXR3b3JrSm9iLmNwcApAQCAtMTY0LDYgKzE2NCwxMSBAQCBib29sIE5ldHdv
cmtKb2I6OmluaXRpYWxpemUoaW50IHBsYXllcklkLAogICAgIGlmIChtX2lzRGF0YSB8fCBtX2lz
QWJvdXQpCiAgICAgICAgIHJldHVybiB0cnVlOwogCisgICAgaWYgKCFyZXF1ZXN0LmdldFN1Z2dl
c3RlZFNhdmVOYW1lKCkuZW1wdHkoKSkgeworICAgICAgICBtX2NvbnRlbnREaXNwb3NpdGlvbiA9
ICJmaWxlbmFtZT0iOworICAgICAgICBtX2NvbnRlbnREaXNwb3NpdGlvbiArPSByZXF1ZXN0Lmdl
dFN1Z2dlc3RlZFNhdmVOYW1lKCkuY19zdHIoKTsKKyAgICB9CisKICAgICBCbGFja0JlcnJ5OjpQ
bGF0Zm9ybTo6RmlsdGVyU3RyZWFtKiB3cmFwcGVkU3RyZWFtID0gbV9zdHJlYW1GYWN0b3J5LT5j
cmVhdGVOZXR3b3JrU3RyZWFtKHJlcXVlc3QsIG1fcGxheWVySWQpOwogICAgIGlmICghd3JhcHBl
ZFN0cmVhbSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L1Jlc291cmNlUmVxdWVzdC5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L1Jlc291cmNlUmVxdWVzdC5oCmlu
ZGV4IDBhMmFmMzRjMmQ4NWE5N2NlNzMzNGMzYTk2MzRjYjc1ZjExYzlmM2UuLjI5YmIyNWMxYTRh
NWYwMTQyY2I4OGRlZjYwMDU1M2JjNmExOWNkNzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9SZXNvdXJjZVJlcXVlc3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL2JsYWNrYmVycnkvUmVzb3VyY2VSZXF1ZXN0LmgK
QEAgLTExNyw2ICsxMTcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbml0aWFsaXplUGxhdGZvcm1S
ZXF1ZXN0KEJsYWNrQmVycnk6OlBsYXRmb3JtOjpOZXR3b3JrUmVxdWVzdCYsIGJvb2wgY29va2ll
c0VuYWJsZWQsIGJvb2wgaXNJbml0aWFsID0gZmFsc2UsIGJvb2wgaXNSZWRpcmVjdCA9IGZhbHNl
KSBjb25zdDsKICAgICB2b2lkIHNldEZvcmNlRG93bmxvYWQoYm9vbCBmb3JjZURvd25sb2FkKSB7
IG1fZm9yY2VEb3dubG9hZCA9IHRydWU7IH0KICAgICBib29sIGZvcmNlRG93bmxvYWQoKSBjb25z
dCB7IHJldHVybiBtX2ZvcmNlRG93bmxvYWQ7IH0KKyAgICB2b2lkIHNldFN1Z2dlc3RlZFNhdmVO
YW1lKGNvbnN0IFN0cmluZyYgbmFtZSkgeyBtX3N1Z2dlc3RlZFNhdmVOYW1lID0gbmFtZTsgfQor
ICAgIFN0cmluZyBzdWdnZXN0ZWRTYXZlTmFtZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3VnZ2VzdGVk
U2F2ZU5hbWU7IH0KIAogICAgIC8vIFdoYXQgdGhpcyByZXF1ZXN0IGlzIGZvci4KICAgICBUYXJn
ZXRUeXBlIHRhcmdldFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3RhcmdldFR5cGU7IH0KQEAgLTEz
Myw2ICsxMzUsNyBAQCBwcml2YXRlOgogICAgIFN0cmluZyBtX3Rva2VuOwogICAgIFN0cmluZyBt
X2FuY2hvclRleHQ7CiAgICAgU3RyaW5nIG1fb3ZlcnJpZGVDb250ZW50VHlwZTsKKyAgICBTdHJp
bmcgbV9zdWdnZXN0ZWRTYXZlTmFtZTsKICAgICBib29sIG1faXNYTUxIVFRQUmVxdWVzdDsKICAg
ICBib29sIG1fbXVzdEhhbmRsZUludGVybmFsbHk7CiAgICAgYm9vbCBtX2lzUmVxdWVzdGVkQnlQ
bHVnaW47CkBAIC0xNTAsNiArMTUzLDcgQEAgc3RydWN0IENyb3NzVGhyZWFkUmVzb3VyY2VSZXF1
ZXN0RGF0YSA6IHB1YmxpYyBDcm9zc1RocmVhZFJlc291cmNlUmVxdWVzdERhdGFCYXMKICAgICBT
dHJpbmcgbV90b2tlbjsKICAgICBTdHJpbmcgbV9hbmNob3JUZXh0OwogICAgIFN0cmluZyBtX292
ZXJyaWRlQ29udGVudFR5cGU7CisgICAgU3RyaW5nIG1fc3VnZ2VzdGVkU2F2ZU5hbWU7CiAgICAg
Ym9vbCBtX2lzWE1MSFRUUFJlcXVlc3Q7CiAgICAgYm9vbCBtX211c3RIYW5kbGVJbnRlcm5hbGx5
OwogICAgIGJvb2wgbV9pc1JlcXVlc3RlZEJ5UGx1Z2luOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L1Jlc291cmNlUmVxdWVzdEJsYWNrQmVy
cnkuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9ibGFja2JlcnJ5L1Jlc291
cmNlUmVxdWVzdEJsYWNrQmVycnkuY3BwCmluZGV4IGE3YjVjOTFjYTkwYzVlYWI5NmNkNjlmM2U2
M2Q3Yjg1N2FjNjBiYWQuLjk0ODUzNDY0NzNkYTI3Nzk1NzE1YTY5MjFmM2MwYjQ1YjIwODcyOGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvYmxhY2tiZXJyeS9S
ZXNvdXJjZVJlcXVlc3RCbGFja0JlcnJ5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL2JsYWNrYmVycnkvUmVzb3VyY2VSZXF1ZXN0QmxhY2tCZXJyeS5jcHAKQEAgLTE1
NSw2ICsxNTUsNyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdDo6aW5pdGlhbGl6ZVBsYXRmb3JtUmVx
dWVzdChOZXR3b3JrUmVxdWVzdCYgcGxhdGZvcm1SZXF1ZXN0LAogICAgICAgICAgICAgICAgIHRp
bWVvdXRJbnRlcnZhbCgpKTsKIAogICAgICAgICBwbGF0Zm9ybVJlcXVlc3Quc2V0Q29uZGl0aW9u
YWwoaXNDb25kaXRpb25hbCgpKTsKKyAgICAgICAgcGxhdGZvcm1SZXF1ZXN0LnNldFN1Z2dlc3Rl
ZFNhdmVOYW1lKHN1Z2dlc3RlZFNhdmVOYW1lKCkudXRmOCgpLmRhdGEoKSk7CiAKICAgICAgICAg
aWYgKGh0dHBCb2R5KCkgJiYgIWh0dHBCb2R5KCktPmlzRW1wdHkoKSkgewogICAgICAgICAgICAg
Y29uc3QgVmVjdG9yPEZvcm1EYXRhRWxlbWVudD4mIGVsZW1lbnRzID0gaHR0cEJvZHkoKS0+ZWxl
bWVudHMoKTsKQEAgLTIzNCw2ICsyMzUsNyBAQCBQYXNzT3duUHRyPENyb3NzVGhyZWFkUmVzb3Vy
Y2VSZXF1ZXN0RGF0YT4gUmVzb3VyY2VSZXF1ZXN0Ojpkb1BsYXRmb3JtQ29weURhdGEoUAogICAg
IGRhdGEtPm1fdG9rZW4gPSBtX3Rva2VuOwogICAgIGRhdGEtPm1fYW5jaG9yVGV4dCA9IG1fYW5j
aG9yVGV4dDsKICAgICBkYXRhLT5tX292ZXJyaWRlQ29udGVudFR5cGUgPSBtX292ZXJyaWRlQ29u
dGVudFR5cGU7CisgICAgZGF0YS0+bV9zdWdnZXN0ZWRTYXZlTmFtZSA9IG1fc3VnZ2VzdGVkU2F2
ZU5hbWU7CiAgICAgZGF0YS0+bV9pc1hNTEhUVFBSZXF1ZXN0ID0gbV9pc1hNTEhUVFBSZXF1ZXN0
OwogICAgIGRhdGEtPm1fbXVzdEhhbmRsZUludGVybmFsbHkgPSBtX211c3RIYW5kbGVJbnRlcm5h
bGx5OwogICAgIGRhdGEtPm1faXNSZXF1ZXN0ZWRCeVBsdWdpbiA9IG1faXNSZXF1ZXN0ZWRCeVBs
dWdpbjsKQEAgLTI0Nyw2ICsyNDksNyBAQCB2b2lkIFJlc291cmNlUmVxdWVzdDo6ZG9QbGF0Zm9y
bUFkb3B0KFBhc3NPd25QdHI8Q3Jvc3NUaHJlYWRSZXNvdXJjZVJlcXVlc3REYXRhPgogICAgIG1f
dG9rZW4gPSBkYXRhLT5tX3Rva2VuOwogICAgIG1fYW5jaG9yVGV4dCA9IGRhdGEtPm1fYW5jaG9y
VGV4dDsKICAgICBtX292ZXJyaWRlQ29udGVudFR5cGUgPSBkYXRhLT5tX292ZXJyaWRlQ29udGVu
dFR5cGU7CisgICAgbV9zdWdnZXN0ZWRTYXZlTmFtZSA9IGRhdGEtPm1fc3VnZ2VzdGVkU2F2ZU5h
bWU7CiAgICAgbV9pc1hNTEhUVFBSZXF1ZXN0ID0gZGF0YS0+bV9pc1hNTEhUVFBSZXF1ZXN0Owog
ICAgIG1fbXVzdEhhbmRsZUludGVybmFsbHkgPSBkYXRhLT5tX211c3RIYW5kbGVJbnRlcm5hbGx5
OwogICAgIG1faXNSZXF1ZXN0ZWRCeVBsdWdpbiA9IGRhdGEtPm1faXNSZXF1ZXN0ZWRCeVBsdWdp
bjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFnZS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2UuY3BwCmluZGV4IDQ1ZjBmM2Zi
OGE4NTdmOWQyODIzYmFjZmQwNzQ4NjcxNjRmYzdkYTcuLjIxZTkwNmEzYjU4NDE3YWU1Nzk5YWUx
ZWRjOWJiYzk3ZGQzYzI5ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9B
cGkvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdl
LmNwcApAQCAtNTU3LDcgKzU1Nyw3IEBAIHByaXZhdGU6CiAgICAgfQogfTsKIAotdm9pZCBXZWJQ
YWdlUHJpdmF0ZTo6bG9hZChjb25zdCBjaGFyKiB1cmwsIGNvbnN0IGNoYXIqIG5ldHdvcmtUb2tl
biwgY29uc3QgY2hhciogbWV0aG9kLCBQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q6OkNhY2hlUG9s
aWN5IGNhY2hlUG9saWN5LCBjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgY29u
c3QgY2hhciogY29uc3QqIGhlYWRlcnMsIHNpemVfdCBoZWFkZXJzTGVuZ3RoLCBib29sIGlzSW5p
dGlhbCwgYm9vbCBtdXN0SGFuZGxlSW50ZXJuYWxseSwgYm9vbCBmb3JjZURvd25sb2FkLCBjb25z
dCBjaGFyKiBvdmVycmlkZUNvbnRlbnRUeXBlKQordm9pZCBXZWJQYWdlUHJpdmF0ZTo6bG9hZChj
b25zdCBjaGFyKiB1cmwsIGNvbnN0IGNoYXIqIG5ldHdvcmtUb2tlbiwgY29uc3QgY2hhciogbWV0
aG9kLCBQbGF0Zm9ybTo6TmV0d29ya1JlcXVlc3Q6OkNhY2hlUG9saWN5IGNhY2hlUG9saWN5LCBj
b25zdCBjaGFyKiBkYXRhLCBzaXplX3QgZGF0YUxlbmd0aCwgY29uc3QgY2hhciogY29uc3QqIGhl
YWRlcnMsIHNpemVfdCBoZWFkZXJzTGVuZ3RoLCBib29sIGlzSW5pdGlhbCwgYm9vbCBtdXN0SGFu
ZGxlSW50ZXJuYWxseSwgYm9vbCBmb3JjZURvd25sb2FkLCBjb25zdCBjaGFyKiBvdmVycmlkZUNv
bnRlbnRUeXBlLCBjb25zdCBjaGFyKiBzdWdnZXN0ZWRTYXZlTmFtZSkKIHsKICAgICBzdG9wQ3Vy
cmVudExvYWQoKTsKICAgICBEZWZlcnJlZFRhc2tMb2FkTWFudWFsU2NyaXB0OjpmaW5pc2hPckNh
bmNlbCh0aGlzKTsKQEAgLTYwMCw2ICs2MDAsOCBAQCB2b2lkIFdlYlBhZ2VQcml2YXRlOjpsb2Fk
KGNvbnN0IGNoYXIqIHVybCwgY29uc3QgY2hhciogbmV0d29ya1Rva2VuLCBjb25zdCBjaGFyKgog
ICAgIGlmIChmb3JjZURvd25sb2FkKQogICAgICAgICByZXF1ZXN0LnNldEZvcmNlRG93bmxvYWQo
dHJ1ZSk7CiAKKyAgICByZXF1ZXN0LnNldFN1Z2dlc3RlZFNhdmVOYW1lKHN1Z2dlc3RlZFNhdmVO
YW1lKTsKKwogICAgIG1fbWFpbkZyYW1lLT5sb2FkZXIoKS0+bG9hZChyZXF1ZXN0LCAiIiAvKiBu
YW1lICovLCBmYWxzZSk7CiB9CiAKQEAgLTYyNiw3ICs2MjgsNyBAQCB2b2lkIFdlYlBhZ2U6Omxv
YWRGaWxlKGNvbnN0IGNoYXIqIHBhdGgsIGNvbnN0IGNoYXIqIG92ZXJyaWRlQ29udGVudFR5cGUp
CiAKIHZvaWQgV2ViUGFnZTo6ZG93bmxvYWQoY29uc3QgUGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0
JiByZXF1ZXN0KQogewotICAgIGQtPmxvYWQocmVxdWVzdC5nZXRVcmxSZWYoKS5jX3N0cigpLCAw
LCAiR0VUIiwgUGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpVc2VQcm90b2NvbENhY2hlUG9saWN5
LCAwLCAwLCAwLCAwLCBmYWxzZSwgZmFsc2UsIHRydWUsICIiKTsKKyAgICBkLT5sb2FkKHJlcXVl
c3QuZ2V0VXJsUmVmKCkuY19zdHIoKSwgMCwgIkdFVCIsIFBsYXRmb3JtOjpOZXR3b3JrUmVxdWVz
dDo6VXNlUHJvdG9jb2xDYWNoZVBvbGljeSwgMCwgMCwgMCwgMCwgZmFsc2UsIGZhbHNlLCB0cnVl
LCAiIiwgcmVxdWVzdC5nZXRTdWdnZXN0ZWRTYXZlTmFtZSgpLmNfc3RyKCkpOwogfQogCiB2b2lk
IFdlYlBhZ2VQcml2YXRlOjpsb2FkU3RyaW5nKGNvbnN0IGNoYXIqIHN0cmluZywgY29uc3QgY2hh
ciogYmFzZVVSTCwgY29uc3QgY2hhciogY29udGVudFR5cGUsIGNvbnN0IGNoYXIqIGZhaWxpbmdV
UkwpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkvQXBpL1dlYlBhZ2VfcC5o
IGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L0FwaS9XZWJQYWdlX3AuaAppbmRleCA4MzI1YzQ4
NjAwYjA2OTVlZWFmYTdmODA4OTljNmY4ZDRmZmU1MjJhLi4xYzg2YzFhNGFjNDIwZDQ2MjZkZDZh
MDcyNjIwYTE3ZDBiMTA1MzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2JsYWNrYmVycnkv
QXBpL1dlYlBhZ2VfcC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9BcGkvV2ViUGFn
ZV9wLmgKQEAgLTg4LDcgKzg4LDcgQEAgcHVibGljOgogICAgIGJvb2wgaGFuZGxlTW91c2VFdmVu
dChXZWJDb3JlOjpQbGF0Zm9ybU1vdXNlRXZlbnQmKTsKICAgICBib29sIGhhbmRsZVdoZWVsRXZl
bnQoV2ViQ29yZTo6UGxhdGZvcm1XaGVlbEV2ZW50Jik7CiAKLSAgICB2b2lkIGxvYWQoY29uc3Qg
Y2hhciogdXJsLCBjb25zdCBjaGFyKiBuZXR3b3JrVG9rZW4sIGNvbnN0IGNoYXIqIG1ldGhvZCwg
UGxhdGZvcm06Ok5ldHdvcmtSZXF1ZXN0OjpDYWNoZVBvbGljeSwgY29uc3QgY2hhciogZGF0YSwg
c2l6ZV90IGRhdGFMZW5ndGgsIGNvbnN0IGNoYXIqIGNvbnN0KiBoZWFkZXJzLCBzaXplX3QgaGVh
ZGVyc0xlbmd0aCwgYm9vbCBpc0luaXRpYWwsIGJvb2wgbXVzdEhhbmRsZUludGVybmFsbHkgPSBm
YWxzZSwgYm9vbCBmb3JjZURvd25sb2FkID0gZmFsc2UsIGNvbnN0IGNoYXIqIG92ZXJyaWRlQ29u
dGVudFR5cGUgPSAiIik7CisgICAgdm9pZCBsb2FkKGNvbnN0IGNoYXIqIHVybCwgY29uc3QgY2hh
ciogbmV0d29ya1Rva2VuLCBjb25zdCBjaGFyKiBtZXRob2QsIFBsYXRmb3JtOjpOZXR3b3JrUmVx
dWVzdDo6Q2FjaGVQb2xpY3ksIGNvbnN0IGNoYXIqIGRhdGEsIHNpemVfdCBkYXRhTGVuZ3RoLCBj
b25zdCBjaGFyKiBjb25zdCogaGVhZGVycywgc2l6ZV90IGhlYWRlcnNMZW5ndGgsIGJvb2wgaXNJ
bml0aWFsLCBib29sIG11c3RIYW5kbGVJbnRlcm5hbGx5ID0gZmFsc2UsIGJvb2wgZm9yY2VEb3du
bG9hZCA9IGZhbHNlLCBjb25zdCBjaGFyKiBvdmVycmlkZUNvbnRlbnRUeXBlID0gIiIsIGNvbnN0
IGNoYXIqIHN1Z2dlc3RlZFNhdmVOYW1lID0gIiIpOwogICAgIHZvaWQgbG9hZFN0cmluZyhjb25z
dCBjaGFyKiBzdHJpbmcsIGNvbnN0IGNoYXIqIGJhc2VVUkwsIGNvbnN0IGNoYXIqIG1pbWVUeXBl
LCBjb25zdCBjaGFyKiBmYWlsaW5nVVJMID0gMCk7CiAgICAgYm9vbCBleGVjdXRlSmF2YVNjcmlw
dChjb25zdCBjaGFyKiBzY3JpcHQsIEphdmFTY3JpcHREYXRhVHlwZSYgcmV0dXJuVHlwZSwgV2Vi
U3RyaW5nJiByZXR1cm5WYWx1ZSk7CiAgICAgYm9vbCBleGVjdXRlSmF2YVNjcmlwdEluSXNvbGF0
ZWRXb3JsZChjb25zdCBXZWJDb3JlOjpTY3JpcHRTb3VyY2VDb2RlJiwgSmF2YVNjcmlwdERhdGFU
eXBlJiByZXR1cm5UeXBlLCBXZWJTdHJpbmcmIHJldHVyblZhbHVlKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvYmxhY2tiZXJyeS9XZWJDb3JlU3VwcG9ydC9GcmFtZUxvYWRlckNsaWVudEJs
YWNrQmVycnkuY3BwIGIvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0Zy
YW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKaW5kZXggNTkyNGZhMTM3YmFmMGJjMGE5NGU0
MmE3MTdiNWU1YWZkNGYxMDEyYS4uYjJkZTc2ZTM5MjhmZjJjNzM1YmVhYzQ2ZDIwYTNjMjllZTA3
ZDQ4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9ibGFja2JlcnJ5L1dlYkNvcmVTdXBwb3J0
L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9ibGFj
a2JlcnJ5L1dlYkNvcmVTdXBwb3J0L0ZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeS5jcHAKQEAg
LTExMzQsMTAgKzExMzQsOSBAQCBQYXNzUmVmUHRyPEZyYW1lTmV0d29ya2luZ0NvbnRleHQ+IEZy
YW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeTo6Y3JlYXRlTmV0d29ya2luZwogICAgIHJldHVybiBG
cmFtZU5ldHdvcmtpbmdDb250ZXh0QmxhY2tCZXJyeTo6Y3JlYXRlKG1fZnJhbWUpOwogfQogCi12
b2lkIEZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeTo6c3RhcnREb3dubG9hZChjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgLypzdWdnZXN0ZWROYW1lKi8pCit2
b2lkIEZyYW1lTG9hZGVyQ2xpZW50QmxhY2tCZXJyeTo6c3RhcnREb3dubG9hZChjb25zdCBSZXNv
dXJjZVJlcXVlc3QmIHJlcXVlc3QsIGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVkTmFtZSkKIHsKLSAg
ICAvLyBGSVhNRTogdXNlIHRoZSBzdWdnZXN0ZWROYW1lPwotICAgIG1fd2ViUGFnZVByaXZhdGUt
PmxvYWQocmVxdWVzdC51cmwoKS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpLCAwLCAiR0VUIiwgTmV0
d29ya1JlcXVlc3Q6OlVzZVByb3RvY29sQ2FjaGVQb2xpY3ksIDAsIDAsIDAsIDAsIGZhbHNlLCBm
YWxzZSwgdHJ1ZSwgIiIpOworICAgIG1fd2ViUGFnZVByaXZhdGUtPmxvYWQocmVxdWVzdC51cmwo
KS5zdHJpbmcoKS51dGY4KCkuZGF0YSgpLCAwLCAiR0VUIiwgTmV0d29ya1JlcXVlc3Q6OlVzZVBy
b3RvY29sQ2FjaGVQb2xpY3ksIDAsIDAsIDAsIDAsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwgIiIsIHN1
Z2dlc3RlZE5hbWUudXRmOCgpLmRhdGEoKSk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXJDbGllbnRC
bGFja0JlcnJ5Ojpkb3dubG9hZChSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBjb25zdCBSZXNvdXJjZVJlc3BvbnNl
JiByKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>