<?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>92367</bug_id>
          
          <creation_ts>2012-07-26 04:42:00 -0700</creation_ts>
          <short_desc>Move region from HitTestResult to HitTestPoint</short_desc>
          <delta_ts>2012-07-26 09:15:55 -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>Layout and Rendering</component>
          <version>420+</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Allan Sandfeld Jensen">allan.jensen</reporter>
          <assigned_to name="Allan Sandfeld Jensen">allan.jensen</assigned_to>
          <cc>eric</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>679157</commentid>
    <comment_count>0</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-07-26 04:42:00 -0700</bug_when>
    <thetext>HitTestResult currently keeps track of a region in which the current hit-test is being performed, but the region is not really specific to the result, and is more closely tied to the current point being tested, therefore it makes more sense to store the region in the HitTestPoint instead of the HitTestResult.

The also makes it possible to get rid of setRegion() since it was only used to override and restore the original region in HitTestResult, since a new HitTestPoint is made when descending into a new region, this save/restore mechanic is no longer necessary, and region can be made a constant in HitTestPoint.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679158</commentid>
    <comment_count>1</comment_count>
      <attachid>154610</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-07-26 04:45:58 -0700</bug_when>
    <thetext>Created attachment 154610
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679310</commentid>
    <comment_count>2</comment_count>
      <attachid>154610</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-07-26 07:33:06 -0700</bug_when>
    <thetext>Comment on attachment 154610
Patch

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

r=me

&gt; Source/WebCore/rendering/HitTestResult.cpp:107
&gt; +HitTestPoint::HitTestPoint(const HitTestPoint&amp; other, const LayoutSize&amp; offset, RenderRegion* region)
&gt; +    : m_point(other.m_point)
&gt; +    , m_boundingBox(other.m_boundingBox)
&gt; +    , m_transformedPoint(other.m_transformedPoint)
&gt; +    , m_transformedRect(other.m_transformedRect)
&gt; +    , m_region(region)

I wonder who owns this point. Can it be deleted elsewhere, and we get garbage here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679311</commentid>
    <comment_count>3</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-07-26 07:34:00 -0700</bug_when>
    <thetext>
&gt; 
&gt; I wonder who owns this point. Can it be deleted elsewhere, and we get garbage here?

s/point/pointer/g</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679356</commentid>
    <comment_count>4</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-07-26 08:22:30 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 154610 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=154610&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/WebCore/rendering/HitTestResult.cpp:107
&gt; &gt; +HitTestPoint::HitTestPoint(const HitTestPoint&amp; other, const LayoutSize&amp; offset, RenderRegion* region)
&gt; &gt; +    : m_point(other.m_point)
&gt; &gt; +    , m_boundingBox(other.m_boundingBox)
&gt; &gt; +    , m_transformedPoint(other.m_transformedPoint)
&gt; &gt; +    , m_transformedRect(other.m_transformedRect)
&gt; &gt; +    , m_region(region)
&gt; 
&gt; I wonder who owns this point. Can it be deleted elsewhere, and we get garbage here?

It is owned by whoever created it, in this case in it just exists on the stack where it is created in renderflowthread, and is deleted automatically when that function returns.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679399</commentid>
    <comment_count>5</comment_count>
      <attachid>154610</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-26 09:15:51 -0700</bug_when>
    <thetext>Comment on attachment 154610
Patch

Clearing flags on attachment: 154610

Committed r123754: &lt;http://trac.webkit.org/changeset/123754&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>679400</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-26 09:15:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>154610</attachid>
            <date>2012-07-26 04:45:58 -0700</date>
            <delta_ts>2012-07-26 09:15:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-92367-20120726134548.patch</filename>
            <type>text/plain</type>
            <size>16819</size>
            <attacher name="Allan Sandfeld Jensen">allan.jensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIzNzI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjVkNTc4MmViM2VlZGQ0
Njg4MGZlN2M2OTU2ZGQ2ZDRmYzUwNzBkNi4uNjJmOGU5NmE0MjAxMmNmNWY1ODQ2NzZmZWIwYjIw
OGJmZWJkOTRhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDEyLTA3LTI2ICBBbGxh
biBTYW5kZmVsZCBKZW5zZW4gIDxhbGxhbi5qZW5zZW5Abm9raWEuY29tPgorCisgICAgICAgIE1v
dmUgcmVnaW9uIGZyb20gSGl0VGVzdFJlc3VsdCB0byBIaXRUZXN0UG9pbnQuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjM2NworCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1vdmVzIHRoZSByZWdpb24gdG8g
SGl0VGVzdFBvaW50IHdoZXJlIGl0IG1ha2VzIG1vcmUgc2Vuc2UsIGFuZCB1c2UgdGhpcworICAg
ICAgICBjaGFuZ2UgdG8gc2ltcGxpZnkgaGl0LXRlc3RpbmcgYSBuZXcgcmVnaW9uIGluIFJlbmRl
ckZsb3dUaHJlYWQuCisKKyAgICAgICAgTm8gbmV3IGZ1bmN0aW9uYWxpdHkuIE5vIG5ldyB0ZXN0
cy4KKworICAgICAgICAqIHJlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkhpdFRlc3RQb2ludDo6SGl0VGVzdFBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6Okhp
dFRlc3RQb2ludDo6b3BlcmF0b3I9KToKKyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RSZXN1bHQ6
OkhpdFRlc3RSZXN1bHQpOgorICAgICAgICAoV2ViQ29yZTo6SGl0VGVzdFJlc3VsdDo6b3BlcmF0
b3I9KToKKyAgICAgICAgKiByZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oOgorICAgICAgICAoSGl0
VGVzdFBvaW50KToKKyAgICAgICAgKFdlYkNvcmU6OkhpdFRlc3RQb2ludDo6cmVnaW9uKToKKyAg
ICAgICAgKEhpdFRlc3RSZXN1bHQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9jazo6bm9kZUF0UG9pbnQpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94
Ojpub2RlQXRQb2ludCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyRmxvd1RocmVhZDo6aGl0VGVzdFJlZ2lvbik6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlckxheWVyOjpoaXRUZXN0TGF5ZXIpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJSZWdp
b24uY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyUmVnaW9uOjpub2RlQXRQb2ludCk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJl
bmRlclRhYmxlOjpub2RlQXRQb2ludCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclRhYmxl
U2VjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJUYWJsZVNlY3Rpb246Om5vZGVB
dFBvaW50KToKKwogMjAxMi0wNy0yNiAgWXVyeSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBhZGQgbWVtb3J5IHJlcG9ydGluZyByb3V0
aW5lIHRvIFN0eWxlUmVzb2x2ZXIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9IaXRUZXN0UmVzdWx0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVz
dWx0LmNwcAppbmRleCA3Njk4NjViZmExOGFkMGE0YjE1MjkxOGE3YTA0OWQ5NWZiNjE5ZGQ5Li4w
ZjZlNGI5MTY2YThjZTEyOTM0MmI1NTNlMGY0NmVjNWExMmVlYzZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuY3BwCkBAIC00OSw3ICs0OSw4IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIHVzaW5nIG5hbWVzcGFjZSBIVE1MTmFtZXM7CiAKIEhpdFRlc3RQb2ludDo6
SGl0VGVzdFBvaW50KCkKLSAgICA6IG1faXNSZWN0QmFzZWQoZmFsc2UpCisgICAgOiBtX3JlZ2lv
bigwKQorICAgICwgbV9pc1JlY3RCYXNlZChmYWxzZSkKICAgICAsIG1faXNSZWN0aWxpbmVhcih0
cnVlKQogewogfQpAQCAtNTksNiArNjAsNyBAQCBIaXRUZXN0UG9pbnQ6OkhpdFRlc3RQb2ludChj
b25zdCBMYXlvdXRQb2ludCYgcG9pbnQpCiAgICAgLCBtX2JvdW5kaW5nQm94KHJlY3RGb3JQb2lu
dChwb2ludCwgMCwgMCwgMCwgMCkpCiAgICAgLCBtX3RyYW5zZm9ybWVkUG9pbnQocG9pbnQpCiAg
ICAgLCBtX3RyYW5zZm9ybWVkUmVjdChtX2JvdW5kaW5nQm94KQorICAgICwgbV9yZWdpb24oMCkK
ICAgICAsIG1faXNSZWN0QmFzZWQoZmFsc2UpCiAgICAgLCBtX2lzUmVjdGlsaW5lYXIodHJ1ZSkK
IHsKQEAgLTY5LDYgKzcxLDcgQEAgSGl0VGVzdFBvaW50OjpIaXRUZXN0UG9pbnQoY29uc3QgRmxv
YXRQb2ludCYgcG9pbnQpCiAgICAgLCBtX2JvdW5kaW5nQm94KHJlY3RGb3JQb2ludChtX3BvaW50
LCAwLCAwLCAwLCAwKSkKICAgICAsIG1fdHJhbnNmb3JtZWRQb2ludChwb2ludCkKICAgICAsIG1f
dHJhbnNmb3JtZWRSZWN0KG1fYm91bmRpbmdCb3gpCisgICAgLCBtX3JlZ2lvbigwKQogICAgICwg
bV9pc1JlY3RCYXNlZChmYWxzZSkKICAgICAsIG1faXNSZWN0aWxpbmVhcih0cnVlKQogewpAQCAt
NzcsNiArODAsNyBAQCBIaXRUZXN0UG9pbnQ6OkhpdFRlc3RQb2ludChjb25zdCBGbG9hdFBvaW50
JiBwb2ludCkKIEhpdFRlc3RQb2ludDo6SGl0VGVzdFBvaW50KGNvbnN0IEZsb2F0UG9pbnQmIHBv
aW50LCBjb25zdCBGbG9hdFF1YWQmIHF1YWQpCiAgICAgOiBtX3RyYW5zZm9ybWVkUG9pbnQocG9p
bnQpCiAgICAgLCBtX3RyYW5zZm9ybWVkUmVjdChxdWFkKQorICAgICwgbV9yZWdpb24oMCkKICAg
ICAsIG1faXNSZWN0QmFzZWQodHJ1ZSkKIHsKICAgICBtX3BvaW50ID0gcm91bmRlZExheW91dFBv
aW50KHBvaW50KTsKQEAgLTg4LDE3ICs5MiwzMSBAQCBIaXRUZXN0UG9pbnQ6OkhpdFRlc3RQb2lu
dChjb25zdCBMYXlvdXRQb2ludCYgY2VudGVyUG9pbnQsIHVuc2lnbmVkIHRvcFBhZGRpbmcsCiAg
ICAgOiBtX3BvaW50KGNlbnRlclBvaW50KQogICAgICwgbV9ib3VuZGluZ0JveChyZWN0Rm9yUG9p
bnQoY2VudGVyUG9pbnQsIHRvcFBhZGRpbmcsIHJpZ2h0UGFkZGluZywgYm90dG9tUGFkZGluZywg
bGVmdFBhZGRpbmcpKQogICAgICwgbV90cmFuc2Zvcm1lZFBvaW50KGNlbnRlclBvaW50KQorICAg
ICwgbV9yZWdpb24oMCkKICAgICAsIG1faXNSZWN0QmFzZWQodG9wUGFkZGluZyB8fCByaWdodFBh
ZGRpbmcgfHwgYm90dG9tUGFkZGluZyB8fCBsZWZ0UGFkZGluZykKICAgICAsIG1faXNSZWN0aWxp
bmVhcih0cnVlKQogewogICAgIG1fdHJhbnNmb3JtZWRSZWN0ID0gRmxvYXRRdWFkKG1fYm91bmRp
bmdCb3gpOwogfQogCitIaXRUZXN0UG9pbnQ6OkhpdFRlc3RQb2ludChjb25zdCBIaXRUZXN0UG9p
bnQmIG90aGVyLCBjb25zdCBMYXlvdXRTaXplJiBvZmZzZXQsIFJlbmRlclJlZ2lvbiogcmVnaW9u
KQorICAgIDogbV9wb2ludChvdGhlci5tX3BvaW50KQorICAgICwgbV9ib3VuZGluZ0JveChvdGhl
ci5tX2JvdW5kaW5nQm94KQorICAgICwgbV90cmFuc2Zvcm1lZFBvaW50KG90aGVyLm1fdHJhbnNm
b3JtZWRQb2ludCkKKyAgICAsIG1fdHJhbnNmb3JtZWRSZWN0KG90aGVyLm1fdHJhbnNmb3JtZWRS
ZWN0KQorICAgICwgbV9yZWdpb24ocmVnaW9uKQorICAgICwgbV9pc1JlY3RCYXNlZChvdGhlci5t
X2lzUmVjdEJhc2VkKQorICAgICwgbV9pc1JlY3RpbGluZWFyKG90aGVyLm1faXNSZWN0aWxpbmVh
cikKK3sKKyAgICBtb3ZlKG9mZnNldCk7Cit9CisKIEhpdFRlc3RQb2ludDo6SGl0VGVzdFBvaW50
KGNvbnN0IEhpdFRlc3RQb2ludCYgb3RoZXIpCiAgICAgOiBtX3BvaW50KG90aGVyLm1fcG9pbnQp
CiAgICAgLCBtX2JvdW5kaW5nQm94KG90aGVyLm1fYm91bmRpbmdCb3gpCiAgICAgLCBtX3RyYW5z
Zm9ybWVkUG9pbnQob3RoZXIubV90cmFuc2Zvcm1lZFBvaW50KQogICAgICwgbV90cmFuc2Zvcm1l
ZFJlY3Qob3RoZXIubV90cmFuc2Zvcm1lZFJlY3QpCisgICAgLCBtX3JlZ2lvbihvdGhlci5tX3Jl
Z2lvbikKICAgICAsIG1faXNSZWN0QmFzZWQob3RoZXIubV9pc1JlY3RCYXNlZCkKICAgICAsIG1f
aXNSZWN0aWxpbmVhcihvdGhlci5tX2lzUmVjdGlsaW5lYXIpCiB7CkBAIC0xMTQsNiArMTMyLDcg
QEAgSGl0VGVzdFBvaW50JiBIaXRUZXN0UG9pbnQ6Om9wZXJhdG9yPShjb25zdCBIaXRUZXN0UG9p
bnQmIG90aGVyKQogICAgIG1fYm91bmRpbmdCb3ggPSBvdGhlci5tX2JvdW5kaW5nQm94OwogICAg
IG1fdHJhbnNmb3JtZWRQb2ludCA9IG90aGVyLm1fdHJhbnNmb3JtZWRQb2ludDsKICAgICBtX3Ry
YW5zZm9ybWVkUmVjdCA9IG90aGVyLm1fdHJhbnNmb3JtZWRSZWN0OworICAgIG1fcmVnaW9uID0g
b3RoZXIubV9yZWdpb247CiAgICAgbV9pc1JlY3RCYXNlZCA9IG90aGVyLm1faXNSZWN0QmFzZWQ7
CiAgICAgbV9pc1JlY3RpbGluZWFyID0gb3RoZXIubV9pc1JlY3RpbGluZWFyOwogCkBAIC0xNzYs
MTQgKzE5NSwxMiBAQCBJbnRSZWN0IEhpdFRlc3RQb2ludDo6cmVjdEZvclBvaW50KGNvbnN0IExh
eW91dFBvaW50JiBwb2ludCwgdW5zaWduZWQgdG9wUGFkZGluZwogSGl0VGVzdFJlc3VsdDo6SGl0
VGVzdFJlc3VsdCgpIDogSGl0VGVzdFBvaW50KCkKICAgICAsIG1faXNPdmVyV2lkZ2V0KGZhbHNl
KQogICAgICwgbV9zaGFkb3dDb250ZW50RmlsdGVyUG9saWN5KERvTm90QWxsb3dTaGFkb3dDb250
ZW50KQotICAgICwgbV9yZWdpb24oMCkKIHsKIH0KIAogSGl0VGVzdFJlc3VsdDo6SGl0VGVzdFJl
c3VsdChjb25zdCBMYXlvdXRQb2ludCYgcG9pbnQpIDogSGl0VGVzdFBvaW50KHBvaW50KQogICAg
ICwgbV9pc092ZXJXaWRnZXQoZmFsc2UpCiAgICAgLCBtX3NoYWRvd0NvbnRlbnRGaWx0ZXJQb2xp
Y3koRG9Ob3RBbGxvd1NoYWRvd0NvbnRlbnQpCi0gICAgLCBtX3JlZ2lvbigwKQogewogfQogCkBA
IC0xOTEsNyArMjA4LDYgQEAgSGl0VGVzdFJlc3VsdDo6SGl0VGVzdFJlc3VsdChjb25zdCBMYXlv
dXRQb2ludCYgY2VudGVyUG9pbnQsIHVuc2lnbmVkIHRvcFBhZGRpbmcKICAgICA6IEhpdFRlc3RQ
b2ludChjZW50ZXJQb2ludCwgdG9wUGFkZGluZywgcmlnaHRQYWRkaW5nLCBib3R0b21QYWRkaW5n
LCBsZWZ0UGFkZGluZykKICAgICAsIG1faXNPdmVyV2lkZ2V0KGZhbHNlKQogICAgICwgbV9zaGFk
b3dDb250ZW50RmlsdGVyUG9saWN5KGFsbG93U2hhZG93Q29udGVudCkKLSAgICAsIG1fcmVnaW9u
KDApCiB7CiB9CiAKQEAgLTE5OSw3ICsyMTUsNiBAQCBIaXRUZXN0UmVzdWx0OjpIaXRUZXN0UmVz
dWx0KGNvbnN0IEhpdFRlc3RQb2ludCYgb3RoZXIsIFNoYWRvd0NvbnRlbnRGaWx0ZXJQb2xpYwog
ICAgIDogSGl0VGVzdFBvaW50KG90aGVyKQogICAgICwgbV9pc092ZXJXaWRnZXQoZmFsc2UpCiAg
ICAgLCBtX3NoYWRvd0NvbnRlbnRGaWx0ZXJQb2xpY3koYWxsb3dTaGFkb3dDb250ZW50KQotICAg
ICwgbV9yZWdpb24oMCkKIHsKIH0KIApAQCAtMjEyLDcgKzIyNyw2IEBAIEhpdFRlc3RSZXN1bHQ6
OkhpdFRlc3RSZXN1bHQoY29uc3QgSGl0VGVzdFJlc3VsdCYgb3RoZXIpCiAgICAgLCBtX3Njcm9s
bGJhcihvdGhlci5zY3JvbGxiYXIoKSkKICAgICAsIG1faXNPdmVyV2lkZ2V0KG90aGVyLmlzT3Zl
cldpZGdldCgpKQogICAgICwgbV9zaGFkb3dDb250ZW50RmlsdGVyUG9saWN5KG90aGVyLnNoYWRv
d0NvbnRlbnRGaWx0ZXJQb2xpY3koKSkKLSAgICAsIG1fcmVnaW9uKG90aGVyLnJlZ2lvbigpKQog
ewogICAgIC8vIE9ubHkgY29weSB0aGUgTm9kZVNldCBpbiBjYXNlIG9mIHJlY3QgaGl0IHRlc3Qu
CiAgICAgbV9yZWN0QmFzZWRUZXN0UmVzdWx0ID0gYWRvcHRQdHIob3RoZXIubV9yZWN0QmFzZWRU
ZXN0UmVzdWx0ID8gbmV3IE5vZGVTZXQoKm90aGVyLm1fcmVjdEJhc2VkVGVzdFJlc3VsdCkgOiAw
KTsKQEAgLTIzNiw4ICsyNTAsNiBAQCBIaXRUZXN0UmVzdWx0JiBIaXRUZXN0UmVzdWx0OjpvcGVy
YXRvcj0oY29uc3QgSGl0VGVzdFJlc3VsdCYgb3RoZXIpCiAgICAgbV9yZWN0QmFzZWRUZXN0UmVz
dWx0ID0gYWRvcHRQdHIob3RoZXIubV9yZWN0QmFzZWRUZXN0UmVzdWx0ID8gbmV3IE5vZGVTZXQo
Km90aGVyLm1fcmVjdEJhc2VkVGVzdFJlc3VsdCkgOiAwKTsKICAgICBtX3NoYWRvd0NvbnRlbnRG
aWx0ZXJQb2xpY3kgID0gb3RoZXIuc2hhZG93Q29udGVudEZpbHRlclBvbGljeSgpOwogCi0gICAg
bV9yZWdpb24gPSBvdGhlci5tX3JlZ2lvbjsKLQogICAgIHJldHVybiAqdGhpczsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RSZXN1bHQuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9IaXRUZXN0UmVzdWx0LmgKaW5kZXggZTYxMTRhMTc2OGI3OTBl
MWZmNDg5NmVmZmQxODQ0OGZjOTg1ZDEyNS4uMDVjYTkwZGMxNTJjMzhkNTg5YTBlMjI1NTM4NmI0
NDE0ZmM2ZmI0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL0hpdFRlc3RS
ZXN1bHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSGl0VGVzdFJlc3VsdC5oCkBA
IC01Niw2ICs1Niw4IEBAIHB1YmxpYzoKICAgICBIaXRUZXN0UG9pbnQoY29uc3QgRmxvYXRQb2lu
dCYsIGNvbnN0IEZsb2F0UXVhZCYpOwogICAgIC8vIFBhc3Mgbm9uLXplcm8gcGFkZGluZyB2YWx1
ZXMgdG8gcGVyZm9ybSBhIHJlY3QtYmFzZWQgaGl0IHRlc3QuCiAgICAgSGl0VGVzdFBvaW50KGNv
bnN0IExheW91dFBvaW50JiBjZW50ZXJQb2ludCwgdW5zaWduZWQgdG9wUGFkZGluZywgdW5zaWdu
ZWQgcmlnaHRQYWRkaW5nLCB1bnNpZ25lZCBib3R0b21QYWRkaW5nLCB1bnNpZ25lZCBsZWZ0UGFk
ZGluZyk7CisgICAgLy8gTWFrZSBhIGNvcHkgdGhlIEhpdFRlc3RQb2ludCBpbiBhIG5ldyByZWdp
b24gYnkgYXBwbHlpbmcgZ2l2ZW4gb2Zmc2V0IHRvIGludGVybmFsIHBvaW50IGFuZCBhcmVhLgor
ICAgIEhpdFRlc3RQb2ludChjb25zdCBIaXRUZXN0UG9pbnQmLCBjb25zdCBMYXlvdXRTaXplJiBv
ZmZzZXQsIFJlbmRlclJlZ2lvbiopOwogICAgIEhpdFRlc3RQb2ludChjb25zdCBIaXRUZXN0UG9p
bnQmKTsKICAgICB+SGl0VGVzdFBvaW50KCk7CiAgICAgSGl0VGVzdFBvaW50JiBvcGVyYXRvcj0o
Y29uc3QgSGl0VGVzdFBvaW50Jik7CkBAIC02Myw3ICs2NSw3IEBAIHB1YmxpYzoKICAgICBMYXlv
dXRQb2ludCBwb2ludCgpIGNvbnN0IHsgcmV0dXJuIG1fcG9pbnQ7IH0KICAgICBJbnRQb2ludCBy
b3VuZGVkUG9pbnQoKSBjb25zdCB7IHJldHVybiByb3VuZGVkSW50UG9pbnQobV9wb2ludCk7IH0K
IAotICAgIHZvaWQgbW92ZShjb25zdCBMYXlvdXRTaXplJiBvZmZzZXQpOworICAgIFJlbmRlclJl
Z2lvbiogcmVnaW9uKCkgY29uc3QgeyByZXR1cm4gbV9yZWdpb247IH0KIAogICAgIC8vIFJlY3Qt
YmFzZWQgaGl0IHRlc3QgcmVsYXRlZCBtZXRob2RzLgogICAgIGJvb2wgaXNSZWN0QmFzZWRUZXN0
KCkgY29uc3QgeyByZXR1cm4gbV9pc1JlY3RCYXNlZDsgfQpAQCAtODUsNiArODcsNyBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFJlY3RUeXBlPgogICAgIGJvb2wg
aW50ZXJzZWN0c1JlY3QoY29uc3QgUmVjdFR5cGUmKSBjb25zdDsKKyAgICB2b2lkIG1vdmUoY29u
c3QgTGF5b3V0U2l6ZSYgb2Zmc2V0KTsKIAogICAgIC8vIFRoaXMgaXMgY2FjaGVkIGZvcm1zIG9m
IHRoZSBtb3JlIGFjY3VyYXRlIHBvaW50IGFuZCBhcmVhIGJlbG93LgogICAgIExheW91dFBvaW50
IG1fcG9pbnQ7CkBAIC05Miw2ICs5NSw5IEBAIHByaXZhdGU6CiAKICAgICBGbG9hdFBvaW50IG1f
dHJhbnNmb3JtZWRQb2ludDsKICAgICBGbG9hdFF1YWQgbV90cmFuc2Zvcm1lZFJlY3Q7CisKKyAg
ICBSZW5kZXJSZWdpb24qIG1fcmVnaW9uOyAvLyBUaGUgcmVnaW9uIHdlJ3JlIGluc2lkZS4KKwog
ICAgIGJvb2wgbV9pc1JlY3RCYXNlZDsKICAgICBib29sIG1faXNSZWN0aWxpbmVhcjsKIH07CkBA
IC0xMTYsOSArMTIyLDYgQEAgcHVibGljOgogICAgIFNjcm9sbGJhciogc2Nyb2xsYmFyKCkgY29u
c3QgeyByZXR1cm4gbV9zY3JvbGxiYXIuZ2V0KCk7IH0KICAgICBib29sIGlzT3ZlcldpZGdldCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNPdmVyV2lkZ2V0OyB9CiAKLSAgICBSZW5kZXJSZWdpb24qIHJl
Z2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fcmVnaW9uOyB9Ci0gICAgdm9pZCBzZXRSZWdpb24oUmVu
ZGVyUmVnaW9uKiByZWdpb24pIHsgbV9yZWdpb24gPSByZWdpb247IH0KLQogICAgIHZvaWQgc2V0
VG9Ob25TaGFkb3dBbmNlc3RvcigpOwogCiAgICAgY29uc3QgSGl0VGVzdFBvaW50JiBoaXRUZXN0
UG9pbnQoKSBjb25zdCB7IHJldHVybiAqdGhpczsgfQpAQCAtMTkxLDggKzE5NCw2IEBAIHByaXZh
dGU6CiAKICAgICBTaGFkb3dDb250ZW50RmlsdGVyUG9saWN5IG1fc2hhZG93Q29udGVudEZpbHRl
clBvbGljeTsKIAotICAgIFJlbmRlclJlZ2lvbiogbV9yZWdpb247IC8vIFRoZSByZWdpb24gd2Un
cmUgaW5zaWRlLgotCiAgICAgbXV0YWJsZSBPd25QdHI8Tm9kZVNldD4gbV9yZWN0QmFzZWRUZXN0
UmVzdWx0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJsb2NrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5k
ZXggNTQ1Nzg0ZTc4Y2EwMzFjYmI0NjlhODdkMzFlZWFmMTEyNzViMTRkZS4uY2M1NTRjYmE3MTgy
ZjY2ZWZkNGJkOTdkNGYzNjlhMWUzYWY3NzBhOSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQmxvY2suY3BwCkBAIC00NjcyLDcgKzQ2NzIsNyBAQCBib29sIFJlbmRlckJsb2NrOjpu
b2RlQXRQb2ludChjb25zdCBIaXRUZXN0UmVxdWVzdCYgcmVxdWVzdCwgSGl0VGVzdFJlc3VsdCYg
cmVzdQogICAgIC8vIElmIHdlIGhhdmUgY2xpcHBpbmcsIHRoZW4gd2UgY2FuJ3QgaGF2ZSBhbnkg
c3BpbGxvdXQuCiAgICAgYm9vbCB1c2VPdmVyZmxvd0NsaXAgPSBoYXNPdmVyZmxvd0NsaXAoKSAm
JiAhaGFzU2VsZlBhaW50aW5nTGF5ZXIoKTsKICAgICBib29sIHVzZUNsaXAgPSAoaGFzQ29udHJv
bENsaXAoKSB8fCB1c2VPdmVyZmxvd0NsaXApOwotICAgIGJvb2wgY2hlY2tDaGlsZHJlbiA9ICF1
c2VDbGlwIHx8IChoYXNDb250cm9sQ2xpcCgpID8gcG9pbnRJbkNvbnRhaW5lci5pbnRlcnNlY3Rz
KGNvbnRyb2xDbGlwUmVjdChhZGp1c3RlZExvY2F0aW9uKSkgOiBwb2ludEluQ29udGFpbmVyLmlu
dGVyc2VjdHMob3ZlcmZsb3dDbGlwUmVjdChhZGp1c3RlZExvY2F0aW9uLCByZXN1bHQucmVnaW9u
KCksIEluY2x1ZGVPdmVybGF5U2Nyb2xsYmFyU2l6ZSkpKTsKKyAgICBib29sIGNoZWNrQ2hpbGRy
ZW4gPSAhdXNlQ2xpcCB8fCAoaGFzQ29udHJvbENsaXAoKSA/IHBvaW50SW5Db250YWluZXIuaW50
ZXJzZWN0cyhjb250cm9sQ2xpcFJlY3QoYWRqdXN0ZWRMb2NhdGlvbikpIDogcG9pbnRJbkNvbnRh
aW5lci5pbnRlcnNlY3RzKG92ZXJmbG93Q2xpcFJlY3QoYWRqdXN0ZWRMb2NhdGlvbiwgcG9pbnRJ
bkNvbnRhaW5lci5yZWdpb24oKSwgSW5jbHVkZU92ZXJsYXlTY3JvbGxiYXJTaXplKSkpOwogICAg
IGlmIChjaGVja0NoaWxkcmVuKSB7CiAgICAgICAgIC8vIEhpdCB0ZXN0IGRlc2NlbmRhbnRzIGZp
cnN0LgogICAgICAgICBMYXlvdXRTaXplIHNjcm9sbGVkT2Zmc2V0KGxvY2FsT2Zmc2V0KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggZDJkZTRiOGE5NTQ1YjBiNjM2
OTk3YzEyZTg5MmE0YTU3NDdkMDZhMi4uYTVkODc1MDBlMDRjNTBkM2U4MWJmZTEzNGY1OTFlNzEx
YTk3Y2QxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTc1Nyw3
ICs3NTcsNyBAQCBib29sIFJlbmRlckJveDo6bm9kZUF0UG9pbnQoY29uc3QgSGl0VGVzdFJlcXVl
c3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJlc3VsdAogCiAgICAgLy8gQ2hlY2sgb3VyIGJv
dW5kcyBuZXh0LiBGb3IgdGhpcyBwdXJwb3NlIGFsd2F5cyBhc3N1bWUgdGhhdCB3ZSBjYW4gb25s
eSBiZSBoaXQgaW4gdGhlCiAgICAgLy8gZm9yZWdyb3VuZCBwaGFzZSAod2hpY2ggaXMgdHJ1ZSBm
b3IgcmVwbGFjZWQgZWxlbWVudHMgbGlrZSBpbWFnZXMpLgotICAgIExheW91dFJlY3QgYm91bmRz
UmVjdCA9IGJvcmRlckJveFJlY3RJblJlZ2lvbihyZXN1bHQucmVnaW9uKCkpOworICAgIExheW91
dFJlY3QgYm91bmRzUmVjdCA9IGJvcmRlckJveFJlY3RJblJlZ2lvbihwb2ludEluQ29udGFpbmVy
LnJlZ2lvbigpKTsKICAgICBib3VuZHNSZWN0Lm1vdmVCeShhZGp1c3RlZExvY2F0aW9uKTsKICAg
ICBpZiAodmlzaWJsZVRvSGl0VGVzdGluZygpICYmIGFjdGlvbiA9PSBIaXRUZXN0Rm9yZWdyb3Vu
ZCAmJiBwb2ludEluQ29udGFpbmVyLmludGVyc2VjdHMoYm91bmRzUmVjdCkpIHsKICAgICAgICAg
dXBkYXRlSGl0VGVzdFJlc3VsdChyZXN1bHQsIHBvaW50SW5Db250YWluZXIucG9pbnQoKSAtIHRv
TGF5b3V0U2l6ZShhZGp1c3RlZExvY2F0aW9uKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyRmxvd1RocmVhZC5jcHAKaW5kZXggYjdhNmU1ODI2Nzg3ZGM1M2RjNWQ0ZGVmNTQy
ZjI5YWM0ODRhY2Y2Yy4uMWIwOWNiYjhkMGYxZTExMDIxZjQ1NGFkYTkyYTdmMmM2ZmYwMzc5MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsb3dUaHJlYWQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbG93VGhyZWFkLmNwcApAQCAt
MzE4LDE0ICszMTgsMTAgQEAgYm9vbCBSZW5kZXJGbG93VGhyZWFkOjpoaXRUZXN0UmVnaW9uKFJl
bmRlclJlZ2lvbiogcmVnaW9uLCBjb25zdCBIaXRUZXN0UmVxdWVzdCYKICAgICAvLyBBbHdheXMg
aWdub3JlIGNsaXBwaW5nLCBzaW5jZSB0aGUgUmVuZGVyRmxvd1RocmVhZCBoYXMgbm90aGluZyB0
byBkbyB3aXRoIHRoZSBib3VuZHMgb2YgdGhlIEZyYW1lVmlldy4KICAgICBIaXRUZXN0UmVxdWVz
dCBuZXdSZXF1ZXN0KHJlcXVlc3QudHlwZSgpIHwgSGl0VGVzdFJlcXVlc3Q6Oklnbm9yZUNsaXBw
aW5nKTsKIAotICAgIFJlbmRlclJlZ2lvbiogb2xkUmVnaW9uID0gcmVzdWx0LnJlZ2lvbigpOwot
ICAgIHJlc3VsdC5zZXRSZWdpb24ocmVnaW9uKTsKLQotICAgIEhpdFRlc3RQb2ludCBuZXdIaXRU
ZXN0UG9pbnQocG9pbnRJbkNvbnRhaW5lcik7Ci0gICAgbmV3SGl0VGVzdFBvaW50Lm1vdmUoLXJl
bmRlckZsb3dUaHJlYWRPZmZzZXQpOworICAgIC8vIE1ha2UgYSBuZXcgdGVtcG9yYXJ5IGhpdFRl
c3RQb2ludCBpbiB0aGUgbmV3IHJlZ2lvbi4KKyAgICBIaXRUZXN0UG9pbnQgbmV3SGl0VGVzdFBv
aW50KHBvaW50SW5Db250YWluZXIsIC1yZW5kZXJGbG93VGhyZWFkT2Zmc2V0LCByZWdpb24pOwog
CiAgICAgYm9vbCBpc1BvaW50SW5zaWRlRmxvd1RocmVhZCA9IGxheWVyKCktPmhpdFRlc3QobmV3
UmVxdWVzdCwgbmV3SGl0VGVzdFBvaW50LCByZXN1bHQpOwotICAgIHJlc3VsdC5zZXRSZWdpb24o
b2xkUmVnaW9uKTsKIAogICAgIC8vIEZJWE1FOiBTaG91bGQgd2Ugc2V0IHJlc3VsdC5tX2xvY2Fs
UG9pbnQgYmFjayB0byB0aGUgUmVuZGVyUmVnaW9uJ3MgY29vcmRpbmF0ZSBzcGFjZSBvciBsZWF2
ZSBpdCBpbiB0aGUgUmVuZGVyRmxvd1RocmVhZCdzIGNvb3JkaW5hdGUKICAgICAvLyBzcGFjZT8g
UmlnaHQgbm93IGl0J3Mgc3RheWluZyBpbiB0aGUgUmVuZGVyRmxvd1RocmVhZCdzIGNvb3JkaW5h
dGUgc3BhY2UsIHdoaWNoIG1heSBlbmQgdXAgYmVpbmcgb2suIFdlIHdpbGwga25vdyBtb3JlIHdo
ZW4gd2UgZ2V0IGFyb3VuZCB0bwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5j
cHAKaW5kZXggMjlmN2IyOTcwOTdjY2Y1N2EyYWNjYTg3MjYzNGRhM2Q1YzY2ZWM5ZS4uMWIwOGY5
Yzg3ZjU2OTlmZDk4YjgxYjA4MzQ3OWRkNDg3ZjQ0NWQwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0zNTI1LDcgKzM1MjUsNyBAQCBSZW5kZXJMYXllciog
UmVuZGVyTGF5ZXI6OmhpdFRlc3RMYXllcihSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJM
YXllciogY29udAogICAgIGlmICh0cmFuc2Zvcm0oKSAmJiAhYXBwbGllZFRyYW5zZm9ybSkgewog
ICAgICAgICAvLyBNYWtlIHN1cmUgdGhlIHBhcmVudCdzIGNsaXAgcmVjdHMgaGF2ZSBiZWVuIGNh
bGN1bGF0ZWQuCiAgICAgICAgIGlmIChwYXJlbnQoKSkgewotICAgICAgICAgICAgQ2xpcFJlY3Qg
Y2xpcFJlY3QgPSBiYWNrZ3JvdW5kQ2xpcFJlY3Qocm9vdExheWVyLCByZXN1bHQucmVnaW9uKCks
IHVzZVRlbXBvcmFyeUNsaXBSZWN0cyA/IFRlbXBvcmFyeUNsaXBSZWN0cyA6IFJvb3RSZWxhdGl2
ZUNsaXBSZWN0cywgSW5jbHVkZU92ZXJsYXlTY3JvbGxiYXJTaXplKTsKKyAgICAgICAgICAgIENs
aXBSZWN0IGNsaXBSZWN0ID0gYmFja2dyb3VuZENsaXBSZWN0KHJvb3RMYXllciwgaGl0VGVzdFBv
aW50LnJlZ2lvbigpLCB1c2VUZW1wb3JhcnlDbGlwUmVjdHMgPyBUZW1wb3JhcnlDbGlwUmVjdHMg
OiBSb290UmVsYXRpdmVDbGlwUmVjdHMsIEluY2x1ZGVPdmVybGF5U2Nyb2xsYmFyU2l6ZSk7CiAg
ICAgICAgICAgICAvLyBHbyBhaGVhZCBhbmQgdGVzdCB0aGUgZW5jbG9zaW5nIGNsaXAgbm93Lgog
ICAgICAgICAgICAgaWYgKCFjbGlwUmVjdC5pbnRlcnNlY3RzKGhpdFRlc3RQb2ludCkpCiAgICAg
ICAgICAgICAgICAgcmV0dXJuIDA7CkBAIC0zNTkyLDcgKzM1OTIsNyBAQCBSZW5kZXJMYXllciog
UmVuZGVyTGF5ZXI6OmhpdFRlc3RMYXllcihSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJM
YXllciogY29udAogICAgIENsaXBSZWN0IGJnUmVjdDsKICAgICBDbGlwUmVjdCBmZ1JlY3Q7CiAg
ICAgQ2xpcFJlY3Qgb3V0bGluZVJlY3Q7Ci0gICAgY2FsY3VsYXRlUmVjdHMocm9vdExheWVyLCBy
ZXN1bHQucmVnaW9uKCksIHVzZVRlbXBvcmFyeUNsaXBSZWN0cyA/IFRlbXBvcmFyeUNsaXBSZWN0
cyA6IFJvb3RSZWxhdGl2ZUNsaXBSZWN0cywgaGl0VGVzdFJlY3QsIGxheWVyQm91bmRzLCBiZ1Jl
Y3QsIGZnUmVjdCwgb3V0bGluZVJlY3QsIEluY2x1ZGVPdmVybGF5U2Nyb2xsYmFyU2l6ZSk7Cisg
ICAgY2FsY3VsYXRlUmVjdHMocm9vdExheWVyLCBoaXRUZXN0UG9pbnQucmVnaW9uKCksIHVzZVRl
bXBvcmFyeUNsaXBSZWN0cyA/IFRlbXBvcmFyeUNsaXBSZWN0cyA6IFJvb3RSZWxhdGl2ZUNsaXBS
ZWN0cywgaGl0VGVzdFJlY3QsIGxheWVyQm91bmRzLCBiZ1JlY3QsIGZnUmVjdCwgb3V0bGluZVJl
Y3QsIEluY2x1ZGVPdmVybGF5U2Nyb2xsYmFyU2l6ZSk7CiAgICAgCiAgICAgLy8gVGhlIGZvbGxv
d2luZyBhcmUgdXNlZCBmb3Iga2VlcGluZyB0cmFjayBvZiB0aGUgei1kZXB0aCBvZiB0aGUgaGl0
IHBvaW50IG9mIDNkLXRyYW5zZm9ybWVkCiAgICAgLy8gZGVzY2VuZGFudHMuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyUmVnaW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwCmluZGV4IDExYjJiMGY3N2UwZGM2NzZiNGQ1
YmJkMWFkMzZhNWVjZGY4YzEwZGYuLjUzNjI4MzZhNDRmOTI4MzFjYzA0NmE3MTg1MjkzNTg1MDMw
YWY1MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJSZWdpb24uY3BwCkBAIC0x
MjcsNyArMTI3LDcgQEAgYm9vbCBSZW5kZXJSZWdpb246Om5vZGVBdFBvaW50KGNvbnN0IEhpdFRl
c3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWx0JiByZXMKIAogICAgIC8vIENoZWNrIG91
ciBib3VuZHMgbmV4dC4gRm9yIHRoaXMgcHVycG9zZSBhbHdheXMgYXNzdW1lIHRoYXQgd2UgY2Fu
IG9ubHkgYmUgaGl0IGluIHRoZQogICAgIC8vIGZvcmVncm91bmQgcGhhc2UgKHdoaWNoIGlzIHRy
dWUgZm9yIHJlcGxhY2VkIGVsZW1lbnRzIGxpa2UgaW1hZ2VzKS4KLSAgICBMYXlvdXRSZWN0IGJv
dW5kc1JlY3QgPSBib3JkZXJCb3hSZWN0SW5SZWdpb24ocmVzdWx0LnJlZ2lvbigpKTsKKyAgICBM
YXlvdXRSZWN0IGJvdW5kc1JlY3QgPSBib3JkZXJCb3hSZWN0SW5SZWdpb24ocG9pbnRJbkNvbnRh
aW5lci5yZWdpb24oKSk7CiAgICAgYm91bmRzUmVjdC5tb3ZlQnkoYWRqdXN0ZWRMb2NhdGlvbik7
CiAgICAgaWYgKHZpc2libGVUb0hpdFRlc3RpbmcoKSAmJiBhY3Rpb24gPT0gSGl0VGVzdEZvcmVn
cm91bmQgJiYgcG9pbnRJbkNvbnRhaW5lci5pbnRlcnNlY3RzKGJvdW5kc1JlY3QpKSB7CiAgICAg
ICAgIC8vIENoZWNrIHRoZSBjb250ZW50cyBvZiB0aGUgUmVuZGVyRmxvd1RocmVhZC4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUuY3BwCmluZGV4IDk0Nzg2MjVjY2FiMTZlMjE4
NjUyNWJkNWY2ODc5ZWY3NTRmMTIyZTQuLmEwMjBkNzdjYWU2MDQwNjBiNTY2ODA4YjU3N2VjOWFh
Nzc0NTE3MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcApAQCAt
MTI3MSw3ICsxMjcxLDcgQEAgYm9vbCBSZW5kZXJUYWJsZTo6bm9kZUF0UG9pbnQoY29uc3QgSGl0
VGVzdFJlcXVlc3QmIHJlcXVlc3QsIEhpdFRlc3RSZXN1bHQmIHJlc3UKICAgICBMYXlvdXRQb2lu
dCBhZGp1c3RlZExvY2F0aW9uID0gYWNjdW11bGF0ZWRPZmZzZXQgKyBsb2NhdGlvbigpOwogCiAg
ICAgLy8gQ2hlY2sga2lkcyBmaXJzdC4KLSAgICBpZiAoIWhhc092ZXJmbG93Q2xpcCgpIHx8IHBv
aW50SW5Db250YWluZXIuaW50ZXJzZWN0cyhvdmVyZmxvd0NsaXBSZWN0KGFkanVzdGVkTG9jYXRp
b24sIHJlc3VsdC5yZWdpb24oKSkpKSB7CisgICAgaWYgKCFoYXNPdmVyZmxvd0NsaXAoKSB8fCBw
b2ludEluQ29udGFpbmVyLmludGVyc2VjdHMob3ZlcmZsb3dDbGlwUmVjdChhZGp1c3RlZExvY2F0
aW9uLCBwb2ludEluQ29udGFpbmVyLnJlZ2lvbigpKSkpIHsKICAgICAgICAgZm9yIChSZW5kZXJP
YmplY3QqIGNoaWxkID0gbGFzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNoaWxkLT5wcmV2aW91
c1NpYmxpbmcoKSkgewogICAgICAgICAgICAgaWYgKGNoaWxkLT5pc0JveCgpICYmICF0b1JlbmRl
ckJveChjaGlsZCktPmhhc1NlbGZQYWludGluZ0xheWVyKCkgJiYgKGNoaWxkLT5pc1RhYmxlU2Vj
dGlvbigpIHx8IGNoaWxkLT5pc1RhYmxlQ2FwdGlvbigpKSkgewogICAgICAgICAgICAgICAgIExh
eW91dFBvaW50IGNoaWxkUG9pbnQgPSBmbGlwRm9yV3JpdGluZ01vZGVGb3JDaGlsZCh0b1JlbmRl
ckJveChjaGlsZCksIGFkanVzdGVkTG9jYXRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlU2VjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9uLmNwcAppbmRleCA5NTVlZjlhZGUwNzQwNzFmODE5ZGNi
YzQ1Mzk2YWY0ZDc2NmM2OWUxLi4xZjEzNzllNDhkNjU1MzJjNDRmZjYyNGQyNjlkMTQyMmM0OWEz
YmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0
aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVTZWN0aW9u
LmNwcApAQCAtMTM3OSw3ICsxMzc5LDcgQEAgYm9vbCBSZW5kZXJUYWJsZVNlY3Rpb246Om5vZGVB
dFBvaW50KGNvbnN0IEhpdFRlc3RSZXF1ZXN0JiByZXF1ZXN0LCBIaXRUZXN0UmVzdWwKICAgICAv
LyBKdXN0IGZvcndhcmQgdG8gb3VyIGNoaWxkcmVuIGFsd2F5cy4KICAgICBMYXlvdXRQb2ludCBh
ZGp1c3RlZExvY2F0aW9uID0gYWNjdW11bGF0ZWRPZmZzZXQgKyBsb2NhdGlvbigpOwogCi0gICAg
aWYgKGhhc092ZXJmbG93Q2xpcCgpICYmICFwb2ludEluQ29udGFpbmVyLmludGVyc2VjdHMob3Zl
cmZsb3dDbGlwUmVjdChhZGp1c3RlZExvY2F0aW9uLCByZXN1bHQucmVnaW9uKCkpKSkKKyAgICBp
ZiAoaGFzT3ZlcmZsb3dDbGlwKCkgJiYgIXBvaW50SW5Db250YWluZXIuaW50ZXJzZWN0cyhvdmVy
Zmxvd0NsaXBSZWN0KGFkanVzdGVkTG9jYXRpb24sIHBvaW50SW5Db250YWluZXIucmVnaW9uKCkp
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAgICAgaWYgKGhhc092ZXJmbG93aW5nQ2VsbCgp
KSB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>