<?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>60508</bug_id>
          
          <creation_ts>2011-05-09 14:53:21 -0700</creation_ts>
          <short_desc>[chromium] Make throttling of WebGL based on webgl frames, not compositor frames</short_desc>
          <delta_ts>2011-05-11 15:51:12 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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="Nat Duca">nduca</reporter>
          <assigned_to name="Nat Duca">nduca</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gman</cc>
    
    <cc>jamesr</cc>
    
    <cc>kbr</cc>
    
    <cc>nduca</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>400774</commentid>
    <comment_count>0</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-05-09 14:53:21 -0700</bug_when>
    <thetext>[chromium] Make throttling of WebGL based on webgl frames, not compositor frames</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400784</commentid>
    <comment_count>1</comment_count>
      <attachid>92859</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-05-09 15:02:36 -0700</bug_when>
    <thetext>Created attachment 92859
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400792</commentid>
    <comment_count>2</comment_count>
      <attachid>92859</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-05-09 15:11:19 -0700</bug_when>
    <thetext>Comment on attachment 92859
Patch

WebCore code normally uses a WebCore::Timer() with a delay of 0 to do this sort of callback - will this work in this case?  I believe this will take care of your layer lifetime issues.

For an example see Document::m_styleRecalcTimer</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>400996</commentid>
    <comment_count>3</comment_count>
      <attachid>92908</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-05-09 19:16:08 -0700</bug_when>
    <thetext>Created attachment 92908
Use timer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401005</commentid>
    <comment_count>4</comment_count>
      <attachid>92908</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-05-09 19:42:17 -0700</bug_when>
    <thetext>Comment on attachment 92908
Use timer.

Attachment 92908 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/8646807</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401008</commentid>
    <comment_count>5</comment_count>
      <attachid>92910</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-05-09 19:48:23 -0700</bug_when>
    <thetext>Created attachment 92910
Make it build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401011</commentid>
    <comment_count>6</comment_count>
      <attachid>92910</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2011-05-09 19:53:51 -0700</bug_when>
    <thetext>Comment on attachment 92910
Make it build.

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

Some nits for now.  I think it looks OK but think that Ken should do the final review.

&gt; Source/WebCore/platform/graphics/chromium/WebGLLayerChromium.cpp:146
&gt; +    // Check if the context is gone.

WebKit style frowns on this sort of comment since it should be obvious what the check is doing just by reading the conditional.

&gt; Source/WebCore/platform/graphics/chromium/WebGLLayerChromium.cpp:150
&gt; +    // Actually do the rate limiting.

WK style isn&apos;t too fond of this either.

&gt; Source/WebCore/platform/graphics/chromium/WebGLLayerChromium.cpp:152
&gt; +    extensions-&gt;rateLimitOffscreenContextCHROMIUM();

What if we lose the context while the task is pending?  Does anything special happen?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401013</commentid>
    <comment_count>7</comment_count>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-05-09 20:15:33 -0700</bug_when>
    <thetext>This extension should behave similarly to other GL APIs upon context lost: it will fail, but it shouldn&apos;t explode. Our Chromium-side implementation of the extension should hold to that standard.

I verified that this is the case with the chromium-side of the implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>401014</commentid>
    <comment_count>8</comment_count>
      <attachid>92912</attachid>
    <who name="Nat Duca">nduca</who>
    <bug_when>2011-05-09 20:16:21 -0700</bug_when>
    <thetext>Created attachment 92912
remove comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402233</commentid>
    <comment_count>9</comment_count>
      <attachid>92912</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2011-05-11 13:41:55 -0700</bug_when>
    <thetext>Comment on attachment 92912
remove comments.

Looks great. r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402366</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-11 15:47:38 -0700</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 92912:

http/tests/misc/favicon-loads-with-icon-loading-override.html bug 58412 (author: alice.liu@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402370</commentid>
    <comment_count>11</comment_count>
      <attachid>92912</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-11 15:51:08 -0700</bug_when>
    <thetext>Comment on attachment 92912
remove comments.

Clearing flags on attachment: 92912

Committed r86278: &lt;http://trac.webkit.org/changeset/86278&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>402371</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2011-05-11 15:51:12 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92859</attachid>
            <date>2011-05-09 15:02:36 -0700</date>
            <delta_ts>2011-05-09 19:16:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60508-20110509150235.patch</filename>
            <type>text/plain</type>
            <size>15510</size>
            <attacher name="Nat Duca">nduca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODU3ODQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBiNzc5ZTg2NThiN2FhMDM3
MGZkYTdhY2M2ODM1NTczMTY0MGIyYjk1Li45ZmE4YTQ0ZjhiODE2MGI3ZDNkOThmYjgxNGI3NzM2
NGFjZGRjYWZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTEtMDUtMDkgIE5hdCBE
dWNhICA8bmR1Y2FAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFtjaHJvbWl1bV0gTWFrZSB0aHJvdHRsaW5nIG9mIFdlYkdMIGJh
c2VkIG9uIHdlYmdsIGZyYW1lcywgbm90IGNvbXBvc2l0b3IgZnJhbWVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDUwOAorCisgICAgICAgIFdoZW4g
YSBXZWJHTCBsYXllciBpcyBkaXJ0aWVkIG91dHNpZGUgb2YgYSByZXF1ZXN0QW5pbUZyYW1lIGNh
bGxiYWNrLCB3ZSBuZWVkCisgICAgICAgIHRvIHByZXZlbnQgV2ViR0wgZnJvbSBydW5uaW5nIHRv
byBmYXIgYWhlYWQgb2YgdGhlIEdQVSBwcm9jZXNzLiBUaGUgY3VycmVudAorICAgICAgICB0aHJv
dHRsaW5nIG1lY2hhbmlzbSByZWxpZXMgb24gcHJlcGFyZVRleHR1cmUgYmVpbmcgY2FsbGVkIGZv
ciBldmVyeSBXZWJHTCBmcmFtZS4KKyAgICAgICAgSG93ZXZlciwgaW4gYSBub24tcmVxdWVzdEFu
aW1GcmFtZSBhcHBsaWNhdGlvbiwgbXVsdGlwbGUgZnJhbWVzIG1pZ2h0IGdldCBjcmVhdGVkCisg
ICAgICAgIGJlZm9yZSB0aGUgY29tcG9zaXRvciBydW5zIGFuZCBjYWxscyBwcmVwYXJlVGV4dHVy
ZSBvbiB0aGUgc3VyZmFjZS4KKworICAgICAgICBUbyBhZGRyZXNzIHRoaXMsIHdlIHBvc3QgYSB0
YXNrIHRoYXQgY2FsbHMgYSBzcGVjaWFsIHJhdGUgbGltaXRpbmcgR0wgZXh0ZW5zaW9uIG9uCisg
ICAgICAgIHRoZSBXZWJHTCBjb250ZXh0IGFmdGVyIGV2ZXJ5IFdlYkdMICJmcmFtZS4iIFdoZW4g
dGhlIGNvbXBvc2l0b3IgcnVucywgaXQgY2FsbHMKKyAgICAgICAgcHJlcGFyZVRleHR1cmUgYXMg
dXN1YWwuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9FeHRlbnNpb25z
M0RDaHJvbWl1bS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
UmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hy
b21pdW06OkxheWVyUmVuZGVyZXJDaHJvbWl1bSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmg6CisgICAgICAgIChXZWJDb3JlOjpM
YXllclJlbmRlcmVyQ2hyb21pdW06OnNldElzQW5pbWF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6aXNBbmltYXRpbmcpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL1dlYkdMTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTExheWVyQ2hyb21pdW1SYXRlTGltaXRUYXNrOjpXZWJHTExheWVyQ2hyb21pdW1S
YXRlTGltaXRUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMTGF5ZXJDaHJvbWl1bVJhdGVM
aW1pdFRhc2s6OnJ1bik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTExheWVyQ2hyb21pdW1SYXRl
TGltaXRUYXNrOjpjYW5jZWwpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xMYXllckNocm9taXVt
OjpXZWJHTExheWVyQ2hyb21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xMYXllckNocm9t
aXVtOjp+V2ViR0xMYXllckNocm9taXVtKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMTGF5ZXJD
aHJvbWl1bTo6c2V0VGV4dHVyZVVwZGF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xMYXll
ckNocm9taXVtOjpzZXRDb250ZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9XZWJHTExheWVyQ2hyb21pdW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMTGF5ZXJD
aHJvbWl1bTo6Y29udGV4dCk6CisKIDIwMTEtMDUtMDQgIENocmlzIE1hcnJpbiAgPGNtYXJyaW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNpbW9uIEZyYXNlci4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0V4dGVuc2lvbnMz
RENocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9F
eHRlbnNpb25zM0RDaHJvbWl1bS5oCmluZGV4IGM2ZTBjNjY4ZTJhZGU2NDVhMzYyMTNjMjlhMDM5
YzNmZGU4YzBiNzkuLmIxYjdiNTJkZDJiYjk5NzdiZjIxZjkxNjdmYzE4MjVlMzdmYWU1NGIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0V4dGVu
c2lvbnMzRENocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vRXh0ZW5zaW9uczNEQ2hyb21pdW0uaApAQCAtNDMsNiArNDMsNyBAQCBwdWJsaWM6
CiAgICAgLy8gICBHTF9DSFJPTUlVTV9jb3B5X3RleHR1cmVfdG9fcGFyZW50X3RleHR1cmUKICAg
ICAvLyAgIEdMX0NIUk9NSVVNX2xhdGNoCiAgICAgLy8gICBHTF9DSFJPTUlVTV9zd2FwYnVmZmVy
c19jb21wbGV0ZV9jYWxsYmFjaworICAgIC8vICAgR0xfQ0hST01JVU1fcmF0ZV9saW1pdF9vZmZz
Y3JlZW5fY29udGV4dAogCiAgICAgLy8gRXh0ZW5zaW9uczNEIG1ldGhvZHMuCiAgICAgdmlydHVh
bCBib29sIHN1cHBvcnRzKGNvbnN0IFN0cmluZyYpOwpAQCAtODUsNiArODYsOSBAQCBwdWJsaWM6
CiAgICAgfTsKICAgICB2b2lkIHNldFN3YXBCdWZmZXJzQ29tcGxldGVDYWxsYmFja0NIUk9NSVVN
KFBhc3NPd25QdHI8U3dhcEJ1ZmZlcnNDb21wbGV0ZUNhbGxiYWNrQ0hST01JVU0+KTsKIAorICAg
IC8vIEdMX0NIUk9NSVVNX3JhdGVfbGltaXRfb2Zmc2NyZWVuX2NvbnRleHQKKyAgICB2b2lkIHJh
dGVMaW1pdE9mZnNjcmVlbkNvbnRleHRDSFJPTUlVTSgpOworCiBwcml2YXRlOgogICAgIC8vIElu
c3RhbmNlcyBvZiB0aGlzIGNsYXNzIGFyZSBzdHJpY3RseSBvd25lZCBieSB0aGUgR3JhcGhpY3ND
b250ZXh0M0QgaW1wbGVtZW50YXRpb24gYW5kIGRvIG5vdAogICAgIC8vIG5lZWQgdG8gYmUgaW5z
dGFudGlhdGVkIGJ5IGFueSBvdGhlciBjb2RlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVyZXJDaHJv
bWl1bS5jcHAKaW5kZXggNTFmNTg3NzRlMWNkM2E2ZDdjYmY0ZTk4OGQzODJmNzllMGNmOTc5ZS4u
ZWM2NDcwNmYzZTQ1OTg3ZTk1N2Q2NjUyZmQwMWY2OTVmNzNmOGFmMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9t
aXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9M
YXllclJlbmRlcmVyQ2hyb21pdW0uY3BwCkBAIC0xMjIsNiArMTIyLDcgQEAgTGF5ZXJSZW5kZXJl
ckNocm9taXVtOjpMYXllclJlbmRlcmVyQ2hyb21pdW0oUGFzc1JlZlB0cjxHcmFwaGljc0NvbnRl
eHQzRD4gY29udGUKICAgICAsIG1fY29udGV4dChjb250ZXh0KQogICAgICwgbV9jaGlsZENvbnRl
eHRzV2VyZUNvcGllZChmYWxzZSkKICAgICAsIG1fY29udGV4dFN1cHBvcnRzTGF0Y2goZmFsc2Up
CisgICAgLCBtX2FuaW1hdGluZyhmYWxzZSkKICAgICAsIG1fZGVmYXVsdFJlbmRlclN1cmZhY2Uo
MCkKIHsKICAgICBtX2NvbnRleHRTdXBwb3J0c0xhdGNoID0gbV9jb250ZXh0LT5nZXRFeHRlbnNp
b25zKCktPnN1cHBvcnRzKCJHTF9DSFJPTUlVTV9sYXRjaCIpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVt
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRl
cmVyQ2hyb21pdW0uaAppbmRleCA0ODQyYTViYjRkZDBkMTg5NzczZTMxNjc0MWY0YzQ0Y2YzZTYw
MDYyLi5iNmY2NWMzZmM1NzJkMzY2NjhhMzJkMDQ4OTExM2I1NDU0ZGY1MzIzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVy
Q2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1
bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uaApAQCAtODAsNiArODAsMTEgQEAgcHVibGljOgogICAg
IC8vIHVwZGF0ZXMgYW5kIGRyYXdzIHRoZSBjdXJyZW50IGxheWVycyBvbnRvIHRoZSBiYWNrYnVm
ZmVyCiAgICAgdm9pZCB1cGRhdGVBbmREcmF3TGF5ZXJzKCk7CiAKKyAgICAvLyBTZXQgYnkgV2Vi
Vmlld0ltcGwgd2hlbiBhbmltYXRpb24gY2FsbGJhY2tzIGFyZSBydW5uaW5nLgorICAgIC8vIEZJ
WE1FOiBXaGVuIHdlIG1vdmUgc2NoZWR1bGluZyBpbnRvIHRoZSBjb21wb3NpdG9yLCB3ZSBjYW4g
cmVtb3ZlIHRoaXMgZmxhZy4KKyAgICB2b2lkIHNldElzQW5pbWF0aW5nKGJvb2wgYW5pbWF0aW5n
KSB7IG1fYW5pbWF0aW5nID0gYW5pbWF0aW5nOyB9CisgICAgYm9vbCBpc0FuaW1hdGluZygpIGNv
bnN0IHsgcmV0dXJuIG1fYW5pbWF0aW5nOyB9CisKICAgICAvLyB3YWl0cyBmb3IgcmVuZGVyaW5n
IHRvIGZpbmlzaAogICAgIHZvaWQgZmluaXNoKCk7CiAKQEAgLTIzMyw2ICsyMzgsOCBAQCBwcml2
YXRlOgogCiAgICAgYm9vbCBtX2NvbnRleHRTdXBwb3J0c0xhdGNoOwogCisgICAgYm9vbCBtX2Fu
aW1hdGluZzsKKwogICAgIFJlbmRlclN1cmZhY2VDaHJvbWl1bSogbV9kZWZhdWx0UmVuZGVyU3Vy
ZmFjZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2Nocm9taXVtL1dlYkdMTGF5ZXJDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jaHJvbWl1bS9XZWJHTExheWVyQ2hyb21pdW0uY3BwCmluZGV4IGRiMDkxNDI5
OTM4NjA0ZWVlZjVmNzM4ZmFhMWE4MjJlZmMxOWVjM2QuLjZhOTk1NjRiOWFkMTNkNWU5Zjg0MmFj
YThlYjM1Y2Q3YWZkMDI0ZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL1dlYkdMTGF5ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vV2ViR0xMYXllckNocm9taXVtLmNwcApAQCAt
MzQsMTEgKzM0LDU1IEBACiAKICNpbmNsdWRlICJXZWJHTExheWVyQ2hyb21pdW0uaCIKIAorI2lu
Y2x1ZGUgIkV4dGVuc2lvbnMzRENocm9taXVtLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0
M0QuaCIKICNpbmNsdWRlICJMYXllclJlbmRlcmVyQ2hyb21pdW0uaCIKKyNpbmNsdWRlICJUcmFj
ZUV2ZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorLy8gVGhpcyBjbGFzcyBjYWxscyBy
YXRlTGltaXRPZmZzY3JlZW5Db250ZXh0Q0hST01JVU0gb24gdGhlIFdlYkdMTGF5ZXIgY29udGV4
dCwgYnV0CisvLyBob2xkcyBhIHdlYWsgcmVmZXJlbmNlIHRvIHRoZSBsYXllciBpbiBjYXNlIHRo
ZSBsYXllciBkaWVzIHdoaWxlIHRoZSB0YXNrIGlzIHBlbmRpbmcuCitjbGFzcyBXZWJHTExheWVy
Q2hyb21pdW1SYXRlTGltaXRUYXNrIHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBXZWJHTExheWVy
Q2hyb21pdW1SYXRlTGltaXRUYXNrKFdlYkdMTGF5ZXJDaHJvbWl1bSogbGF5ZXIpIDogbV9sYXll
cihsYXllcikgeyB9CisKKyAgICBzdGF0aWMgdm9pZCBydW4odm9pZCogdXNlcmRhdGEpCisgICAg
eworICAgICAgICBUUkFDRV9FVkVOVCgiV2ViR0xMYXllckNocm9taXVtUmF0ZUxpbWl0VGFzazo6
cnVuIiwgdXNlcmRhdGEsIDApOworCisgICAgICAgIFdlYkdMTGF5ZXJDaHJvbWl1bVJhdGVMaW1p
dFRhc2sqIHRhc2sgPSBzdGF0aWNfY2FzdDxXZWJHTExheWVyQ2hyb21pdW1SYXRlTGltaXRUYXNr
Kj4odXNlcmRhdGEpOworCisgICAgICAgIC8vIENoZWNrIGlmIHRoZSB0YXNrIHdhcyBjYW5jZWxs
ZWQuCisgICAgICAgIGlmICghdGFzay0+bV9sYXllcikgeworICAgICAgICAgICAgZGVsZXRlIHRh
c2s7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICAvLyBDbGVhciB0
aGUgdGFzayBvbiB0aGUgbGF5ZXIuCisgICAgICAgIHRhc2stPm1fbGF5ZXItPm1fcmF0ZUxpbWl0
aW5nVGFzayA9IDA7CisKKyAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGNvbnRleHQgaXMgZ29uZS4K
KyAgICAgICAgaWYgKCF0YXNrLT5tX2xheWVyLT5jb250ZXh0KCkpCisgICAgICAgICAgICByZXR1
cm47CisKKyAgICAgICAgLy8gQWN0dWFsbHkgZG8gdGhlIHJhdGUgbGltaXRpbmcuCisgICAgICAg
IEV4dGVuc2lvbnMzRENocm9taXVtKiBleHRlbnNpb25zID0gc3RhdGljX2Nhc3Q8RXh0ZW5zaW9u
czNEQ2hyb21pdW0qPih0YXNrLT5tX2xheWVyLT5jb250ZXh0KCktPmdldEV4dGVuc2lvbnMoKSk7
CisgICAgICAgIGV4dGVuc2lvbnMtPnJhdGVMaW1pdE9mZnNjcmVlbkNvbnRleHRDSFJPTUlVTSgp
OworCisgICAgICAgIC8vIEtpbGwgdGhlIHRhc2sgb2JqZWN0LgorICAgICAgICBkZWxldGUgdGFz
azsKKyAgICB9CisKKyAgICB2b2lkIGNhbmNlbCgpCisgICAgeworICAgICAgICBtX2xheWVyID0g
MDsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgV2ViR0xMYXllckNocm9taXVtKiBtX2xheWVyOwor
fTsKKwogUGFzc1JlZlB0cjxXZWJHTExheWVyQ2hyb21pdW0+IFdlYkdMTGF5ZXJDaHJvbWl1bTo6
Y3JlYXRlKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSogb3duZXIpCiB7CiAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBXZWJHTExheWVyQ2hyb21pdW0ob3duZXIpKTsKQEAgLTQ3LDEyICs5MSwxOCBAQCBQ
YXNzUmVmUHRyPFdlYkdMTGF5ZXJDaHJvbWl1bT4gV2ViR0xMYXllckNocm9taXVtOjpjcmVhdGUo
R3JhcGhpY3NMYXllckNocm9taXVtKgogV2ViR0xMYXllckNocm9taXVtOjpXZWJHTExheWVyQ2hy
b21pdW0oR3JhcGhpY3NMYXllckNocm9taXVtKiBvd25lcikKICAgICA6IENhbnZhc0xheWVyQ2hy
b21pdW0ob3duZXIpCiAgICAgLCBtX2NvbnRleHQoMCkKKyAgICAsIG1fY29udGV4dFN1cHBvcnRz
UmF0ZUxpbWl0aW5nRXh0ZW5zaW9uKGZhbHNlKQorICAgICwgbV9yYXRlTGltaXRpbmdUYXNrKDAp
CiAgICAgLCBtX3RleHR1cmVVcGRhdGVkKGZhbHNlKQogewogfQogCiBXZWJHTExheWVyQ2hyb21p
dW06On5XZWJHTExheWVyQ2hyb21pdW0oKQogeworICAgIGlmIChtX3JhdGVMaW1pdGluZ1Rhc2sp
CisgICAgICAgIG1fcmF0ZUxpbWl0aW5nVGFzay0+Y2FuY2VsKCk7CisgICAgbV9yYXRlTGltaXRp
bmdUYXNrID0gMDsKKwogICAgIGlmIChtX2NvbnRleHQgJiYgbGF5ZXJSZW5kZXJlcigpKQogICAg
ICAgICBsYXllclJlbmRlcmVyKCktPnJlbW92ZUNoaWxkQ29udGV4dChtX2NvbnRleHQpOwogfQpA
QCAtOTEsNiArMTQxLDEyIEBAIHZvaWQgV2ViR0xMYXllckNocm9taXVtOjp1cGRhdGVDb21wb3Np
dG9yUmVzb3VyY2VzKCkKIHZvaWQgV2ViR0xMYXllckNocm9taXVtOjpzZXRUZXh0dXJlVXBkYXRl
ZCgpCiB7CiAgICAgbV90ZXh0dXJlVXBkYXRlZCA9IHRydWU7CisgICAgLy8gSWYgV2ViR0wgY29t
bWFuZHMgYXJlIGlzc3VlZCBvdXRzaWRlIG9mIGEgdGhlIGFuaW1hdGlvbiBjYWxsYmFja3MsIHRo
ZW4gdXNlCisgICAgLy8gY2FsbCByYXRlTGltaXRPZmZzY3JlZW5Db250ZXh0Q0hST01JVU0oKSB0
byBrZWVwIHRoZSBjb250ZXh0IGZyb20gZ2V0dGluZyB0b28gZmFyIGFoZWFkLgorICAgIGlmIChs
YXllclJlbmRlcmVyKCkgJiYgIWxheWVyUmVuZGVyZXIoKS0+aXNBbmltYXRpbmcoKSAmJiBtX2Nv
bnRleHRTdXBwb3J0c1JhdGVMaW1pdGluZ0V4dGVuc2lvbiAmJiAhbV9yYXRlTGltaXRpbmdUYXNr
KSB7CisgICAgICAgIG1fcmF0ZUxpbWl0aW5nVGFzayA9IG5ldyBXZWJHTExheWVyQ2hyb21pdW1S
YXRlTGltaXRUYXNrKHRoaXMpOworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFdlYkdMTGF5ZXJD
aHJvbWl1bVJhdGVMaW1pdFRhc2s6OnJ1biwgbV9yYXRlTGltaXRpbmdUYXNrKTsKKyAgICB9CiB9
CiAKIHZvaWQgV2ViR0xMYXllckNocm9taXVtOjpzZXRDb250ZXh0KGNvbnN0IEdyYXBoaWNzQ29u
dGV4dDNEKiBjb250ZXh0KQpAQCAtMTE0LDYgKzE3MCw3IEBAIHZvaWQgV2ViR0xMYXllckNocm9t
aXVtOjpzZXRDb250ZXh0KGNvbnN0IEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0KQogICAgIH0K
ICAgICBtX3RleHR1cmVJZCA9IHRleHR1cmVJZDsKICAgICBtX3ByZW11bHRpcGxpZWRBbHBoYSA9
IG1fY29udGV4dC0+Z2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVtdWx0aXBsaWVkQWxwaGE7Cisg
ICAgbV9jb250ZXh0U3VwcG9ydHNSYXRlTGltaXRpbmdFeHRlbnNpb24gPSBtX2NvbnRleHQtPmdl
dEV4dGVuc2lvbnMoKS0+c3VwcG9ydHMoIkdMX0NIUk9NSVVNX3JhdGVfbGltaXRfb2Zmc2NyZWVu
X2NvbnRleHQiKTsKIH0KIAogdm9pZCBXZWJHTExheWVyQ2hyb21pdW06OnNldExheWVyUmVuZGVy
ZXIoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBuZXdMYXllclJlbmRlcmVyKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vV2ViR0xMYXllckNocm9t
aXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9XZWJHTExh
eWVyQ2hyb21pdW0uaAppbmRleCAyNWU2ZmU2NTc2YjczMTI3ODMyNzJmNmMyOWE3N2NlNTUwNDQw
ZjdhLi5kM2YwMWI4ZGQ5NTQ2ZTI5NmRlOTg5Y2RhYzMwZjVlMzYzOGZmOTRjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9XZWJHTExheWVyQ2hy
b21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9X
ZWJHTExheWVyQ2hyb21pdW0uaApAQCAtMzksNiArMzksNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBHcmFwaGljc0NvbnRleHQzRDsKK2NsYXNzIFdlYkdMTGF5ZXJDaHJvbWl1bVJh
dGVMaW1pdFRhc2s7CiAKIC8vIEEgTGF5ZXIgY29udGFpbmluZyBhIFdlYkdMIGNhbnZhcwogY2xh
c3MgV2ViR0xMYXllckNocm9taXVtIDogcHVibGljIENhbnZhc0xheWVyQ2hyb21pdW0gewpAQCAt
NTIsNiArNTMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRUZXh0dXJlVXBkYXRlZCgpOwogCiAg
ICAgdm9pZCBzZXRDb250ZXh0KGNvbnN0IEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0KTsKKyAg
ICBHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCgpIHsgcmV0dXJuIG1fY29udGV4dDsgfQogCiAg
ICAgdmlydHVhbCB2b2lkIHNldExheWVyUmVuZGVyZXIoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7
CiAKQEAgLTYwLDExICs2MiwxNCBAQCBwcm90ZWN0ZWQ6CiAKIHByaXZhdGU6CiAgICAgZXhwbGlj
aXQgV2ViR0xMYXllckNocm9taXVtKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSogb3duZXIpOworICAg
IGZyaWVuZCBjbGFzcyBXZWJHTExheWVyQ2hyb21pdW1SYXRlTGltaXRUYXNrOwogCiAgICAgLy8g
R3JhcGhpY3NDb250ZXh0M0Q6OnBsYXRmb3JtTGF5ZXIgaGFzIGEgc2lkZS1lZmZlY3Qgb2YgYXNz
aWduaW5nIGl0c2VsZgogICAgIC8vIHRvIHRoZSBsYXllci4gQmVjYXVzZSBvZiB0aGF0IEdyYXBo
aWNzQ29udGV4dDNEJ3MgZGVzdHJ1Y3RvciB3aWxsIHJlc2V0CiAgICAgLy8gbGF5ZXIncyBjb250
ZXh0IHRvIDAuCiAgICAgR3JhcGhpY3NDb250ZXh0M0QqIG1fY29udGV4dDsKKyAgICBib29sIG1f
Y29udGV4dFN1cHBvcnRzUmF0ZUxpbWl0aW5nRXh0ZW5zaW9uOworICAgIFdlYkdMTGF5ZXJDaHJv
bWl1bVJhdGVMaW1pdFRhc2sqIG1fcmF0ZUxpbWl0aW5nVGFzazsKICAgICBib29sIG1fdGV4dHVy
ZVVwZGF0ZWQ7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDdhZDFkOGZmMzE4
YjZiNmNhNWQ0OWQ1YWQ0NjRjZTRmZDYzNzZkZTMuLjdhM2VkZjYxN2IyNDYyMmFkNThmZjJkYTYy
NTZhMmJhYmY1NTM0M2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEg
QEAKKzIwMTEtMDUtMDkgIE5hdCBEdWNhICA8bmR1Y2FAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFtjaHJvbWl1bV0gTWFrZSB0
aHJvdHRsaW5nIG9mIFdlYkdMIGJhc2VkIG9uIHdlYmdsIGZyYW1lcywgbm90IGNvbXBvc2l0b3Ig
ZnJhbWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
MDUwOAorCisgICAgICAgIFRlbGwgTGF5ZXJSZW5kZXJlckNocm9taXVtIHdoZW4gdGhlIHJlcXVl
c3RBbmltRnJhbWUtY2FsbGJhY2tzIGFyZSBydW5uaW5nLgorCisgICAgICAgICogcHVibGljL1dl
YkdyYXBoaWNzQ29udGV4dDNELmg6CisgICAgICAgIChXZWJLaXQ6OldlYkdyYXBoaWNzQ29udGV4
dDNEOjpyYXRlTGltaXRPZmZzY3JlZW5Db250ZXh0Q0hST01JVU0pOgorICAgICAgICAqIHNyYy9F
eHRlbnNpb25zM0RDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFeHRlbnNpb25zM0RD
aHJvbWl1bTo6cmF0ZUxpbWl0T2Zmc2NyZWVuQ29udGV4dENIUk9NSVVNKToKKyAgICAgICAgKiBz
cmMvR3JhcGhpY3NDb250ZXh0M0RDaHJvbWl1bS5jcHA6CisgICAgICAgICogc3JjL0dyYXBoaWNz
Q29udGV4dDNESW50ZXJuYWwuaDoKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJWaWV3SW1wbDo6YW5pbWF0ZSk6CisKIDIwMTEtMDUtMDQgIEpheSBD
aXZlbGxpICA8amNpdmVsbGlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9q
YW4gVmFmYWkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJH
cmFwaGljc0NvbnRleHQzRC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR3Jh
cGhpY3NDb250ZXh0M0QuaAppbmRleCA4ZDVlYjEwZmQ4MTFhMDFhNWVhYTA0OTc0YTk4ZGVkYmFm
Y2ZmNGRmLi4zZGU3MmMyZWFjODAxNzRkOWNjN2I0MzhjY2I2NjdhOTlmOTYyZGYzIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHcmFwaGljc0NvbnRleHQzRC5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkdyYXBoaWNzQ29udGV4dDNE
LmgKQEAgLTE4Myw2ICsxODMsOSBAQCBwdWJsaWM6CiAgICAgLy8gR0xfQ0hST01JVU1fc3dhcGJ1
ZmZlcnNfY29tcGxldGVfY2FsbGJhY2sKICAgICB2aXJ0dWFsIHZvaWQgc2V0U3dhcEJ1ZmZlcnND
b21wbGV0ZUNhbGxiYWNrQ0hST01JVU0oV2ViR3JhcGhpY3NTd2FwQnVmZmVyc0NvbXBsZXRlQ2Fs
bGJhY2tDSFJPTUlVTSogY2FsbGJhY2spIHsgfQogCisgICAgLy8gR0xfQ0hST01JVU1fcmF0ZV9s
aW1pdF9vZmZzY3JlZW5fY29udGV4dAorICAgIHZpcnR1YWwgdm9pZCByYXRlTGltaXRPZmZzY3Jl
ZW5Db250ZXh0Q0hST01JVU0oKSB7IH0KKwogICAgIC8vIFRoZSBlbnRyeSBwb2ludHMgYmVsb3cg
bWFwIGRpcmVjdGx5IHRvIHRoZSBPcGVuR0wgRVMgMi4wIEFQSS4KICAgICAvLyBTZWU6IGh0dHA6
Ly93d3cua2hyb25vcy5vcmcvcmVnaXN0cnkvZ2xlcy8KICAgICAvLyBhbmQ6IGh0dHA6Ly93d3cu
a2hyb25vcy5vcmcvb3BlbmdsZXMvc2RrL2RvY3MvbWFuLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvRXh0ZW5zaW9uczNEQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvRXh0ZW5zaW9uczNEQ2hyb21pdW0uY3BwCmluZGV4IDEzY2RlNjc5ZmQx
MWE4M2QwNmRmY2E4MzRlOTk0MzA5MmQxMWM2NzIuLmQ1MzY1MDkyYTY5NDJiY2NhODg1NjAxYmRi
MTA3MzhiYzZlODI4YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0V4
dGVuc2lvbnMzRENocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9F
eHRlbnNpb25zM0RDaHJvbWl1bS5jcHAKQEAgLTE0NSw2ICsxNDUsMTEgQEAgdm9pZCBFeHRlbnNp
b25zM0RDaHJvbWl1bTo6c2V0U3dhcEJ1ZmZlcnNDb21wbGV0ZUNhbGxiYWNrQ0hST01JVU0oUGFz
c093blB0cjxTd2EKICAgICBtX2ludGVybmFsLT5zZXRTd2FwQnVmZmVyc0NvbXBsZXRlQ2FsbGJh
Y2tDSFJPTUlVTShjYWxsYmFjayk7CiB9CiAKK3ZvaWQgRXh0ZW5zaW9uczNEQ2hyb21pdW06OnJh
dGVMaW1pdE9mZnNjcmVlbkNvbnRleHRDSFJPTUlVTSgpCit7CisgICAgbV9pbnRlcm5hbC0+cmF0
ZUxpbWl0T2Zmc2NyZWVuQ29udGV4dENIUk9NSVVNKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJHTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEQ2hyb21pdW0uY3BwIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RDaHJvbWl1bS5jcHAKaW5kZXggN2E4
N2NiMjY4ZjcyMDJlZTI5Nzk4YTY4MDBhNGU3YmMyMTRmZWM0Ni4uZmI4NDU4ZjI2YmZiZDVlYWNm
NTlkYmQ4NDhkOWIwMTIzOWY0NzEwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RDaHJvbWl1bS5jcHAKQEAgLTgxMSw2ICs4MTEs
OCBAQCBERUxFR0FURV9UT19JTVBMXzEoZ2V0Q2hpbGRUb1BhcmVudExhdGNoQ0hST01JVU0sIEdD
M0R1aW50KikKIERFTEVHQVRFX1RPX0lNUExfMSh3YWl0TGF0Y2hDSFJPTUlVTSwgR0MzRHVpbnQp
CiBERUxFR0FURV9UT19JTVBMXzEoc2V0TGF0Y2hDSFJPTUlVTSwgR0MzRHVpbnQpCiAKK0RFTEVH
QVRFX1RPX0lNUEwocmF0ZUxpbWl0T2Zmc2NyZWVuQ29udGV4dENIUk9NSVVNKQorCiAvLy0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KIC8vIEdyYXBoaWNzQ29udGV4dDNECiAvLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbC5oIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbC5oCmluZGV4IDQ1MjBj
NjJiNWEwNzdiNWQzZWVhMGQ0ZjlkMTFhYTVkYmUzZDI2NWQuLjBjNTE1ZWJkYjc2MWNmYzgxNWIx
YjQ4NThhNjk0MTQ4YWI0MWU1YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0dyYXBoaWNzQ29udGV4dDNESW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9HcmFwaGljc0NvbnRleHQzREludGVybmFsLmgKQEAgLTI3Myw3ICsyNzMsNyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBibGl0RnJhbWVidWZmZXJDSFJPTUlVTShHQzNEaW50IHNyY1gwLCBH
QzNEaW50IHNyY1kwLCBHQzNEaW50IHNyY1gxLCBHQzNEaW50IHNyY1kxLCBHQzNEaW50IGRzdFgw
LCBHQzNEaW50IGRzdFkwLCBHQzNEaW50IGRzdFgxLCBHQzNEaW50IGRzdFkxLCBHQzNEYml0Zmll
bGQgbWFzaywgR0MzRGVudW0gZmlsdGVyKTsKICAgICB2b2lkIHJlbmRlcmJ1ZmZlclN0b3JhZ2VN
dWx0aXNhbXBsZUNIUk9NSVVNKEdDM0RlbnVtIHRhcmdldCwgR0MzRHNpemVpIHNhbXBsZXMsIEdD
M0RlbnVtIGludGVybmFsZm9ybWF0LCBHQzNEc2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQp
OwogCi0gICAgLy8gTGF0Y2ggc3VwcG9ydAorICAgIC8vIEdMX0NIUk9NSVVNX2xhdGNoCiAgICAg
dm9pZCBnZXRQYXJlbnRUb0NoaWxkTGF0Y2hDSFJPTUlVTShHQzNEdWludCogbGF0Y2hJZCk7CiAg
ICAgdm9pZCBnZXRDaGlsZFRvUGFyZW50TGF0Y2hDSFJPTUlVTShHQzNEdWludCogbGF0Y2hJZCk7
CiAgICAgdm9pZCB3YWl0TGF0Y2hDSFJPTUlVTShHQzNEdWludCBsYXRjaElkKTsKQEAgLTI4Miw2
ICsyODIsOSBAQCBwdWJsaWM6CiAgICAgLy8gR0xfQ0hST01JVU1fc3dhcGJ1ZmZlcnNfY29tcGxl
dGVfY2FsbGJhY2sKICAgICB2b2lkIHNldFN3YXBCdWZmZXJzQ29tcGxldGVDYWxsYmFja0NIUk9N
SVVNKFBhc3NPd25QdHI8RXh0ZW5zaW9uczNEQ2hyb21pdW06OlN3YXBCdWZmZXJzQ29tcGxldGVD
YWxsYmFja0NIUk9NSVVNPik7CiAKKyAgICAvLyBHTF9DSFJPTUlVTV9yYXRlX2xpbWl0X29mZnNj
cmVlbl9jb250ZXh0CisgICAgdm9pZCByYXRlTGltaXRPZmZzY3JlZW5Db250ZXh0Q0hST01JVU0o
KTsKKwogcHJpdmF0ZToKICAgICBPd25QdHI8V2ViS2l0OjpXZWJHcmFwaGljc0NvbnRleHQzRD4g
bV9pbXBsOwogICAgIE93blB0cjxFeHRlbnNpb25zM0RDaHJvbWl1bT4gbV9leHRlbnNpb25zOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCmluZGV4IGNiMDI0NjY5
NjgyZmZiM2ZjMzFiODA5MDdlYmJmODZiODdhM2FmMWQuLjcxNTkzZjE4ZjY2NGU3NWU5M2JjYTNj
MGNiYzdlYTYxZDYzOGQ1NzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3
SW1wbC5jcHAKQEAgLTEwMDIsOCArMTAwMiwxMyBAQCB2b2lkIFdlYlZpZXdJbXBsOjphbmltYXRl
KCkKICAgICBXZWJGcmFtZUltcGwqIHdlYmZyYW1lID0gbWFpbkZyYW1lSW1wbCgpOwogICAgIGlm
ICh3ZWJmcmFtZSkgewogICAgICAgICBGcmFtZVZpZXcqIHZpZXcgPSB3ZWJmcmFtZS0+ZnJhbWVW
aWV3KCk7Ci0gICAgICAgIGlmICh2aWV3KQorICAgICAgICBpZiAodmlldykgeworICAgICAgICAg
ICAgaWYgKG1fbGF5ZXJSZW5kZXJlcikKKyAgICAgICAgICAgICAgICBtX2xheWVyUmVuZGVyZXIt
PnNldElzQW5pbWF0aW5nKHRydWUpOwogICAgICAgICAgICAgdmlldy0+c2VydmljZVNjcmlwdGVk
QW5pbWF0aW9ucyhjb252ZXJ0U2Vjb25kc1RvRE9NVGltZVN0YW1wKGN1cnJlbnRUaW1lKCkpKTsK
KyAgICAgICAgICAgIGlmIChtX2xheWVyUmVuZGVyZXIpCisgICAgICAgICAgICAgICAgbV9sYXll
clJlbmRlcmVyLT5zZXRJc0FuaW1hdGluZyhmYWxzZSk7CisgICAgICAgIH0KICAgICB9CiAjZW5k
aWYKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92908</attachid>
            <date>2011-05-09 19:16:08 -0700</date>
            <delta_ts>2011-05-09 19:48:19 -0700</delta_ts>
            <desc>Use timer.</desc>
            <filename>bug-60508-20110509191607.patch</filename>
            <type>text/plain</type>
            <size>14554</size>
            <attacher name="Nat Duca">nduca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODYwNjEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjYWQ2YzJiOTg3MTY5MmEx
NzQwZmQyMDQ5ZDNkMGU1MjdlNDg2NTk4Li43MjUxZmNjMGY3NWMyOTY1YjgwM2I1MzNlNGExNDY4
Y2RhZjU4MzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTEtMDUtMDkgIE5hdCBE
dWNhICA8bmR1Y2FAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFtjaHJvbWl1bV0gTWFrZSB0aHJvdHRsaW5nIG9mIFdlYkdMIGJh
c2VkIG9uIHdlYmdsIGZyYW1lcywgbm90IGNvbXBvc2l0b3IgZnJhbWVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDUwOAorCisgICAgICAgIFdoZW4g
YSBXZWJHTCBsYXllciBpcyBkaXJ0aWVkIG91dHNpZGUgb2YgYSByZXF1ZXN0QW5pbUZyYW1lIGNh
bGxiYWNrLCB3ZSBuZWVkCisgICAgICAgIHRvIHByZXZlbnQgV2ViR0wgZnJvbSBydW5uaW5nIHRv
byBmYXIgYWhlYWQgb2YgdGhlIEdQVSBwcm9jZXNzLiBUaGUgY3VycmVudAorICAgICAgICB0aHJv
dHRsaW5nIG1lY2hhbmlzbSByZWxpZXMgb24gcHJlcGFyZVRleHR1cmUgYmVpbmcgY2FsbGVkIGZv
ciBldmVyeSBXZWJHTCBmcmFtZS4KKyAgICAgICAgSG93ZXZlciwgaW4gYSBub24tcmVxdWVzdEFu
aW1GcmFtZSBhcHBsaWNhdGlvbiwgbXVsdGlwbGUgZnJhbWVzIG1pZ2h0IGdldCBjcmVhdGVkCisg
ICAgICAgIGJlZm9yZSB0aGUgY29tcG9zaXRvciBydW5zIGFuZCBjYWxscyBwcmVwYXJlVGV4dHVy
ZSBvbiB0aGUgc3VyZmFjZS4KKworICAgICAgICBUbyBhZGRyZXNzIHRoaXMsIHdlIHBvc3QgYSB0
YXNrIHRoYXQgY2FsbHMgYSBzcGVjaWFsIHJhdGUgbGltaXRpbmcgR0wgZXh0ZW5zaW9uIG9uCisg
ICAgICAgIHRoZSBXZWJHTCBjb250ZXh0IGFmdGVyIGV2ZXJ5IFdlYkdMICJmcmFtZS4iIFdoZW4g
dGhlIGNvbXBvc2l0b3IgcnVucywgaXQgY2FsbHMKKyAgICAgICAgcHJlcGFyZVRleHR1cmUgYXMg
dXN1YWwuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9FeHRlbnNpb25z
M0RDaHJvbWl1bS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
UmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hy
b21pdW06OkxheWVyUmVuZGVyZXJDaHJvbWl1bSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmg6CisgICAgICAgIChXZWJDb3JlOjpM
YXllclJlbmRlcmVyQ2hyb21pdW06OnNldElzQW5pbWF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6aXNBbmltYXRpbmcpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL1dlYkdMTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTExheWVyQ2hyb21pdW1SYXRlTGltaXRUYXNrOjpXZWJHTExheWVyQ2hyb21pdW1S
YXRlTGltaXRUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMTGF5ZXJDaHJvbWl1bVJhdGVM
aW1pdFRhc2s6OnJ1bik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTExheWVyQ2hyb21pdW1SYXRl
TGltaXRUYXNrOjpjYW5jZWwpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xMYXllckNocm9taXVt
OjpXZWJHTExheWVyQ2hyb21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xMYXllckNocm9t
aXVtOjp+V2ViR0xMYXllckNocm9taXVtKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMTGF5ZXJD
aHJvbWl1bTo6c2V0VGV4dHVyZVVwZGF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xMYXll
ckNocm9taXVtOjpzZXRDb250ZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9XZWJHTExheWVyQ2hyb21pdW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMTGF5ZXJD
aHJvbWl1bTo6Y29udGV4dCk6CisKIDIwMTEtMDUtMDkgIEFiaGlzaGVrIEFyeWEgIDxpbmZlcm5v
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZlIEh5YXR0LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRXh0ZW5zaW9u
czNEQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0V4dGVuc2lvbnMzRENocm9taXVtLmgKaW5kZXggYzZlMGM2NjhlMmFkZTY0NWEzNjIxM2MyOWEw
MzljM2ZkZThjMGI3OS4uYjFiN2I1MmRkMmJiOTk3N2JmMjFmOTE2N2ZjMTgyNWUzN2ZhZTU0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRXh0
ZW5zaW9uczNEQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9FeHRlbnNpb25zM0RDaHJvbWl1bS5oCkBAIC00Myw2ICs0Myw3IEBAIHB1Ymxp
YzoKICAgICAvLyAgIEdMX0NIUk9NSVVNX2NvcHlfdGV4dHVyZV90b19wYXJlbnRfdGV4dHVyZQog
ICAgIC8vICAgR0xfQ0hST01JVU1fbGF0Y2gKICAgICAvLyAgIEdMX0NIUk9NSVVNX3N3YXBidWZm
ZXJzX2NvbXBsZXRlX2NhbGxiYWNrCisgICAgLy8gICBHTF9DSFJPTUlVTV9yYXRlX2xpbWl0X29m
ZnNjcmVlbl9jb250ZXh0CiAKICAgICAvLyBFeHRlbnNpb25zM0QgbWV0aG9kcy4KICAgICB2aXJ0
dWFsIGJvb2wgc3VwcG9ydHMoY29uc3QgU3RyaW5nJik7CkBAIC04NSw2ICs4Niw5IEBAIHB1Ymxp
YzoKICAgICB9OwogICAgIHZvaWQgc2V0U3dhcEJ1ZmZlcnNDb21wbGV0ZUNhbGxiYWNrQ0hST01J
VU0oUGFzc093blB0cjxTd2FwQnVmZmVyc0NvbXBsZXRlQ2FsbGJhY2tDSFJPTUlVTT4pOwogCisg
ICAgLy8gR0xfQ0hST01JVU1fcmF0ZV9saW1pdF9vZmZzY3JlZW5fY29udGV4dAorICAgIHZvaWQg
cmF0ZUxpbWl0T2Zmc2NyZWVuQ29udGV4dENIUk9NSVVNKCk7CisKIHByaXZhdGU6CiAgICAgLy8g
SW5zdGFuY2VzIG9mIHRoaXMgY2xhc3MgYXJlIHN0cmljdGx5IG93bmVkIGJ5IHRoZSBHcmFwaGlj
c0NvbnRleHQzRCBpbXBsZW1lbnRhdGlvbiBhbmQgZG8gbm90CiAgICAgLy8gbmVlZCB0byBiZSBp
bnN0YW50aWF0ZWQgYnkgYW55IG90aGVyIGNvZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNo
cm9taXVtLmNwcAppbmRleCAwOWQ4MzYwMTk2MTgwZDJmNWIxNDgxZWYzNGIwMWQ1ZjNhZTdkOTI0
Li40MjI5NmU0ZGQwZmIwNWFmYjBiNmYzN2U3ZmI1MzhiYWE0Y2FiZGYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hy
b21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTExNyw2ICsxMTcsNyBAQCBMYXllclJlbmRl
cmVyQ2hyb21pdW06OkxheWVyUmVuZGVyZXJDaHJvbWl1bShQYXNzUmVmUHRyPEdyYXBoaWNzQ29u
dGV4dDNEPiBjb250ZQogICAgICwgbV9jb250ZXh0KGNvbnRleHQpCiAgICAgLCBtX2NoaWxkQ29u
dGV4dHNXZXJlQ29waWVkKGZhbHNlKQogICAgICwgbV9jb250ZXh0U3VwcG9ydHNMYXRjaChmYWxz
ZSkKKyAgICAsIG1fYW5pbWF0aW5nKGZhbHNlKQogICAgICwgbV9kZWZhdWx0UmVuZGVyU3VyZmFj
ZSgwKQogewogICAgIG1fY29udGV4dFN1cHBvcnRzTGF0Y2ggPSBtX2NvbnRleHQtPmdldEV4dGVu
c2lvbnMoKS0+c3VwcG9ydHMoIkdMX0NIUk9NSVVNX2xhdGNoIik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21p
dW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVu
ZGVyZXJDaHJvbWl1bS5oCmluZGV4IDM5OTU2MmQ2MzIyZjM5OGRmOTI3ZGU1M2M3MWExZmM0MThh
ZDBiMmIuLmMzNWIzYjNlNTBhODMzYmNkMzQ1MzgzYzVlOWMwOTg0Y2JhNWE2ZmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVy
ZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCkBAIC04MSw2ICs4MSwxMSBAQCBwdWJsaWM6CiAg
ICAgLy8gdXBkYXRlcyBhbmQgZHJhd3MgdGhlIGN1cnJlbnQgbGF5ZXJzIG9udG8gdGhlIGJhY2ti
dWZmZXIKICAgICB2b2lkIHVwZGF0ZUFuZERyYXdMYXllcnMoKTsKIAorICAgIC8vIFNldCBieSBX
ZWJWaWV3SW1wbCB3aGVuIGFuaW1hdGlvbiBjYWxsYmFja3MgYXJlIHJ1bm5pbmcuCisgICAgLy8g
RklYTUU6IFdoZW4gd2UgbW92ZSBzY2hlZHVsaW5nIGludG8gdGhlIGNvbXBvc2l0b3IsIHdlIGNh
biByZW1vdmUgdGhpcyBmbGFnLgorICAgIHZvaWQgc2V0SXNBbmltYXRpbmcoYm9vbCBhbmltYXRp
bmcpIHsgbV9hbmltYXRpbmcgPSBhbmltYXRpbmc7IH0KKyAgICBib29sIGlzQW5pbWF0aW5nKCkg
Y29uc3QgeyByZXR1cm4gbV9hbmltYXRpbmc7IH0KKwogICAgIC8vIHdhaXRzIGZvciByZW5kZXJp
bmcgdG8gZmluaXNoCiAgICAgdm9pZCBmaW5pc2goKTsKIApAQCAtMjM0LDYgKzIzOSw4IEBAIHBy
aXZhdGU6CiAKICAgICBib29sIG1fY29udGV4dFN1cHBvcnRzTGF0Y2g7CiAKKyAgICBib29sIG1f
YW5pbWF0aW5nOworCiAgICAgUmVuZGVyU3VyZmFjZUNocm9taXVtKiBtX2RlZmF1bHRSZW5kZXJT
dXJmYWNlOwogCiAgICAgQ0NMYXllclNvcnRlciBtX2xheWVyU29ydGVyOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vV2ViR0xMYXllckNocm9t
aXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1dlYkdM
TGF5ZXJDaHJvbWl1bS5jcHAKaW5kZXggZGIwOTE0Mjk5Mzg2MDRlZWVmNWY3MzhmYWExYTgyMmVm
YzE5ZWMzZC4uNTBhOTM5ODc4ZmE1YmI3ZDg0NWZmOTE2NDBmOTg4ZmFjMmZkNGY5ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vV2ViR0xMYXll
ckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9XZWJHTExheWVyQ2hyb21pdW0uY3BwCkBAIC0zNCw4ICszNCwxMCBAQAogCiAjaW5jbHVk
ZSAiV2ViR0xMYXllckNocm9taXVtLmgiCiAKKyNpbmNsdWRlICJFeHRlbnNpb25zM0RDaHJvbWl1
bS5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgiCiAjaW5jbHVkZSAiTGF5ZXJSZW5k
ZXJlckNocm9taXVtLmgiCisjaW5jbHVkZSAiVHJhY2VFdmVudC5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTQ3LDYgKzQ5LDggQEAgUGFzc1JlZlB0cjxXZWJHTExheWVyQ2hyb21pdW0+
IFdlYkdMTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSoKIFdlYkdM
TGF5ZXJDaHJvbWl1bTo6V2ViR0xMYXllckNocm9taXVtKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSog
b3duZXIpCiAgICAgOiBDYW52YXNMYXllckNocm9taXVtKG93bmVyKQogICAgICwgbV9jb250ZXh0
KDApCisgICAgLCBtX2NvbnRleHRTdXBwb3J0c1JhdGVMaW1pdGluZ0V4dGVuc2lvbihmYWxzZSkK
KyAgICAsIG1fcmF0ZUxpbWl0aW5nVGltZXIodGhpcywgJldlYkdMTGF5ZXJDaHJvbWl1bTo6cmF0
ZUxpbWl0Q29udGV4dCkKICAgICAsIG1fdGV4dHVyZVVwZGF0ZWQoZmFsc2UpCiB7CiB9CkBAIC05
MSw2ICs5NSwxMCBAQCB2b2lkIFdlYkdMTGF5ZXJDaHJvbWl1bTo6dXBkYXRlQ29tcG9zaXRvclJl
c291cmNlcygpCiB2b2lkIFdlYkdMTGF5ZXJDaHJvbWl1bTo6c2V0VGV4dHVyZVVwZGF0ZWQoKQog
ewogICAgIG1fdGV4dHVyZVVwZGF0ZWQgPSB0cnVlOworICAgIC8vIElmIFdlYkdMIGNvbW1hbmRz
IGFyZSBpc3N1ZWQgb3V0c2lkZSBvZiBhIHRoZSBhbmltYXRpb24gY2FsbGJhY2tzLCB0aGVuIHVz
ZQorICAgIC8vIGNhbGwgcmF0ZUxpbWl0T2Zmc2NyZWVuQ29udGV4dENIUk9NSVVNKCkgdG8ga2Vl
cCB0aGUgY29udGV4dCBmcm9tIGdldHRpbmcgdG9vIGZhciBhaGVhZC4KKyAgICBpZiAobGF5ZXJS
ZW5kZXJlcigpICYmICFsYXllclJlbmRlcmVyKCktPmlzQW5pbWF0aW5nKCkgJiYgbV9jb250ZXh0
U3VwcG9ydHNSYXRlTGltaXRpbmdFeHRlbnNpb24gJiYgIW1fcmF0ZUxpbWl0aW5nVGltZXIuaXNB
Y3RpdmUoKSkKKyAgICAgICAgbV9yYXRlTGltaXRpbmdUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9
CiAKIHZvaWQgV2ViR0xMYXllckNocm9taXVtOjpzZXRDb250ZXh0KGNvbnN0IEdyYXBoaWNzQ29u
dGV4dDNEKiBjb250ZXh0KQpAQCAtMTE0LDYgKzEyMiw3IEBAIHZvaWQgV2ViR0xMYXllckNocm9t
aXVtOjpzZXRDb250ZXh0KGNvbnN0IEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0KQogICAgIH0K
ICAgICBtX3RleHR1cmVJZCA9IHRleHR1cmVJZDsKICAgICBtX3ByZW11bHRpcGxpZWRBbHBoYSA9
IG1fY29udGV4dC0+Z2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVtdWx0aXBsaWVkQWxwaGE7Cisg
ICAgbV9jb250ZXh0U3VwcG9ydHNSYXRlTGltaXRpbmdFeHRlbnNpb24gPSBtX2NvbnRleHQtPmdl
dEV4dGVuc2lvbnMoKS0+c3VwcG9ydHMoIkdMX0NIUk9NSVVNX3JhdGVfbGltaXRfb2Zmc2NyZWVu
X2NvbnRleHQiKTsKIH0KIAogdm9pZCBXZWJHTExheWVyQ2hyb21pdW06OnNldExheWVyUmVuZGVy
ZXIoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBuZXdMYXllclJlbmRlcmVyKQpAQCAtMTMwLDUgKzEz
OSwxOCBAQCB2b2lkIFdlYkdMTGF5ZXJDaHJvbWl1bTo6c2V0TGF5ZXJSZW5kZXJlcihMYXllclJl
bmRlcmVyQ2hyb21pdW0qIG5ld0xheWVyUmVuZGVyZQogICAgIH0KIH0KIAordm9pZCBXZWJHTExh
eWVyQ2hyb21pdW06OnJhdGVMaW1pdENvbnRleHQoVGltZXI8V2ViR0xMYXllckNocm9taXVtPiop
Cit7CisgICAgVFJBQ0VfRVZFTlQoIldlYkdMTGF5ZXJDaHJvbWl1bTo6cmF0ZUxpbWl0Q29udGV4
dCIsIHRoaXMsIDApOworCisgICAgLy8gQ2hlY2sgaWYgdGhlIGNvbnRleHQgaXMgZ29uZS4KKyAg
ICBpZiAoIW1fY29udGV4dCkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gQWN0dWFsbHkgZG8g
dGhlIHJhdGUgbGltaXRpbmcuCisgICAgRXh0ZW5zaW9uczNEQ2hyb21pdW0qIGV4dGVuc2lvbnMg
PSBzdGF0aWNfY2FzdDxFeHRlbnNpb25zM0RDaHJvbWl1bSo+KG1fY29udGV4dC0+Z2V0RXh0ZW5z
aW9ucygpKTsKKyAgICBleHRlbnNpb25zLT5yYXRlTGltaXRPZmZzY3JlZW5Db250ZXh0Q0hST01J
VU0oKTsKK30KKwogfQogI2VuZGlmIC8vIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1dlYkdM
TGF5ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vV2ViR0xMYXllckNocm9taXVtLmgKaW5kZXggMjVlNmZlNjU3NmI3MzEyNzgzMjcyZjZjMjlh
NzdjZTU1MDQ0MGY3YS4uZDE4MGQ1NGUzODYyYTZjODU2ZGMyMjQzOTAyMzdiMzFhYjk4MTRlZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vV2Vi
R0xMYXllckNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vV2ViR0xMYXllckNocm9taXVtLmgKQEAgLTM1LDEwICszNSwxMiBAQAogI2lmIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIAogI2luY2x1ZGUgIkNhbnZhc0xheWVyQ2hyb21p
dW0uaCIKKyNpbmNsdWRlICJUaW1lci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEdyYXBoaWNzQ29udGV4dDNEOworY2xhc3MgV2ViR0xMYXllckNocm9taXVtUmF0ZUxpbWl0VGFz
azsKIAogLy8gQSBMYXllciBjb250YWluaW5nIGEgV2ViR0wgY2FudmFzCiBjbGFzcyBXZWJHTExh
eWVyQ2hyb21pdW0gOiBwdWJsaWMgQ2FudmFzTGF5ZXJDaHJvbWl1bSB7CkBAIC01Miw2ICs1NCw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFRleHR1cmVVcGRhdGVkKCk7CiAKICAgICB2b2lkIHNl
dENvbnRleHQoY29uc3QgR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQpOworICAgIEdyYXBoaWNz
Q29udGV4dDNEKiBjb250ZXh0KCkgeyByZXR1cm4gbV9jb250ZXh0OyB9CiAKICAgICB2aXJ0dWFs
IHZvaWQgc2V0TGF5ZXJSZW5kZXJlcihMYXllclJlbmRlcmVyQ2hyb21pdW0qKTsKIApAQCAtNjAs
MTEgKzYzLDE2IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBXZWJHTExh
eWVyQ2hyb21pdW0oR3JhcGhpY3NMYXllckNocm9taXVtKiBvd25lcik7CisgICAgZnJpZW5kIGNs
YXNzIFdlYkdMTGF5ZXJDaHJvbWl1bVJhdGVMaW1pdFRhc2s7CisKKyAgICB2b2lkIFdlYkdMTGF5
ZXJDaHJvbWl1bTo6cmF0ZUxpbWl0Q29udGV4dChUaW1lcjxXZWJHTExheWVyQ2hyb21pdW0+Kik7
CiAKICAgICAvLyBHcmFwaGljc0NvbnRleHQzRDo6cGxhdGZvcm1MYXllciBoYXMgYSBzaWRlLWVm
ZmVjdCBvZiBhc3NpZ25pbmcgaXRzZWxmCiAgICAgLy8gdG8gdGhlIGxheWVyLiBCZWNhdXNlIG9m
IHRoYXQgR3JhcGhpY3NDb250ZXh0M0QncyBkZXN0cnVjdG9yIHdpbGwgcmVzZXQKICAgICAvLyBs
YXllcidzIGNvbnRleHQgdG8gMC4KICAgICBHcmFwaGljc0NvbnRleHQzRCogbV9jb250ZXh0Owor
ICAgIGJvb2wgbV9jb250ZXh0U3VwcG9ydHNSYXRlTGltaXRpbmdFeHRlbnNpb247CisgICAgVGlt
ZXI8V2ViR0xMYXllckNocm9taXVtPiBtX3JhdGVMaW1pdGluZ1RpbWVyOwogICAgIGJvb2wgbV90
ZXh0dXJlVXBkYXRlZDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZmRlYTNh
NmI4ZDI1MDFiODhjMjk1MWZlN2E5ZWU1MWRlZWFmMGRkNS4uMzUwYmQwMjI1MzMzNTI5NmNmZmRm
MGRhYmU5Mzc5Yzc3M2VlNjliNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyMSBAQAorMjAxMS0wNS0wOSAgTmF0IER1Y2EgIDxuZHVjYUBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW2Nocm9taXVtXSBN
YWtlIHRocm90dGxpbmcgb2YgV2ViR0wgYmFzZWQgb24gd2ViZ2wgZnJhbWVzLCBub3QgY29tcG9z
aXRvciBmcmFtZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTYwNTA4CisKKyAgICAgICAgVGVsbCBMYXllclJlbmRlcmVyQ2hyb21pdW0gd2hlbiB0aGUg
cmVxdWVzdEFuaW1GcmFtZS1jYWxsYmFja3MgYXJlIHJ1bm5pbmcuCisKKyAgICAgICAgKiBwdWJs
aWMvV2ViR3JhcGhpY3NDb250ZXh0M0QuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViR3JhcGhpY3ND
b250ZXh0M0Q6OnJhdGVMaW1pdE9mZnNjcmVlbkNvbnRleHRDSFJPTUlVTSk6CisgICAgICAgICog
c3JjL0V4dGVuc2lvbnMzRENocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV4dGVuc2lv
bnMzRENocm9taXVtOjpyYXRlTGltaXRPZmZzY3JlZW5Db250ZXh0Q0hST01JVU0pOgorICAgICAg
ICAqIHNyYy9HcmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcDoKKyAgICAgICAgKiBzcmMvR3Jh
cGhpY3NDb250ZXh0M0RJbnRlcm5hbC5oOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXdJbXBsOjphbmltYXRlKToKKwogMjAxMS0wNS0wOSAg
U2hpc2hpciBBZ3Jhd2FsICA8c2hpc2hpckBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgVG9ueSBHZW50aWxjb3JlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViR3JhcGhpY3NDb250ZXh0M0QuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYkdyYXBoaWNzQ29udGV4dDNELmgKaW5kZXggOGQ1ZWIxMGZkODExYTAxYTVlYWEw
NDk3NGE5OGRlZGJhZmNmZjRkZi4uM2RlNzJjMmVhYzgwMTc0ZDljYzdiNDM4Y2NiNjY3YTk5Zjk2
MmRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR3JhcGhp
Y3NDb250ZXh0M0QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHcmFw
aGljc0NvbnRleHQzRC5oCkBAIC0xODMsNiArMTgzLDkgQEAgcHVibGljOgogICAgIC8vIEdMX0NI
Uk9NSVVNX3N3YXBidWZmZXJzX2NvbXBsZXRlX2NhbGxiYWNrCiAgICAgdmlydHVhbCB2b2lkIHNl
dFN3YXBCdWZmZXJzQ29tcGxldGVDYWxsYmFja0NIUk9NSVVNKFdlYkdyYXBoaWNzU3dhcEJ1ZmZl
cnNDb21wbGV0ZUNhbGxiYWNrQ0hST01JVU0qIGNhbGxiYWNrKSB7IH0KIAorICAgIC8vIEdMX0NI
Uk9NSVVNX3JhdGVfbGltaXRfb2Zmc2NyZWVuX2NvbnRleHQKKyAgICB2aXJ0dWFsIHZvaWQgcmF0
ZUxpbWl0T2Zmc2NyZWVuQ29udGV4dENIUk9NSVVNKCkgeyB9CisKICAgICAvLyBUaGUgZW50cnkg
cG9pbnRzIGJlbG93IG1hcCBkaXJlY3RseSB0byB0aGUgT3BlbkdMIEVTIDIuMCBBUEkuCiAgICAg
Ly8gU2VlOiBodHRwOi8vd3d3Lmtocm9ub3Mub3JnL3JlZ2lzdHJ5L2dsZXMvCiAgICAgLy8gYW5k
OiBodHRwOi8vd3d3Lmtocm9ub3Mub3JnL29wZW5nbGVzL3Nkay9kb2NzL21hbi8KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0V4dGVuc2lvbnMzRENocm9taXVtLmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0V4dGVuc2lvbnMzRENocm9taXVtLmNwcAppbmRl
eCAxM2NkZTY3OWZkMTFhODNkMDZkZmNhODM0ZTk5NDMwOTJkMTFjNjcyLi5kNTM2NTA5MmE2OTQy
YmNjYTg4NTYwMWJkYjEwNzM4YmM2ZTgyOGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9FeHRlbnNpb25zM0RDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvRXh0ZW5zaW9uczNEQ2hyb21pdW0uY3BwCkBAIC0xNDUsNiArMTQ1LDExIEBA
IHZvaWQgRXh0ZW5zaW9uczNEQ2hyb21pdW06OnNldFN3YXBCdWZmZXJzQ29tcGxldGVDYWxsYmFj
a0NIUk9NSVVNKFBhc3NPd25QdHI8U3dhCiAgICAgbV9pbnRlcm5hbC0+c2V0U3dhcEJ1ZmZlcnND
b21wbGV0ZUNhbGxiYWNrQ0hST01JVU0oY2FsbGJhY2spOwogfQogCit2b2lkIEV4dGVuc2lvbnMz
RENocm9taXVtOjpyYXRlTGltaXRPZmZzY3JlZW5Db250ZXh0Q0hST01JVU0oKQoreworICAgIG1f
aW50ZXJuYWwtPnJhdGVMaW1pdE9mZnNjcmVlbkNvbnRleHRDSFJPTUlVTSgpOworfQorCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCR0wpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRENocm9taXVtLmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEQ2hyb21pdW0u
Y3BwCmluZGV4IDIxODI4ZWExODc2YjczYTI2MzE5N2Y4OTNlZWU5YTViOWJlNGVkYmUuLmZiMTAy
YjVjOTBjYzk0NTkyNTVkYzM5NTMwMTZlM2Q0ZWRhNjBhOTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEQ2hyb21pdW0uY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNEQ2hyb21pdW0uY3BwCkBA
IC04MDksNiArODA5LDggQEAgREVMRUdBVEVfVE9fSU1QTF8xKGdldENoaWxkVG9QYXJlbnRMYXRj
aENIUk9NSVVNLCBHQzNEdWludCopCiBERUxFR0FURV9UT19JTVBMXzEod2FpdExhdGNoQ0hST01J
VU0sIEdDM0R1aW50KQogREVMRUdBVEVfVE9fSU1QTF8xKHNldExhdGNoQ0hST01JVU0sIEdDM0R1
aW50KQogCitERUxFR0FURV9UT19JTVBMKHJhdGVMaW1pdE9mZnNjcmVlbkNvbnRleHRDSFJPTUlV
TSkKKwogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBHcmFwaGljc0NvbnRleHQzRAogLy8KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNESW50ZXJuYWwu
aCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNESW50ZXJuYWwu
aAppbmRleCA0NTIwYzYyYjVhMDc3YjVkM2VlYTBkNGY5ZDExYWE1ZGJlM2QyNjVkLi4wYzUxNWVi
ZGI3NjFjZmM4MTViMWI0ODU4YTY5NDE0OGFiNDFlNWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzREludGVybmFsLmgKKysrIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RJbnRlcm5hbC5oCkBAIC0yNzMs
NyArMjczLDcgQEAgcHVibGljOgogICAgIHZvaWQgYmxpdEZyYW1lYnVmZmVyQ0hST01JVU0oR0Mz
RGludCBzcmNYMCwgR0MzRGludCBzcmNZMCwgR0MzRGludCBzcmNYMSwgR0MzRGludCBzcmNZMSwg
R0MzRGludCBkc3RYMCwgR0MzRGludCBkc3RZMCwgR0MzRGludCBkc3RYMSwgR0MzRGludCBkc3RZ
MSwgR0MzRGJpdGZpZWxkIG1hc2ssIEdDM0RlbnVtIGZpbHRlcik7CiAgICAgdm9pZCByZW5kZXJi
dWZmZXJTdG9yYWdlTXVsdGlzYW1wbGVDSFJPTUlVTShHQzNEZW51bSB0YXJnZXQsIEdDM0RzaXpl
aSBzYW1wbGVzLCBHQzNEZW51bSBpbnRlcm5hbGZvcm1hdCwgR0MzRHNpemVpIHdpZHRoLCBHQzNE
c2l6ZWkgaGVpZ2h0KTsKIAotICAgIC8vIExhdGNoIHN1cHBvcnQKKyAgICAvLyBHTF9DSFJPTUlV
TV9sYXRjaAogICAgIHZvaWQgZ2V0UGFyZW50VG9DaGlsZExhdGNoQ0hST01JVU0oR0MzRHVpbnQq
IGxhdGNoSWQpOwogICAgIHZvaWQgZ2V0Q2hpbGRUb1BhcmVudExhdGNoQ0hST01JVU0oR0MzRHVp
bnQqIGxhdGNoSWQpOwogICAgIHZvaWQgd2FpdExhdGNoQ0hST01JVU0oR0MzRHVpbnQgbGF0Y2hJ
ZCk7CkBAIC0yODIsNiArMjgyLDkgQEAgcHVibGljOgogICAgIC8vIEdMX0NIUk9NSVVNX3N3YXBi
dWZmZXJzX2NvbXBsZXRlX2NhbGxiYWNrCiAgICAgdm9pZCBzZXRTd2FwQnVmZmVyc0NvbXBsZXRl
Q2FsbGJhY2tDSFJPTUlVTShQYXNzT3duUHRyPEV4dGVuc2lvbnMzRENocm9taXVtOjpTd2FwQnVm
ZmVyc0NvbXBsZXRlQ2FsbGJhY2tDSFJPTUlVTT4pOwogCisgICAgLy8gR0xfQ0hST01JVU1fcmF0
ZV9saW1pdF9vZmZzY3JlZW5fY29udGV4dAorICAgIHZvaWQgcmF0ZUxpbWl0T2Zmc2NyZWVuQ29u
dGV4dENIUk9NSVVNKCk7CisKIHByaXZhdGU6CiAgICAgT3duUHRyPFdlYktpdDo6V2ViR3JhcGhp
Y3NDb250ZXh0M0Q+IG1faW1wbDsKICAgICBPd25QdHI8RXh0ZW5zaW9uczNEQ2hyb21pdW0+IG1f
ZXh0ZW5zaW9uczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZp
ZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcApp
bmRleCA5NjhkZTU2YmNhNDQ1NjE5OWNhMzg2NTg2NWM0OTg3YTBjZjgyMDAxLi5jODk0Nzg4OWY3
MGVjMTM3Zjk1ZjVhNGVhYTZjYTBjNWJlZjMzMWQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0xMDA3LDggKzEwMDcsMTMgQEAgdm9pZCBXZWJWaWV3
SW1wbDo6YW5pbWF0ZSgpCiAgICAgV2ViRnJhbWVJbXBsKiB3ZWJmcmFtZSA9IG1haW5GcmFtZUlt
cGwoKTsKICAgICBpZiAod2ViZnJhbWUpIHsKICAgICAgICAgRnJhbWVWaWV3KiB2aWV3ID0gd2Vi
ZnJhbWUtPmZyYW1lVmlldygpOwotICAgICAgICBpZiAodmlldykKKyAgICAgICAgaWYgKHZpZXcp
IHsKKyAgICAgICAgICAgIGlmIChtX2xheWVyUmVuZGVyZXIpCisgICAgICAgICAgICAgICAgbV9s
YXllclJlbmRlcmVyLT5zZXRJc0FuaW1hdGluZyh0cnVlKTsKICAgICAgICAgICAgIHZpZXctPnNl
cnZpY2VTY3JpcHRlZEFuaW1hdGlvbnMoY29udmVydFNlY29uZHNUb0RPTVRpbWVTdGFtcChjdXJy
ZW50VGltZSgpKSk7CisgICAgICAgICAgICBpZiAobV9sYXllclJlbmRlcmVyKQorICAgICAgICAg
ICAgICAgIG1fbGF5ZXJSZW5kZXJlci0+c2V0SXNBbmltYXRpbmcoZmFsc2UpOworICAgICAgICB9
CiAgICAgfQogI2VuZGlmCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92910</attachid>
            <date>2011-05-09 19:48:23 -0700</date>
            <delta_ts>2011-05-09 20:16:17 -0700</delta_ts>
            <desc>Make it build.</desc>
            <filename>bug-60508-20110509194821.patch</filename>
            <type>text/plain</type>
            <size>14534</size>
            <attacher name="Nat Duca">nduca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODYwNjEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjYWQ2YzJiOTg3MTY5MmEx
NzQwZmQyMDQ5ZDNkMGU1MjdlNDg2NTk4Li43MjUxZmNjMGY3NWMyOTY1YjgwM2I1MzNlNGExNDY4
Y2RhZjU4MzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTEtMDUtMDkgIE5hdCBE
dWNhICA8bmR1Y2FAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFtjaHJvbWl1bV0gTWFrZSB0aHJvdHRsaW5nIG9mIFdlYkdMIGJh
c2VkIG9uIHdlYmdsIGZyYW1lcywgbm90IGNvbXBvc2l0b3IgZnJhbWVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDUwOAorCisgICAgICAgIFdoZW4g
YSBXZWJHTCBsYXllciBpcyBkaXJ0aWVkIG91dHNpZGUgb2YgYSByZXF1ZXN0QW5pbUZyYW1lIGNh
bGxiYWNrLCB3ZSBuZWVkCisgICAgICAgIHRvIHByZXZlbnQgV2ViR0wgZnJvbSBydW5uaW5nIHRv
byBmYXIgYWhlYWQgb2YgdGhlIEdQVSBwcm9jZXNzLiBUaGUgY3VycmVudAorICAgICAgICB0aHJv
dHRsaW5nIG1lY2hhbmlzbSByZWxpZXMgb24gcHJlcGFyZVRleHR1cmUgYmVpbmcgY2FsbGVkIGZv
ciBldmVyeSBXZWJHTCBmcmFtZS4KKyAgICAgICAgSG93ZXZlciwgaW4gYSBub24tcmVxdWVzdEFu
aW1GcmFtZSBhcHBsaWNhdGlvbiwgbXVsdGlwbGUgZnJhbWVzIG1pZ2h0IGdldCBjcmVhdGVkCisg
ICAgICAgIGJlZm9yZSB0aGUgY29tcG9zaXRvciBydW5zIGFuZCBjYWxscyBwcmVwYXJlVGV4dHVy
ZSBvbiB0aGUgc3VyZmFjZS4KKworICAgICAgICBUbyBhZGRyZXNzIHRoaXMsIHdlIHBvc3QgYSB0
YXNrIHRoYXQgY2FsbHMgYSBzcGVjaWFsIHJhdGUgbGltaXRpbmcgR0wgZXh0ZW5zaW9uIG9uCisg
ICAgICAgIHRoZSBXZWJHTCBjb250ZXh0IGFmdGVyIGV2ZXJ5IFdlYkdMICJmcmFtZS4iIFdoZW4g
dGhlIGNvbXBvc2l0b3IgcnVucywgaXQgY2FsbHMKKyAgICAgICAgcHJlcGFyZVRleHR1cmUgYXMg
dXN1YWwuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9FeHRlbnNpb25z
M0RDaHJvbWl1bS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
UmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hy
b21pdW06OkxheWVyUmVuZGVyZXJDaHJvbWl1bSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmg6CisgICAgICAgIChXZWJDb3JlOjpM
YXllclJlbmRlcmVyQ2hyb21pdW06OnNldElzQW5pbWF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6aXNBbmltYXRpbmcpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL1dlYkdMTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTExheWVyQ2hyb21pdW1SYXRlTGltaXRUYXNrOjpXZWJHTExheWVyQ2hyb21pdW1S
YXRlTGltaXRUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMTGF5ZXJDaHJvbWl1bVJhdGVM
aW1pdFRhc2s6OnJ1bik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTExheWVyQ2hyb21pdW1SYXRl
TGltaXRUYXNrOjpjYW5jZWwpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xMYXllckNocm9taXVt
OjpXZWJHTExheWVyQ2hyb21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xMYXllckNocm9t
aXVtOjp+V2ViR0xMYXllckNocm9taXVtKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMTGF5ZXJD
aHJvbWl1bTo6c2V0VGV4dHVyZVVwZGF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xMYXll
ckNocm9taXVtOjpzZXRDb250ZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9XZWJHTExheWVyQ2hyb21pdW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMTGF5ZXJD
aHJvbWl1bTo6Y29udGV4dCk6CisKIDIwMTEtMDUtMDkgIEFiaGlzaGVrIEFyeWEgIDxpbmZlcm5v
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZlIEh5YXR0LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRXh0ZW5zaW9u
czNEQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0V4dGVuc2lvbnMzRENocm9taXVtLmgKaW5kZXggYzZlMGM2NjhlMmFkZTY0NWEzNjIxM2MyOWEw
MzljM2ZkZThjMGI3OS4uYjFiN2I1MmRkMmJiOTk3N2JmMjFmOTE2N2ZjMTgyNWUzN2ZhZTU0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRXh0
ZW5zaW9uczNEQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9FeHRlbnNpb25zM0RDaHJvbWl1bS5oCkBAIC00Myw2ICs0Myw3IEBAIHB1Ymxp
YzoKICAgICAvLyAgIEdMX0NIUk9NSVVNX2NvcHlfdGV4dHVyZV90b19wYXJlbnRfdGV4dHVyZQog
ICAgIC8vICAgR0xfQ0hST01JVU1fbGF0Y2gKICAgICAvLyAgIEdMX0NIUk9NSVVNX3N3YXBidWZm
ZXJzX2NvbXBsZXRlX2NhbGxiYWNrCisgICAgLy8gICBHTF9DSFJPTUlVTV9yYXRlX2xpbWl0X29m
ZnNjcmVlbl9jb250ZXh0CiAKICAgICAvLyBFeHRlbnNpb25zM0QgbWV0aG9kcy4KICAgICB2aXJ0
dWFsIGJvb2wgc3VwcG9ydHMoY29uc3QgU3RyaW5nJik7CkBAIC04NSw2ICs4Niw5IEBAIHB1Ymxp
YzoKICAgICB9OwogICAgIHZvaWQgc2V0U3dhcEJ1ZmZlcnNDb21wbGV0ZUNhbGxiYWNrQ0hST01J
VU0oUGFzc093blB0cjxTd2FwQnVmZmVyc0NvbXBsZXRlQ2FsbGJhY2tDSFJPTUlVTT4pOwogCisg
ICAgLy8gR0xfQ0hST01JVU1fcmF0ZV9saW1pdF9vZmZzY3JlZW5fY29udGV4dAorICAgIHZvaWQg
cmF0ZUxpbWl0T2Zmc2NyZWVuQ29udGV4dENIUk9NSVVNKCk7CisKIHByaXZhdGU6CiAgICAgLy8g
SW5zdGFuY2VzIG9mIHRoaXMgY2xhc3MgYXJlIHN0cmljdGx5IG93bmVkIGJ5IHRoZSBHcmFwaGlj
c0NvbnRleHQzRCBpbXBsZW1lbnRhdGlvbiBhbmQgZG8gbm90CiAgICAgLy8gbmVlZCB0byBiZSBp
bnN0YW50aWF0ZWQgYnkgYW55IG90aGVyIGNvZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNo
cm9taXVtLmNwcAppbmRleCAwOWQ4MzYwMTk2MTgwZDJmNWIxNDgxZWYzNGIwMWQ1ZjNhZTdkOTI0
Li40MjI5NmU0ZGQwZmIwNWFmYjBiNmYzN2U3ZmI1MzhiYWE0Y2FiZGYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hy
b21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTExNyw2ICsxMTcsNyBAQCBMYXllclJlbmRl
cmVyQ2hyb21pdW06OkxheWVyUmVuZGVyZXJDaHJvbWl1bShQYXNzUmVmUHRyPEdyYXBoaWNzQ29u
dGV4dDNEPiBjb250ZQogICAgICwgbV9jb250ZXh0KGNvbnRleHQpCiAgICAgLCBtX2NoaWxkQ29u
dGV4dHNXZXJlQ29waWVkKGZhbHNlKQogICAgICwgbV9jb250ZXh0U3VwcG9ydHNMYXRjaChmYWxz
ZSkKKyAgICAsIG1fYW5pbWF0aW5nKGZhbHNlKQogICAgICwgbV9kZWZhdWx0UmVuZGVyU3VyZmFj
ZSgwKQogewogICAgIG1fY29udGV4dFN1cHBvcnRzTGF0Y2ggPSBtX2NvbnRleHQtPmdldEV4dGVu
c2lvbnMoKS0+c3VwcG9ydHMoIkdMX0NIUk9NSVVNX2xhdGNoIik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21p
dW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVu
ZGVyZXJDaHJvbWl1bS5oCmluZGV4IDM5OTU2MmQ2MzIyZjM5OGRmOTI3ZGU1M2M3MWExZmM0MThh
ZDBiMmIuLmMzNWIzYjNlNTBhODMzYmNkMzQ1MzgzYzVlOWMwOTg0Y2JhNWE2ZmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVy
ZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCkBAIC04MSw2ICs4MSwxMSBAQCBwdWJsaWM6CiAg
ICAgLy8gdXBkYXRlcyBhbmQgZHJhd3MgdGhlIGN1cnJlbnQgbGF5ZXJzIG9udG8gdGhlIGJhY2ti
dWZmZXIKICAgICB2b2lkIHVwZGF0ZUFuZERyYXdMYXllcnMoKTsKIAorICAgIC8vIFNldCBieSBX
ZWJWaWV3SW1wbCB3aGVuIGFuaW1hdGlvbiBjYWxsYmFja3MgYXJlIHJ1bm5pbmcuCisgICAgLy8g
RklYTUU6IFdoZW4gd2UgbW92ZSBzY2hlZHVsaW5nIGludG8gdGhlIGNvbXBvc2l0b3IsIHdlIGNh
biByZW1vdmUgdGhpcyBmbGFnLgorICAgIHZvaWQgc2V0SXNBbmltYXRpbmcoYm9vbCBhbmltYXRp
bmcpIHsgbV9hbmltYXRpbmcgPSBhbmltYXRpbmc7IH0KKyAgICBib29sIGlzQW5pbWF0aW5nKCkg
Y29uc3QgeyByZXR1cm4gbV9hbmltYXRpbmc7IH0KKwogICAgIC8vIHdhaXRzIGZvciByZW5kZXJp
bmcgdG8gZmluaXNoCiAgICAgdm9pZCBmaW5pc2goKTsKIApAQCAtMjM0LDYgKzIzOSw4IEBAIHBy
aXZhdGU6CiAKICAgICBib29sIG1fY29udGV4dFN1cHBvcnRzTGF0Y2g7CiAKKyAgICBib29sIG1f
YW5pbWF0aW5nOworCiAgICAgUmVuZGVyU3VyZmFjZUNocm9taXVtKiBtX2RlZmF1bHRSZW5kZXJT
dXJmYWNlOwogCiAgICAgQ0NMYXllclNvcnRlciBtX2xheWVyU29ydGVyOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vV2ViR0xMYXllckNocm9t
aXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1dlYkdM
TGF5ZXJDaHJvbWl1bS5jcHAKaW5kZXggZGIwOTE0Mjk5Mzg2MDRlZWVmNWY3MzhmYWExYTgyMmVm
YzE5ZWMzZC4uNTBhOTM5ODc4ZmE1YmI3ZDg0NWZmOTE2NDBmOTg4ZmFjMmZkNGY5ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vV2ViR0xMYXll
ckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9XZWJHTExheWVyQ2hyb21pdW0uY3BwCkBAIC0zNCw4ICszNCwxMCBAQAogCiAjaW5jbHVk
ZSAiV2ViR0xMYXllckNocm9taXVtLmgiCiAKKyNpbmNsdWRlICJFeHRlbnNpb25zM0RDaHJvbWl1
bS5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgiCiAjaW5jbHVkZSAiTGF5ZXJSZW5k
ZXJlckNocm9taXVtLmgiCisjaW5jbHVkZSAiVHJhY2VFdmVudC5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTQ3LDYgKzQ5LDggQEAgUGFzc1JlZlB0cjxXZWJHTExheWVyQ2hyb21pdW0+
IFdlYkdMTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSoKIFdlYkdM
TGF5ZXJDaHJvbWl1bTo6V2ViR0xMYXllckNocm9taXVtKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSog
b3duZXIpCiAgICAgOiBDYW52YXNMYXllckNocm9taXVtKG93bmVyKQogICAgICwgbV9jb250ZXh0
KDApCisgICAgLCBtX2NvbnRleHRTdXBwb3J0c1JhdGVMaW1pdGluZ0V4dGVuc2lvbihmYWxzZSkK
KyAgICAsIG1fcmF0ZUxpbWl0aW5nVGltZXIodGhpcywgJldlYkdMTGF5ZXJDaHJvbWl1bTo6cmF0
ZUxpbWl0Q29udGV4dCkKICAgICAsIG1fdGV4dHVyZVVwZGF0ZWQoZmFsc2UpCiB7CiB9CkBAIC05
MSw2ICs5NSwxMCBAQCB2b2lkIFdlYkdMTGF5ZXJDaHJvbWl1bTo6dXBkYXRlQ29tcG9zaXRvclJl
c291cmNlcygpCiB2b2lkIFdlYkdMTGF5ZXJDaHJvbWl1bTo6c2V0VGV4dHVyZVVwZGF0ZWQoKQog
ewogICAgIG1fdGV4dHVyZVVwZGF0ZWQgPSB0cnVlOworICAgIC8vIElmIFdlYkdMIGNvbW1hbmRz
IGFyZSBpc3N1ZWQgb3V0c2lkZSBvZiBhIHRoZSBhbmltYXRpb24gY2FsbGJhY2tzLCB0aGVuIHVz
ZQorICAgIC8vIGNhbGwgcmF0ZUxpbWl0T2Zmc2NyZWVuQ29udGV4dENIUk9NSVVNKCkgdG8ga2Vl
cCB0aGUgY29udGV4dCBmcm9tIGdldHRpbmcgdG9vIGZhciBhaGVhZC4KKyAgICBpZiAobGF5ZXJS
ZW5kZXJlcigpICYmICFsYXllclJlbmRlcmVyKCktPmlzQW5pbWF0aW5nKCkgJiYgbV9jb250ZXh0
U3VwcG9ydHNSYXRlTGltaXRpbmdFeHRlbnNpb24gJiYgIW1fcmF0ZUxpbWl0aW5nVGltZXIuaXNB
Y3RpdmUoKSkKKyAgICAgICAgbV9yYXRlTGltaXRpbmdUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9
CiAKIHZvaWQgV2ViR0xMYXllckNocm9taXVtOjpzZXRDb250ZXh0KGNvbnN0IEdyYXBoaWNzQ29u
dGV4dDNEKiBjb250ZXh0KQpAQCAtMTE0LDYgKzEyMiw3IEBAIHZvaWQgV2ViR0xMYXllckNocm9t
aXVtOjpzZXRDb250ZXh0KGNvbnN0IEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0KQogICAgIH0K
ICAgICBtX3RleHR1cmVJZCA9IHRleHR1cmVJZDsKICAgICBtX3ByZW11bHRpcGxpZWRBbHBoYSA9
IG1fY29udGV4dC0+Z2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVtdWx0aXBsaWVkQWxwaGE7Cisg
ICAgbV9jb250ZXh0U3VwcG9ydHNSYXRlTGltaXRpbmdFeHRlbnNpb24gPSBtX2NvbnRleHQtPmdl
dEV4dGVuc2lvbnMoKS0+c3VwcG9ydHMoIkdMX0NIUk9NSVVNX3JhdGVfbGltaXRfb2Zmc2NyZWVu
X2NvbnRleHQiKTsKIH0KIAogdm9pZCBXZWJHTExheWVyQ2hyb21pdW06OnNldExheWVyUmVuZGVy
ZXIoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBuZXdMYXllclJlbmRlcmVyKQpAQCAtMTMwLDUgKzEz
OSwxOCBAQCB2b2lkIFdlYkdMTGF5ZXJDaHJvbWl1bTo6c2V0TGF5ZXJSZW5kZXJlcihMYXllclJl
bmRlcmVyQ2hyb21pdW0qIG5ld0xheWVyUmVuZGVyZQogICAgIH0KIH0KIAordm9pZCBXZWJHTExh
eWVyQ2hyb21pdW06OnJhdGVMaW1pdENvbnRleHQoVGltZXI8V2ViR0xMYXllckNocm9taXVtPiop
Cit7CisgICAgVFJBQ0VfRVZFTlQoIldlYkdMTGF5ZXJDaHJvbWl1bTo6cmF0ZUxpbWl0Q29udGV4
dCIsIHRoaXMsIDApOworCisgICAgLy8gQ2hlY2sgaWYgdGhlIGNvbnRleHQgaXMgZ29uZS4KKyAg
ICBpZiAoIW1fY29udGV4dCkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gQWN0dWFsbHkgZG8g
dGhlIHJhdGUgbGltaXRpbmcuCisgICAgRXh0ZW5zaW9uczNEQ2hyb21pdW0qIGV4dGVuc2lvbnMg
PSBzdGF0aWNfY2FzdDxFeHRlbnNpb25zM0RDaHJvbWl1bSo+KG1fY29udGV4dC0+Z2V0RXh0ZW5z
aW9ucygpKTsKKyAgICBleHRlbnNpb25zLT5yYXRlTGltaXRPZmZzY3JlZW5Db250ZXh0Q0hST01J
VU0oKTsKK30KKwogfQogI2VuZGlmIC8vIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1dlYkdM
TGF5ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21p
dW0vV2ViR0xMYXllckNocm9taXVtLmgKaW5kZXggMjVlNmZlNjU3NmI3MzEyNzgzMjcyZjZjMjlh
NzdjZTU1MDQ0MGY3YS4uZWU4NTI4NmUyZGU1Y2YyMjc1YTFkZGZmMjdlOGQyNWRkNmRmN2ViYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vV2Vi
R0xMYXllckNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2hyb21pdW0vV2ViR0xMYXllckNocm9taXVtLmgKQEAgLTM1LDEwICszNSwxMiBAQAogI2lmIFVT
RShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIAogI2luY2x1ZGUgIkNhbnZhc0xheWVyQ2hyb21p
dW0uaCIKKyNpbmNsdWRlICJUaW1lci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNz
IEdyYXBoaWNzQ29udGV4dDNEOworY2xhc3MgV2ViR0xMYXllckNocm9taXVtUmF0ZUxpbWl0VGFz
azsKIAogLy8gQSBMYXllciBjb250YWluaW5nIGEgV2ViR0wgY2FudmFzCiBjbGFzcyBXZWJHTExh
eWVyQ2hyb21pdW0gOiBwdWJsaWMgQ2FudmFzTGF5ZXJDaHJvbWl1bSB7CkBAIC01Miw2ICs1NCw3
IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldFRleHR1cmVVcGRhdGVkKCk7CiAKICAgICB2b2lkIHNl
dENvbnRleHQoY29uc3QgR3JhcGhpY3NDb250ZXh0M0QqIGNvbnRleHQpOworICAgIEdyYXBoaWNz
Q29udGV4dDNEKiBjb250ZXh0KCkgeyByZXR1cm4gbV9jb250ZXh0OyB9CiAKICAgICB2aXJ0dWFs
IHZvaWQgc2V0TGF5ZXJSZW5kZXJlcihMYXllclJlbmRlcmVyQ2hyb21pdW0qKTsKIApAQCAtNjAs
MTEgKzYzLDE2IEBAIHByb3RlY3RlZDoKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBXZWJHTExh
eWVyQ2hyb21pdW0oR3JhcGhpY3NMYXllckNocm9taXVtKiBvd25lcik7CisgICAgZnJpZW5kIGNs
YXNzIFdlYkdMTGF5ZXJDaHJvbWl1bVJhdGVMaW1pdFRhc2s7CisKKyAgICB2b2lkIHJhdGVMaW1p
dENvbnRleHQoVGltZXI8V2ViR0xMYXllckNocm9taXVtPiopOwogCiAgICAgLy8gR3JhcGhpY3ND
b250ZXh0M0Q6OnBsYXRmb3JtTGF5ZXIgaGFzIGEgc2lkZS1lZmZlY3Qgb2YgYXNzaWduaW5nIGl0
c2VsZgogICAgIC8vIHRvIHRoZSBsYXllci4gQmVjYXVzZSBvZiB0aGF0IEdyYXBoaWNzQ29udGV4
dDNEJ3MgZGVzdHJ1Y3RvciB3aWxsIHJlc2V0CiAgICAgLy8gbGF5ZXIncyBjb250ZXh0IHRvIDAu
CiAgICAgR3JhcGhpY3NDb250ZXh0M0QqIG1fY29udGV4dDsKKyAgICBib29sIG1fY29udGV4dFN1
cHBvcnRzUmF0ZUxpbWl0aW5nRXh0ZW5zaW9uOworICAgIFRpbWVyPFdlYkdMTGF5ZXJDaHJvbWl1
bT4gbV9yYXRlTGltaXRpbmdUaW1lcjsKICAgICBib29sIG1fdGV4dHVyZVVwZGF0ZWQ7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IGZkZWEzYTZiOGQyNTAxYjg4YzI5NTFmZTdh
OWVlNTFkZWVhZjBkZDUuLjM1MGJkMDIyNTMzMzUyOTZjZmZkZjBkYWJlOTM3OWM3NzNlZTY5YjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDUtMDkg
IE5hdCBEdWNhICA8bmR1Y2FAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFtjaHJvbWl1bV0gTWFrZSB0aHJvdHRsaW5nIG9mIFdl
YkdMIGJhc2VkIG9uIHdlYmdsIGZyYW1lcywgbm90IGNvbXBvc2l0b3IgZnJhbWVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDUwOAorCisgICAgICAg
IFRlbGwgTGF5ZXJSZW5kZXJlckNocm9taXVtIHdoZW4gdGhlIHJlcXVlc3RBbmltRnJhbWUtY2Fs
bGJhY2tzIGFyZSBydW5uaW5nLgorCisgICAgICAgICogcHVibGljL1dlYkdyYXBoaWNzQ29udGV4
dDNELmg6CisgICAgICAgIChXZWJLaXQ6OldlYkdyYXBoaWNzQ29udGV4dDNEOjpyYXRlTGltaXRP
ZmZzY3JlZW5Db250ZXh0Q0hST01JVU0pOgorICAgICAgICAqIHNyYy9FeHRlbnNpb25zM0RDaHJv
bWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFeHRlbnNpb25zM0RDaHJvbWl1bTo6cmF0ZUxp
bWl0T2Zmc2NyZWVuQ29udGV4dENIUk9NSVVNKToKKyAgICAgICAgKiBzcmMvR3JhcGhpY3NDb250
ZXh0M0RDaHJvbWl1bS5jcHA6CisgICAgICAgICogc3JjL0dyYXBoaWNzQ29udGV4dDNESW50ZXJu
YWwuaDoKKyAgICAgICAgKiBzcmMvV2ViVmlld0ltcGwuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJWaWV3SW1wbDo6YW5pbWF0ZSk6CisKIDIwMTEtMDUtMDkgIFNoaXNoaXIgQWdyYXdhbCAgPHNo
aXNoaXJAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgR2VudGlsY29y
ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkdyYXBoaWNz
Q29udGV4dDNELmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHcmFwaGljc0Nv
bnRleHQzRC5oCmluZGV4IDhkNWViMTBmZDgxMWEwMWE1ZWFhMDQ5NzRhOThkZWRiYWZjZmY0ZGYu
LjNkZTcyYzJlYWM4MDE3NGQ5Y2M3YjQzOGNjYjY2N2E5OWY5NjJkZjMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkdyYXBoaWNzQ29udGV4dDNELmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR3JhcGhpY3NDb250ZXh0M0QuaApAQCAt
MTgzLDYgKzE4Myw5IEBAIHB1YmxpYzoKICAgICAvLyBHTF9DSFJPTUlVTV9zd2FwYnVmZmVyc19j
b21wbGV0ZV9jYWxsYmFjawogICAgIHZpcnR1YWwgdm9pZCBzZXRTd2FwQnVmZmVyc0NvbXBsZXRl
Q2FsbGJhY2tDSFJPTUlVTShXZWJHcmFwaGljc1N3YXBCdWZmZXJzQ29tcGxldGVDYWxsYmFja0NI
Uk9NSVVNKiBjYWxsYmFjaykgeyB9CiAKKyAgICAvLyBHTF9DSFJPTUlVTV9yYXRlX2xpbWl0X29m
ZnNjcmVlbl9jb250ZXh0CisgICAgdmlydHVhbCB2b2lkIHJhdGVMaW1pdE9mZnNjcmVlbkNvbnRl
eHRDSFJPTUlVTSgpIHsgfQorCiAgICAgLy8gVGhlIGVudHJ5IHBvaW50cyBiZWxvdyBtYXAgZGly
ZWN0bHkgdG8gdGhlIE9wZW5HTCBFUyAyLjAgQVBJLgogICAgIC8vIFNlZTogaHR0cDovL3d3dy5r
aHJvbm9zLm9yZy9yZWdpc3RyeS9nbGVzLwogICAgIC8vIGFuZDogaHR0cDovL3d3dy5raHJvbm9z
Lm9yZy9vcGVuZ2xlcy9zZGsvZG9jcy9tYW4vCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9FeHRlbnNpb25zM0RDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9FeHRlbnNpb25zM0RDaHJvbWl1bS5jcHAKaW5kZXggMTNjZGU2NzlmZDExYTgzZDA2
ZGZjYTgzNGU5OTQzMDkyZDExYzY3Mi4uZDUzNjUwOTJhNjk0MmJjY2E4ODU2MDFiZGIxMDczOGJj
NmU4MjhjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRXh0ZW5zaW9u
czNEQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0V4dGVuc2lv
bnMzRENocm9taXVtLmNwcApAQCAtMTQ1LDYgKzE0NSwxMSBAQCB2b2lkIEV4dGVuc2lvbnMzRENo
cm9taXVtOjpzZXRTd2FwQnVmZmVyc0NvbXBsZXRlQ2FsbGJhY2tDSFJPTUlVTShQYXNzT3duUHRy
PFN3YQogICAgIG1faW50ZXJuYWwtPnNldFN3YXBCdWZmZXJzQ29tcGxldGVDYWxsYmFja0NIUk9N
SVVNKGNhbGxiYWNrKTsKIH0KIAordm9pZCBFeHRlbnNpb25zM0RDaHJvbWl1bTo6cmF0ZUxpbWl0
T2Zmc2NyZWVuQ29udGV4dENIUk9NSVVNKCkKK3sKKyAgICBtX2ludGVybmFsLT5yYXRlTGltaXRP
ZmZzY3JlZW5Db250ZXh0Q0hST01JVU0oKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQog
CiAjZW5kaWYgLy8gRU5BQkxFKFdFQkdMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RDaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcAppbmRleCAyMTgyOGVhMTg3
NmI3M2EyNjMxOTdmODkzZWVlOWE1YjliZTRlZGJlLi5mYjEwMmI1YzkwY2M5NDU5MjU1ZGMzOTUz
MDE2ZTNkNGVkYTYwYTk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9H
cmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9HcmFwaGljc0NvbnRleHQzRENocm9taXVtLmNwcApAQCAtODA5LDYgKzgwOSw4IEBAIERF
TEVHQVRFX1RPX0lNUExfMShnZXRDaGlsZFRvUGFyZW50TGF0Y2hDSFJPTUlVTSwgR0MzRHVpbnQq
KQogREVMRUdBVEVfVE9fSU1QTF8xKHdhaXRMYXRjaENIUk9NSVVNLCBHQzNEdWludCkKIERFTEVH
QVRFX1RPX0lNUExfMShzZXRMYXRjaENIUk9NSVVNLCBHQzNEdWludCkKIAorREVMRUdBVEVfVE9f
SU1QTChyYXRlTGltaXRPZmZzY3JlZW5Db250ZXh0Q0hST01JVU0pCisKIC8vLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogLy8gR3JhcGhpY3NDb250ZXh0M0QKIC8vCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzREludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzREludGVybmFsLmgKaW5kZXggNDUyMGM2MmI1YTA3
N2I1ZDNlZWEwZDRmOWQxMWFhNWRiZTNkMjY1ZC4uMGM1MTVlYmRiNzYxY2ZjODE1YjFiNDg1OGE2
OTQxNDhhYjQxZTVhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3Jh
cGhpY3NDb250ZXh0M0RJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L0dyYXBoaWNzQ29udGV4dDNESW50ZXJuYWwuaApAQCAtMjczLDcgKzI3Myw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGJsaXRGcmFtZWJ1ZmZlckNIUk9NSVVNKEdDM0RpbnQgc3JjWDAsIEdDM0RpbnQg
c3JjWTAsIEdDM0RpbnQgc3JjWDEsIEdDM0RpbnQgc3JjWTEsIEdDM0RpbnQgZHN0WDAsIEdDM0Rp
bnQgZHN0WTAsIEdDM0RpbnQgZHN0WDEsIEdDM0RpbnQgZHN0WTEsIEdDM0RiaXRmaWVsZCBtYXNr
LCBHQzNEZW51bSBmaWx0ZXIpOwogICAgIHZvaWQgcmVuZGVyYnVmZmVyU3RvcmFnZU11bHRpc2Ft
cGxlQ0hST01JVU0oR0MzRGVudW0gdGFyZ2V0LCBHQzNEc2l6ZWkgc2FtcGxlcywgR0MzRGVudW0g
aW50ZXJuYWxmb3JtYXQsIEdDM0RzaXplaSB3aWR0aCwgR0MzRHNpemVpIGhlaWdodCk7CiAKLSAg
ICAvLyBMYXRjaCBzdXBwb3J0CisgICAgLy8gR0xfQ0hST01JVU1fbGF0Y2gKICAgICB2b2lkIGdl
dFBhcmVudFRvQ2hpbGRMYXRjaENIUk9NSVVNKEdDM0R1aW50KiBsYXRjaElkKTsKICAgICB2b2lk
IGdldENoaWxkVG9QYXJlbnRMYXRjaENIUk9NSVVNKEdDM0R1aW50KiBsYXRjaElkKTsKICAgICB2
b2lkIHdhaXRMYXRjaENIUk9NSVVNKEdDM0R1aW50IGxhdGNoSWQpOwpAQCAtMjgyLDYgKzI4Miw5
IEBAIHB1YmxpYzoKICAgICAvLyBHTF9DSFJPTUlVTV9zd2FwYnVmZmVyc19jb21wbGV0ZV9jYWxs
YmFjawogICAgIHZvaWQgc2V0U3dhcEJ1ZmZlcnNDb21wbGV0ZUNhbGxiYWNrQ0hST01JVU0oUGFz
c093blB0cjxFeHRlbnNpb25zM0RDaHJvbWl1bTo6U3dhcEJ1ZmZlcnNDb21wbGV0ZUNhbGxiYWNr
Q0hST01JVU0+KTsKIAorICAgIC8vIEdMX0NIUk9NSVVNX3JhdGVfbGltaXRfb2Zmc2NyZWVuX2Nv
bnRleHQKKyAgICB2b2lkIHJhdGVMaW1pdE9mZnNjcmVlbkNvbnRleHRDSFJPTUlVTSgpOworCiBw
cml2YXRlOgogICAgIE93blB0cjxXZWJLaXQ6OldlYkdyYXBoaWNzQ29udGV4dDNEPiBtX2ltcGw7
CiAgICAgT3duUHRyPEV4dGVuc2lvbnMzRENocm9taXVtPiBtX2V4dGVuc2lvbnM7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKaW5kZXggOTY4ZGU1NmJjYTQ0NTYx
OTljYTM4NjU4NjVjNDk4N2EwY2Y4MjAwMS4uYzg5NDc4ODlmNzBlYzEzN2Y5NWY1YTRlYWE2Y2Ew
YzViZWYzMzFkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViVmll
d0ltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNw
cApAQCAtMTAwNyw4ICsxMDA3LDEzIEBAIHZvaWQgV2ViVmlld0ltcGw6OmFuaW1hdGUoKQogICAg
IFdlYkZyYW1lSW1wbCogd2ViZnJhbWUgPSBtYWluRnJhbWVJbXBsKCk7CiAgICAgaWYgKHdlYmZy
YW1lKSB7CiAgICAgICAgIEZyYW1lVmlldyogdmlldyA9IHdlYmZyYW1lLT5mcmFtZVZpZXcoKTsK
LSAgICAgICAgaWYgKHZpZXcpCisgICAgICAgIGlmICh2aWV3KSB7CisgICAgICAgICAgICBpZiAo
bV9sYXllclJlbmRlcmVyKQorICAgICAgICAgICAgICAgIG1fbGF5ZXJSZW5kZXJlci0+c2V0SXNB
bmltYXRpbmcodHJ1ZSk7CiAgICAgICAgICAgICB2aWV3LT5zZXJ2aWNlU2NyaXB0ZWRBbmltYXRp
b25zKGNvbnZlcnRTZWNvbmRzVG9ET01UaW1lU3RhbXAoY3VycmVudFRpbWUoKSkpOworICAgICAg
ICAgICAgaWYgKG1fbGF5ZXJSZW5kZXJlcikKKyAgICAgICAgICAgICAgICBtX2xheWVyUmVuZGVy
ZXItPnNldElzQW5pbWF0aW5nKGZhbHNlKTsKKyAgICAgICAgfQogICAgIH0KICNlbmRpZgogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>92912</attachid>
            <date>2011-05-09 20:16:21 -0700</date>
            <delta_ts>2011-05-11 15:51:08 -0700</delta_ts>
            <desc>remove comments.</desc>
            <filename>bug-60508-20110509201619.patch</filename>
            <type>text/plain</type>
            <size>14457</size>
            <attacher name="Nat Duca">nduca</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODYwNjEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjYWQ2YzJiOTg3MTY5MmEx
NzQwZmQyMDQ5ZDNkMGU1MjdlNDg2NTk4Li43MjUxZmNjMGY3NWMyOTY1YjgwM2I1MzNlNGExNDY4
Y2RhZjU4MzI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMTEtMDUtMDkgIE5hdCBE
dWNhICA8bmR1Y2FAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFtjaHJvbWl1bV0gTWFrZSB0aHJvdHRsaW5nIG9mIFdlYkdMIGJh
c2VkIG9uIHdlYmdsIGZyYW1lcywgbm90IGNvbXBvc2l0b3IgZnJhbWVzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MDUwOAorCisgICAgICAgIFdoZW4g
YSBXZWJHTCBsYXllciBpcyBkaXJ0aWVkIG91dHNpZGUgb2YgYSByZXF1ZXN0QW5pbUZyYW1lIGNh
bGxiYWNrLCB3ZSBuZWVkCisgICAgICAgIHRvIHByZXZlbnQgV2ViR0wgZnJvbSBydW5uaW5nIHRv
byBmYXIgYWhlYWQgb2YgdGhlIEdQVSBwcm9jZXNzLiBUaGUgY3VycmVudAorICAgICAgICB0aHJv
dHRsaW5nIG1lY2hhbmlzbSByZWxpZXMgb24gcHJlcGFyZVRleHR1cmUgYmVpbmcgY2FsbGVkIGZv
ciBldmVyeSBXZWJHTCBmcmFtZS4KKyAgICAgICAgSG93ZXZlciwgaW4gYSBub24tcmVxdWVzdEFu
aW1GcmFtZSBhcHBsaWNhdGlvbiwgbXVsdGlwbGUgZnJhbWVzIG1pZ2h0IGdldCBjcmVhdGVkCisg
ICAgICAgIGJlZm9yZSB0aGUgY29tcG9zaXRvciBydW5zIGFuZCBjYWxscyBwcmVwYXJlVGV4dHVy
ZSBvbiB0aGUgc3VyZmFjZS4KKworICAgICAgICBUbyBhZGRyZXNzIHRoaXMsIHdlIHBvc3QgYSB0
YXNrIHRoYXQgY2FsbHMgYSBzcGVjaWFsIHJhdGUgbGltaXRpbmcgR0wgZXh0ZW5zaW9uIG9uCisg
ICAgICAgIHRoZSBXZWJHTCBjb250ZXh0IGFmdGVyIGV2ZXJ5IFdlYkdMICJmcmFtZS4iIFdoZW4g
dGhlIGNvbXBvc2l0b3IgcnVucywgaXQgY2FsbHMKKyAgICAgICAgcHJlcGFyZVRleHR1cmUgYXMg
dXN1YWwuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9FeHRlbnNpb25z
M0RDaHJvbWl1bS5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVy
UmVuZGVyZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpMYXllclJlbmRlcmVyQ2hy
b21pdW06OkxheWVyUmVuZGVyZXJDaHJvbWl1bSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNocm9taXVtLmg6CisgICAgICAgIChXZWJDb3JlOjpM
YXllclJlbmRlcmVyQ2hyb21pdW06OnNldElzQW5pbWF0aW5nKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheWVyUmVuZGVyZXJDaHJvbWl1bTo6aXNBbmltYXRpbmcpOgorICAgICAgICAqIHBsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL1dlYkdMTGF5ZXJDaHJvbWl1bS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpXZWJHTExheWVyQ2hyb21pdW1SYXRlTGltaXRUYXNrOjpXZWJHTExheWVyQ2hyb21pdW1S
YXRlTGltaXRUYXNrKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMTGF5ZXJDaHJvbWl1bVJhdGVM
aW1pdFRhc2s6OnJ1bik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTExheWVyQ2hyb21pdW1SYXRl
TGltaXRUYXNrOjpjYW5jZWwpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xMYXllckNocm9taXVt
OjpXZWJHTExheWVyQ2hyb21pdW0pOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xMYXllckNocm9t
aXVtOjp+V2ViR0xMYXllckNocm9taXVtKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMTGF5ZXJD
aHJvbWl1bTo6c2V0VGV4dHVyZVVwZGF0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xMYXll
ckNocm9taXVtOjpzZXRDb250ZXh0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9XZWJHTExheWVyQ2hyb21pdW0uaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMTGF5ZXJD
aHJvbWl1bTo6Y29udGV4dCk6CisKIDIwMTEtMDUtMDkgIEFiaGlzaGVrIEFyeWEgIDxpbmZlcm5v
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXZlIEh5YXR0LgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRXh0ZW5zaW9u
czNEQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0V4dGVuc2lvbnMzRENocm9taXVtLmgKaW5kZXggYzZlMGM2NjhlMmFkZTY0NWEzNjIxM2MyOWEw
MzljM2ZkZThjMGI3OS4uYjFiN2I1MmRkMmJiOTk3N2JmMjFmOTE2N2ZjMTgyNWUzN2ZhZTU0YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vRXh0
ZW5zaW9uczNEQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9jaHJvbWl1bS9FeHRlbnNpb25zM0RDaHJvbWl1bS5oCkBAIC00Myw2ICs0Myw3IEBAIHB1Ymxp
YzoKICAgICAvLyAgIEdMX0NIUk9NSVVNX2NvcHlfdGV4dHVyZV90b19wYXJlbnRfdGV4dHVyZQog
ICAgIC8vICAgR0xfQ0hST01JVU1fbGF0Y2gKICAgICAvLyAgIEdMX0NIUk9NSVVNX3N3YXBidWZm
ZXJzX2NvbXBsZXRlX2NhbGxiYWNrCisgICAgLy8gICBHTF9DSFJPTUlVTV9yYXRlX2xpbWl0X29m
ZnNjcmVlbl9jb250ZXh0CiAKICAgICAvLyBFeHRlbnNpb25zM0QgbWV0aG9kcy4KICAgICB2aXJ0
dWFsIGJvb2wgc3VwcG9ydHMoY29uc3QgU3RyaW5nJik7CkBAIC04NSw2ICs4Niw5IEBAIHB1Ymxp
YzoKICAgICB9OwogICAgIHZvaWQgc2V0U3dhcEJ1ZmZlcnNDb21wbGV0ZUNhbGxiYWNrQ0hST01J
VU0oUGFzc093blB0cjxTd2FwQnVmZmVyc0NvbXBsZXRlQ2FsbGJhY2tDSFJPTUlVTT4pOwogCisg
ICAgLy8gR0xfQ0hST01JVU1fcmF0ZV9saW1pdF9vZmZzY3JlZW5fY29udGV4dAorICAgIHZvaWQg
cmF0ZUxpbWl0T2Zmc2NyZWVuQ29udGV4dENIUk9NSVVNKCk7CisKIHByaXZhdGU6CiAgICAgLy8g
SW5zdGFuY2VzIG9mIHRoaXMgY2xhc3MgYXJlIHN0cmljdGx5IG93bmVkIGJ5IHRoZSBHcmFwaGlj
c0NvbnRleHQzRCBpbXBsZW1lbnRhdGlvbiBhbmQgZG8gbm90CiAgICAgLy8gbmVlZCB0byBiZSBp
bnN0YW50aWF0ZWQgYnkgYW55IG90aGVyIGNvZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21pdW0uY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJSZW5kZXJlckNo
cm9taXVtLmNwcAppbmRleCAwOWQ4MzYwMTk2MTgwZDJmNWIxNDgxZWYzNGIwMWQ1ZjNhZTdkOTI0
Li40MjI5NmU0ZGQwZmIwNWFmYjBiNmYzN2U3ZmI1MzhiYWE0Y2FiZGYyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hy
b21pdW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVt
L0xheWVyUmVuZGVyZXJDaHJvbWl1bS5jcHAKQEAgLTExNyw2ICsxMTcsNyBAQCBMYXllclJlbmRl
cmVyQ2hyb21pdW06OkxheWVyUmVuZGVyZXJDaHJvbWl1bShQYXNzUmVmUHRyPEdyYXBoaWNzQ29u
dGV4dDNEPiBjb250ZQogICAgICwgbV9jb250ZXh0KGNvbnRleHQpCiAgICAgLCBtX2NoaWxkQ29u
dGV4dHNXZXJlQ29waWVkKGZhbHNlKQogICAgICwgbV9jb250ZXh0U3VwcG9ydHNMYXRjaChmYWxz
ZSkKKyAgICAsIG1fYW5pbWF0aW5nKGZhbHNlKQogICAgICwgbV9kZWZhdWx0UmVuZGVyU3VyZmFj
ZSgwKQogewogICAgIG1fY29udGV4dFN1cHBvcnRzTGF0Y2ggPSBtX2NvbnRleHQtPmdldEV4dGVu
c2lvbnMoKS0+c3VwcG9ydHMoIkdMX0NIUk9NSVVNX2xhdGNoIik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllclJlbmRlcmVyQ2hyb21p
dW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVu
ZGVyZXJDaHJvbWl1bS5oCmluZGV4IDM5OTU2MmQ2MzIyZjM5OGRmOTI3ZGU1M2M3MWExZmM0MThh
ZDBiMmIuLmMzNWIzYjNlNTBhODMzYmNkMzQ1MzgzYzVlOWMwOTg0Y2JhNWE2ZmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyUmVuZGVy
ZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9t
aXVtL0xheWVyUmVuZGVyZXJDaHJvbWl1bS5oCkBAIC04MSw2ICs4MSwxMSBAQCBwdWJsaWM6CiAg
ICAgLy8gdXBkYXRlcyBhbmQgZHJhd3MgdGhlIGN1cnJlbnQgbGF5ZXJzIG9udG8gdGhlIGJhY2ti
dWZmZXIKICAgICB2b2lkIHVwZGF0ZUFuZERyYXdMYXllcnMoKTsKIAorICAgIC8vIFNldCBieSBX
ZWJWaWV3SW1wbCB3aGVuIGFuaW1hdGlvbiBjYWxsYmFja3MgYXJlIHJ1bm5pbmcuCisgICAgLy8g
RklYTUU6IFdoZW4gd2UgbW92ZSBzY2hlZHVsaW5nIGludG8gdGhlIGNvbXBvc2l0b3IsIHdlIGNh
biByZW1vdmUgdGhpcyBmbGFnLgorICAgIHZvaWQgc2V0SXNBbmltYXRpbmcoYm9vbCBhbmltYXRp
bmcpIHsgbV9hbmltYXRpbmcgPSBhbmltYXRpbmc7IH0KKyAgICBib29sIGlzQW5pbWF0aW5nKCkg
Y29uc3QgeyByZXR1cm4gbV9hbmltYXRpbmc7IH0KKwogICAgIC8vIHdhaXRzIGZvciByZW5kZXJp
bmcgdG8gZmluaXNoCiAgICAgdm9pZCBmaW5pc2goKTsKIApAQCAtMjM0LDYgKzIzOSw4IEBAIHBy
aXZhdGU6CiAKICAgICBib29sIG1fY29udGV4dFN1cHBvcnRzTGF0Y2g7CiAKKyAgICBib29sIG1f
YW5pbWF0aW5nOworCiAgICAgUmVuZGVyU3VyZmFjZUNocm9taXVtKiBtX2RlZmF1bHRSZW5kZXJT
dXJmYWNlOwogCiAgICAgQ0NMYXllclNvcnRlciBtX2xheWVyU29ydGVyOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vV2ViR0xMYXllckNocm9t
aXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1dlYkdM
TGF5ZXJDaHJvbWl1bS5jcHAKaW5kZXggZGIwOTE0Mjk5Mzg2MDRlZWVmNWY3MzhmYWExYTgyMmVm
YzE5ZWMzZC4uNmExNzc1ODg0NDQ2NjAyZTNiM2RiNjEzZGE3OTEyZTMwMGJlNWJlMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vV2ViR0xMYXll
ckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJv
bWl1bS9XZWJHTExheWVyQ2hyb21pdW0uY3BwCkBAIC0zNCw4ICszNCwxMCBAQAogCiAjaW5jbHVk
ZSAiV2ViR0xMYXllckNocm9taXVtLmgiCiAKKyNpbmNsdWRlICJFeHRlbnNpb25zM0RDaHJvbWl1
bS5oIgogI2luY2x1ZGUgIkdyYXBoaWNzQ29udGV4dDNELmgiCiAjaW5jbHVkZSAiTGF5ZXJSZW5k
ZXJlckNocm9taXVtLmgiCisjaW5jbHVkZSAiVHJhY2VFdmVudC5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTQ3LDYgKzQ5LDggQEAgUGFzc1JlZlB0cjxXZWJHTExheWVyQ2hyb21pdW0+
IFdlYkdMTGF5ZXJDaHJvbWl1bTo6Y3JlYXRlKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSoKIFdlYkdM
TGF5ZXJDaHJvbWl1bTo6V2ViR0xMYXllckNocm9taXVtKEdyYXBoaWNzTGF5ZXJDaHJvbWl1bSog
b3duZXIpCiAgICAgOiBDYW52YXNMYXllckNocm9taXVtKG93bmVyKQogICAgICwgbV9jb250ZXh0
KDApCisgICAgLCBtX2NvbnRleHRTdXBwb3J0c1JhdGVMaW1pdGluZ0V4dGVuc2lvbihmYWxzZSkK
KyAgICAsIG1fcmF0ZUxpbWl0aW5nVGltZXIodGhpcywgJldlYkdMTGF5ZXJDaHJvbWl1bTo6cmF0
ZUxpbWl0Q29udGV4dCkKICAgICAsIG1fdGV4dHVyZVVwZGF0ZWQoZmFsc2UpCiB7CiB9CkBAIC05
MSw2ICs5NSwxMCBAQCB2b2lkIFdlYkdMTGF5ZXJDaHJvbWl1bTo6dXBkYXRlQ29tcG9zaXRvclJl
c291cmNlcygpCiB2b2lkIFdlYkdMTGF5ZXJDaHJvbWl1bTo6c2V0VGV4dHVyZVVwZGF0ZWQoKQog
ewogICAgIG1fdGV4dHVyZVVwZGF0ZWQgPSB0cnVlOworICAgIC8vIElmIFdlYkdMIGNvbW1hbmRz
IGFyZSBpc3N1ZWQgb3V0c2lkZSBvZiBhIHRoZSBhbmltYXRpb24gY2FsbGJhY2tzLCB0aGVuIHVz
ZQorICAgIC8vIGNhbGwgcmF0ZUxpbWl0T2Zmc2NyZWVuQ29udGV4dENIUk9NSVVNKCkgdG8ga2Vl
cCB0aGUgY29udGV4dCBmcm9tIGdldHRpbmcgdG9vIGZhciBhaGVhZC4KKyAgICBpZiAobGF5ZXJS
ZW5kZXJlcigpICYmICFsYXllclJlbmRlcmVyKCktPmlzQW5pbWF0aW5nKCkgJiYgbV9jb250ZXh0
U3VwcG9ydHNSYXRlTGltaXRpbmdFeHRlbnNpb24gJiYgIW1fcmF0ZUxpbWl0aW5nVGltZXIuaXNB
Y3RpdmUoKSkKKyAgICAgICAgbV9yYXRlTGltaXRpbmdUaW1lci5zdGFydE9uZVNob3QoMCk7CiB9
CiAKIHZvaWQgV2ViR0xMYXllckNocm9taXVtOjpzZXRDb250ZXh0KGNvbnN0IEdyYXBoaWNzQ29u
dGV4dDNEKiBjb250ZXh0KQpAQCAtMTE0LDYgKzEyMiw3IEBAIHZvaWQgV2ViR0xMYXllckNocm9t
aXVtOjpzZXRDb250ZXh0KGNvbnN0IEdyYXBoaWNzQ29udGV4dDNEKiBjb250ZXh0KQogICAgIH0K
ICAgICBtX3RleHR1cmVJZCA9IHRleHR1cmVJZDsKICAgICBtX3ByZW11bHRpcGxpZWRBbHBoYSA9
IG1fY29udGV4dC0+Z2V0Q29udGV4dEF0dHJpYnV0ZXMoKS5wcmVtdWx0aXBsaWVkQWxwaGE7Cisg
ICAgbV9jb250ZXh0U3VwcG9ydHNSYXRlTGltaXRpbmdFeHRlbnNpb24gPSBtX2NvbnRleHQtPmdl
dEV4dGVuc2lvbnMoKS0+c3VwcG9ydHMoIkdMX0NIUk9NSVVNX3JhdGVfbGltaXRfb2Zmc2NyZWVu
X2NvbnRleHQiKTsKIH0KIAogdm9pZCBXZWJHTExheWVyQ2hyb21pdW06OnNldExheWVyUmVuZGVy
ZXIoTGF5ZXJSZW5kZXJlckNocm9taXVtKiBuZXdMYXllclJlbmRlcmVyKQpAQCAtMTMwLDUgKzEz
OSwxNiBAQCB2b2lkIFdlYkdMTGF5ZXJDaHJvbWl1bTo6c2V0TGF5ZXJSZW5kZXJlcihMYXllclJl
bmRlcmVyQ2hyb21pdW0qIG5ld0xheWVyUmVuZGVyZQogICAgIH0KIH0KIAordm9pZCBXZWJHTExh
eWVyQ2hyb21pdW06OnJhdGVMaW1pdENvbnRleHQoVGltZXI8V2ViR0xMYXllckNocm9taXVtPiop
Cit7CisgICAgVFJBQ0VfRVZFTlQoIldlYkdMTGF5ZXJDaHJvbWl1bTo6cmF0ZUxpbWl0Q29udGV4
dCIsIHRoaXMsIDApOworCisgICAgaWYgKCFtX2NvbnRleHQpCisgICAgICAgIHJldHVybjsKKwor
ICAgIEV4dGVuc2lvbnMzRENocm9taXVtKiBleHRlbnNpb25zID0gc3RhdGljX2Nhc3Q8RXh0ZW5z
aW9uczNEQ2hyb21pdW0qPihtX2NvbnRleHQtPmdldEV4dGVuc2lvbnMoKSk7CisgICAgZXh0ZW5z
aW9ucy0+cmF0ZUxpbWl0T2Zmc2NyZWVuQ29udGV4dENIUk9NSVVNKCk7Cit9CisKIH0KICNlbmRp
ZiAvLyBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9XZWJHTExheWVyQ2hyb21pdW0uaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1dlYkdMTGF5ZXJDaHJvbWl1
bS5oCmluZGV4IDI1ZTZmZTY1NzZiNzMxMjc4MzI3MmY2YzI5YTc3Y2U1NTA0NDBmN2EuLmVlODUy
ODZlMmRlNWNmMjI3NWExZGRmZjI3ZThkMjVkZDZkZjdlYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1dlYkdMTGF5ZXJDaHJvbWl1bS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL1dlYkdMTGF5ZXJD
aHJvbWl1bS5oCkBAIC0zNSwxMCArMzUsMTIgQEAKICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9T
SVRJTkcpCiAKICNpbmNsdWRlICJDYW52YXNMYXllckNocm9taXVtLmgiCisjaW5jbHVkZSAiVGlt
ZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBHcmFwaGljc0NvbnRleHQzRDsK
K2NsYXNzIFdlYkdMTGF5ZXJDaHJvbWl1bVJhdGVMaW1pdFRhc2s7CiAKIC8vIEEgTGF5ZXIgY29u
dGFpbmluZyBhIFdlYkdMIGNhbnZhcwogY2xhc3MgV2ViR0xMYXllckNocm9taXVtIDogcHVibGlj
IENhbnZhc0xheWVyQ2hyb21pdW0gewpAQCAtNTIsNiArNTQsNyBAQCBwdWJsaWM6CiAgICAgdm9p
ZCBzZXRUZXh0dXJlVXBkYXRlZCgpOwogCiAgICAgdm9pZCBzZXRDb250ZXh0KGNvbnN0IEdyYXBo
aWNzQ29udGV4dDNEKiBjb250ZXh0KTsKKyAgICBHcmFwaGljc0NvbnRleHQzRCogY29udGV4dCgp
IHsgcmV0dXJuIG1fY29udGV4dDsgfQogCiAgICAgdmlydHVhbCB2b2lkIHNldExheWVyUmVuZGVy
ZXIoTGF5ZXJSZW5kZXJlckNocm9taXVtKik7CiAKQEAgLTYwLDExICs2MywxNiBAQCBwcm90ZWN0
ZWQ6CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgV2ViR0xMYXllckNocm9taXVtKEdyYXBoaWNz
TGF5ZXJDaHJvbWl1bSogb3duZXIpOworICAgIGZyaWVuZCBjbGFzcyBXZWJHTExheWVyQ2hyb21p
dW1SYXRlTGltaXRUYXNrOworCisgICAgdm9pZCByYXRlTGltaXRDb250ZXh0KFRpbWVyPFdlYkdM
TGF5ZXJDaHJvbWl1bT4qKTsKIAogICAgIC8vIEdyYXBoaWNzQ29udGV4dDNEOjpwbGF0Zm9ybUxh
eWVyIGhhcyBhIHNpZGUtZWZmZWN0IG9mIGFzc2lnbmluZyBpdHNlbGYKICAgICAvLyB0byB0aGUg
bGF5ZXIuIEJlY2F1c2Ugb2YgdGhhdCBHcmFwaGljc0NvbnRleHQzRCdzIGRlc3RydWN0b3Igd2ls
bCByZXNldAogICAgIC8vIGxheWVyJ3MgY29udGV4dCB0byAwLgogICAgIEdyYXBoaWNzQ29udGV4
dDNEKiBtX2NvbnRleHQ7CisgICAgYm9vbCBtX2NvbnRleHRTdXBwb3J0c1JhdGVMaW1pdGluZ0V4
dGVuc2lvbjsKKyAgICBUaW1lcjxXZWJHTExheWVyQ2hyb21pdW0+IG1fcmF0ZUxpbWl0aW5nVGlt
ZXI7CiAgICAgYm9vbCBtX3RleHR1cmVVcGRhdGVkOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5n
ZUxvZwppbmRleCBmZGVhM2E2YjhkMjUwMWI4OGMyOTUxZmU3YTllZTUxZGVlYWYwZGQ1Li4zNTBi
ZDAyMjUzMzM1Mjk2Y2ZmZGYwZGFiZTkzNzljNzczZWU2OWI2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0No
YW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDExLTA1LTA5ICBOYXQgRHVjYSAgPG5kdWNhQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBbY2hyb21pdW1dIE1ha2UgdGhyb3R0bGluZyBvZiBXZWJHTCBiYXNlZCBvbiB3ZWJnbCBm
cmFtZXMsIG5vdCBjb21wb3NpdG9yIGZyYW1lcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA1MDgKKworICAgICAgICBUZWxsIExheWVyUmVuZGVyZXJD
aHJvbWl1bSB3aGVuIHRoZSByZXF1ZXN0QW5pbUZyYW1lLWNhbGxiYWNrcyBhcmUgcnVubmluZy4K
KworICAgICAgICAqIHB1YmxpYy9XZWJHcmFwaGljc0NvbnRleHQzRC5oOgorICAgICAgICAoV2Vi
S2l0OjpXZWJHcmFwaGljc0NvbnRleHQzRDo6cmF0ZUxpbWl0T2Zmc2NyZWVuQ29udGV4dENIUk9N
SVVNKToKKyAgICAgICAgKiBzcmMvRXh0ZW5zaW9uczNEQ2hyb21pdW0uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6RXh0ZW5zaW9uczNEQ2hyb21pdW06OnJhdGVMaW1pdE9mZnNjcmVlbkNvbnRleHRD
SFJPTUlVTSk6CisgICAgICAgICogc3JjL0dyYXBoaWNzQ29udGV4dDNEQ2hyb21pdW0uY3BwOgor
ICAgICAgICAqIHNyYy9HcmFwaGljc0NvbnRleHQzREludGVybmFsLmg6CisgICAgICAgICogc3Jj
L1dlYlZpZXdJbXBsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViVmlld0ltcGw6OmFuaW1hdGUp
OgorCiAyMDExLTA1LTA5ICBTaGlzaGlyIEFncmF3YWwgIDxzaGlzaGlyQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBSZXZpZXdlZCBieSBUb255IEdlbnRpbGNvcmUuCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJHcmFwaGljc0NvbnRleHQzRC5oIGIvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViR3JhcGhpY3NDb250ZXh0M0QuaAppbmRleCA4ZDVl
YjEwZmQ4MTFhMDFhNWVhYTA0OTc0YTk4ZGVkYmFmY2ZmNGRmLi4zZGU3MmMyZWFjODAxNzRkOWNj
N2I0MzhjY2I2NjdhOTlmOTYyZGYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJHcmFwaGljc0NvbnRleHQzRC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkdyYXBoaWNzQ29udGV4dDNELmgKQEAgLTE4Myw2ICsxODMsOSBAQCBwdWJs
aWM6CiAgICAgLy8gR0xfQ0hST01JVU1fc3dhcGJ1ZmZlcnNfY29tcGxldGVfY2FsbGJhY2sKICAg
ICB2aXJ0dWFsIHZvaWQgc2V0U3dhcEJ1ZmZlcnNDb21wbGV0ZUNhbGxiYWNrQ0hST01JVU0oV2Vi
R3JhcGhpY3NTd2FwQnVmZmVyc0NvbXBsZXRlQ2FsbGJhY2tDSFJPTUlVTSogY2FsbGJhY2spIHsg
fQogCisgICAgLy8gR0xfQ0hST01JVU1fcmF0ZV9saW1pdF9vZmZzY3JlZW5fY29udGV4dAorICAg
IHZpcnR1YWwgdm9pZCByYXRlTGltaXRPZmZzY3JlZW5Db250ZXh0Q0hST01JVU0oKSB7IH0KKwog
ICAgIC8vIFRoZSBlbnRyeSBwb2ludHMgYmVsb3cgbWFwIGRpcmVjdGx5IHRvIHRoZSBPcGVuR0wg
RVMgMi4wIEFQSS4KICAgICAvLyBTZWU6IGh0dHA6Ly93d3cua2hyb25vcy5vcmcvcmVnaXN0cnkv
Z2xlcy8KICAgICAvLyBhbmQ6IGh0dHA6Ly93d3cua2hyb25vcy5vcmcvb3BlbmdsZXMvc2RrL2Rv
Y3MvbWFuLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRXh0ZW5zaW9u
czNEQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvRXh0ZW5zaW9uczNE
Q2hyb21pdW0uY3BwCmluZGV4IDEzY2RlNjc5ZmQxMWE4M2QwNmRmY2E4MzRlOTk0MzA5MmQxMWM2
NzIuLmQ1MzY1MDkyYTY5NDJiY2NhODg1NjAxYmRiMTA3MzhiYzZlODI4YzAgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0V4dGVuc2lvbnMzRENocm9taXVtLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9FeHRlbnNpb25zM0RDaHJvbWl1bS5jcHAKQEAg
LTE0NSw2ICsxNDUsMTEgQEAgdm9pZCBFeHRlbnNpb25zM0RDaHJvbWl1bTo6c2V0U3dhcEJ1ZmZl
cnNDb21wbGV0ZUNhbGxiYWNrQ0hST01JVU0oUGFzc093blB0cjxTd2EKICAgICBtX2ludGVybmFs
LT5zZXRTd2FwQnVmZmVyc0NvbXBsZXRlQ2FsbGJhY2tDSFJPTUlVTShjYWxsYmFjayk7CiB9CiAK
K3ZvaWQgRXh0ZW5zaW9uczNEQ2hyb21pdW06OnJhdGVMaW1pdE9mZnNjcmVlbkNvbnRleHRDSFJP
TUlVTSgpCit7CisgICAgbV9pbnRlcm5hbC0+cmF0ZUxpbWl0T2Zmc2NyZWVuQ29udGV4dENIUk9N
SVVNKCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShX
RUJHTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29u
dGV4dDNEQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3ND
b250ZXh0M0RDaHJvbWl1bS5jcHAKaW5kZXggMjE4MjhlYTE4NzZiNzNhMjYzMTk3Zjg5M2VlZTlh
NWI5YmU0ZWRiZS4uZmIxMDJiNWM5MGNjOTQ1OTI1NWRjMzk1MzAxNmUzZDRlZGE2MGE5NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0M0RDaHJv
bWl1bS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3NDb250ZXh0
M0RDaHJvbWl1bS5jcHAKQEAgLTgwOSw2ICs4MDksOCBAQCBERUxFR0FURV9UT19JTVBMXzEoZ2V0
Q2hpbGRUb1BhcmVudExhdGNoQ0hST01JVU0sIEdDM0R1aW50KikKIERFTEVHQVRFX1RPX0lNUExf
MSh3YWl0TGF0Y2hDSFJPTUlVTSwgR0MzRHVpbnQpCiBERUxFR0FURV9UT19JTVBMXzEoc2V0TGF0
Y2hDSFJPTUlVTSwgR0MzRHVpbnQpCiAKK0RFTEVHQVRFX1RPX0lNUEwocmF0ZUxpbWl0T2Zmc2Ny
ZWVuQ29udGV4dENIUk9NSVVNKQorCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC8vIEdyYXBoaWNzQ29udGV4
dDNECiAvLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3ND
b250ZXh0M0RJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvR3JhcGhpY3ND
b250ZXh0M0RJbnRlcm5hbC5oCmluZGV4IDQ1MjBjNjJiNWEwNzdiNWQzZWVhMGQ0ZjlkMTFhYTVk
YmUzZDI2NWQuLjBjNTE1ZWJkYjc2MWNmYzgxNWIxYjQ4NThhNjk0MTQ4YWI0MWU1YWYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0dyYXBoaWNzQ29udGV4dDNESW50ZXJu
YWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9HcmFwaGljc0NvbnRleHQzRElu
dGVybmFsLmgKQEAgLTI3Myw3ICsyNzMsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBibGl0RnJhbWVi
dWZmZXJDSFJPTUlVTShHQzNEaW50IHNyY1gwLCBHQzNEaW50IHNyY1kwLCBHQzNEaW50IHNyY1gx
LCBHQzNEaW50IHNyY1kxLCBHQzNEaW50IGRzdFgwLCBHQzNEaW50IGRzdFkwLCBHQzNEaW50IGRz
dFgxLCBHQzNEaW50IGRzdFkxLCBHQzNEYml0ZmllbGQgbWFzaywgR0MzRGVudW0gZmlsdGVyKTsK
ICAgICB2b2lkIHJlbmRlcmJ1ZmZlclN0b3JhZ2VNdWx0aXNhbXBsZUNIUk9NSVVNKEdDM0RlbnVt
IHRhcmdldCwgR0MzRHNpemVpIHNhbXBsZXMsIEdDM0RlbnVtIGludGVybmFsZm9ybWF0LCBHQzNE
c2l6ZWkgd2lkdGgsIEdDM0RzaXplaSBoZWlnaHQpOwogCi0gICAgLy8gTGF0Y2ggc3VwcG9ydAor
ICAgIC8vIEdMX0NIUk9NSVVNX2xhdGNoCiAgICAgdm9pZCBnZXRQYXJlbnRUb0NoaWxkTGF0Y2hD
SFJPTUlVTShHQzNEdWludCogbGF0Y2hJZCk7CiAgICAgdm9pZCBnZXRDaGlsZFRvUGFyZW50TGF0
Y2hDSFJPTUlVTShHQzNEdWludCogbGF0Y2hJZCk7CiAgICAgdm9pZCB3YWl0TGF0Y2hDSFJPTUlV
TShHQzNEdWludCBsYXRjaElkKTsKQEAgLTI4Miw2ICsyODIsOSBAQCBwdWJsaWM6CiAgICAgLy8g
R0xfQ0hST01JVU1fc3dhcGJ1ZmZlcnNfY29tcGxldGVfY2FsbGJhY2sKICAgICB2b2lkIHNldFN3
YXBCdWZmZXJzQ29tcGxldGVDYWxsYmFja0NIUk9NSVVNKFBhc3NPd25QdHI8RXh0ZW5zaW9uczNE
Q2hyb21pdW06OlN3YXBCdWZmZXJzQ29tcGxldGVDYWxsYmFja0NIUk9NSVVNPik7CiAKKyAgICAv
LyBHTF9DSFJPTUlVTV9yYXRlX2xpbWl0X29mZnNjcmVlbl9jb250ZXh0CisgICAgdm9pZCByYXRl
TGltaXRPZmZzY3JlZW5Db250ZXh0Q0hST01JVU0oKTsKKwogcHJpdmF0ZToKICAgICBPd25QdHI8
V2ViS2l0OjpXZWJHcmFwaGljc0NvbnRleHQzRD4gbV9pbXBsOwogICAgIE93blB0cjxFeHRlbnNp
b25zM0RDaHJvbWl1bT4gbV9leHRlbnNpb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViVmlld0ltcGwuY3BwCmluZGV4IDk2OGRlNTZiY2E0NDU2MTk5Y2EzODY1ODY1YzQ5ODdhMGNm
ODIwMDEuLmM4OTQ3ODg5ZjcwZWMxMzdmOTVmNWE0ZWFhNmNhMGM1YmVmMzMxZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBsLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKQEAgLTEwMDcsOCArMTAwNywx
MyBAQCB2b2lkIFdlYlZpZXdJbXBsOjphbmltYXRlKCkKICAgICBXZWJGcmFtZUltcGwqIHdlYmZy
YW1lID0gbWFpbkZyYW1lSW1wbCgpOwogICAgIGlmICh3ZWJmcmFtZSkgewogICAgICAgICBGcmFt
ZVZpZXcqIHZpZXcgPSB3ZWJmcmFtZS0+ZnJhbWVWaWV3KCk7Ci0gICAgICAgIGlmICh2aWV3KQor
ICAgICAgICBpZiAodmlldykgeworICAgICAgICAgICAgaWYgKG1fbGF5ZXJSZW5kZXJlcikKKyAg
ICAgICAgICAgICAgICBtX2xheWVyUmVuZGVyZXItPnNldElzQW5pbWF0aW5nKHRydWUpOwogICAg
ICAgICAgICAgdmlldy0+c2VydmljZVNjcmlwdGVkQW5pbWF0aW9ucyhjb252ZXJ0U2Vjb25kc1Rv
RE9NVGltZVN0YW1wKGN1cnJlbnRUaW1lKCkpKTsKKyAgICAgICAgICAgIGlmIChtX2xheWVyUmVu
ZGVyZXIpCisgICAgICAgICAgICAgICAgbV9sYXllclJlbmRlcmVyLT5zZXRJc0FuaW1hdGluZyhm
YWxzZSk7CisgICAgICAgIH0KICAgICB9CiAjZW5kaWYKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>