<?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>216327</bug_id>
          
          <creation_ts>2020-09-09 15:09:01 -0700</creation_ts>
          <short_desc>Text replacements at the beginning of a second line are replaced too early</short_desc>
          <delta_ts>2020-09-12 16:27:22 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>216450</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Megan Gardner">megan_gardner</reporter>
          <assigned_to name="Megan Gardner">megan_gardner</assigned_to>
          <cc>darin</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>mifenton</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1687144</commentid>
    <comment_count>0</comment_count>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2020-09-09 15:09:01 -0700</bug_when>
    <thetext>Overlapping text replacments at the beginning of a line are replaced too early.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687153</commentid>
    <comment_count>1</comment_count>
      <attachid>408371</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2020-09-09 15:19:16 -0700</bug_when>
    <thetext>Created attachment 408371
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687224</commentid>
    <comment_count>2</comment_count>
      <attachid>408395</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2020-09-09 18:59:00 -0700</bug_when>
    <thetext>Created attachment 408395
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687225</commentid>
    <comment_count>3</comment_count>
      <attachid>408396</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2020-09-09 19:00:27 -0700</bug_when>
    <thetext>Created attachment 408396
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687250</commentid>
    <comment_count>4</comment_count>
      <attachid>408396</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-09 20:09:16 -0700</bug_when>
    <thetext>Comment on attachment 408396
Patch

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

&gt; Source/WebCore/ChangeLog:12
&gt; +        In the changes in r258871, using SimpleRanges instead of Range causing some side effects
&gt; +        when the replacements at the beginning of lines. The ranges that we are counting are backwards
&gt; +        and the return characters are being counted instead of being ignored. There is almost 
&gt; +        certainly a better fix than this, but this patch restores the original logic that
&gt; +        was present when Range was being used, until a better fix can be worked out. 

I appreciate you fixing this regression I caused, and I agree that we can do an expedient change to help buy us time to do a better one.

I’m guessing that the &quot;real&quot; fix might be to clamp the replacement range inside the paragraph when we create the TextCheckingHelper object.

&gt; Source/WebCore/editing/TextCheckingHelper.cpp:223
&gt; -uint64_t TextCheckingParagraph::automaticReplacementStart() const
&gt; +uint64_t TextCheckingParagraph::automaticReplacementStart(bool oldBehaviour) const
&gt;  {
&gt; -    if (!m_automaticReplacementStart)
&gt; -        m_automaticReplacementStart = characterCount({ paragraphRange().start, m_automaticReplacementRange.start });
&gt; +    if (!m_automaticReplacementStart) {
&gt; +
&gt; +        auto ordering = documentOrder(paragraphRange().start, m_automaticReplacementRange.start);
&gt; +        if (oldBehaviour &amp;&amp; is_gt(ordering))
&gt; +            m_automaticReplacementStart = characterCount({ m_automaticReplacementRange.start, m_automaticReplacementRange.start });
&gt; +        else
&gt; +            m_automaticReplacementStart = characterCount({ paragraphRange().start, m_automaticReplacementRange.start });
&gt; +        
&gt; +    }
&gt;      return *m_automaticReplacementStart;
&gt;  }

This isn’t OK, because the result is cached, so calling this once with oldBehavior true has a side effect on future calls. So if you want to make this two separate functions for now, that’s fine, but we need to either not cache the results from the &quot;old behavior&quot; versions (probably the right way to go) or cache the results separately.

&gt; Source/WebCore/editing/TextCheckingHelper.cpp:235
&gt; -uint64_t TextCheckingParagraph::automaticReplacementLength() const
&gt; +uint64_t TextCheckingParagraph::automaticReplacementLength(bool oldBehaviour) const
&gt;  {
&gt; -    if (!m_automaticReplacementLength)
&gt; -        m_automaticReplacementLength = characterCount(m_automaticReplacementRange);
&gt; +    if (!m_automaticReplacementLength) {
&gt; +        auto ordering = documentOrder(paragraphRange().start, m_automaticReplacementRange.start);
&gt; +        if (oldBehaviour &amp;&amp; is_gt(ordering))
&gt; +            m_automaticReplacementLength = characterCount({ paragraphRange().start, m_automaticReplacementRange.end });
&gt; +        else
&gt; +            m_automaticReplacementLength = characterCount(m_automaticReplacementRange);
&gt; +    }
&gt;      return *m_automaticReplacementLength;
&gt;  }

Same issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687411</commentid>
    <comment_count>5</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2020-09-10 09:38:26 -0700</bug_when>
    <thetext>&lt;rdar://problem/68170353&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687440</commentid>
    <comment_count>6</comment_count>
      <attachid>408456</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2020-09-10 10:29:48 -0700</bug_when>
    <thetext>Created attachment 408456
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687526</commentid>
    <comment_count>7</comment_count>
      <attachid>408474</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2020-09-10 13:48:39 -0700</bug_when>
    <thetext>Created attachment 408474
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687537</commentid>
    <comment_count>8</comment_count>
      <attachid>408476</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2020-09-10 14:35:18 -0700</bug_when>
    <thetext>Created attachment 408476
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687560</commentid>
    <comment_count>9</comment_count>
      <attachid>408476</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-10 15:14:26 -0700</bug_when>
    <thetext>Comment on attachment 408476
Patch

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

review+ assuming tests pass on all Mac platform EWS testers (I wasn’t patient enough)

&gt; Source/WebCore/editing/Editor.cpp:2828
&gt; -        } else if (resultEndLocation &lt;= automaticReplacementEndLocation &amp;&amp; resultEndLocation &gt;= paragraph.automaticReplacementStart()
&gt; +        } else if (automaticReplacementStartLocation &lt;= resultEndLocation &amp;&amp; resultEndLocation &lt;= automaticReplacementEndLocation

Not sure why it’s important to reorder the two checks, here. Maybe we could have just added &quot;true&quot; on this line and then not done the other refactoring above. Just added true here, and added true above, without introducing the new local variable.

&gt; Source/WebCore/editing/TextCheckingHelper.cpp:211
&gt; +uint64_t TextCheckingParagraph::automaticReplacementStart(bool oldBehaviour) const

Hope this really is temporary: Boolean not explained at all in the header, spelling here is British English. Not clear what &quot;old&quot; means.

Likely none of that matters if we quickly find a more straightforward fix.

&gt; Source/WebCore/editing/TextCheckingHelper.cpp:214
&gt; +        return characterCount({ m_automaticReplacementRange.start, m_automaticReplacementRange.start });

This is just a way to write:

   return 0;

&gt; LayoutTests/platform/ios/TestExpectations:130
&gt;  # Requires support for testing text replacement
&gt;  editing/spelling/text-replacement-after-typing-to-word.html [ Skip ]
&gt; +editing/spelling/text-replacement-first-word-second-line.html [ Skip ]

Seems like these should be (eventually) moved into a directory so we can disable/enable them all at once if we add text replacement to a platform. I imagine we might want more than 2 tests, even.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687577</commentid>
    <comment_count>10</comment_count>
      <attachid>408476</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2020-09-10 16:02:37 -0700</bug_when>
    <thetext>Comment on attachment 408476
Patch

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

&gt;&gt; Source/WebCore/editing/Editor.cpp:2828
&gt;&gt; +        } else if (automaticReplacementStartLocation &lt;= resultEndLocation &amp;&amp; resultEndLocation &lt;= automaticReplacementEndLocation
&gt; 
&gt; Not sure why it’s important to reorder the two checks, here. Maybe we could have just added &quot;true&quot; on this line and then not done the other refactoring above. Just added true here, and added true above, without introducing the new local variable.

I think this is significantly easier to read, both with the variable and the reordering.

&gt;&gt; Source/WebCore/editing/TextCheckingHelper.cpp:211
&gt;&gt; +uint64_t TextCheckingParagraph::automaticReplacementStart(bool oldBehaviour) const
&gt; 
&gt; Hope this really is temporary: Boolean not explained at all in the header, spelling here is British English. Not clear what &quot;old&quot; means.
&gt; 
&gt; Likely none of that matters if we quickly find a more straightforward fix.

I also hope we can find a better fix quickly.

&gt;&gt; Source/WebCore/editing/TextCheckingHelper.cpp:214
&gt;&gt; +        return characterCount({ m_automaticReplacementRange.start, m_automaticReplacementRange.start });
&gt; 
&gt; This is just a way to write:
&gt; 
&gt;    return 0;

of course, no need to actually call this.

&gt;&gt; LayoutTests/platform/ios/TestExpectations:130
&gt;&gt; +editing/spelling/text-replacement-first-word-second-line.html [ Skip ]
&gt; 
&gt; Seems like these should be (eventually) moved into a directory so we can disable/enable them all at once if we add text replacement to a platform. I imagine we might want more than 2 tests, even.

I will keep it in mind for later.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687581</commentid>
    <comment_count>11</comment_count>
      <attachid>408490</attachid>
    <who name="Megan Gardner">megan_gardner</who>
    <bug_when>2020-09-10 16:03:36 -0700</bug_when>
    <thetext>Created attachment 408490
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687599</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-09-10 16:44:09 -0700</bug_when>
    <thetext>(In reply to Megan Gardner from comment #10)
&gt; &gt; Not sure why it’s important to reorder the two checks, here. Maybe we could have just added &quot;true&quot; on this line and then not done the other refactoring above. Just added true here, and added true above, without introducing the new local variable.
&gt; 
&gt; I think this is significantly easier to read, both with the variable and the
&gt; reordering.

Reordering, OK. Variable, I don’t see how, it’s the same words, just removes the ().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1687661</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-10 23:11:00 -0700</bug_when>
    <thetext>Committed r266909: &lt;https://trac.webkit.org/changeset/266909&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408490.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408371</attachid>
            <date>2020-09-09 15:19:16 -0700</date>
            <delta_ts>2020-09-09 18:58:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216327-20200909151915.patch</filename>
            <type>text/plain</type>
            <size>6107</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2Nzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGZkMjkxYjQxZjEzYzRl
OWYzN2YyZmZhZjllNTM3OTUxYjZlMGE3My4uYTA3ZjRjNjIyYTNhMDg2MWY3MjA4NmFhYjUzODkz
MGVkYTc0MzFjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDIwLTA5LTA5ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgT3ZlcmxhcHBp
bmcgdGV4dCByZXBsYWNtZW50cyBhdCB0aGUgYmVnaW5uaW5nIG9mIGEgbGluZSBhcmUgcmVwbGFj
ZWQgdG9vIGVhcmx5LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE2MzI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV3JpdGluZyBhIHRlc3QgYmVmb3JlIHN1Ym1pc3Npb24uCisKKyAgICAgICAgUGF0Y2gg
Zm9yIEVXUyBvbmx5LCB2ZXJpZnlpbmcgaWYgaGFjayBkb2VzIG5vdCBjYXVzZSBvdGhlciBpc3N1
ZXMuCisKKyAgICAgICAgKiBlZGl0aW5nL0VkaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpF
ZGl0b3I6Om1hcmtBbmRSZXBsYWNlRm9yKToKKyAgICAgICAgKiBlZGl0aW5nL1RleHRDaGVja2lu
Z0hlbHBlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUZXh0Q2hlY2tpbmdQYXJhZ3JhcGg6OmF1
dG9tYXRpY1JlcGxhY2VtZW50U3RhcnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dENo
ZWNraW5nUGFyYWdyYXBoOjphdXRvbWF0aWNSZXBsYWNlbWVudExlbmd0aCBjb25zdCk6CisgICAg
ICAgICogZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaDoKKyAgICAgICAgKiBlZGl0aW5nL1Rl
eHRJdGVyYXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjaGFyYWN0ZXJDb3VudCk6CisgICAg
ICAgICogZWRpdGluZy9UZXh0SXRlcmF0b3IuaDoKKwogMjAyMC0wOS0wOCAgUnlvc3VrZSBOaXdh
ICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBIYXZpbmcgYW4gaWZyYW1lIGFzIGEgZGVz
Y2VuZGVudCBub2RlIHNob3VsZG4ndCByZXF1aXJlIEVsZW1lbnRSYXJlRGF0YQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0b3IuY3BwCmluZGV4IDM5MTNmMmVjODk1MjdmNjQzOTdkNWFhNTk5ZTEzMzA0ODNk
YjM1YzEuLmM2MjdkOGRmZTRjYzFjMzdiYzRlZTVmYzM1ZmIxN2Q3YWU2OTA5N2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAKQEAgLTI3OTksNyArMjc5OSw4IEBAIHZvaWQgRWRpdG9yOjpt
YXJrQW5kUmVwbGFjZUZvcihjb25zdCBTcGVsbENoZWNrUmVxdWVzdCYgcmVxdWVzdCwgY29uc3Qg
VmVjdG9yPFRlCiAgICAgICAgIGF1dG8gcmVzdWx0TG9jYXRpb24gPSByZXN1bHRzW2ldLnJhbmdl
LmxvY2F0aW9uICsgb2Zmc2V0RHVlVG9SZXBsYWNlbWVudDsKICAgICAgICAgYXV0byByZXN1bHRM
ZW5ndGggPSByZXN1bHRzW2ldLnJhbmdlLmxlbmd0aDsKICAgICAgICAgYXV0byByZXN1bHRFbmRM
b2NhdGlvbiA9IHJlc3VsdExvY2F0aW9uICsgcmVzdWx0TGVuZ3RoOwotICAgICAgICBhdXRvIGF1
dG9tYXRpY1JlcGxhY2VtZW50RW5kTG9jYXRpb24gPSBwYXJhZ3JhcGguYXV0b21hdGljUmVwbGFj
ZW1lbnRTdGFydCgpICsgcGFyYWdyYXBoLmF1dG9tYXRpY1JlcGxhY2VtZW50TGVuZ3RoKCkgKyBv
ZmZzZXREdWVUb1JlcGxhY2VtZW50OworICAgICAgICBhdXRvIGF1dG9tYXRpY1JlcGxhY2VtZW50
U3RhcnRMb2NhdGlvbiA9IHBhcmFncmFwaC5hdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0KHRydWUp
OworICAgICAgICBhdXRvIGF1dG9tYXRpY1JlcGxhY2VtZW50RW5kTG9jYXRpb24gPSBhdXRvbWF0
aWNSZXBsYWNlbWVudFN0YXJ0TG9jYXRpb24gKyBwYXJhZ3JhcGguYXV0b21hdGljUmVwbGFjZW1l
bnRMZW5ndGgodHJ1ZSkgKyBvZmZzZXREdWVUb1JlcGxhY2VtZW50OwogICAgICAgICBjb25zdCBT
dHJpbmcmIHJlcGxhY2VtZW50ID0gcmVzdWx0c1tpXS5yZXBsYWNlbWVudDsKICAgICAgICAgYm9v
bCByZXN1bHRFbmRzQXRBbWJpZ3VvdXNCb3VuZGFyeSA9IHVzZUFtYmlndW91c0JvdW5kYXJ5T2Zm
c2V0ICYmIHNlbGVjdGlvbk9mZnNldCAtIDEgPD0gcmVzdWx0RW5kTG9jYXRpb247CiAKQEAgLTI4
MjQsNyArMjgyNSw3IEBAIHZvaWQgRWRpdG9yOjptYXJrQW5kUmVwbGFjZUZvcihjb25zdCBTcGVs
bENoZWNrUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVmVjdG9yPFRlCiAgICAgICAgICAgICAgICAg
ICAgIGFkZE1hcmtlcihiYWRHcmFtbWFyUmFuZ2UsIERvY3VtZW50TWFya2VyOjpHcmFtbWFyLCBk
ZXRhaWwudXNlckRlc2NyaXB0aW9uKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9
Ci0gICAgICAgIH0gZWxzZSBpZiAocmVzdWx0RW5kTG9jYXRpb24gPD0gYXV0b21hdGljUmVwbGFj
ZW1lbnRFbmRMb2NhdGlvbiAmJiByZXN1bHRFbmRMb2NhdGlvbiA+PSBwYXJhZ3JhcGguYXV0b21h
dGljUmVwbGFjZW1lbnRTdGFydCgpCisgICAgICAgIH0gZWxzZSBpZiAoYXV0b21hdGljUmVwbGFj
ZW1lbnRTdGFydExvY2F0aW9uIDw9IHJlc3VsdEVuZExvY2F0aW9uICYmIHJlc3VsdEVuZExvY2F0
aW9uIDw9IGF1dG9tYXRpY1JlcGxhY2VtZW50RW5kTG9jYXRpb24KICAgICAgICAgICAgICYmIGlz
QXV0b21hdGljVGV4dFJlcGxhY2VtZW50VHlwZShyZXN1bHRUeXBlKSkgewogICAgICAgICAgICAg
Ly8gSW4gdGhpcyBjYXNlIHRoZSByZXN1bHQgcmFuZ2UganVzdCBoYXMgdG8gdG91Y2ggdGhlIGF1
dG9tYXRpYyByZXBsYWNlbWVudCByYW5nZSwgc28gd2UgY2FuIGhhbmRsZSByZXBsYWNpbmcgbm9u
LXdvcmQgdGV4dCBzdWNoIGFzIHB1bmN0dWF0aW9uLgogICAgICAgICAgICAgQVNTRVJUKHJlc3Vs
dExlbmd0aCA+IDApOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hl
Y2tpbmdIZWxwZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxw
ZXIuY3BwCmluZGV4IDUyNmRlZWRmNjgwN2QzNmFlNzg5ZWNlNDJhMDgxMDgwYTVmZmYzMjIuLjU0
OWNjMGVmYzNmMzQ4OTExNDNmYzM2NzFiMDkzMGQ3OGEwMWQ4MTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5jcHAKQEAgLTIwOCwxNyArMjA4LDI5IEBA
IHVpbnQ2NF90IFRleHRDaGVja2luZ1BhcmFncmFwaDo6Y2hlY2tpbmdMZW5ndGgoKSBjb25zdAog
ICAgIHJldHVybiAqbV9jaGVja2luZ0xlbmd0aDsKIH0KIAotdWludDY0X3QgVGV4dENoZWNraW5n
UGFyYWdyYXBoOjphdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0KCkgY29uc3QKK3VpbnQ2NF90IFRl
eHRDaGVja2luZ1BhcmFncmFwaDo6YXV0b21hdGljUmVwbGFjZW1lbnRTdGFydChib29sIG9sZEJl
aGF2aW91cikgY29uc3QKIHsKLSAgICBpZiAoIW1fYXV0b21hdGljUmVwbGFjZW1lbnRTdGFydCkK
LSAgICAgICAgbV9hdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0ID0gY2hhcmFjdGVyQ291bnQoeyBw
YXJhZ3JhcGhSYW5nZSgpLnN0YXJ0LCBtX2F1dG9tYXRpY1JlcGxhY2VtZW50UmFuZ2Uuc3RhcnQg
fSk7CisgICAgaWYgKCFtX2F1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnQpIHsKKworICAgICAgICBh
dXRvIG9yZGVyaW5nID0gZG9jdW1lbnRPcmRlcihwYXJhZ3JhcGhSYW5nZSgpLnN0YXJ0LCBtX2F1
dG9tYXRpY1JlcGxhY2VtZW50UmFuZ2Uuc3RhcnQpOworICAgICAgICBpZiAob2xkQmVoYXZpb3Vy
ICYmIGlzX2d0KG9yZGVyaW5nKSkKKyAgICAgICAgICAgIG1fYXV0b21hdGljUmVwbGFjZW1lbnRT
dGFydCA9IGNoYXJhY3RlckNvdW50KHsgbV9hdXRvbWF0aWNSZXBsYWNlbWVudFJhbmdlLnN0YXJ0
LCBtX2F1dG9tYXRpY1JlcGxhY2VtZW50UmFuZ2Uuc3RhcnQgfSk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIG1fYXV0b21hdGljUmVwbGFjZW1lbnRTdGFydCA9IGNoYXJhY3RlckNvdW50KHsg
cGFyYWdyYXBoUmFuZ2UoKS5zdGFydCwgbV9hdXRvbWF0aWNSZXBsYWNlbWVudFJhbmdlLnN0YXJ0
IH0pOworICAgICAgICAKKyAgICB9CiAgICAgcmV0dXJuICptX2F1dG9tYXRpY1JlcGxhY2VtZW50
U3RhcnQ7CiB9CiAKLXVpbnQ2NF90IFRleHRDaGVja2luZ1BhcmFncmFwaDo6YXV0b21hdGljUmVw
bGFjZW1lbnRMZW5ndGgoKSBjb25zdAordWludDY0X3QgVGV4dENoZWNraW5nUGFyYWdyYXBoOjph
dXRvbWF0aWNSZXBsYWNlbWVudExlbmd0aChib29sIG9sZEJlaGF2aW91cikgY29uc3QKIHsKLSAg
ICBpZiAoIW1fYXV0b21hdGljUmVwbGFjZW1lbnRMZW5ndGgpCi0gICAgICAgIG1fYXV0b21hdGlj
UmVwbGFjZW1lbnRMZW5ndGggPSBjaGFyYWN0ZXJDb3VudChtX2F1dG9tYXRpY1JlcGxhY2VtZW50
UmFuZ2UpOworICAgIGlmICghbV9hdXRvbWF0aWNSZXBsYWNlbWVudExlbmd0aCkgeworICAgICAg
ICBhdXRvIG9yZGVyaW5nID0gZG9jdW1lbnRPcmRlcihwYXJhZ3JhcGhSYW5nZSgpLnN0YXJ0LCBt
X2F1dG9tYXRpY1JlcGxhY2VtZW50UmFuZ2Uuc3RhcnQpOworICAgICAgICBpZiAob2xkQmVoYXZp
b3VyICYmIGlzX2d0KG9yZGVyaW5nKSkKKyAgICAgICAgICAgIG1fYXV0b21hdGljUmVwbGFjZW1l
bnRMZW5ndGggPSBjaGFyYWN0ZXJDb3VudCh7IHBhcmFncmFwaFJhbmdlKCkuc3RhcnQsIG1fYXV0
b21hdGljUmVwbGFjZW1lbnRSYW5nZS5lbmQgfSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IG1fYXV0b21hdGljUmVwbGFjZW1lbnRMZW5ndGggPSBjaGFyYWN0ZXJDb3VudChtX2F1dG9tYXRp
Y1JlcGxhY2VtZW50UmFuZ2UpOworICAgIH0KICAgICByZXR1cm4gKm1fYXV0b21hdGljUmVwbGFj
ZW1lbnRMZW5ndGg7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4
dENoZWNraW5nSGVscGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hl
bHBlci5oCmluZGV4IGI1ZDIzYTJlZTNmNWVmYThlOGNjYzJlMzg4Y2MwOTk4NGYyZDg3NzEuLjBj
ZjlhMzVlYTFlODc4OGM4NzgwMTE3MmQ3ZjVlYTBiZmIzODI0NDYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaApAQCAtNTQsOCArNTQsOCBAQCBwdWJsaWM6
CiAgICAgdWludDY0X3QgY2hlY2tpbmdMZW5ndGgoKSBjb25zdDsKICAgICBTdHJpbmdWaWV3IGNo
ZWNraW5nU3Vic3RyaW5nKCkgY29uc3QgeyByZXR1cm4gdGV4dCgpLnN1YnN0cmluZyhjaGVja2lu
Z1N0YXJ0KCksIGNoZWNraW5nTGVuZ3RoKCkpOyB9CiAKLSAgICB1aW50NjRfdCBhdXRvbWF0aWNS
ZXBsYWNlbWVudFN0YXJ0KCkgY29uc3Q7Ci0gICAgdWludDY0X3QgYXV0b21hdGljUmVwbGFjZW1l
bnRMZW5ndGgoKSBjb25zdDsKKyAgICB1aW50NjRfdCBhdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0
KGJvb2wgPSBmYWxzZSkgY29uc3Q7CisgICAgdWludDY0X3QgYXV0b21hdGljUmVwbGFjZW1lbnRM
ZW5ndGgoYm9vbCA9IGZhbHNlKSBjb25zdDsKIAogICAgIGJvb2wgY2hlY2tpbmdSYW5nZU1hdGNo
ZXMoQ2hhcmFjdGVyUmFuZ2UgcmFuZ2UpIGNvbnN0IHsgcmV0dXJuIHJhbmdlLmxvY2F0aW9uID09
IGNoZWNraW5nU3RhcnQoKSAmJiByYW5nZS5sZW5ndGggPT0gY2hlY2tpbmdMZW5ndGgoKTsgfQog
ICAgIGJvb2wgaXNDaGVja2luZ1JhbmdlQ292ZXJlZEJ5KENoYXJhY3RlclJhbmdlIHJhbmdlKSBj
b25zdCB7IHJldHVybiByYW5nZS5sb2NhdGlvbiA8PSBjaGVja2luZ1N0YXJ0KCkgJiYgcmFuZ2Uu
bG9jYXRpb24gKyByYW5nZS5sZW5ndGggPj0gY2hlY2tpbmdTdGFydCgpICsgY2hlY2tpbmdMZW5n
dGgoKTsgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408395</attachid>
            <date>2020-09-09 18:59:00 -0700</date>
            <delta_ts>2020-09-09 19:00:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216327-20200909185859.patch</filename>
            <type>text/plain</type>
            <size>10493</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2Nzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGZkMjkxYjQxZjEzYzRl
OWYzN2YyZmZhZjllNTM3OTUxYjZlMGE3My4uNjQ5NWJiNzFmNzMyM2EzMjUzNzk1ZDQ3YWVjNGI5
NjIwNWRjZjIwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIwLTA5LTA5ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgT3ZlcmxhcHBp
bmcgdGV4dCByZXBsYWNlbWVudHMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUgYXJlIHJlcGxh
Y2VkIHRvbyBlYXJseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjE2MzI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgSW4gdGhlIGNoYW5nZXMgaW4gcjI1ODg3MSwgdXNpbmcgU2ltcGxlUmFuZ2VzIGluc3Rl
YWQgb2YgUmFuZ2UgY2F1c2luZyBzb21lIHNpZGUgZWZmZWN0cworICAgICAgICB3aGVuIHRoZSBy
ZXBsYWNlbWVudHMgYXQgdGhlIGJlZ2lubmluZyBvZiBsaW5lcy4gVGhlIHJhbmdlcyB0aGF0IHdl
IGFyZSBjb3VudGluZyBhcmUgYmFja3dhcmRzCisgICAgICAgIGFuZCB0aGUgcmV0dXJuIGNoYXJh
Y3RlcnMgYXJlIGJlaW5nIGNvdW50ZWQgaW5zdGVhZCBvZiBiZWluZyBpZ25vcmVkLiBUaGVyZSBp
cyBhbG1vc3QgCisgICAgICAgIGNlcnRhaW5seSBhIGJldHRlciBmaXggdGhhbiB0aGlzLCBidXQg
dGhpcyBwYXRjaCByZXN0b3JlcyB0aGUgb3JpZ2luYWwgbG9naWMgdGhhdAorICAgICAgICB3YXMg
cHJlc2VudCB3aGVuIFJhbmdlIHdhcyBiZWluZyB1c2VkLCB1bnRpbCBhIGJldHRlciBmaXggY2Fu
IGJlIHdvcmtlZCBvdXQuIAorCisgICAgICAgIFRlc3Q6IGVkaXRpbmcvc3BlbGxpbmcvdGV4dC1y
ZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5lLmh0bWwKKworICAgICAgICAqIGVkaXRp
bmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVkaXRvcjo6bWFya0FuZFJlcGxhY2VG
b3IpOgorICAgICAgICAqIGVkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRleHRDaGVja2luZ1BhcmFncmFwaDo6YXV0b21hdGljUmVwbGFjZW1lbnRTdGFy
dCBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpUZXh0Q2hlY2tpbmdQYXJhZ3JhcGg6OmF1dG9t
YXRpY1JlcGxhY2VtZW50TGVuZ3RoIGNvbnN0KToKKyAgICAgICAgKiBlZGl0aW5nL1RleHRDaGVj
a2luZ0hlbHBlci5oOgorCiAyMDIwLTA5LTA4ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQu
b3JnPgogCiAgICAgICAgIEhhdmluZyBhbiBpZnJhbWUgYXMgYSBkZXNjZW5kZW50IG5vZGUgc2hv
dWxkbid0IHJlcXVpcmUgRWxlbWVudFJhcmVEYXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAK
aW5kZXggMzkxM2YyZWM4OTUyN2Y2NDM5N2Q1YWE1OTllMTMzMDQ4M2RiMzVjMS4uYzYyN2Q4ZGZl
NGNjMWMzN2JjNGVlNWZjMzVmYjE3ZDdhZTY5MDk3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9y
LmNwcApAQCAtMjc5OSw3ICsyNzk5LDggQEAgdm9pZCBFZGl0b3I6Om1hcmtBbmRSZXBsYWNlRm9y
KGNvbnN0IFNwZWxsQ2hlY2tSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBWZWN0b3I8VGUKICAgICAg
ICAgYXV0byByZXN1bHRMb2NhdGlvbiA9IHJlc3VsdHNbaV0ucmFuZ2UubG9jYXRpb24gKyBvZmZz
ZXREdWVUb1JlcGxhY2VtZW50OwogICAgICAgICBhdXRvIHJlc3VsdExlbmd0aCA9IHJlc3VsdHNb
aV0ucmFuZ2UubGVuZ3RoOwogICAgICAgICBhdXRvIHJlc3VsdEVuZExvY2F0aW9uID0gcmVzdWx0
TG9jYXRpb24gKyByZXN1bHRMZW5ndGg7Ci0gICAgICAgIGF1dG8gYXV0b21hdGljUmVwbGFjZW1l
bnRFbmRMb2NhdGlvbiA9IHBhcmFncmFwaC5hdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0KCkgKyBw
YXJhZ3JhcGguYXV0b21hdGljUmVwbGFjZW1lbnRMZW5ndGgoKSArIG9mZnNldER1ZVRvUmVwbGFj
ZW1lbnQ7CisgICAgICAgIGF1dG8gYXV0b21hdGljUmVwbGFjZW1lbnRTdGFydExvY2F0aW9uID0g
cGFyYWdyYXBoLmF1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnQodHJ1ZSk7CisgICAgICAgIGF1dG8g
YXV0b21hdGljUmVwbGFjZW1lbnRFbmRMb2NhdGlvbiA9IGF1dG9tYXRpY1JlcGxhY2VtZW50U3Rh
cnRMb2NhdGlvbiArIHBhcmFncmFwaC5hdXRvbWF0aWNSZXBsYWNlbWVudExlbmd0aCh0cnVlKSAr
IG9mZnNldER1ZVRvUmVwbGFjZW1lbnQ7CiAgICAgICAgIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1l
bnQgPSByZXN1bHRzW2ldLnJlcGxhY2VtZW50OwogICAgICAgICBib29sIHJlc3VsdEVuZHNBdEFt
YmlndW91c0JvdW5kYXJ5ID0gdXNlQW1iaWd1b3VzQm91bmRhcnlPZmZzZXQgJiYgc2VsZWN0aW9u
T2Zmc2V0IC0gMSA8PSByZXN1bHRFbmRMb2NhdGlvbjsKIApAQCAtMjgyNCw3ICsyODI1LDcgQEAg
dm9pZCBFZGl0b3I6Om1hcmtBbmRSZXBsYWNlRm9yKGNvbnN0IFNwZWxsQ2hlY2tSZXF1ZXN0JiBy
ZXF1ZXN0LCBjb25zdCBWZWN0b3I8VGUKICAgICAgICAgICAgICAgICAgICAgYWRkTWFya2VyKGJh
ZEdyYW1tYXJSYW5nZSwgRG9jdW1lbnRNYXJrZXI6OkdyYW1tYXIsIGRldGFpbC51c2VyRGVzY3Jp
cHRpb24pOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNl
IGlmIChyZXN1bHRFbmRMb2NhdGlvbiA8PSBhdXRvbWF0aWNSZXBsYWNlbWVudEVuZExvY2F0aW9u
ICYmIHJlc3VsdEVuZExvY2F0aW9uID49IHBhcmFncmFwaC5hdXRvbWF0aWNSZXBsYWNlbWVudFN0
YXJ0KCkKKyAgICAgICAgfSBlbHNlIGlmIChhdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0TG9jYXRp
b24gPD0gcmVzdWx0RW5kTG9jYXRpb24gJiYgcmVzdWx0RW5kTG9jYXRpb24gPD0gYXV0b21hdGlj
UmVwbGFjZW1lbnRFbmRMb2NhdGlvbgogICAgICAgICAgICAgJiYgaXNBdXRvbWF0aWNUZXh0UmVw
bGFjZW1lbnRUeXBlKHJlc3VsdFR5cGUpKSB7CiAgICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2Ug
dGhlIHJlc3VsdCByYW5nZSBqdXN0IGhhcyB0byB0b3VjaCB0aGUgYXV0b21hdGljIHJlcGxhY2Vt
ZW50IHJhbmdlLCBzbyB3ZSBjYW4gaGFuZGxlIHJlcGxhY2luZyBub24td29yZCB0ZXh0IHN1Y2gg
YXMgcHVuY3R1YXRpb24uCiAgICAgICAgICAgICBBU1NFUlQocmVzdWx0TGVuZ3RoID4gMCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5jcHAKaW5kZXggNTI2
ZGVlZGY2ODA3ZDM2YWU3ODllY2U0MmEwODEwODBhNWZmZjMyMi4uNTQ5Y2MwZWZjM2YzNDg5MTE0
M2ZjMzY3MWIwOTMwZDc4YTAxZDgxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9UZXh0Q2hlY2tpbmdIZWxwZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4
dENoZWNraW5nSGVscGVyLmNwcApAQCAtMjA4LDE3ICsyMDgsMjkgQEAgdWludDY0X3QgVGV4dENo
ZWNraW5nUGFyYWdyYXBoOjpjaGVja2luZ0xlbmd0aCgpIGNvbnN0CiAgICAgcmV0dXJuICptX2No
ZWNraW5nTGVuZ3RoOwogfQogCi11aW50NjRfdCBUZXh0Q2hlY2tpbmdQYXJhZ3JhcGg6OmF1dG9t
YXRpY1JlcGxhY2VtZW50U3RhcnQoKSBjb25zdAordWludDY0X3QgVGV4dENoZWNraW5nUGFyYWdy
YXBoOjphdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0KGJvb2wgb2xkQmVoYXZpb3VyKSBjb25zdAog
ewotICAgIGlmICghbV9hdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0KQotICAgICAgICBtX2F1dG9t
YXRpY1JlcGxhY2VtZW50U3RhcnQgPSBjaGFyYWN0ZXJDb3VudCh7IHBhcmFncmFwaFJhbmdlKCku
c3RhcnQsIG1fYXV0b21hdGljUmVwbGFjZW1lbnRSYW5nZS5zdGFydCB9KTsKKyAgICBpZiAoIW1f
YXV0b21hdGljUmVwbGFjZW1lbnRTdGFydCkgeworCisgICAgICAgIGF1dG8gb3JkZXJpbmcgPSBk
b2N1bWVudE9yZGVyKHBhcmFncmFwaFJhbmdlKCkuc3RhcnQsIG1fYXV0b21hdGljUmVwbGFjZW1l
bnRSYW5nZS5zdGFydCk7CisgICAgICAgIGlmIChvbGRCZWhhdmlvdXIgJiYgaXNfZ3Qob3JkZXJp
bmcpKQorICAgICAgICAgICAgbV9hdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0ID0gY2hhcmFjdGVy
Q291bnQoeyBtX2F1dG9tYXRpY1JlcGxhY2VtZW50UmFuZ2Uuc3RhcnQsIG1fYXV0b21hdGljUmVw
bGFjZW1lbnRSYW5nZS5zdGFydCB9KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbV9hdXRv
bWF0aWNSZXBsYWNlbWVudFN0YXJ0ID0gY2hhcmFjdGVyQ291bnQoeyBwYXJhZ3JhcGhSYW5nZSgp
LnN0YXJ0LCBtX2F1dG9tYXRpY1JlcGxhY2VtZW50UmFuZ2Uuc3RhcnQgfSk7CisgICAgICAgIAor
ICAgIH0KICAgICByZXR1cm4gKm1fYXV0b21hdGljUmVwbGFjZW1lbnRTdGFydDsKIH0KIAotdWlu
dDY0X3QgVGV4dENoZWNraW5nUGFyYWdyYXBoOjphdXRvbWF0aWNSZXBsYWNlbWVudExlbmd0aCgp
IGNvbnN0Cit1aW50NjRfdCBUZXh0Q2hlY2tpbmdQYXJhZ3JhcGg6OmF1dG9tYXRpY1JlcGxhY2Vt
ZW50TGVuZ3RoKGJvb2wgb2xkQmVoYXZpb3VyKSBjb25zdAogewotICAgIGlmICghbV9hdXRvbWF0
aWNSZXBsYWNlbWVudExlbmd0aCkKLSAgICAgICAgbV9hdXRvbWF0aWNSZXBsYWNlbWVudExlbmd0
aCA9IGNoYXJhY3RlckNvdW50KG1fYXV0b21hdGljUmVwbGFjZW1lbnRSYW5nZSk7CisgICAgaWYg
KCFtX2F1dG9tYXRpY1JlcGxhY2VtZW50TGVuZ3RoKSB7CisgICAgICAgIGF1dG8gb3JkZXJpbmcg
PSBkb2N1bWVudE9yZGVyKHBhcmFncmFwaFJhbmdlKCkuc3RhcnQsIG1fYXV0b21hdGljUmVwbGFj
ZW1lbnRSYW5nZS5zdGFydCk7CisgICAgICAgIGlmIChvbGRCZWhhdmlvdXIgJiYgaXNfZ3Qob3Jk
ZXJpbmcpKQorICAgICAgICAgICAgbV9hdXRvbWF0aWNSZXBsYWNlbWVudExlbmd0aCA9IGNoYXJh
Y3RlckNvdW50KHsgcGFyYWdyYXBoUmFuZ2UoKS5zdGFydCwgbV9hdXRvbWF0aWNSZXBsYWNlbWVu
dFJhbmdlLmVuZCB9KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbV9hdXRvbWF0aWNSZXBs
YWNlbWVudExlbmd0aCA9IGNoYXJhY3RlckNvdW50KG1fYXV0b21hdGljUmVwbGFjZW1lbnRSYW5n
ZSk7CisgICAgfQogICAgIHJldHVybiAqbV9hdXRvbWF0aWNSZXBsYWNlbWVudExlbmd0aDsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKaW5kZXggYjVk
MjNhMmVlM2Y1ZWZhOGU4Y2NjMmUzODhjYzA5OTg0ZjJkODc3MS4uMGNmOWEzNWVhMWU4Nzg4Yzg3
ODAxMTcyZDdmNWVhMGJmYjM4MjQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRD
aGVja2luZ0hlbHBlci5oCkBAIC01NCw4ICs1NCw4IEBAIHB1YmxpYzoKICAgICB1aW50NjRfdCBj
aGVja2luZ0xlbmd0aCgpIGNvbnN0OwogICAgIFN0cmluZ1ZpZXcgY2hlY2tpbmdTdWJzdHJpbmco
KSBjb25zdCB7IHJldHVybiB0ZXh0KCkuc3Vic3RyaW5nKGNoZWNraW5nU3RhcnQoKSwgY2hlY2tp
bmdMZW5ndGgoKSk7IH0KIAotICAgIHVpbnQ2NF90IGF1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnQo
KSBjb25zdDsKLSAgICB1aW50NjRfdCBhdXRvbWF0aWNSZXBsYWNlbWVudExlbmd0aCgpIGNvbnN0
OworICAgIHVpbnQ2NF90IGF1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnQoYm9vbCA9IGZhbHNlKSBj
b25zdDsKKyAgICB1aW50NjRfdCBhdXRvbWF0aWNSZXBsYWNlbWVudExlbmd0aChib29sID0gZmFs
c2UpIGNvbnN0OwogCiAgICAgYm9vbCBjaGVja2luZ1JhbmdlTWF0Y2hlcyhDaGFyYWN0ZXJSYW5n
ZSByYW5nZSkgY29uc3QgeyByZXR1cm4gcmFuZ2UubG9jYXRpb24gPT0gY2hlY2tpbmdTdGFydCgp
ICYmIHJhbmdlLmxlbmd0aCA9PSBjaGVja2luZ0xlbmd0aCgpOyB9CiAgICAgYm9vbCBpc0NoZWNr
aW5nUmFuZ2VDb3ZlcmVkQnkoQ2hhcmFjdGVyUmFuZ2UgcmFuZ2UpIGNvbnN0IHsgcmV0dXJuIHJh
bmdlLmxvY2F0aW9uIDw9IGNoZWNraW5nU3RhcnQoKSAmJiByYW5nZS5sb2NhdGlvbiArIHJhbmdl
Lmxlbmd0aCA+PSBjaGVja2luZ1N0YXJ0KCkgKyBjaGVja2luZ0xlbmd0aCgpOyB9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
YjgxOGQxNDk5ZTgyOGRlNTk3ZTVjZmUzNjU5MDkyMjZlOTkzMzJjYi4uZWZkMTQ1Yzg5YTU4NDVh
ZjM5YzViNDk2ZmZkYmMwYzVmZTIwMTZjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTA5
LTA5ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAg
T3ZlcmxhcHBpbmcgdGV4dCByZXBsYWNlbWVudHMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUg
YXJlIHJlcGxhY2VkIHRvbyBlYXJseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjE2MzI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5nL3RleHQtcmVwbGFjZW1lbnQtZmlyc3Qt
d29yZC1zZWNvbmQtbGluZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcv
c3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5lLmh0bWw6IEFk
ZGVkLgorCiAyMDIwLTA5LTA4ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgog
CiAgICAgICAgIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcgYWZ0ZXIgcjI2Njc2MS4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJz
dC13b3JkLXNlY29uZC1saW5lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3Bl
bGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5lLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41YWNhOGY4ZjM4YTNlOWU4YjcwMzdkNzgxN2JjODk4YTc2MjI4ZTUyCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy90ZXh0LXJlcGxh
Y2VtZW50LWZpcnN0LXdvcmQtc2Vjb25kLWxpbmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzIg
QEAKK1RvIG1hbnVhbGx5IHRlc3QsIGFkZCBhbiBhdXRvbWF0aWMgdGV4dCByZXBsYWNlbWVudCBt
YXBwaW5nIGZyb20gdGhlIHN0cmluZyAnKionIHRvICdzdGFycycuIFRoZW4sIG9uIHRoZSBzZWNv
bmQgbGluZSAodGhpcyBpcyBpbXBvcmF0YW50LCBpdCBtdXN0IG5vdCBiZSB0aGUgZmlyc3QgbGlu
ZSkgb2YgYSBjb250ZW50ZWRpdGFibGUsIHR5cGUgdGhlIHN0cmluZyAnKionLiBJdCBzaG91bGQg
bm90IGJlIGltbWVkaWF0ZWx5IGNvcnJlY3RlZCB0byAnc3RhcnMnLiBUeXBlIGFueSBvdGhlciBj
aGFyYWN0ZXIsIHdoaWNoIHNob3VsZCB0aGVuIGNoYW5nZSAnKionIHRvICdzdGFycycuCisKK0Fm
dGVyIHR5cGluZyBwb3NzaWJsZSByZXBsYWNtZW50OgorfCAiCisgICAgICAgICIKK3wgPGRpdj4K
K3wgICA8YnI+Cit8IDxkaXY+Cit8ICAgIioqPCNzZWxlY3Rpb24tY2FyZXQ+IgorfCAiCisgICAg
ICAgICIKK3wgPGRpdj4KK3wgICA8YnI+Cit8ICIKKyAgICAiCisKK0FmdGVyIHByZXNzaW5nIGVu
dGVyOgorfCAiCisgICAgICAgICIKK3wgPGRpdj4KK3wgICA8YnI+Cit8IDxkaXY+Cit8ICAgIlN0
YXJzIgorfCA8ZGl2PgorfCAgIDwjc2VsZWN0aW9uLWNhcmV0PgorfCAgIDxicj4KK3wgIgorICAg
ICAgICAiCit8IDxkaXY+Cit8ICAgPGJyPgorfCAiCisgICAgIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZWRpdGluZy9zcGVsbGluZy90ZXh0LXJlcGxhY2VtZW50LWZpcnN0LXdvcmQtc2Vjb25k
LWxpbmUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVu
dC1maXJzdC13b3JkLXNlY29uZC1saW5lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTBlOGExZjExODVkZmIw
N2M5OWNmMmJlNzdiODVkZmNjYmFjMWMyYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5l
Lmh0bWwKQEAgLTAsMCArMSw1NSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2Vk
aXRpbmcuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK01hcmt1cC5kZXNjcmlwdGlvbigiVG8gbWFu
dWFsbHkgdGVzdCwgYWRkIGFuIGF1dG9tYXRpYyB0ZXh0IHJlcGxhY2VtZW50IG1hcHBpbmcgZnJv
bSB0aGUgc3RyaW5nICcqKicgdG8gJ3N0YXJzJy4gVGhlbiwgb24gdGhlIHNlY29uZCBsaW5lICh0
aGlzIGlzIGltcG9yYXRhbnQsIGl0IG11c3Qgbm90IGJlIHRoZSBmaXJzdCBsaW5lKSBvZiBhIGNv
bnRlbnRlZGl0YWJsZSwgdHlwZSB0aGUgc3RyaW5nICcqKicuIEl0IHNob3VsZCBub3QgYmUgaW1t
ZWRpYXRlbHkgY29ycmVjdGVkIHRvICdzdGFycycuIFR5cGUgYW55IG90aGVyIGNoYXJhY3Rlciwg
d2hpY2ggc2hvdWxkIHRoZW4gY2hhbmdlICcqKicgdG8gJ3N0YXJzJy4iKTsKK01hcmt1cC53YWl0
VW50aWxEb25lKCk7CisKK2FzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICh3aW5k
b3cuaW50ZXJuYWxzKSB7CisgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVbmlmaWVkVGV4
dENoZWNrZXJFbmFibGVkKHRydWUpOworICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXN5
bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoZmFsc2UpOworICAgICAgICBpbnRlcm5hbHMu
c2V0QXV0b21hdGljVGV4dFJlcGxhY2VtZW50RW5hYmxlZCh0cnVlKTsKKyAgICAgICAgaW50ZXJu
YWxzLnNldEF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQodHJ1ZSk7CisgICAgICAg
IGF3YWl0IFVJSGVscGVyLnNldFNwZWxsQ2hlY2tlclJlc3VsdHMoeworICAgICAgICAgICAgIioq
IjogWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgInJlcGxhY2VtZW50
IjogInN0YXJzIiwKKyAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmVwbGFjZW1lbnQiLAor
ICAgICAgICAgICAgICAgICAgICAiZnJvbSI6IDAsCisgICAgICAgICAgICAgICAgICAgICJ0byI6
IDIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdCisgICAgICAgIH0pOworICAgIH0K
KworICAgIGNvbnN0IGVkaXRvciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlZGl0b3IiKTsK
KyAgICBlZGl0b3IuZm9jdXMoKTsKKyAgICBpbnNlcnRQYXJhZ3JhcGhDb21tYW5kKCk7CisKKyAg
ICBmb3IgKGNvbnN0IGNoYXJhY3RlciBvZiAiKioiKQorICAgICAgICB0eXBlQ2hhcmFjdGVyQ29t
bWFuZChjaGFyYWN0ZXIpOworICAgIGF3YWl0IFVJSGVscGVyLmRlbGF5Rm9yKDApOworCisgICAg
TWFya3VwLmR1bXAoZWRpdG9yLCAiQWZ0ZXIgdHlwaW5nIHBvc3NpYmxlIHJlcGxhY21lbnQiKTsK
KworICAgIGluc2VydFBhcmFncmFwaENvbW1hbmQoKTsKKyAgICBhd2FpdCBVSUhlbHBlci5kZWxh
eUZvcigwKTsKKworICAgIE1hcmt1cC5kdW1wKGVkaXRvciwgIkFmdGVyIHByZXNzaW5nIGVudGVy
Iik7CisgICAgTWFya3VwLm5vdGlmeURvbmUoKTsKK30KKzwvc2NyaXB0PgorPC9oZWFkPgorCis8
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+CisgICAgPGRpdiBpZD0iZGVzY3JpcHRpb24iPjwvZGl2
PgorICAgIDxkaXYgY29udGVudGVkaXRhYmxlIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAxZW07IGJv
cmRlcjogMXB4IG9yYW5nZSBkYXNoZWQ7IiBpZD0iZWRpdG9yIj4KKyAgICAgICAgPGRpdj48YnI+
PC9kaXY+CisgICAgICAgIDxkaXY+PGJyPjwvZGl2PgorICAgIDwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408396</attachid>
            <date>2020-09-09 19:00:27 -0700</date>
            <delta_ts>2020-09-10 10:29:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216327-20200909190026.patch</filename>
            <type>text/plain</type>
            <size>10488</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2Nzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGZkMjkxYjQxZjEzYzRl
OWYzN2YyZmZhZjllNTM3OTUxYjZlMGE3My4uZTFmOTc5ZWUzMDAzMmNlY2I1NWNmOWJhZDFmMGVh
ZmFlMWU1MjllNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIwLTA5LTA5ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgVGV4dCByZXBs
YWNlbWVudHMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIHNlY29uZCBsaW5lIGFyZSByZXBsYWNlZCB0
b28gZWFybHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNjMyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluIHRoZSBjaGFuZ2VzIGluIHIyNTg4NzEsIHVzaW5nIFNpbXBsZVJhbmdlcyBpbnN0ZWFkIG9m
IFJhbmdlIGNhdXNpbmcgc29tZSBzaWRlIGVmZmVjdHMKKyAgICAgICAgd2hlbiB0aGUgcmVwbGFj
ZW1lbnRzIGF0IHRoZSBiZWdpbm5pbmcgb2YgbGluZXMuIFRoZSByYW5nZXMgdGhhdCB3ZSBhcmUg
Y291bnRpbmcgYXJlIGJhY2t3YXJkcworICAgICAgICBhbmQgdGhlIHJldHVybiBjaGFyYWN0ZXJz
IGFyZSBiZWluZyBjb3VudGVkIGluc3RlYWQgb2YgYmVpbmcgaWdub3JlZC4gVGhlcmUgaXMgYWxt
b3N0IAorICAgICAgICBjZXJ0YWlubHkgYSBiZXR0ZXIgZml4IHRoYW4gdGhpcywgYnV0IHRoaXMg
cGF0Y2ggcmVzdG9yZXMgdGhlIG9yaWdpbmFsIGxvZ2ljIHRoYXQKKyAgICAgICAgd2FzIHByZXNl
bnQgd2hlbiBSYW5nZSB3YXMgYmVpbmcgdXNlZCwgdW50aWwgYSBiZXR0ZXIgZml4IGNhbiBiZSB3
b3JrZWQgb3V0LiAKKworICAgICAgICBUZXN0OiBlZGl0aW5nL3NwZWxsaW5nL3RleHQtcmVwbGFj
ZW1lbnQtZmlyc3Qtd29yZC1zZWNvbmQtbGluZS5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL0Vk
aXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6Om1hcmtBbmRSZXBsYWNlRm9yKToK
KyAgICAgICAgKiBlZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0Q2hlY2tpbmdQYXJhZ3JhcGg6OmF1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dENoZWNraW5nUGFyYWdyYXBoOjphdXRvbWF0aWNS
ZXBsYWNlbWVudExlbmd0aCBjb25zdCk6CisgICAgICAgICogZWRpdGluZy9UZXh0Q2hlY2tpbmdI
ZWxwZXIuaDoKKwogMjAyMC0wOS0wOCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBIYXZpbmcgYW4gaWZyYW1lIGFzIGEgZGVzY2VuZGVudCBub2RlIHNob3VsZG4n
dCByZXF1aXJlIEVsZW1lbnRSYXJlRGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4
IDM5MTNmMmVjODk1MjdmNjQzOTdkNWFhNTk5ZTEzMzA0ODNkYjM1YzEuLmM2MjdkOGRmZTRjYzFj
MzdiYzRlZTVmYzM1ZmIxN2Q3YWU2OTA5N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAK
QEAgLTI3OTksNyArMjc5OSw4IEBAIHZvaWQgRWRpdG9yOjptYXJrQW5kUmVwbGFjZUZvcihjb25z
dCBTcGVsbENoZWNrUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVmVjdG9yPFRlCiAgICAgICAgIGF1
dG8gcmVzdWx0TG9jYXRpb24gPSByZXN1bHRzW2ldLnJhbmdlLmxvY2F0aW9uICsgb2Zmc2V0RHVl
VG9SZXBsYWNlbWVudDsKICAgICAgICAgYXV0byByZXN1bHRMZW5ndGggPSByZXN1bHRzW2ldLnJh
bmdlLmxlbmd0aDsKICAgICAgICAgYXV0byByZXN1bHRFbmRMb2NhdGlvbiA9IHJlc3VsdExvY2F0
aW9uICsgcmVzdWx0TGVuZ3RoOwotICAgICAgICBhdXRvIGF1dG9tYXRpY1JlcGxhY2VtZW50RW5k
TG9jYXRpb24gPSBwYXJhZ3JhcGguYXV0b21hdGljUmVwbGFjZW1lbnRTdGFydCgpICsgcGFyYWdy
YXBoLmF1dG9tYXRpY1JlcGxhY2VtZW50TGVuZ3RoKCkgKyBvZmZzZXREdWVUb1JlcGxhY2VtZW50
OworICAgICAgICBhdXRvIGF1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnRMb2NhdGlvbiA9IHBhcmFn
cmFwaC5hdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0KHRydWUpOworICAgICAgICBhdXRvIGF1dG9t
YXRpY1JlcGxhY2VtZW50RW5kTG9jYXRpb24gPSBhdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0TG9j
YXRpb24gKyBwYXJhZ3JhcGguYXV0b21hdGljUmVwbGFjZW1lbnRMZW5ndGgodHJ1ZSkgKyBvZmZz
ZXREdWVUb1JlcGxhY2VtZW50OwogICAgICAgICBjb25zdCBTdHJpbmcmIHJlcGxhY2VtZW50ID0g
cmVzdWx0c1tpXS5yZXBsYWNlbWVudDsKICAgICAgICAgYm9vbCByZXN1bHRFbmRzQXRBbWJpZ3Vv
dXNCb3VuZGFyeSA9IHVzZUFtYmlndW91c0JvdW5kYXJ5T2Zmc2V0ICYmIHNlbGVjdGlvbk9mZnNl
dCAtIDEgPD0gcmVzdWx0RW5kTG9jYXRpb247CiAKQEAgLTI4MjQsNyArMjgyNSw3IEBAIHZvaWQg
RWRpdG9yOjptYXJrQW5kUmVwbGFjZUZvcihjb25zdCBTcGVsbENoZWNrUmVxdWVzdCYgcmVxdWVz
dCwgY29uc3QgVmVjdG9yPFRlCiAgICAgICAgICAgICAgICAgICAgIGFkZE1hcmtlcihiYWRHcmFt
bWFyUmFuZ2UsIERvY3VtZW50TWFya2VyOjpHcmFtbWFyLCBkZXRhaWwudXNlckRlc2NyaXB0aW9u
KTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSBpZiAo
cmVzdWx0RW5kTG9jYXRpb24gPD0gYXV0b21hdGljUmVwbGFjZW1lbnRFbmRMb2NhdGlvbiAmJiBy
ZXN1bHRFbmRMb2NhdGlvbiA+PSBwYXJhZ3JhcGguYXV0b21hdGljUmVwbGFjZW1lbnRTdGFydCgp
CisgICAgICAgIH0gZWxzZSBpZiAoYXV0b21hdGljUmVwbGFjZW1lbnRTdGFydExvY2F0aW9uIDw9
IHJlc3VsdEVuZExvY2F0aW9uICYmIHJlc3VsdEVuZExvY2F0aW9uIDw9IGF1dG9tYXRpY1JlcGxh
Y2VtZW50RW5kTG9jYXRpb24KICAgICAgICAgICAgICYmIGlzQXV0b21hdGljVGV4dFJlcGxhY2Vt
ZW50VHlwZShyZXN1bHRUeXBlKSkgewogICAgICAgICAgICAgLy8gSW4gdGhpcyBjYXNlIHRoZSBy
ZXN1bHQgcmFuZ2UganVzdCBoYXMgdG8gdG91Y2ggdGhlIGF1dG9tYXRpYyByZXBsYWNlbWVudCBy
YW5nZSwgc28gd2UgY2FuIGhhbmRsZSByZXBsYWNpbmcgbm9uLXdvcmQgdGV4dCBzdWNoIGFzIHB1
bmN0dWF0aW9uLgogICAgICAgICAgICAgQVNTRVJUKHJlc3VsdExlbmd0aCA+IDApOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuY3BwCmluZGV4IDUyNmRlZWRm
NjgwN2QzNmFlNzg5ZWNlNDJhMDgxMDgwYTVmZmYzMjIuLjU0OWNjMGVmYzNmMzQ4OTExNDNmYzM2
NzFiMDkzMGQ3OGEwMWQ4MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4
dENoZWNraW5nSGVscGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVj
a2luZ0hlbHBlci5jcHAKQEAgLTIwOCwxNyArMjA4LDI5IEBAIHVpbnQ2NF90IFRleHRDaGVja2lu
Z1BhcmFncmFwaDo6Y2hlY2tpbmdMZW5ndGgoKSBjb25zdAogICAgIHJldHVybiAqbV9jaGVja2lu
Z0xlbmd0aDsKIH0KIAotdWludDY0X3QgVGV4dENoZWNraW5nUGFyYWdyYXBoOjphdXRvbWF0aWNS
ZXBsYWNlbWVudFN0YXJ0KCkgY29uc3QKK3VpbnQ2NF90IFRleHRDaGVja2luZ1BhcmFncmFwaDo6
YXV0b21hdGljUmVwbGFjZW1lbnRTdGFydChib29sIG9sZEJlaGF2aW91cikgY29uc3QKIHsKLSAg
ICBpZiAoIW1fYXV0b21hdGljUmVwbGFjZW1lbnRTdGFydCkKLSAgICAgICAgbV9hdXRvbWF0aWNS
ZXBsYWNlbWVudFN0YXJ0ID0gY2hhcmFjdGVyQ291bnQoeyBwYXJhZ3JhcGhSYW5nZSgpLnN0YXJ0
LCBtX2F1dG9tYXRpY1JlcGxhY2VtZW50UmFuZ2Uuc3RhcnQgfSk7CisgICAgaWYgKCFtX2F1dG9t
YXRpY1JlcGxhY2VtZW50U3RhcnQpIHsKKworICAgICAgICBhdXRvIG9yZGVyaW5nID0gZG9jdW1l
bnRPcmRlcihwYXJhZ3JhcGhSYW5nZSgpLnN0YXJ0LCBtX2F1dG9tYXRpY1JlcGxhY2VtZW50UmFu
Z2Uuc3RhcnQpOworICAgICAgICBpZiAob2xkQmVoYXZpb3VyICYmIGlzX2d0KG9yZGVyaW5nKSkK
KyAgICAgICAgICAgIG1fYXV0b21hdGljUmVwbGFjZW1lbnRTdGFydCA9IGNoYXJhY3RlckNvdW50
KHsgbV9hdXRvbWF0aWNSZXBsYWNlbWVudFJhbmdlLnN0YXJ0LCBtX2F1dG9tYXRpY1JlcGxhY2Vt
ZW50UmFuZ2Uuc3RhcnQgfSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fYXV0b21hdGlj
UmVwbGFjZW1lbnRTdGFydCA9IGNoYXJhY3RlckNvdW50KHsgcGFyYWdyYXBoUmFuZ2UoKS5zdGFy
dCwgbV9hdXRvbWF0aWNSZXBsYWNlbWVudFJhbmdlLnN0YXJ0IH0pOworICAgICAgICAKKyAgICB9
CiAgICAgcmV0dXJuICptX2F1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnQ7CiB9CiAKLXVpbnQ2NF90
IFRleHRDaGVja2luZ1BhcmFncmFwaDo6YXV0b21hdGljUmVwbGFjZW1lbnRMZW5ndGgoKSBjb25z
dAordWludDY0X3QgVGV4dENoZWNraW5nUGFyYWdyYXBoOjphdXRvbWF0aWNSZXBsYWNlbWVudExl
bmd0aChib29sIG9sZEJlaGF2aW91cikgY29uc3QKIHsKLSAgICBpZiAoIW1fYXV0b21hdGljUmVw
bGFjZW1lbnRMZW5ndGgpCi0gICAgICAgIG1fYXV0b21hdGljUmVwbGFjZW1lbnRMZW5ndGggPSBj
aGFyYWN0ZXJDb3VudChtX2F1dG9tYXRpY1JlcGxhY2VtZW50UmFuZ2UpOworICAgIGlmICghbV9h
dXRvbWF0aWNSZXBsYWNlbWVudExlbmd0aCkgeworICAgICAgICBhdXRvIG9yZGVyaW5nID0gZG9j
dW1lbnRPcmRlcihwYXJhZ3JhcGhSYW5nZSgpLnN0YXJ0LCBtX2F1dG9tYXRpY1JlcGxhY2VtZW50
UmFuZ2Uuc3RhcnQpOworICAgICAgICBpZiAob2xkQmVoYXZpb3VyICYmIGlzX2d0KG9yZGVyaW5n
KSkKKyAgICAgICAgICAgIG1fYXV0b21hdGljUmVwbGFjZW1lbnRMZW5ndGggPSBjaGFyYWN0ZXJD
b3VudCh7IHBhcmFncmFwaFJhbmdlKCkuc3RhcnQsIG1fYXV0b21hdGljUmVwbGFjZW1lbnRSYW5n
ZS5lbmQgfSk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fYXV0b21hdGljUmVwbGFjZW1l
bnRMZW5ndGggPSBjaGFyYWN0ZXJDb3VudChtX2F1dG9tYXRpY1JlcGxhY2VtZW50UmFuZ2UpOwor
ICAgIH0KICAgICByZXR1cm4gKm1fYXV0b21hdGljUmVwbGFjZW1lbnRMZW5ndGg7CiB9CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmggYi9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCmluZGV4IGI1ZDIzYTJl
ZTNmNWVmYThlOGNjYzJlMzg4Y2MwOTk4NGYyZDg3NzEuLjBjZjlhMzVlYTFlODc4OGM4NzgwMTE3
MmQ3ZjVlYTBiZmIzODI0NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4
dENoZWNraW5nSGVscGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tp
bmdIZWxwZXIuaApAQCAtNTQsOCArNTQsOCBAQCBwdWJsaWM6CiAgICAgdWludDY0X3QgY2hlY2tp
bmdMZW5ndGgoKSBjb25zdDsKICAgICBTdHJpbmdWaWV3IGNoZWNraW5nU3Vic3RyaW5nKCkgY29u
c3QgeyByZXR1cm4gdGV4dCgpLnN1YnN0cmluZyhjaGVja2luZ1N0YXJ0KCksIGNoZWNraW5nTGVu
Z3RoKCkpOyB9CiAKLSAgICB1aW50NjRfdCBhdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0KCkgY29u
c3Q7Ci0gICAgdWludDY0X3QgYXV0b21hdGljUmVwbGFjZW1lbnRMZW5ndGgoKSBjb25zdDsKKyAg
ICB1aW50NjRfdCBhdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0KGJvb2wgPSBmYWxzZSkgY29uc3Q7
CisgICAgdWludDY0X3QgYXV0b21hdGljUmVwbGFjZW1lbnRMZW5ndGgoYm9vbCA9IGZhbHNlKSBj
b25zdDsKIAogICAgIGJvb2wgY2hlY2tpbmdSYW5nZU1hdGNoZXMoQ2hhcmFjdGVyUmFuZ2UgcmFu
Z2UpIGNvbnN0IHsgcmV0dXJuIHJhbmdlLmxvY2F0aW9uID09IGNoZWNraW5nU3RhcnQoKSAmJiBy
YW5nZS5sZW5ndGggPT0gY2hlY2tpbmdMZW5ndGgoKTsgfQogICAgIGJvb2wgaXNDaGVja2luZ1Jh
bmdlQ292ZXJlZEJ5KENoYXJhY3RlclJhbmdlIHJhbmdlKSBjb25zdCB7IHJldHVybiByYW5nZS5s
b2NhdGlvbiA8PSBjaGVja2luZ1N0YXJ0KCkgJiYgcmFuZ2UubG9jYXRpb24gKyByYW5nZS5sZW5n
dGggPj0gY2hlY2tpbmdTdGFydCgpICsgY2hlY2tpbmdMZW5ndGgoKTsgfQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI4MThk
MTQ5OWU4MjhkZTU5N2U1Y2ZlMzY1OTA5MjI2ZTk5MzMyY2IuLmVmZDE0NWM4OWE1ODQ1YWYzOWM1
YjQ5NmZmZGJjMGM1ZmUyMDE2YzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wOS0wOSAg
TWVnYW4gR2FyZG5lciAgPG1lZ2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIE92ZXJs
YXBwaW5nIHRleHQgcmVwbGFjZW1lbnRzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBsaW5lIGFyZSBy
ZXBsYWNlZCB0b28gZWFybHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIxNjMyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogZWRpdGluZy9zcGVsbGluZy90ZXh0LXJlcGxhY2VtZW50LWZpcnN0LXdvcmQt
c2Vjb25kLWxpbmUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NwZWxs
aW5nL3RleHQtcmVwbGFjZW1lbnQtZmlyc3Qtd29yZC1zZWNvbmQtbGluZS5odG1sOiBBZGRlZC4K
KwogMjAyMC0wOS0wOCAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAg
ICAgICBVbnJldmlld2VkIHRlc3QgZ2FyZGVuaW5nIGFmdGVyIHIyNjY3NjEuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3RleHQtcmVwbGFjZW1lbnQtZmlyc3Qtd29y
ZC1zZWNvbmQtbGluZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5n
L3RleHQtcmVwbGFjZW1lbnQtZmlyc3Qtd29yZC1zZWNvbmQtbGluZS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNWFjYThmOGYzOGEzZTllOGI3MDM3ZDc4MTdiYzg5OGE3NjIyOGU1MgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVu
dC1maXJzdC13b3JkLXNlY29uZC1saW5lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMyIEBACitU
byBtYW51YWxseSB0ZXN0LCBhZGQgYW4gYXV0b21hdGljIHRleHQgcmVwbGFjZW1lbnQgbWFwcGlu
ZyBmcm9tIHRoZSBzdHJpbmcgJyoqJyB0byAnc3RhcnMnLiBUaGVuLCBvbiB0aGUgc2Vjb25kIGxp
bmUgKHRoaXMgaXMgaW1wb3JhdGFudCwgaXQgbXVzdCBub3QgYmUgdGhlIGZpcnN0IGxpbmUpIG9m
IGEgY29udGVudGVkaXRhYmxlLCB0eXBlIHRoZSBzdHJpbmcgJyoqJy4gSXQgc2hvdWxkIG5vdCBi
ZSBpbW1lZGlhdGVseSBjb3JyZWN0ZWQgdG8gJ3N0YXJzJy4gVHlwZSBhbnkgb3RoZXIgY2hhcmFj
dGVyLCB3aGljaCBzaG91bGQgdGhlbiBjaGFuZ2UgJyoqJyB0byAnc3RhcnMnLgorCitBZnRlciB0
eXBpbmcgcG9zc2libGUgcmVwbGFjbWVudDoKK3wgIgorICAgICAgICAiCit8IDxkaXY+Cit8ICAg
PGJyPgorfCA8ZGl2PgorfCAgICIqKjwjc2VsZWN0aW9uLWNhcmV0PiIKK3wgIgorICAgICAgICAi
Cit8IDxkaXY+Cit8ICAgPGJyPgorfCAiCisgICAgIgorCitBZnRlciBwcmVzc2luZyBlbnRlcjoK
K3wgIgorICAgICAgICAiCit8IDxkaXY+Cit8ICAgPGJyPgorfCA8ZGl2PgorfCAgICJTdGFycyIK
K3wgPGRpdj4KK3wgICA8I3NlbGVjdGlvbi1jYXJldD4KK3wgICA8YnI+Cit8ICIKKyAgICAgICAg
IgorfCA8ZGl2PgorfCAgIDxicj4KK3wgIgorICAgICIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5l
Lmh0bWwgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3RleHQtcmVwbGFjZW1lbnQtZmly
c3Qtd29yZC1zZWNvbmQtbGluZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEwZThhMWYxMTg1ZGZiMDdjOTlj
ZjJiZTc3Yjg1ZGZjY2JhYzFjMmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NwZWxsaW5nL3RleHQtcmVwbGFjZW1lbnQtZmlyc3Qtd29yZC1zZWNvbmQtbGluZS5odG1s
CkBAIC0wLDAgKzEsNTUgQEAKKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3VpLWhlbHBlci5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2R1bXAtYXMtbWFya3VwLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9lZGl0aW5n
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CitNYXJrdXAuZGVzY3JpcHRpb24oIlRvIG1hbnVhbGx5
IHRlc3QsIGFkZCBhbiBhdXRvbWF0aWMgdGV4dCByZXBsYWNlbWVudCBtYXBwaW5nIGZyb20gdGhl
IHN0cmluZyAnKionIHRvICdzdGFycycuIFRoZW4sIG9uIHRoZSBzZWNvbmQgbGluZSAodGhpcyBp
cyBpbXBvcmF0YW50LCBpdCBtdXN0IG5vdCBiZSB0aGUgZmlyc3QgbGluZSkgb2YgYSBjb250ZW50
ZWRpdGFibGUsIHR5cGUgdGhlIHN0cmluZyAnKionLiBJdCBzaG91bGQgbm90IGJlIGltbWVkaWF0
ZWx5IGNvcnJlY3RlZCB0byAnc3RhcnMnLiBUeXBlIGFueSBvdGhlciBjaGFyYWN0ZXIsIHdoaWNo
IHNob3VsZCB0aGVuIGNoYW5nZSAnKionIHRvICdzdGFycycuIik7CitNYXJrdXAud2FpdFVudGls
RG9uZSgpOworCithc3luYyBmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93Lmlu
dGVybmFscykgeworICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VW5pZmllZFRleHRDaGVj
a2VyRW5hYmxlZCh0cnVlKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEFzeW5jaHJv
bm91c1NwZWxsQ2hlY2tpbmdFbmFibGVkKGZhbHNlKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldEF1
dG9tYXRpY1RleHRSZXBsYWNlbWVudEVuYWJsZWQodHJ1ZSk7CisgICAgICAgIGludGVybmFscy5z
ZXRBdXRvbWF0aWNTcGVsbGluZ0NvcnJlY3Rpb25FbmFibGVkKHRydWUpOworICAgICAgICBhd2Fp
dCBVSUhlbHBlci5zZXRTcGVsbENoZWNrZXJSZXN1bHRzKHsKKyAgICAgICAgICAgICIqKiI6IFsK
KyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJyZXBsYWNlbWVudCI6ICJz
dGFycyIsCisgICAgICAgICAgICAgICAgICAgICJ0eXBlIjogInJlcGxhY2VtZW50IiwKKyAgICAg
ICAgICAgICAgICAgICAgImZyb20iOiAwLAorICAgICAgICAgICAgICAgICAgICAidG8iOiAyCisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgXQorICAgICAgICB9KTsKKyAgICB9CisKKyAg
ICBjb25zdCBlZGl0b3IgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZWRpdG9yIik7CisgICAg
ZWRpdG9yLmZvY3VzKCk7CisgICAgaW5zZXJ0UGFyYWdyYXBoQ29tbWFuZCgpOworCisgICAgZm9y
IChjb25zdCBjaGFyYWN0ZXIgb2YgIioqIikKKyAgICAgICAgdHlwZUNoYXJhY3RlckNvbW1hbmQo
Y2hhcmFjdGVyKTsKKyAgICBhd2FpdCBVSUhlbHBlci5kZWxheUZvcigwKTsKKworICAgIE1hcmt1
cC5kdW1wKGVkaXRvciwgIkFmdGVyIHR5cGluZyBwb3NzaWJsZSByZXBsYWNtZW50Iik7CisKKyAg
ICBpbnNlcnRQYXJhZ3JhcGhDb21tYW5kKCk7CisgICAgYXdhaXQgVUlIZWxwZXIuZGVsYXlGb3Io
MCk7CisKKyAgICBNYXJrdXAuZHVtcChlZGl0b3IsICJBZnRlciBwcmVzc2luZyBlbnRlciIpOwor
ICAgIE1hcmt1cC5ub3RpZnlEb25lKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkg
b25sb2FkPSJydW5UZXN0KCkiPgorICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAg
ICA8ZGl2IGNvbnRlbnRlZGl0YWJsZSBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMWVtOyBib3JkZXI6
IDFweCBvcmFuZ2UgZGFzaGVkOyIgaWQ9ImVkaXRvciI+CisgICAgICAgIDxkaXY+PGJyPjwvZGl2
PgorICAgICAgICA8ZGl2Pjxicj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408456</attachid>
            <date>2020-09-10 10:29:48 -0700</date>
            <delta_ts>2020-09-10 13:48:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216327-20200910102948.patch</filename>
            <type>text/plain</type>
            <size>10014</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2Nzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGZkMjkxYjQxZjEzYzRl
OWYzN2YyZmZhZjllNTM3OTUxYjZlMGE3My4uZTFmOTc5ZWUzMDAzMmNlY2I1NWNmOWJhZDFmMGVh
ZmFlMWU1MjllNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDIwLTA5LTA5ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgVGV4dCByZXBs
YWNlbWVudHMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIHNlY29uZCBsaW5lIGFyZSByZXBsYWNlZCB0
b28gZWFybHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNjMyNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEluIHRoZSBjaGFuZ2VzIGluIHIyNTg4NzEsIHVzaW5nIFNpbXBsZVJhbmdlcyBpbnN0ZWFkIG9m
IFJhbmdlIGNhdXNpbmcgc29tZSBzaWRlIGVmZmVjdHMKKyAgICAgICAgd2hlbiB0aGUgcmVwbGFj
ZW1lbnRzIGF0IHRoZSBiZWdpbm5pbmcgb2YgbGluZXMuIFRoZSByYW5nZXMgdGhhdCB3ZSBhcmUg
Y291bnRpbmcgYXJlIGJhY2t3YXJkcworICAgICAgICBhbmQgdGhlIHJldHVybiBjaGFyYWN0ZXJz
IGFyZSBiZWluZyBjb3VudGVkIGluc3RlYWQgb2YgYmVpbmcgaWdub3JlZC4gVGhlcmUgaXMgYWxt
b3N0IAorICAgICAgICBjZXJ0YWlubHkgYSBiZXR0ZXIgZml4IHRoYW4gdGhpcywgYnV0IHRoaXMg
cGF0Y2ggcmVzdG9yZXMgdGhlIG9yaWdpbmFsIGxvZ2ljIHRoYXQKKyAgICAgICAgd2FzIHByZXNl
bnQgd2hlbiBSYW5nZSB3YXMgYmVpbmcgdXNlZCwgdW50aWwgYSBiZXR0ZXIgZml4IGNhbiBiZSB3
b3JrZWQgb3V0LiAKKworICAgICAgICBUZXN0OiBlZGl0aW5nL3NwZWxsaW5nL3RleHQtcmVwbGFj
ZW1lbnQtZmlyc3Qtd29yZC1zZWNvbmQtbGluZS5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL0Vk
aXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFZGl0b3I6Om1hcmtBbmRSZXBsYWNlRm9yKToK
KyAgICAgICAgKiBlZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpUZXh0Q2hlY2tpbmdQYXJhZ3JhcGg6OmF1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnQgY29u
c3QpOgorICAgICAgICAoV2ViQ29yZTo6VGV4dENoZWNraW5nUGFyYWdyYXBoOjphdXRvbWF0aWNS
ZXBsYWNlbWVudExlbmd0aCBjb25zdCk6CisgICAgICAgICogZWRpdGluZy9UZXh0Q2hlY2tpbmdI
ZWxwZXIuaDoKKwogMjAyMC0wOS0wOCAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBIYXZpbmcgYW4gaWZyYW1lIGFzIGEgZGVzY2VuZGVudCBub2RlIHNob3VsZG4n
dCByZXF1aXJlIEVsZW1lbnRSYXJlRGF0YQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9FZGl0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCmluZGV4
IDM5MTNmMmVjODk1MjdmNjQzOTdkNWFhNTk5ZTEzMzA0ODNkYjM1YzEuLmM2MjdkOGRmZTRjYzFj
MzdiYzRlZTVmYzM1ZmIxN2Q3YWU2OTA5N2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Vk
aXRpbmcvRWRpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAK
QEAgLTI3OTksNyArMjc5OSw4IEBAIHZvaWQgRWRpdG9yOjptYXJrQW5kUmVwbGFjZUZvcihjb25z
dCBTcGVsbENoZWNrUmVxdWVzdCYgcmVxdWVzdCwgY29uc3QgVmVjdG9yPFRlCiAgICAgICAgIGF1
dG8gcmVzdWx0TG9jYXRpb24gPSByZXN1bHRzW2ldLnJhbmdlLmxvY2F0aW9uICsgb2Zmc2V0RHVl
VG9SZXBsYWNlbWVudDsKICAgICAgICAgYXV0byByZXN1bHRMZW5ndGggPSByZXN1bHRzW2ldLnJh
bmdlLmxlbmd0aDsKICAgICAgICAgYXV0byByZXN1bHRFbmRMb2NhdGlvbiA9IHJlc3VsdExvY2F0
aW9uICsgcmVzdWx0TGVuZ3RoOwotICAgICAgICBhdXRvIGF1dG9tYXRpY1JlcGxhY2VtZW50RW5k
TG9jYXRpb24gPSBwYXJhZ3JhcGguYXV0b21hdGljUmVwbGFjZW1lbnRTdGFydCgpICsgcGFyYWdy
YXBoLmF1dG9tYXRpY1JlcGxhY2VtZW50TGVuZ3RoKCkgKyBvZmZzZXREdWVUb1JlcGxhY2VtZW50
OworICAgICAgICBhdXRvIGF1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnRMb2NhdGlvbiA9IHBhcmFn
cmFwaC5hdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0KHRydWUpOworICAgICAgICBhdXRvIGF1dG9t
YXRpY1JlcGxhY2VtZW50RW5kTG9jYXRpb24gPSBhdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0TG9j
YXRpb24gKyBwYXJhZ3JhcGguYXV0b21hdGljUmVwbGFjZW1lbnRMZW5ndGgodHJ1ZSkgKyBvZmZz
ZXREdWVUb1JlcGxhY2VtZW50OwogICAgICAgICBjb25zdCBTdHJpbmcmIHJlcGxhY2VtZW50ID0g
cmVzdWx0c1tpXS5yZXBsYWNlbWVudDsKICAgICAgICAgYm9vbCByZXN1bHRFbmRzQXRBbWJpZ3Vv
dXNCb3VuZGFyeSA9IHVzZUFtYmlndW91c0JvdW5kYXJ5T2Zmc2V0ICYmIHNlbGVjdGlvbk9mZnNl
dCAtIDEgPD0gcmVzdWx0RW5kTG9jYXRpb247CiAKQEAgLTI4MjQsNyArMjgyNSw3IEBAIHZvaWQg
RWRpdG9yOjptYXJrQW5kUmVwbGFjZUZvcihjb25zdCBTcGVsbENoZWNrUmVxdWVzdCYgcmVxdWVz
dCwgY29uc3QgVmVjdG9yPFRlCiAgICAgICAgICAgICAgICAgICAgIGFkZE1hcmtlcihiYWRHcmFt
bWFyUmFuZ2UsIERvY3VtZW50TWFya2VyOjpHcmFtbWFyLCBkZXRhaWwudXNlckRlc2NyaXB0aW9u
KTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSBpZiAo
cmVzdWx0RW5kTG9jYXRpb24gPD0gYXV0b21hdGljUmVwbGFjZW1lbnRFbmRMb2NhdGlvbiAmJiBy
ZXN1bHRFbmRMb2NhdGlvbiA+PSBwYXJhZ3JhcGguYXV0b21hdGljUmVwbGFjZW1lbnRTdGFydCgp
CisgICAgICAgIH0gZWxzZSBpZiAoYXV0b21hdGljUmVwbGFjZW1lbnRTdGFydExvY2F0aW9uIDw9
IHJlc3VsdEVuZExvY2F0aW9uICYmIHJlc3VsdEVuZExvY2F0aW9uIDw9IGF1dG9tYXRpY1JlcGxh
Y2VtZW50RW5kTG9jYXRpb24KICAgICAgICAgICAgICYmIGlzQXV0b21hdGljVGV4dFJlcGxhY2Vt
ZW50VHlwZShyZXN1bHRUeXBlKSkgewogICAgICAgICAgICAgLy8gSW4gdGhpcyBjYXNlIHRoZSBy
ZXN1bHQgcmFuZ2UganVzdCBoYXMgdG8gdG91Y2ggdGhlIGF1dG9tYXRpYyByZXBsYWNlbWVudCBy
YW5nZSwgc28gd2UgY2FuIGhhbmRsZSByZXBsYWNpbmcgbm9uLXdvcmQgdGV4dCBzdWNoIGFzIHB1
bmN0dWF0aW9uLgogICAgICAgICAgICAgQVNTRVJUKHJlc3VsdExlbmd0aCA+IDApOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuY3BwCmluZGV4IDUyNmRlZWRm
NjgwN2QzNmFlNzg5ZWNlNDJhMDgxMDgwYTVmZmYzMjIuLmYxNjhhM2I5MzMxOGIwYWQ2MjVlZDA2
NmVkZDgxYTU0YTQwZWNlYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4
dENoZWNraW5nSGVscGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVj
a2luZ0hlbHBlci5jcHAKQEAgLTIwOCwxNSArMjA4LDIxIEBAIHVpbnQ2NF90IFRleHRDaGVja2lu
Z1BhcmFncmFwaDo6Y2hlY2tpbmdMZW5ndGgoKSBjb25zdAogICAgIHJldHVybiAqbV9jaGVja2lu
Z0xlbmd0aDsKIH0KIAotdWludDY0X3QgVGV4dENoZWNraW5nUGFyYWdyYXBoOjphdXRvbWF0aWNS
ZXBsYWNlbWVudFN0YXJ0KCkgY29uc3QKK3VpbnQ2NF90IFRleHRDaGVja2luZ1BhcmFncmFwaDo6
YXV0b21hdGljUmVwbGFjZW1lbnRTdGFydChib29sIG9sZEJlaGF2aW91cikgY29uc3QKIHsKKyAg
ICBpZiAob2xkQmVoYXZpb3VyICYmIGlzX2d0KGRvY3VtZW50T3JkZXIocGFyYWdyYXBoUmFuZ2Uo
KS5zdGFydCwgbV9hdXRvbWF0aWNSZXBsYWNlbWVudFJhbmdlLnN0YXJ0KSkpCisgICAgICAgIHJl
dHVybiBjaGFyYWN0ZXJDb3VudCh7IG1fYXV0b21hdGljUmVwbGFjZW1lbnRSYW5nZS5zdGFydCwg
bV9hdXRvbWF0aWNSZXBsYWNlbWVudFJhbmdlLnN0YXJ0IH0pOworICAgIAogICAgIGlmICghbV9h
dXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0KQogICAgICAgICBtX2F1dG9tYXRpY1JlcGxhY2VtZW50
U3RhcnQgPSBjaGFyYWN0ZXJDb3VudCh7IHBhcmFncmFwaFJhbmdlKCkuc3RhcnQsIG1fYXV0b21h
dGljUmVwbGFjZW1lbnRSYW5nZS5zdGFydCB9KTsKICAgICByZXR1cm4gKm1fYXV0b21hdGljUmVw
bGFjZW1lbnRTdGFydDsKIH0KIAotdWludDY0X3QgVGV4dENoZWNraW5nUGFyYWdyYXBoOjphdXRv
bWF0aWNSZXBsYWNlbWVudExlbmd0aCgpIGNvbnN0Cit1aW50NjRfdCBUZXh0Q2hlY2tpbmdQYXJh
Z3JhcGg6OmF1dG9tYXRpY1JlcGxhY2VtZW50TGVuZ3RoKGJvb2wgb2xkQmVoYXZpb3VyKSBjb25z
dAogeworICAgIGlmIChvbGRCZWhhdmlvdXIgJiYgaXNfZ3QoZG9jdW1lbnRPcmRlcihwYXJhZ3Jh
cGhSYW5nZSgpLnN0YXJ0LCBtX2F1dG9tYXRpY1JlcGxhY2VtZW50UmFuZ2Uuc3RhcnQpKSkKKyAg
ICAgICAgcmV0dXJuIGNoYXJhY3RlckNvdW50KHsgcGFyYWdyYXBoUmFuZ2UoKS5zdGFydCwgbV9h
dXRvbWF0aWNSZXBsYWNlbWVudFJhbmdlLmVuZCB9KTsKKyAgICAKICAgICBpZiAoIW1fYXV0b21h
dGljUmVwbGFjZW1lbnRMZW5ndGgpCiAgICAgICAgIG1fYXV0b21hdGljUmVwbGFjZW1lbnRMZW5n
dGggPSBjaGFyYWN0ZXJDb3VudChtX2F1dG9tYXRpY1JlcGxhY2VtZW50UmFuZ2UpOwogICAgIHJl
dHVybiAqbV9hdXRvbWF0aWNSZXBsYWNlbWVudExlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCmluZGV4IGI1ZDIzYTJlZTNmNWVmYThlOGNjYzJlMzg4
Y2MwOTk4NGYyZDg3NzEuLjBjZjlhMzVlYTFlODc4OGM4NzgwMTE3MmQ3ZjVlYTBiZmIzODI0NDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaApAQCAtNTQs
OCArNTQsOCBAQCBwdWJsaWM6CiAgICAgdWludDY0X3QgY2hlY2tpbmdMZW5ndGgoKSBjb25zdDsK
ICAgICBTdHJpbmdWaWV3IGNoZWNraW5nU3Vic3RyaW5nKCkgY29uc3QgeyByZXR1cm4gdGV4dCgp
LnN1YnN0cmluZyhjaGVja2luZ1N0YXJ0KCksIGNoZWNraW5nTGVuZ3RoKCkpOyB9CiAKLSAgICB1
aW50NjRfdCBhdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0KCkgY29uc3Q7Ci0gICAgdWludDY0X3Qg
YXV0b21hdGljUmVwbGFjZW1lbnRMZW5ndGgoKSBjb25zdDsKKyAgICB1aW50NjRfdCBhdXRvbWF0
aWNSZXBsYWNlbWVudFN0YXJ0KGJvb2wgPSBmYWxzZSkgY29uc3Q7CisgICAgdWludDY0X3QgYXV0
b21hdGljUmVwbGFjZW1lbnRMZW5ndGgoYm9vbCA9IGZhbHNlKSBjb25zdDsKIAogICAgIGJvb2wg
Y2hlY2tpbmdSYW5nZU1hdGNoZXMoQ2hhcmFjdGVyUmFuZ2UgcmFuZ2UpIGNvbnN0IHsgcmV0dXJu
IHJhbmdlLmxvY2F0aW9uID09IGNoZWNraW5nU3RhcnQoKSAmJiByYW5nZS5sZW5ndGggPT0gY2hl
Y2tpbmdMZW5ndGgoKTsgfQogICAgIGJvb2wgaXNDaGVja2luZ1JhbmdlQ292ZXJlZEJ5KENoYXJh
Y3RlclJhbmdlIHJhbmdlKSBjb25zdCB7IHJldHVybiByYW5nZS5sb2NhdGlvbiA8PSBjaGVja2lu
Z1N0YXJ0KCkgJiYgcmFuZ2UubG9jYXRpb24gKyByYW5nZS5sZW5ndGggPj0gY2hlY2tpbmdTdGFy
dCgpICsgY2hlY2tpbmdMZW5ndGgoKTsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGI4MThkMTQ5OWU4MjhkZTU5N2U1Y2Zl
MzY1OTA5MjI2ZTk5MzMyY2IuLmVmZDE0NWM4OWE1ODQ1YWYzOWM1YjQ5NmZmZGJjMGM1ZmUyMDE2
YzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMC0wOS0wOSAgTWVnYW4gR2FyZG5lciAgPG1l
Z2FuX2dhcmRuZXJAYXBwbGUuY29tPgorCisgICAgICAgIE92ZXJsYXBwaW5nIHRleHQgcmVwbGFj
ZW1lbnRzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYSBsaW5lIGFyZSByZXBsYWNlZCB0b28gZWFybHkK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjMyNwor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZWRpdGlu
Zy9zcGVsbGluZy90ZXh0LXJlcGxhY2VtZW50LWZpcnN0LXdvcmQtc2Vjb25kLWxpbmUtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5nL3RleHQtcmVwbGFjZW1l
bnQtZmlyc3Qtd29yZC1zZWNvbmQtbGluZS5odG1sOiBBZGRlZC4KKwogMjAyMC0wOS0wOCAgUnlh
biBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIHRl
c3QgZ2FyZGVuaW5nIGFmdGVyIHIyNjY3NjEuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9lZGl0
aW5nL3NwZWxsaW5nL3RleHQtcmVwbGFjZW1lbnQtZmlyc3Qtd29yZC1zZWNvbmQtbGluZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3RleHQtcmVwbGFjZW1lbnQt
Zmlyc3Qtd29yZC1zZWNvbmQtbGluZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWFjYThmOGYz
OGEzZTllOGI3MDM3ZDc4MTdiYzg5OGE3NjIyOGU1MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29u
ZC1saW5lLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMyIEBACitUbyBtYW51YWxseSB0ZXN0LCBh
ZGQgYW4gYXV0b21hdGljIHRleHQgcmVwbGFjZW1lbnQgbWFwcGluZyBmcm9tIHRoZSBzdHJpbmcg
JyoqJyB0byAnc3RhcnMnLiBUaGVuLCBvbiB0aGUgc2Vjb25kIGxpbmUgKHRoaXMgaXMgaW1wb3Jh
dGFudCwgaXQgbXVzdCBub3QgYmUgdGhlIGZpcnN0IGxpbmUpIG9mIGEgY29udGVudGVkaXRhYmxl
LCB0eXBlIHRoZSBzdHJpbmcgJyoqJy4gSXQgc2hvdWxkIG5vdCBiZSBpbW1lZGlhdGVseSBjb3Jy
ZWN0ZWQgdG8gJ3N0YXJzJy4gVHlwZSBhbnkgb3RoZXIgY2hhcmFjdGVyLCB3aGljaCBzaG91bGQg
dGhlbiBjaGFuZ2UgJyoqJyB0byAnc3RhcnMnLgorCitBZnRlciB0eXBpbmcgcG9zc2libGUgcmVw
bGFjbWVudDoKK3wgIgorICAgICAgICAiCit8IDxkaXY+Cit8ICAgPGJyPgorfCA8ZGl2PgorfCAg
ICIqKjwjc2VsZWN0aW9uLWNhcmV0PiIKK3wgIgorICAgICAgICAiCit8IDxkaXY+Cit8ICAgPGJy
PgorfCAiCisgICAgIgorCitBZnRlciBwcmVzc2luZyBlbnRlcjoKK3wgIgorICAgICAgICAiCit8
IDxkaXY+Cit8ICAgPGJyPgorfCA8ZGl2PgorfCAgICJTdGFycyIKK3wgPGRpdj4KK3wgICA8I3Nl
bGVjdGlvbi1jYXJldD4KK3wgICA8YnI+Cit8ICIKKyAgICAgICAgIgorfCA8ZGl2PgorfCAgIDxi
cj4KK3wgIgorICAgICIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcv
dGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5lLmh0bWwgYi9MYXlvdXRUZXN0
cy9lZGl0aW5nL3NwZWxsaW5nL3RleHQtcmVwbGFjZW1lbnQtZmlyc3Qtd29yZC1zZWNvbmQtbGlu
ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmEwZThhMWYxMTg1ZGZiMDdjOTljZjJiZTc3Yjg1ZGZjY2JhYzFj
MmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9lZGl0aW5nL3NwZWxsaW5nL3RleHQt
cmVwbGFjZW1lbnQtZmlyc3Qtd29yZC1zZWNvbmQtbGluZS5odG1sCkBAIC0wLDAgKzEsNTUgQEAK
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3VpLWhlbHBlci5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2R1bXAtYXMtbWFya3Vw
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9lZGl0aW5nLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQ+CitNYXJrdXAuZGVzY3JpcHRpb24oIlRvIG1hbnVhbGx5IHRlc3QsIGFkZCBhbiBhdXRv
bWF0aWMgdGV4dCByZXBsYWNlbWVudCBtYXBwaW5nIGZyb20gdGhlIHN0cmluZyAnKionIHRvICdz
dGFycycuIFRoZW4sIG9uIHRoZSBzZWNvbmQgbGluZSAodGhpcyBpcyBpbXBvcmF0YW50LCBpdCBt
dXN0IG5vdCBiZSB0aGUgZmlyc3QgbGluZSkgb2YgYSBjb250ZW50ZWRpdGFibGUsIHR5cGUgdGhl
IHN0cmluZyAnKionLiBJdCBzaG91bGQgbm90IGJlIGltbWVkaWF0ZWx5IGNvcnJlY3RlZCB0byAn
c3RhcnMnLiBUeXBlIGFueSBvdGhlciBjaGFyYWN0ZXIsIHdoaWNoIHNob3VsZCB0aGVuIGNoYW5n
ZSAnKionIHRvICdzdGFycycuIik7CitNYXJrdXAud2FpdFVudGlsRG9uZSgpOworCithc3luYyBm
dW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBpZiAod2luZG93LmludGVybmFscykgeworICAgICAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VW5pZmllZFRleHRDaGVja2VyRW5hYmxlZCh0cnVlKTsK
KyAgICAgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldEFzeW5jaHJvbm91c1NwZWxsQ2hlY2tpbmdF
bmFibGVkKGZhbHNlKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldEF1dG9tYXRpY1RleHRSZXBsYWNl
bWVudEVuYWJsZWQodHJ1ZSk7CisgICAgICAgIGludGVybmFscy5zZXRBdXRvbWF0aWNTcGVsbGlu
Z0NvcnJlY3Rpb25FbmFibGVkKHRydWUpOworICAgICAgICBhd2FpdCBVSUhlbHBlci5zZXRTcGVs
bENoZWNrZXJSZXN1bHRzKHsKKyAgICAgICAgICAgICIqKiI6IFsKKyAgICAgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgICAgICJyZXBsYWNlbWVudCI6ICJzdGFycyIsCisgICAgICAgICAg
ICAgICAgICAgICJ0eXBlIjogInJlcGxhY2VtZW50IiwKKyAgICAgICAgICAgICAgICAgICAgImZy
b20iOiAwLAorICAgICAgICAgICAgICAgICAgICAidG8iOiAyCisgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgXQorICAgICAgICB9KTsKKyAgICB9CisKKyAgICBjb25zdCBlZGl0b3IgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZWRpdG9yIik7CisgICAgZWRpdG9yLmZvY3VzKCk7Cisg
ICAgaW5zZXJ0UGFyYWdyYXBoQ29tbWFuZCgpOworCisgICAgZm9yIChjb25zdCBjaGFyYWN0ZXIg
b2YgIioqIikKKyAgICAgICAgdHlwZUNoYXJhY3RlckNvbW1hbmQoY2hhcmFjdGVyKTsKKyAgICBh
d2FpdCBVSUhlbHBlci5kZWxheUZvcigwKTsKKworICAgIE1hcmt1cC5kdW1wKGVkaXRvciwgIkFm
dGVyIHR5cGluZyBwb3NzaWJsZSByZXBsYWNtZW50Iik7CisKKyAgICBpbnNlcnRQYXJhZ3JhcGhD
b21tYW5kKCk7CisgICAgYXdhaXQgVUlIZWxwZXIuZGVsYXlGb3IoMCk7CisKKyAgICBNYXJrdXAu
ZHVtcChlZGl0b3IsICJBZnRlciBwcmVzc2luZyBlbnRlciIpOworICAgIE1hcmt1cC5ub3RpZnlE
b25lKCk7Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgorICAgIDxkaXYgaWQ9ImRlc2NyaXB0aW9uIj48L2Rpdj4KKyAgICA8ZGl2IGNvbnRlbnRlZGl0
YWJsZSBzdHlsZT0ibWFyZ2luLWJvdHRvbTogMWVtOyBib3JkZXI6IDFweCBvcmFuZ2UgZGFzaGVk
OyIgaWQ9ImVkaXRvciI+CisgICAgICAgIDxkaXY+PGJyPjwvZGl2PgorICAgICAgICA8ZGl2Pjxi
cj48L2Rpdj4KKyAgICA8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408474</attachid>
            <date>2020-09-10 13:48:39 -0700</date>
            <delta_ts>2020-09-10 14:35:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216327-20200910134838.patch</filename>
            <type>text/plain</type>
            <size>12377</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2Nzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGZkMjkxYjQxZjEzYzRl
OWYzN2YyZmZhZjllNTM3OTUxYjZlMGE3My4uYzUxNGFiZDcwOTU0NjEzNmFkZGEyNWE4ZDYzNDMw
MGM1OTk1MzIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTA5LTA5ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgVGV4dCByZXBs
YWNlbWVudHMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIHNlY29uZCBsaW5lIGFyZSByZXBsYWNlZCB0
b28gZWFybHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNjMyNworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjgxNzAzNTM+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gdGhlIGNoYW5nZXMgaW4gcjI1
ODg3MSwgdXNpbmcgU2ltcGxlUmFuZ2VzIGluc3RlYWQgb2YgUmFuZ2UgY2F1c2luZyBzb21lIHNp
ZGUgZWZmZWN0cworICAgICAgICB3aGVuIHRoZSByZXBsYWNlbWVudHMgYXQgdGhlIGJlZ2lubmlu
ZyBvZiBsaW5lcy4gVGhlIHJhbmdlcyB0aGF0IHdlIGFyZSBjb3VudGluZyBhcmUgYmFja3dhcmRz
CisgICAgICAgIGFuZCB0aGUgcmV0dXJuIGNoYXJhY3RlcnMgYXJlIGJlaW5nIGNvdW50ZWQgaW5z
dGVhZCBvZiBiZWluZyBpZ25vcmVkLiBUaGVyZSBpcyBhbG1vc3QgCisgICAgICAgIGNlcnRhaW5s
eSBhIGJldHRlciBmaXggdGhhbiB0aGlzLCBidXQgdGhpcyBwYXRjaCByZXN0b3JlcyB0aGUgb3Jp
Z2luYWwgbG9naWMgdGhhdAorICAgICAgICB3YXMgcHJlc2VudCB3aGVuIFJhbmdlIHdhcyBiZWlu
ZyB1c2VkLCB1bnRpbCBhIGJldHRlciBmaXggY2FuIGJlIHdvcmtlZCBvdXQuIAorCisgICAgICAg
IFRlc3Q6IGVkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29u
ZC1saW5lLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkVkaXRvcjo6bWFya0FuZFJlcGxhY2VGb3IpOgorICAgICAgICAqIGVkaXRpbmcvVGV4
dENoZWNraW5nSGVscGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRDaGVja2luZ1BhcmFn
cmFwaDo6YXV0b21hdGljUmVwbGFjZW1lbnRTdGFydCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0Q2hlY2tpbmdQYXJhZ3JhcGg6OmF1dG9tYXRpY1JlcGxhY2VtZW50TGVuZ3RoIGNvbnN0
KToKKyAgICAgICAgKiBlZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oOgorCiAyMDIwLTA5LTA4
ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEhhdmluZyBhbiBp
ZnJhbWUgYXMgYSBkZXNjZW5kZW50IG5vZGUgc2hvdWxkbid0IHJlcXVpcmUgRWxlbWVudFJhcmVE
YXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggMzkxM2YyZWM4OTUyN2Y2NDM5N2Q1
YWE1OTllMTMzMDQ4M2RiMzVjMS4uYzYyN2Q4ZGZlNGNjMWMzN2JjNGVlNWZjMzVmYjE3ZDdhZTY5
MDk3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMjc5OSw3ICsyNzk5LDggQEAg
dm9pZCBFZGl0b3I6Om1hcmtBbmRSZXBsYWNlRm9yKGNvbnN0IFNwZWxsQ2hlY2tSZXF1ZXN0JiBy
ZXF1ZXN0LCBjb25zdCBWZWN0b3I8VGUKICAgICAgICAgYXV0byByZXN1bHRMb2NhdGlvbiA9IHJl
c3VsdHNbaV0ucmFuZ2UubG9jYXRpb24gKyBvZmZzZXREdWVUb1JlcGxhY2VtZW50OwogICAgICAg
ICBhdXRvIHJlc3VsdExlbmd0aCA9IHJlc3VsdHNbaV0ucmFuZ2UubGVuZ3RoOwogICAgICAgICBh
dXRvIHJlc3VsdEVuZExvY2F0aW9uID0gcmVzdWx0TG9jYXRpb24gKyByZXN1bHRMZW5ndGg7Ci0g
ICAgICAgIGF1dG8gYXV0b21hdGljUmVwbGFjZW1lbnRFbmRMb2NhdGlvbiA9IHBhcmFncmFwaC5h
dXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0KCkgKyBwYXJhZ3JhcGguYXV0b21hdGljUmVwbGFjZW1l
bnRMZW5ndGgoKSArIG9mZnNldER1ZVRvUmVwbGFjZW1lbnQ7CisgICAgICAgIGF1dG8gYXV0b21h
dGljUmVwbGFjZW1lbnRTdGFydExvY2F0aW9uID0gcGFyYWdyYXBoLmF1dG9tYXRpY1JlcGxhY2Vt
ZW50U3RhcnQodHJ1ZSk7CisgICAgICAgIGF1dG8gYXV0b21hdGljUmVwbGFjZW1lbnRFbmRMb2Nh
dGlvbiA9IGF1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnRMb2NhdGlvbiArIHBhcmFncmFwaC5hdXRv
bWF0aWNSZXBsYWNlbWVudExlbmd0aCh0cnVlKSArIG9mZnNldER1ZVRvUmVwbGFjZW1lbnQ7CiAg
ICAgICAgIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1lbnQgPSByZXN1bHRzW2ldLnJlcGxhY2VtZW50
OwogICAgICAgICBib29sIHJlc3VsdEVuZHNBdEFtYmlndW91c0JvdW5kYXJ5ID0gdXNlQW1iaWd1
b3VzQm91bmRhcnlPZmZzZXQgJiYgc2VsZWN0aW9uT2Zmc2V0IC0gMSA8PSByZXN1bHRFbmRMb2Nh
dGlvbjsKIApAQCAtMjgyNCw3ICsyODI1LDcgQEAgdm9pZCBFZGl0b3I6Om1hcmtBbmRSZXBsYWNl
Rm9yKGNvbnN0IFNwZWxsQ2hlY2tSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBWZWN0b3I8VGUKICAg
ICAgICAgICAgICAgICAgICAgYWRkTWFya2VyKGJhZEdyYW1tYXJSYW5nZSwgRG9jdW1lbnRNYXJr
ZXI6OkdyYW1tYXIsIGRldGFpbC51c2VyRGVzY3JpcHRpb24pOwogICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIGlmIChyZXN1bHRFbmRMb2NhdGlvbiA8PSBh
dXRvbWF0aWNSZXBsYWNlbWVudEVuZExvY2F0aW9uICYmIHJlc3VsdEVuZExvY2F0aW9uID49IHBh
cmFncmFwaC5hdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0KCkKKyAgICAgICAgfSBlbHNlIGlmIChh
dXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0TG9jYXRpb24gPD0gcmVzdWx0RW5kTG9jYXRpb24gJiYg
cmVzdWx0RW5kTG9jYXRpb24gPD0gYXV0b21hdGljUmVwbGFjZW1lbnRFbmRMb2NhdGlvbgogICAg
ICAgICAgICAgJiYgaXNBdXRvbWF0aWNUZXh0UmVwbGFjZW1lbnRUeXBlKHJlc3VsdFR5cGUpKSB7
CiAgICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UgdGhlIHJlc3VsdCByYW5nZSBqdXN0IGhhcyB0
byB0b3VjaCB0aGUgYXV0b21hdGljIHJlcGxhY2VtZW50IHJhbmdlLCBzbyB3ZSBjYW4gaGFuZGxl
IHJlcGxhY2luZyBub24td29yZCB0ZXh0IHN1Y2ggYXMgcHVuY3R1YXRpb24uCiAgICAgICAgICAg
ICBBU1NFUlQocmVzdWx0TGVuZ3RoID4gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Rl
eHRDaGVja2luZ0hlbHBlci5jcHAKaW5kZXggNTI2ZGVlZGY2ODA3ZDM2YWU3ODllY2U0MmEwODEw
ODBhNWZmZjMyMi4uZjE2OGEzYjkzMzE4YjBhZDYyNWVkMDY2ZWRkODFhNTRhNDBlY2ViZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmNwcApAQCAtMjA4
LDE1ICsyMDgsMjEgQEAgdWludDY0X3QgVGV4dENoZWNraW5nUGFyYWdyYXBoOjpjaGVja2luZ0xl
bmd0aCgpIGNvbnN0CiAgICAgcmV0dXJuICptX2NoZWNraW5nTGVuZ3RoOwogfQogCi11aW50NjRf
dCBUZXh0Q2hlY2tpbmdQYXJhZ3JhcGg6OmF1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnQoKSBjb25z
dAordWludDY0X3QgVGV4dENoZWNraW5nUGFyYWdyYXBoOjphdXRvbWF0aWNSZXBsYWNlbWVudFN0
YXJ0KGJvb2wgb2xkQmVoYXZpb3VyKSBjb25zdAogeworICAgIGlmIChvbGRCZWhhdmlvdXIgJiYg
aXNfZ3QoZG9jdW1lbnRPcmRlcihwYXJhZ3JhcGhSYW5nZSgpLnN0YXJ0LCBtX2F1dG9tYXRpY1Jl
cGxhY2VtZW50UmFuZ2Uuc3RhcnQpKSkKKyAgICAgICAgcmV0dXJuIGNoYXJhY3RlckNvdW50KHsg
bV9hdXRvbWF0aWNSZXBsYWNlbWVudFJhbmdlLnN0YXJ0LCBtX2F1dG9tYXRpY1JlcGxhY2VtZW50
UmFuZ2Uuc3RhcnQgfSk7CisgICAgCiAgICAgaWYgKCFtX2F1dG9tYXRpY1JlcGxhY2VtZW50U3Rh
cnQpCiAgICAgICAgIG1fYXV0b21hdGljUmVwbGFjZW1lbnRTdGFydCA9IGNoYXJhY3RlckNvdW50
KHsgcGFyYWdyYXBoUmFuZ2UoKS5zdGFydCwgbV9hdXRvbWF0aWNSZXBsYWNlbWVudFJhbmdlLnN0
YXJ0IH0pOwogICAgIHJldHVybiAqbV9hdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0OwogfQogCi11
aW50NjRfdCBUZXh0Q2hlY2tpbmdQYXJhZ3JhcGg6OmF1dG9tYXRpY1JlcGxhY2VtZW50TGVuZ3Ro
KCkgY29uc3QKK3VpbnQ2NF90IFRleHRDaGVja2luZ1BhcmFncmFwaDo6YXV0b21hdGljUmVwbGFj
ZW1lbnRMZW5ndGgoYm9vbCBvbGRCZWhhdmlvdXIpIGNvbnN0CiB7CisgICAgaWYgKG9sZEJlaGF2
aW91ciAmJiBpc19ndChkb2N1bWVudE9yZGVyKHBhcmFncmFwaFJhbmdlKCkuc3RhcnQsIG1fYXV0
b21hdGljUmVwbGFjZW1lbnRSYW5nZS5zdGFydCkpKQorICAgICAgICByZXR1cm4gY2hhcmFjdGVy
Q291bnQoeyBwYXJhZ3JhcGhSYW5nZSgpLnN0YXJ0LCBtX2F1dG9tYXRpY1JlcGxhY2VtZW50UmFu
Z2UuZW5kIH0pOworICAgIAogICAgIGlmICghbV9hdXRvbWF0aWNSZXBsYWNlbWVudExlbmd0aCkK
ICAgICAgICAgbV9hdXRvbWF0aWNSZXBsYWNlbWVudExlbmd0aCA9IGNoYXJhY3RlckNvdW50KG1f
YXV0b21hdGljUmVwbGFjZW1lbnRSYW5nZSk7CiAgICAgcmV0dXJuICptX2F1dG9tYXRpY1JlcGxh
Y2VtZW50TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hl
Y2tpbmdIZWxwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVy
LmgKaW5kZXggYjVkMjNhMmVlM2Y1ZWZhOGU4Y2NjMmUzODhjYzA5OTg0ZjJkODc3MS4uMGNmOWEz
NWVhMWU4Nzg4Yzg3ODAxMTcyZDdmNWVhMGJmYjM4MjQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCkBAIC01NCw4ICs1NCw4IEBAIHB1YmxpYzoKICAg
ICB1aW50NjRfdCBjaGVja2luZ0xlbmd0aCgpIGNvbnN0OwogICAgIFN0cmluZ1ZpZXcgY2hlY2tp
bmdTdWJzdHJpbmcoKSBjb25zdCB7IHJldHVybiB0ZXh0KCkuc3Vic3RyaW5nKGNoZWNraW5nU3Rh
cnQoKSwgY2hlY2tpbmdMZW5ndGgoKSk7IH0KIAotICAgIHVpbnQ2NF90IGF1dG9tYXRpY1JlcGxh
Y2VtZW50U3RhcnQoKSBjb25zdDsKLSAgICB1aW50NjRfdCBhdXRvbWF0aWNSZXBsYWNlbWVudExl
bmd0aCgpIGNvbnN0OworICAgIHVpbnQ2NF90IGF1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnQoYm9v
bCA9IGZhbHNlKSBjb25zdDsKKyAgICB1aW50NjRfdCBhdXRvbWF0aWNSZXBsYWNlbWVudExlbmd0
aChib29sID0gZmFsc2UpIGNvbnN0OwogCiAgICAgYm9vbCBjaGVja2luZ1JhbmdlTWF0Y2hlcyhD
aGFyYWN0ZXJSYW5nZSByYW5nZSkgY29uc3QgeyByZXR1cm4gcmFuZ2UubG9jYXRpb24gPT0gY2hl
Y2tpbmdTdGFydCgpICYmIHJhbmdlLmxlbmd0aCA9PSBjaGVja2luZ0xlbmd0aCgpOyB9CiAgICAg
Ym9vbCBpc0NoZWNraW5nUmFuZ2VDb3ZlcmVkQnkoQ2hhcmFjdGVyUmFuZ2UgcmFuZ2UpIGNvbnN0
IHsgcmV0dXJuIHJhbmdlLmxvY2F0aW9uIDw9IGNoZWNraW5nU3RhcnQoKSAmJiByYW5nZS5sb2Nh
dGlvbiArIHJhbmdlLmxlbmd0aCA+PSBjaGVja2luZ1N0YXJ0KCkgKyBjaGVja2luZ0xlbmd0aCgp
OyB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggYjgxOGQxNDk5ZTgyOGRlNTk3ZTVjZmUzNjU5MDkyMjZlOTkzMzJjYi4uZWZk
MTQ1Yzg5YTU4NDVhZjM5YzViNDk2ZmZkYmMwYzVmZTIwMTZjNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDIwLTA5LTA5ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+
CisKKyAgICAgICAgT3ZlcmxhcHBpbmcgdGV4dCByZXBsYWNlbWVudHMgYXQgdGhlIGJlZ2lubmlu
ZyBvZiBhIGxpbmUgYXJlIHJlcGxhY2VkIHRvbyBlYXJseQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MzI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5nL3RleHQtcmVwbGFj
ZW1lbnQtZmlyc3Qtd29yZC1zZWNvbmQtbGluZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1s
aW5lLmh0bWw6IEFkZGVkLgorCiAyMDIwLTA5LTA4ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRA
YXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcgYWZ0ZXIgcjI2
Njc2MS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBs
YWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5l
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41YWNhOGY4ZjM4YTNlOWU4YjcwMzdkNzgxN2JjODk4
YTc2MjI4ZTUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGlu
Zy90ZXh0LXJlcGxhY2VtZW50LWZpcnN0LXdvcmQtc2Vjb25kLWxpbmUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzIgQEAKK1RvIG1hbnVhbGx5IHRlc3QsIGFkZCBhbiBhdXRvbWF0aWMgdGV4dCBy
ZXBsYWNlbWVudCBtYXBwaW5nIGZyb20gdGhlIHN0cmluZyAnKionIHRvICdzdGFycycuIFRoZW4s
IG9uIHRoZSBzZWNvbmQgbGluZSAodGhpcyBpcyBpbXBvcmF0YW50LCBpdCBtdXN0IG5vdCBiZSB0
aGUgZmlyc3QgbGluZSkgb2YgYSBjb250ZW50ZWRpdGFibGUsIHR5cGUgdGhlIHN0cmluZyAnKion
LiBJdCBzaG91bGQgbm90IGJlIGltbWVkaWF0ZWx5IGNvcnJlY3RlZCB0byAnc3RhcnMnLiBUeXBl
IGFueSBvdGhlciBjaGFyYWN0ZXIsIHdoaWNoIHNob3VsZCB0aGVuIGNoYW5nZSAnKionIHRvICdz
dGFycycuCisKK0FmdGVyIHR5cGluZyBwb3NzaWJsZSByZXBsYWNtZW50OgorfCAiCisgICAgICAg
ICIKK3wgPGRpdj4KK3wgICA8YnI+Cit8IDxkaXY+Cit8ICAgIioqPCNzZWxlY3Rpb24tY2FyZXQ+
IgorfCAiCisgICAgICAgICIKK3wgPGRpdj4KK3wgICA8YnI+Cit8ICIKKyAgICAiCisKK0FmdGVy
IHByZXNzaW5nIGVudGVyOgorfCAiCisgICAgICAgICIKK3wgPGRpdj4KK3wgICA8YnI+Cit8IDxk
aXY+Cit8ICAgIlN0YXJzIgorfCA8ZGl2PgorfCAgIDwjc2VsZWN0aW9uLWNhcmV0PgorfCAgIDxi
cj4KK3wgIgorICAgICAgICAiCit8IDxkaXY+Cit8ICAgPGJyPgorfCAiCisgICAgIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy90ZXh0LXJlcGxhY2VtZW50LWZpcnN0
LXdvcmQtc2Vjb25kLWxpbmUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvdGV4
dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5lLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ4
NjJlNzkyNGQ4YzEwMTFmNDY3ZjBhY2I3MTdhYTg3MzBiNjVjNwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3Jk
LXNlY29uZC1saW5lLmh0bWwKQEAgLTAsMCArMSw2MyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL2VkaXRpbmcuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK01hcmt1cC5kZXNjcmlw
dGlvbigiVG8gbWFudWFsbHkgdGVzdCwgYWRkIGFuIGF1dG9tYXRpYyB0ZXh0IHJlcGxhY2VtZW50
IG1hcHBpbmcgZnJvbSB0aGUgc3RyaW5nICcqKicgdG8gJ3N0YXJzJy4gVGhlbiwgb24gdGhlIHNl
Y29uZCBsaW5lICh0aGlzIGlzIGltcG9yYXRhbnQsIGl0IG11c3Qgbm90IGJlIHRoZSBmaXJzdCBs
aW5lKSBvZiBhIGNvbnRlbnRlZGl0YWJsZSwgdHlwZSB0aGUgc3RyaW5nICcqKicuIEl0IHNob3Vs
ZCBub3QgYmUgaW1tZWRpYXRlbHkgY29ycmVjdGVkIHRvICdzdGFycycuIFR5cGUgYW55IG90aGVy
IGNoYXJhY3Rlciwgd2hpY2ggc2hvdWxkIHRoZW4gY2hhbmdlICcqKicgdG8gJ3N0YXJzJy4iKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKK2FzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKQorewor
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRVbmlmaWVkVGV4dENoZWNrZXJFbmFibGVkKHRydWUpOworICAgICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoZmFsc2UpOworICAgICAg
ICBpbnRlcm5hbHMuc2V0QXV0b21hdGljVGV4dFJlcGxhY2VtZW50RW5hYmxlZCh0cnVlKTsKKyAg
ICAgICAgaW50ZXJuYWxzLnNldEF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQodHJ1
ZSk7CisgICAgICAgIGF3YWl0IFVJSGVscGVyLnNldFNwZWxsQ2hlY2tlclJlc3VsdHMoeworICAg
ICAgICAgICAgIioqIjogWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
InJlcGxhY2VtZW50IjogInN0YXJzIiwKKyAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmVw
bGFjZW1lbnQiLAorICAgICAgICAgICAgICAgICAgICAiZnJvbSI6IDAsCisgICAgICAgICAgICAg
ICAgICAgICJ0byI6IDIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAg
ICAgICAgIioqXG4iOiBbCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAi
cmVwbGFjZW1lbnQiOiAic3RhcnMiLAorICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXBs
YWNlbWVudCIsCisgICAgICAgICAgICAgICAgICAgICJmcm9tIjogMCwKKyAgICAgICAgICAgICAg
ICAgICAgInRvIjogMgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0KKyAgICAgICAg
fSk7CisgICAgfQorCisgICAgY29uc3QgZWRpdG9yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVkaXRvciIpOworICAgIGVkaXRvci5mb2N1cygpOworICAgIGluc2VydFBhcmFncmFwaENvbW1h
bmQoKTsKKworICAgIGZvciAoY29uc3QgY2hhcmFjdGVyIG9mICIqKiIpCisgICAgICAgIHR5cGVD
aGFyYWN0ZXJDb21tYW5kKGNoYXJhY3Rlcik7CisgICAgYXdhaXQgVUlIZWxwZXIuZGVsYXlGb3Io
MCk7CisKKyAgICBNYXJrdXAuZHVtcChlZGl0b3IsICJBZnRlciB0eXBpbmcgcG9zc2libGUgcmVw
bGFjbWVudCIpOworCisgICAgaW5zZXJ0UGFyYWdyYXBoQ29tbWFuZCgpOworICAgIGF3YWl0IFVJ
SGVscGVyLmRlbGF5Rm9yKDApOworCisgICAgTWFya3VwLmR1bXAoZWRpdG9yLCAiQWZ0ZXIgcHJl
c3NpbmcgZW50ZXIiKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKyAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgPGRpdiBjb250ZW50ZWRpdGFibGUgc3R5bGU9Im1hcmdpbi1ib3R0
b206IDFlbTsgYm9yZGVyOiAxcHggb3JhbmdlIGRhc2hlZDsiIGlkPSJlZGl0b3IiPgorICAgICAg
ICA8ZGl2Pjxicj48L2Rpdj4KKyAgICAgICAgPGRpdj48YnI+PC9kaXY+CisgICAgPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDIxMjg2MmVjMDhjM2MzM2Y0MTAwZTY1ZDMxZWNkMjdjZjY1ZGNmNWQuLmE3OWZlYWQ0
ZDM0ZjQ5ZWI3Mzc5OGZhY2IwMTQyZTVmMjMzMTQwY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC05NTksNiArOTU5LDcgQEAgd2Via2l0Lm9yZy9iLzE4
NzA0NCB3ZWJhbmltYXRpb25zL29wYWNpdHktYW5pbWF0aW9uLXlpZWxkcy1jb21wb3NpdGluZy1z
cGFuLmh0bWwKIAogIyBSZXF1aXJlcyBzdXBwb3J0IGZvciB0ZXN0aW5nIHRleHQgcmVwbGFjZW1l
bnQKIGVkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1hZnRlci10eXBpbmctdG8td29y
ZC5odG1sIFsgU2tpcCBdCitlZGl0aW5nL3NwZWxsaW5nL3RleHQtcmVwbGFjZW1lbnQtZmlyc3Qt
d29yZC1zZWNvbmQtbGluZS5odG1sIFsgU2tpcCBdCiAKICMgTWVkaWFSZWNvcmRlciBpcyBub3Qg
Y3VycmVudGx5IGltcGxlbWVudGVkCiBodHRwL3dwdC9tZWRpYXJlY29yZGVyIFsgU2tpcCBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGI4N2Q5ZTJjMjI4
NGYxYmRmZTcyMDRjOTFkNTE1NDk3NDFiZWFiNjMuLmM2NDU0MTJmZTA4YjIwMjM3OTkzNWIwODUy
M2Y4MDkwMzQzZjhhMTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRp
b25zCkBAIC0xMjcsNiArMTI3LDcgQEAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1tYXJrZXJz
LWFmdGVyLXBhc3Rpbmctc2VudGVuY2UuaHRtbCBbIFdvbnRGaXggXQogCiAjIFJlcXVpcmVzIHN1
cHBvcnQgZm9yIHRlc3RpbmcgdGV4dCByZXBsYWNlbWVudAogZWRpdGluZy9zcGVsbGluZy90ZXh0
LXJlcGxhY2VtZW50LWFmdGVyLXR5cGluZy10by13b3JkLmh0bWwgWyBTa2lwIF0KK2VkaXRpbmcv
c3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5lLmh0bWwgWyBT
a2lwIF0KIAogIyBVSUtpdCBkcmF3cyBzZWxlY3Rpb24gb24gaU9TCiBmYXN0L3NlbGVjdG9ycy9p
bnB1dC13aXRoLXNlbGVjdGlvbi1wc2V1ZG8tZWxlbWVudC5odG1sIFsgV29udEZpeCBdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBhZTRm
MDhjZmMxMTFlOGQzZDFlZjg0ZmJkZTUwM2NkZDJmZjY0NTAzLi4zOTgyYmQxYTNkMDgxMjA4MWQ4
Yjc4MzM2ZThlYjZiOWRlOWUxODczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNh
aXJvL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTY5OSw2ICs2OTksNyBAQCBlZGl0aW5nL3NwZWxsaW5n
L3NwZWxsY2hlY2stYXR0cmlidXRlLmh0bWwgWyBUaW1lb3V0IF0KICMgVUlTY3JpcHRDb250cm9s
bGVyLnNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCBpcyBub3QgaW1wbGVtZW50ZWQu
CiBlZGl0aW5nL3NwZWxsaW5nL21hcmtlcnMuaHRtbCBbIFNraXAgXQogZWRpdGluZy9zcGVsbGlu
Zy90ZXh0LXJlcGxhY2VtZW50LWFmdGVyLXR5cGluZy10by13b3JkLmh0bWwgWyBTa2lwIF0KK2Vk
aXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5lLmh0
bWwgWyBTa2lwIF0KIGVkaXRpbmcvc3BlbGxpbmcvdG9nZ2xlLXNwZWxsY2hlY2tpbmcuaHRtbCBb
IFNraXAgXQogCiAjIExheW91dFRlc3QvZmFzdC9sb2FkZXIgdGVzdHMgdGhhdCBmYWlsIG9yIHRp
bWUgb3V0Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408476</attachid>
            <date>2020-09-10 14:35:18 -0700</date>
            <delta_ts>2020-09-10 17:22:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216327-20200910143517.patch</filename>
            <type>text/plain</type>
            <size>12377</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2Nzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGZkMjkxYjQxZjEzYzRl
OWYzN2YyZmZhZjllNTM3OTUxYjZlMGE3My4uYzUxNGFiZDcwOTU0NjEzNmFkZGEyNWE4ZDYzNDMw
MGM1OTk1MzIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTA5LTA5ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgVGV4dCByZXBs
YWNlbWVudHMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIHNlY29uZCBsaW5lIGFyZSByZXBsYWNlZCB0
b28gZWFybHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNjMyNworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjgxNzAzNTM+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gdGhlIGNoYW5nZXMgaW4gcjI1
ODg3MSwgdXNpbmcgU2ltcGxlUmFuZ2VzIGluc3RlYWQgb2YgUmFuZ2UgY2F1c2luZyBzb21lIHNp
ZGUgZWZmZWN0cworICAgICAgICB3aGVuIHRoZSByZXBsYWNlbWVudHMgYXQgdGhlIGJlZ2lubmlu
ZyBvZiBsaW5lcy4gVGhlIHJhbmdlcyB0aGF0IHdlIGFyZSBjb3VudGluZyBhcmUgYmFja3dhcmRz
CisgICAgICAgIGFuZCB0aGUgcmV0dXJuIGNoYXJhY3RlcnMgYXJlIGJlaW5nIGNvdW50ZWQgaW5z
dGVhZCBvZiBiZWluZyBpZ25vcmVkLiBUaGVyZSBpcyBhbG1vc3QgCisgICAgICAgIGNlcnRhaW5s
eSBhIGJldHRlciBmaXggdGhhbiB0aGlzLCBidXQgdGhpcyBwYXRjaCByZXN0b3JlcyB0aGUgb3Jp
Z2luYWwgbG9naWMgdGhhdAorICAgICAgICB3YXMgcHJlc2VudCB3aGVuIFJhbmdlIHdhcyBiZWlu
ZyB1c2VkLCB1bnRpbCBhIGJldHRlciBmaXggY2FuIGJlIHdvcmtlZCBvdXQuIAorCisgICAgICAg
IFRlc3Q6IGVkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29u
ZC1saW5lLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkVkaXRvcjo6bWFya0FuZFJlcGxhY2VGb3IpOgorICAgICAgICAqIGVkaXRpbmcvVGV4
dENoZWNraW5nSGVscGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRDaGVja2luZ1BhcmFn
cmFwaDo6YXV0b21hdGljUmVwbGFjZW1lbnRTdGFydCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0Q2hlY2tpbmdQYXJhZ3JhcGg6OmF1dG9tYXRpY1JlcGxhY2VtZW50TGVuZ3RoIGNvbnN0
KToKKyAgICAgICAgKiBlZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oOgorCiAyMDIwLTA5LTA4
ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEhhdmluZyBhbiBp
ZnJhbWUgYXMgYSBkZXNjZW5kZW50IG5vZGUgc2hvdWxkbid0IHJlcXVpcmUgRWxlbWVudFJhcmVE
YXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggMzkxM2YyZWM4OTUyN2Y2NDM5N2Q1
YWE1OTllMTMzMDQ4M2RiMzVjMS4uYzYyN2Q4ZGZlNGNjMWMzN2JjNGVlNWZjMzVmYjE3ZDdhZTY5
MDk3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMjc5OSw3ICsyNzk5LDggQEAg
dm9pZCBFZGl0b3I6Om1hcmtBbmRSZXBsYWNlRm9yKGNvbnN0IFNwZWxsQ2hlY2tSZXF1ZXN0JiBy
ZXF1ZXN0LCBjb25zdCBWZWN0b3I8VGUKICAgICAgICAgYXV0byByZXN1bHRMb2NhdGlvbiA9IHJl
c3VsdHNbaV0ucmFuZ2UubG9jYXRpb24gKyBvZmZzZXREdWVUb1JlcGxhY2VtZW50OwogICAgICAg
ICBhdXRvIHJlc3VsdExlbmd0aCA9IHJlc3VsdHNbaV0ucmFuZ2UubGVuZ3RoOwogICAgICAgICBh
dXRvIHJlc3VsdEVuZExvY2F0aW9uID0gcmVzdWx0TG9jYXRpb24gKyByZXN1bHRMZW5ndGg7Ci0g
ICAgICAgIGF1dG8gYXV0b21hdGljUmVwbGFjZW1lbnRFbmRMb2NhdGlvbiA9IHBhcmFncmFwaC5h
dXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0KCkgKyBwYXJhZ3JhcGguYXV0b21hdGljUmVwbGFjZW1l
bnRMZW5ndGgoKSArIG9mZnNldER1ZVRvUmVwbGFjZW1lbnQ7CisgICAgICAgIGF1dG8gYXV0b21h
dGljUmVwbGFjZW1lbnRTdGFydExvY2F0aW9uID0gcGFyYWdyYXBoLmF1dG9tYXRpY1JlcGxhY2Vt
ZW50U3RhcnQodHJ1ZSk7CisgICAgICAgIGF1dG8gYXV0b21hdGljUmVwbGFjZW1lbnRFbmRMb2Nh
dGlvbiA9IGF1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnRMb2NhdGlvbiArIHBhcmFncmFwaC5hdXRv
bWF0aWNSZXBsYWNlbWVudExlbmd0aCh0cnVlKSArIG9mZnNldER1ZVRvUmVwbGFjZW1lbnQ7CiAg
ICAgICAgIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1lbnQgPSByZXN1bHRzW2ldLnJlcGxhY2VtZW50
OwogICAgICAgICBib29sIHJlc3VsdEVuZHNBdEFtYmlndW91c0JvdW5kYXJ5ID0gdXNlQW1iaWd1
b3VzQm91bmRhcnlPZmZzZXQgJiYgc2VsZWN0aW9uT2Zmc2V0IC0gMSA8PSByZXN1bHRFbmRMb2Nh
dGlvbjsKIApAQCAtMjgyNCw3ICsyODI1LDcgQEAgdm9pZCBFZGl0b3I6Om1hcmtBbmRSZXBsYWNl
Rm9yKGNvbnN0IFNwZWxsQ2hlY2tSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBWZWN0b3I8VGUKICAg
ICAgICAgICAgICAgICAgICAgYWRkTWFya2VyKGJhZEdyYW1tYXJSYW5nZSwgRG9jdW1lbnRNYXJr
ZXI6OkdyYW1tYXIsIGRldGFpbC51c2VyRGVzY3JpcHRpb24pOwogICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIGlmIChyZXN1bHRFbmRMb2NhdGlvbiA8PSBh
dXRvbWF0aWNSZXBsYWNlbWVudEVuZExvY2F0aW9uICYmIHJlc3VsdEVuZExvY2F0aW9uID49IHBh
cmFncmFwaC5hdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0KCkKKyAgICAgICAgfSBlbHNlIGlmIChh
dXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0TG9jYXRpb24gPD0gcmVzdWx0RW5kTG9jYXRpb24gJiYg
cmVzdWx0RW5kTG9jYXRpb24gPD0gYXV0b21hdGljUmVwbGFjZW1lbnRFbmRMb2NhdGlvbgogICAg
ICAgICAgICAgJiYgaXNBdXRvbWF0aWNUZXh0UmVwbGFjZW1lbnRUeXBlKHJlc3VsdFR5cGUpKSB7
CiAgICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UgdGhlIHJlc3VsdCByYW5nZSBqdXN0IGhhcyB0
byB0b3VjaCB0aGUgYXV0b21hdGljIHJlcGxhY2VtZW50IHJhbmdlLCBzbyB3ZSBjYW4gaGFuZGxl
IHJlcGxhY2luZyBub24td29yZCB0ZXh0IHN1Y2ggYXMgcHVuY3R1YXRpb24uCiAgICAgICAgICAg
ICBBU1NFUlQocmVzdWx0TGVuZ3RoID4gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Rl
eHRDaGVja2luZ0hlbHBlci5jcHAKaW5kZXggNTI2ZGVlZGY2ODA3ZDM2YWU3ODllY2U0MmEwODEw
ODBhNWZmZjMyMi4uZjE2OGEzYjkzMzE4YjBhZDYyNWVkMDY2ZWRkODFhNTRhNDBlY2ViZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmNwcApAQCAtMjA4
LDE1ICsyMDgsMjEgQEAgdWludDY0X3QgVGV4dENoZWNraW5nUGFyYWdyYXBoOjpjaGVja2luZ0xl
bmd0aCgpIGNvbnN0CiAgICAgcmV0dXJuICptX2NoZWNraW5nTGVuZ3RoOwogfQogCi11aW50NjRf
dCBUZXh0Q2hlY2tpbmdQYXJhZ3JhcGg6OmF1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnQoKSBjb25z
dAordWludDY0X3QgVGV4dENoZWNraW5nUGFyYWdyYXBoOjphdXRvbWF0aWNSZXBsYWNlbWVudFN0
YXJ0KGJvb2wgb2xkQmVoYXZpb3VyKSBjb25zdAogeworICAgIGlmIChvbGRCZWhhdmlvdXIgJiYg
aXNfZ3QoZG9jdW1lbnRPcmRlcihwYXJhZ3JhcGhSYW5nZSgpLnN0YXJ0LCBtX2F1dG9tYXRpY1Jl
cGxhY2VtZW50UmFuZ2Uuc3RhcnQpKSkKKyAgICAgICAgcmV0dXJuIGNoYXJhY3RlckNvdW50KHsg
bV9hdXRvbWF0aWNSZXBsYWNlbWVudFJhbmdlLnN0YXJ0LCBtX2F1dG9tYXRpY1JlcGxhY2VtZW50
UmFuZ2Uuc3RhcnQgfSk7CisgICAgCiAgICAgaWYgKCFtX2F1dG9tYXRpY1JlcGxhY2VtZW50U3Rh
cnQpCiAgICAgICAgIG1fYXV0b21hdGljUmVwbGFjZW1lbnRTdGFydCA9IGNoYXJhY3RlckNvdW50
KHsgcGFyYWdyYXBoUmFuZ2UoKS5zdGFydCwgbV9hdXRvbWF0aWNSZXBsYWNlbWVudFJhbmdlLnN0
YXJ0IH0pOwogICAgIHJldHVybiAqbV9hdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0OwogfQogCi11
aW50NjRfdCBUZXh0Q2hlY2tpbmdQYXJhZ3JhcGg6OmF1dG9tYXRpY1JlcGxhY2VtZW50TGVuZ3Ro
KCkgY29uc3QKK3VpbnQ2NF90IFRleHRDaGVja2luZ1BhcmFncmFwaDo6YXV0b21hdGljUmVwbGFj
ZW1lbnRMZW5ndGgoYm9vbCBvbGRCZWhhdmlvdXIpIGNvbnN0CiB7CisgICAgaWYgKG9sZEJlaGF2
aW91ciAmJiBpc19ndChkb2N1bWVudE9yZGVyKHBhcmFncmFwaFJhbmdlKCkuc3RhcnQsIG1fYXV0
b21hdGljUmVwbGFjZW1lbnRSYW5nZS5zdGFydCkpKQorICAgICAgICByZXR1cm4gY2hhcmFjdGVy
Q291bnQoeyBwYXJhZ3JhcGhSYW5nZSgpLnN0YXJ0LCBtX2F1dG9tYXRpY1JlcGxhY2VtZW50UmFu
Z2UuZW5kIH0pOworICAgIAogICAgIGlmICghbV9hdXRvbWF0aWNSZXBsYWNlbWVudExlbmd0aCkK
ICAgICAgICAgbV9hdXRvbWF0aWNSZXBsYWNlbWVudExlbmd0aCA9IGNoYXJhY3RlckNvdW50KG1f
YXV0b21hdGljUmVwbGFjZW1lbnRSYW5nZSk7CiAgICAgcmV0dXJuICptX2F1dG9tYXRpY1JlcGxh
Y2VtZW50TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hl
Y2tpbmdIZWxwZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVy
LmgKaW5kZXggYjVkMjNhMmVlM2Y1ZWZhOGU4Y2NjMmUzODhjYzA5OTg0ZjJkODc3MS4uMGNmOWEz
NWVhMWU4Nzg4Yzg3ODAxMTcyZDdmNWVhMGJmYjM4MjQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCkBAIC01NCw4ICs1NCw4IEBAIHB1YmxpYzoKICAg
ICB1aW50NjRfdCBjaGVja2luZ0xlbmd0aCgpIGNvbnN0OwogICAgIFN0cmluZ1ZpZXcgY2hlY2tp
bmdTdWJzdHJpbmcoKSBjb25zdCB7IHJldHVybiB0ZXh0KCkuc3Vic3RyaW5nKGNoZWNraW5nU3Rh
cnQoKSwgY2hlY2tpbmdMZW5ndGgoKSk7IH0KIAotICAgIHVpbnQ2NF90IGF1dG9tYXRpY1JlcGxh
Y2VtZW50U3RhcnQoKSBjb25zdDsKLSAgICB1aW50NjRfdCBhdXRvbWF0aWNSZXBsYWNlbWVudExl
bmd0aCgpIGNvbnN0OworICAgIHVpbnQ2NF90IGF1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnQoYm9v
bCA9IGZhbHNlKSBjb25zdDsKKyAgICB1aW50NjRfdCBhdXRvbWF0aWNSZXBsYWNlbWVudExlbmd0
aChib29sID0gZmFsc2UpIGNvbnN0OwogCiAgICAgYm9vbCBjaGVja2luZ1JhbmdlTWF0Y2hlcyhD
aGFyYWN0ZXJSYW5nZSByYW5nZSkgY29uc3QgeyByZXR1cm4gcmFuZ2UubG9jYXRpb24gPT0gY2hl
Y2tpbmdTdGFydCgpICYmIHJhbmdlLmxlbmd0aCA9PSBjaGVja2luZ0xlbmd0aCgpOyB9CiAgICAg
Ym9vbCBpc0NoZWNraW5nUmFuZ2VDb3ZlcmVkQnkoQ2hhcmFjdGVyUmFuZ2UgcmFuZ2UpIGNvbnN0
IHsgcmV0dXJuIHJhbmdlLmxvY2F0aW9uIDw9IGNoZWNraW5nU3RhcnQoKSAmJiByYW5nZS5sb2Nh
dGlvbiArIHJhbmdlLmxlbmd0aCA+PSBjaGVja2luZ1N0YXJ0KCkgKyBjaGVja2luZ0xlbmd0aCgp
OyB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggYjgxOGQxNDk5ZTgyOGRlNTk3ZTVjZmUzNjU5MDkyMjZlOTkzMzJjYi4uZWZk
MTQ1Yzg5YTU4NDVhZjM5YzViNDk2ZmZkYmMwYzVmZTIwMTZjNSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEz
IEBACisyMDIwLTA5LTA5ICBNZWdhbiBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+
CisKKyAgICAgICAgT3ZlcmxhcHBpbmcgdGV4dCByZXBsYWNlbWVudHMgYXQgdGhlIGJlZ2lubmlu
ZyBvZiBhIGxpbmUgYXJlIHJlcGxhY2VkIHRvbyBlYXJseQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2MzI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBlZGl0aW5nL3NwZWxsaW5nL3RleHQtcmVwbGFj
ZW1lbnQtZmlyc3Qtd29yZC1zZWNvbmQtbGluZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGVkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1s
aW5lLmh0bWw6IEFkZGVkLgorCiAyMDIwLTA5LTA4ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRA
YXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgdGVzdCBnYXJkZW5pbmcgYWZ0ZXIgcjI2
Njc2MS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBs
YWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5lLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5l
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ODkzZGY5MzdjZWQ2YzkwYzUxZjEwZWNmNjk5YzUy
MGU1YmE1NGYyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGlu
Zy90ZXh0LXJlcGxhY2VtZW50LWZpcnN0LXdvcmQtc2Vjb25kLWxpbmUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsMzIgQEAKK1RvIG1hbnVhbGx5IHRlc3QsIGFkZCBhbiBhdXRvbWF0aWMgdGV4dCBy
ZXBsYWNlbWVudCBtYXBwaW5nIGZyb20gdGhlIHN0cmluZyAnKionIHRvICdzdGFycycuIFRoZW4s
IG9uIHRoZSBzZWNvbmQgbGluZSAodGhpcyBpcyBpbXBvcmF0YW50LCBpdCBtdXN0IG5vdCBiZSB0
aGUgZmlyc3QgbGluZSkgb2YgYSBjb250ZW50ZWRpdGFibGUsIHR5cGUgdGhlIHN0cmluZyAnKion
LiBJdCBzaG91bGQgbm90IGJlIGltbWVkaWF0ZWx5IGNvcnJlY3RlZCB0byAnc3RhcnMnLiBUeXBl
IGFueSBvdGhlciBjaGFyYWN0ZXIsIHdoaWNoIHNob3VsZCB0aGVuIGNoYW5nZSAnKionIHRvICdz
dGFycycuCisKK0FmdGVyIHR5cGluZyBwb3NzaWJsZSByZXBsYWNtZW50OgorfCAiCisgICAgICAg
ICIKK3wgPGRpdj4KK3wgICA8YnI+Cit8IDxkaXY+Cit8ICAgIioqPCNzZWxlY3Rpb24tY2FyZXQ+
IgorfCAiCisgICAgICAgICIKK3wgPGRpdj4KK3wgICA8YnI+Cit8ICIKKyAgICAiCisKK0FmdGVy
IHByZXNzaW5nIGVudGVyOgorfCAiCisgICAgICAgICIKK3wgPGRpdj4KK3wgICA8YnI+Cit8IDxk
aXY+Cit8ICAgInN0YXJzIgorfCA8ZGl2PgorfCAgIDwjc2VsZWN0aW9uLWNhcmV0PgorfCAgIDxi
cj4KK3wgIgorICAgICAgICAiCit8IDxkaXY+Cit8ICAgPGJyPgorfCAiCisgICAgIgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy90ZXh0LXJlcGxhY2VtZW50LWZpcnN0
LXdvcmQtc2Vjb25kLWxpbmUuaHRtbCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvdGV4
dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5lLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ4
NjJlNzkyNGQ4YzEwMTFmNDY3ZjBhY2I3MTdhYTg3MzBiNjVjNwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3Jk
LXNlY29uZC1saW5lLmh0bWwKQEAgLTAsMCArMSw2MyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVscGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1tYXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uL2VkaXRpbmcuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KK01hcmt1cC5kZXNjcmlw
dGlvbigiVG8gbWFudWFsbHkgdGVzdCwgYWRkIGFuIGF1dG9tYXRpYyB0ZXh0IHJlcGxhY2VtZW50
IG1hcHBpbmcgZnJvbSB0aGUgc3RyaW5nICcqKicgdG8gJ3N0YXJzJy4gVGhlbiwgb24gdGhlIHNl
Y29uZCBsaW5lICh0aGlzIGlzIGltcG9yYXRhbnQsIGl0IG11c3Qgbm90IGJlIHRoZSBmaXJzdCBs
aW5lKSBvZiBhIGNvbnRlbnRlZGl0YWJsZSwgdHlwZSB0aGUgc3RyaW5nICcqKicuIEl0IHNob3Vs
ZCBub3QgYmUgaW1tZWRpYXRlbHkgY29ycmVjdGVkIHRvICdzdGFycycuIFR5cGUgYW55IG90aGVy
IGNoYXJhY3Rlciwgd2hpY2ggc2hvdWxkIHRoZW4gY2hhbmdlICcqKicgdG8gJ3N0YXJzJy4iKTsK
K01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKK2FzeW5jIGZ1bmN0aW9uIHJ1blRlc3QoKQorewor
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRVbmlmaWVkVGV4dENoZWNrZXJFbmFibGVkKHRydWUpOworICAgICAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0QXN5bmNocm9ub3VzU3BlbGxDaGVja2luZ0VuYWJsZWQoZmFsc2UpOworICAgICAg
ICBpbnRlcm5hbHMuc2V0QXV0b21hdGljVGV4dFJlcGxhY2VtZW50RW5hYmxlZCh0cnVlKTsKKyAg
ICAgICAgaW50ZXJuYWxzLnNldEF1dG9tYXRpY1NwZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQodHJ1
ZSk7CisgICAgICAgIGF3YWl0IFVJSGVscGVyLnNldFNwZWxsQ2hlY2tlclJlc3VsdHMoeworICAg
ICAgICAgICAgIioqIjogWworICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg
InJlcGxhY2VtZW50IjogInN0YXJzIiwKKyAgICAgICAgICAgICAgICAgICAgInR5cGUiOiAicmVw
bGFjZW1lbnQiLAorICAgICAgICAgICAgICAgICAgICAiZnJvbSI6IDAsCisgICAgICAgICAgICAg
ICAgICAgICJ0byI6IDIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICBdLAorICAgICAg
ICAgICAgIioqXG4iOiBbCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAi
cmVwbGFjZW1lbnQiOiAic3RhcnMiLAorICAgICAgICAgICAgICAgICAgICAidHlwZSI6ICJyZXBs
YWNlbWVudCIsCisgICAgICAgICAgICAgICAgICAgICJmcm9tIjogMCwKKyAgICAgICAgICAgICAg
ICAgICAgInRvIjogMgorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIF0KKyAgICAgICAg
fSk7CisgICAgfQorCisgICAgY29uc3QgZWRpdG9yID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
ImVkaXRvciIpOworICAgIGVkaXRvci5mb2N1cygpOworICAgIGluc2VydFBhcmFncmFwaENvbW1h
bmQoKTsKKworICAgIGZvciAoY29uc3QgY2hhcmFjdGVyIG9mICIqKiIpCisgICAgICAgIHR5cGVD
aGFyYWN0ZXJDb21tYW5kKGNoYXJhY3Rlcik7CisgICAgYXdhaXQgVUlIZWxwZXIuZGVsYXlGb3Io
MCk7CisKKyAgICBNYXJrdXAuZHVtcChlZGl0b3IsICJBZnRlciB0eXBpbmcgcG9zc2libGUgcmVw
bGFjbWVudCIpOworCisgICAgaW5zZXJ0UGFyYWdyYXBoQ29tbWFuZCgpOworICAgIGF3YWl0IFVJ
SGVscGVyLmRlbGF5Rm9yKDApOworCisgICAgTWFya3VwLmR1bXAoZWRpdG9yLCAiQWZ0ZXIgcHJl
c3NpbmcgZW50ZXIiKTsKKyAgICBNYXJrdXAubm90aWZ5RG9uZSgpOworfQorPC9zY3JpcHQ+Cis8
L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KKyAgICA8ZGl2IGlkPSJkZXNjcmlw
dGlvbiI+PC9kaXY+CisgICAgPGRpdiBjb250ZW50ZWRpdGFibGUgc3R5bGU9Im1hcmdpbi1ib3R0
b206IDFlbTsgYm9yZGVyOiAxcHggb3JhbmdlIGRhc2hlZDsiIGlkPSJlZGl0b3IiPgorICAgICAg
ICA8ZGl2Pjxicj48L2Rpdj4KKyAgICAgICAgPGRpdj48YnI+PC9kaXY+CisgICAgPC9kaXY+Cis8
L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDIxMjg2MmVjMDhjM2MzM2Y0MTAwZTY1ZDMxZWNkMjdjZjY1ZGNmNWQuLmE3OWZlYWQ0
ZDM0ZjQ5ZWI3Mzc5OGZhY2IwMTQyZTVmMjMzMTQwY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC05NTksNiArOTU5LDcgQEAgd2Via2l0Lm9yZy9iLzE4
NzA0NCB3ZWJhbmltYXRpb25zL29wYWNpdHktYW5pbWF0aW9uLXlpZWxkcy1jb21wb3NpdGluZy1z
cGFuLmh0bWwKIAogIyBSZXF1aXJlcyBzdXBwb3J0IGZvciB0ZXN0aW5nIHRleHQgcmVwbGFjZW1l
bnQKIGVkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1hZnRlci10eXBpbmctdG8td29y
ZC5odG1sIFsgU2tpcCBdCitlZGl0aW5nL3NwZWxsaW5nL3RleHQtcmVwbGFjZW1lbnQtZmlyc3Qt
d29yZC1zZWNvbmQtbGluZS5odG1sIFsgU2tpcCBdCiAKICMgTWVkaWFSZWNvcmRlciBpcyBub3Qg
Y3VycmVudGx5IGltcGxlbWVudGVkCiBodHRwL3dwdC9tZWRpYXJlY29yZGVyIFsgU2tpcCBdCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvVGVzdEV4cGVjdGF0aW9ucyBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGI4N2Q5ZTJjMjI4
NGYxYmRmZTcyMDRjOTFkNTE1NDk3NDFiZWFiNjMuLmM2NDU0MTJmZTA4YjIwMjM3OTkzNWIwODUy
M2Y4MDkwMzQzZjhhMTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRp
b25zCkBAIC0xMjcsNiArMTI3LDcgQEAgZWRpdGluZy9zcGVsbGluZy9zcGVsbGluZy1tYXJrZXJz
LWFmdGVyLXBhc3Rpbmctc2VudGVuY2UuaHRtbCBbIFdvbnRGaXggXQogCiAjIFJlcXVpcmVzIHN1
cHBvcnQgZm9yIHRlc3RpbmcgdGV4dCByZXBsYWNlbWVudAogZWRpdGluZy9zcGVsbGluZy90ZXh0
LXJlcGxhY2VtZW50LWFmdGVyLXR5cGluZy10by13b3JkLmh0bWwgWyBTa2lwIF0KK2VkaXRpbmcv
c3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5lLmh0bWwgWyBT
a2lwIF0KIAogIyBVSUtpdCBkcmF3cyBzZWxlY3Rpb24gb24gaU9TCiBmYXN0L3NlbGVjdG9ycy9p
bnB1dC13aXRoLXNlbGVjdGlvbi1wc2V1ZG8tZWxlbWVudC5odG1sIFsgV29udEZpeCBdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBhZTRm
MDhjZmMxMTFlOGQzZDFlZjg0ZmJkZTUwM2NkZDJmZjY0NTAzLi4zOTgyYmQxYTNkMDgxMjA4MWQ4
Yjc4MzM2ZThlYjZiOWRlOWUxODczIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNh
aXJvL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTY5OSw2ICs2OTksNyBAQCBlZGl0aW5nL3NwZWxsaW5n
L3NwZWxsY2hlY2stYXR0cmlidXRlLmh0bWwgWyBUaW1lb3V0IF0KICMgVUlTY3JpcHRDb250cm9s
bGVyLnNldENvbnRpbnVvdXNTcGVsbENoZWNraW5nRW5hYmxlZCBpcyBub3QgaW1wbGVtZW50ZWQu
CiBlZGl0aW5nL3NwZWxsaW5nL21hcmtlcnMuaHRtbCBbIFNraXAgXQogZWRpdGluZy9zcGVsbGlu
Zy90ZXh0LXJlcGxhY2VtZW50LWFmdGVyLXR5cGluZy10by13b3JkLmh0bWwgWyBTa2lwIF0KK2Vk
aXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5lLmh0
bWwgWyBTa2lwIF0KIGVkaXRpbmcvc3BlbGxpbmcvdG9nZ2xlLXNwZWxsY2hlY2tpbmcuaHRtbCBb
IFNraXAgXQogCiAjIExheW91dFRlc3QvZmFzdC9sb2FkZXIgdGVzdHMgdGhhdCBmYWlsIG9yIHRp
bWUgb3V0Lgo=
</data>
<flag name="review"
          id="423905"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408490</attachid>
            <date>2020-09-10 16:03:36 -0700</date>
            <delta_ts>2020-09-10 23:11:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216327-20200910160335.patch</filename>
            <type>text/plain</type>
            <size>12290</size>
            <attacher name="Megan Gardner">megan_gardner</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY2Nzc1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGZkMjkxYjQxZjEzYzRl
OWYzN2YyZmZhZjllNTM3OTUxYjZlMGE3My4uYzUxNGFiZDcwOTU0NjEzNmFkZGEyNWE4ZDYzNDMw
MGM1OTk1MzIyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDIwLTA5LTA5ICBNZWdh
biBHYXJkbmVyICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgVGV4dCByZXBs
YWNlbWVudHMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIHNlY29uZCBsaW5lIGFyZSByZXBsYWNlZCB0
b28gZWFybHkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxNjMyNworICAgICAgICA8cmRhcjovL3Byb2JsZW0vNjgxNzAzNTM+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW4gdGhlIGNoYW5nZXMgaW4gcjI1
ODg3MSwgdXNpbmcgU2ltcGxlUmFuZ2VzIGluc3RlYWQgb2YgUmFuZ2UgY2F1c2luZyBzb21lIHNp
ZGUgZWZmZWN0cworICAgICAgICB3aGVuIHRoZSByZXBsYWNlbWVudHMgYXQgdGhlIGJlZ2lubmlu
ZyBvZiBsaW5lcy4gVGhlIHJhbmdlcyB0aGF0IHdlIGFyZSBjb3VudGluZyBhcmUgYmFja3dhcmRz
CisgICAgICAgIGFuZCB0aGUgcmV0dXJuIGNoYXJhY3RlcnMgYXJlIGJlaW5nIGNvdW50ZWQgaW5z
dGVhZCBvZiBiZWluZyBpZ25vcmVkLiBUaGVyZSBpcyBhbG1vc3QgCisgICAgICAgIGNlcnRhaW5s
eSBhIGJldHRlciBmaXggdGhhbiB0aGlzLCBidXQgdGhpcyBwYXRjaCByZXN0b3JlcyB0aGUgb3Jp
Z2luYWwgbG9naWMgdGhhdAorICAgICAgICB3YXMgcHJlc2VudCB3aGVuIFJhbmdlIHdhcyBiZWlu
ZyB1c2VkLCB1bnRpbCBhIGJldHRlciBmaXggY2FuIGJlIHdvcmtlZCBvdXQuIAorCisgICAgICAg
IFRlc3Q6IGVkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29u
ZC1saW5lLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvRWRpdG9yLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkVkaXRvcjo6bWFya0FuZFJlcGxhY2VGb3IpOgorICAgICAgICAqIGVkaXRpbmcvVGV4
dENoZWNraW5nSGVscGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRleHRDaGVja2luZ1BhcmFn
cmFwaDo6YXV0b21hdGljUmVwbGFjZW1lbnRTdGFydCBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpUZXh0Q2hlY2tpbmdQYXJhZ3JhcGg6OmF1dG9tYXRpY1JlcGxhY2VtZW50TGVuZ3RoIGNvbnN0
KToKKyAgICAgICAgKiBlZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oOgorCiAyMDIwLTA5LTA4
ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIEhhdmluZyBhbiBp
ZnJhbWUgYXMgYSBkZXNjZW5kZW50IG5vZGUgc2hvdWxkbid0IHJlcXVpcmUgRWxlbWVudFJhcmVE
YXRhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9lZGl0aW5nL0VkaXRvci5jcHAKaW5kZXggMzkxM2YyZWM4OTUyN2Y2NDM5N2Q1
YWE1OTllMTMzMDQ4M2RiMzVjMS4uYzYyN2Q4ZGZlNGNjMWMzN2JjNGVlNWZjMzVmYjE3ZDdhZTY5
MDk3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRWRpdG9yLmNwcApAQCAtMjc5OSw3ICsyNzk5LDggQEAg
dm9pZCBFZGl0b3I6Om1hcmtBbmRSZXBsYWNlRm9yKGNvbnN0IFNwZWxsQ2hlY2tSZXF1ZXN0JiBy
ZXF1ZXN0LCBjb25zdCBWZWN0b3I8VGUKICAgICAgICAgYXV0byByZXN1bHRMb2NhdGlvbiA9IHJl
c3VsdHNbaV0ucmFuZ2UubG9jYXRpb24gKyBvZmZzZXREdWVUb1JlcGxhY2VtZW50OwogICAgICAg
ICBhdXRvIHJlc3VsdExlbmd0aCA9IHJlc3VsdHNbaV0ucmFuZ2UubGVuZ3RoOwogICAgICAgICBh
dXRvIHJlc3VsdEVuZExvY2F0aW9uID0gcmVzdWx0TG9jYXRpb24gKyByZXN1bHRMZW5ndGg7Ci0g
ICAgICAgIGF1dG8gYXV0b21hdGljUmVwbGFjZW1lbnRFbmRMb2NhdGlvbiA9IHBhcmFncmFwaC5h
dXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0KCkgKyBwYXJhZ3JhcGguYXV0b21hdGljUmVwbGFjZW1l
bnRMZW5ndGgoKSArIG9mZnNldER1ZVRvUmVwbGFjZW1lbnQ7CisgICAgICAgIGF1dG8gYXV0b21h
dGljUmVwbGFjZW1lbnRTdGFydExvY2F0aW9uID0gcGFyYWdyYXBoLmF1dG9tYXRpY1JlcGxhY2Vt
ZW50U3RhcnQodHJ1ZSk7CisgICAgICAgIGF1dG8gYXV0b21hdGljUmVwbGFjZW1lbnRFbmRMb2Nh
dGlvbiA9IGF1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnRMb2NhdGlvbiArIHBhcmFncmFwaC5hdXRv
bWF0aWNSZXBsYWNlbWVudExlbmd0aCh0cnVlKSArIG9mZnNldER1ZVRvUmVwbGFjZW1lbnQ7CiAg
ICAgICAgIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1lbnQgPSByZXN1bHRzW2ldLnJlcGxhY2VtZW50
OwogICAgICAgICBib29sIHJlc3VsdEVuZHNBdEFtYmlndW91c0JvdW5kYXJ5ID0gdXNlQW1iaWd1
b3VzQm91bmRhcnlPZmZzZXQgJiYgc2VsZWN0aW9uT2Zmc2V0IC0gMSA8PSByZXN1bHRFbmRMb2Nh
dGlvbjsKIApAQCAtMjgyNCw3ICsyODI1LDcgQEAgdm9pZCBFZGl0b3I6Om1hcmtBbmRSZXBsYWNl
Rm9yKGNvbnN0IFNwZWxsQ2hlY2tSZXF1ZXN0JiByZXF1ZXN0LCBjb25zdCBWZWN0b3I8VGUKICAg
ICAgICAgICAgICAgICAgICAgYWRkTWFya2VyKGJhZEdyYW1tYXJSYW5nZSwgRG9jdW1lbnRNYXJr
ZXI6OkdyYW1tYXIsIGRldGFpbC51c2VyRGVzY3JpcHRpb24pOwogICAgICAgICAgICAgICAgIH0K
ICAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIGlmIChyZXN1bHRFbmRMb2NhdGlvbiA8PSBh
dXRvbWF0aWNSZXBsYWNlbWVudEVuZExvY2F0aW9uICYmIHJlc3VsdEVuZExvY2F0aW9uID49IHBh
cmFncmFwaC5hdXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0KCkKKyAgICAgICAgfSBlbHNlIGlmIChh
dXRvbWF0aWNSZXBsYWNlbWVudFN0YXJ0TG9jYXRpb24gPD0gcmVzdWx0RW5kTG9jYXRpb24gJiYg
cmVzdWx0RW5kTG9jYXRpb24gPD0gYXV0b21hdGljUmVwbGFjZW1lbnRFbmRMb2NhdGlvbgogICAg
ICAgICAgICAgJiYgaXNBdXRvbWF0aWNUZXh0UmVwbGFjZW1lbnRUeXBlKHJlc3VsdFR5cGUpKSB7
CiAgICAgICAgICAgICAvLyBJbiB0aGlzIGNhc2UgdGhlIHJlc3VsdCByYW5nZSBqdXN0IGhhcyB0
byB0b3VjaCB0aGUgYXV0b21hdGljIHJlcGxhY2VtZW50IHJhbmdlLCBzbyB3ZSBjYW4gaGFuZGxl
IHJlcGxhY2luZyBub24td29yZCB0ZXh0IHN1Y2ggYXMgcHVuY3R1YXRpb24uCiAgICAgICAgICAg
ICBBU1NFUlQocmVzdWx0TGVuZ3RoID4gMCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9l
ZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1Rl
eHRDaGVja2luZ0hlbHBlci5jcHAKaW5kZXggNTI2ZGVlZGY2ODA3ZDM2YWU3ODllY2U0MmEwODEw
ODBhNWZmZjMyMi4uOTlkMmMzOTlkMDBmZTI1NTk0N2MzZGVhMmI2NDBhYzA0MjRkNmY3ZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmNwcApAQCAtMjA4
LDE1ICsyMDgsMjEgQEAgdWludDY0X3QgVGV4dENoZWNraW5nUGFyYWdyYXBoOjpjaGVja2luZ0xl
bmd0aCgpIGNvbnN0CiAgICAgcmV0dXJuICptX2NoZWNraW5nTGVuZ3RoOwogfQogCi11aW50NjRf
dCBUZXh0Q2hlY2tpbmdQYXJhZ3JhcGg6OmF1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnQoKSBjb25z
dAordWludDY0X3QgVGV4dENoZWNraW5nUGFyYWdyYXBoOjphdXRvbWF0aWNSZXBsYWNlbWVudFN0
YXJ0KGJvb2wgb2xkQmVoYXZpb3VyKSBjb25zdAogeworICAgIGlmIChvbGRCZWhhdmlvdXIgJiYg
aXNfZ3QoZG9jdW1lbnRPcmRlcihwYXJhZ3JhcGhSYW5nZSgpLnN0YXJ0LCBtX2F1dG9tYXRpY1Jl
cGxhY2VtZW50UmFuZ2Uuc3RhcnQpKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgCiAgICAgaWYg
KCFtX2F1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnQpCiAgICAgICAgIG1fYXV0b21hdGljUmVwbGFj
ZW1lbnRTdGFydCA9IGNoYXJhY3RlckNvdW50KHsgcGFyYWdyYXBoUmFuZ2UoKS5zdGFydCwgbV9h
dXRvbWF0aWNSZXBsYWNlbWVudFJhbmdlLnN0YXJ0IH0pOwogICAgIHJldHVybiAqbV9hdXRvbWF0
aWNSZXBsYWNlbWVudFN0YXJ0OwogfQogCi11aW50NjRfdCBUZXh0Q2hlY2tpbmdQYXJhZ3JhcGg6
OmF1dG9tYXRpY1JlcGxhY2VtZW50TGVuZ3RoKCkgY29uc3QKK3VpbnQ2NF90IFRleHRDaGVja2lu
Z1BhcmFncmFwaDo6YXV0b21hdGljUmVwbGFjZW1lbnRMZW5ndGgoYm9vbCBvbGRCZWhhdmlvdXIp
IGNvbnN0CiB7CisgICAgaWYgKG9sZEJlaGF2aW91ciAmJiBpc19ndChkb2N1bWVudE9yZGVyKHBh
cmFncmFwaFJhbmdlKCkuc3RhcnQsIG1fYXV0b21hdGljUmVwbGFjZW1lbnRSYW5nZS5zdGFydCkp
KQorICAgICAgICByZXR1cm4gY2hhcmFjdGVyQ291bnQoeyBwYXJhZ3JhcGhSYW5nZSgpLnN0YXJ0
LCBtX2F1dG9tYXRpY1JlcGxhY2VtZW50UmFuZ2UuZW5kIH0pOworICAgIAogICAgIGlmICghbV9h
dXRvbWF0aWNSZXBsYWNlbWVudExlbmd0aCkKICAgICAgICAgbV9hdXRvbWF0aWNSZXBsYWNlbWVu
dExlbmd0aCA9IGNoYXJhY3RlckNvdW50KG1fYXV0b21hdGljUmVwbGFjZW1lbnRSYW5nZSk7CiAg
ICAgcmV0dXJuICptX2F1dG9tYXRpY1JlcGxhY2VtZW50TGVuZ3RoOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxwZXIuaCBiL1NvdXJjZS9XZWJDb3Jl
L2VkaXRpbmcvVGV4dENoZWNraW5nSGVscGVyLmgKaW5kZXggYjVkMjNhMmVlM2Y1ZWZhOGU4Y2Nj
MmUzODhjYzA5OTg0ZjJkODc3MS4uMGNmOWEzNWVhMWU4Nzg4Yzg3ODAxMTcyZDdmNWVhMGJmYjM4
MjQ0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9UZXh0Q2hlY2tpbmdIZWxw
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL1RleHRDaGVja2luZ0hlbHBlci5oCkBA
IC01NCw4ICs1NCw4IEBAIHB1YmxpYzoKICAgICB1aW50NjRfdCBjaGVja2luZ0xlbmd0aCgpIGNv
bnN0OwogICAgIFN0cmluZ1ZpZXcgY2hlY2tpbmdTdWJzdHJpbmcoKSBjb25zdCB7IHJldHVybiB0
ZXh0KCkuc3Vic3RyaW5nKGNoZWNraW5nU3RhcnQoKSwgY2hlY2tpbmdMZW5ndGgoKSk7IH0KIAot
ICAgIHVpbnQ2NF90IGF1dG9tYXRpY1JlcGxhY2VtZW50U3RhcnQoKSBjb25zdDsKLSAgICB1aW50
NjRfdCBhdXRvbWF0aWNSZXBsYWNlbWVudExlbmd0aCgpIGNvbnN0OworICAgIHVpbnQ2NF90IGF1
dG9tYXRpY1JlcGxhY2VtZW50U3RhcnQoYm9vbCA9IGZhbHNlKSBjb25zdDsKKyAgICB1aW50NjRf
dCBhdXRvbWF0aWNSZXBsYWNlbWVudExlbmd0aChib29sID0gZmFsc2UpIGNvbnN0OwogCiAgICAg
Ym9vbCBjaGVja2luZ1JhbmdlTWF0Y2hlcyhDaGFyYWN0ZXJSYW5nZSByYW5nZSkgY29uc3QgeyBy
ZXR1cm4gcmFuZ2UubG9jYXRpb24gPT0gY2hlY2tpbmdTdGFydCgpICYmIHJhbmdlLmxlbmd0aCA9
PSBjaGVja2luZ0xlbmd0aCgpOyB9CiAgICAgYm9vbCBpc0NoZWNraW5nUmFuZ2VDb3ZlcmVkQnko
Q2hhcmFjdGVyUmFuZ2UgcmFuZ2UpIGNvbnN0IHsgcmV0dXJuIHJhbmdlLmxvY2F0aW9uIDw9IGNo
ZWNraW5nU3RhcnQoKSAmJiByYW5nZS5sb2NhdGlvbiArIHJhbmdlLmxlbmd0aCA+PSBjaGVja2lu
Z1N0YXJ0KCkgKyBjaGVja2luZ0xlbmd0aCgpOyB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggYjgxOGQxNDk5ZTgyOGRlNTk3
ZTVjZmUzNjU5MDkyMjZlOTkzMzJjYi4uZWZkMTQ1Yzg5YTU4NDVhZjM5YzViNDk2ZmZkYmMwYzVm
ZTIwMTZjNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIwLTA5LTA5ICBNZWdhbiBHYXJkbmVy
ICA8bWVnYW5fZ2FyZG5lckBhcHBsZS5jb20+CisKKyAgICAgICAgT3ZlcmxhcHBpbmcgdGV4dCBy
ZXBsYWNlbWVudHMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGxpbmUgYXJlIHJlcGxhY2VkIHRvbyBl
YXJseQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE2
MzI3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBl
ZGl0aW5nL3NwZWxsaW5nL3RleHQtcmVwbGFjZW1lbnQtZmlyc3Qtd29yZC1zZWNvbmQtbGluZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBs
YWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5lLmh0bWw6IEFkZGVkLgorCiAyMDIwLTA5LTA4
ICBSeWFuIEhhZGRhZCAgPHJ5YW5oYWRkYWRAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQgdGVzdCBnYXJkZW5pbmcgYWZ0ZXIgcjI2Njc2MS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2VkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5l
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNl
bWVudC1maXJzdC13b3JkLXNlY29uZC1saW5lLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ODkz
ZGY5MzdjZWQ2YzkwYzUxZjEwZWNmNjk5YzUyMGU1YmE1NGYyCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvZWRpdGluZy9zcGVsbGluZy90ZXh0LXJlcGxhY2VtZW50LWZpcnN0LXdvcmQt
c2Vjb25kLWxpbmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMzIgQEAKK1RvIG1hbnVhbGx5IHRl
c3QsIGFkZCBhbiBhdXRvbWF0aWMgdGV4dCByZXBsYWNlbWVudCBtYXBwaW5nIGZyb20gdGhlIHN0
cmluZyAnKionIHRvICdzdGFycycuIFRoZW4sIG9uIHRoZSBzZWNvbmQgbGluZSAodGhpcyBpcyBp
bXBvcmF0YW50LCBpdCBtdXN0IG5vdCBiZSB0aGUgZmlyc3QgbGluZSkgb2YgYSBjb250ZW50ZWRp
dGFibGUsIHR5cGUgdGhlIHN0cmluZyAnKionLiBJdCBzaG91bGQgbm90IGJlIGltbWVkaWF0ZWx5
IGNvcnJlY3RlZCB0byAnc3RhcnMnLiBUeXBlIGFueSBvdGhlciBjaGFyYWN0ZXIsIHdoaWNoIHNo
b3VsZCB0aGVuIGNoYW5nZSAnKionIHRvICdzdGFycycuCisKK0FmdGVyIHR5cGluZyBwb3NzaWJs
ZSByZXBsYWNtZW50OgorfCAiCisgICAgICAgICIKK3wgPGRpdj4KK3wgICA8YnI+Cit8IDxkaXY+
Cit8ICAgIioqPCNzZWxlY3Rpb24tY2FyZXQ+IgorfCAiCisgICAgICAgICIKK3wgPGRpdj4KK3wg
ICA8YnI+Cit8ICIKKyAgICAiCisKK0FmdGVyIHByZXNzaW5nIGVudGVyOgorfCAiCisgICAgICAg
ICIKK3wgPGRpdj4KK3wgICA8YnI+Cit8IDxkaXY+Cit8ICAgInN0YXJzIgorfCA8ZGl2PgorfCAg
IDwjc2VsZWN0aW9uLWNhcmV0PgorfCAgIDxicj4KK3wgIgorICAgICAgICAiCit8IDxkaXY+Cit8
ICAgPGJyPgorfCAiCisgICAgIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZWRpdGluZy9zcGVs
bGluZy90ZXh0LXJlcGxhY2VtZW50LWZpcnN0LXdvcmQtc2Vjb25kLWxpbmUuaHRtbCBiL0xheW91
dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29u
ZC1saW5lLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmQ4NjJlNzkyNGQ4YzEwMTFmNDY3ZjBhY2I3MTdhYTg3
MzBiNjVjNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2VkaXRpbmcvc3BlbGxpbmcv
dGV4dC1yZXBsYWNlbWVudC1maXJzdC13b3JkLXNlY29uZC1saW5lLmh0bWwKQEAgLTAsMCArMSw2
MyBAQAorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvdWktaGVs
cGVyLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvZHVtcC1hcy1t
YXJrdXAuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2VkaXRpbmcuanMiPjwvc2NyaXB0
PgorPHNjcmlwdD4KK01hcmt1cC5kZXNjcmlwdGlvbigiVG8gbWFudWFsbHkgdGVzdCwgYWRkIGFu
IGF1dG9tYXRpYyB0ZXh0IHJlcGxhY2VtZW50IG1hcHBpbmcgZnJvbSB0aGUgc3RyaW5nICcqKicg
dG8gJ3N0YXJzJy4gVGhlbiwgb24gdGhlIHNlY29uZCBsaW5lICh0aGlzIGlzIGltcG9yYXRhbnQs
IGl0IG11c3Qgbm90IGJlIHRoZSBmaXJzdCBsaW5lKSBvZiBhIGNvbnRlbnRlZGl0YWJsZSwgdHlw
ZSB0aGUgc3RyaW5nICcqKicuIEl0IHNob3VsZCBub3QgYmUgaW1tZWRpYXRlbHkgY29ycmVjdGVk
IHRvICdzdGFycycuIFR5cGUgYW55IG90aGVyIGNoYXJhY3Rlciwgd2hpY2ggc2hvdWxkIHRoZW4g
Y2hhbmdlICcqKicgdG8gJ3N0YXJzJy4iKTsKK01hcmt1cC53YWl0VW50aWxEb25lKCk7CisKK2Fz
eW5jIGZ1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRVbmlmaWVkVGV4dENoZWNrZXJFbmFibGVkKHRy
dWUpOworICAgICAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0QXN5bmNocm9ub3VzU3BlbGxDaGVj
a2luZ0VuYWJsZWQoZmFsc2UpOworICAgICAgICBpbnRlcm5hbHMuc2V0QXV0b21hdGljVGV4dFJl
cGxhY2VtZW50RW5hYmxlZCh0cnVlKTsKKyAgICAgICAgaW50ZXJuYWxzLnNldEF1dG9tYXRpY1Nw
ZWxsaW5nQ29ycmVjdGlvbkVuYWJsZWQodHJ1ZSk7CisgICAgICAgIGF3YWl0IFVJSGVscGVyLnNl
dFNwZWxsQ2hlY2tlclJlc3VsdHMoeworICAgICAgICAgICAgIioqIjogWworICAgICAgICAgICAg
ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgInJlcGxhY2VtZW50IjogInN0YXJzIiwKKyAgICAg
ICAgICAgICAgICAgICAgInR5cGUiOiAicmVwbGFjZW1lbnQiLAorICAgICAgICAgICAgICAgICAg
ICAiZnJvbSI6IDAsCisgICAgICAgICAgICAgICAgICAgICJ0byI6IDIKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICBdLAorICAgICAgICAgICAgIioqXG4iOiBbCisgICAgICAgICAgICAg
ICAgeworICAgICAgICAgICAgICAgICAgICAicmVwbGFjZW1lbnQiOiAic3RhcnMiLAorICAgICAg
ICAgICAgICAgICAgICAidHlwZSI6ICJyZXBsYWNlbWVudCIsCisgICAgICAgICAgICAgICAgICAg
ICJmcm9tIjogMCwKKyAgICAgICAgICAgICAgICAgICAgInRvIjogMgorICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgIF0KKyAgICAgICAgfSk7CisgICAgfQorCisgICAgY29uc3QgZWRpdG9y
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVkaXRvciIpOworICAgIGVkaXRvci5mb2N1cygp
OworICAgIGluc2VydFBhcmFncmFwaENvbW1hbmQoKTsKKworICAgIGZvciAoY29uc3QgY2hhcmFj
dGVyIG9mICIqKiIpCisgICAgICAgIHR5cGVDaGFyYWN0ZXJDb21tYW5kKGNoYXJhY3Rlcik7Cisg
ICAgYXdhaXQgVUlIZWxwZXIuZGVsYXlGb3IoMCk7CisKKyAgICBNYXJrdXAuZHVtcChlZGl0b3Is
ICJBZnRlciB0eXBpbmcgcG9zc2libGUgcmVwbGFjbWVudCIpOworCisgICAgaW5zZXJ0UGFyYWdy
YXBoQ29tbWFuZCgpOworICAgIGF3YWl0IFVJSGVscGVyLmRlbGF5Rm9yKDApOworCisgICAgTWFy
a3VwLmR1bXAoZWRpdG9yLCAiQWZ0ZXIgcHJlc3NpbmcgZW50ZXIiKTsKKyAgICBNYXJrdXAubm90
aWZ5RG9uZSgpOworfQorPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0icnVuVGVz
dCgpIj4KKyAgICA8ZGl2IGlkPSJkZXNjcmlwdGlvbiI+PC9kaXY+CisgICAgPGRpdiBjb250ZW50
ZWRpdGFibGUgc3R5bGU9Im1hcmdpbi1ib3R0b206IDFlbTsgYm9yZGVyOiAxcHggb3JhbmdlIGRh
c2hlZDsiIGlkPSJlZGl0b3IiPgorICAgICAgICA8ZGl2Pjxicj48L2Rpdj4KKyAgICAgICAgPGRp
dj48YnI+PC9kaXY+CisgICAgPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDIxMjg2MmVjMDhjM2MzM2Y0MTAwZTY1
ZDMxZWNkMjdjZjY1ZGNmNWQuLmE3OWZlYWQ0ZDM0ZjQ5ZWI3Mzc5OGZhY2IwMTQyZTVmMjMzMTQw
Y2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC05NTks
NiArOTU5LDcgQEAgd2Via2l0Lm9yZy9iLzE4NzA0NCB3ZWJhbmltYXRpb25zL29wYWNpdHktYW5p
bWF0aW9uLXlpZWxkcy1jb21wb3NpdGluZy1zcGFuLmh0bWwKIAogIyBSZXF1aXJlcyBzdXBwb3J0
IGZvciB0ZXN0aW5nIHRleHQgcmVwbGFjZW1lbnQKIGVkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBs
YWNlbWVudC1hZnRlci10eXBpbmctdG8td29yZC5odG1sIFsgU2tpcCBdCitlZGl0aW5nL3NwZWxs
aW5nL3RleHQtcmVwbGFjZW1lbnQtZmlyc3Qtd29yZC1zZWNvbmQtbGluZS5odG1sIFsgU2tpcCBd
CiAKICMgTWVkaWFSZWNvcmRlciBpcyBub3QgY3VycmVudGx5IGltcGxlbWVudGVkCiBodHRwL3dw
dC9tZWRpYXJlY29yZGVyIFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9pb3MvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhw
ZWN0YXRpb25zCmluZGV4IGI4N2Q5ZTJjMjI4NGYxYmRmZTcyMDRjOTFkNTE1NDk3NDFiZWFiNjMu
LmM2NDU0MTJmZTA4YjIwMjM3OTkzNWIwODUyM2Y4MDkwMzQzZjhhMTUgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2lvcy9UZXN0RXhwZWN0YXRpb25zCkBAIC0xMjcsNiArMTI3LDcgQEAgZWRpdGlu
Zy9zcGVsbGluZy9zcGVsbGluZy1tYXJrZXJzLWFmdGVyLXBhc3Rpbmctc2VudGVuY2UuaHRtbCBb
IFdvbnRGaXggXQogCiAjIFJlcXVpcmVzIHN1cHBvcnQgZm9yIHRlc3RpbmcgdGV4dCByZXBsYWNl
bWVudAogZWRpdGluZy9zcGVsbGluZy90ZXh0LXJlcGxhY2VtZW50LWFmdGVyLXR5cGluZy10by13
b3JkLmh0bWwgWyBTa2lwIF0KK2VkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVudC1maXJz
dC13b3JkLXNlY29uZC1saW5lLmh0bWwgWyBTa2lwIF0KIAogIyBVSUtpdCBkcmF3cyBzZWxlY3Rp
b24gb24gaU9TCiBmYXN0L3NlbGVjdG9ycy9pbnB1dC13aXRoLXNlbGVjdGlvbi1wc2V1ZG8tZWxl
bWVudC5odG1sIFsgV29udEZpeCBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8v
VGVzdEV4cGVjdGF0aW9ucwppbmRleCBhZTRmMDhjZmMxMTFlOGQzZDFlZjg0ZmJkZTUwM2NkZDJm
ZjY0NTAzLi4zOTgyYmQxYTNkMDgxMjA4MWQ4Yjc4MzM2ZThlYjZiOWRlOWUxODczIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTY5OSw2
ICs2OTksNyBAQCBlZGl0aW5nL3NwZWxsaW5nL3NwZWxsY2hlY2stYXR0cmlidXRlLmh0bWwgWyBU
aW1lb3V0IF0KICMgVUlTY3JpcHRDb250cm9sbGVyLnNldENvbnRpbnVvdXNTcGVsbENoZWNraW5n
RW5hYmxlZCBpcyBub3QgaW1wbGVtZW50ZWQuCiBlZGl0aW5nL3NwZWxsaW5nL21hcmtlcnMuaHRt
bCBbIFNraXAgXQogZWRpdGluZy9zcGVsbGluZy90ZXh0LXJlcGxhY2VtZW50LWFmdGVyLXR5cGlu
Zy10by13b3JkLmh0bWwgWyBTa2lwIF0KK2VkaXRpbmcvc3BlbGxpbmcvdGV4dC1yZXBsYWNlbWVu
dC1maXJzdC13b3JkLXNlY29uZC1saW5lLmh0bWwgWyBTa2lwIF0KIGVkaXRpbmcvc3BlbGxpbmcv
dG9nZ2xlLXNwZWxsY2hlY2tpbmcuaHRtbCBbIFNraXAgXQogCiAjIExheW91dFRlc3QvZmFzdC9s
b2FkZXIgdGVzdHMgdGhhdCBmYWlsIG9yIHRpbWUgb3V0Lgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>