<?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>143159</bug_id>
          
          <creation_ts>2015-03-27 15:39:25 -0700</creation_ts>
          <short_desc>[WK2][NetworkCache] Add support for &quot;Cache-Control: max-stale&quot; request header</short_desc>
          <delta_ts>2015-03-30 10:36:31 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>https://tools.ietf.org/html/rfc7234#section-5.2.1.2</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>143121</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1080779</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-27 15:39:25 -0700</bug_when>
    <thetext>Add support for &quot;Cache-Control: max-stale&quot; request header:
https://tools.ietf.org/html/rfc7234#section-5.2.1.2</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080780</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-03-27 15:39:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/20333296&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080798</commentid>
    <comment_count>2</comment_count>
      <attachid>249619</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-27 16:15:08 -0700</bug_when>
    <thetext>Created attachment 249619
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080939</commentid>
    <comment_count>3</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-03-28 07:41:33 -0700</bug_when>
    <thetext>We are now getting to really obscure corners of the spec. Are there any indications that anyone uses this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1080940</commentid>
    <comment_count>4</comment_count>
      <attachid>249619</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-03-28 08:09:11 -0700</bug_when>
    <thetext>Comment on attachment 249619
Patch

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

Well I suppose it is a potentially useful feature even if it is unknown. 

r=me but please consider factoring it differently.

&gt; Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp:168
&gt;      bool hasExpired = age &gt; lifetime;
&gt; +    if (hasExpired &amp;&amp; !std::isnan(maxStale)) {
&gt; +        // Request is allowing stale responses.
&gt; +        // https://tools.ietf.org/html/rfc7234#section-5.2.1.2.
&gt; +        if ((age - lifetime) &lt; maxStale)
&gt; +            hasExpired = false;
&gt; +    }

maxStale = std::isnan(maxStale) ? 0 : maxStale;
bool hasExpired = age - lifetime &gt; maxStale;

&gt; Source/WebKit2/NetworkProcess/cache/NetworkCache.cpp:181
&gt; +static bool requestRequiresRevalidation(const WebCore::ResourceRequest&amp; request, double&amp; maxStale)
&gt;  {
&gt;      auto requestDirectives = WebCore::parseCacheControlDirectives(request.httpHeaderFields());
&gt; +    maxStale = requestDirectives.maxStale;

This is a bit strange way to factor this. We should probably combine requestRequiresRevalidation and responseHasExpired since you really need to be looking at both request and response to implement all semantics.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081173</commentid>
    <comment_count>5</comment_count>
      <attachid>249732</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-03-30 09:03:21 -0700</bug_when>
    <thetext>Created attachment 249732
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081219</commentid>
    <comment_count>6</comment_count>
      <attachid>249732</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-30 10:36:27 -0700</bug_when>
    <thetext>Comment on attachment 249732
Patch

Clearing flags on attachment: 249732

Committed r182145: &lt;http://trac.webkit.org/changeset/182145&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1081220</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-30 10:36:31 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249619</attachid>
            <date>2015-03-27 16:15:08 -0700</date>
            <delta_ts>2015-03-30 09:03:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143159-20150327161429.patch</filename>
            <type>text/plain</type>
            <size>14864</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMDc3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjAwZjQ3OGY1NDkzOGZm
ZTYwNDk2ODc0ZGYyYzdhY2ZjMWZiM2IzNC4uOGViZmU3NmIxZDBhNWY4ZDE0MWFkNTY0ZWViNDBh
YzJjYjRiYWYzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE1LTAzLTI3ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl1bTmV0d29ya0NhY2hl
XSBBZGQgc3VwcG9ydCBmb3IgIkNhY2hlLUNvbnRyb2w6IG1heC1zdGFsZSIgcmVxdWVzdCBoZWFk
ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzE1
OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjAzMzMyOTY+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yICJDYWNoZS1Db250
cm9sOiBtYXgtc3RhbGUiIHJlcXVlc3QgaGVhZGVyOgorICAgICAgICBodHRwczovL3Rvb2xzLmll
dGYub3JnL2h0bWwvcmZjNzIzNCNzZWN0aW9uLTUuMi4xLjIKKworICAgICAgICBUZXN0OiBodHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZXF1ZXN0LW1heC1zdGFsZS5odG1s
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpwYXJzZUNhY2hlQ29udHJvbERpcmVjdGl2ZXMpOgorICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmg6CisKIDIwMTUtMDMtMjcgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgQ2FsbGluZyBjcnlwdG8ud2Vi
a2l0U3VidGxlLmdlbmVyYXRlS2V5IGNhdXNlcyBwYWdlIG1lbW9yeSB0byBuZXZlciBiZSByZWxl
YXNlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktp
dDIvQ2hhbmdlTG9nCmluZGV4IDM3NjYyYjQzODUxYzUyMzE0NWZmNzJlY2U1ZmIzOTgyOTNiZWM3
MDUuLjNlZjFiMTE5MTIzYjNkZDNmYjZiZGM0OGJhZGM0ZGFiNzQyYzUwYWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
QEAgLTEsNSArMSwyMSBAQAogMjAxNS0wMy0yNyAgQ2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUu
Y29tPgogCisgICAgICAgIFtXSzJdW05ldHdvcmtDYWNoZV0gQWRkIHN1cHBvcnQgZm9yICJDYWNo
ZS1Db250cm9sOiBtYXgtc3RhbGUiIHJlcXVlc3QgaGVhZGVyCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDMxNTkKKyAgICAgICAgPHJkYXI6Ly9wcm9i
bGVtLzIwMzMzMjk2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBzdXBwb3J0IGZvciAiQ2FjaGUtQ29udHJvbDogbWF4LXN0YWxlIiByZXF1ZXN0
IGhlYWRlcjoKKyAgICAgICAgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzQjc2Vj
dGlvbi01LjIuMS4yCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3b3JrQ2Fj
aGUuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OnJlc3BvbnNlSGFzRXhwaXJl
ZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6cmVxdWVzdFJlcXVpcmVzUmV2YWxp
ZGF0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpjYW5Vc2UpOgorCisyMDE1
LTAzLTI3ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKICAgICAgICAgW1dLMl1b
TmV0d29ya0NhY2hlXSBSZW5hbWUgcmVxdWVzdE5lZWRzUmV2YWxpZGF0aW9uKCkgdG8gcmVxdWVz
dFJlcXVpcmVzUmV2YWxpZGF0aW9uKCkKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0MzEzNwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAKaW5kZXggYjJlMzYxZGM3OGEzNmU0OTZiYjNh
YTQzNGU0ODdhZjc2MDZjNTk1ZC4uZjhiNjYzMzliYzhhNDM3ZTgzM2FjZTBlOTVmMzlmYjFjOWFk
YzMzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZh
bGlkYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVW
YWxpZGF0aW9uLmNwcApAQCAtMjc0LDYgKzI3NCwyMSBAQCBDYWNoZUNvbnRyb2xEaXJlY3RpdmVz
IHBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZlcyhjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJz
KQogICAgICAgICAgICAgICAgIGRvdWJsZSBtYXhBZ2UgPSBkaXJlY3RpdmVzW2ldLnNlY29uZC50
b0RvdWJsZSgmb2spOwogICAgICAgICAgICAgICAgIGlmIChvaykKICAgICAgICAgICAgICAgICAg
ICAgcmVzdWx0Lm1heEFnZSA9IG1heEFnZTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoZXF1YWxJ
Z25vcmluZ0Nhc2UoZGlyZWN0aXZlc1tpXS5maXJzdCwgIm1heC1zdGFsZSIpKSB7CisgICAgICAg
ICAgICAgICAgLy8gaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzQjc2VjdGlvbi01
LjIuMS4yCisgICAgICAgICAgICAgICAgaWYgKCFzdGQ6OmlzbmFuKHJlc3VsdC5tYXhTdGFsZSkp
IHsKKyAgICAgICAgICAgICAgICAgICAgLy8gRmlyc3QgbWF4LXN0YWxlIGRpcmVjdGl2ZSB3aW5z
IGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBvbmVzLgorICAgICAgICAgICAgICAgICAgICBjb250aW51
ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKGRpcmVjdGl2ZXNbaV0u
c2Vjb25kLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBpZiBubyB2YWx1ZSBp
cyBhc3NpZ25lZCB0byBtYXgtc3RhbGUsIHRoZW4gdGhlIGNsaWVudCBpcyB3aWxsaW5nIHRvIGFj
Y2VwdCBhIHN0YWxlIHJlc3BvbnNlIG9mIGFueSBhZ2UuCisgICAgICAgICAgICAgICAgICAgIHJl
c3VsdC5tYXhTdGFsZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCk7CisgICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICBib29sIG9rOworICAgICAgICAgICAgICAgIGRvdWJsZSBtYXhTdGFsZSA9IGRpcmVjdGl2
ZXNbaV0uc2Vjb25kLnRvRG91YmxlKCZvayk7CisgICAgICAgICAgICAgICAgaWYgKG9rKQorICAg
ICAgICAgICAgICAgICAgICByZXN1bHQubWF4U3RhbGUgPSBtYXhTdGFsZTsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0NhY2hlVmFsaWRhdGlvbi5oCmluZGV4IGI4MjhiY2Y0ZjJmN2RjMTZkZGZjMjM1ZDE4YzIz
NTBkNDY4OTUxNjUuLjRhNTczNTUxMTE3MDdhNTZmNmYyYjgzZjk3YTNmYzcwZmRmYTIxZmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24u
aApAQCAtNTUsNiArNTUsNyBAQCBXRUJDT1JFX0VYUE9SVCBib29sIHJlZGlyZWN0Q2hhaW5BbGxv
d3NSZXVzZShSZWRpcmVjdENoYWluQ2FjaGVTdGF0dXMsIFJldXNlRXhwaQogCiBzdHJ1Y3QgQ2Fj
aGVDb250cm9sRGlyZWN0aXZlcyB7CiAgICAgZG91YmxlIG1heEFnZSB7IHN0ZDo6bnVtZXJpY19s
aW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkgfTsKKyAgICBkb3VibGUgbWF4U3RhbGUgeyBzdGQ6
Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpIH07CiAgICAgYm9vbCBub0NhY2hl
IHsgZmFsc2UgfTsKICAgICBib29sIG5vU3RvcmUgeyBmYWxzZSB9OwogICAgIGJvb2wgbXVzdFJl
dmFsaWRhdGUgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKaW5kZXggY2FjMDNkNThkNTYzNTUwZjBmOTg4MDc5
NmIxMGQ3N2E5ZmNkZmU5Zi4uZjIxMGYzYzUwZThlNDdlZWZlMTBiYTZhZTk5ZTc0NGU0NDhkMTg1
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGUuY3BwCkBAIC0xNTAsNyArMTUwLDcgQEAgc3RhdGljIGJvb2wgY2FjaGVQb2xpY3lB
bGxvd3NFeHBpcmVkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdENhY2hlUG9saWN5IHBvbGljeSkK
ICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBib29sIHJlc3BvbnNlSGFzRXhwaXJlZChj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyB0aW1lc3RhbXApCitzdGF0aWMgYm9vbCByZXNwb25zZUhhc0V4cGlyZWQoY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgdGltZXN0YW1wLCBkb3VibGUgbWF4U3RhbGUpCiB7CiAgICAgaWYgKHJlc3BvbnNl
LmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAg
LTE2MCwyMCArMTYwLDI5IEBAIHN0YXRpYyBib29sIHJlc3BvbnNlSGFzRXhwaXJlZChjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgc3RkOjpjCiAgICAgZG91YmxlIGxp
ZmV0aW1lID0gV2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVzc0xpZmV0aW1lRm9ySFRUUEZhbWlseShy
ZXNwb25zZSwgZG91YmxlVGltZVN0YW1wLmNvdW50KCkpOwogCiAgICAgYm9vbCBoYXNFeHBpcmVk
ID0gYWdlID4gbGlmZXRpbWU7CisgICAgaWYgKGhhc0V4cGlyZWQgJiYgIXN0ZDo6aXNuYW4obWF4
U3RhbGUpKSB7CisgICAgICAgIC8vIFJlcXVlc3QgaXMgYWxsb3dpbmcgc3RhbGUgcmVzcG9uc2Vz
LgorICAgICAgICAvLyBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzIzNCNzZWN0aW9u
LTUuMi4xLjIuCisgICAgICAgIGlmICgoYWdlIC0gbGlmZXRpbWUpIDwgbWF4U3RhbGUpCisgICAg
ICAgICAgICBoYXNFeHBpcmVkID0gZmFsc2U7CisgICAgfQogCiAjaWZuZGVmIExPR19ESVNBQkxF
RAogICAgIGlmIChoYXNFeHBpcmVkKQotICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdv
cmtQcm9jZXNzKSBuZWVkc1JldmFsaWRhdGlvbiBoYXNFeHBpcmVkIGFnZT0lZiBsaWZldGltZT0l
ZiIsIGFnZSwgbGlmZXRpbWUpOworICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdvcmtQ
cm9jZXNzKSBuZWVkc1JldmFsaWRhdGlvbiBoYXNFeHBpcmVkIGFnZT0lZiBsaWZldGltZT0lZiBt
YXgtc3RhbGU9JWciLCBhZ2UsIGxpZmV0aW1lLCBtYXhTdGFsZSk7CiAjZW5kaWYKIAogICAgIHJl
dHVybiBoYXNFeHBpcmVkOwogfQogCi1zdGF0aWMgYm9vbCByZXF1ZXN0UmVxdWlyZXNSZXZhbGlk
YXRpb24oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQorc3RhdGljIGJv
b2wgcmVxdWVzdFJlcXVpcmVzUmV2YWxpZGF0aW9uKGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYgcmVxdWVzdCwgZG91YmxlJiBtYXhTdGFsZSkKIHsKICAgICBhdXRvIHJlcXVlc3REaXJl
Y3RpdmVzID0gV2ViQ29yZTo6cGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKHJlcXVlc3QuaHR0
cEhlYWRlckZpZWxkcygpKTsKKyAgICBtYXhTdGFsZSA9IHJlcXVlc3REaXJlY3RpdmVzLm1heFN0
YWxlOworCiAgICAgaWYgKHJlcXVlc3REaXJlY3RpdmVzLm5vQ2FjaGUpCiAgICAgICAgIHJldHVy
biB0cnVlOworCiAgICAgLy8gRm9yIHJlcXVlc3RzIHdlIGlnbm9yZSBtYXgtYWdlIHZhbHVlcyBv
dGhlciB0aGFuIHplcm8uCiAgICAgaWYgKHJlcXVlc3REaXJlY3RpdmVzLm1heEFnZSA9PSAwKQog
ICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTE5Miw3ICsyMDEsMTIgQEAgc3RhdGljIFVzZURlY2lz
aW9uIGNhblVzZShjb25zdCBFbnRyeSYgZW50cnksIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVx
dWVzdCYgcmUKICAgICBpZiAoY2FjaGVQb2xpY3lBbGxvd3NFeHBpcmVkKHJlcXVlc3QuY2FjaGVQ
b2xpY3koKSkpCiAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VXNlOwogCi0gICAgYm9vbCBu
ZWVkc1JldmFsaWRhdGlvbiA9IHJlcXVlc3RSZXF1aXJlc1JldmFsaWRhdGlvbihyZXF1ZXN0KSB8
fCByZXNwb25zZUhhc0V4cGlyZWQoZW50cnkucmVzcG9uc2UoKSwgZW50cnkudGltZVN0YW1wKCkp
OworICAgIGRvdWJsZSBtYXhTdGFsZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6cXVp
ZXRfTmFOKCk7CisgICAgYm9vbCBuZWVkc1JldmFsaWRhdGlvbiA9IHJlcXVlc3RSZXF1aXJlc1Jl
dmFsaWRhdGlvbihyZXF1ZXN0LCBtYXhTdGFsZSk7CisKKyAgICBpZiAoIW5lZWRzUmV2YWxpZGF0
aW9uKQorICAgICAgICBuZWVkc1JldmFsaWRhdGlvbiA9IHJlc3BvbnNlSGFzRXhwaXJlZChlbnRy
eS5yZXNwb25zZSgpLCBlbnRyeS50aW1lU3RhbXAoKSwgbWF4U3RhbGUpOworCiAgICAgaWYgKCFu
ZWVkc1JldmFsaWRhdGlvbikKICAgICAgICAgcmV0dXJuIFVzZURlY2lzaW9uOjpVc2U7CiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpp
bmRleCA1OTkwYmY4OGM5MDc3MzQ0NDM4ZmJjYWU2YjAyZDJmMGVlYjMyMjU0Li5iMmU5ODg4Y2Uz
OTMxM2JiNTUyMGFmOTE4YTIwOTU5ODM4ZjQxOWE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIw
MTUtMDMtMjcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbV0sy
XVtOZXR3b3JrQ2FjaGVdIEFkZCBzdXBwb3J0IGZvciAiQ2FjaGUtQ29udHJvbDogbWF4LXN0YWxl
IiByZXF1ZXN0IGhlYWRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTQzMTU5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMDMzMzI5Nj4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgbGF5b3V0IHRl
c3QgdG8gY292ZXIgc3VwcG9ydCBmb3IgIkNhY2hlLUNvbnRyb2w6IG1heC1zdGFsZSIgcmVxdWVz
dAorICAgICAgICBoZWFkZXIuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2Fj
aGUvZGlzay1jYWNoZS1yZXF1ZXN0LW1heC1zdGFsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGh0dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJlcXVlc3QtbWF4
LXN0YWxlLmh0bWw6IEFkZGVkLgorCiAyMDE1LTAzLTI3ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdo
YW1AYXBwbGUuY29tPgogCiAgICAgICAgIENvcnJlY3QgdGVzdCByZXN1bHRzIGFmdGVyIHIxODIw
MTIuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUv
ZGlzay1jYWNoZS1yZXF1ZXN0LW1heC1zdGFsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9o
dHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZXF1ZXN0LW1heC1zdGFsZS1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWFjMDA3NDBkOWJhMTE2OWM1Y2M4NjRmZmZmOGIzOTQ3
ZDMyYzAxNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUv
ZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJlcXVlc3QtbWF4LXN0YWxlLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDE1NSBAQAorVGVzdCBmb3IgJ21heC1zdGFsZScgcmVxdWVzdCBoZWFkZXIKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK3J1bm5pbmcgMzYgdGVzdHMKKworcmVzcG9uc2Ug
aGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0wIn0KK3JlcXVlc3QgaGVhZGVyczog
eyJDYWNoZS1jb250cm9sIjoibWF4LXN0YWxlPTAifQorcmVzcG9uc2Ugc291cmNlOiBOZXR3b3Jr
CisKK3Jlc3BvbnNlIGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1hZ2U9MTAwIn0KK3Jl
cXVlc3QgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LXN0YWxlPTAifQorcmVzcG9uc2Ug
c291cmNlOiBEaXNrIGNhY2hlCisKK3Jlc3BvbnNlIGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6
Im1heC1hZ2U9MCIsIkFnZSI6IjIwMCJ9CityZXF1ZXN0IGhlYWRlcnM6IHsiQ2FjaGUtY29udHJv
bCI6Im1heC1zdGFsZT0wIn0KK3Jlc3BvbnNlIHNvdXJjZTogTmV0d29yaworCityZXNwb25zZSBo
ZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtYWdlPTEwMCIsIkFnZSI6IjIwMCJ9CityZXF1
ZXN0IGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1zdGFsZT0wIn0KK3Jlc3BvbnNlIHNv
dXJjZTogTmV0d29yaworCityZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgt
YWdlPTAifQorcmVxdWVzdCBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtc3RhbGUifQor
cmVzcG9uc2Ugc291cmNlOiBEaXNrIGNhY2hlCisKK3Jlc3BvbnNlIGhlYWRlcnM6IHsiQ2FjaGUt
Y29udHJvbCI6Im1heC1hZ2U9MTAwIn0KK3JlcXVlc3QgaGVhZGVyczogeyJDYWNoZS1jb250cm9s
IjoibWF4LXN0YWxlIn0KK3Jlc3BvbnNlIHNvdXJjZTogRGlzayBjYWNoZQorCityZXNwb25zZSBo
ZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtYWdlPTAiLCJBZ2UiOiIyMDAifQorcmVxdWVz
dCBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtc3RhbGUifQorcmVzcG9uc2Ugc291cmNl
OiBEaXNrIGNhY2hlCisKK3Jlc3BvbnNlIGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1h
Z2U9MTAwIiwiQWdlIjoiMjAwIn0KK3JlcXVlc3QgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoi
bWF4LXN0YWxlIn0KK3Jlc3BvbnNlIHNvdXJjZTogRGlzayBjYWNoZQorCityZXNwb25zZSBoZWFk
ZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtYWdlPTAifQorcmVxdWVzdCBoZWFkZXJzOiB7IkNh
Y2hlLWNvbnRyb2wiOiJtYXgtc3RhbGU9MTAwIn0KK3Jlc3BvbnNlIHNvdXJjZTogRGlzayBjYWNo
ZQorCityZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtYWdlPTEwMCJ9City
ZXF1ZXN0IGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1zdGFsZT0xMDAifQorcmVzcG9u
c2Ugc291cmNlOiBEaXNrIGNhY2hlCisKK3Jlc3BvbnNlIGhlYWRlcnM6IHsiQ2FjaGUtY29udHJv
bCI6Im1heC1hZ2U9MCIsIkFnZSI6IjIwMCJ9CityZXF1ZXN0IGhlYWRlcnM6IHsiQ2FjaGUtY29u
dHJvbCI6Im1heC1zdGFsZT0xMDAifQorcmVzcG9uc2Ugc291cmNlOiBOZXR3b3JrCisKK3Jlc3Bv
bnNlIGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1hZ2U9MTAwIiwiQWdlIjoiMjAwIn0K
K3JlcXVlc3QgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LXN0YWxlPTEwMCJ9CityZXNw
b25zZSBzb3VyY2U6IE5ldHdvcmsKKworcmVzcG9uc2UgaGVhZGVyczogeyJDYWNoZS1jb250cm9s
IjoibWF4LWFnZT0wIn0KK3JlcXVlc3QgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LXN0
YWxlPTAsIG1heC1hZ2U9MCJ9CityZXNwb25zZSBzb3VyY2U6IE5ldHdvcmsKKworcmVzcG9uc2Ug
aGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0xMDAifQorcmVxdWVzdCBoZWFkZXJz
OiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtc3RhbGU9MCwgbWF4LWFnZT0wIn0KK3Jlc3BvbnNlIHNv
dXJjZTogTmV0d29yaworCityZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgt
YWdlPTAiLCJBZ2UiOiIyMDAifQorcmVxdWVzdCBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJt
YXgtc3RhbGU9MCwgbWF4LWFnZT0wIn0KK3Jlc3BvbnNlIHNvdXJjZTogTmV0d29yaworCityZXNw
b25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtYWdlPTEwMCIsIkFnZSI6IjIwMCJ9
CityZXF1ZXN0IGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1zdGFsZT0wLCBtYXgtYWdl
PTAifQorcmVzcG9uc2Ugc291cmNlOiBOZXR3b3JrCisKK3Jlc3BvbnNlIGhlYWRlcnM6IHsiQ2Fj
aGUtY29udHJvbCI6Im1heC1hZ2U9MCJ9CityZXF1ZXN0IGhlYWRlcnM6IHsiQ2FjaGUtY29udHJv
bCI6Im1heC1zdGFsZSwgbWF4LWFnZT0wIn0KK3Jlc3BvbnNlIHNvdXJjZTogTmV0d29yaworCity
ZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtYWdlPTEwMCJ9CityZXF1ZXN0
IGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1zdGFsZSwgbWF4LWFnZT0wIn0KK3Jlc3Bv
bnNlIHNvdXJjZTogTmV0d29yaworCityZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wi
OiJtYXgtYWdlPTAiLCJBZ2UiOiIyMDAifQorcmVxdWVzdCBoZWFkZXJzOiB7IkNhY2hlLWNvbnRy
b2wiOiJtYXgtc3RhbGUsIG1heC1hZ2U9MCJ9CityZXNwb25zZSBzb3VyY2U6IE5ldHdvcmsKKwor
cmVzcG9uc2UgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0xMDAiLCJBZ2UiOiIy
MDAifQorcmVxdWVzdCBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtc3RhbGUsIG1heC1h
Z2U9MCJ9CityZXNwb25zZSBzb3VyY2U6IE5ldHdvcmsKKworcmVzcG9uc2UgaGVhZGVyczogeyJD
YWNoZS1jb250cm9sIjoibWF4LWFnZT0wIn0KK3JlcXVlc3QgaGVhZGVyczogeyJDYWNoZS1jb250
cm9sIjoibWF4LXN0YWxlPTEwMCwgbWF4LWFnZT0wIn0KK3Jlc3BvbnNlIHNvdXJjZTogTmV0d29y
aworCityZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtYWdlPTEwMCJ9City
ZXF1ZXN0IGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1zdGFsZT0xMDAsIG1heC1hZ2U9
MCJ9CityZXNwb25zZSBzb3VyY2U6IE5ldHdvcmsKKworcmVzcG9uc2UgaGVhZGVyczogeyJDYWNo
ZS1jb250cm9sIjoibWF4LWFnZT0wIiwiQWdlIjoiMjAwIn0KK3JlcXVlc3QgaGVhZGVyczogeyJD
YWNoZS1jb250cm9sIjoibWF4LXN0YWxlPTEwMCwgbWF4LWFnZT0wIn0KK3Jlc3BvbnNlIHNvdXJj
ZTogTmV0d29yaworCityZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtYWdl
PTEwMCIsIkFnZSI6IjIwMCJ9CityZXF1ZXN0IGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1h
eC1zdGFsZT0xMDAsIG1heC1hZ2U9MCJ9CityZXNwb25zZSBzb3VyY2U6IE5ldHdvcmsKKworcmVz
cG9uc2UgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0wIn0KK3JlcXVlc3QgaGVh
ZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LXN0YWxlPTAsIG1heC1hZ2U9MTAwIn0KK3Jlc3Bv
bnNlIHNvdXJjZTogTmV0d29yaworCityZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wi
OiJtYXgtYWdlPTEwMCJ9CityZXF1ZXN0IGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1z
dGFsZT0wLCBtYXgtYWdlPTEwMCJ9CityZXNwb25zZSBzb3VyY2U6IERpc2sgY2FjaGUKKworcmVz
cG9uc2UgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0wIiwiQWdlIjoiMjAwIn0K
K3JlcXVlc3QgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LXN0YWxlPTAsIG1heC1hZ2U9
MTAwIn0KK3Jlc3BvbnNlIHNvdXJjZTogTmV0d29yaworCityZXNwb25zZSBoZWFkZXJzOiB7IkNh
Y2hlLWNvbnRyb2wiOiJtYXgtYWdlPTEwMCIsIkFnZSI6IjIwMCJ9CityZXF1ZXN0IGhlYWRlcnM6
IHsiQ2FjaGUtY29udHJvbCI6Im1heC1zdGFsZT0wLCBtYXgtYWdlPTEwMCJ9CityZXNwb25zZSBz
b3VyY2U6IE5ldHdvcmsKKworcmVzcG9uc2UgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4
LWFnZT0wIn0KK3JlcXVlc3QgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LXN0YWxlLCBt
YXgtYWdlPTEwMCJ9CityZXNwb25zZSBzb3VyY2U6IERpc2sgY2FjaGUKKworcmVzcG9uc2UgaGVh
ZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0xMDAifQorcmVxdWVzdCBoZWFkZXJzOiB7
IkNhY2hlLWNvbnRyb2wiOiJtYXgtc3RhbGUsIG1heC1hZ2U9MTAwIn0KK3Jlc3BvbnNlIHNvdXJj
ZTogRGlzayBjYWNoZQorCityZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgt
YWdlPTAiLCJBZ2UiOiIyMDAifQorcmVxdWVzdCBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJt
YXgtc3RhbGUsIG1heC1hZ2U9MTAwIn0KK3Jlc3BvbnNlIHNvdXJjZTogRGlzayBjYWNoZQorCity
ZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtYWdlPTEwMCIsIkFnZSI6IjIw
MCJ9CityZXF1ZXN0IGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1zdGFsZSwgbWF4LWFn
ZT0xMDAifQorcmVzcG9uc2Ugc291cmNlOiBEaXNrIGNhY2hlCisKK3Jlc3BvbnNlIGhlYWRlcnM6
IHsiQ2FjaGUtY29udHJvbCI6Im1heC1hZ2U9MCJ9CityZXF1ZXN0IGhlYWRlcnM6IHsiQ2FjaGUt
Y29udHJvbCI6Im1heC1zdGFsZT0xMDAsIG1heC1hZ2U9MTAwIn0KK3Jlc3BvbnNlIHNvdXJjZTog
RGlzayBjYWNoZQorCityZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtYWdl
PTEwMCJ9CityZXF1ZXN0IGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1zdGFsZT0xMDAs
IG1heC1hZ2U9MTAwIn0KK3Jlc3BvbnNlIHNvdXJjZTogRGlzayBjYWNoZQorCityZXNwb25zZSBo
ZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtYWdlPTAiLCJBZ2UiOiIyMDAifQorcmVxdWVz
dCBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtc3RhbGU9MTAwLCBtYXgtYWdlPTEwMCJ9
CityZXNwb25zZSBzb3VyY2U6IE5ldHdvcmsKKworcmVzcG9uc2UgaGVhZGVyczogeyJDYWNoZS1j
b250cm9sIjoibWF4LWFnZT0xMDAiLCJBZ2UiOiIyMDAifQorcmVxdWVzdCBoZWFkZXJzOiB7IkNh
Y2hlLWNvbnRyb2wiOiJtYXgtc3RhbGU9MTAwLCBtYXgtYWdlPTEwMCJ9CityZXNwb25zZSBzb3Vy
Y2U6IE5ldHdvcmsKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvY2FjaGUvZGlzay1j
YWNoZS9kaXNrLWNhY2hlLXJlcXVlc3QtbWF4LXN0YWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZXF1ZXN0LW1heC1zdGFsZS5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjI1ZDg1NmFlYjIwMDJkOWVhNTNlNTQxNDkxNjgwOWU2NmQyYzhlY2MKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUv
ZGlzay1jYWNoZS1yZXF1ZXN0LW1heC1zdGFsZS5odG1sCkBAIC0wLDAgKzEsMzggQEAKKzxzY3Jp
cHQgc3JjPSIvanMtdGVzdC1yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9jYWNoZS10ZXN0LmpzIj48L3NjcmlwdD4KKzxib2R5PgorPHNj
cmlwdD4KKwordmFyIHRlc3RNYXRyaXggPQorWworIFsKKyAgeyByZXNwb25zZUhlYWRlcnM6IHsn
Q2FjaGUtY29udHJvbCc6ICdtYXgtYWdlPTAnIH0gfSwKKyAgeyByZXNwb25zZUhlYWRlcnM6IHsn
Q2FjaGUtY29udHJvbCc6ICdtYXgtYWdlPTEwMCcgfSB9LAorICBdLAorIFsKKyAgIHt9LAorICAg
eyByZXNwb25zZUhlYWRlcnM6IHsnQWdlJzogJzIwMCcgfSB9LAorICBdLAorIFsKKyAgeyByZXF1
ZXN0SGVhZGVyczogeydDYWNoZS1jb250cm9sJzogJ21heC1zdGFsZT0wJyB9IH0sCisgIHsgcmVx
dWVzdEhlYWRlcnM6IHsnQ2FjaGUtY29udHJvbCc6ICdtYXgtc3RhbGUnIH0gfSwKKyAgeyByZXF1
ZXN0SGVhZGVyczogeydDYWNoZS1jb250cm9sJzogJ21heC1zdGFsZT0xMDAnIH0gfSwKKyAgXSwK
KyBbCisgIHt9LAorICB7IHJlcXVlc3RIZWFkZXJzOiB7J0NhY2hlLWNvbnRyb2wnOiAnbWF4LWFn
ZT0wJyB9IH0sCisgIHsgcmVxdWVzdEhlYWRlcnM6IHsnQ2FjaGUtY29udHJvbCc6ICdtYXgtYWdl
PTEwMCcgfSB9LAorICBdLAorIF07CisKK2Rlc2NyaXB0aW9uKCJUZXN0IGZvciAnbWF4LXN0YWxl
JyByZXF1ZXN0IGhlYWRlciIpOworCit2YXIgdGVzdHMgPSBnZW5lcmF0ZVRlc3RzKHRlc3RNYXRy
aXgpOworCitkZWJ1ZygicnVubmluZyAiICsgdGVzdHMubGVuZ3RoICsgIiB0ZXN0cyIpOworZGVi
dWcoIiIpOworCitydW5UZXN0cyh0ZXN0cyk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii9q
cy10ZXN0LXJlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249732</attachid>
            <date>2015-03-30 09:03:21 -0700</date>
            <delta_ts>2015-03-30 10:36:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143159-20150330090239.patch</filename>
            <type>text/plain</type>
            <size>14964</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyMTQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjZhYjhlYTBjZjdkMWU5
NTQ2YzUwZWVhMGMzOTAzY2I3MjU4ZGI3ZS4uYTIxMDMzZGMxNzFjMzIwYjA3ZGIwNWQyOTczZTBi
NjM5YjIwMjU0MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE1LTAzLTMwICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl1bTmV0d29ya0NhY2hl
XSBBZGQgc3VwcG9ydCBmb3IgIkNhY2hlLUNvbnRyb2w6IG1heC1zdGFsZSIgcmVxdWVzdCBoZWFk
ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzE1
OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjAzMzMyOTY+CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgQW50dGkgS29pdmlzdG8uCisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yICJDYWNoZS1Db250
cm9sOiBtYXgtc3RhbGUiIHJlcXVlc3QgaGVhZGVyOgorICAgICAgICBodHRwczovL3Rvb2xzLmll
dGYub3JnL2h0bWwvcmZjNzIzNCNzZWN0aW9uLTUuMi4xLjIKKworICAgICAgICBUZXN0OiBodHRw
L3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNoZS1yZXF1ZXN0LW1heC1zdGFsZS5odG1s
CisKKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpwYXJzZUNhY2hlQ29udHJvbERpcmVjdGl2ZXMpOgorICAgICAgICAqIHBs
YXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmg6CisKIDIwMTUtMDMtMjUgWGFiaWVyIFJv
ZHJpZ3VleiBDYWx2YXIgPGNhbHZhcmlzQGlnYWxpYS5jb20+IGFuZCBZb3Vlbm4gRmFibGV0IDx5
b3Vlbm4uZmFibGV0QGNyZi5jYW5vbi5mcj4KIAogICAgICAgICBbU3RyZWFtcyBBUEldIEVycm9y
IHN0b3JhZ2Ugc2hvdWxkIGJlIG1vdmVkIGZyb20gc291cmNlIHRvIHN0cmVhbS9yZWFkZXIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwppbmRleCBhOGYwNjIwNzYzYjBlOTA1Y2FlYTlmNzVlNjNkMmFhYWExNWIyYmU2Li44MzZl
ZWU3OTQ1NTkwYjY1NTA0OGY4Zjc3OTkzOWViNWJlODE1N2Y1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTkgQEAKKzIwMTUtMDMtMzAgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKwor
ICAgICAgICBbV0syXVtOZXR3b3JrQ2FjaGVdIEFkZCBzdXBwb3J0IGZvciAiQ2FjaGUtQ29udHJv
bDogbWF4LXN0YWxlIiByZXF1ZXN0IGhlYWRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzMTU5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMDMz
MzI5Nj4KKworICAgICAgICBSZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBB
ZGQgc3VwcG9ydCBmb3IgIkNhY2hlLUNvbnRyb2w6IG1heC1zdGFsZSIgcmVxdWVzdCBoZWFkZXI6
CisgICAgICAgIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3MjM0I3NlY3Rpb24tNS4y
LjEuMgorCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya0NhY2hlOjpyZXNwb25zZUhhc0V4cGlyZWQpOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OnJlcXVlc3RSZXF1aXJlc1JldmFsaWRhdGlvbik6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6Y2FuVXNlKToKKwogMjAxNS0wMy0zMCAg
Q3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtFRkxdW0dU
S10gV2ViS2l0MidzIGdlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCBzaG91bGQgZmFpbCBp
ZiBjbGFzaGluZyBoZWFkZXJzIGZvdW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9uZXR3b3JrL0NhY2hlVmFsaWRhdGlvbi5jcHAKaW5kZXggYjJlMzYxZGM3OGEzNmU0OTZiYjNh
YTQzNGU0ODdhZjc2MDZjNTk1ZC4uZjhiNjYzMzliYzhhNDM3ZTgzM2FjZTBlOTVmMzlmYjFjOWFk
YzMzYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZh
bGlkYXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVW
YWxpZGF0aW9uLmNwcApAQCAtMjc0LDYgKzI3NCwyMSBAQCBDYWNoZUNvbnRyb2xEaXJlY3RpdmVz
IHBhcnNlQ2FjaGVDb250cm9sRGlyZWN0aXZlcyhjb25zdCBIVFRQSGVhZGVyTWFwJiBoZWFkZXJz
KQogICAgICAgICAgICAgICAgIGRvdWJsZSBtYXhBZ2UgPSBkaXJlY3RpdmVzW2ldLnNlY29uZC50
b0RvdWJsZSgmb2spOwogICAgICAgICAgICAgICAgIGlmIChvaykKICAgICAgICAgICAgICAgICAg
ICAgcmVzdWx0Lm1heEFnZSA9IG1heEFnZTsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoZXF1YWxJ
Z25vcmluZ0Nhc2UoZGlyZWN0aXZlc1tpXS5maXJzdCwgIm1heC1zdGFsZSIpKSB7CisgICAgICAg
ICAgICAgICAgLy8gaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzcyMzQjc2VjdGlvbi01
LjIuMS4yCisgICAgICAgICAgICAgICAgaWYgKCFzdGQ6OmlzbmFuKHJlc3VsdC5tYXhTdGFsZSkp
IHsKKyAgICAgICAgICAgICAgICAgICAgLy8gRmlyc3QgbWF4LXN0YWxlIGRpcmVjdGl2ZSB3aW5z
IGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBvbmVzLgorICAgICAgICAgICAgICAgICAgICBjb250aW51
ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKGRpcmVjdGl2ZXNbaV0u
c2Vjb25kLmlzRW1wdHkoKSkgeworICAgICAgICAgICAgICAgICAgICAvLyBpZiBubyB2YWx1ZSBp
cyBhc3NpZ25lZCB0byBtYXgtc3RhbGUsIHRoZW4gdGhlIGNsaWVudCBpcyB3aWxsaW5nIHRvIGFj
Y2VwdCBhIHN0YWxlIHJlc3BvbnNlIG9mIGFueSBhZ2UuCisgICAgICAgICAgICAgICAgICAgIHJl
c3VsdC5tYXhTdGFsZSA9IHN0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6bWF4KCk7CisgICAg
ICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg
ICAgICBib29sIG9rOworICAgICAgICAgICAgICAgIGRvdWJsZSBtYXhTdGFsZSA9IGRpcmVjdGl2
ZXNbaV0uc2Vjb25kLnRvRG91YmxlKCZvayk7CisgICAgICAgICAgICAgICAgaWYgKG9rKQorICAg
ICAgICAgICAgICAgICAgICByZXN1bHQubWF4U3RhbGUgPSBtYXhTdGFsZTsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL0NhY2hlVmFsaWRhdGlvbi5oCmluZGV4IGI4MjhiY2Y0ZjJmN2RjMTZkZGZjMjM1ZDE4YzIz
NTBkNDY4OTUxNjUuLjRhNTczNTUxMTE3MDdhNTZmNmYyYjgzZjk3YTNmYzcwZmRmYTIxZmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvQ2FjaGVWYWxpZGF0aW9u
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9DYWNoZVZhbGlkYXRpb24u
aApAQCAtNTUsNiArNTUsNyBAQCBXRUJDT1JFX0VYUE9SVCBib29sIHJlZGlyZWN0Q2hhaW5BbGxv
d3NSZXVzZShSZWRpcmVjdENoYWluQ2FjaGVTdGF0dXMsIFJldXNlRXhwaQogCiBzdHJ1Y3QgQ2Fj
aGVDb250cm9sRGlyZWN0aXZlcyB7CiAgICAgZG91YmxlIG1heEFnZSB7IHN0ZDo6bnVtZXJpY19s
aW1pdHM8ZG91YmxlPjo6cXVpZXRfTmFOKCkgfTsKKyAgICBkb3VibGUgbWF4U3RhbGUgeyBzdGQ6
Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OnF1aWV0X05hTigpIH07CiAgICAgYm9vbCBub0NhY2hl
IHsgZmFsc2UgfTsKICAgICBib29sIG5vU3RvcmUgeyBmYWxzZSB9OwogICAgIGJvb2wgbXVzdFJl
dmFsaWRhdGUgeyBmYWxzZSB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvY2FjaGUvTmV0d29ya0NhY2hlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL2NhY2hlL05ldHdvcmtDYWNoZS5jcHAKaW5kZXggZmE1NDY1MzI5YTI3ZTk1ZDJiZDhjOWQw
NjFiM2QzMDdkNzZkMDI1Yi4uYzRmYTdkODU5ZjA4M2ExZWE0OGU3YmNkNTIwMjg0ZTZlYWU1YWY3
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvY2FjaGUvTmV0d29y
a0NhY2hlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9jYWNoZS9OZXR3
b3JrQ2FjaGUuY3BwCkBAIC0xNTAsNyArMTUwLDcgQEAgc3RhdGljIGJvb2wgY2FjaGVQb2xpY3lB
bGxvd3NFeHBpcmVkKFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdENhY2hlUG9saWN5IHBvbGljeSkK
ICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLXN0YXRpYyBib29sIHJlc3BvbnNlSGFzRXhwaXJlZChj
b25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgc3RkOjpjaHJvbm86Om1p
bGxpc2Vjb25kcyB0aW1lc3RhbXApCitzdGF0aWMgYm9vbCByZXNwb25zZUhhc0V4cGlyZWQoY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UsIHN0ZDo6Y2hyb25vOjptaWxs
aXNlY29uZHMgdGltZXN0YW1wLCBkb3VibGUgbWF4U3RhbGUpCiB7CiAgICAgaWYgKHJlc3BvbnNl
LmNhY2hlQ29udHJvbENvbnRhaW5zTm9DYWNoZSgpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKQEAg
LTE1OSwxNyArMTU5LDE4IEBAIHN0YXRpYyBib29sIHJlc3BvbnNlSGFzRXhwaXJlZChjb25zdCBX
ZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSwgc3RkOjpjCiAgICAgZG91YmxlIGFn
ZSA9IFdlYkNvcmU6OmNvbXB1dGVDdXJyZW50QWdlKHJlc3BvbnNlLCBkb3VibGVUaW1lU3RhbXAu
Y291bnQoKSk7CiAgICAgZG91YmxlIGxpZmV0aW1lID0gV2ViQ29yZTo6Y29tcHV0ZUZyZXNobmVz
c0xpZmV0aW1lRm9ySFRUUEZhbWlseShyZXNwb25zZSwgZG91YmxlVGltZVN0YW1wLmNvdW50KCkp
OwogCi0gICAgYm9vbCBoYXNFeHBpcmVkID0gYWdlID4gbGlmZXRpbWU7CisgICAgbWF4U3RhbGUg
PSBzdGQ6OmlzbmFuKG1heFN0YWxlKSA/IDAgOiBtYXhTdGFsZTsKKyAgICBib29sIGhhc0V4cGly
ZWQgPSBhZ2UgLSBsaWZldGltZSA+IG1heFN0YWxlOwogCiAjaWZuZGVmIExPR19ESVNBQkxFRAog
ICAgIGlmIChoYXNFeHBpcmVkKQotICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdvcmtQ
cm9jZXNzKSBuZWVkc1JldmFsaWRhdGlvbiBoYXNFeHBpcmVkIGFnZT0lZiBsaWZldGltZT0lZiIs
IGFnZSwgbGlmZXRpbWUpOworICAgICAgICBMT0coTmV0d29ya0NhY2hlLCAiKE5ldHdvcmtQcm9j
ZXNzKSBuZWVkc1JldmFsaWRhdGlvbiBoYXNFeHBpcmVkIGFnZT0lZiBsaWZldGltZT0lZiBtYXgt
c3RhbGU9JWciLCBhZ2UsIGxpZmV0aW1lLCBtYXhTdGFsZSk7CiAjZW5kaWYKIAogICAgIHJldHVy
biBoYXNFeHBpcmVkOwogfQogCi1zdGF0aWMgYm9vbCByZXF1ZXN0UmVxdWlyZXNSZXZhbGlkYXRp
b24oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQorc3RhdGljIGJvb2wg
cmVzcG9uc2VOZWVkc1JldmFsaWRhdGlvbihjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNl
JiByZXNwb25zZSwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0LCBzdGQ6
OmNocm9ubzo6bWlsbGlzZWNvbmRzIHRpbWVzdGFtcCkKIHsKICAgICBhdXRvIHJlcXVlc3REaXJl
Y3RpdmVzID0gV2ViQ29yZTo6cGFyc2VDYWNoZUNvbnRyb2xEaXJlY3RpdmVzKHJlcXVlc3QuaHR0
cEhlYWRlckZpZWxkcygpKTsKICAgICBpZiAocmVxdWVzdERpcmVjdGl2ZXMubm9DYWNoZSkKQEAg
LTE3OCw3ICsxNzksNyBAQCBzdGF0aWMgYm9vbCByZXF1ZXN0UmVxdWlyZXNSZXZhbGlkYXRpb24o
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQogICAgIGlmIChyZXF1ZXN0
RGlyZWN0aXZlcy5tYXhBZ2UgPT0gMCkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKLSAgICByZXR1
cm4gZmFsc2U7CisgICAgcmV0dXJuIHJlc3BvbnNlSGFzRXhwaXJlZChyZXNwb25zZSwgdGltZXN0
YW1wLCByZXF1ZXN0RGlyZWN0aXZlcy5tYXhTdGFsZSk7CiB9CiAKIHN0YXRpYyBVc2VEZWNpc2lv
biBjYW5Vc2UoY29uc3QgRW50cnkmIGVudHJ5LCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVl
c3QmIHJlcXVlc3QpCkBAIC0xOTIsOCArMTkzLDcgQEAgc3RhdGljIFVzZURlY2lzaW9uIGNhblVz
ZShjb25zdCBFbnRyeSYgZW50cnksIGNvbnN0IFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCYgcmUK
ICAgICBpZiAoY2FjaGVQb2xpY3lBbGxvd3NFeHBpcmVkKHJlcXVlc3QuY2FjaGVQb2xpY3koKSkp
CiAgICAgICAgIHJldHVybiBVc2VEZWNpc2lvbjo6VXNlOwogCi0gICAgYm9vbCBuZWVkc1JldmFs
aWRhdGlvbiA9IHJlcXVlc3RSZXF1aXJlc1JldmFsaWRhdGlvbihyZXF1ZXN0KSB8fCByZXNwb25z
ZUhhc0V4cGlyZWQoZW50cnkucmVzcG9uc2UoKSwgZW50cnkudGltZVN0YW1wKCkpOwotICAgIGlm
ICghbmVlZHNSZXZhbGlkYXRpb24pCisgICAgaWYgKCFyZXNwb25zZU5lZWRzUmV2YWxpZGF0aW9u
KGVudHJ5LnJlc3BvbnNlKCksIHJlcXVlc3QsIGVudHJ5LnRpbWVTdGFtcCgpKSkKICAgICAgICAg
cmV0dXJuIFVzZURlY2lzaW9uOjpVc2U7CiAKICAgICBib29sIGhhc1ZhbGlkYXRvckZpZWxkcyA9
IGVudHJ5LnJlc3BvbnNlKCkuaGFzQ2FjaGVWYWxpZGF0b3JGaWVsZHMoKTsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyNGMx
N2UwMmE1ZDA2ZjM5ZjJjNDc2Nzk5OTM1OTJlZjdjYjBhYTJlLi43MmM5NTZhYjBiMDIxZmI0Mjlj
NDQwZGM2MzJhOWU0ZTRkMWM4NDQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTUtMDMtMzAg
IENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXVtOZXR3b3Jr
Q2FjaGVdIEFkZCBzdXBwb3J0IGZvciAiQ2FjaGUtQ29udHJvbDogbWF4LXN0YWxlIiByZXF1ZXN0
IGhlYWRlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQzMTU5CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yMDMzMzI5Nj4KKworICAgICAgICBSZXZp
ZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KKworICAgICAgICBBZGQgbGF5b3V0IHRlc3QgdG8gY292
ZXIgc3VwcG9ydCBmb3IgIkNhY2hlLUNvbnRyb2w6IG1heC1zdGFsZSIgcmVxdWVzdAorICAgICAg
ICBoZWFkZXIuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1j
YWNoZS1yZXF1ZXN0LW1heC1zdGFsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvY2FjaGUvZGlzay1jYWNoZS9kaXNrLWNhY2hlLXJlcXVlc3QtbWF4LXN0YWxlLmh0
bWw6IEFkZGVkLgorCiAyMDE1LTAzLTMwICBNYXJjb3MgQ2hhdmFycsOtYSBUZWlqZWlybyAgPGNo
YXZhcnJpYTE5OTFAZ21haWwuY29tPgogCiAgICAgICAgIFVwZGF0ZSBleHBlY3RhdGlvbnMgZm9y
IGRlbGV0ZS1lbW9qaSB0ZXN0IHNpbmNlIHRoZSBidWcgaXMgZml4ZWQgbm93LgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmVx
dWVzdC1tYXgtc3RhbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNo
ZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmVxdWVzdC1tYXgtc3RhbGUtZXhwZWN0ZWQudHh0Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmFhYzAwNzQwZDliYTExNjljNWNjODY0ZmZmZjhiMzk0N2QzMmMwMTQKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlz
ay1jYWNoZS1yZXF1ZXN0LW1heC1zdGFsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNTUgQEAK
K1Rlc3QgZm9yICdtYXgtc3RhbGUnIHJlcXVlc3QgaGVhZGVyCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitydW5uaW5nIDM2IHRlc3RzCisKK3Jlc3BvbnNlIGhlYWRlcnM6IHsiQ2Fj
aGUtY29udHJvbCI6Im1heC1hZ2U9MCJ9CityZXF1ZXN0IGhlYWRlcnM6IHsiQ2FjaGUtY29udHJv
bCI6Im1heC1zdGFsZT0wIn0KK3Jlc3BvbnNlIHNvdXJjZTogTmV0d29yaworCityZXNwb25zZSBo
ZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtYWdlPTEwMCJ9CityZXF1ZXN0IGhlYWRlcnM6
IHsiQ2FjaGUtY29udHJvbCI6Im1heC1zdGFsZT0wIn0KK3Jlc3BvbnNlIHNvdXJjZTogRGlzayBj
YWNoZQorCityZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtYWdlPTAiLCJB
Z2UiOiIyMDAifQorcmVxdWVzdCBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtc3RhbGU9
MCJ9CityZXNwb25zZSBzb3VyY2U6IE5ldHdvcmsKKworcmVzcG9uc2UgaGVhZGVyczogeyJDYWNo
ZS1jb250cm9sIjoibWF4LWFnZT0xMDAiLCJBZ2UiOiIyMDAifQorcmVxdWVzdCBoZWFkZXJzOiB7
IkNhY2hlLWNvbnRyb2wiOiJtYXgtc3RhbGU9MCJ9CityZXNwb25zZSBzb3VyY2U6IE5ldHdvcmsK
KworcmVzcG9uc2UgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0wIn0KK3JlcXVl
c3QgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LXN0YWxlIn0KK3Jlc3BvbnNlIHNvdXJj
ZTogRGlzayBjYWNoZQorCityZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgt
YWdlPTEwMCJ9CityZXF1ZXN0IGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1zdGFsZSJ9
CityZXNwb25zZSBzb3VyY2U6IERpc2sgY2FjaGUKKworcmVzcG9uc2UgaGVhZGVyczogeyJDYWNo
ZS1jb250cm9sIjoibWF4LWFnZT0wIiwiQWdlIjoiMjAwIn0KK3JlcXVlc3QgaGVhZGVyczogeyJD
YWNoZS1jb250cm9sIjoibWF4LXN0YWxlIn0KK3Jlc3BvbnNlIHNvdXJjZTogRGlzayBjYWNoZQor
CityZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtYWdlPTEwMCIsIkFnZSI6
IjIwMCJ9CityZXF1ZXN0IGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1zdGFsZSJ9City
ZXNwb25zZSBzb3VyY2U6IERpc2sgY2FjaGUKKworcmVzcG9uc2UgaGVhZGVyczogeyJDYWNoZS1j
b250cm9sIjoibWF4LWFnZT0wIn0KK3JlcXVlc3QgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoi
bWF4LXN0YWxlPTEwMCJ9CityZXNwb25zZSBzb3VyY2U6IERpc2sgY2FjaGUKKworcmVzcG9uc2Ug
aGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0xMDAifQorcmVxdWVzdCBoZWFkZXJz
OiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtc3RhbGU9MTAwIn0KK3Jlc3BvbnNlIHNvdXJjZTogRGlz
ayBjYWNoZQorCityZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtYWdlPTAi
LCJBZ2UiOiIyMDAifQorcmVxdWVzdCBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtc3Rh
bGU9MTAwIn0KK3Jlc3BvbnNlIHNvdXJjZTogTmV0d29yaworCityZXNwb25zZSBoZWFkZXJzOiB7
IkNhY2hlLWNvbnRyb2wiOiJtYXgtYWdlPTEwMCIsIkFnZSI6IjIwMCJ9CityZXF1ZXN0IGhlYWRl
cnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1zdGFsZT0xMDAifQorcmVzcG9uc2Ugc291cmNlOiBO
ZXR3b3JrCisKK3Jlc3BvbnNlIGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1hZ2U9MCJ9
CityZXF1ZXN0IGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1zdGFsZT0wLCBtYXgtYWdl
PTAifQorcmVzcG9uc2Ugc291cmNlOiBOZXR3b3JrCisKK3Jlc3BvbnNlIGhlYWRlcnM6IHsiQ2Fj
aGUtY29udHJvbCI6Im1heC1hZ2U9MTAwIn0KK3JlcXVlc3QgaGVhZGVyczogeyJDYWNoZS1jb250
cm9sIjoibWF4LXN0YWxlPTAsIG1heC1hZ2U9MCJ9CityZXNwb25zZSBzb3VyY2U6IE5ldHdvcmsK
KworcmVzcG9uc2UgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0wIiwiQWdlIjoi
MjAwIn0KK3JlcXVlc3QgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LXN0YWxlPTAsIG1h
eC1hZ2U9MCJ9CityZXNwb25zZSBzb3VyY2U6IE5ldHdvcmsKKworcmVzcG9uc2UgaGVhZGVyczog
eyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0xMDAiLCJBZ2UiOiIyMDAifQorcmVxdWVzdCBoZWFk
ZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtc3RhbGU9MCwgbWF4LWFnZT0wIn0KK3Jlc3BvbnNl
IHNvdXJjZTogTmV0d29yaworCityZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJt
YXgtYWdlPTAifQorcmVxdWVzdCBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtc3RhbGUs
IG1heC1hZ2U9MCJ9CityZXNwb25zZSBzb3VyY2U6IE5ldHdvcmsKKworcmVzcG9uc2UgaGVhZGVy
czogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0xMDAifQorcmVxdWVzdCBoZWFkZXJzOiB7IkNh
Y2hlLWNvbnRyb2wiOiJtYXgtc3RhbGUsIG1heC1hZ2U9MCJ9CityZXNwb25zZSBzb3VyY2U6IE5l
dHdvcmsKKworcmVzcG9uc2UgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0wIiwi
QWdlIjoiMjAwIn0KK3JlcXVlc3QgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LXN0YWxl
LCBtYXgtYWdlPTAifQorcmVzcG9uc2Ugc291cmNlOiBOZXR3b3JrCisKK3Jlc3BvbnNlIGhlYWRl
cnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1hZ2U9MTAwIiwiQWdlIjoiMjAwIn0KK3JlcXVlc3Qg
aGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LXN0YWxlLCBtYXgtYWdlPTAifQorcmVzcG9u
c2Ugc291cmNlOiBOZXR3b3JrCisKK3Jlc3BvbnNlIGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6
Im1heC1hZ2U9MCJ9CityZXF1ZXN0IGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1zdGFs
ZT0xMDAsIG1heC1hZ2U9MCJ9CityZXNwb25zZSBzb3VyY2U6IE5ldHdvcmsKKworcmVzcG9uc2Ug
aGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0xMDAifQorcmVxdWVzdCBoZWFkZXJz
OiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtc3RhbGU9MTAwLCBtYXgtYWdlPTAifQorcmVzcG9uc2Ug
c291cmNlOiBOZXR3b3JrCisKK3Jlc3BvbnNlIGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1h
eC1hZ2U9MCIsIkFnZSI6IjIwMCJ9CityZXF1ZXN0IGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6
Im1heC1zdGFsZT0xMDAsIG1heC1hZ2U9MCJ9CityZXNwb25zZSBzb3VyY2U6IE5ldHdvcmsKKwor
cmVzcG9uc2UgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0xMDAiLCJBZ2UiOiIy
MDAifQorcmVxdWVzdCBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtc3RhbGU9MTAwLCBt
YXgtYWdlPTAifQorcmVzcG9uc2Ugc291cmNlOiBOZXR3b3JrCisKK3Jlc3BvbnNlIGhlYWRlcnM6
IHsiQ2FjaGUtY29udHJvbCI6Im1heC1hZ2U9MCJ9CityZXF1ZXN0IGhlYWRlcnM6IHsiQ2FjaGUt
Y29udHJvbCI6Im1heC1zdGFsZT0wLCBtYXgtYWdlPTEwMCJ9CityZXNwb25zZSBzb3VyY2U6IE5l
dHdvcmsKKworcmVzcG9uc2UgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0xMDAi
fQorcmVxdWVzdCBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtc3RhbGU9MCwgbWF4LWFn
ZT0xMDAifQorcmVzcG9uc2Ugc291cmNlOiBEaXNrIGNhY2hlCisKK3Jlc3BvbnNlIGhlYWRlcnM6
IHsiQ2FjaGUtY29udHJvbCI6Im1heC1hZ2U9MCIsIkFnZSI6IjIwMCJ9CityZXF1ZXN0IGhlYWRl
cnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1zdGFsZT0wLCBtYXgtYWdlPTEwMCJ9CityZXNwb25z
ZSBzb3VyY2U6IE5ldHdvcmsKKworcmVzcG9uc2UgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoi
bWF4LWFnZT0xMDAiLCJBZ2UiOiIyMDAifQorcmVxdWVzdCBoZWFkZXJzOiB7IkNhY2hlLWNvbnRy
b2wiOiJtYXgtc3RhbGU9MCwgbWF4LWFnZT0xMDAifQorcmVzcG9uc2Ugc291cmNlOiBOZXR3b3Jr
CisKK3Jlc3BvbnNlIGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1hZ2U9MCJ9CityZXF1
ZXN0IGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1zdGFsZSwgbWF4LWFnZT0xMDAifQor
cmVzcG9uc2Ugc291cmNlOiBEaXNrIGNhY2hlCisKK3Jlc3BvbnNlIGhlYWRlcnM6IHsiQ2FjaGUt
Y29udHJvbCI6Im1heC1hZ2U9MTAwIn0KK3JlcXVlc3QgaGVhZGVyczogeyJDYWNoZS1jb250cm9s
IjoibWF4LXN0YWxlLCBtYXgtYWdlPTEwMCJ9CityZXNwb25zZSBzb3VyY2U6IERpc2sgY2FjaGUK
KworcmVzcG9uc2UgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0wIiwiQWdlIjoi
MjAwIn0KK3JlcXVlc3QgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LXN0YWxlLCBtYXgt
YWdlPTEwMCJ9CityZXNwb25zZSBzb3VyY2U6IERpc2sgY2FjaGUKKworcmVzcG9uc2UgaGVhZGVy
czogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0xMDAiLCJBZ2UiOiIyMDAifQorcmVxdWVzdCBo
ZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtc3RhbGUsIG1heC1hZ2U9MTAwIn0KK3Jlc3Bv
bnNlIHNvdXJjZTogRGlzayBjYWNoZQorCityZXNwb25zZSBoZWFkZXJzOiB7IkNhY2hlLWNvbnRy
b2wiOiJtYXgtYWdlPTAifQorcmVxdWVzdCBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgt
c3RhbGU9MTAwLCBtYXgtYWdlPTEwMCJ9CityZXNwb25zZSBzb3VyY2U6IERpc2sgY2FjaGUKKwor
cmVzcG9uc2UgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoibWF4LWFnZT0xMDAifQorcmVxdWVz
dCBoZWFkZXJzOiB7IkNhY2hlLWNvbnRyb2wiOiJtYXgtc3RhbGU9MTAwLCBtYXgtYWdlPTEwMCJ9
CityZXNwb25zZSBzb3VyY2U6IERpc2sgY2FjaGUKKworcmVzcG9uc2UgaGVhZGVyczogeyJDYWNo
ZS1jb250cm9sIjoibWF4LWFnZT0wIiwiQWdlIjoiMjAwIn0KK3JlcXVlc3QgaGVhZGVyczogeyJD
YWNoZS1jb250cm9sIjoibWF4LXN0YWxlPTEwMCwgbWF4LWFnZT0xMDAifQorcmVzcG9uc2Ugc291
cmNlOiBOZXR3b3JrCisKK3Jlc3BvbnNlIGhlYWRlcnM6IHsiQ2FjaGUtY29udHJvbCI6Im1heC1h
Z2U9MTAwIiwiQWdlIjoiMjAwIn0KK3JlcXVlc3QgaGVhZGVyczogeyJDYWNoZS1jb250cm9sIjoi
bWF4LXN0YWxlPTEwMCwgbWF4LWFnZT0xMDAifQorcmVzcG9uc2Ugc291cmNlOiBOZXR3b3JrCisK
K1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2NhY2hlL2Rpc2stY2FjaGUvZGlzay1jYWNo
ZS1yZXF1ZXN0LW1heC1zdGFsZS5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9k
aXNrLWNhY2hlL2Rpc2stY2FjaGUtcmVxdWVzdC1tYXgtc3RhbGUuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4y
NWQ4NTZhZWIyMDAyZDllYTUzZTU0MTQ5MTY4MDllNjZkMmM4ZWNjCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9jYWNoZS9kaXNrLWNhY2hlL2Rpc2stY2FjaGUtcmVx
dWVzdC1tYXgtc3RhbGUuaHRtbApAQCAtMCwwICsxLDM4IEBACis8c2NyaXB0IHNyYz0iL2pzLXRl
c3QtcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvY2FjaGUtdGVzdC5qcyI+PC9zY3JpcHQ+Cis8Ym9keT4KKzxzY3JpcHQ+CisKK3ZhciB0
ZXN0TWF0cml4ID0KK1sKKyBbCisgIHsgcmVzcG9uc2VIZWFkZXJzOiB7J0NhY2hlLWNvbnRyb2wn
OiAnbWF4LWFnZT0wJyB9IH0sCisgIHsgcmVzcG9uc2VIZWFkZXJzOiB7J0NhY2hlLWNvbnRyb2wn
OiAnbWF4LWFnZT0xMDAnIH0gfSwKKyAgXSwKKyBbCisgICB7fSwKKyAgIHsgcmVzcG9uc2VIZWFk
ZXJzOiB7J0FnZSc6ICcyMDAnIH0gfSwKKyAgXSwKKyBbCisgIHsgcmVxdWVzdEhlYWRlcnM6IHsn
Q2FjaGUtY29udHJvbCc6ICdtYXgtc3RhbGU9MCcgfSB9LAorICB7IHJlcXVlc3RIZWFkZXJzOiB7
J0NhY2hlLWNvbnRyb2wnOiAnbWF4LXN0YWxlJyB9IH0sCisgIHsgcmVxdWVzdEhlYWRlcnM6IHsn
Q2FjaGUtY29udHJvbCc6ICdtYXgtc3RhbGU9MTAwJyB9IH0sCisgIF0sCisgWworICB7fSwKKyAg
eyByZXF1ZXN0SGVhZGVyczogeydDYWNoZS1jb250cm9sJzogJ21heC1hZ2U9MCcgfSB9LAorICB7
IHJlcXVlc3RIZWFkZXJzOiB7J0NhY2hlLWNvbnRyb2wnOiAnbWF4LWFnZT0xMDAnIH0gfSwKKyAg
XSwKKyBdOworCitkZXNjcmlwdGlvbigiVGVzdCBmb3IgJ21heC1zdGFsZScgcmVxdWVzdCBoZWFk
ZXIiKTsKKwordmFyIHRlc3RzID0gZ2VuZXJhdGVUZXN0cyh0ZXN0TWF0cml4KTsKKworZGVidWco
InJ1bm5pbmcgIiArIHRlc3RzLmxlbmd0aCArICIgdGVzdHMiKTsKK2RlYnVnKCIiKTsKKworcnVu
VGVzdHModGVzdHMpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvanMtdGVzdC1yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>