<?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>17772</bug_id>
          
          <creation_ts>2008-03-11 09:36:57 -0700</creation_ts>
          <short_desc>Inspector should support point-and-click to select a node to inspect</short_desc>
          <delta_ts>2008-09-19 17:12:08 -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>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Adam Roben (:aroben)">aroben</reporter>
          <assigned_to name="Matt Lilek">dev+webkit</assigned_to>
          <cc>dev+webkit</cc>
    
    <cc>jl</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>73329</commentid>
    <comment_count>0</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-03-11 09:36:57 -0700</bug_when>
    <thetext>The Inspector should support point-and-click to select a node to inspect. This has a few advantages over the current &quot;Inspect Element&quot; context menu item:

1. It&apos;s clearer which node you&apos;re choosing, because the hovered node will be outlined before you choose it.
2. It&apos;s potentially more discoverable than &quot;Inspect Element&quot;.
3. It doesn&apos;t require you to click on the node you&apos;re going to inspect, which could potentially change its state.

Bug 16532 covers a complimentary (and inverse) behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>73330</commentid>
    <comment_count>1</comment_count>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2008-03-11 09:38:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/5792395&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>81940</commentid>
    <comment_count>2</comment_count>
    <who name="Matt Lilek">dev+webkit</who>
    <bug_when>2008-05-30 08:59:26 -0700</bug_when>
    <thetext>*** Bug 19322 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91298</commentid>
    <comment_count>3</comment_count>
      <attachid>23456</attachid>
    <who name="Matt Lilek">dev+webkit</who>
    <bug_when>2008-09-15 19:23:32 -0700</bug_when>
    <thetext>Created attachment 23456
Initial cut

As I wrote in the ChangeLog:

Despite putting this up for review, I&apos;m not intending to land it as is. Among the known issues:
        - Need better art for the magnifying glass button
        - Is EventHandler really the best place for intercepting the node click - feels dirty. Would
          making -[WebView setHoverFeedbackSuspended:] cross-platform be a better route?
        - I think I can get away with not having to track searchingForNode in ElementsPanel
        - Some method names could be tweaked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91299</commentid>
    <comment_count>4</comment_count>
    <who name="Matt Lilek">dev+webkit</who>
    <bug_when>2008-09-15 19:24:37 -0700</bug_when>
    <thetext>Hrm....git diff didn&apos;t include the button png....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91714</commentid>
    <comment_count>5</comment_count>
      <attachid>23549</attachid>
    <who name="Matt Lilek">dev+webkit</who>
    <bug_when>2008-09-18 20:41:00 -0700</bug_when>
    <thetext>Created attachment 23549
round 2

This isn&apos;t much different from the previous version, but is more landable - ie: uses localizedStrings and also fixes a couple of bugs like stopping the search when you switch panels, but still does have a few bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91715</commentid>
    <comment_count>6</comment_count>
      <attachid>23550</attachid>
    <who name="Matt Lilek">dev+webkit</who>
    <bug_when>2008-09-18 20:44:01 -0700</bug_when>
    <thetext>Created attachment 23550
button</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91716</commentid>
    <comment_count>7</comment_count>
      <attachid>23549</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-09-18 20:52:44 -0700</bug_when>
    <thetext>Comment on attachment 23549
round 2

+    InspectorController* inspector = m_page-&gt;inspectorController();
+    if (!inspector)
+        return;
+    inspector-&gt;mouseDidMoveOverElement(result, modifierFlags);


Better written as:

if (InspectorController* inspector = m_page-&gt;inspectorController())
       inspector-&gt;mouseDidMoveOverElement(result, modifierFlags);

+    InspectorController* controller = reinterpret_cast&lt;InspectorController*&gt;(JSObjectGetPrivate(thisObject));
+    if (controller)
+        controller-&gt;toggleSearchForNodeInPage();

Better written as:

if (InspectorController* controller = reinterpret_cast&lt;InspectorController*&gt;(JSObjectGetPrivate(thisObject)))
      controller-&gt;toggleSearchForNodeInPage();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91719</commentid>
    <comment_count>8</comment_count>
      <attachid>23551</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-09-18 21:34:03 -0700</bug_when>
    <thetext>Created attachment 23551
Better button</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91720</commentid>
    <comment_count>9</comment_count>
      <attachid>23552</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2008-09-18 21:37:09 -0700</bug_when>
    <thetext>Created attachment 23552
Even better button</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91721</commentid>
    <comment_count>10</comment_count>
      <attachid>23553</attachid>
    <who name="Matt Lilek">dev+webkit</who>
    <bug_when>2008-09-18 21:42:21 -0700</bug_when>
    <thetext>Created attachment 23553
with suggestions</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91722</commentid>
    <comment_count>11</comment_count>
      <attachid>23553</attachid>
    <who name="Matt Lilek">dev+webkit</who>
    <bug_when>2008-09-18 21:48:11 -0700</bug_when>
    <thetext>Comment on attachment 23553
with suggestions

broke something, hang on</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91828</commentid>
    <comment_count>12</comment_count>
      <attachid>23583</attachid>
    <who name="Matt Lilek">dev+webkit</who>
    <bug_when>2008-09-19 16:30:13 -0700</bug_when>
    <thetext>Created attachment 23583
round 3

Fixes the bugs with toggle behavior and includes Tim&apos;s version of the button</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91829</commentid>
    <comment_count>13</comment_count>
      <attachid>23584</attachid>
    <who name="Matt Lilek">dev+webkit</who>
    <bug_when>2008-09-19 16:33:20 -0700</bug_when>
    <thetext>Created attachment 23584
round 3

I know how to read and click on the right file, honest</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>91837</commentid>
    <comment_count>14</comment_count>
    <who name="Matt Lilek">dev+webkit</who>
    <bug_when>2008-09-19 17:12:08 -0700</bug_when>
    <thetext>Committed revision 36685.
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23456</attachid>
            <date>2008-09-15 19:23:32 -0700</date>
            <delta_ts>2008-09-18 20:41:00 -0700</delta_ts>
            <desc>Initial cut</desc>
            <filename>Bug17772v1</filename>
            <type>text/plain</type>
            <size>12116</size>
            <attacher name="Matt Lilek">dev+webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NTNhYWIzZS4uOGU3ZGI0MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAwOC0wOS0xNSAgTWF0dCBMaWxlayAg
PHdlYmtpdEBtYXR0bGlsZWsuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEluaXRpYWwgY3V0IGZvciBCdWcgMTc3NzI6IEluc3BlY3RvciBzaG91
bGQgc3VwcG9ydCBwb2ludC1hbmQtY2xpY2sgdG8gc2VsZWN0IGEgbm9kZSB0byBpbnNwZWN0Cisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzc3MgorCisg
ICAgICAgIERlc3BpdGUgcHV0dGluZyB0aGlzIHVwIGZvciByZXZpZXcsIEknbSBub3QgaW50ZW5k
aW5nIHRvIGxhbmQgaXQgYXMgaXMuIEFtb25nIHRoZSBrbm93biBpc3N1ZXM6CisgICAgICAgIC0g
TmVlZCBiZXR0ZXIgYXJ0IGZvciB0aGUgbWFnbmlmeWluZyBnbGFzcyBidXR0b24KKyAgICAgICAg
LSBJcyBFdmVudEhhbmRsZXIgcmVhbGx5IHRoZSBiZXN0IHBsYWNlIGZvciBpbnRlcmNlcHRpbmcg
dGhlIG5vZGUgY2xpY2sgLSBmZWVscyBkaXJ0eS4gV291bGQKKyAgICAgICAgICBtYWtpbmcgLVtX
ZWJWaWV3IHNldEhvdmVyRmVlZGJhY2tTdXNwZW5kZWQ6XSBjcm9zcy1wbGF0Zm9ybSBiZSBhIGJl
dHRlciByb3V0ZT8KKyAgICAgICAgLSBJIHRoaW5rIEkgY2FuIGdldCBhd2F5IHdpdGggbm90IGhh
dmluZyB0byB0cmFjayBzZWFyY2hpbmdGb3JOb2RlIGluIEVsZW1lbnRzUGFuZWwKKyAgICAgICAg
LSBTb21lIG1ldGhvZCBuYW1lcyBjb3VsZCBiZSB0d2Vha2VkLgorCisgICAgICAgIE1haW5seSBw
dXR0aW5nIHRoaXMgdXAgdG8gZ2V0IHNvbWUgcm91Z2ggZmVlZGJhY2sgb24gaXQuCisKKyAgICAg
ICAgKiBwYWdlL0Nocm9tZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWU6Om1vdXNlRGlk
TW92ZU92ZXJFbGVtZW50KToKKyAgICAgICAgKiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudCk6CisgICAg
ICAgICogcGFnZS9JbnNwZWN0b3JDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRv
Z2dsZU5vZGVTZWFyY2gpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6
SW5zcGVjdG9yQ29udHJvbGxlcik6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9s
bGVyOjp0b2dnbGVTZWFyY2hJblBhZ2VGb3JOb2RlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvckNvbnRyb2xsZXI6Om1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OmhhbmRsZU1vdXNlUHJlc3NPbk5vZGUpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6d2luZG93U2NyaXB0T2JqZWN0QXZhaWxh
YmxlKToKKyAgICAgICAgKiBwYWdlL0luc3BlY3RvckNvbnRyb2xsZXIuaDoKKyAgICAgICAgKFdl
YkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6OnNlYXJjaGluZ0Zvck5vZGVJblBhZ2UpOgorICAg
ICAgICAqIHBhZ2UvaW5zcGVjdG9yL0VsZW1lbnRzUGFuZWwuanM6CisgICAgICAgICogcGFnZS9p
bnNwZWN0b3IvSW1hZ2VzL25vZGVTZWFyY2hCdXR0b25zLnBuZzogQWRkZWQuCisgICAgICAgICog
cGFnZS9pbnNwZWN0b3IvaW5zcGVjdG9yLmNzczoKKyAgICAgICAgKiBwYWdlL2luc3BlY3Rvci9p
bnNwZWN0b3IuanM6CisKIDIwMDgtMDktMTUgIENocmlzIEZsZWl6YWNoICA8Y2ZsZWl6YWNoQGFw
cGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlciwgQmV0aCBEYWtpbgpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAgYi9XZWJDb3JlL3BhZ2UvQ2hyb21l
LmNwcAppbmRleCA1NzI2NTg2Li40NTFjN2EyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ2hy
b21lLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtMjksNiArMjksNyBAQAog
I2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNp
bmNsdWRlICJIaXRUZXN0UmVzdWx0LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5o
IgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJQ
YXVzZWRUaW1lb3V0cy5oIgpAQCAtMzA5LDYgKzMxMCwxMSBAQCB2b2lkIENocm9tZTo6dXBkYXRl
QmFja2luZ1N0b3JlKCkKIHZvaWQgQ2hyb21lOjptb3VzZURpZE1vdmVPdmVyRWxlbWVudChjb25z
dCBIaXRUZXN0UmVzdWx0JiByZXN1bHQsIHVuc2lnbmVkIG1vZGlmaWVyRmxhZ3MpCiB7CiAgICAg
bV9jbGllbnQtPm1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KHJlc3VsdCwgbW9kaWZpZXJGbGFncyk7
CisKKyAgICBJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3IgPSBtX3BhZ2UtPmluc3BlY3Rv
ckNvbnRyb2xsZXIoKTsKKyAgICBpZiAoIWluc3BlY3RvcikKKyAgICAgICAgcmV0dXJuOworICAg
IGluc3BlY3Rvci0+bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQocmVzdWx0LCBtb2RpZmllckZsYWdz
KTsKIH0KIAogdm9pZCBDaHJvbWU6OnNldFRvb2xUaXAoY29uc3QgSGl0VGVzdFJlc3VsdCYgcmVz
dWx0KQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9XZWJDb3Jl
L3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCBlODc2ZDFlLi44YWNhMTQyIDEwMDY0NAotLS0g
YS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcApAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQu
aCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJJbWFnZS5oIgorI2luY2x1ZGUg
Ikluc3BlY3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCiAjaW5j
bHVkZSAiTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3Vs
dHMuaCIKQEAgLTk4MSw3ICs5ODIsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQ
cmVzc0V2ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgbW91c2VFdmVudCkKICAgICBtX21v
dXNlRG93bk1heVN0YXJ0QXV0b3Njcm9sbCA9IGZhbHNlOwogICAgIG1fbW91c2VEb3duUG9zID0g
bV9mcmFtZS0+dmlldygpLT53aW5kb3dUb0NvbnRlbnRzKG1vdXNlRXZlbnQucG9zKCkpOwogICAg
IG1fbW91c2VEb3duV2FzSW5TdWJmcmFtZSA9IGZhbHNlOwotICAgIAorCiAgICAgTW91c2VFdmVu
dFdpdGhIaXRUZXN0UmVzdWx0cyBtZXYgPSBwcmVwYXJlTW91c2VFdmVudChIaXRUZXN0UmVxdWVz
dChmYWxzZSwgdHJ1ZSksIG1vdXNlRXZlbnQpOwogCiAgICAgaWYgKCFtZXYudGFyZ2V0Tm9kZSgp
KSB7CkBAIC05OTEsNiArOTkyLDEzIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVBy
ZXNzRXZlbnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBtb3VzZUV2ZW50KQogCiAgICAgbV9t
b3VzZVByZXNzTm9kZSA9IG1ldi50YXJnZXROb2RlKCk7CiAKKyAgICBJbnNwZWN0b3JDb250cm9s
bGVyKiBpbnNwZWN0b3IgPSBtX2ZyYW1lLT5wYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKTsK
KyAgICBpZiAoaW5zcGVjdG9yICYmIGluc3BlY3Rvci0+ZW5hYmxlZCgpICYmIGluc3BlY3Rvci0+
c2VhcmNoaW5nRm9yTm9kZUluUGFnZSgpKSB7CisgICAgICAgIGluc3BlY3Rvci0+aGFuZGxlTW91
c2VQcmVzc09uTm9kZShtX21vdXNlUHJlc3NOb2RlLmdldCgpKTsKKyAgICAgICAgaW52YWxpZGF0
ZUNsaWNrKCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwogICAgIEZyYW1lKiBzdWJm
cmFtZSA9IHN1YmZyYW1lRm9yVGFyZ2V0Tm9kZShtZXYudGFyZ2V0Tm9kZSgpKTsKICAgICBpZiAo
c3ViZnJhbWUgJiYgcGFzc01vdXNlUHJlc3NFdmVudFRvU3ViZnJhbWUobWV2LCBzdWJmcmFtZSkp
IHsKICAgICAgICAgLy8gU3RhcnQgY2FwdHVyaW5nIGZ1dHVyZSBldmVudHMgZm9yIHRoaXMgZnJh
bWUuICBXZSBvbmx5IGRvIHRoaXMgaWYgd2UgZGlkbid0IGNsZWFyCkBAIC0xMDAwLDcgKzEwMDgs
NyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KGNvbnN0IFBsYXRm
b3JtTW91c2VFdmVudCYgbW91c2VFdmVudCkKICAgICAgICAgaW52YWxpZGF0ZUNsaWNrKCk7CiAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KLSAKKwogI2lmIFBMQVRGT1JNKFdJTikKICAgICBp
ZiAobV9mcmFtZS0+cGFnZSgpLT5tYWluRnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPnBhblNjcm9s
bEluUHJvZ3Jlc3MoKSB8fCBtX2F1dG9zY3JvbGxJblByb2dyZXNzKSB7CiAgICAgICAgIHN0b3BB
dXRvc2Nyb2xsVGltZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9JbnNwZWN0b3JDb250
cm9sbGVyLmNwcCBiL1dlYkNvcmUvcGFnZS9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCBl
OGIyMzFkLi4xNGRiN2I3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvSW5zcGVjdG9yQ29udHJv
bGxlci5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC00
NCw2ICs0NCw3IEBACiAjaW5jbHVkZSAiRnJhbWVUcmVlLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3
LmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisjaW5jbHVkZSAiSGl0VGVzdFJlc3Vs
dC5oIgogI2luY2x1ZGUgIkhUTUxGcmFtZU93bmVyRWxlbWVudC5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvckNsaWVudC5oIgogI2luY2x1ZGUgIkphdmFTY3JpcHRDYWxsRnJhbWUuaCIKQEAgLTEwNzYs
NiArMTA3NywxNSBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBzdG9wUHJvZmlsaW5nKEpTQ29udGV4dFJl
ZiBjdHgsIEpTT2JqZWN0UmVmIC8qZnVuY3Rpb24qLywgSlNPYgogICAgIHJldHVybiBKU1ZhbHVl
TWFrZVVuZGVmaW5lZChjdHgpOwogfQogCitzdGF0aWMgSlNWYWx1ZVJlZiB0b2dnbGVOb2RlU2Vh
cmNoKEpTQ29udGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIC8qZnVuY3Rpb24qLywgSlNPYmplY3RS
ZWYgdGhpc09iamVjdCwgc2l6ZV90IC8qYXJndW1lbnRfY291bnQqLywgY29uc3QgSlNWYWx1ZVJl
ZltdIC8qYXJndW1lbnRzKi8sIEpTVmFsdWVSZWYqIC8qZXhjZXB0aW9uKi8pCit7CisgICAgSW5z
cGVjdG9yQ29udHJvbGxlciogY29udHJvbGxlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8SW5zcGVjdG9y
Q29udHJvbGxlcio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7CisgICAgaWYgKGNv
bnRyb2xsZXIpCisgICAgICAgIGNvbnRyb2xsZXItPnRvZ2dsZVNlYXJjaEluUGFnZUZvck5vZGUo
KTsKKworICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjdHgpOworfQorCiAvLyBJbnNw
ZWN0b3JDb250cm9sbGVyIENsYXNzCiAKIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNv
bnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBjbGllbnQpCkBAIC0xMDkyLDYg
KzExMDIsNyBAQCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBhZ2Uq
IHBhZ2UsIEluc3BlY3RvckNsaWVudCogY2xpZW50KQogICAgICwgbV9zaG93QWZ0ZXJWaXNpYmxl
KEVsZW1lbnRzUGFuZWwpCiAgICAgLCBtX25leHRJZGVudGlmaWVyKC0yKQogICAgICwgbV9ncm91
cExldmVsKDApCisgICAgLCBtX3NlYXJjaGluZ0Zvck5vZGUoZmFsc2UpCiB7CiAgICAgQVNTRVJU
X0FSRyhwYWdlLCBwYWdlKTsKICAgICBBU1NFUlRfQVJHKGNsaWVudCwgY2xpZW50KTsKQEAgLTEz
NDAsNyArMTM1MSw2IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6YWRkUHJvZmlsZU1lc3Nh
Z2VUb0NvbnNvbGUoUGFzc1JlZlB0cjxQcm9maWxlPiBwcnBQcm9mCiAgICAgYWRkTWVzc2FnZVRv
Q29uc29sZShKU01lc3NhZ2VTb3VyY2UsIExvZ01lc3NhZ2VMZXZlbCwgbWVzc2FnZSwgbGluZU51
bWJlciwgc291cmNlVVJMKTsKIH0KIAotCiB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OmF0dGFj
aFdpbmRvdygpCiB7CiAgICAgaWYgKCFlbmFibGVkKCkpCkBAIC0xMzczLDYgKzEzODMsNDEgQEAg
dm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpzZXRBdHRhY2hlZFdpbmRvd0hlaWdodCh1bnNpZ25l
ZCBoZWlnaHQpCiAgICAgbV9jbGllbnQtPnNldEF0dGFjaGVkV2luZG93SGVpZ2h0KGhlaWdodCk7
CiB9CiAKK3ZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6dG9nZ2xlU2VhcmNoSW5QYWdlRm9yTm9k
ZSgpCit7CisgICAgaWYgKCFlbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fc2Vh
cmNoaW5nRm9yTm9kZSA9ICFtX3NlYXJjaGluZ0Zvck5vZGU7CisgICAgaWYgKCFtX3NlYXJjaGlu
Z0Zvck5vZGUpCisgICAgICAgIGhpZGVIaWdobGlnaHQoKTsKK30KKyAgICAKK3ZvaWQgSW5zcGVj
dG9yQ29udHJvbGxlcjo6bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQoY29uc3QgSGl0VGVzdFJlc3Vs
dCYgcmVzdWx0LCB1bnNpZ25lZCBtb2RpZmllckZsYWdzKQoreworICAgIGlmICghZW5hYmxlZCgp
IHx8ICFtX3NlYXJjaGluZ0Zvck5vZGUpCisgICAgICAgIHJldHVybjsKKworICAgIE5vZGUqIG5v
ZGUgPSByZXN1bHQuaW5uZXJOb2RlKCk7CisgICAgaWYgKG5vZGUpCisgICAgICAgIGhpZ2hsaWdo
dChub2RlKTsKK30KKwordm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjpoYW5kbGVNb3VzZVByZXNz
T25Ob2RlKE5vZGUqIG5vZGUpCit7CisgICAgaWYgKCFlbmFibGVkKCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIEFTU0VSVChtX3NlYXJjaGluZ0Zvck5vZGUpOworICAgIEFTU0VSVChub2RlKTsK
KyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJldHVybjsKKworICAgIGluc3BlY3Qobm9kZSk7Cisg
ICAgbV9zZWFyY2hpbmdGb3JOb2RlID0gIW1fc2VhcmNoaW5nRm9yTm9kZTsKKyAgICBjYWxsU2lt
cGxlRnVuY3Rpb24obV9zY3JpcHRDb250ZXh0LCBtX3NjcmlwdE9iamVjdCwgIm5vZGVTZWFyY2hG
aW5pc2hlZCIpOworfQorCiB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6Omluc3BlY3RlZFdpbmRv
d1NjcmlwdE9iamVjdENsZWFyZWQoRnJhbWUqIGZyYW1lKQogewogICAgIGlmICghZW5hYmxlZCgp
IHx8ICFtX3NjcmlwdENvbnRleHQgfHwgIW1fc2NyaXB0T2JqZWN0KQpAQCAtMTQ0MSw2ICsxNDg2
LDcgQEAgdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjp3aW5kb3dTY3JpcHRPYmplY3RBdmFpbGFi
bGUoKQogICAgICAgICB7ICJzdGFydFByb2ZpbGluZyIsIFdlYkNvcmU6OnN0YXJ0UHJvZmlsaW5n
LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZU5vbmUgfSwKICAgICAgICAgeyAic3RvcFByb2ZpbGluZyIs
IFdlYkNvcmU6OnN0b3BQcm9maWxpbmcsIGtKU1Byb3BlcnR5QXR0cmlidXRlTm9uZSB9LAogICAg
ICAgICB7ICJjbGVhck1lc3NhZ2VzIiwgY2xlYXJNZXNzYWdlcywga0pTUHJvcGVydHlBdHRyaWJ1
dGVOb25lIH0sCisgICAgICAgIHsgInRvZ2dsZU5vZGVTZWFyY2giLCB0b2dnbGVOb2RlU2VhcmNo
LCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZU5vbmUgfSwKICAgICAgICAgeyAwLCAwLCAwIH0KICAgICB9
OwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2Vi
Q29yZS9wYWdlL0luc3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCA2NjY3YTVlLi5lZTkxMDgwIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1dlYkNv
cmUvcGFnZS9JbnNwZWN0b3JDb250cm9sbGVyLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogY2xhc3MgRGF0YWJhc2U7CiBjbGFzcyBEb2N1bWVudExvYWRlcjsKIGNsYXNz
IEdyYXBoaWNzQ29udGV4dDsKK2NsYXNzIEhpdFRlc3RSZXN1bHQ7CiBjbGFzcyBJbnNwZWN0b3JD
bGllbnQ7CiBjbGFzcyBKYXZhU2NyaXB0Q2FsbEZyYW1lOwogY2xhc3MgTm9kZTsKQEAgLTEyMSw2
ICsxMjIsMTEgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3coYm9vbCk7CiAg
ICAgdm9pZCBzZXRBdHRhY2hlZFdpbmRvd0hlaWdodCh1bnNpZ25lZCBoZWlnaHQpOwogCisgICAg
dm9pZCB0b2dnbGVTZWFyY2hJblBhZ2VGb3JOb2RlKCk7CisgICAgYm9vbCBzZWFyY2hpbmdGb3JO
b2RlSW5QYWdlKCkgeyByZXR1cm4gbV9zZWFyY2hpbmdGb3JOb2RlOyB9OworICAgIHZvaWQgbW91
c2VEaWRNb3ZlT3ZlckVsZW1lbnQoY29uc3QgSGl0VGVzdFJlc3VsdCYsIHVuc2lnbmVkIG1vZGlm
aWVyRmxhZ3MpOworICAgIHZvaWQgaGFuZGxlTW91c2VQcmVzc09uTm9kZShOb2RlKik7CisKICAg
ICBKU0NvbnRleHRSZWYgc2NyaXB0Q29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fc2NyaXB0Q29u
dGV4dDsgfTsKICAgICB2b2lkIHNldFNjcmlwdENvbnRleHQoSlNDb250ZXh0UmVmIGNvbnRleHQp
IHsgbV9zY3JpcHRDb250ZXh0ID0gY29udGV4dDsgfTsKIApAQCAtMjQ4LDYgKzI1NCw3IEBAIHBy
aXZhdGU6CiAgICAgbG9uZyBsb25nIG1fbmV4dElkZW50aWZpZXI7CiAgICAgUmVmUHRyPE5vZGU+
IG1faGlnaGxpZ2h0ZWROb2RlOwogICAgIHVuc2lnbmVkIG1fZ3JvdXBMZXZlbDsKKyAgICBib29s
IG1fc2VhcmNoaW5nRm9yTm9kZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvcGFnZS9pbnNwZWN0b3IvRWxlbWVudHNQYW5lbC5qcyBiL1dlYkNvcmUv
cGFnZS9pbnNwZWN0b3IvRWxlbWVudHNQYW5lbC5qcwppbmRleCA4ZGQyZDlmLi40NWQ1MWUwIDEw
MDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL0VsZW1lbnRzUGFuZWwuanMKKysrIGIv
V2ViQ29yZS9wYWdlL2luc3BlY3Rvci9FbGVtZW50c1BhbmVsLmpzCkBAIC04NCw2ICs4NCwxNCBA
QCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbCA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLnNpZGVi
YXJSZXNpemVFbGVtZW50LmNsYXNzTmFtZSA9ICJzaWRlYmFyLXJlc2l6ZXItdmVydGljYWwiOwog
ICAgIHRoaXMuc2lkZWJhclJlc2l6ZUVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3du
IiwgdGhpcy5yaWdodFNpZGViYXJSZXNpemVyRHJhZ1N0YXJ0LmJpbmQodGhpcyksIGZhbHNlKTsK
IAorICAgIHRoaXMubm9kZVNlYXJjaEJ1dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1
dHRvbiIpOworICAgIHRoaXMubm9kZVNlYXJjaEJ1dHRvbi50aXRsZSA9ICJTZWxlY3QgYW4gZWxl
bWVudCBpbiB0aGUgcGFnZSB0byBpbnNwZWN0IGl0LiI7CisgICAgdGhpcy5ub2RlU2VhcmNoQnV0
dG9uLmlkID0gIm5vZGUtc2VhcmNoLXN0YXR1cy1iYXItaXRlbSI7CisgICAgdGhpcy5ub2RlU2Vh
cmNoQnV0dG9uLmNsYXNzTmFtZSA9ICJzdGF0dXMtYmFyLWl0ZW0iOworICAgIHRoaXMubm9kZVNl
YXJjaEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRoaXMuX25vZGVTZWFyY2hDbGlj
a2VkLmJpbmQodGhpcyksIGZhbHNlKTsKKworICAgIHRoaXMuc2VhcmNoaW5nRm9yTm9kZSA9IGZh
bHNlOworCiAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuY29udGVudEVsZW1lbnQp
OwogICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLnNpZGViYXJFbGVtZW50KTsKICAg
ICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5zaWRlYmFyUmVzaXplRWxlbWVudCk7CkBA
IC0xMDYsNyArMTE0LDcgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlID0g
ewogCiAgICAgZ2V0IHN0YXR1c0Jhckl0ZW1zKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBbdGhp
cy5jcnVtYnNFbGVtZW50XTsKKyAgICAgICAgcmV0dXJuIFt0aGlzLm5vZGVTZWFyY2hCdXR0b24s
IHRoaXMuY3J1bWJzRWxlbWVudF07CiAgICAgfSwKIAogICAgIHVwZGF0ZVN0YXR1c0Jhckl0ZW1z
OiBmdW5jdGlvbigpCkBAIC04NzQsNiArODgyLDI2IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1Bh
bmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy50cmVlT3V0bGluZS51cGRhdGVTZWxlY3Rp
b24oKTsKIAogICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOworICAgIH0sCisKKyAgICBf
bm9kZVNlYXJjaENsaWNrZWQ6IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgdGhpcy5z
ZWFyY2hpbmdGb3JOb2RlID0gIXRoaXMuc2VhcmNoaW5nRm9yTm9kZTsKKyAgICAgICAgSW5zcGVj
dG9yQ29udHJvbGxlci50b2dnbGVOb2RlU2VhcmNoKCk7CisKKyAgICAgICAgaWYgKHRoaXMuc2Vh
cmNoaW5nRm9yTm9kZSkKKyAgICAgICAgICAgIHRoaXMubm9kZVNlYXJjaEJ1dHRvbi5hZGRTdHls
ZUNsYXNzKCJ0b2dnbGVkLW9uIik7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRoaXMubm9k
ZVNlYXJjaEJ1dHRvbi5yZW1vdmVTdHlsZUNsYXNzKCJ0b2dnbGVkLW9uIik7CisgICAgfSwKKwor
ICAgIG5vZGVTZWFyY2hGaW5pc2hlZDogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYgKCF0
aGlzLnNlYXJjaGluZ0Zvck5vZGUpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhp
cy5zZWFyY2hpbmdGb3JOb2RlID0gZmFsc2U7CisgICAgICAgIHRoaXMubm9kZVNlYXJjaEJ1dHRv
bi5yZW1vdmVTdHlsZUNsYXNzKCJ0b2dnbGVkLW9uIik7CiAgICAgfQogfQogCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL2luc3BlY3Rvci5jc3MgYi9XZWJDb3JlL3BhZ2UvaW5z
cGVjdG9yL2luc3BlY3Rvci5jc3MKaW5kZXggZTIxMzEzMy4uODc4ZGJiMyAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9wYWdlL2luc3BlY3Rvci9pbnNwZWN0b3IuY3NzCisrKyBiL1dlYkNvcmUvcGFnZS9p
bnNwZWN0b3IvaW5zcGVjdG9yLmNzcwpAQCAtMjY5NCw2ICsyNjk0LDIyIEBAIGJvZHkuaW5hY3Rp
dmUgLnNpZGViYXItdHJlZS1pdGVtLnNlbGVjdGVkIHsKICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9u
OiAzMnB4IDI0cHg7CiB9CiAKKyNub2RlLXNlYXJjaC1zdGF0dXMtYmFyLWl0ZW0geworICAgIGJh
Y2tncm91bmQtaW1hZ2U6IHVybChJbWFnZXMvbm9kZVNlYXJjaEJ1dHRvbnMucG5nKTsKK30KKwor
I25vZGUtc2VhcmNoLXN0YXR1cy1iYXItaXRlbTphY3RpdmUgeworICAgIGJhY2tncm91bmQtcG9z
aXRpb246IDMycHggMDsKK30KKworI25vZGUtc2VhcmNoLXN0YXR1cy1iYXItaXRlbS50b2dnbGVk
LW9uIHsKKyAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDI0cHg7Cit9CisKKyNub2RlLXNlYXJj
aC1zdGF0dXMtYmFyLWl0ZW0udG9nZ2xlZC1vbjphY3RpdmUgeworICAgIGJhY2tncm91bmQtcG9z
aXRpb246IDMycHggMjRweDsKK30KKwogLnBlcmNlbnQtdGltZS1zdGF0dXMtYmFyLWl0ZW0gewog
ICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChJbWFnZXMvcGVyY2VudEJ1dHRvbnMucG5nKSAhaW1w
b3J0YW50OwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL2luc3BlY3Rvci9pbnNwZWN0b3Iu
anMgYi9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL2luc3BlY3Rvci5qcwppbmRleCA5ZTMzZWIzLi5j
NTQwYzg3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL2luc3BlY3Rvci5qcwor
KysgYi9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL2luc3BlY3Rvci5qcwpAQCAtOTQ0LDYgKzk0NCwx
MSBAQCBXZWJJbnNwZWN0b3Iuc2V0UmVjb3JkaW5nUHJvZmlsZSA9IGZ1bmN0aW9uKGlzUHJvZmls
aW5nKQogICAgIHRoaXMucGFuZWxzLnByb2ZpbGVzLnNldFJlY29yZGluZ1Byb2ZpbGUoaXNQcm9m
aWxpbmcpOwogfQogCitXZWJJbnNwZWN0b3Iubm9kZVNlYXJjaEZpbmlzaGVkID0gZnVuY3Rpb24o
KQoreworICAgIHRoaXMucGFuZWxzLmVsZW1lbnRzLm5vZGVTZWFyY2hGaW5pc2hlZCgpOworfQor
CiBXZWJJbnNwZWN0b3IuZHJhd0xvYWRpbmdQaWVDaGFydCA9IGZ1bmN0aW9uKGNhbnZhcywgcGVy
Y2VudCkgewogICAgIHZhciBnID0gY2FudmFzLmdldENvbnRleHQoIjJkIik7CiAgICAgdmFyIGRh
cmtDb2xvciA9ICJyZ2IoMTIyLCAxNjgsIDIxOCkiOwo=
</data>
<flag name="review"
          id="10474"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23549</attachid>
            <date>2008-09-18 20:41:00 -0700</date>
            <delta_ts>2008-09-18 21:42:21 -0700</delta_ts>
            <desc>round 2</desc>
            <filename>Bug17772v2</filename>
            <type>text/plain</type>
            <size>13143</size>
            <attacher name="Matt Lilek">dev+webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTMyN2ZlZC4uODYwZmM4ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAwOC0wOS0xOCAgTWF0dCBMaWxlayAg
PHdlYmtpdEBtYXR0bGlsZWsuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEJ1ZyAxNzc3MjogSW5zcGVjdG9yIHNob3VsZCBzdXBwb3J0IHBvaW50
LWFuZC1jbGljayB0byBzZWxlY3QgYSBub2RlIHRvIGluc3BlY3QKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzcyCisgICAgICAgIDxyZGFyOi8vcHJv
YmxlbS81NzkyMzk1PgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdz
LmpzOgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9t
ZTo6bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2
ZW50KToKKyAgICAgICAgKiBwYWdlL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6dG9nZ2xlTm9kZVNlYXJjaCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JD
b250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3Bl
Y3RvckNvbnRyb2xsZXI6OnRvZ2dsZVNlYXJjaEZvck5vZGVJblBhZ2UpOgorICAgICAgICAoV2Vi
Q29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6aGFuZGxlTW91c2VQcmVzc09uTm9k
ZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjp3aW5kb3dTY3JpcHRP
YmplY3RBdmFpbGFibGUpOgorICAgICAgICAqIHBhZ2UvSW5zcGVjdG9yQ29udHJvbGxlci5oOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6c2VhcmNoaW5nRm9yTm9kZUlu
UGFnZSk6CisgICAgICAgICogcGFnZS9pbnNwZWN0b3IvRWxlbWVudHNQYW5lbC5qczoKKyAgICAg
ICAgKiBwYWdlL2luc3BlY3Rvci9JbWFnZXMvbm9kZVNlYXJjaEJ1dHRvbnMucG5nOiBBZGRlZC4K
KyAgICAgICAgKiBwYWdlL2luc3BlY3Rvci9pbnNwZWN0b3IuY3NzOgorICAgICAgICAqIHBhZ2Uv
aW5zcGVjdG9yL2luc3BlY3Rvci5qczoKKwogMjAwOC0wOS0xOCAgRGF2aWQgSHlhdHQgIDxoeWF0
dEBhcHBsZS5jb20+CiAKICAgICAgICAgTWFrZSB0aGUgY29udmVyc2lvbiBtZXRob2RzIHRoYXQg
Z28gdG8gYW5kIGZyb20gc29tZSBjb250YWluaW5nV2luZG93CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1dlYkNvcmUvRW5nbGlzaC5scHJv
ai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGFhOWMwZmYuLmYwOGQ3NmIgMTAwNjQ0CkJpbmFy
eSBmaWxlcyBhL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGFuZCBi
L1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGRpZmZlcgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAgYi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApp
bmRleCA1NzI2NTg2Li40NTFjN2EyIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNw
cAorKysgYi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1
ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRl
ICJIaXRUZXN0UmVzdWx0LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJQYXVzZWRU
aW1lb3V0cy5oIgpAQCAtMzA5LDYgKzMxMCwxMSBAQCB2b2lkIENocm9tZTo6dXBkYXRlQmFja2lu
Z1N0b3JlKCkKIHZvaWQgQ2hyb21lOjptb3VzZURpZE1vdmVPdmVyRWxlbWVudChjb25zdCBIaXRU
ZXN0UmVzdWx0JiByZXN1bHQsIHVuc2lnbmVkIG1vZGlmaWVyRmxhZ3MpCiB7CiAgICAgbV9jbGll
bnQtPm1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KHJlc3VsdCwgbW9kaWZpZXJGbGFncyk7CisKKyAg
ICBJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3IgPSBtX3BhZ2UtPmluc3BlY3RvckNvbnRy
b2xsZXIoKTsKKyAgICBpZiAoIWluc3BlY3RvcikKKyAgICAgICAgcmV0dXJuOworICAgIGluc3Bl
Y3Rvci0+bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQocmVzdWx0LCBtb2RpZmllckZsYWdzKTsKIH0K
IAogdm9pZCBDaHJvbWU6OnNldFRvb2xUaXAoY29uc3QgSGl0VGVzdFJlc3VsdCYgcmVzdWx0KQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAgYi9XZWJDb3JlL3BhZ2Uv
RXZlbnRIYW5kbGVyLmNwcAppbmRleCAxZmJmMmUxLi45ZWY0OWRlIDEwMDY0NAotLS0gYS9XZWJD
b3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVy
LmNwcApAQCAtNDksNiArNDksNyBAQAogI2luY2x1ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJJbWFnZS5oIgorI2luY2x1ZGUgIkluc3Bl
Y3RvckNvbnRyb2xsZXIuaCIKICNpbmNsdWRlICJLZXlib2FyZEV2ZW50LmgiCiAjaW5jbHVkZSAi
TW91c2VFdmVudC5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnRXaXRoSGl0VGVzdFJlc3VsdHMuaCIK
QEAgLTk4MSw3ICs5ODIsNyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2
ZW50KGNvbnN0IFBsYXRmb3JtTW91c2VFdmVudCYgbW91c2VFdmVudCkKICAgICBtX21vdXNlRG93
bk1heVN0YXJ0QXV0b3Njcm9sbCA9IGZhbHNlOwogICAgIG1fbW91c2VEb3duUG9zID0gbV9mcmFt
ZS0+dmlldygpLT53aW5kb3dUb0NvbnRlbnRzKG1vdXNlRXZlbnQucG9zKCkpOwogICAgIG1fbW91
c2VEb3duV2FzSW5TdWJmcmFtZSA9IGZhbHNlOwotICAgIAorCiAgICAgTW91c2VFdmVudFdpdGhI
aXRUZXN0UmVzdWx0cyBtZXYgPSBwcmVwYXJlTW91c2VFdmVudChIaXRUZXN0UmVxdWVzdChmYWxz
ZSwgdHJ1ZSksIG1vdXNlRXZlbnQpOwogCiAgICAgaWYgKCFtZXYudGFyZ2V0Tm9kZSgpKSB7CkBA
IC05OTEsNiArOTkyLDEzIEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZl
bnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBtb3VzZUV2ZW50KQogCiAgICAgbV9tb3VzZVBy
ZXNzTm9kZSA9IG1ldi50YXJnZXROb2RlKCk7CiAKKyAgICBJbnNwZWN0b3JDb250cm9sbGVyKiBp
bnNwZWN0b3IgPSBtX2ZyYW1lLT5wYWdlKCktPmluc3BlY3RvckNvbnRyb2xsZXIoKTsKKyAgICBp
ZiAoaW5zcGVjdG9yICYmIGluc3BlY3Rvci0+ZW5hYmxlZCgpICYmIGluc3BlY3Rvci0+c2VhcmNo
aW5nRm9yTm9kZUluUGFnZSgpKSB7CisgICAgICAgIGluc3BlY3Rvci0+aGFuZGxlTW91c2VQcmVz
c09uTm9kZShtX21vdXNlUHJlc3NOb2RlLmdldCgpKTsKKyAgICAgICAgaW52YWxpZGF0ZUNsaWNr
KCk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwogICAgIEZyYW1lKiBzdWJmcmFtZSA9
IHN1YmZyYW1lRm9yVGFyZ2V0Tm9kZShtZXYudGFyZ2V0Tm9kZSgpKTsKICAgICBpZiAoc3ViZnJh
bWUgJiYgcGFzc01vdXNlUHJlc3NFdmVudFRvU3ViZnJhbWUobWV2LCBzdWJmcmFtZSkpIHsKICAg
ICAgICAgLy8gU3RhcnQgY2FwdHVyaW5nIGZ1dHVyZSBldmVudHMgZm9yIHRoaXMgZnJhbWUuICBX
ZSBvbmx5IGRvIHRoaXMgaWYgd2UgZGlkbid0IGNsZWFyCkBAIC0xMDAwLDcgKzEwMDgsNyBAQCBi
b29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50KGNvbnN0IFBsYXRmb3JtTW91
c2VFdmVudCYgbW91c2VFdmVudCkKICAgICAgICAgaW52YWxpZGF0ZUNsaWNrKCk7CiAgICAgICAg
IHJldHVybiB0cnVlOwogICAgIH0KLSAKKwogI2lmIFBMQVRGT1JNKFdJTikKICAgICBpZiAobV9m
cmFtZS0+cGFnZSgpLT5tYWluRnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPnBhblNjcm9sbEluUHJv
Z3Jlc3MoKSB8fCBtX2F1dG9zY3JvbGxJblByb2dyZXNzKSB7CiAgICAgICAgIHN0b3BBdXRvc2Ny
b2xsVGltZXIoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9JbnNwZWN0b3JDb250cm9sbGVy
LmNwcCBiL1dlYkNvcmUvcGFnZS9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAppbmRleCBkMThmOGJm
Li4xYjg4ZWExIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvSW5zcGVjdG9yQ29udHJvbGxlci5j
cHAKKysrIGIvV2ViQ29yZS9wYWdlL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwCkBAIC0xLDUgKzEs
NiBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA4IE1hdHQgTGlsZWsgPHdlYmtpdEBtYXR0
bGlsZWsuY29tPgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00NCw2ICs0NSw3
IEBACiAjaW5jbHVkZSAiRnJhbWVUcmVlLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5j
bHVkZSAiR3JhcGhpY3NDb250ZXh0LmgiCisjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgogI2lu
Y2x1ZGUgIkhUTUxGcmFtZU93bmVyRWxlbWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNsaWVu
dC5oIgogI2luY2x1ZGUgIkphdmFTY3JpcHRDYWxsRnJhbWUuaCIKQEAgLTEwMzksNiArMTA0MSwx
NSBAQCBzdGF0aWMgSlNWYWx1ZVJlZiBzdG9wUHJvZmlsaW5nKEpTQ29udGV4dFJlZiBjdHgsIEpT
T2JqZWN0UmVmIC8qZnVuY3Rpb24qLywgSlNPYgogICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVm
aW5lZChjdHgpOwogfQogCitzdGF0aWMgSlNWYWx1ZVJlZiB0b2dnbGVOb2RlU2VhcmNoKEpTQ29u
dGV4dFJlZiBjdHgsIEpTT2JqZWN0UmVmIC8qZnVuY3Rpb24qLywgSlNPYmplY3RSZWYgdGhpc09i
amVjdCwgc2l6ZV90IC8qYXJndW1lbnRfY291bnQqLywgY29uc3QgSlNWYWx1ZVJlZltdIC8qYXJn
dW1lbnRzKi8sIEpTVmFsdWVSZWYqIC8qZXhjZXB0aW9uKi8pCit7CisgICAgSW5zcGVjdG9yQ29u
dHJvbGxlciogY29udHJvbGxlciA9IHJlaW50ZXJwcmV0X2Nhc3Q8SW5zcGVjdG9yQ29udHJvbGxl
cio+KEpTT2JqZWN0R2V0UHJpdmF0ZSh0aGlzT2JqZWN0KSk7CisgICAgaWYgKGNvbnRyb2xsZXIp
CisgICAgICAgIGNvbnRyb2xsZXItPnRvZ2dsZVNlYXJjaEZvck5vZGVJblBhZ2UoKTsKKworICAg
IHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjdHgpOworfQorCiAvLyBJbnNwZWN0b3JDb250
cm9sbGVyIENsYXNzCiAKIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNvbnRyb2xsZXIo
UGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBjbGllbnQpCkBAIC0xMDU1LDYgKzEwNjYsNyBA
QCBJbnNwZWN0b3JDb250cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKFBhZ2UqIHBhZ2UsIElu
c3BlY3RvckNsaWVudCogY2xpZW50KQogICAgICwgbV9zaG93QWZ0ZXJWaXNpYmxlKEVsZW1lbnRz
UGFuZWwpCiAgICAgLCBtX25leHRJZGVudGlmaWVyKC0yKQogICAgICwgbV9ncm91cExldmVsKDAp
CisgICAgLCBtX3NlYXJjaGluZ0Zvck5vZGUoZmFsc2UpCiB7CiAgICAgQVNTRVJUX0FSRyhwYWdl
LCBwYWdlKTsKICAgICBBU1NFUlRfQVJHKGNsaWVudCwgY2xpZW50KTsKQEAgLTEzMzUsNiArMTM0
Nyw0MSBAQCB2b2lkIEluc3BlY3RvckNvbnRyb2xsZXI6OnNldEF0dGFjaGVkV2luZG93SGVpZ2h0
KHVuc2lnbmVkIGhlaWdodCkKICAgICBtX2NsaWVudC0+c2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQo
aGVpZ2h0KTsKIH0KIAordm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjp0b2dnbGVTZWFyY2hGb3JO
b2RlSW5QYWdlKCkKK3sKKyAgICBpZiAoIWVuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgbV9zZWFyY2hpbmdGb3JOb2RlID0gIW1fc2VhcmNoaW5nRm9yTm9kZTsKKyAgICBpZiAoIW1f
c2VhcmNoaW5nRm9yTm9kZSkKKyAgICAgICAgaGlkZUhpZ2hsaWdodCgpOworfQorCit2b2lkIElu
c3BlY3RvckNvbnRyb2xsZXI6Om1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KGNvbnN0IEhpdFRlc3RS
ZXN1bHQmIHJlc3VsdCwgdW5zaWduZWQgbW9kaWZpZXJGbGFncykKK3sKKyAgICBpZiAoIWVuYWJs
ZWQoKSB8fCAhbV9zZWFyY2hpbmdGb3JOb2RlKQorICAgICAgICByZXR1cm47CisKKyAgICBOb2Rl
KiBub2RlID0gcmVzdWx0LmlubmVyTm9kZSgpOworICAgIGlmIChub2RlKQorICAgICAgICBoaWdo
bGlnaHQobm9kZSk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6aGFuZGxlTW91c2VQ
cmVzc09uTm9kZShOb2RlKiBub2RlKQoreworICAgIGlmICghZW5hYmxlZCgpKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBBU1NFUlQobV9zZWFyY2hpbmdGb3JOb2RlKTsKKyAgICBBU1NFUlQobm9k
ZSk7CisgICAgaWYgKCFub2RlKQorICAgICAgICByZXR1cm47CisKKyAgICBpbnNwZWN0KG5vZGUp
OworICAgIG1fc2VhcmNoaW5nRm9yTm9kZSA9ICFtX3NlYXJjaGluZ0Zvck5vZGU7CisgICAgY2Fs
bFNpbXBsZUZ1bmN0aW9uKG1fc2NyaXB0Q29udGV4dCwgbV9zY3JpcHRPYmplY3QsICJub2RlU2Vh
cmNoRmluaXNoZWQiKTsKK30KKwogdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjppbnNwZWN0ZWRX
aW5kb3dTY3JpcHRPYmplY3RDbGVhcmVkKEZyYW1lKiBmcmFtZSkKIHsKICAgICBpZiAoIWVuYWJs
ZWQoKSB8fCAhbV9zY3JpcHRDb250ZXh0IHx8ICFtX3NjcmlwdE9iamVjdCkKQEAgLTE0MDMsNiAr
MTQ1MCw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6d2luZG93U2NyaXB0T2JqZWN0QXZh
aWxhYmxlKCkKICAgICAgICAgeyAic3RhcnRQcm9maWxpbmciLCBXZWJDb3JlOjpzdGFydFByb2Zp
bGluZywga0pTUHJvcGVydHlBdHRyaWJ1dGVOb25lIH0sCiAgICAgICAgIHsgInN0b3BQcm9maWxp
bmciLCBXZWJDb3JlOjpzdG9wUHJvZmlsaW5nLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZU5vbmUgfSwK
ICAgICAgICAgeyAiY2xlYXJNZXNzYWdlcyIsIGNsZWFyTWVzc2FnZXMsIGtKU1Byb3BlcnR5QXR0
cmlidXRlTm9uZSB9LAorICAgICAgICB7ICJ0b2dnbGVOb2RlU2VhcmNoIiwgdG9nZ2xlTm9kZVNl
YXJjaCwga0pTUHJvcGVydHlBdHRyaWJ1dGVOb25lIH0sCiAgICAgICAgIHsgMCwgMCwgMCB9CiAg
ICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0luc3BlY3RvckNvbnRyb2xsZXIuaCBi
L1dlYkNvcmUvcGFnZS9JbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggNjY2N2E1ZS4uZDFhMjM4
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9X
ZWJDb3JlL3BhZ2UvSW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC00OSw2ICs0OSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIERhdGFiYXNlOwogY2xhc3MgRG9jdW1lbnRMb2FkZXI7CiBj
bGFzcyBHcmFwaGljc0NvbnRleHQ7CitjbGFzcyBIaXRUZXN0UmVzdWx0OwogY2xhc3MgSW5zcGVj
dG9yQ2xpZW50OwogY2xhc3MgSmF2YVNjcmlwdENhbGxGcmFtZTsKIGNsYXNzIE5vZGU7CkBAIC0x
MjEsNiArMTIyLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEF0dGFjaGVkV2luZG93KGJvb2wp
OwogICAgIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQgaGVpZ2h0KTsKIAor
ICAgIHZvaWQgdG9nZ2xlU2VhcmNoRm9yTm9kZUluUGFnZSgpOworICAgIGJvb2wgc2VhcmNoaW5n
Rm9yTm9kZUluUGFnZSgpIHsgcmV0dXJuIG1fc2VhcmNoaW5nRm9yTm9kZTsgfTsKKyAgICB2b2lk
IG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KGNvbnN0IEhpdFRlc3RSZXN1bHQmLCB1bnNpZ25lZCBt
b2RpZmllckZsYWdzKTsKKyAgICB2b2lkIGhhbmRsZU1vdXNlUHJlc3NPbk5vZGUoTm9kZSopOwor
CiAgICAgSlNDb250ZXh0UmVmIHNjcmlwdENvbnRleHQoKSBjb25zdCB7IHJldHVybiBtX3Njcmlw
dENvbnRleHQ7IH07CiAgICAgdm9pZCBzZXRTY3JpcHRDb250ZXh0KEpTQ29udGV4dFJlZiBjb250
ZXh0KSB7IG1fc2NyaXB0Q29udGV4dCA9IGNvbnRleHQ7IH07CiAKQEAgLTI0OCw2ICsyNTQsNyBA
QCBwcml2YXRlOgogICAgIGxvbmcgbG9uZyBtX25leHRJZGVudGlmaWVyOwogICAgIFJlZlB0cjxO
b2RlPiBtX2hpZ2hsaWdodGVkTm9kZTsKICAgICB1bnNpZ25lZCBtX2dyb3VwTGV2ZWw7CisgICAg
Ym9vbCBtX3NlYXJjaGluZ0Zvck5vZGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL0VsZW1lbnRzUGFuZWwuanMgYi9XZWJD
b3JlL3BhZ2UvaW5zcGVjdG9yL0VsZW1lbnRzUGFuZWwuanMKaW5kZXggOGRkMmQ5Zi4uMTRmMTVj
ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2luc3BlY3Rvci9FbGVtZW50c1BhbmVsLmpzCisr
KyBiL1dlYkNvcmUvcGFnZS9pbnNwZWN0b3IvRWxlbWVudHNQYW5lbC5qcwpAQCAtMSw1ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggQXBwbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBNYXR0IExpbGVrIDx3ZWJraXRAbWF0
dGxpbGVrLmNvbT4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtODQsNiArODUs
MTQgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5z
aWRlYmFyUmVzaXplRWxlbWVudC5jbGFzc05hbWUgPSAic2lkZWJhci1yZXNpemVyLXZlcnRpY2Fs
IjsKICAgICB0aGlzLnNpZGViYXJSZXNpemVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNl
ZG93biIsIHRoaXMucmlnaHRTaWRlYmFyUmVzaXplckRyYWdTdGFydC5iaW5kKHRoaXMpLCBmYWxz
ZSk7CiAKKyAgICB0aGlzLm5vZGVTZWFyY2hCdXR0b24gPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJidXR0b24iKTsKKyAgICB0aGlzLm5vZGVTZWFyY2hCdXR0b24udGl0bGUgPSBXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIlNlbGVjdCBhbiBlbGVtZW50IGluIHRoZSBwYWdlIHRvIGluc3BlY3QgaXQu
Iik7CisgICAgdGhpcy5ub2RlU2VhcmNoQnV0dG9uLmlkID0gIm5vZGUtc2VhcmNoLXN0YXR1cy1i
YXItaXRlbSI7CisgICAgdGhpcy5ub2RlU2VhcmNoQnV0dG9uLmNsYXNzTmFtZSA9ICJzdGF0dXMt
YmFyLWl0ZW0iOworICAgIHRoaXMubm9kZVNlYXJjaEJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIHRoaXMuX25vZGVTZWFyY2hCdXR0b25DbGlja2VkLmJpbmQodGhpcyksIGZhbHNlKTsK
KworICAgIHRoaXMuc2VhcmNoaW5nRm9yTm9kZSA9IGZhbHNlOworCiAgICAgdGhpcy5lbGVtZW50
LmFwcGVuZENoaWxkKHRoaXMuY29udGVudEVsZW1lbnQpOwogICAgIHRoaXMuZWxlbWVudC5hcHBl
bmRDaGlsZCh0aGlzLnNpZGViYXJFbGVtZW50KTsKICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hp
bGQodGhpcy5zaWRlYmFyUmVzaXplRWxlbWVudCk7CkBAIC0xMDYsNyArMTE1LDcgQEAgV2ViSW5z
cGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlID0gewogCiAgICAgZ2V0IHN0YXR1c0Jhckl0
ZW1zKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBbdGhpcy5jcnVtYnNFbGVtZW50XTsKKyAgICAg
ICAgcmV0dXJuIFt0aGlzLm5vZGVTZWFyY2hCdXR0b24sIHRoaXMuY3J1bWJzRWxlbWVudF07CiAg
ICAgfSwKIAogICAgIHVwZGF0ZVN0YXR1c0Jhckl0ZW1zOiBmdW5jdGlvbigpCkBAIC0xMjksNiAr
MTM4LDExIEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAg
ICAgV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZS5oaWRlLmNhbGwodGhpcyk7CiAgICAgICAg
IFdlYkluc3BlY3Rvci5ob3ZlcmVkRE9NTm9kZSA9IG51bGw7CiAgICAgICAgIFdlYkluc3BlY3Rv
ci5mb3JjZUhvdmVySGlnaGxpZ2h0ID0gZmFsc2U7CisKKyAgICAgICAgaWYgKHRoaXMuc2VhcmNo
aW5nRm9yTm9kZSkgeworICAgICAgICAgICAgSW5zcGVjdG9yQ29udHJvbGxlci50b2dnbGVOb2Rl
U2VhcmNoKCk7CisgICAgICAgICAgICB0aGlzLm5vZGVTZWFyY2hGaW5pc2hlZCgpOworICAgICAg
ICB9CiAgICAgfSwKIAogICAgIHJlc2l6ZTogZnVuY3Rpb24oKQpAQCAtMTQ1LDYgKzE1OSwxMSBA
QCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIFdlYklu
c3BlY3Rvci5ob3ZlcmVkRE9NTm9kZSA9IG51bGw7CiAgICAgICAgIFdlYkluc3BlY3Rvci5mb3Jj
ZUhvdmVySGlnaGxpZ2h0ID0gZmFsc2U7CiAKKyAgICAgICAgaWYgKHRoaXMuc2VhcmNoaW5nRm9y
Tm9kZSkgeworICAgICAgICAgICAgSW5zcGVjdG9yQ29udHJvbGxlci50b2dnbGVOb2RlU2VhcmNo
KCk7CisgICAgICAgICAgICB0aGlzLm5vZGVTZWFyY2hGaW5pc2hlZCgpOworICAgICAgICB9CisK
ICAgICAgICAgdGhpcy5yZWNlbnRseU1vZGlmaWVkTm9kZXMgPSBbXTsKICAgICAgICAgdGhpcy51
bnJlZ2lzdGVyQWxsTXV0YXRpb25FdmVudExpc3RlbmVycygpOwogCkBAIC04NzQsOCArODkzLDI3
IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhp
cy50cmVlT3V0bGluZS51cGRhdGVTZWxlY3Rpb24oKTsKIAogICAgICAgICBldmVudC5wcmV2ZW50
RGVmYXVsdCgpOworICAgIH0sCisKKyAgICBfbm9kZVNlYXJjaEJ1dHRvbkNsaWNrZWQ6IGZ1bmN0
aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgdGhpcy5zZWFyY2hpbmdGb3JOb2RlID0gIXRoaXMu
c2VhcmNoaW5nRm9yTm9kZTsKKyAgICAgICAgSW5zcGVjdG9yQ29udHJvbGxlci50b2dnbGVOb2Rl
U2VhcmNoKCk7CisKKyAgICAgICAgaWYgKHRoaXMuc2VhcmNoaW5nRm9yTm9kZSkKKyAgICAgICAg
ICAgIHRoaXMubm9kZVNlYXJjaEJ1dHRvbi5hZGRTdHlsZUNsYXNzKCJ0b2dnbGVkLW9uIik7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIHRoaXMubm9kZVNlYXJjaEJ1dHRvbi5yZW1vdmVTdHls
ZUNsYXNzKCJ0b2dnbGVkLW9uIik7CisgICAgfSwKKworICAgIG5vZGVTZWFyY2hGaW5pc2hlZDog
ZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLnNlYXJjaGluZ0Zvck5vZGUpCisg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5zZWFyY2hpbmdGb3JOb2RlID0gZmFs
c2U7CisgICAgICAgIHRoaXMubm9kZVNlYXJjaEJ1dHRvbi5yZW1vdmVTdHlsZUNsYXNzKCJ0b2dn
bGVkLW9uIik7CiAgICAgfQogfQogCiBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5
cGUuX19wcm90b19fID0gV2ViSW5zcGVjdG9yLlBhbmVsLnByb3RvdHlwZTsKLQpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wYWdlL2luc3BlY3Rvci9pbnNwZWN0b3IuY3NzIGIvV2ViQ29yZS9wYWdlL2lu
c3BlY3Rvci9pbnNwZWN0b3IuY3NzCmluZGV4IDRiZmM5YjguLjMwNzkxOGQgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9pbnNwZWN0b3IvaW5zcGVjdG9yLmNzcworKysgYi9XZWJDb3JlL3BhZ2Uv
aW5zcGVjdG9yL2luc3BlY3Rvci5jc3MKQEAgLTI3MjAsNiArMjcyMCwyMiBAQCBib2R5LmluYWN0
aXZlIC5zaWRlYmFyLXRyZWUtaXRlbS5zZWxlY3RlZCB7CiAgICAgYmFja2dyb3VuZC1wb3NpdGlv
bjogMzJweCAyNHB4OwogfQogCisjbm9kZS1zZWFyY2gtc3RhdHVzLWJhci1pdGVtIHsKKyAgICBi
YWNrZ3JvdW5kLWltYWdlOiB1cmwoSW1hZ2VzL25vZGVTZWFyY2hCdXR0b25zLnBuZyk7Cit9CisK
KyNub2RlLXNlYXJjaC1zdGF0dXMtYmFyLWl0ZW06YWN0aXZlIHsKKyAgICBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiAzMnB4IDA7Cit9CisKKyNub2RlLXNlYXJjaC1zdGF0dXMtYmFyLWl0ZW0udG9nZ2xl
ZC1vbiB7CisgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAyNHB4OworfQorCisjbm9kZS1zZWFy
Y2gtc3RhdHVzLWJhci1pdGVtLnRvZ2dsZWQtb246YWN0aXZlIHsKKyAgICBiYWNrZ3JvdW5kLXBv
c2l0aW9uOiAzMnB4IDI0cHg7Cit9CisKIC5wZXJjZW50LXRpbWUtc3RhdHVzLWJhci1pdGVtIHsK
ICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoSW1hZ2VzL3BlcmNlbnRCdXR0b25zLnBuZykgIWlt
cG9ydGFudDsKIH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9pbnNwZWN0b3IvaW5zcGVjdG9y
LmpzIGIvV2ViQ29yZS9wYWdlL2luc3BlY3Rvci9pbnNwZWN0b3IuanMKaW5kZXggOWUzM2ViMy4u
YzU0MGM4NyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2luc3BlY3Rvci9pbnNwZWN0b3IuanMK
KysrIGIvV2ViQ29yZS9wYWdlL2luc3BlY3Rvci9pbnNwZWN0b3IuanMKQEAgLTk0NCw2ICs5NDQs
MTEgQEAgV2ViSW5zcGVjdG9yLnNldFJlY29yZGluZ1Byb2ZpbGUgPSBmdW5jdGlvbihpc1Byb2Zp
bGluZykKICAgICB0aGlzLnBhbmVscy5wcm9maWxlcy5zZXRSZWNvcmRpbmdQcm9maWxlKGlzUHJv
ZmlsaW5nKTsKIH0KIAorV2ViSW5zcGVjdG9yLm5vZGVTZWFyY2hGaW5pc2hlZCA9IGZ1bmN0aW9u
KCkKK3sKKyAgICB0aGlzLnBhbmVscy5lbGVtZW50cy5ub2RlU2VhcmNoRmluaXNoZWQoKTsKK30K
KwogV2ViSW5zcGVjdG9yLmRyYXdMb2FkaW5nUGllQ2hhcnQgPSBmdW5jdGlvbihjYW52YXMsIHBl
cmNlbnQpIHsKICAgICB2YXIgZyA9IGNhbnZhcy5nZXRDb250ZXh0KCIyZCIpOwogICAgIHZhciBk
YXJrQ29sb3IgPSAicmdiKDEyMiwgMTY4LCAyMTgpIjsK
</data>
<flag name="review"
          id="10544"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>23550</attachid>
            <date>2008-09-18 20:44:01 -0700</date>
            <delta_ts>2008-09-18 21:34:03 -0700</delta_ts>
            <desc>button</desc>
            <filename>nodeSearchButtons.png</filename>
            <type>image/png</type>
            <size>1765</size>
            <attacher name="Matt Lilek">dev+webkit</attacher>
            
              <data encoding="base64">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
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>23551</attachid>
            <date>2008-09-18 21:34:03 -0700</date>
            <delta_ts>2008-09-18 21:37:09 -0700</delta_ts>
            <desc>Better button</desc>
            <filename>nodeSearchButtons.png</filename>
            <type>image/png</type>
            <size>5918</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">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
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>23552</attachid>
            <date>2008-09-18 21:37:09 -0700</date>
            <delta_ts>2008-09-18 21:37:09 -0700</delta_ts>
            <desc>Even better button</desc>
            <filename>nodeSearchButtons.png</filename>
            <type>image/png</type>
            <size>5883</size>
            <attacher name="Timothy Hatcher">timothy</attacher>
            
              <data encoding="base64">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
AAAAAElFTkSuQmCC
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23553</attachid>
            <date>2008-09-18 21:42:21 -0700</date>
            <delta_ts>2008-09-18 21:48:11 -0700</delta_ts>
            <desc>with suggestions</desc>
            <filename>Bug17772v3</filename>
            <type>text/plain</type>
            <size>12637</size>
            <attacher name="Matt Lilek">dev+webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTMyN2ZlZC4uZWQ5YWE3YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAwOC0wOS0xOCAgTWF0dCBMaWxlayAg
PHdlYmtpdEBtYXR0bGlsZWsuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIYXRjaGVy
LgorCisgICAgICAgIEJ1ZyAxNzc3MjogSW5zcGVjdG9yIHNob3VsZCBzdXBwb3J0IHBvaW50LWFu
ZC1jbGljayB0byBzZWxlY3QgYSBub2RlIHRvIGluc3BlY3QKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzcyCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81NzkyMzk1PgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpz
OgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6
bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50
KToKKyAgICAgICAgKiBwYWdlL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6dG9nZ2xlTm9kZVNlYXJjaCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250
cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckNvbnRyb2xsZXI6OnRvZ2dsZVNlYXJjaEZvck5vZGVJblBhZ2UpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6aGFuZGxlTW91c2VQcmVzc09uTm9kZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjp3aW5kb3dTY3JpcHRPYmpl
Y3RBdmFpbGFibGUpOgorICAgICAgICAqIHBhZ2UvSW5zcGVjdG9yQ29udHJvbGxlci5oOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6c2VhcmNoaW5nRm9yTm9kZUluUGFn
ZSk6CisgICAgICAgICogcGFnZS9pbnNwZWN0b3IvRWxlbWVudHNQYW5lbC5qczoKKyAgICAgICAg
KiBwYWdlL2luc3BlY3Rvci9JbWFnZXMvbm9kZVNlYXJjaEJ1dHRvbnMucG5nOiBBZGRlZC4KKyAg
ICAgICAgKiBwYWdlL2luc3BlY3Rvci9pbnNwZWN0b3IuY3NzOgorICAgICAgICAqIHBhZ2UvaW5z
cGVjdG9yL2luc3BlY3Rvci5qczoKKwogMjAwOC0wOS0xOCAgRGF2aWQgSHlhdHQgIDxoeWF0dEBh
cHBsZS5jb20+CiAKICAgICAgICAgTWFrZSB0aGUgY29udmVyc2lvbiBtZXRob2RzIHRoYXQgZ28g
dG8gYW5kIGZyb20gc29tZSBjb250YWluaW5nV2luZG93CmRpZmYgLS1naXQgYS9XZWJDb3JlL0Vu
Z2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1dlYkNvcmUvRW5nbGlzaC5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGFhOWMwZmYuLmYwOGQ3NmIgMTAwNjQ0CkJpbmFyeSBm
aWxlcyBhL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGFuZCBiL1dl
YkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGRpZmZlcgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAgYi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAppbmRl
eCA1NzI2NTg2Li5mMTYzNzE1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAor
KysgYi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUg
IkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJI
aXRUZXN0UmVzdWx0LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1
ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJQYXVzZWRUaW1l
b3V0cy5oIgpAQCAtMzA5LDYgKzMxMCw5IEBAIHZvaWQgQ2hyb21lOjp1cGRhdGVCYWNraW5nU3Rv
cmUoKQogdm9pZCBDaHJvbWU6Om1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KGNvbnN0IEhpdFRlc3RS
ZXN1bHQmIHJlc3VsdCwgdW5zaWduZWQgbW9kaWZpZXJGbGFncykKIHsKICAgICBtX2NsaWVudC0+
bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQocmVzdWx0LCBtb2RpZmllckZsYWdzKTsKKworICAgIGlm
IChJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3IgPSBtX3BhZ2UtPmluc3BlY3RvckNvbnRy
b2xsZXIoKSkKKyAgICAgICAgaW5zcGVjdG9yLT5tb3VzZURpZE1vdmVPdmVyRWxlbWVudChyZXN1
bHQsIG1vZGlmaWVyRmxhZ3MpOwogfQogCiB2b2lkIENocm9tZTo6c2V0VG9vbFRpcChjb25zdCBI
aXRUZXN0UmVzdWx0JiByZXN1bHQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmNwcCBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDFmYmYyZTEuLjll
ZjQ5ZGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1dl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSAi
SFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIklt
YWdlLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIktleWJv
YXJkRXZlbnQuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiTW91c2VFdmVu
dFdpdGhIaXRUZXN0UmVzdWx0cy5oIgpAQCAtOTgxLDcgKzk4Miw3IEBAIGJvb2wgRXZlbnRIYW5k
bGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBtb3Vz
ZUV2ZW50KQogICAgIG1fbW91c2VEb3duTWF5U3RhcnRBdXRvc2Nyb2xsID0gZmFsc2U7CiAgICAg
bV9tb3VzZURvd25Qb3MgPSBtX2ZyYW1lLT52aWV3KCktPndpbmRvd1RvQ29udGVudHMobW91c2VF
dmVudC5wb3MoKSk7CiAgICAgbV9tb3VzZURvd25XYXNJblN1YmZyYW1lID0gZmFsc2U7Ci0gICAg
CisKICAgICBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzIG1ldiA9IHByZXBhcmVNb3VzZUV2
ZW50KEhpdFRlc3RSZXF1ZXN0KGZhbHNlLCB0cnVlKSwgbW91c2VFdmVudCk7CiAKICAgICBpZiAo
IW1ldi50YXJnZXROb2RlKCkpIHsKQEAgLTk5MSw2ICs5OTIsMTMgQEAgYm9vbCBFdmVudEhhbmRs
ZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIG1vdXNl
RXZlbnQpCiAKICAgICBtX21vdXNlUHJlc3NOb2RlID0gbWV2LnRhcmdldE5vZGUoKTsKIAorICAg
IEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvciA9IG1fZnJhbWUtPnBhZ2UoKS0+aW5zcGVj
dG9yQ29udHJvbGxlcigpOworICAgIGlmIChpbnNwZWN0b3IgJiYgaW5zcGVjdG9yLT5lbmFibGVk
KCkgJiYgaW5zcGVjdG9yLT5zZWFyY2hpbmdGb3JOb2RlSW5QYWdlKCkpIHsKKyAgICAgICAgaW5z
cGVjdG9yLT5oYW5kbGVNb3VzZVByZXNzT25Ob2RlKG1fbW91c2VQcmVzc05vZGUuZ2V0KCkpOwor
ICAgICAgICBpbnZhbGlkYXRlQ2xpY2soKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
CiAgICAgRnJhbWUqIHN1YmZyYW1lID0gc3ViZnJhbWVGb3JUYXJnZXROb2RlKG1ldi50YXJnZXRO
b2RlKCkpOwogICAgIGlmIChzdWJmcmFtZSAmJiBwYXNzTW91c2VQcmVzc0V2ZW50VG9TdWJmcmFt
ZShtZXYsIHN1YmZyYW1lKSkgewogICAgICAgICAvLyBTdGFydCBjYXB0dXJpbmcgZnV0dXJlIGV2
ZW50cyBmb3IgdGhpcyBmcmFtZS4gIFdlIG9ubHkgZG8gdGhpcyBpZiB3ZSBkaWRuJ3QgY2xlYXIK
QEAgLTEwMDAsNyArMTAwOCw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNz
RXZlbnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBtb3VzZUV2ZW50KQogICAgICAgICBpbnZh
bGlkYXRlQ2xpY2soKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotIAorCiAjaWYgUExB
VEZPUk0oV0lOKQogICAgIGlmIChtX2ZyYW1lLT5wYWdlKCktPm1haW5GcmFtZSgpLT5ldmVudEhh
bmRsZXIoKS0+cGFuU2Nyb2xsSW5Qcm9ncmVzcygpIHx8IG1fYXV0b3Njcm9sbEluUHJvZ3Jlc3Mp
IHsKICAgICAgICAgc3RvcEF1dG9zY3JvbGxUaW1lcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
YWdlL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9wYWdlL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwCmluZGV4IGQxOGY4YmYuLmJlZWQwNDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFn
ZS9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvSW5zcGVjdG9yQ29u
dHJvbGxlci5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNywgMjAw
OCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgg
TWF0dCBMaWxlayA8d2Via2l0QG1hdHRsaWxlay5jb20+CiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTQ0LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJGcmFtZVRyZWUuaCIKICNpbmNs
dWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbmNsdWRl
ICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiSFRNTEZyYW1lT3duZXJFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiSmF2YVNjcmlwdENhbGxGcmFt
ZS5oIgpAQCAtMTAzOSw2ICsxMDQxLDE1IEBAIHN0YXRpYyBKU1ZhbHVlUmVmIHN0b3BQcm9maWxp
bmcoSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgLypmdW5jdGlvbiovLCBKU09iCiAgICAg
cmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGN0eCk7CiB9CiAKK3N0YXRpYyBKU1ZhbHVlUmVm
IHRvZ2dsZU5vZGVTZWFyY2goSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgLypmdW5jdGlv
biovLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgLyphcmd1bWVudF9jb3VudCovLCBj
b25zdCBKU1ZhbHVlUmVmW10gLyphcmd1bWVudHMqLywgSlNWYWx1ZVJlZiogLypleGNlcHRpb24q
LykKK3sKKyAgICBJbnNwZWN0b3JDb250cm9sbGVyKiBjb250cm9sbGVyID0gcmVpbnRlcnByZXRf
Y2FzdDxJbnNwZWN0b3JDb250cm9sbGVyKj4oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3Qp
KTsKKyAgICBpZiAoY29udHJvbGxlcikKKyAgICAgICAgY29udHJvbGxlci0+dG9nZ2xlU2VhcmNo
Rm9yTm9kZUluUGFnZSgpOworCisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGN0eCk7
Cit9CisKIC8vIEluc3BlY3RvckNvbnRyb2xsZXIgQ2xhc3MKIAogSW5zcGVjdG9yQ29udHJvbGxl
cjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdlKiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGNsaWVu
dCkKQEAgLTEwNTUsNiArMTA2Niw3IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNv
bnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBjbGllbnQpCiAgICAgLCBtX3No
b3dBZnRlclZpc2libGUoRWxlbWVudHNQYW5lbCkKICAgICAsIG1fbmV4dElkZW50aWZpZXIoLTIp
CiAgICAgLCBtX2dyb3VwTGV2ZWwoMCkKKyAgICAsIG1fc2VhcmNoaW5nRm9yTm9kZShmYWxzZSkK
IHsKICAgICBBU1NFUlRfQVJHKHBhZ2UsIHBhZ2UpOwogICAgIEFTU0VSVF9BUkcoY2xpZW50LCBj
bGllbnQpOwpAQCAtMTMzNSw2ICsxMzQ3LDQwIEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6
c2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQgaGVpZ2h0KQogICAgIG1fY2xpZW50LT5z
ZXRBdHRhY2hlZFdpbmRvd0hlaWdodChoZWlnaHQpOwogfQogCit2b2lkIEluc3BlY3RvckNvbnRy
b2xsZXI6OnRvZ2dsZVNlYXJjaEZvck5vZGVJblBhZ2UoKQoreworICAgIGlmICghZW5hYmxlZCgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBtX3NlYXJjaGluZ0Zvck5vZGUgPSAhbV9zZWFyY2hp
bmdGb3JOb2RlOworICAgIGlmICghbV9zZWFyY2hpbmdGb3JOb2RlKQorICAgICAgICBoaWRlSGln
aGxpZ2h0KCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6bW91c2VEaWRNb3ZlT3Zl
ckVsZW1lbnQoY29uc3QgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCB1bnNpZ25lZCBtb2RpZmllckZs
YWdzKQoreworICAgIGlmICghZW5hYmxlZCgpIHx8ICFtX3NlYXJjaGluZ0Zvck5vZGUpCisgICAg
ICAgIHJldHVybjsKKworICAgIE5vZGUqIG5vZGUgPSByZXN1bHQuaW5uZXJOb2RlKCk7CisgICAg
aWYgKG5vZGUpCisgICAgICAgIGhpZ2hsaWdodChub2RlKTsKK30KKwordm9pZCBJbnNwZWN0b3JD
b250cm9sbGVyOjpoYW5kbGVNb3VzZVByZXNzT25Ob2RlKE5vZGUqIG5vZGUpCit7CisgICAgaWYg
KCFlbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIEFTU0VSVChtX3NlYXJjaGluZ0Zv
ck5vZGUpOworICAgIEFTU0VSVChub2RlKTsKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJldHVy
bjsKKworICAgIGluc3BlY3Qobm9kZSk7CisgICAgbV9zZWFyY2hpbmdGb3JOb2RlID0gIW1fc2Vh
cmNoaW5nRm9yTm9kZTsKK30KKwogdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjppbnNwZWN0ZWRX
aW5kb3dTY3JpcHRPYmplY3RDbGVhcmVkKEZyYW1lKiBmcmFtZSkKIHsKICAgICBpZiAoIWVuYWJs
ZWQoKSB8fCAhbV9zY3JpcHRDb250ZXh0IHx8ICFtX3NjcmlwdE9iamVjdCkKQEAgLTE0MDMsNiAr
MTQ0OSw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6d2luZG93U2NyaXB0T2JqZWN0QXZh
aWxhYmxlKCkKICAgICAgICAgeyAic3RhcnRQcm9maWxpbmciLCBXZWJDb3JlOjpzdGFydFByb2Zp
bGluZywga0pTUHJvcGVydHlBdHRyaWJ1dGVOb25lIH0sCiAgICAgICAgIHsgInN0b3BQcm9maWxp
bmciLCBXZWJDb3JlOjpzdG9wUHJvZmlsaW5nLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZU5vbmUgfSwK
ICAgICAgICAgeyAiY2xlYXJNZXNzYWdlcyIsIGNsZWFyTWVzc2FnZXMsIGtKU1Byb3BlcnR5QXR0
cmlidXRlTm9uZSB9LAorICAgICAgICB7ICJ0b2dnbGVOb2RlU2VhcmNoIiwgdG9nZ2xlTm9kZVNl
YXJjaCwga0pTUHJvcGVydHlBdHRyaWJ1dGVOb25lIH0sCiAgICAgICAgIHsgMCwgMCwgMCB9CiAg
ICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0luc3BlY3RvckNvbnRyb2xsZXIuaCBi
L1dlYkNvcmUvcGFnZS9JbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggNjY2N2E1ZS4uZDFhMjM4
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9X
ZWJDb3JlL3BhZ2UvSW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC00OSw2ICs0OSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIERhdGFiYXNlOwogY2xhc3MgRG9jdW1lbnRMb2FkZXI7CiBj
bGFzcyBHcmFwaGljc0NvbnRleHQ7CitjbGFzcyBIaXRUZXN0UmVzdWx0OwogY2xhc3MgSW5zcGVj
dG9yQ2xpZW50OwogY2xhc3MgSmF2YVNjcmlwdENhbGxGcmFtZTsKIGNsYXNzIE5vZGU7CkBAIC0x
MjEsNiArMTIyLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEF0dGFjaGVkV2luZG93KGJvb2wp
OwogICAgIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQgaGVpZ2h0KTsKIAor
ICAgIHZvaWQgdG9nZ2xlU2VhcmNoRm9yTm9kZUluUGFnZSgpOworICAgIGJvb2wgc2VhcmNoaW5n
Rm9yTm9kZUluUGFnZSgpIHsgcmV0dXJuIG1fc2VhcmNoaW5nRm9yTm9kZTsgfTsKKyAgICB2b2lk
IG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KGNvbnN0IEhpdFRlc3RSZXN1bHQmLCB1bnNpZ25lZCBt
b2RpZmllckZsYWdzKTsKKyAgICB2b2lkIGhhbmRsZU1vdXNlUHJlc3NPbk5vZGUoTm9kZSopOwor
CiAgICAgSlNDb250ZXh0UmVmIHNjcmlwdENvbnRleHQoKSBjb25zdCB7IHJldHVybiBtX3Njcmlw
dENvbnRleHQ7IH07CiAgICAgdm9pZCBzZXRTY3JpcHRDb250ZXh0KEpTQ29udGV4dFJlZiBjb250
ZXh0KSB7IG1fc2NyaXB0Q29udGV4dCA9IGNvbnRleHQ7IH07CiAKQEAgLTI0OCw2ICsyNTQsNyBA
QCBwcml2YXRlOgogICAgIGxvbmcgbG9uZyBtX25leHRJZGVudGlmaWVyOwogICAgIFJlZlB0cjxO
b2RlPiBtX2hpZ2hsaWdodGVkTm9kZTsKICAgICB1bnNpZ25lZCBtX2dyb3VwTGV2ZWw7CisgICAg
Ym9vbCBtX3NlYXJjaGluZ0Zvck5vZGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL0VsZW1lbnRzUGFuZWwuanMgYi9XZWJD
b3JlL3BhZ2UvaW5zcGVjdG9yL0VsZW1lbnRzUGFuZWwuanMKaW5kZXggOGRkMmQ5Zi4uMjBhYzU2
MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2luc3BlY3Rvci9FbGVtZW50c1BhbmVsLmpzCisr
KyBiL1dlYkNvcmUvcGFnZS9pbnNwZWN0b3IvRWxlbWVudHNQYW5lbC5qcwpAQCAtMSw1ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggQXBwbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBNYXR0IExpbGVrIDx3ZWJraXRAbWF0
dGxpbGVrLmNvbT4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTEsNiArNTIs
MTIgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwgPSBmdW5jdGlvbigpCiAgICAgICAgIHRo
aXMucGFuZWwudXBkYXRlU3R5bGVzKHRydWUpOwogICAgICAgICB0aGlzLnBhbmVsLnVwZGF0ZU1l
dHJpY3MoKTsKICAgICAgICAgdGhpcy5wYW5lbC51cGRhdGVQcm9wZXJ0aWVzKCk7CisKKyAgICAg
ICAgaWYgKCF0aGlzLnNlYXJjaGluZ0Zvck5vZGUpCisgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgdGhpcy5zZWFyY2hpbmdGb3JOb2RlID0gZmFsc2U7CisgICAgICAgIHRoaXMubm9kZVNl
YXJjaEJ1dHRvbi5yZW1vdmVTdHlsZUNsYXNzKCJ0b2dnbGVkLW9uIik7CiAgICAgfTsKIAogICAg
IHRoaXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy50cmVlT3V0bGluZS5lbGVtZW50
KTsKQEAgLTg0LDYgKzkxLDE0IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsID0gZnVuY3Rp
b24oKQogICAgIHRoaXMuc2lkZWJhclJlc2l6ZUVsZW1lbnQuY2xhc3NOYW1lID0gInNpZGViYXIt
cmVzaXplci12ZXJ0aWNhbCI7CiAgICAgdGhpcy5zaWRlYmFyUmVzaXplRWxlbWVudC5hZGRFdmVu
dExpc3RlbmVyKCJtb3VzZWRvd24iLCB0aGlzLnJpZ2h0U2lkZWJhclJlc2l6ZXJEcmFnU3RhcnQu
YmluZCh0aGlzKSwgZmFsc2UpOwogCisgICAgdGhpcy5ub2RlU2VhcmNoQnV0dG9uID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7CisgICAgdGhpcy5ub2RlU2VhcmNoQnV0dG9uLnRp
dGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTZWxlY3QgYW4gZWxlbWVudCBpbiB0aGUgcGFn
ZSB0byBpbnNwZWN0IGl0LiIpOworICAgIHRoaXMubm9kZVNlYXJjaEJ1dHRvbi5pZCA9ICJub2Rl
LXNlYXJjaC1zdGF0dXMtYmFyLWl0ZW0iOworICAgIHRoaXMubm9kZVNlYXJjaEJ1dHRvbi5jbGFz
c05hbWUgPSAic3RhdHVzLWJhci1pdGVtIjsKKyAgICB0aGlzLm5vZGVTZWFyY2hCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl9ub2RlU2VhcmNoQnV0dG9uQ2xpY2tlZC5iaW5k
KHRoaXMpLCBmYWxzZSk7CisKKyAgICB0aGlzLnNlYXJjaGluZ0Zvck5vZGUgPSBmYWxzZTsKKwog
ICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmNvbnRlbnRFbGVtZW50KTsKICAgICB0
aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5zaWRlYmFyRWxlbWVudCk7CiAgICAgdGhpcy5l
bGVtZW50LmFwcGVuZENoaWxkKHRoaXMuc2lkZWJhclJlc2l6ZUVsZW1lbnQpOwpAQCAtMTA2LDcg
KzEyMSw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKIAogICAg
IGdldCBzdGF0dXNCYXJJdGVtcygpCiAgICAgewotICAgICAgICByZXR1cm4gW3RoaXMuY3J1bWJz
RWxlbWVudF07CisgICAgICAgIHJldHVybiBbdGhpcy5ub2RlU2VhcmNoQnV0dG9uLCB0aGlzLmNy
dW1ic0VsZW1lbnRdOwogICAgIH0sCiAKICAgICB1cGRhdGVTdGF0dXNCYXJJdGVtczogZnVuY3Rp
b24oKQpAQCAtMTI5LDYgKzE0NCwxMSBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90
b3R5cGUgPSB7CiAgICAgICAgIFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUuaGlkZS5jYWxs
KHRoaXMpOwogICAgICAgICBXZWJJbnNwZWN0b3IuaG92ZXJlZERPTU5vZGUgPSBudWxsOwogICAg
ICAgICBXZWJJbnNwZWN0b3IuZm9yY2VIb3ZlckhpZ2hsaWdodCA9IGZhbHNlOworCisgICAgICAg
IGlmICh0aGlzLnNlYXJjaGluZ0Zvck5vZGUpIHsKKyAgICAgICAgICAgIEluc3BlY3RvckNvbnRy
b2xsZXIudG9nZ2xlTm9kZVNlYXJjaCgpOworICAgICAgICAgICAgdGhpcy5ub2RlU2VhcmNoRmlu
aXNoZWQoKTsKKyAgICAgICAgfQogICAgIH0sCiAKICAgICByZXNpemU6IGZ1bmN0aW9uKCkKQEAg
LTE0NSw2ICsxNjUsMTEgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlID0g
ewogICAgICAgICBXZWJJbnNwZWN0b3IuaG92ZXJlZERPTU5vZGUgPSBudWxsOwogICAgICAgICBX
ZWJJbnNwZWN0b3IuZm9yY2VIb3ZlckhpZ2hsaWdodCA9IGZhbHNlOwogCisgICAgICAgIGlmICh0
aGlzLnNlYXJjaGluZ0Zvck5vZGUpIHsKKyAgICAgICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIu
dG9nZ2xlTm9kZVNlYXJjaCgpOworICAgICAgICAgICAgdGhpcy5ub2RlU2VhcmNoRmluaXNoZWQo
KTsKKyAgICAgICAgfQorCiAgICAgICAgIHRoaXMucmVjZW50bHlNb2RpZmllZE5vZGVzID0gW107
CiAgICAgICAgIHRoaXMudW5yZWdpc3RlckFsbE11dGF0aW9uRXZlbnRMaXN0ZW5lcnMoKTsKIApA
QCAtODc0LDggKzg5OSwxOCBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUg
PSB7CiAgICAgICAgIHRoaXMudHJlZU91dGxpbmUudXBkYXRlU2VsZWN0aW9uKCk7CiAKICAgICAg
ICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKKyAgICB9LAorCisgICAgX25vZGVTZWFyY2hCdXR0
b25DbGlja2VkOiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIHRoaXMuc2VhcmNoaW5n
Rm9yTm9kZSA9ICF0aGlzLnNlYXJjaGluZ0Zvck5vZGU7CisgICAgICAgIEluc3BlY3RvckNvbnRy
b2xsZXIudG9nZ2xlTm9kZVNlYXJjaCgpOworCisgICAgICAgIGlmICh0aGlzLnNlYXJjaGluZ0Zv
ck5vZGUpCisgICAgICAgICAgICB0aGlzLm5vZGVTZWFyY2hCdXR0b24uYWRkU3R5bGVDbGFzcygi
dG9nZ2xlZC1vbiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aGlzLm5vZGVTZWFyY2hC
dXR0b24ucmVtb3ZlU3R5bGVDbGFzcygidG9nZ2xlZC1vbiIpOwogICAgIH0KIH0KIAogV2ViSW5z
cGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Q
YW5lbC5wcm90b3R5cGU7Ci0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9pbnNwZWN0b3IvaW5z
cGVjdG9yLmNzcyBiL1dlYkNvcmUvcGFnZS9pbnNwZWN0b3IvaW5zcGVjdG9yLmNzcwppbmRleCA0
YmZjOWI4Li4zMDc5MThkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL2luc3Bl
Y3Rvci5jc3MKKysrIGIvV2ViQ29yZS9wYWdlL2luc3BlY3Rvci9pbnNwZWN0b3IuY3NzCkBAIC0y
NzIwLDYgKzI3MjAsMjIgQEAgYm9keS5pbmFjdGl2ZSAuc2lkZWJhci10cmVlLWl0ZW0uc2VsZWN0
ZWQgewogICAgIGJhY2tncm91bmQtcG9zaXRpb246IDMycHggMjRweDsKIH0KIAorI25vZGUtc2Vh
cmNoLXN0YXR1cy1iYXItaXRlbSB7CisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKEltYWdlcy9u
b2RlU2VhcmNoQnV0dG9ucy5wbmcpOworfQorCisjbm9kZS1zZWFyY2gtc3RhdHVzLWJhci1pdGVt
OmFjdGl2ZSB7CisgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMzJweCAwOworfQorCisjbm9kZS1z
ZWFyY2gtc3RhdHVzLWJhci1pdGVtLnRvZ2dsZWQtb24geworICAgIGJhY2tncm91bmQtcG9zaXRp
b246IDAgMjRweDsKK30KKworI25vZGUtc2VhcmNoLXN0YXR1cy1iYXItaXRlbS50b2dnbGVkLW9u
OmFjdGl2ZSB7CisgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMzJweCAyNHB4OworfQorCiAucGVy
Y2VudC10aW1lLXN0YXR1cy1iYXItaXRlbSB7CiAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKElt
YWdlcy9wZXJjZW50QnV0dG9ucy5wbmcpICFpbXBvcnRhbnQ7CiB9Cg==
</data>
<flag name="review"
          id="10545"
          type_id="1"
          status="-"
          setter="dev+webkit"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23583</attachid>
            <date>2008-09-19 16:30:13 -0700</date>
            <delta_ts>2008-09-19 16:33:20 -0700</delta_ts>
            <desc>round 3</desc>
            <filename>Bug17772v3</filename>
            <type>text/plain</type>
            <size>12637</size>
            <attacher name="Matt Lilek">dev+webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTMyN2ZlZC4uZWQ5YWE3YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAwOC0wOS0xOCAgTWF0dCBMaWxlayAg
PHdlYmtpdEBtYXR0bGlsZWsuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIYXRjaGVy
LgorCisgICAgICAgIEJ1ZyAxNzc3MjogSW5zcGVjdG9yIHNob3VsZCBzdXBwb3J0IHBvaW50LWFu
ZC1jbGljayB0byBzZWxlY3QgYSBub2RlIHRvIGluc3BlY3QKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzcyCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81NzkyMzk1PgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpz
OgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6
bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50
KToKKyAgICAgICAgKiBwYWdlL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6dG9nZ2xlTm9kZVNlYXJjaCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250
cm9sbGVyOjpJbnNwZWN0b3JDb250cm9sbGVyKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rv
ckNvbnRyb2xsZXI6OnRvZ2dsZVNlYXJjaEZvck5vZGVJblBhZ2UpOgorICAgICAgICAoV2ViQ29y
ZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQpOgorICAgICAg
ICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6aGFuZGxlTW91c2VQcmVzc09uTm9kZSk6
CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9sbGVyOjp3aW5kb3dTY3JpcHRPYmpl
Y3RBdmFpbGFibGUpOgorICAgICAgICAqIHBhZ2UvSW5zcGVjdG9yQ29udHJvbGxlci5oOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6c2VhcmNoaW5nRm9yTm9kZUluUGFn
ZSk6CisgICAgICAgICogcGFnZS9pbnNwZWN0b3IvRWxlbWVudHNQYW5lbC5qczoKKyAgICAgICAg
KiBwYWdlL2luc3BlY3Rvci9JbWFnZXMvbm9kZVNlYXJjaEJ1dHRvbnMucG5nOiBBZGRlZC4KKyAg
ICAgICAgKiBwYWdlL2luc3BlY3Rvci9pbnNwZWN0b3IuY3NzOgorICAgICAgICAqIHBhZ2UvaW5z
cGVjdG9yL2luc3BlY3Rvci5qczoKKwogMjAwOC0wOS0xOCAgRGF2aWQgSHlhdHQgIDxoeWF0dEBh
cHBsZS5jb20+CiAKICAgICAgICAgTWFrZSB0aGUgY29udmVyc2lvbiBtZXRob2RzIHRoYXQgZ28g
dG8gYW5kIGZyb20gc29tZSBjb250YWluaW5nV2luZG93CmRpZmYgLS1naXQgYS9XZWJDb3JlL0Vu
Z2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1dlYkNvcmUvRW5nbGlzaC5scHJvai9s
b2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IGFhOWMwZmYuLmYwOGQ3NmIgMTAwNjQ0CkJpbmFyeSBm
aWxlcyBhL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGFuZCBiL1dl
YkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGRpZmZlcgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAgYi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAppbmRl
eCA1NzI2NTg2Li5mMTYzNzE1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcAor
KysgYi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUg
IkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJI
aXRUZXN0UmVzdWx0LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1
ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJQYXVzZWRUaW1l
b3V0cy5oIgpAQCAtMzA5LDYgKzMxMCw5IEBAIHZvaWQgQ2hyb21lOjp1cGRhdGVCYWNraW5nU3Rv
cmUoKQogdm9pZCBDaHJvbWU6Om1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KGNvbnN0IEhpdFRlc3RS
ZXN1bHQmIHJlc3VsdCwgdW5zaWduZWQgbW9kaWZpZXJGbGFncykKIHsKICAgICBtX2NsaWVudC0+
bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQocmVzdWx0LCBtb2RpZmllckZsYWdzKTsKKworICAgIGlm
IChJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3IgPSBtX3BhZ2UtPmluc3BlY3RvckNvbnRy
b2xsZXIoKSkKKyAgICAgICAgaW5zcGVjdG9yLT5tb3VzZURpZE1vdmVPdmVyRWxlbWVudChyZXN1
bHQsIG1vZGlmaWVyRmxhZ3MpOwogfQogCiB2b2lkIENocm9tZTo6c2V0VG9vbFRpcChjb25zdCBI
aXRUZXN0UmVzdWx0JiByZXN1bHQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5k
bGVyLmNwcCBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDFmYmYyZTEuLjll
ZjQ5ZGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBiL1dl
YkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVkZSAi
SFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIklt
YWdlLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIktleWJv
YXJkRXZlbnQuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiTW91c2VFdmVu
dFdpdGhIaXRUZXN0UmVzdWx0cy5oIgpAQCAtOTgxLDcgKzk4Miw3IEBAIGJvb2wgRXZlbnRIYW5k
bGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBtb3Vz
ZUV2ZW50KQogICAgIG1fbW91c2VEb3duTWF5U3RhcnRBdXRvc2Nyb2xsID0gZmFsc2U7CiAgICAg
bV9tb3VzZURvd25Qb3MgPSBtX2ZyYW1lLT52aWV3KCktPndpbmRvd1RvQ29udGVudHMobW91c2VF
dmVudC5wb3MoKSk7CiAgICAgbV9tb3VzZURvd25XYXNJblN1YmZyYW1lID0gZmFsc2U7Ci0gICAg
CisKICAgICBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzIG1ldiA9IHByZXBhcmVNb3VzZUV2
ZW50KEhpdFRlc3RSZXF1ZXN0KGZhbHNlLCB0cnVlKSwgbW91c2VFdmVudCk7CiAKICAgICBpZiAo
IW1ldi50YXJnZXROb2RlKCkpIHsKQEAgLTk5MSw2ICs5OTIsMTMgQEAgYm9vbCBFdmVudEhhbmRs
ZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIG1vdXNl
RXZlbnQpCiAKICAgICBtX21vdXNlUHJlc3NOb2RlID0gbWV2LnRhcmdldE5vZGUoKTsKIAorICAg
IEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvciA9IG1fZnJhbWUtPnBhZ2UoKS0+aW5zcGVj
dG9yQ29udHJvbGxlcigpOworICAgIGlmIChpbnNwZWN0b3IgJiYgaW5zcGVjdG9yLT5lbmFibGVk
KCkgJiYgaW5zcGVjdG9yLT5zZWFyY2hpbmdGb3JOb2RlSW5QYWdlKCkpIHsKKyAgICAgICAgaW5z
cGVjdG9yLT5oYW5kbGVNb3VzZVByZXNzT25Ob2RlKG1fbW91c2VQcmVzc05vZGUuZ2V0KCkpOwor
ICAgICAgICBpbnZhbGlkYXRlQ2xpY2soKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQor
CiAgICAgRnJhbWUqIHN1YmZyYW1lID0gc3ViZnJhbWVGb3JUYXJnZXROb2RlKG1ldi50YXJnZXRO
b2RlKCkpOwogICAgIGlmIChzdWJmcmFtZSAmJiBwYXNzTW91c2VQcmVzc0V2ZW50VG9TdWJmcmFt
ZShtZXYsIHN1YmZyYW1lKSkgewogICAgICAgICAvLyBTdGFydCBjYXB0dXJpbmcgZnV0dXJlIGV2
ZW50cyBmb3IgdGhpcyBmcmFtZS4gIFdlIG9ubHkgZG8gdGhpcyBpZiB3ZSBkaWRuJ3QgY2xlYXIK
QEAgLTEwMDAsNyArMTAwOCw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVByZXNz
RXZlbnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBtb3VzZUV2ZW50KQogICAgICAgICBpbnZh
bGlkYXRlQ2xpY2soKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotIAorCiAjaWYgUExB
VEZPUk0oV0lOKQogICAgIGlmIChtX2ZyYW1lLT5wYWdlKCktPm1haW5GcmFtZSgpLT5ldmVudEhh
bmRsZXIoKS0+cGFuU2Nyb2xsSW5Qcm9ncmVzcygpIHx8IG1fYXV0b3Njcm9sbEluUHJvZ3Jlc3Mp
IHsKICAgICAgICAgc3RvcEF1dG9zY3JvbGxUaW1lcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
YWdlL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9wYWdlL0luc3BlY3RvckNvbnRy
b2xsZXIuY3BwCmluZGV4IGQxOGY4YmYuLmJlZWQwNDcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFn
ZS9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvSW5zcGVjdG9yQ29u
dHJvbGxlci5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNywgMjAw
OCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgg
TWF0dCBMaWxlayA8d2Via2l0QG1hdHRsaWxlay5jb20+CiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTQ0LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJGcmFtZVRyZWUuaCIKICNpbmNs
dWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbmNsdWRl
ICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiSFRNTEZyYW1lT3duZXJFbGVtZW50LmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiSmF2YVNjcmlwdENhbGxGcmFt
ZS5oIgpAQCAtMTAzOSw2ICsxMDQxLDE1IEBAIHN0YXRpYyBKU1ZhbHVlUmVmIHN0b3BQcm9maWxp
bmcoSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgLypmdW5jdGlvbiovLCBKU09iCiAgICAg
cmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGN0eCk7CiB9CiAKK3N0YXRpYyBKU1ZhbHVlUmVm
IHRvZ2dsZU5vZGVTZWFyY2goSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgLypmdW5jdGlv
biovLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgLyphcmd1bWVudF9jb3VudCovLCBj
b25zdCBKU1ZhbHVlUmVmW10gLyphcmd1bWVudHMqLywgSlNWYWx1ZVJlZiogLypleGNlcHRpb24q
LykKK3sKKyAgICBJbnNwZWN0b3JDb250cm9sbGVyKiBjb250cm9sbGVyID0gcmVpbnRlcnByZXRf
Y2FzdDxJbnNwZWN0b3JDb250cm9sbGVyKj4oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3Qp
KTsKKyAgICBpZiAoY29udHJvbGxlcikKKyAgICAgICAgY29udHJvbGxlci0+dG9nZ2xlU2VhcmNo
Rm9yTm9kZUluUGFnZSgpOworCisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGN0eCk7
Cit9CisKIC8vIEluc3BlY3RvckNvbnRyb2xsZXIgQ2xhc3MKIAogSW5zcGVjdG9yQ29udHJvbGxl
cjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdlKiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGNsaWVu
dCkKQEAgLTEwNTUsNiArMTA2Niw3IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNv
bnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBjbGllbnQpCiAgICAgLCBtX3No
b3dBZnRlclZpc2libGUoRWxlbWVudHNQYW5lbCkKICAgICAsIG1fbmV4dElkZW50aWZpZXIoLTIp
CiAgICAgLCBtX2dyb3VwTGV2ZWwoMCkKKyAgICAsIG1fc2VhcmNoaW5nRm9yTm9kZShmYWxzZSkK
IHsKICAgICBBU1NFUlRfQVJHKHBhZ2UsIHBhZ2UpOwogICAgIEFTU0VSVF9BUkcoY2xpZW50LCBj
bGllbnQpOwpAQCAtMTMzNSw2ICsxMzQ3LDQwIEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6
c2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQgaGVpZ2h0KQogICAgIG1fY2xpZW50LT5z
ZXRBdHRhY2hlZFdpbmRvd0hlaWdodChoZWlnaHQpOwogfQogCit2b2lkIEluc3BlY3RvckNvbnRy
b2xsZXI6OnRvZ2dsZVNlYXJjaEZvck5vZGVJblBhZ2UoKQoreworICAgIGlmICghZW5hYmxlZCgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBtX3NlYXJjaGluZ0Zvck5vZGUgPSAhbV9zZWFyY2hp
bmdGb3JOb2RlOworICAgIGlmICghbV9zZWFyY2hpbmdGb3JOb2RlKQorICAgICAgICBoaWRlSGln
aGxpZ2h0KCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6bW91c2VEaWRNb3ZlT3Zl
ckVsZW1lbnQoY29uc3QgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCB1bnNpZ25lZCBtb2RpZmllckZs
YWdzKQoreworICAgIGlmICghZW5hYmxlZCgpIHx8ICFtX3NlYXJjaGluZ0Zvck5vZGUpCisgICAg
ICAgIHJldHVybjsKKworICAgIE5vZGUqIG5vZGUgPSByZXN1bHQuaW5uZXJOb2RlKCk7CisgICAg
aWYgKG5vZGUpCisgICAgICAgIGhpZ2hsaWdodChub2RlKTsKK30KKwordm9pZCBJbnNwZWN0b3JD
b250cm9sbGVyOjpoYW5kbGVNb3VzZVByZXNzT25Ob2RlKE5vZGUqIG5vZGUpCit7CisgICAgaWYg
KCFlbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIEFTU0VSVChtX3NlYXJjaGluZ0Zv
ck5vZGUpOworICAgIEFTU0VSVChub2RlKTsKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJldHVy
bjsKKworICAgIGluc3BlY3Qobm9kZSk7CisgICAgbV9zZWFyY2hpbmdGb3JOb2RlID0gIW1fc2Vh
cmNoaW5nRm9yTm9kZTsKK30KKwogdm9pZCBJbnNwZWN0b3JDb250cm9sbGVyOjppbnNwZWN0ZWRX
aW5kb3dTY3JpcHRPYmplY3RDbGVhcmVkKEZyYW1lKiBmcmFtZSkKIHsKICAgICBpZiAoIWVuYWJs
ZWQoKSB8fCAhbV9zY3JpcHRDb250ZXh0IHx8ICFtX3NjcmlwdE9iamVjdCkKQEAgLTE0MDMsNiAr
MTQ0OSw3IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6d2luZG93U2NyaXB0T2JqZWN0QXZh
aWxhYmxlKCkKICAgICAgICAgeyAic3RhcnRQcm9maWxpbmciLCBXZWJDb3JlOjpzdGFydFByb2Zp
bGluZywga0pTUHJvcGVydHlBdHRyaWJ1dGVOb25lIH0sCiAgICAgICAgIHsgInN0b3BQcm9maWxp
bmciLCBXZWJDb3JlOjpzdG9wUHJvZmlsaW5nLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZU5vbmUgfSwK
ICAgICAgICAgeyAiY2xlYXJNZXNzYWdlcyIsIGNsZWFyTWVzc2FnZXMsIGtKU1Byb3BlcnR5QXR0
cmlidXRlTm9uZSB9LAorICAgICAgICB7ICJ0b2dnbGVOb2RlU2VhcmNoIiwgdG9nZ2xlTm9kZVNl
YXJjaCwga0pTUHJvcGVydHlBdHRyaWJ1dGVOb25lIH0sCiAgICAgICAgIHsgMCwgMCwgMCB9CiAg
ICAgfTsKIApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wYWdlL0luc3BlY3RvckNvbnRyb2xsZXIuaCBi
L1dlYkNvcmUvcGFnZS9JbnNwZWN0b3JDb250cm9sbGVyLmgKaW5kZXggNjY2N2E1ZS4uZDFhMjM4
MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0luc3BlY3RvckNvbnRyb2xsZXIuaAorKysgYi9X
ZWJDb3JlL3BhZ2UvSW5zcGVjdG9yQ29udHJvbGxlci5oCkBAIC00OSw2ICs0OSw3IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIGNsYXNzIERhdGFiYXNlOwogY2xhc3MgRG9jdW1lbnRMb2FkZXI7CiBj
bGFzcyBHcmFwaGljc0NvbnRleHQ7CitjbGFzcyBIaXRUZXN0UmVzdWx0OwogY2xhc3MgSW5zcGVj
dG9yQ2xpZW50OwogY2xhc3MgSmF2YVNjcmlwdENhbGxGcmFtZTsKIGNsYXNzIE5vZGU7CkBAIC0x
MjEsNiArMTIyLDExIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEF0dGFjaGVkV2luZG93KGJvb2wp
OwogICAgIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQgaGVpZ2h0KTsKIAor
ICAgIHZvaWQgdG9nZ2xlU2VhcmNoRm9yTm9kZUluUGFnZSgpOworICAgIGJvb2wgc2VhcmNoaW5n
Rm9yTm9kZUluUGFnZSgpIHsgcmV0dXJuIG1fc2VhcmNoaW5nRm9yTm9kZTsgfTsKKyAgICB2b2lk
IG1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KGNvbnN0IEhpdFRlc3RSZXN1bHQmLCB1bnNpZ25lZCBt
b2RpZmllckZsYWdzKTsKKyAgICB2b2lkIGhhbmRsZU1vdXNlUHJlc3NPbk5vZGUoTm9kZSopOwor
CiAgICAgSlNDb250ZXh0UmVmIHNjcmlwdENvbnRleHQoKSBjb25zdCB7IHJldHVybiBtX3Njcmlw
dENvbnRleHQ7IH07CiAgICAgdm9pZCBzZXRTY3JpcHRDb250ZXh0KEpTQ29udGV4dFJlZiBjb250
ZXh0KSB7IG1fc2NyaXB0Q29udGV4dCA9IGNvbnRleHQ7IH07CiAKQEAgLTI0OCw2ICsyNTQsNyBA
QCBwcml2YXRlOgogICAgIGxvbmcgbG9uZyBtX25leHRJZGVudGlmaWVyOwogICAgIFJlZlB0cjxO
b2RlPiBtX2hpZ2hsaWdodGVkTm9kZTsKICAgICB1bnNpZ25lZCBtX2dyb3VwTGV2ZWw7CisgICAg
Ym9vbCBtX3NlYXJjaGluZ0Zvck5vZGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL0VsZW1lbnRzUGFuZWwuanMgYi9XZWJD
b3JlL3BhZ2UvaW5zcGVjdG9yL0VsZW1lbnRzUGFuZWwuanMKaW5kZXggOGRkMmQ5Zi4uMjBhYzU2
MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL2luc3BlY3Rvci9FbGVtZW50c1BhbmVsLmpzCisr
KyBiL1dlYkNvcmUvcGFnZS9pbnNwZWN0b3IvRWxlbWVudHNQYW5lbC5qcwpAQCAtMSw1ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDcsIDIwMDggQXBwbGUgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBNYXR0IExpbGVrIDx3ZWJraXRAbWF0
dGxpbGVrLmNvbT4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTEsNiArNTIs
MTIgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwgPSBmdW5jdGlvbigpCiAgICAgICAgIHRo
aXMucGFuZWwudXBkYXRlU3R5bGVzKHRydWUpOwogICAgICAgICB0aGlzLnBhbmVsLnVwZGF0ZU1l
dHJpY3MoKTsKICAgICAgICAgdGhpcy5wYW5lbC51cGRhdGVQcm9wZXJ0aWVzKCk7CisKKyAgICAg
ICAgaWYgKCF0aGlzLnNlYXJjaGluZ0Zvck5vZGUpCisgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgdGhpcy5zZWFyY2hpbmdGb3JOb2RlID0gZmFsc2U7CisgICAgICAgIHRoaXMubm9kZVNl
YXJjaEJ1dHRvbi5yZW1vdmVTdHlsZUNsYXNzKCJ0b2dnbGVkLW9uIik7CiAgICAgfTsKIAogICAg
IHRoaXMuY29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy50cmVlT3V0bGluZS5lbGVtZW50
KTsKQEAgLTg0LDYgKzkxLDE0IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsID0gZnVuY3Rp
b24oKQogICAgIHRoaXMuc2lkZWJhclJlc2l6ZUVsZW1lbnQuY2xhc3NOYW1lID0gInNpZGViYXIt
cmVzaXplci12ZXJ0aWNhbCI7CiAgICAgdGhpcy5zaWRlYmFyUmVzaXplRWxlbWVudC5hZGRFdmVu
dExpc3RlbmVyKCJtb3VzZWRvd24iLCB0aGlzLnJpZ2h0U2lkZWJhclJlc2l6ZXJEcmFnU3RhcnQu
YmluZCh0aGlzKSwgZmFsc2UpOwogCisgICAgdGhpcy5ub2RlU2VhcmNoQnV0dG9uID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgiYnV0dG9uIik7CisgICAgdGhpcy5ub2RlU2VhcmNoQnV0dG9uLnRp
dGxlID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTZWxlY3QgYW4gZWxlbWVudCBpbiB0aGUgcGFn
ZSB0byBpbnNwZWN0IGl0LiIpOworICAgIHRoaXMubm9kZVNlYXJjaEJ1dHRvbi5pZCA9ICJub2Rl
LXNlYXJjaC1zdGF0dXMtYmFyLWl0ZW0iOworICAgIHRoaXMubm9kZVNlYXJjaEJ1dHRvbi5jbGFz
c05hbWUgPSAic3RhdHVzLWJhci1pdGVtIjsKKyAgICB0aGlzLm5vZGVTZWFyY2hCdXR0b24uYWRk
RXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0aGlzLl9ub2RlU2VhcmNoQnV0dG9uQ2xpY2tlZC5iaW5k
KHRoaXMpLCBmYWxzZSk7CisKKyAgICB0aGlzLnNlYXJjaGluZ0Zvck5vZGUgPSBmYWxzZTsKKwog
ICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmNvbnRlbnRFbGVtZW50KTsKICAgICB0
aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5zaWRlYmFyRWxlbWVudCk7CiAgICAgdGhpcy5l
bGVtZW50LmFwcGVuZENoaWxkKHRoaXMuc2lkZWJhclJlc2l6ZUVsZW1lbnQpOwpAQCAtMTA2LDcg
KzEyMSw3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKIAogICAg
IGdldCBzdGF0dXNCYXJJdGVtcygpCiAgICAgewotICAgICAgICByZXR1cm4gW3RoaXMuY3J1bWJz
RWxlbWVudF07CisgICAgICAgIHJldHVybiBbdGhpcy5ub2RlU2VhcmNoQnV0dG9uLCB0aGlzLmNy
dW1ic0VsZW1lbnRdOwogICAgIH0sCiAKICAgICB1cGRhdGVTdGF0dXNCYXJJdGVtczogZnVuY3Rp
b24oKQpAQCAtMTI5LDYgKzE0NCwxMSBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90
b3R5cGUgPSB7CiAgICAgICAgIFdlYkluc3BlY3Rvci5QYW5lbC5wcm90b3R5cGUuaGlkZS5jYWxs
KHRoaXMpOwogICAgICAgICBXZWJJbnNwZWN0b3IuaG92ZXJlZERPTU5vZGUgPSBudWxsOwogICAg
ICAgICBXZWJJbnNwZWN0b3IuZm9yY2VIb3ZlckhpZ2hsaWdodCA9IGZhbHNlOworCisgICAgICAg
IGlmICh0aGlzLnNlYXJjaGluZ0Zvck5vZGUpIHsKKyAgICAgICAgICAgIEluc3BlY3RvckNvbnRy
b2xsZXIudG9nZ2xlTm9kZVNlYXJjaCgpOworICAgICAgICAgICAgdGhpcy5ub2RlU2VhcmNoRmlu
aXNoZWQoKTsKKyAgICAgICAgfQogICAgIH0sCiAKICAgICByZXNpemU6IGZ1bmN0aW9uKCkKQEAg
LTE0NSw2ICsxNjUsMTEgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlID0g
ewogICAgICAgICBXZWJJbnNwZWN0b3IuaG92ZXJlZERPTU5vZGUgPSBudWxsOwogICAgICAgICBX
ZWJJbnNwZWN0b3IuZm9yY2VIb3ZlckhpZ2hsaWdodCA9IGZhbHNlOwogCisgICAgICAgIGlmICh0
aGlzLnNlYXJjaGluZ0Zvck5vZGUpIHsKKyAgICAgICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIu
dG9nZ2xlTm9kZVNlYXJjaCgpOworICAgICAgICAgICAgdGhpcy5ub2RlU2VhcmNoRmluaXNoZWQo
KTsKKyAgICAgICAgfQorCiAgICAgICAgIHRoaXMucmVjZW50bHlNb2RpZmllZE5vZGVzID0gW107
CiAgICAgICAgIHRoaXMudW5yZWdpc3RlckFsbE11dGF0aW9uRXZlbnRMaXN0ZW5lcnMoKTsKIApA
QCAtODc0LDggKzg5OSwxOCBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5cGUg
PSB7CiAgICAgICAgIHRoaXMudHJlZU91dGxpbmUudXBkYXRlU2VsZWN0aW9uKCk7CiAKICAgICAg
ICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKKyAgICB9LAorCisgICAgX25vZGVTZWFyY2hCdXR0
b25DbGlja2VkOiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIHRoaXMuc2VhcmNoaW5n
Rm9yTm9kZSA9ICF0aGlzLnNlYXJjaGluZ0Zvck5vZGU7CisgICAgICAgIEluc3BlY3RvckNvbnRy
b2xsZXIudG9nZ2xlTm9kZVNlYXJjaCgpOworCisgICAgICAgIGlmICh0aGlzLnNlYXJjaGluZ0Zv
ck5vZGUpCisgICAgICAgICAgICB0aGlzLm5vZGVTZWFyY2hCdXR0b24uYWRkU3R5bGVDbGFzcygi
dG9nZ2xlZC1vbiIpOworICAgICAgICBlbHNlCisgICAgICAgICAgICB0aGlzLm5vZGVTZWFyY2hC
dXR0b24ucmVtb3ZlU3R5bGVDbGFzcygidG9nZ2xlZC1vbiIpOwogICAgIH0KIH0KIAogV2ViSW5z
cGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlLl9fcHJvdG9fXyA9IFdlYkluc3BlY3Rvci5Q
YW5lbC5wcm90b3R5cGU7Ci0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9pbnNwZWN0b3IvaW5z
cGVjdG9yLmNzcyBiL1dlYkNvcmUvcGFnZS9pbnNwZWN0b3IvaW5zcGVjdG9yLmNzcwppbmRleCA0
YmZjOWI4Li4zMDc5MThkIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL2luc3Bl
Y3Rvci5jc3MKKysrIGIvV2ViQ29yZS9wYWdlL2luc3BlY3Rvci9pbnNwZWN0b3IuY3NzCkBAIC0y
NzIwLDYgKzI3MjAsMjIgQEAgYm9keS5pbmFjdGl2ZSAuc2lkZWJhci10cmVlLWl0ZW0uc2VsZWN0
ZWQgewogICAgIGJhY2tncm91bmQtcG9zaXRpb246IDMycHggMjRweDsKIH0KIAorI25vZGUtc2Vh
cmNoLXN0YXR1cy1iYXItaXRlbSB7CisgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKEltYWdlcy9u
b2RlU2VhcmNoQnV0dG9ucy5wbmcpOworfQorCisjbm9kZS1zZWFyY2gtc3RhdHVzLWJhci1pdGVt
OmFjdGl2ZSB7CisgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMzJweCAwOworfQorCisjbm9kZS1z
ZWFyY2gtc3RhdHVzLWJhci1pdGVtLnRvZ2dsZWQtb24geworICAgIGJhY2tncm91bmQtcG9zaXRp
b246IDAgMjRweDsKK30KKworI25vZGUtc2VhcmNoLXN0YXR1cy1iYXItaXRlbS50b2dnbGVkLW9u
OmFjdGl2ZSB7CisgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMzJweCAyNHB4OworfQorCiAucGVy
Y2VudC10aW1lLXN0YXR1cy1iYXItaXRlbSB7CiAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKElt
YWdlcy9wZXJjZW50QnV0dG9ucy5wbmcpICFpbXBvcnRhbnQ7CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23584</attachid>
            <date>2008-09-19 16:33:20 -0700</date>
            <delta_ts>2008-09-19 16:42:18 -0700</delta_ts>
            <desc>round 3</desc>
            <filename>Bug17772v3</filename>
            <type>text/plain</type>
            <size>13576</size>
            <attacher name="Matt Lilek">dev+webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YjAzYTkzOC4uYmE0NjgxYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAwOC0wOS0xOSAgTWF0dCBMaWxlayAg
PHdlYmtpdEBtYXR0bGlsZWsuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IFRpbSBIYXRjaGVy
LgorCisgICAgICAgIEJ1ZyAxNzc3MjogSW5zcGVjdG9yIHNob3VsZCBzdXBwb3J0IHBvaW50LWFu
ZC1jbGljayB0byBzZWxlY3QgYSBub2RlIHRvIGluc3BlY3QKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzcyCisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS81NzkyMzk1PgorCisgICAgICAgICogRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpz
OgorICAgICAgICAqIHBhZ2UvQ2hyb21lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNocm9tZTo6
bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQpOgorICAgICAgICAqIHBhZ2UvRXZlbnRIYW5kbGVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50SGFuZGxlcjo6aGFuZGxlTW91c2VQcmVzc0V2ZW50
KToKKyAgICAgICAgKiBwYWdlL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6dG9nZ2xlTm9kZVNlYXJjaCk6CisgICAgICAgIChXZWJDb3JlOjpzZWFyY2hpbmdGb3JO
b2RlKToKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3RvckNv
bnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ29udHJvbGxlcjo6dG9nZ2xl
U2VhcmNoRm9yTm9kZUluUGFnZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JDb250cm9s
bGVyOjptb3VzZURpZE1vdmVPdmVyRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0
b3JDb250cm9sbGVyOjpoYW5kbGVNb3VzZVByZXNzT25Ob2RlKToKKyAgICAgICAgKFdlYkNvcmU6
Okluc3BlY3RvckNvbnRyb2xsZXI6OndpbmRvd1NjcmlwdE9iamVjdEF2YWlsYWJsZSk6CisgICAg
ICAgICogcGFnZS9JbnNwZWN0b3JDb250cm9sbGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpJbnNw
ZWN0b3JDb250cm9sbGVyOjpzZWFyY2hpbmdGb3JOb2RlSW5QYWdlKToKKyAgICAgICAgKiBwYWdl
L2luc3BlY3Rvci9FbGVtZW50c1BhbmVsLmpzOgorICAgICAgICAqIHBhZ2UvaW5zcGVjdG9yL0lt
YWdlcy9ub2RlU2VhcmNoQnV0dG9ucy5wbmc6IEFkZGVkLgorICAgICAgICAqIHBhZ2UvaW5zcGVj
dG9yL2luc3BlY3Rvci5jc3M6CisKIDIwMDgtMDktMTkgIFN0ZXZlIEZhbGtlbmJ1cmcgIDxzZmFs
a2VuQGFwcGxlLmNvbT4KIAogICAgICAgICBSb2xsIG91dCByMzY2MjYuIEl0IGlzIGNhdXNpbmcg
dmFyaWFuY2UgaW4gU3VuU3BpZGVyIG51bWJlcnMgb24gWFAuCmRpZmYgLS1naXQgYS9XZWJDb3Jl
L0VuZ2xpc2gubHByb2ovbG9jYWxpemVkU3RyaW5ncy5qcyBiL1dlYkNvcmUvRW5nbGlzaC5scHJv
ai9sb2NhbGl6ZWRTdHJpbmdzLmpzCmluZGV4IDkwMmNiMTYuLmUwYzRkZWQgMTAwNjQ0CkJpbmFy
eSBmaWxlcyBhL1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGFuZCBi
L1dlYkNvcmUvRW5nbGlzaC5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzIGRpZmZlcgpkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9wYWdlL0Nocm9tZS5jcHAgYi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApp
bmRleCA1NzI2NTg2Li5mMTYzNzE1IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNw
cAorKysgYi9XZWJDb3JlL3BhZ2UvQ2hyb21lLmNwcApAQCAtMjksNiArMjksNyBAQAogI2luY2x1
ZGUgIkhUTUxJbnB1dEVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRl
ICJIaXRUZXN0UmVzdWx0LmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2lu
Y2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJQYWdlR3JvdXAuaCIKICNpbmNsdWRlICJQYXVzZWRU
aW1lb3V0cy5oIgpAQCAtMzA5LDYgKzMxMCw5IEBAIHZvaWQgQ2hyb21lOjp1cGRhdGVCYWNraW5n
U3RvcmUoKQogdm9pZCBDaHJvbWU6Om1vdXNlRGlkTW92ZU92ZXJFbGVtZW50KGNvbnN0IEhpdFRl
c3RSZXN1bHQmIHJlc3VsdCwgdW5zaWduZWQgbW9kaWZpZXJGbGFncykKIHsKICAgICBtX2NsaWVu
dC0+bW91c2VEaWRNb3ZlT3ZlckVsZW1lbnQocmVzdWx0LCBtb2RpZmllckZsYWdzKTsKKworICAg
IGlmIChJbnNwZWN0b3JDb250cm9sbGVyKiBpbnNwZWN0b3IgPSBtX3BhZ2UtPmluc3BlY3RvckNv
bnRyb2xsZXIoKSkKKyAgICAgICAgaW5zcGVjdG9yLT5tb3VzZURpZE1vdmVPdmVyRWxlbWVudChy
ZXN1bHQsIG1vZGlmaWVyRmxhZ3MpOwogfQogCiB2b2lkIENocm9tZTo6c2V0VG9vbFRpcChjb25z
dCBIaXRUZXN0UmVzdWx0JiByZXN1bHQpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcCBiL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCmluZGV4IDFmYmYyZTEu
LjllZjQ5ZGUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCisrKyBi
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC00OSw2ICs0OSw3IEBACiAjaW5jbHVk
ZSAiSFRNTElucHV0RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUg
IkltYWdlLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIktl
eWJvYXJkRXZlbnQuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiTW91c2VF
dmVudFdpdGhIaXRUZXN0UmVzdWx0cy5oIgpAQCAtOTgxLDcgKzk4Miw3IEBAIGJvb2wgRXZlbnRI
YW5kbGVyOjpoYW5kbGVNb3VzZVByZXNzRXZlbnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBt
b3VzZUV2ZW50KQogICAgIG1fbW91c2VEb3duTWF5U3RhcnRBdXRvc2Nyb2xsID0gZmFsc2U7CiAg
ICAgbV9tb3VzZURvd25Qb3MgPSBtX2ZyYW1lLT52aWV3KCktPndpbmRvd1RvQ29udGVudHMobW91
c2VFdmVudC5wb3MoKSk7CiAgICAgbV9tb3VzZURvd25XYXNJblN1YmZyYW1lID0gZmFsc2U7Ci0g
ICAgCisKICAgICBNb3VzZUV2ZW50V2l0aEhpdFRlc3RSZXN1bHRzIG1ldiA9IHByZXBhcmVNb3Vz
ZUV2ZW50KEhpdFRlc3RSZXF1ZXN0KGZhbHNlLCB0cnVlKSwgbW91c2VFdmVudCk7CiAKICAgICBp
ZiAoIW1ldi50YXJnZXROb2RlKCkpIHsKQEAgLTk5MSw2ICs5OTIsMTMgQEAgYm9vbCBFdmVudEhh
bmRsZXI6OmhhbmRsZU1vdXNlUHJlc3NFdmVudChjb25zdCBQbGF0Zm9ybU1vdXNlRXZlbnQmIG1v
dXNlRXZlbnQpCiAKICAgICBtX21vdXNlUHJlc3NOb2RlID0gbWV2LnRhcmdldE5vZGUoKTsKIAor
ICAgIEluc3BlY3RvckNvbnRyb2xsZXIqIGluc3BlY3RvciA9IG1fZnJhbWUtPnBhZ2UoKS0+aW5z
cGVjdG9yQ29udHJvbGxlcigpOworICAgIGlmIChpbnNwZWN0b3IgJiYgaW5zcGVjdG9yLT5lbmFi
bGVkKCkgJiYgaW5zcGVjdG9yLT5zZWFyY2hpbmdGb3JOb2RlSW5QYWdlKCkpIHsKKyAgICAgICAg
aW5zcGVjdG9yLT5oYW5kbGVNb3VzZVByZXNzT25Ob2RlKG1fbW91c2VQcmVzc05vZGUuZ2V0KCkp
OworICAgICAgICBpbnZhbGlkYXRlQ2xpY2soKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorCiAgICAgRnJhbWUqIHN1YmZyYW1lID0gc3ViZnJhbWVGb3JUYXJnZXROb2RlKG1ldi50YXJn
ZXROb2RlKCkpOwogICAgIGlmIChzdWJmcmFtZSAmJiBwYXNzTW91c2VQcmVzc0V2ZW50VG9TdWJm
cmFtZShtZXYsIHN1YmZyYW1lKSkgewogICAgICAgICAvLyBTdGFydCBjYXB0dXJpbmcgZnV0dXJl
IGV2ZW50cyBmb3IgdGhpcyBmcmFtZS4gIFdlIG9ubHkgZG8gdGhpcyBpZiB3ZSBkaWRuJ3QgY2xl
YXIKQEAgLTEwMDAsNyArMTAwOCw3IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpoYW5kbGVNb3VzZVBy
ZXNzRXZlbnQoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBtb3VzZUV2ZW50KQogICAgICAgICBp
bnZhbGlkYXRlQ2xpY2soKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQotIAorCiAjaWYg
UExBVEZPUk0oV0lOKQogICAgIGlmIChtX2ZyYW1lLT5wYWdlKCktPm1haW5GcmFtZSgpLT5ldmVu
dEhhbmRsZXIoKS0+cGFuU2Nyb2xsSW5Qcm9ncmVzcygpIHx8IG1fYXV0b3Njcm9sbEluUHJvZ3Jl
c3MpIHsKICAgICAgICAgc3RvcEF1dG9zY3JvbGxUaW1lcigpOwpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wYWdlL0luc3BlY3RvckNvbnRyb2xsZXIuY3BwIGIvV2ViQ29yZS9wYWdlL0luc3BlY3RvckNv
bnRyb2xsZXIuY3BwCmluZGV4IGQxOGY4YmYuLjk2ZTIyZTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUv
cGFnZS9JbnNwZWN0b3JDb250cm9sbGVyLmNwcAorKysgYi9XZWJDb3JlL3BhZ2UvSW5zcGVjdG9y
Q29udHJvbGxlci5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDA3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwNywg
MjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDggTWF0dCBMaWxlayA8d2Via2l0QG1hdHRsaWxlay5jb20+CiAgKgogICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKQEAgLTQ0LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJGcmFtZVRyZWUuaCIKICNp
bmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKKyNpbmNs
dWRlICJIaXRUZXN0UmVzdWx0LmgiCiAjaW5jbHVkZSAiSFRNTEZyYW1lT3duZXJFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiSW5zcGVjdG9yQ2xpZW50LmgiCiAjaW5jbHVkZSAiSmF2YVNjcmlwdENhbGxG
cmFtZS5oIgpAQCAtMTAzOSw2ICsxMDQxLDI0IEBAIHN0YXRpYyBKU1ZhbHVlUmVmIHN0b3BQcm9m
aWxpbmcoSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgLypmdW5jdGlvbiovLCBKU09iCiAg
ICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGN0eCk7CiB9CiAKK3N0YXRpYyBKU1ZhbHVl
UmVmIHRvZ2dsZU5vZGVTZWFyY2goSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgLypmdW5j
dGlvbiovLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgLyphcmd1bWVudF9jb3VudCov
LCBjb25zdCBKU1ZhbHVlUmVmW10gLyphcmd1bWVudHMqLywgSlNWYWx1ZVJlZiogLypleGNlcHRp
b24qLykKK3sKKyAgICBJbnNwZWN0b3JDb250cm9sbGVyKiBjb250cm9sbGVyID0gcmVpbnRlcnBy
ZXRfY2FzdDxJbnNwZWN0b3JDb250cm9sbGVyKj4oSlNPYmplY3RHZXRQcml2YXRlKHRoaXNPYmpl
Y3QpKTsKKyAgICBpZiAoY29udHJvbGxlcikKKyAgICAgICAgY29udHJvbGxlci0+dG9nZ2xlU2Vh
cmNoRm9yTm9kZUluUGFnZSgpOworCisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGN0
eCk7Cit9CisgICAgCitzdGF0aWMgSlNWYWx1ZVJlZiBzZWFyY2hpbmdGb3JOb2RlKEpTQ29udGV4
dFJlZiBjdHgsIEpTT2JqZWN0UmVmIC8qZnVuY3Rpb24qLywgSlNPYmplY3RSZWYgdGhpc09iamVj
dCwgc2l6ZV90IC8qYXJndW1lbnRDb3VudCovLCBjb25zdCBKU1ZhbHVlUmVmW10gLyphcmd1bWVu
dHMqLywgSlNWYWx1ZVJlZiogLypleGNlcHRpb24qLykKK3sKKyAgICBJbnNwZWN0b3JDb250cm9s
bGVyKiBjb250cm9sbGVyID0gcmVpbnRlcnByZXRfY2FzdDxJbnNwZWN0b3JDb250cm9sbGVyKj4o
SlNPYmplY3RHZXRQcml2YXRlKHRoaXNPYmplY3QpKTsKKyAgICBpZiAoIWNvbnRyb2xsZXIpCisg
ICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjdHgpOworCisgICAgcmV0dXJuIEpT
VmFsdWVNYWtlQm9vbGVhbihjdHgsIGNvbnRyb2xsZXItPnNlYXJjaGluZ0Zvck5vZGVJblBhZ2Uo
KSk7Cit9CisKIC8vIEluc3BlY3RvckNvbnRyb2xsZXIgQ2xhc3MKIAogSW5zcGVjdG9yQ29udHJv
bGxlcjo6SW5zcGVjdG9yQ29udHJvbGxlcihQYWdlKiBwYWdlLCBJbnNwZWN0b3JDbGllbnQqIGNs
aWVudCkKQEAgLTEwNTUsNiArMTA3NSw3IEBAIEluc3BlY3RvckNvbnRyb2xsZXI6Okluc3BlY3Rv
ckNvbnRyb2xsZXIoUGFnZSogcGFnZSwgSW5zcGVjdG9yQ2xpZW50KiBjbGllbnQpCiAgICAgLCBt
X3Nob3dBZnRlclZpc2libGUoRWxlbWVudHNQYW5lbCkKICAgICAsIG1fbmV4dElkZW50aWZpZXIo
LTIpCiAgICAgLCBtX2dyb3VwTGV2ZWwoMCkKKyAgICAsIG1fc2VhcmNoaW5nRm9yTm9kZShmYWxz
ZSkKIHsKICAgICBBU1NFUlRfQVJHKHBhZ2UsIHBhZ2UpOwogICAgIEFTU0VSVF9BUkcoY2xpZW50
LCBjbGllbnQpOwpAQCAtMTMzNSw2ICsxMzU2LDQwIEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxl
cjo6c2V0QXR0YWNoZWRXaW5kb3dIZWlnaHQodW5zaWduZWQgaGVpZ2h0KQogICAgIG1fY2xpZW50
LT5zZXRBdHRhY2hlZFdpbmRvd0hlaWdodChoZWlnaHQpOwogfQogCit2b2lkIEluc3BlY3RvckNv
bnRyb2xsZXI6OnRvZ2dsZVNlYXJjaEZvck5vZGVJblBhZ2UoKQoreworICAgIGlmICghZW5hYmxl
ZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX3NlYXJjaGluZ0Zvck5vZGUgPSAhbV9zZWFy
Y2hpbmdGb3JOb2RlOworICAgIGlmICghbV9zZWFyY2hpbmdGb3JOb2RlKQorICAgICAgICBoaWRl
SGlnaGxpZ2h0KCk7Cit9CisKK3ZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6bW91c2VEaWRNb3Zl
T3ZlckVsZW1lbnQoY29uc3QgSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCB1bnNpZ25lZCBtb2RpZmll
ckZsYWdzKQoreworICAgIGlmICghZW5hYmxlZCgpIHx8ICFtX3NlYXJjaGluZ0Zvck5vZGUpCisg
ICAgICAgIHJldHVybjsKKworICAgIE5vZGUqIG5vZGUgPSByZXN1bHQuaW5uZXJOb2RlKCk7Cisg
ICAgaWYgKG5vZGUpCisgICAgICAgIGhpZ2hsaWdodChub2RlKTsKK30KKwordm9pZCBJbnNwZWN0
b3JDb250cm9sbGVyOjpoYW5kbGVNb3VzZVByZXNzT25Ob2RlKE5vZGUqIG5vZGUpCit7CisgICAg
aWYgKCFlbmFibGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIEFTU0VSVChtX3NlYXJjaGlu
Z0Zvck5vZGUpOworICAgIEFTU0VSVChub2RlKTsKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJl
dHVybjsKKworICAgIC8vIGluc3BlY3QoKSB3aWxsIGltcGxpY2l0bHkgY2FsbCBFbGVtZW50c1Bh
bmVsJ3MgZm9jdXNlZE5vZGVDaGFuZ2VkKCkgYW5kIHRoZSBob3ZlciBmZWVkYmFjayB3aWxsIGJl
IHN0b3BwZWQgdGhlcmUuCisgICAgaW5zcGVjdChub2RlKTsKK30KKwogdm9pZCBJbnNwZWN0b3JD
b250cm9sbGVyOjppbnNwZWN0ZWRXaW5kb3dTY3JpcHRPYmplY3RDbGVhcmVkKEZyYW1lKiBmcmFt
ZSkKIHsKICAgICBpZiAoIWVuYWJsZWQoKSB8fCAhbV9zY3JpcHRDb250ZXh0IHx8ICFtX3Njcmlw
dE9iamVjdCkKQEAgLTE0MDMsNiArMTQ1OCw4IEBAIHZvaWQgSW5zcGVjdG9yQ29udHJvbGxlcjo6
d2luZG93U2NyaXB0T2JqZWN0QXZhaWxhYmxlKCkKICAgICAgICAgeyAic3RhcnRQcm9maWxpbmci
LCBXZWJDb3JlOjpzdGFydFByb2ZpbGluZywga0pTUHJvcGVydHlBdHRyaWJ1dGVOb25lIH0sCiAg
ICAgICAgIHsgInN0b3BQcm9maWxpbmciLCBXZWJDb3JlOjpzdG9wUHJvZmlsaW5nLCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZU5vbmUgfSwKICAgICAgICAgeyAiY2xlYXJNZXNzYWdlcyIsIGNsZWFyTWVz
c2FnZXMsIGtKU1Byb3BlcnR5QXR0cmlidXRlTm9uZSB9LAorICAgICAgICB7ICJ0b2dnbGVOb2Rl
U2VhcmNoIiwgdG9nZ2xlTm9kZVNlYXJjaCwga0pTUHJvcGVydHlBdHRyaWJ1dGVOb25lIH0sCisg
ICAgICAgIHsgInNlYXJjaGluZ0Zvck5vZGUiLCBzZWFyY2hpbmdGb3JOb2RlLCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZU5vbmUgfSwKICAgICAgICAgeyAwLCAwLCAwIH0KICAgICB9OwogCmRpZmYgLS1n
aXQgYS9XZWJDb3JlL3BhZ2UvSW5zcGVjdG9yQ29udHJvbGxlci5oIGIvV2ViQ29yZS9wYWdlL0lu
c3BlY3RvckNvbnRyb2xsZXIuaAppbmRleCA2NjY3YTVlLi5kMWEyMzgxIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BhZ2UvSW5zcGVjdG9yQ29udHJvbGxlci5oCisrKyBiL1dlYkNvcmUvcGFnZS9JbnNw
ZWN0b3JDb250cm9sbGVyLmgKQEAgLTQ5LDYgKzQ5LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgRGF0YWJhc2U7CiBjbGFzcyBEb2N1bWVudExvYWRlcjsKIGNsYXNzIEdyYXBoaWNzQ29u
dGV4dDsKK2NsYXNzIEhpdFRlc3RSZXN1bHQ7CiBjbGFzcyBJbnNwZWN0b3JDbGllbnQ7CiBjbGFz
cyBKYXZhU2NyaXB0Q2FsbEZyYW1lOwogY2xhc3MgTm9kZTsKQEAgLTEyMSw2ICsxMjIsMTEgQEAg
cHVibGljOgogICAgIHZvaWQgc2V0QXR0YWNoZWRXaW5kb3coYm9vbCk7CiAgICAgdm9pZCBzZXRB
dHRhY2hlZFdpbmRvd0hlaWdodCh1bnNpZ25lZCBoZWlnaHQpOwogCisgICAgdm9pZCB0b2dnbGVT
ZWFyY2hGb3JOb2RlSW5QYWdlKCk7CisgICAgYm9vbCBzZWFyY2hpbmdGb3JOb2RlSW5QYWdlKCkg
eyByZXR1cm4gbV9zZWFyY2hpbmdGb3JOb2RlOyB9OworICAgIHZvaWQgbW91c2VEaWRNb3ZlT3Zl
ckVsZW1lbnQoY29uc3QgSGl0VGVzdFJlc3VsdCYsIHVuc2lnbmVkIG1vZGlmaWVyRmxhZ3MpOwor
ICAgIHZvaWQgaGFuZGxlTW91c2VQcmVzc09uTm9kZShOb2RlKik7CisKICAgICBKU0NvbnRleHRS
ZWYgc2NyaXB0Q29udGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fc2NyaXB0Q29udGV4dDsgfTsKICAg
ICB2b2lkIHNldFNjcmlwdENvbnRleHQoSlNDb250ZXh0UmVmIGNvbnRleHQpIHsgbV9zY3JpcHRD
b250ZXh0ID0gY29udGV4dDsgfTsKIApAQCAtMjQ4LDYgKzI1NCw3IEBAIHByaXZhdGU6CiAgICAg
bG9uZyBsb25nIG1fbmV4dElkZW50aWZpZXI7CiAgICAgUmVmUHRyPE5vZGU+IG1faGlnaGxpZ2h0
ZWROb2RlOwogICAgIHVuc2lnbmVkIG1fZ3JvdXBMZXZlbDsKKyAgICBib29sIG1fc2VhcmNoaW5n
Rm9yTm9kZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1dlYkNv
cmUvcGFnZS9pbnNwZWN0b3IvRWxlbWVudHNQYW5lbC5qcyBiL1dlYkNvcmUvcGFnZS9pbnNwZWN0
b3IvRWxlbWVudHNQYW5lbC5qcwppbmRleCA4ZGQyZDlmLi4yY2I2MWRmIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL0VsZW1lbnRzUGFuZWwuanMKKysrIGIvV2ViQ29yZS9wYWdl
L2luc3BlY3Rvci9FbGVtZW50c1BhbmVsLmpzCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHly
aWdodCAoQykgMjAwNywgMjAwOCBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDA4IE1hdHQgTGlsZWsgPHdlYmtpdEBtYXR0bGlsZWsuY29tPgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01MSw2ICs1MiwxMSBAQCBXZWJJbnNwZWN0
b3IuRWxlbWVudHNQYW5lbCA9IGZ1bmN0aW9uKCkKICAgICAgICAgdGhpcy5wYW5lbC51cGRhdGVT
dHlsZXModHJ1ZSk7CiAgICAgICAgIHRoaXMucGFuZWwudXBkYXRlTWV0cmljcygpOwogICAgICAg
ICB0aGlzLnBhbmVsLnVwZGF0ZVByb3BlcnRpZXMoKTsKKworICAgICAgICBpZiAoSW5zcGVjdG9y
Q29udHJvbGxlci5zZWFyY2hpbmdGb3JOb2RlKCkpIHsKKyAgICAgICAgICAgIEluc3BlY3RvckNv
bnRyb2xsZXIudG9nZ2xlTm9kZVNlYXJjaCgpOworICAgICAgICAgICAgdGhpcy5wYW5lbC5ub2Rl
U2VhcmNoQnV0dG9uLnJlbW92ZVN0eWxlQ2xhc3MoInRvZ2dsZWQtb24iKTsKKyAgICAgICAgfQog
ICAgIH07CiAKICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMudHJlZU91
dGxpbmUuZWxlbWVudCk7CkBAIC04NCw2ICs5MCwxNCBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQ
YW5lbCA9IGZ1bmN0aW9uKCkKICAgICB0aGlzLnNpZGViYXJSZXNpemVFbGVtZW50LmNsYXNzTmFt
ZSA9ICJzaWRlYmFyLXJlc2l6ZXItdmVydGljYWwiOwogICAgIHRoaXMuc2lkZWJhclJlc2l6ZUVs
ZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgdGhpcy5yaWdodFNpZGViYXJSZXNp
emVyRHJhZ1N0YXJ0LmJpbmQodGhpcyksIGZhbHNlKTsKIAorICAgIHRoaXMubm9kZVNlYXJjaEJ1
dHRvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJ1dHRvbiIpOworICAgIHRoaXMubm9kZVNl
YXJjaEJ1dHRvbi50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2VsZWN0IGFuIGVsZW1l
bnQgaW4gdGhlIHBhZ2UgdG8gaW5zcGVjdCBpdC4iKTsKKyAgICB0aGlzLm5vZGVTZWFyY2hCdXR0
b24uaWQgPSAibm9kZS1zZWFyY2gtc3RhdHVzLWJhci1pdGVtIjsKKyAgICB0aGlzLm5vZGVTZWFy
Y2hCdXR0b24uY2xhc3NOYW1lID0gInN0YXR1cy1iYXItaXRlbSI7CisgICAgdGhpcy5ub2RlU2Vh
cmNoQnV0dG9uLmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fbm9kZVNlYXJjaEJ1dHRv
bkNsaWNrZWQuYmluZCh0aGlzKSwgZmFsc2UpOworCisgICAgdGhpcy5zZWFyY2hpbmdGb3JOb2Rl
ID0gZmFsc2U7CisKICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5jb250ZW50RWxl
bWVudCk7CiAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuc2lkZWJhckVsZW1lbnQp
OwogICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLnNpZGViYXJSZXNpemVFbGVtZW50
KTsKQEAgLTEwNiw3ICsxMjAsNyBAQCBXZWJJbnNwZWN0b3IuRWxlbWVudHNQYW5lbC5wcm90b3R5
cGUgPSB7CiAKICAgICBnZXQgc3RhdHVzQmFySXRlbXMoKQogICAgIHsKLSAgICAgICAgcmV0dXJu
IFt0aGlzLmNydW1ic0VsZW1lbnRdOworICAgICAgICByZXR1cm4gW3RoaXMubm9kZVNlYXJjaEJ1
dHRvbiwgdGhpcy5jcnVtYnNFbGVtZW50XTsKICAgICB9LAogCiAgICAgdXBkYXRlU3RhdHVzQmFy
SXRlbXM6IGZ1bmN0aW9uKCkKQEAgLTEyOSw2ICsxNDMsMTEgQEAgV2ViSW5zcGVjdG9yLkVsZW1l
bnRzUGFuZWwucHJvdG90eXBlID0gewogICAgICAgICBXZWJJbnNwZWN0b3IuUGFuZWwucHJvdG90
eXBlLmhpZGUuY2FsbCh0aGlzKTsKICAgICAgICAgV2ViSW5zcGVjdG9yLmhvdmVyZWRET01Ob2Rl
ID0gbnVsbDsKICAgICAgICAgV2ViSW5zcGVjdG9yLmZvcmNlSG92ZXJIaWdobGlnaHQgPSBmYWxz
ZTsKKworICAgICAgICBpZiAoSW5zcGVjdG9yQ29udHJvbGxlci5zZWFyY2hpbmdGb3JOb2RlKCkp
IHsKKyAgICAgICAgICAgIEluc3BlY3RvckNvbnRyb2xsZXIudG9nZ2xlTm9kZVNlYXJjaCgpOwor
ICAgICAgICAgICAgdGhpcy5ub2RlU2VhcmNoQnV0dG9uLnJlbW92ZVN0eWxlQ2xhc3MoInRvZ2ds
ZWQtb24iKTsKKyAgICAgICAgfQogICAgIH0sCiAKICAgICByZXNpemU6IGZ1bmN0aW9uKCkKQEAg
LTE0NSw2ICsxNjQsMTEgQEAgV2ViSW5zcGVjdG9yLkVsZW1lbnRzUGFuZWwucHJvdG90eXBlID0g
ewogICAgICAgICBXZWJJbnNwZWN0b3IuaG92ZXJlZERPTU5vZGUgPSBudWxsOwogICAgICAgICBX
ZWJJbnNwZWN0b3IuZm9yY2VIb3ZlckhpZ2hsaWdodCA9IGZhbHNlOwogCisgICAgICAgIGlmIChJ
bnNwZWN0b3JDb250cm9sbGVyLnNlYXJjaGluZ0Zvck5vZGUoKSkgeworICAgICAgICAgICAgSW5z
cGVjdG9yQ29udHJvbGxlci50b2dnbGVOb2RlU2VhcmNoKCk7CisgICAgICAgICAgICB0aGlzLm5v
ZGVTZWFyY2hCdXR0b24ucmVtb3ZlU3R5bGVDbGFzcygidG9nZ2xlZC1vbiIpOworICAgICAgICB9
CisKICAgICAgICAgdGhpcy5yZWNlbnRseU1vZGlmaWVkTm9kZXMgPSBbXTsKICAgICAgICAgdGhp
cy51bnJlZ2lzdGVyQWxsTXV0YXRpb25FdmVudExpc3RlbmVycygpOwogCkBAIC04NzQsOCArODk4
LDE3IEBAIFdlYkluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAg
dGhpcy50cmVlT3V0bGluZS51cGRhdGVTZWxlY3Rpb24oKTsKIAogICAgICAgICBldmVudC5wcmV2
ZW50RGVmYXVsdCgpOworICAgIH0sCisKKyAgICBfbm9kZVNlYXJjaEJ1dHRvbkNsaWNrZWQ6IGZ1
bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgSW5zcGVjdG9yQ29udHJvbGxlci50b2dnbGVO
b2RlU2VhcmNoKCk7CisKKyAgICAgICAgaWYgKEluc3BlY3RvckNvbnRyb2xsZXIuc2VhcmNoaW5n
Rm9yTm9kZSgpKQorICAgICAgICAgICAgdGhpcy5ub2RlU2VhcmNoQnV0dG9uLmFkZFN0eWxlQ2xh
c3MoInRvZ2dsZWQtb24iKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgdGhpcy5ub2RlU2Vh
cmNoQnV0dG9uLnJlbW92ZVN0eWxlQ2xhc3MoInRvZ2dsZWQtb24iKTsKICAgICB9CiB9CiAKIFdl
Ykluc3BlY3Rvci5FbGVtZW50c1BhbmVsLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0
b3IuUGFuZWwucHJvdG90eXBlOwotCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9y
L0ltYWdlcy9ub2RlU2VhcmNoQnV0dG9ucy5wbmcgYi9XZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL0lt
YWdlcy9ub2RlU2VhcmNoQnV0dG9ucy5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uOTg4ZTM3NApCaW5hcnkgZmlsZXMgL2Rldi9udWxsIGFuZCBiL1dlYkNvcmUvcGFnZS9p
bnNwZWN0b3IvSW1hZ2VzL25vZGVTZWFyY2hCdXR0b25zLnBuZyBkaWZmZXIKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGFnZS9pbnNwZWN0b3IvaW5zcGVjdG9yLmNzcyBiL1dlYkNvcmUvcGFnZS9pbnNw
ZWN0b3IvaW5zcGVjdG9yLmNzcwppbmRleCA0YmZjOWI4Li4zMDc5MThkIDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BhZ2UvaW5zcGVjdG9yL2luc3BlY3Rvci5jc3MKKysrIGIvV2ViQ29yZS9wYWdlL2lu
c3BlY3Rvci9pbnNwZWN0b3IuY3NzCkBAIC0yNzIwLDYgKzI3MjAsMjIgQEAgYm9keS5pbmFjdGl2
ZSAuc2lkZWJhci10cmVlLWl0ZW0uc2VsZWN0ZWQgewogICAgIGJhY2tncm91bmQtcG9zaXRpb246
IDMycHggMjRweDsKIH0KIAorI25vZGUtc2VhcmNoLXN0YXR1cy1iYXItaXRlbSB7CisgICAgYmFj
a2dyb3VuZC1pbWFnZTogdXJsKEltYWdlcy9ub2RlU2VhcmNoQnV0dG9ucy5wbmcpOworfQorCisj
bm9kZS1zZWFyY2gtc3RhdHVzLWJhci1pdGVtOmFjdGl2ZSB7CisgICAgYmFja2dyb3VuZC1wb3Np
dGlvbjogMzJweCAwOworfQorCisjbm9kZS1zZWFyY2gtc3RhdHVzLWJhci1pdGVtLnRvZ2dsZWQt
b24geworICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMjRweDsKK30KKworI25vZGUtc2VhcmNo
LXN0YXR1cy1iYXItaXRlbS50b2dnbGVkLW9uOmFjdGl2ZSB7CisgICAgYmFja2dyb3VuZC1wb3Np
dGlvbjogMzJweCAyNHB4OworfQorCiAucGVyY2VudC10aW1lLXN0YXR1cy1iYXItaXRlbSB7CiAg
ICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKEltYWdlcy9wZXJjZW50QnV0dG9ucy5wbmcpICFpbXBv
cnRhbnQ7CiB9Cg==
</data>
<flag name="review"
          id="10563"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>