<?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>224586</bug_id>
          
          <creation_ts>2021-04-14 16:29:28 -0700</creation_ts>
          <short_desc>Use WTF::Function instead of std::function in SVGPropertyAnimatorFactory::attributeAnimatorCreator</short_desc>
          <delta_ts>2021-04-15 11:24:57 -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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fmalita</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>pdr</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>schenney</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1750403</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-14 16:29:28 -0700</bug_when>
    <thetext>Use WTF::Function instead of std::function in SVGPropertyAnimatorFactory::attributeAnimatorCreator</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750407</commentid>
    <comment_count>1</comment_count>
      <attachid>426061</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-14 16:35:17 -0700</bug_when>
    <thetext>Created attachment 426061
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750408</commentid>
    <comment_count>2</comment_count>
      <attachid>426061</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2021-04-14 16:39:36 -0700</bug_when>
    <thetext>Comment on attachment 426061
Patch

EWS too angry</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750447</commentid>
    <comment_count>3</comment_count>
      <attachid>426068</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-14 19:17:14 -0700</bug_when>
    <thetext>Created attachment 426068
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750626</commentid>
    <comment_count>4</comment_count>
      <attachid>426068</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-15 08:49:05 -0700</bug_when>
    <thetext>Comment on attachment 426068
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        sizeof(WTF::Function&lt;void()&gt;) is 8.
&gt; +        sizeof(std::function&lt;void()&gt;) is 48.

What about total memory use? I’m wondering if we should even allow std::function if it uses more memory, but maybe this is more about &quot;what&apos;s in the top level of the object and what&apos;s on the heap&quot;?

&gt; Source/WebCore/svg/properties/SVGPropertyAnimatorFactory.h:112
&gt; +            Pair { SVGNames::colorAttr-&gt;impl(),              std::make_pair(SVGValueProperty&lt;Color&gt;::create, SVGPropertyAnimatorFactory::createColorAnimator) },

Is there a good reason we are using std::make_pair instead of just brace syntax? Could we make this even tighter?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750630</commentid>
    <comment_count>5</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-04-15 08:51:24 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #4)
&gt; Comment on attachment 426068 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=426068&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:9
&gt; &gt; +        sizeof(WTF::Function&lt;void()&gt;) is 8.
&gt; &gt; +        sizeof(std::function&lt;void()&gt;) is 48.
&gt; 
&gt; What about total memory use? I’m wondering if we should even allow
&gt; std::function if it uses more memory, but maybe this is more about &quot;what&apos;s
&gt; in the top level of the object and what&apos;s on the heap&quot;?
&gt; 
&gt; &gt; Source/WebCore/svg/properties/SVGPropertyAnimatorFactory.h:112
&gt; &gt; +            Pair { SVGNames::colorAttr-&gt;impl(),              std::make_pair(SVGValueProperty&lt;Color&gt;::create, SVGPropertyAnimatorFactory::createColorAnimator) },
&gt; 
&gt; Is there a good reason we are using std::make_pair instead of just brace
&gt; syntax? Could we make this even tighter?

My understanding is that std::function tries to be smart about when to store the data inline or do a heap allocation. It makes this determination based on the size of the data. WTF::Function always does a heap allocation no matter the size of the data.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750654</commentid>
    <comment_count>6</comment_count>
      <attachid>426112</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-15 10:00:10 -0700</bug_when>
    <thetext>Created attachment 426112
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750662</commentid>
    <comment_count>7</comment_count>
      <attachid>426112</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-15 10:14:00 -0700</bug_when>
    <thetext>Comment on attachment 426112
Patch

I&apos;m not sure about heap/inline memory use total, but I do know that inside a HashMap we want inline to be smaller.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750667</commentid>
    <comment_count>8</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-04-15 10:38:56 -0700</bug_when>
    <thetext>r276033</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1750691</commentid>
    <comment_count>9</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-04-15 11:24:57 -0700</bug_when>
    <thetext>(In reply to Alex Christensen from comment #7)
&gt; I&apos;m not sure about heap/inline memory use total, but I do know that inside a
&gt; HashMap we want inline to be smaller.

Sure, but at a certain point for hash tables we will do that by putting the whole thing on the heap, not by building the capability into classes.

For something we are using as widely as WTF::Function our lens should be broader than just suitability in hash tables.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426061</attachid>
            <date>2021-04-14 16:35:17 -0700</date>
            <delta_ts>2021-04-14 19:17:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224586-20210414163516.patch</filename>
            <type>text/plain</type>
            <size>23295</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NjEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDYyYjlhMjhlOWJiYTFhNjlmM2EwNGE3
MjI5MGJlYzMwNWU3NDExOGQuLmE0OTAxMDg5ZTJmOTc5ODA5M2ZiZTVmYTcwMjdmYzU5N2NmYmNk
OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDQtMTQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2UgV1RGOjpGdW5jdGlvbiBpbnN0
ZWFkIG9mIHN0ZDo6ZnVuY3Rpb24gaW4gU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmF0dHJp
YnV0ZUFuaW1hdG9yQ3JlYXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI0NTg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyByZXF1aXJlcyBzb21ldGhpbmcgbGlrZSByMjIzMTIyIHVudGlsIHNv
bWV0aGluZyBsaWtlIGh0dHA6Ly93ZzIxLmxpbmsvUDEyNDkgaXMgYWNjZXB0ZWQuCisgICAgICAg
IEkgYWxzbyBhZGRlZCBhIG1pc3NpbmcgcmVzZXJ2ZUluaXRpYWxDYXBhY2l0eSBjYWxsIHRoYXQg
Y291bGQgcmVkdWNlIHJlaGFzaGluZyB3aGVuIGNvbnN0cnVjdGluZyBhIEhhc2hNYXAgZnJvbSBh
biBpbml0aWFsaXplcl9saXN0LgorCisgICAgICAgICogd3RmL0hhc2hNYXAuaDoKKwogMjAyMS0w
NC0wNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0Nd
IFdhc21NZW1vcnkgY2FnaW5nIHNob3VsZCBjYXJlIG51bGxwdHIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwMzc3
NmRmZGZmZGRiYmY0OTUyYmY2NDA0N2JlMWJkOTI1Njk1MWU2Li5hZDI1ZWRjMjg4Y2U0YmZjNTll
YzE0MWU1YWJiNTQ1OGQ4YjhhOTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEt
MDQtMTQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBVc2UgV1RGOjpGdW5jdGlvbiBpbnN0ZWFkIG9mIHN0ZDo6ZnVuY3Rpb24gaW4gU1ZHUHJv
cGVydHlBbmltYXRvckZhY3Rvcnk6OmF0dHJpYnV0ZUFuaW1hdG9yQ3JlYXRvcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NTg2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgc2l6ZW9mKFdURjo6RnVuY3Rp
b248dm9pZCgpPikgaXMgOC4KKyAgICAgICAgc2l6ZW9mKHN0ZDo6ZnVuY3Rpb248dm9pZCgpPikg
aXMgNDguCisKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eUFuaW1hdG9yRmFj
dG9yeS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmF0
dHJpYnV0ZUFuaW1hdG9yQ3JlYXRvcik6CisKIDIwMjEtMDQtMDcgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBEcm9wIHVubmVjZXNzYXJ5IE5ERUJVRyBjaGVja3Mg
aW4gU2VydmljZVdvcmtlckNvbnRhaW5lcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvSGFz
aE1hcC5oIGIvU291cmNlL1dURi93dGYvSGFzaE1hcC5oCmluZGV4IDg5MDFiNWYzZjI3OWI4YmUw
MzY1MGM3YzJhZGViNjFiMGFlZmE5ZTUuLjRiZDJjYWUyNDEwODg5MGIyMWYyYzExZmMxNDIzMjc3
ZjliYjFlYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0hhc2hNYXAuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9IYXNoTWFwLmgKQEAgLTkyLDEwICs5MiwyMCBAQCBwdWJsaWM6CiAKICAgICBI
YXNoTWFwKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxLZXlWYWx1ZVBhaXJUeXBlPiBpbml0aWFsaXpl
ckxpc3QpCiAgICAgeworICAgICAgICByZXNlcnZlSW5pdGlhbENhcGFjaXR5KGluaXRpYWxpemVy
TGlzdC5zaXplKCkpOwogICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGtleVZhbHVlUGFpciA6IGlu
aXRpYWxpemVyTGlzdCkKICAgICAgICAgICAgIGFkZChrZXlWYWx1ZVBhaXIua2V5LCBrZXlWYWx1
ZVBhaXIudmFsdWUpOwogICAgIH0KICAgICAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBJdGVt
cz4KKyAgICBzdGF0aWMgSGFzaE1hcCBmcm9tKEl0ZW1zJiYuLi4gaXRlbXMpCisgICAgeworICAg
ICAgICBIYXNoTWFwIHJlc3VsdDsKKyAgICAgICAgcmVzdWx0LnJlc2VydmVJbml0aWFsQ2FwYWNp
dHkoc2l6ZW9mLi4uKGl0ZW1zKSk7CisgICAgICAgIHJlc3VsdC5hZGRGb3JJbml0aWFsaXphdGlv
bihzdGQ6OmZvcndhcmQ8SXRlbXM+KGl0ZW1zKS4uLik7CisgICAgICAgIHJldHVybiByZXN1bHQ7
CisgICAgfQorCiAgICAgdm9pZCBzd2FwKEhhc2hNYXAmKTsKIAogICAgIHVuc2lnbmVkIHNpemUo
KSBjb25zdDsKQEAgLTE5Niw2ICsyMDYsMTkgQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBLLCB0eXBlbmFtZSBGPgogICAgIEFkZFJlc3VsdCBpbmxpbmVFbnN1cmUoSyYmLCBGJiYp
OwogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gSXRlbXM+CisgICAgdm9pZCBhZGRGb3JJbml0
aWFsaXphdGlvbihLZXlWYWx1ZVBhaXJUeXBlJiYgaXRlbSwgSXRlbXMmJi4uLiBpdGVtcykKKyAg
ICB7CisgICAgICAgIGFkZChXVEZNb3ZlKGl0ZW0ua2V5KSwgV1RGTW92ZShpdGVtLnZhbHVlKSk7
CisgICAgICAgIGFkZEZvckluaXRpYWxpemF0aW9uKHN0ZDo6Zm9yd2FyZDxJdGVtcz4oaXRlbXMp
Li4uKTsKKyAgICB9CisKKyAgICB0ZW1wbGF0ZTw+CisgICAgdm9pZCBhZGRGb3JJbml0aWFsaXph
dGlvbihLZXlWYWx1ZVBhaXJUeXBlJiYgaXRlbSkKKyAgICB7CisgICAgICAgIGFkZChXVEZNb3Zl
KGl0ZW0ua2V5KSwgV1RGTW92ZShpdGVtLnZhbHVlKSk7CisgICAgfQorCiAgICAgSGFzaFRhYmxl
VHlwZSBtX2ltcGw7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVy
dGllcy9TVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeS5oIGIvU291cmNlL1dlYkNvcmUvc3ZnL3By
b3BlcnRpZXMvU1ZHUHJvcGVydHlBbmltYXRvckZhY3RvcnkuaAppbmRleCA2ODFlNmRjNjU0NjNm
N2JlNDkwZTg2ZDI0ZjA2OGQ3MzAyNWY2NThmLi4zM2YxZWUxMmJjMDRhZmZjZTVhZTI3M2JjNzY4
OTlhNGFiZjJjMjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9T
VkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9w
ZXJ0aWVzL1NWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5LmgKQEAgLTMwLDYgKzMwLDcgQEAKICNp
bmNsdWRlICJTVkdQcmltaXRpdmVQcm9wZXJ0eUFuaW1hdG9ySW1wbC5oIgogI2luY2x1ZGUgIlNW
R1ZhbHVlUHJvcGVydHlBbmltYXRvckltcGwuaCIKICNpbmNsdWRlICJTVkdWYWx1ZVByb3BlcnR5
TGlzdEFuaW1hdG9ySW1wbC5oIgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKQEAgLTc0LDggKzc1LDggQEAgcHJpdmF0ZToKICAgICB1c2luZyBBdHRy
aWJ1dGVBbmltYXRvckNyZWF0b3IgPSBIYXNoTWFwPAogICAgICAgICBRdWFsaWZpZWROYW1lOjpR
dWFsaWZpZWROYW1lSW1wbCosCiAgICAgICAgIHN0ZDo6cGFpcjwKLSAgICAgICAgICAgIHN0ZDo6
ZnVuY3Rpb248UmVmPFNWR1Byb3BlcnR5PigpPiwKLSAgICAgICAgICAgIHN0ZDo6ZnVuY3Rpb248
UmVmPFNWR0F0dHJpYnV0ZUFuaW1hdG9yPihjb25zdCBRdWFsaWZpZWROYW1lJiwgUmVmPFNWR1By
b3BlcnR5PiYmLCBBbmltYXRpb25Nb2RlLCBDYWxjTW9kZSwgYm9vbCwgYm9vbCk+CisgICAgICAg
ICAgICBGdW5jdGlvbjxSZWY8U1ZHUHJvcGVydHk+KCk+LAorICAgICAgICAgICAgRnVuY3Rpb248
UmVmPFNWR0F0dHJpYnV0ZUFuaW1hdG9yPihjb25zdCBRdWFsaWZpZWROYW1lJiwgUmVmPFNWR1By
b3BlcnR5PiYmLCBBbmltYXRpb25Nb2RlLCBDYWxjTW9kZSwgYm9vbCwgYm9vbCk+CiAgICAgICAg
ID4KICAgICA+OwogCkBAIC0xMDYsNjcgKzEwNyw2OCBAQCBwcml2YXRlOgogCiAgICAgc3RhdGlj
IGNvbnN0IEF0dHJpYnV0ZUFuaW1hdG9yQ3JlYXRvciYgYXR0cmlidXRlQW5pbWF0b3JDcmVhdG9y
KCkKICAgICB7Ci0gICAgICAgIHN0YXRpYyBOZXZlckRlc3Ryb3llZDxBdHRyaWJ1dGVBbmltYXRv
ckNyZWF0b3I+IG1hcCA9IEF0dHJpYnV0ZUFuaW1hdG9yQ3JlYXRvcih7Ci0gICAgICAgICAgICB7
IFNWR05hbWVzOjpjb2xvckF0dHItPmltcGwoKSwgICAgICAgICAgICAgIHN0ZDo6bWFrZV9wYWly
KFNWR1ZhbHVlUHJvcGVydHk8Q29sb3I+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0
b3J5OjpjcmVhdGVDb2xvckFuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Zmls
bEF0dHItPmltcGwoKSwgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3Bl
cnR5PENvbG9yPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlQ29s
b3JBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFtZXM6OmZsb29kX2NvbG9yQXR0ci0+
aW1wbCgpLCAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxDb2xvcj46OmNy
ZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZUNvbG9yQW5pbWF0b3IpIH0s
Ci0gICAgICAgICAgICB7IFNWR05hbWVzOjpsaWdodGluZ19jb2xvckF0dHItPmltcGwoKSwgICAg
IHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8Q29sb3I+OjpjcmVhdGUsIFNWR1Byb3Bl
cnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVDb2xvckFuaW1hdG9yKSB9LAotICAgICAgICAgICAg
eyBTVkdOYW1lczo6c3RvcF9jb2xvckF0dHItPmltcGwoKSwgICAgICAgICBzdGQ6Om1ha2VfcGFp
cihTVkdWYWx1ZVByb3BlcnR5PENvbG9yPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFj
dG9yeTo6Y3JlYXRlQ29sb3JBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFtZXM6OnN0
cm9rZUF0dHItPmltcGwoKSwgICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9w
ZXJ0eTxDb2xvcj46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZUNv
bG9yQW5pbWF0b3IpIH0sCi0KLSAgICAgICAgICAgIHsgU1ZHTmFtZXM6OmZvbnRfc2l6ZUF0dHIt
PmltcGwoKSwgICAgICAgICAgc3RkOjptYWtlX3BhaXIoW10oKSB7IHJldHVybiBTVkdMZW5ndGg6
OmNyZWF0ZSgpOyB9LCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTGVuZ3RoQW5p
bWF0b3IpIH0sCi0gICAgICAgICAgICB7IFNWR05hbWVzOjprZXJuaW5nQXR0ci0+aW1wbCgpLCAg
ICAgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFtdKCkgeyByZXR1cm4gU1ZHTGVuZ3RoOjpjcmVhdGUo
KTsgfSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZUxlbmd0aEFuaW1hdG9yKSB9
LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6bGV0dGVyX3NwYWNpbmdBdHRyLT5pbXBsKCksICAg
ICBzdGQ6Om1ha2VfcGFpcihbXSgpIHsgcmV0dXJuIFNWR0xlbmd0aDo6Y3JlYXRlKCk7IH0sIFNW
R1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVMZW5ndGhBbmltYXRvcikgfSwKLSAgICAg
ICAgICAgIHsgU1ZHTmFtZXM6OnN0cm9rZV9kYXNob2Zmc2V0QXR0ci0+aW1wbCgpLCAgc3RkOjpt
YWtlX3BhaXIoW10oKSB7IHJldHVybiBTVkdMZW5ndGg6OmNyZWF0ZSgpOyB9LCBTVkdQcm9wZXJ0
eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTGVuZ3RoQW5pbWF0b3IpIH0sCi0gICAgICAgICAgICB7
IFNWR05hbWVzOjpzdHJva2Vfd2lkdGhBdHRyLT5pbXBsKCksICAgICAgIHN0ZDo6bWFrZV9wYWly
KFtdKCkgeyByZXR1cm4gU1ZHTGVuZ3RoOjpjcmVhdGUoKTsgfSwgU1ZHUHJvcGVydHlBbmltYXRv
ckZhY3Rvcnk6OmNyZWF0ZUxlbmd0aEFuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1l
czo6d29yZF9zcGFjaW5nQXR0ci0+aW1wbCgpLCAgICAgICBzdGQ6Om1ha2VfcGFpcihbXSgpIHsg
cmV0dXJuIFNWR0xlbmd0aDo6Y3JlYXRlKCk7IH0sIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5
OjpjcmVhdGVMZW5ndGhBbmltYXRvcikgfSwKLQotICAgICAgICAgICAgeyBTVkdOYW1lczo6c3Ry
b2tlX2Rhc2hhcnJheUF0dHItPmltcGwoKSwgICBzdGQ6Om1ha2VfcGFpcihbXSgpIHsgcmV0dXJu
IFNWR0xlbmd0aExpc3Q6OmNyZWF0ZSgpOyB9LCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6
Y3JlYXRlTGVuZ3RoTGlzdEFuaW1hdG9yKSB9LAotICAgICAgICAgICAgCi0gICAgICAgICAgICB7
IFNWR05hbWVzOjpmaWxsX29wYWNpdHlBdHRyLT5pbXBsKCksICAgICAgIHN0ZDo6bWFrZV9wYWly
KFNWR1ZhbHVlUHJvcGVydHk8ZmxvYXQ+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0
b3J5OjpjcmVhdGVOdW1iZXJBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFtZXM6OmZs
b29kX29wYWNpdHlBdHRyLT5pbXBsKCksICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9w
ZXJ0eTxmbG9hdD46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZU51
bWJlckFuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6b3BhY2l0eUF0dHItPmlt
cGwoKSwgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PGZsb2F0Pjo6
Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTnVtYmVyQW5pbWF0b3Ip
IH0sCi0gICAgICAgICAgICB7IFNWR05hbWVzOjpzdG9wX29wYWNpdHlBdHRyLT5pbXBsKCksICAg
ICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8ZmxvYXQ+OjpjcmVhdGUsIFNWR1By
b3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVOdW1iZXJBbmltYXRvcikgfSwKLSAgICAgICAg
ICAgIHsgU1ZHTmFtZXM6OnN0cm9rZV9taXRlcmxpbWl0QXR0ci0+aW1wbCgpLCAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxmbG9hdD46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRv
ckZhY3Rvcnk6OmNyZWF0ZU51bWJlckFuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1l
czo6c3Ryb2tlX29wYWNpdHlBdHRyLT5pbXBsKCksICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1
ZVByb3BlcnR5PGZsb2F0Pjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3Jl
YXRlTnVtYmVyQW5pbWF0b3IpIH0sCi0gICAgICAgICAgICAKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmFsaWdubWVudF9iYXNlbGluZUF0dHItPmltcGwoKSwgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmJhc2VsaW5lX3NoaWZ0QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmJ1ZmZlcmVkX3JlbmRlcmluZ0F0dHItPmltcGwoKSwgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmNsaXBfcGF0aEF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmNsaXBfcnVsZUF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmNvbG9yX2ludGVycG9sYXRpb25BdHRyLT5pbXBsKCksICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmNvbG9yX2ludGVycG9sYXRpb25fZmlsdGVyc0F0dHItPmltcGwoKSwgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmNvbG9yX3Byb2ZpbGVBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmNvbG9yX3JlbmRlcmluZ0F0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmN1cnNvckF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmRpc3BsYXlBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmRvbWluYW50X2Jhc2VsaW5lQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmZpbGxfcnVsZUF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmZpbHRlckF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmZvbnRfZmFtaWx5QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmZvbnRfc3RyZXRjaEF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmZvbnRfc3R5bGVBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmZvbnRfdmFyaWFudEF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmZvbnRfd2VpZ2h0QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmltYWdlX3JlbmRlcmluZ0F0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6Om1hcmtlcl9lbmRBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6Om1hcmtlcl9taWRBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6Om1hcmtlcl9zdGFydEF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6Om1hc2tBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6Om1hc2tfdHlwZUF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6Om92ZXJmbG93QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OnBhaW50X29yZGVyQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OnBvaW50ZXJfZXZlbnRzQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OnNoYXBlX3JlbmRlcmluZ0F0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OnN0cm9rZV9saW5lY2FwQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OnN0cm9rZV9saW5lam9pbkF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OnRleHRfYW5jaG9yQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OnRleHRfZGVjb3JhdGlvbkF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OnRleHRfcmVuZGVyaW5nQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OnZlY3Rvcl9lZmZlY3RBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OnZpc2liaWxpdHlBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfQotICAgICAgICB9KTsKKyAgICAgICAg
dXNpbmcgUGFpciA9IEF0dHJpYnV0ZUFuaW1hdG9yQ3JlYXRvcjo6S2V5VmFsdWVQYWlyVHlwZTsK
KyAgICAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0dHJpYnV0ZUFuaW1hdG9yQ3JlYXRvcj4g
bWFwIHsgQXR0cmlidXRlQW5pbWF0b3JDcmVhdG9yOjpmcm9tKAorICAgICAgICAgICAgUGFpciB7
IFNWR05hbWVzOjpjb2xvckF0dHItPmltcGwoKSwgICAgICAgICAgICAgIHN0ZDo6bWFrZV9wYWly
KFNWR1ZhbHVlUHJvcGVydHk8Q29sb3I+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0
b3J5OjpjcmVhdGVDb2xvckFuaW1hdG9yKSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVz
OjpmaWxsQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVl
UHJvcGVydHk8Q29sb3I+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVh
dGVDb2xvckFuaW1hdG9yKSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpmbG9vZF9j
b2xvckF0dHItPmltcGwoKSwgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8
Q29sb3I+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVDb2xvckFu
aW1hdG9yKSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpsaWdodGluZ19jb2xvckF0
dHItPmltcGwoKSwgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8Q29sb3I+Ojpj
cmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVDb2xvckFuaW1hdG9yKSB9
LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpzdG9wX2NvbG9yQXR0ci0+aW1wbCgpLCAg
ICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8Q29sb3I+OjpjcmVhdGUsIFNW
R1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVDb2xvckFuaW1hdG9yKSB9LAorICAgICAg
ICAgICAgUGFpciB7IFNWR05hbWVzOjpzdHJva2VBdHRyLT5pbXBsKCksICAgICAgICAgICAgIHN0
ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8Q29sb3I+OjpjcmVhdGUsIFNWR1Byb3BlcnR5
QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVDb2xvckFuaW1hdG9yKSB9LAorCisgICAgICAgICAgICBQ
YWlyIHsgU1ZHTmFtZXM6OmZvbnRfc2l6ZUF0dHItPmltcGwoKSwgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoW10oKSB7IHJldHVybiBTVkdMZW5ndGg6OmNyZWF0ZSgpOyB9LCBTVkdQcm9wZXJ0eUFu
aW1hdG9yRmFjdG9yeTo6Y3JlYXRlTGVuZ3RoQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWly
IHsgU1ZHTmFtZXM6Omtlcm5pbmdBdHRyLT5pbXBsKCksICAgICAgICAgICAgc3RkOjptYWtlX3Bh
aXIoW10oKSB7IHJldHVybiBTVkdMZW5ndGg6OmNyZWF0ZSgpOyB9LCBTVkdQcm9wZXJ0eUFuaW1h
dG9yRmFjdG9yeTo6Y3JlYXRlTGVuZ3RoQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsg
U1ZHTmFtZXM6OmxldHRlcl9zcGFjaW5nQXR0ci0+aW1wbCgpLCAgICAgc3RkOjptYWtlX3BhaXIo
W10oKSB7IHJldHVybiBTVkdMZW5ndGg6OmNyZWF0ZSgpOyB9LCBTVkdQcm9wZXJ0eUFuaW1hdG9y
RmFjdG9yeTo6Y3JlYXRlTGVuZ3RoQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZH
TmFtZXM6OnN0cm9rZV9kYXNob2Zmc2V0QXR0ci0+aW1wbCgpLCAgc3RkOjptYWtlX3BhaXIoW10o
KSB7IHJldHVybiBTVkdMZW5ndGg6OmNyZWF0ZSgpOyB9LCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFj
dG9yeTo6Y3JlYXRlTGVuZ3RoQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFt
ZXM6OnN0cm9rZV93aWR0aEF0dHItPmltcGwoKSwgICAgICAgc3RkOjptYWtlX3BhaXIoW10oKSB7
IHJldHVybiBTVkdMZW5ndGg6OmNyZWF0ZSgpOyB9LCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9y
eTo6Y3JlYXRlTGVuZ3RoQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6
OndvcmRfc3BhY2luZ0F0dHItPmltcGwoKSwgICAgICAgc3RkOjptYWtlX3BhaXIoW10oKSB7IHJl
dHVybiBTVkdMZW5ndGg6OmNyZWF0ZSgpOyB9LCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6
Y3JlYXRlTGVuZ3RoQW5pbWF0b3IpIH0sCisKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6
c3Ryb2tlX2Rhc2hhcnJheUF0dHItPmltcGwoKSwgICBzdGQ6Om1ha2VfcGFpcihbXSgpIHsgcmV0
dXJuIFNWR0xlbmd0aExpc3Q6OmNyZWF0ZSgpOyB9LCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9y
eTo6Y3JlYXRlTGVuZ3RoTGlzdEFuaW1hdG9yKSB9LAorCisgICAgICAgICAgICBQYWlyIHsgU1ZH
TmFtZXM6OmZpbGxfb3BhY2l0eUF0dHItPmltcGwoKSwgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZH
VmFsdWVQcm9wZXJ0eTxmbG9hdD46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6
OmNyZWF0ZU51bWJlckFuaW1hdG9yKSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpm
bG9vZF9vcGFjaXR5QXR0ci0+aW1wbCgpLCAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJv
cGVydHk8ZmxvYXQ+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVO
dW1iZXJBbmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6b3BhY2l0eUF0
dHItPmltcGwoKSwgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PGZs
b2F0Pjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTnVtYmVyQW5p
bWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OnN0b3Bfb3BhY2l0eUF0dHIt
PmltcGwoKSwgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxmbG9hdD46OmNy
ZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZU51bWJlckFuaW1hdG9yKSB9
LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpzdHJva2VfbWl0ZXJsaW1pdEF0dHItPmlt
cGwoKSwgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8ZmxvYXQ+OjpjcmVhdGUsIFNW
R1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVOdW1iZXJBbmltYXRvcikgfSwKKyAgICAg
ICAgICAgIFBhaXIgeyBTVkdOYW1lczo6c3Ryb2tlX29wYWNpdHlBdHRyLT5pbXBsKCksICAgICBz
dGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PGZsb2F0Pjo6Y3JlYXRlLCBTVkdQcm9wZXJ0
eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTnVtYmVyQW5pbWF0b3IpIH0sCisKKyAgICAgICAgICAg
IFBhaXIgeyBTVkdOYW1lczo6YWxpZ25tZW50X2Jhc2VsaW5lQXR0ci0+aW1wbCgpLCAgICAgICAg
ICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZH
UHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKSB9LAorICAgICAg
ICAgICAgUGFpciB7IFNWR05hbWVzOjpiYXNlbGluZV9zaGlmdEF0dHItPmltcGwoKSwgICAgICAg
ICAgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRl
LCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IpIH0sCisg
ICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmJ1ZmZlcmVkX3JlbmRlcmluZ0F0dHItPmltcGwo
KSwgICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+Ojpj
cmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikg
fSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6Y2xpcF9wYXRoQXR0ci0+aW1wbCgpLCAg
ICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PFN0cmlu
Zz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1h
dG9yKSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpjbGlwX3J1bGVBdHRyLT5pbXBs
KCksICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8
U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5n
QW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmNvbG9yX2ludGVycG9s
YXRpb25BdHRyLT5pbXBsKCksICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9w
ZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVT
dHJpbmdBbmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6Y29sb3JfaW50
ZXJwb2xhdGlvbl9maWx0ZXJzQXR0ci0+aW1wbCgpLCAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1
ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNy
ZWF0ZVN0cmluZ0FuaW1hdG9yKSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpjb2xv
cl9wcm9maWxlQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNW
R1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9y
eTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6
OmNvbG9yX3JlbmRlcmluZ0F0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgc3RkOjptYWtlX3Bh
aXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JG
YWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdO
YW1lczo6Y3Vyc29yQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1h
a2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmlt
YXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKSB9LAorICAgICAgICAgICAgUGFpciB7
IFNWR05hbWVzOjpkaXNwbGF5QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgICAgICAgIHN0
ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0
eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQ
YWlyIHsgU1ZHTmFtZXM6OmRvbWluYW50X2Jhc2VsaW5lQXR0ci0+aW1wbCgpLCAgICAgICAgICAg
ICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1By
b3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKKyAgICAgICAg
ICAgIFBhaXIgeyBTVkdOYW1lczo6ZmlsbF9ydWxlQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAg
ICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwg
U1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKSB9LAorICAg
ICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpmaWx0ZXJBdHRyLT5pbXBsKCksICAgICAgICAgICAg
ICAgICAgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3Jl
YXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IpIH0s
CisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmZvbnRfZmFtaWx5QXR0ci0+aW1wbCgpLCAg
ICAgICAgICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+
OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRv
cikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6Zm9udF9zdHJldGNoQXR0ci0+aW1w
bCgpLCAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PFN0
cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0Fu
aW1hdG9yKSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpmb250X3N0eWxlQXR0ci0+
aW1wbCgpLCAgICAgICAgICAgICAgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVy
dHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3Ry
aW5nQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmZvbnRfdmFyaWFu
dEF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQ
cm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVh
dGVTdHJpbmdBbmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6Zm9udF93
ZWlnaHRBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdW
YWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6
OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpp
bWFnZV9yZW5kZXJpbmdBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgIHN0ZDo6bWFrZV9wYWly
KFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFj
dG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFt
ZXM6Om1hcmtlcl9lbmRBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBT
VkdOYW1lczo6bWFya2VyX21pZEF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgICBzdGQ6
Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlB
bmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKSB9LAorICAgICAgICAgICAgUGFp
ciB7IFNWR05hbWVzOjptYXJrZXJfc3RhcnRBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAg
IHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9w
ZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IpIH0sCisgICAgICAgICAg
ICBQYWlyIHsgU1ZHTmFtZXM6Om1hc2tBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNW
R1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKKyAgICAg
ICAgICAgIFBhaXIgeyBTVkdOYW1lczo6bWFza190eXBlQXR0ci0+aW1wbCgpLCAgICAgICAgICAg
ICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0
ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKSB9LAor
ICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpvdmVyZmxvd0F0dHItPmltcGwoKSwgICAgICAg
ICAgICAgICAgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6
Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3Ip
IH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OnBhaW50X29yZGVyQXR0ci0+aW1wbCgp
LCAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJp
bmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmlt
YXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6cG9pbnRlcl9ldmVudHNBdHRy
LT5pbXBsKCksICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpzaGFwZV9yZW5kZXJp
bmdBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJv
cGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRl
U3RyaW5nQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OnN0cm9rZV9s
aW5lY2FwQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFs
dWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5Ojpj
cmVhdGVTdHJpbmdBbmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6c3Ry
b2tlX2xpbmVqb2luQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihT
VkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rv
cnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVz
Ojp0ZXh0X2FuY2hvckF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgIHN0ZDo6bWFrZV9w
YWlyKFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9y
RmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZH
TmFtZXM6OnRleHRfZGVjb3JhdGlvbkF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgc3RkOjpt
YWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5p
bWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIg
eyBTVkdOYW1lczo6dGV4dF9yZW5kZXJpbmdBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICBz
dGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVy
dHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKSB9LAorICAgICAgICAgICAg
UGFpciB7IFNWR05hbWVzOjp2ZWN0b3JfZWZmZWN0QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAg
ICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQ
cm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IpIH0sCisgICAgICAg
ICAgICBQYWlyIHsgU1ZHTmFtZXM6OnZpc2liaWxpdHlBdHRyLT5pbXBsKCksICAgICAgICAgICAg
ICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUs
IFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfQorICAg
ICAgICApfTsKICAgICAgICAgcmV0dXJuIG1hcDsKICAgICB9CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426068</attachid>
            <date>2021-04-14 19:17:14 -0700</date>
            <delta_ts>2021-04-15 10:00:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224586-20210414191713.patch</filename>
            <type>text/plain</type>
            <size>23279</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NjEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDYyYjlhMjhlOWJiYTFhNjlmM2EwNGE3
MjI5MGJlYzMwNWU3NDExOGQuLmE0OTAxMDg5ZTJmOTc5ODA5M2ZiZTVmYTcwMjdmYzU5N2NmYmNk
OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDQtMTQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2UgV1RGOjpGdW5jdGlvbiBpbnN0
ZWFkIG9mIHN0ZDo6ZnVuY3Rpb24gaW4gU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmF0dHJp
YnV0ZUFuaW1hdG9yQ3JlYXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI0NTg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVGhpcyByZXF1aXJlcyBzb21ldGhpbmcgbGlrZSByMjIzMTIyIHVudGlsIHNv
bWV0aGluZyBsaWtlIGh0dHA6Ly93ZzIxLmxpbmsvUDEyNDkgaXMgYWNjZXB0ZWQuCisgICAgICAg
IEkgYWxzbyBhZGRlZCBhIG1pc3NpbmcgcmVzZXJ2ZUluaXRpYWxDYXBhY2l0eSBjYWxsIHRoYXQg
Y291bGQgcmVkdWNlIHJlaGFzaGluZyB3aGVuIGNvbnN0cnVjdGluZyBhIEhhc2hNYXAgZnJvbSBh
biBpbml0aWFsaXplcl9saXN0LgorCisgICAgICAgICogd3RmL0hhc2hNYXAuaDoKKwogMjAyMS0w
NC0wNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0Nd
IFdhc21NZW1vcnkgY2FnaW5nIHNob3VsZCBjYXJlIG51bGxwdHIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwMzc3
NmRmZGZmZGRiYmY0OTUyYmY2NDA0N2JlMWJkOTI1Njk1MWU2Li5hZDI1ZWRjMjg4Y2U0YmZjNTll
YzE0MWU1YWJiNTQ1OGQ4YjhhOTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEt
MDQtMTQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAg
ICAgICBVc2UgV1RGOjpGdW5jdGlvbiBpbnN0ZWFkIG9mIHN0ZDo6ZnVuY3Rpb24gaW4gU1ZHUHJv
cGVydHlBbmltYXRvckZhY3Rvcnk6OmF0dHJpYnV0ZUFuaW1hdG9yQ3JlYXRvcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NTg2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgc2l6ZW9mKFdURjo6RnVuY3Rp
b248dm9pZCgpPikgaXMgOC4KKyAgICAgICAgc2l6ZW9mKHN0ZDo6ZnVuY3Rpb248dm9pZCgpPikg
aXMgNDguCisKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eUFuaW1hdG9yRmFj
dG9yeS5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmF0
dHJpYnV0ZUFuaW1hdG9yQ3JlYXRvcik6CisKIDIwMjEtMDQtMDcgIENocmlzIER1bWV6ICA8Y2R1
bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBEcm9wIHVubmVjZXNzYXJ5IE5ERUJVRyBjaGVja3Mg
aW4gU2VydmljZVdvcmtlckNvbnRhaW5lcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvSGFz
aE1hcC5oIGIvU291cmNlL1dURi93dGYvSGFzaE1hcC5oCmluZGV4IDg5MDFiNWYzZjI3OWI4YmUw
MzY1MGM3YzJhZGViNjFiMGFlZmE5ZTUuLjE0ZTJiYzM4OTcyMTMwYmM4MzJhYzlhNThiN2Q1ZGU5
ZjRmN2JkZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0hhc2hNYXAuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9IYXNoTWFwLmgKQEAgLTkyLDEwICs5MiwyMCBAQCBwdWJsaWM6CiAKICAgICBI
YXNoTWFwKHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxLZXlWYWx1ZVBhaXJUeXBlPiBpbml0aWFsaXpl
ckxpc3QpCiAgICAgeworICAgICAgICByZXNlcnZlSW5pdGlhbENhcGFjaXR5KGluaXRpYWxpemVy
TGlzdC5zaXplKCkpOwogICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGtleVZhbHVlUGFpciA6IGlu
aXRpYWxpemVyTGlzdCkKICAgICAgICAgICAgIGFkZChrZXlWYWx1ZVBhaXIua2V5LCBrZXlWYWx1
ZVBhaXIudmFsdWUpOwogICAgIH0KICAgICAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBJdGVt
cz4KKyAgICBzdGF0aWMgSGFzaE1hcCBmcm9tKEl0ZW1zJiYuLi4gaXRlbXMpCisgICAgeworICAg
ICAgICBIYXNoTWFwIHJlc3VsdDsKKyAgICAgICAgcmVzdWx0LnJlc2VydmVJbml0aWFsQ2FwYWNp
dHkoc2l6ZW9mLi4uKGl0ZW1zKSk7CisgICAgICAgIHJlc3VsdC5hZGRGb3JJbml0aWFsaXphdGlv
bihzdGQ6OmZvcndhcmQ8SXRlbXM+KGl0ZW1zKS4uLik7CisgICAgICAgIHJldHVybiByZXN1bHQ7
CisgICAgfQorCiAgICAgdm9pZCBzd2FwKEhhc2hNYXAmKTsKIAogICAgIHVuc2lnbmVkIHNpemUo
KSBjb25zdDsKQEAgLTE5Niw2ICsyMDYsMTggQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZTx0eXBl
bmFtZSBLLCB0eXBlbmFtZSBGPgogICAgIEFkZFJlc3VsdCBpbmxpbmVFbnN1cmUoSyYmLCBGJiYp
OwogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gSXRlbXM+CisgICAgdm9pZCBhZGRGb3JJbml0
aWFsaXphdGlvbihLZXlWYWx1ZVBhaXJUeXBlJiYgaXRlbSwgSXRlbXMmJi4uLiBpdGVtcykKKyAg
ICB7CisgICAgICAgIGFkZChXVEZNb3ZlKGl0ZW0ua2V5KSwgV1RGTW92ZShpdGVtLnZhbHVlKSk7
CisgICAgICAgIGFkZEZvckluaXRpYWxpemF0aW9uKHN0ZDo6Zm9yd2FyZDxJdGVtcz4oaXRlbXMp
Li4uKTsKKyAgICB9CisKKyAgICB2b2lkIGFkZEZvckluaXRpYWxpemF0aW9uKEtleVZhbHVlUGFp
clR5cGUmJiBpdGVtKQorICAgIHsKKyAgICAgICAgYWRkKFdURk1vdmUoaXRlbS5rZXkpLCBXVEZN
b3ZlKGl0ZW0udmFsdWUpKTsKKyAgICB9CisKICAgICBIYXNoVGFibGVUeXBlIG1faW1wbDsKIH07
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5
QW5pbWF0b3JGYWN0b3J5LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9w
ZXJ0eUFuaW1hdG9yRmFjdG9yeS5oCmluZGV4IDY4MWU2ZGM2NTQ2M2Y3YmU0OTBlODZkMjRmMDY4
ZDczMDI1ZjY1OGYuLjMzZjFlZTEyYmMwNGFmZmNlNWFlMjczYmM3Njg5OWE0YWJmMmMyNTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVy
dHlBbmltYXRvckZhY3RvcnkuaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIlNWR1ByaW1p
dGl2ZVByb3BlcnR5QW5pbWF0b3JJbXBsLmgiCiAjaW5jbHVkZSAiU1ZHVmFsdWVQcm9wZXJ0eUFu
aW1hdG9ySW1wbC5oIgogI2luY2x1ZGUgIlNWR1ZhbHVlUHJvcGVydHlMaXN0QW5pbWF0b3JJbXBs
LmgiCisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtNzQsOCArNzUsOCBAQCBwcml2YXRlOgogICAgIHVzaW5nIEF0dHJpYnV0ZUFuaW1hdG9yQ3Jl
YXRvciA9IEhhc2hNYXA8CiAgICAgICAgIFF1YWxpZmllZE5hbWU6OlF1YWxpZmllZE5hbWVJbXBs
KiwKICAgICAgICAgc3RkOjpwYWlyPAotICAgICAgICAgICAgc3RkOjpmdW5jdGlvbjxSZWY8U1ZH
UHJvcGVydHk+KCk+LAotICAgICAgICAgICAgc3RkOjpmdW5jdGlvbjxSZWY8U1ZHQXR0cmlidXRl
QW5pbWF0b3I+KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBSZWY8U1ZHUHJvcGVydHk+JiYsIEFuaW1h
dGlvbk1vZGUsIENhbGNNb2RlLCBib29sLCBib29sKT4KKyAgICAgICAgICAgIEZ1bmN0aW9uPFJl
ZjxTVkdQcm9wZXJ0eT4oKT4sCisgICAgICAgICAgICBGdW5jdGlvbjxSZWY8U1ZHQXR0cmlidXRl
QW5pbWF0b3I+KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBSZWY8U1ZHUHJvcGVydHk+JiYsIEFuaW1h
dGlvbk1vZGUsIENhbGNNb2RlLCBib29sLCBib29sKT4KICAgICAgICAgPgogICAgID47CiAKQEAg
LTEwNiw2NyArMTA3LDY4IEBAIHByaXZhdGU6CiAKICAgICBzdGF0aWMgY29uc3QgQXR0cmlidXRl
QW5pbWF0b3JDcmVhdG9yJiBhdHRyaWJ1dGVBbmltYXRvckNyZWF0b3IoKQogICAgIHsKLSAgICAg
ICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPEF0dHJpYnV0ZUFuaW1hdG9yQ3JlYXRvcj4gbWFwID0g
QXR0cmlidXRlQW5pbWF0b3JDcmVhdG9yKHsKLSAgICAgICAgICAgIHsgU1ZHTmFtZXM6OmNvbG9y
QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0
eTxDb2xvcj46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZUNvbG9y
QW5pbWF0b3IpIH0sCi0gICAgICAgICAgICB7IFNWR05hbWVzOjpmaWxsQXR0ci0+aW1wbCgpLCAg
ICAgICAgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8Q29sb3I+OjpjcmVh
dGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVDb2xvckFuaW1hdG9yKSB9LAot
ICAgICAgICAgICAgeyBTVkdOYW1lczo6Zmxvb2RfY29sb3JBdHRyLT5pbXBsKCksICAgICAgICBz
dGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PENvbG9yPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0
eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlQ29sb3JBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsg
U1ZHTmFtZXM6OmxpZ2h0aW5nX2NvbG9yQXR0ci0+aW1wbCgpLCAgICAgc3RkOjptYWtlX3BhaXIo
U1ZHVmFsdWVQcm9wZXJ0eTxDb2xvcj46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rv
cnk6OmNyZWF0ZUNvbG9yQW5pbWF0b3IpIH0sCi0gICAgICAgICAgICB7IFNWR05hbWVzOjpzdG9w
X2NvbG9yQXR0ci0+aW1wbCgpLCAgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVy
dHk8Q29sb3I+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVDb2xv
ckFuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6c3Ryb2tlQXR0ci0+aW1wbCgp
LCAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PENvbG9yPjo6Y3Jl
YXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlQ29sb3JBbmltYXRvcikgfSwK
LQotICAgICAgICAgICAgeyBTVkdOYW1lczo6Zm9udF9zaXplQXR0ci0+aW1wbCgpLCAgICAgICAg
ICBzdGQ6Om1ha2VfcGFpcihbXSgpIHsgcmV0dXJuIFNWR0xlbmd0aDo6Y3JlYXRlKCk7IH0sIFNW
R1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVMZW5ndGhBbmltYXRvcikgfSwKLSAgICAg
ICAgICAgIHsgU1ZHTmFtZXM6Omtlcm5pbmdBdHRyLT5pbXBsKCksICAgICAgICAgICAgc3RkOjpt
YWtlX3BhaXIoW10oKSB7IHJldHVybiBTVkdMZW5ndGg6OmNyZWF0ZSgpOyB9LCBTVkdQcm9wZXJ0
eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTGVuZ3RoQW5pbWF0b3IpIH0sCi0gICAgICAgICAgICB7
IFNWR05hbWVzOjpsZXR0ZXJfc3BhY2luZ0F0dHItPmltcGwoKSwgICAgIHN0ZDo6bWFrZV9wYWly
KFtdKCkgeyByZXR1cm4gU1ZHTGVuZ3RoOjpjcmVhdGUoKTsgfSwgU1ZHUHJvcGVydHlBbmltYXRv
ckZhY3Rvcnk6OmNyZWF0ZUxlbmd0aEFuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1l
czo6c3Ryb2tlX2Rhc2hvZmZzZXRBdHRyLT5pbXBsKCksICBzdGQ6Om1ha2VfcGFpcihbXSgpIHsg
cmV0dXJuIFNWR0xlbmd0aDo6Y3JlYXRlKCk7IH0sIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5
OjpjcmVhdGVMZW5ndGhBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFtZXM6OnN0cm9r
ZV93aWR0aEF0dHItPmltcGwoKSwgICAgICAgc3RkOjptYWtlX3BhaXIoW10oKSB7IHJldHVybiBT
VkdMZW5ndGg6OmNyZWF0ZSgpOyB9LCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRl
TGVuZ3RoQW5pbWF0b3IpIH0sCi0gICAgICAgICAgICB7IFNWR05hbWVzOjp3b3JkX3NwYWNpbmdB
dHRyLT5pbXBsKCksICAgICAgIHN0ZDo6bWFrZV9wYWlyKFtdKCkgeyByZXR1cm4gU1ZHTGVuZ3Ro
OjpjcmVhdGUoKTsgfSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZUxlbmd0aEFu
aW1hdG9yKSB9LAotCi0gICAgICAgICAgICB7IFNWR05hbWVzOjpzdHJva2VfZGFzaGFycmF5QXR0
ci0+aW1wbCgpLCAgIHN0ZDo6bWFrZV9wYWlyKFtdKCkgeyByZXR1cm4gU1ZHTGVuZ3RoTGlzdDo6
Y3JlYXRlKCk7IH0sIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVMZW5ndGhMaXN0
QW5pbWF0b3IpIH0sCi0gICAgICAgICAgICAKLSAgICAgICAgICAgIHsgU1ZHTmFtZXM6OmZpbGxf
b3BhY2l0eUF0dHItPmltcGwoKSwgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0
eTxmbG9hdD46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZU51bWJl
ckFuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Zmxvb2Rfb3BhY2l0eUF0dHIt
PmltcGwoKSwgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PGZsb2F0Pjo6Y3Jl
YXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTnVtYmVyQW5pbWF0b3IpIH0s
Ci0gICAgICAgICAgICB7IFNWR05hbWVzOjpvcGFjaXR5QXR0ci0+aW1wbCgpLCAgICAgICAgICAg
IHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8ZmxvYXQ+OjpjcmVhdGUsIFNWR1Byb3Bl
cnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVOdW1iZXJBbmltYXRvcikgfSwKLSAgICAgICAgICAg
IHsgU1ZHTmFtZXM6OnN0b3Bfb3BhY2l0eUF0dHItPmltcGwoKSwgICAgICAgc3RkOjptYWtlX3Bh
aXIoU1ZHVmFsdWVQcm9wZXJ0eTxmbG9hdD46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZh
Y3Rvcnk6OmNyZWF0ZU51bWJlckFuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6
c3Ryb2tlX21pdGVybGltaXRBdHRyLT5pbXBsKCksICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PGZsb2F0Pjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRl
TnVtYmVyQW5pbWF0b3IpIH0sCi0gICAgICAgICAgICB7IFNWR05hbWVzOjpzdHJva2Vfb3BhY2l0
eUF0dHItPmltcGwoKSwgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8ZmxvYXQ+
OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVOdW1iZXJBbmltYXRv
cikgfSwKLSAgICAgICAgICAgIAotICAgICAgICAgICAgeyBTVkdOYW1lczo6YWxpZ25tZW50X2Jh
c2VsaW5lQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6YmFzZWxpbmVfc2hp
ZnRBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6YnVmZmVyZWRfcmVu
ZGVyaW5nQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Y2xpcF9wYXRoQXR0
ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Y2xpcF9ydWxlQXR0
ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Y29sb3JfaW50ZXJw
b2xhdGlvbkF0dHItPmltcGwoKSwgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Y29sb3JfaW50ZXJw
b2xhdGlvbl9maWx0ZXJzQXR0ci0+aW1wbCgpLCAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Y29sb3JfcHJvZmls
ZUF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Y29sb3JfcmVuZGVy
aW5nQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Y3Vyc29yQXR0ci0+
aW1wbCgpLCAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6ZGlzcGxheUF0dHIt
PmltcGwoKSwgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6ZG9taW5hbnRfYmFz
ZWxpbmVBdHRyLT5pbXBsKCksICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6ZmlsbF9ydWxlQXR0
ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6ZmlsdGVyQXR0ci0+
aW1wbCgpLCAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Zm9udF9mYW1pbHlB
dHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Zm9udF9zdHJldGNo
QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Zm9udF9zdHlsZUF0
dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Zm9udF92YXJpYW50
QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Zm9udF93ZWlnaHRB
dHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6aW1hZ2VfcmVuZGVy
aW5nQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6bWFya2VyX2VuZEF0
dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6bWFya2VyX21pZEF0
dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6bWFya2VyX3N0YXJ0
QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6bWFza0F0dHItPmlt
cGwoKSwgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6bWFza190eXBlQXR0
ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6b3ZlcmZsb3dBdHRy
LT5pbXBsKCksICAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6cGFpbnRfb3JkZXJB
dHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6cG9pbnRlcl9ldmVu
dHNBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6c2hhcGVfcmVuZGVy
aW5nQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6c3Ryb2tlX2xpbmVj
YXBBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6c3Ryb2tlX2xpbmVq
b2luQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6dGV4dF9hbmNob3JB
dHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6dGV4dF9kZWNvcmF0
aW9uQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6dGV4dF9yZW5kZXJp
bmdBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6dmVjdG9yX2VmZmVj
dEF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6dmlzaWJpbGl0eUF0
dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9Ci0gICAgICAgIH0pOworICAgICAgICB1c2luZyBQYWlyID0gQXR0
cmlidXRlQW5pbWF0b3JDcmVhdG9yOjpLZXlWYWx1ZVBhaXJUeXBlOworICAgICAgICBzdGF0aWMg
TmV2ZXJEZXN0cm95ZWQ8QXR0cmlidXRlQW5pbWF0b3JDcmVhdG9yPiBtYXAgeyBBdHRyaWJ1dGVB
bmltYXRvckNyZWF0b3I6OmZyb20oCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmNvbG9y
QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0
eTxDb2xvcj46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZUNvbG9y
QW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmZpbGxBdHRyLT5pbXBs
KCksICAgICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxDb2xvcj46
OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZUNvbG9yQW5pbWF0b3Ip
IH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmZsb29kX2NvbG9yQXR0ci0+aW1wbCgp
LCAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxDb2xvcj46OmNyZWF0ZSwg
U1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZUNvbG9yQW5pbWF0b3IpIH0sCisgICAg
ICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmxpZ2h0aW5nX2NvbG9yQXR0ci0+aW1wbCgpLCAgICAg
c3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxDb2xvcj46OmNyZWF0ZSwgU1ZHUHJvcGVy
dHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZUNvbG9yQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQ
YWlyIHsgU1ZHTmFtZXM6OnN0b3BfY29sb3JBdHRyLT5pbXBsKCksICAgICAgICAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxDb2xvcj46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRv
ckZhY3Rvcnk6OmNyZWF0ZUNvbG9yQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZH
TmFtZXM6OnN0cm9rZUF0dHItPmltcGwoKSwgICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZH
VmFsdWVQcm9wZXJ0eTxDb2xvcj46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6
OmNyZWF0ZUNvbG9yQW5pbWF0b3IpIH0sCisKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6
Zm9udF9zaXplQXR0ci0+aW1wbCgpLCAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihbXSgpIHsgcmV0
dXJuIFNWR0xlbmd0aDo6Y3JlYXRlKCk7IH0sIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5Ojpj
cmVhdGVMZW5ndGhBbmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6a2Vy
bmluZ0F0dHItPmltcGwoKSwgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihbXSgpIHsgcmV0dXJu
IFNWR0xlbmd0aDo6Y3JlYXRlKCk7IH0sIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVh
dGVMZW5ndGhBbmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6bGV0dGVy
X3NwYWNpbmdBdHRyLT5pbXBsKCksICAgICBzdGQ6Om1ha2VfcGFpcihbXSgpIHsgcmV0dXJuIFNW
R0xlbmd0aDo6Y3JlYXRlKCk7IH0sIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVM
ZW5ndGhBbmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6c3Ryb2tlX2Rh
c2hvZmZzZXRBdHRyLT5pbXBsKCksICBzdGQ6Om1ha2VfcGFpcihbXSgpIHsgcmV0dXJuIFNWR0xl
bmd0aDo6Y3JlYXRlKCk7IH0sIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVMZW5n
dGhBbmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6c3Ryb2tlX3dpZHRo
QXR0ci0+aW1wbCgpLCAgICAgICBzdGQ6Om1ha2VfcGFpcihbXSgpIHsgcmV0dXJuIFNWR0xlbmd0
aDo6Y3JlYXRlKCk7IH0sIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVMZW5ndGhB
bmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6d29yZF9zcGFjaW5nQXR0
ci0+aW1wbCgpLCAgICAgICBzdGQ6Om1ha2VfcGFpcihbXSgpIHsgcmV0dXJuIFNWR0xlbmd0aDo6
Y3JlYXRlKCk7IH0sIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVMZW5ndGhBbmlt
YXRvcikgfSwKKworICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpzdHJva2VfZGFzaGFycmF5
QXR0ci0+aW1wbCgpLCAgIHN0ZDo6bWFrZV9wYWlyKFtdKCkgeyByZXR1cm4gU1ZHTGVuZ3RoTGlz
dDo6Y3JlYXRlKCk7IH0sIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVMZW5ndGhM
aXN0QW5pbWF0b3IpIH0sCisKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6ZmlsbF9vcGFj
aXR5QXR0ci0+aW1wbCgpLCAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PGZs
b2F0Pjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTnVtYmVyQW5p
bWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmZsb29kX29wYWNpdHlBdHRy
LT5pbXBsKCksICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxmbG9hdD46OmNy
ZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZU51bWJlckFuaW1hdG9yKSB9
LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpvcGFjaXR5QXR0ci0+aW1wbCgpLCAgICAg
ICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8ZmxvYXQ+OjpjcmVhdGUsIFNW
R1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVOdW1iZXJBbmltYXRvcikgfSwKKyAgICAg
ICAgICAgIFBhaXIgeyBTVkdOYW1lczo6c3RvcF9vcGFjaXR5QXR0ci0+aW1wbCgpLCAgICAgICBz
dGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PGZsb2F0Pjo6Y3JlYXRlLCBTVkdQcm9wZXJ0
eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTnVtYmVyQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQ
YWlyIHsgU1ZHTmFtZXM6OnN0cm9rZV9taXRlcmxpbWl0QXR0ci0+aW1wbCgpLCAgc3RkOjptYWtl
X3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxmbG9hdD46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRv
ckZhY3Rvcnk6OmNyZWF0ZU51bWJlckFuaW1hdG9yKSB9LAorICAgICAgICAgICAgUGFpciB7IFNW
R05hbWVzOjpzdHJva2Vfb3BhY2l0eUF0dHItPmltcGwoKSwgICAgIHN0ZDo6bWFrZV9wYWlyKFNW
R1ZhbHVlUHJvcGVydHk8ZmxvYXQ+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5
OjpjcmVhdGVOdW1iZXJBbmltYXRvcikgfSwKKworICAgICAgICAgICAgUGFpciB7IFNWR05hbWVz
OjphbGlnbm1lbnRfYmFzZWxpbmVBdHRyLT5pbXBsKCksICAgICAgICAgICAgIHN0ZDo6bWFrZV9w
YWlyKFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9y
RmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZH
TmFtZXM6OmJhc2VsaW5lX3NoaWZ0QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgc3RkOjpt
YWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5p
bWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIg
eyBTVkdOYW1lczo6YnVmZmVyZWRfcmVuZGVyaW5nQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICBz
dGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVy
dHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKSB9LAorICAgICAgICAgICAg
UGFpciB7IFNWR05hbWVzOjpjbGlwX3BhdGhBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAg
ICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQ
cm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IpIH0sCisgICAgICAg
ICAgICBQYWlyIHsgU1ZHTmFtZXM6OmNsaXBfcnVsZUF0dHItPmltcGwoKSwgICAgICAgICAgICAg
ICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUs
IFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKKyAg
ICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6Y29sb3JfaW50ZXJwb2xhdGlvbkF0dHItPmltcGwo
KSwgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNy
ZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKSB9
LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpjb2xvcl9pbnRlcnBvbGF0aW9uX2ZpbHRl
cnNBdHRyLT5pbXBsKCksICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5n
Pjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0
b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmNvbG9yX3Byb2ZpbGVBdHRyLT5p
bXBsKCksICAgICAgICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxT
dHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdB
bmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6Y29sb3JfcmVuZGVyaW5n
QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3Bl
cnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0
cmluZ0FuaW1hdG9yKSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpjdXJzb3JBdHRy
LT5pbXBsKCksICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVl
UHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3Jl
YXRlU3RyaW5nQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmRpc3Bs
YXlBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZH
VmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5
OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6
ZG9taW5hbnRfYmFzZWxpbmVBdHRyLT5pbXBsKCksICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFp
cihTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZh
Y3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05h
bWVzOjpmaWxsX3J1bGVBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6bWFr
ZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1h
dG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsg
U1ZHTmFtZXM6OmZpbHRlckF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgICAgICAgc3Rk
OjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5
QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKKyAgICAgICAgICAgIFBh
aXIgeyBTVkdOYW1lczo6Zm9udF9mYW1pbHlBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAg
ICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJv
cGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKSB9LAorICAgICAgICAg
ICAgUGFpciB7IFNWR05hbWVzOjpmb250X3N0cmV0Y2hBdHRyLT5pbXBsKCksICAgICAgICAgICAg
ICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBT
VkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IpIH0sCisgICAg
ICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmZvbnRfc3R5bGVBdHRyLT5pbXBsKCksICAgICAgICAg
ICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVh
dGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwK
KyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6Zm9udF92YXJpYW50QXR0ci0+aW1wbCgpLCAg
ICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46
OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9y
KSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpmb250X3dlaWdodEF0dHItPmltcGwo
KSwgICAgICAgICAgICAgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8U3Ry
aW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5p
bWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmltYWdlX3JlbmRlcmluZ0F0
dHItPmltcGwoKSwgICAgICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0
eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJp
bmdBbmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6bWFya2VyX2VuZEF0
dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yKSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjptYXJrZXJf
bWlkQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1Zh
bHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6
Y3JlYXRlU3RyaW5nQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6Om1h
cmtlcl9zdGFydEF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIo
U1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0
b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1l
czo6bWFza0F0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2Vf
cGFpcihTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRv
ckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKSB9LAorICAgICAgICAgICAgUGFpciB7IFNW
R05hbWVzOjptYXNrX3R5cGVBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6
bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFu
aW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWly
IHsgU1ZHTmFtZXM6Om92ZXJmbG93QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgICAgICAg
c3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3Bl
cnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKKyAgICAgICAgICAg
IFBhaXIgeyBTVkdOYW1lczo6cGFpbnRfb3JkZXJBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAg
ICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZH
UHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKSB9LAorICAgICAg
ICAgICAgUGFpciB7IFNWR05hbWVzOjpwb2ludGVyX2V2ZW50c0F0dHItPmltcGwoKSwgICAgICAg
ICAgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRl
LCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IpIH0sCisg
ICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OnNoYXBlX3JlbmRlcmluZ0F0dHItPmltcGwoKSwg
ICAgICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+Ojpj
cmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikg
fSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6c3Ryb2tlX2xpbmVjYXBBdHRyLT5pbXBs
KCksICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PFN0cmlu
Zz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1h
dG9yKSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpzdHJva2VfbGluZWpvaW5BdHRy
LT5pbXBsKCksICAgICAgICAgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8
U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5n
QW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OnRleHRfYW5jaG9yQXR0
ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9w
ZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVT
dHJpbmdBbmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6dGV4dF9kZWNv
cmF0aW9uQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1
ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNy
ZWF0ZVN0cmluZ0FuaW1hdG9yKSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjp0ZXh0
X3JlbmRlcmluZ0F0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNW
R1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9y
eTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IpIH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6
OnZlY3Rvcl9lZmZlY3RBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgc3RkOjptYWtlX3Bh
aXIoU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JG
YWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvcikgfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdO
YW1lczo6dmlzaWJpbGl0eUF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1h
a2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmlt
YXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yKSB9CisgICAgICAgICl9OwogICAgICAg
ICByZXR1cm4gbWFwOwogICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>426112</attachid>
            <date>2021-04-15 10:00:10 -0700</date>
            <delta_ts>2021-04-15 10:14:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-224586-20210415100009.patch</filename>
            <type>text/plain</type>
            <size>22466</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc1NjEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDYyYjlhMjhlOWJiYTFhNjlmM2EwNGE3
MjI5MGJlYzMwNWU3NDExOGQuLjMxMzQ3YWYxM2VjOGRmMGIyNWRmMzg4ZDk0NGRiODc3OTYyZGI1
MjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDQtMTQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxh
Y2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBVc2UgV1RGOjpGdW5jdGlvbiBpbnN0
ZWFkIG9mIHN0ZDo6ZnVuY3Rpb24gaW4gU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmF0dHJp
YnV0ZUFuaW1hdG9yQ3JlYXRvcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI0NTg2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisK
KyAgICAgICAgVGhpcyByZXF1aXJlcyBzb21ldGhpbmcgbGlrZSByMjIzMTIyIHVudGlsIHNvbWV0
aGluZyBsaWtlIGh0dHA6Ly93ZzIxLmxpbmsvUDEyNDkgaXMgYWNjZXB0ZWQuCisgICAgICAgIEkg
YWxzbyBhZGRlZCBhIG1pc3NpbmcgcmVzZXJ2ZUluaXRpYWxDYXBhY2l0eSBjYWxsIHRoYXQgY291
bGQgcmVkdWNlIHJlaGFzaGluZyB3aGVuIGNvbnN0cnVjdGluZyBhIEhhc2hNYXAgZnJvbSBhbiBp
bml0aWFsaXplcl9saXN0LgorCisgICAgICAgICogd3RmL0hhc2hNYXAuaDoKKwogMjAyMS0wNC0w
NiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtKU0NdIFdh
c21NZW1vcnkgY2FnaW5nIHNob3VsZCBjYXJlIG51bGxwdHIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAwMzc3NmRm
ZGZmZGRiYmY0OTUyYmY2NDA0N2JlMWJkOTI1Njk1MWU2Li4yZjM5ZmQ3OGU1YjUwOGU3MGExYjli
YmE1NWMxYTAzY2Q0YTllYzUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDQt
MTQgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAg
ICBVc2UgV1RGOjpGdW5jdGlvbiBpbnN0ZWFkIG9mIHN0ZDo6ZnVuY3Rpb24gaW4gU1ZHUHJvcGVy
dHlBbmltYXRvckZhY3Rvcnk6OmF0dHJpYnV0ZUFuaW1hdG9yQ3JlYXRvcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI0NTg2CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgc2l6ZW9mKFdURjo6RnVuY3Rpb248dm9p
ZCgpPikgaXMgOC4KKyAgICAgICAgc2l6ZW9mKHN0ZDo6ZnVuY3Rpb248dm9pZCgpPikgaXMgNDgu
CisKKyAgICAgICAgKiBzdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeS5o
OgorICAgICAgICAoV2ViQ29yZTo6U1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmF0dHJpYnV0
ZUFuaW1hdG9yQ3JlYXRvcik6CisKIDIwMjEtMDQtMDcgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFw
cGxlLmNvbT4KIAogICAgICAgICBEcm9wIHVubmVjZXNzYXJ5IE5ERUJVRyBjaGVja3MgaW4gU2Vy
dmljZVdvcmtlckNvbnRhaW5lcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvSGFzaE1hcC5o
IGIvU291cmNlL1dURi93dGYvSGFzaE1hcC5oCmluZGV4IDg5MDFiNWYzZjI3OWI4YmUwMzY1MGM3
YzJhZGViNjFiMGFlZmE5ZTUuLjE0ZTJiYzM4OTcyMTMwYmM4MzJhYzlhNThiN2Q1ZGU5ZjRmN2Jk
ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL0hhc2hNYXAuaAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9IYXNoTWFwLmgKQEAgLTkyLDEwICs5MiwyMCBAQCBwdWJsaWM6CiAKICAgICBIYXNoTWFw
KHN0ZDo6aW5pdGlhbGl6ZXJfbGlzdDxLZXlWYWx1ZVBhaXJUeXBlPiBpbml0aWFsaXplckxpc3Qp
CiAgICAgeworICAgICAgICByZXNlcnZlSW5pdGlhbENhcGFjaXR5KGluaXRpYWxpemVyTGlzdC5z
aXplKCkpOwogICAgICAgICBmb3IgKGNvbnN0IGF1dG8mIGtleVZhbHVlUGFpciA6IGluaXRpYWxp
emVyTGlzdCkKICAgICAgICAgICAgIGFkZChrZXlWYWx1ZVBhaXIua2V5LCBrZXlWYWx1ZVBhaXIu
dmFsdWUpOwogICAgIH0KICAgICAKKyAgICB0ZW1wbGF0ZTx0eXBlbmFtZS4uLiBJdGVtcz4KKyAg
ICBzdGF0aWMgSGFzaE1hcCBmcm9tKEl0ZW1zJiYuLi4gaXRlbXMpCisgICAgeworICAgICAgICBI
YXNoTWFwIHJlc3VsdDsKKyAgICAgICAgcmVzdWx0LnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoc2l6
ZW9mLi4uKGl0ZW1zKSk7CisgICAgICAgIHJlc3VsdC5hZGRGb3JJbml0aWFsaXphdGlvbihzdGQ6
OmZvcndhcmQ8SXRlbXM+KGl0ZW1zKS4uLik7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAg
fQorCiAgICAgdm9pZCBzd2FwKEhhc2hNYXAmKTsKIAogICAgIHVuc2lnbmVkIHNpemUoKSBjb25z
dDsKQEAgLTE5Niw2ICsyMDYsMTggQEAgcHJpdmF0ZToKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBL
LCB0eXBlbmFtZSBGPgogICAgIEFkZFJlc3VsdCBpbmxpbmVFbnN1cmUoSyYmLCBGJiYpOwogCisg
ICAgdGVtcGxhdGU8dHlwZW5hbWUuLi4gSXRlbXM+CisgICAgdm9pZCBhZGRGb3JJbml0aWFsaXph
dGlvbihLZXlWYWx1ZVBhaXJUeXBlJiYgaXRlbSwgSXRlbXMmJi4uLiBpdGVtcykKKyAgICB7Cisg
ICAgICAgIGFkZChXVEZNb3ZlKGl0ZW0ua2V5KSwgV1RGTW92ZShpdGVtLnZhbHVlKSk7CisgICAg
ICAgIGFkZEZvckluaXRpYWxpemF0aW9uKHN0ZDo6Zm9yd2FyZDxJdGVtcz4oaXRlbXMpLi4uKTsK
KyAgICB9CisKKyAgICB2b2lkIGFkZEZvckluaXRpYWxpemF0aW9uKEtleVZhbHVlUGFpclR5cGUm
JiBpdGVtKQorICAgIHsKKyAgICAgICAgYWRkKFdURk1vdmUoaXRlbS5rZXkpLCBXVEZNb3ZlKGl0
ZW0udmFsdWUpKTsKKyAgICB9CisKICAgICBIYXNoVGFibGVUeXBlIG1faW1wbDsKIH07CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5LmggYi9Tb3VyY2UvV2ViQ29yZS9zdmcvcHJvcGVydGllcy9TVkdQcm9wZXJ0eUFu
aW1hdG9yRmFjdG9yeS5oCmluZGV4IDY4MWU2ZGM2NTQ2M2Y3YmU0OTBlODZkMjRmMDY4ZDczMDI1
ZjY1OGYuLjI1MjY0ZjJiMGY1YzFjMjc2NTBlNjMxODk0NDc1MTcwNTZhYTNhYWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9wcm9wZXJ0aWVzL1NWR1Byb3BlcnR5QW5pbWF0b3JGYWN0
b3J5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3ZnL3Byb3BlcnRpZXMvU1ZHUHJvcGVydHlBbmlt
YXRvckZhY3RvcnkuaApAQCAtMzAsNiArMzAsNyBAQAogI2luY2x1ZGUgIlNWR1ByaW1pdGl2ZVBy
b3BlcnR5QW5pbWF0b3JJbXBsLmgiCiAjaW5jbHVkZSAiU1ZHVmFsdWVQcm9wZXJ0eUFuaW1hdG9y
SW1wbC5oIgogI2luY2x1ZGUgIlNWR1ZhbHVlUHJvcGVydHlMaXN0QW5pbWF0b3JJbXBsLmgiCisj
aW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNzQs
OCArNzUsOCBAQCBwcml2YXRlOgogICAgIHVzaW5nIEF0dHJpYnV0ZUFuaW1hdG9yQ3JlYXRvciA9
IEhhc2hNYXA8CiAgICAgICAgIFF1YWxpZmllZE5hbWU6OlF1YWxpZmllZE5hbWVJbXBsKiwKICAg
ICAgICAgc3RkOjpwYWlyPAotICAgICAgICAgICAgc3RkOjpmdW5jdGlvbjxSZWY8U1ZHUHJvcGVy
dHk+KCk+LAotICAgICAgICAgICAgc3RkOjpmdW5jdGlvbjxSZWY8U1ZHQXR0cmlidXRlQW5pbWF0
b3I+KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBSZWY8U1ZHUHJvcGVydHk+JiYsIEFuaW1hdGlvbk1v
ZGUsIENhbGNNb2RlLCBib29sLCBib29sKT4KKyAgICAgICAgICAgIEZ1bmN0aW9uPFJlZjxTVkdQ
cm9wZXJ0eT4oKT4sCisgICAgICAgICAgICBGdW5jdGlvbjxSZWY8U1ZHQXR0cmlidXRlQW5pbWF0
b3I+KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBSZWY8U1ZHUHJvcGVydHk+JiYsIEFuaW1hdGlvbk1v
ZGUsIENhbGNNb2RlLCBib29sLCBib29sKT4KICAgICAgICAgPgogICAgID47CiAKQEAgLTEwNiw2
NyArMTA3LDY4IEBAIHByaXZhdGU6CiAKICAgICBzdGF0aWMgY29uc3QgQXR0cmlidXRlQW5pbWF0
b3JDcmVhdG9yJiBhdHRyaWJ1dGVBbmltYXRvckNyZWF0b3IoKQogICAgIHsKLSAgICAgICAgc3Rh
dGljIE5ldmVyRGVzdHJveWVkPEF0dHJpYnV0ZUFuaW1hdG9yQ3JlYXRvcj4gbWFwID0gQXR0cmli
dXRlQW5pbWF0b3JDcmVhdG9yKHsKLSAgICAgICAgICAgIHsgU1ZHTmFtZXM6OmNvbG9yQXR0ci0+
aW1wbCgpLCAgICAgICAgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxDb2xv
cj46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZUNvbG9yQW5pbWF0
b3IpIH0sCi0gICAgICAgICAgICB7IFNWR05hbWVzOjpmaWxsQXR0ci0+aW1wbCgpLCAgICAgICAg
ICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8Q29sb3I+OjpjcmVhdGUsIFNW
R1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVDb2xvckFuaW1hdG9yKSB9LAotICAgICAg
ICAgICAgeyBTVkdOYW1lczo6Zmxvb2RfY29sb3JBdHRyLT5pbXBsKCksICAgICAgICBzdGQ6Om1h
a2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PENvbG9yPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1h
dG9yRmFjdG9yeTo6Y3JlYXRlQ29sb3JBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFt
ZXM6OmxpZ2h0aW5nX2NvbG9yQXR0ci0+aW1wbCgpLCAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFs
dWVQcm9wZXJ0eTxDb2xvcj46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNy
ZWF0ZUNvbG9yQW5pbWF0b3IpIH0sCi0gICAgICAgICAgICB7IFNWR05hbWVzOjpzdG9wX2NvbG9y
QXR0ci0+aW1wbCgpLCAgICAgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8Q29s
b3I+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVDb2xvckFuaW1h
dG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6c3Ryb2tlQXR0ci0+aW1wbCgpLCAgICAg
ICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PENvbG9yPjo6Y3JlYXRlLCBT
VkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlQ29sb3JBbmltYXRvcikgfSwKLQotICAg
ICAgICAgICAgeyBTVkdOYW1lczo6Zm9udF9zaXplQXR0ci0+aW1wbCgpLCAgICAgICAgICBzdGQ6
Om1ha2VfcGFpcihbXSgpIHsgcmV0dXJuIFNWR0xlbmd0aDo6Y3JlYXRlKCk7IH0sIFNWR1Byb3Bl
cnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVMZW5ndGhBbmltYXRvcikgfSwKLSAgICAgICAgICAg
IHsgU1ZHTmFtZXM6Omtlcm5pbmdBdHRyLT5pbXBsKCksICAgICAgICAgICAgc3RkOjptYWtlX3Bh
aXIoW10oKSB7IHJldHVybiBTVkdMZW5ndGg6OmNyZWF0ZSgpOyB9LCBTVkdQcm9wZXJ0eUFuaW1h
dG9yRmFjdG9yeTo6Y3JlYXRlTGVuZ3RoQW5pbWF0b3IpIH0sCi0gICAgICAgICAgICB7IFNWR05h
bWVzOjpsZXR0ZXJfc3BhY2luZ0F0dHItPmltcGwoKSwgICAgIHN0ZDo6bWFrZV9wYWlyKFtdKCkg
eyByZXR1cm4gU1ZHTGVuZ3RoOjpjcmVhdGUoKTsgfSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rv
cnk6OmNyZWF0ZUxlbmd0aEFuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6c3Ry
b2tlX2Rhc2hvZmZzZXRBdHRyLT5pbXBsKCksICBzdGQ6Om1ha2VfcGFpcihbXSgpIHsgcmV0dXJu
IFNWR0xlbmd0aDo6Y3JlYXRlKCk7IH0sIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVh
dGVMZW5ndGhBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZHTmFtZXM6OnN0cm9rZV93aWR0
aEF0dHItPmltcGwoKSwgICAgICAgc3RkOjptYWtlX3BhaXIoW10oKSB7IHJldHVybiBTVkdMZW5n
dGg6OmNyZWF0ZSgpOyB9LCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTGVuZ3Ro
QW5pbWF0b3IpIH0sCi0gICAgICAgICAgICB7IFNWR05hbWVzOjp3b3JkX3NwYWNpbmdBdHRyLT5p
bXBsKCksICAgICAgIHN0ZDo6bWFrZV9wYWlyKFtdKCkgeyByZXR1cm4gU1ZHTGVuZ3RoOjpjcmVh
dGUoKTsgfSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZUxlbmd0aEFuaW1hdG9y
KSB9LAotCi0gICAgICAgICAgICB7IFNWR05hbWVzOjpzdHJva2VfZGFzaGFycmF5QXR0ci0+aW1w
bCgpLCAgIHN0ZDo6bWFrZV9wYWlyKFtdKCkgeyByZXR1cm4gU1ZHTGVuZ3RoTGlzdDo6Y3JlYXRl
KCk7IH0sIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVMZW5ndGhMaXN0QW5pbWF0
b3IpIH0sCi0gICAgICAgICAgICAKLSAgICAgICAgICAgIHsgU1ZHTmFtZXM6OmZpbGxfb3BhY2l0
eUF0dHItPmltcGwoKSwgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZHVmFsdWVQcm9wZXJ0eTxmbG9h
dD46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZU51bWJlckFuaW1h
dG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Zmxvb2Rfb3BhY2l0eUF0dHItPmltcGwo
KSwgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5PGZsb2F0Pjo6Y3JlYXRlLCBT
VkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTnVtYmVyQW5pbWF0b3IpIH0sCi0gICAg
ICAgICAgICB7IFNWR05hbWVzOjpvcGFjaXR5QXR0ci0+aW1wbCgpLCAgICAgICAgICAgIHN0ZDo6
bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8ZmxvYXQ+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5p
bWF0b3JGYWN0b3J5OjpjcmVhdGVOdW1iZXJBbmltYXRvcikgfSwKLSAgICAgICAgICAgIHsgU1ZH
TmFtZXM6OnN0b3Bfb3BhY2l0eUF0dHItPmltcGwoKSwgICAgICAgc3RkOjptYWtlX3BhaXIoU1ZH
VmFsdWVQcm9wZXJ0eTxmbG9hdD46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6
OmNyZWF0ZU51bWJlckFuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6c3Ryb2tl
X21pdGVybGltaXRBdHRyLT5pbXBsKCksICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PGZsb2F0Pjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTnVtYmVy
QW5pbWF0b3IpIH0sCi0gICAgICAgICAgICB7IFNWR05hbWVzOjpzdHJva2Vfb3BhY2l0eUF0dHIt
PmltcGwoKSwgICAgIHN0ZDo6bWFrZV9wYWlyKFNWR1ZhbHVlUHJvcGVydHk8ZmxvYXQ+OjpjcmVh
dGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVOdW1iZXJBbmltYXRvcikgfSwK
LSAgICAgICAgICAgIAotICAgICAgICAgICAgeyBTVkdOYW1lczo6YWxpZ25tZW50X2Jhc2VsaW5l
QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6YmFzZWxpbmVfc2hpZnRBdHRy
LT5pbXBsKCksICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6YnVmZmVyZWRfcmVuZGVyaW5n
QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Y2xpcF9wYXRoQXR0ci0+aW1w
bCgpLCAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Y2xpcF9ydWxlQXR0ci0+aW1w
bCgpLCAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Y29sb3JfaW50ZXJwb2xhdGlv
bkF0dHItPmltcGwoKSwgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Y29sb3JfaW50ZXJwb2xhdGlv
bl9maWx0ZXJzQXR0ci0+aW1wbCgpLCAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Y29sb3JfcHJvZmlsZUF0dHIt
PmltcGwoKSwgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Y29sb3JfcmVuZGVyaW5nQXR0
ci0+aW1wbCgpLCAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Y3Vyc29yQXR0ci0+aW1wbCgp
LCAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6ZGlzcGxheUF0dHItPmltcGwo
KSwgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6ZG9taW5hbnRfYmFzZWxpbmVB
dHRyLT5pbXBsKCksICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6ZmlsbF9ydWxlQXR0ci0+aW1w
bCgpLCAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6ZmlsdGVyQXR0ci0+aW1wbCgp
LCAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Zm9udF9mYW1pbHlBdHRyLT5p
bXBsKCksICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Zm9udF9zdHJldGNoQXR0ci0+
aW1wbCgpLCAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Zm9udF9zdHlsZUF0dHItPmlt
cGwoKSwgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Zm9udF92YXJpYW50QXR0ci0+
aW1wbCgpLCAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6Zm9udF93ZWlnaHRBdHRyLT5p
bXBsKCksICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6aW1hZ2VfcmVuZGVyaW5nQXR0
ci0+aW1wbCgpLCAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6bWFya2VyX2VuZEF0dHItPmlt
cGwoKSwgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6bWFya2VyX21pZEF0dHItPmlt
cGwoKSwgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6bWFya2VyX3N0YXJ0QXR0ci0+
aW1wbCgpLCAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6bWFza0F0dHItPmltcGwoKSwg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6bWFza190eXBlQXR0ci0+aW1w
bCgpLCAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6b3ZlcmZsb3dBdHRyLT5pbXBs
KCksICAgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6cGFpbnRfb3JkZXJBdHRyLT5p
bXBsKCksICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6cG9pbnRlcl9ldmVudHNBdHRy
LT5pbXBsKCksICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6c2hhcGVfcmVuZGVyaW5nQXR0
ci0+aW1wbCgpLCAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6c3Ryb2tlX2xpbmVjYXBBdHRy
LT5pbXBsKCksICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6c3Ryb2tlX2xpbmVqb2luQXR0
ci0+aW1wbCgpLCAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6dGV4dF9hbmNob3JBdHRyLT5p
bXBsKCksICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6dGV4dF9kZWNvcmF0aW9uQXR0
ci0+aW1wbCgpLCAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6dGV4dF9yZW5kZXJpbmdBdHRy
LT5pbXBsKCksICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6dmVjdG9yX2VmZmVjdEF0dHIt
PmltcGwoKSwgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9LAotICAgICAgICAgICAgeyBTVkdOYW1lczo6dmlzaWJpbGl0eUF0dHItPmlt
cGwoKSwgICAgICAgICAgICAgICAgICAgICBzdGQ6Om1ha2VfcGFpcihTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yKSB9Ci0gICAgICAgIH0pOworICAgICAgICB1c2luZyBQYWlyID0gQXR0cmlidXRl
QW5pbWF0b3JDcmVhdG9yOjpLZXlWYWx1ZVBhaXJUeXBlOworICAgICAgICBzdGF0aWMgTmV2ZXJE
ZXN0cm95ZWQ8QXR0cmlidXRlQW5pbWF0b3JDcmVhdG9yPiBtYXAgeyBBdHRyaWJ1dGVBbmltYXRv
ckNyZWF0b3I6OmZyb20oCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmNvbG9yQXR0ci0+
aW1wbCgpLCAgICAgICAgICB7IFNWR1ZhbHVlUHJvcGVydHk8Q29sb3I+OjpjcmVhdGUsIFNWR1By
b3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVDb2xvckFuaW1hdG9yfSB9LAorICAgICAgICAg
ICAgUGFpciB7IFNWR05hbWVzOjpmaWxsQXR0ci0+aW1wbCgpLCAgICAgICAgICAgeyBTVkdWYWx1
ZVByb3BlcnR5PENvbG9yPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3Jl
YXRlQ29sb3JBbmltYXRvciB9IH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmZsb29k
X2NvbG9yQXR0ci0+aW1wbCgpLCAgICB7IFNWR1ZhbHVlUHJvcGVydHk8Q29sb3I+OjpjcmVhdGUs
IFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVDb2xvckFuaW1hdG9yIH0gfSwKKyAg
ICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6bGlnaHRpbmdfY29sb3JBdHRyLT5pbXBsKCksIHsg
U1ZHVmFsdWVQcm9wZXJ0eTxDb2xvcj46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rv
cnk6OmNyZWF0ZUNvbG9yQW5pbWF0b3IgfSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVz
OjpzdG9wX2NvbG9yQXR0ci0+aW1wbCgpLCAgICAgeyBTVkdWYWx1ZVByb3BlcnR5PENvbG9yPjo6
Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlQ29sb3JBbmltYXRvciB9
IH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OnN0cm9rZUF0dHItPmltcGwoKSwgICAg
ICAgICB7IFNWR1ZhbHVlUHJvcGVydHk8Q29sb3I+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0
b3JGYWN0b3J5OjpjcmVhdGVDb2xvckFuaW1hdG9yIH0gfSwKKworICAgICAgICAgICAgUGFpciB7
IFNWR05hbWVzOjpmb250X3NpemVBdHRyLT5pbXBsKCksICAgICAgICAgeyBbXSgpIHsgcmV0dXJu
IFNWR0xlbmd0aDo6Y3JlYXRlKCk7IH0sIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVh
dGVMZW5ndGhBbmltYXRvciB9IH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6Omtlcm5p
bmdBdHRyLT5pbXBsKCksICAgICAgICAgICB7IFtdKCkgeyByZXR1cm4gU1ZHTGVuZ3RoOjpjcmVh
dGUoKTsgfSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZUxlbmd0aEFuaW1hdG9y
IH0gfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6bGV0dGVyX3NwYWNpbmdBdHRyLT5p
bXBsKCksICAgIHsgW10oKSB7IHJldHVybiBTVkdMZW5ndGg6OmNyZWF0ZSgpOyB9LCBTVkdQcm9w
ZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTGVuZ3RoQW5pbWF0b3IgfSB9LAorICAgICAgICAg
ICAgUGFpciB7IFNWR05hbWVzOjpzdHJva2VfZGFzaG9mZnNldEF0dHItPmltcGwoKSwgeyBbXSgp
IHsgcmV0dXJuIFNWR0xlbmd0aDo6Y3JlYXRlKCk7IH0sIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0
b3J5OjpjcmVhdGVMZW5ndGhBbmltYXRvciB9IH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFt
ZXM6OnN0cm9rZV93aWR0aEF0dHItPmltcGwoKSwgICAgICB7IFtdKCkgeyByZXR1cm4gU1ZHTGVu
Z3RoOjpjcmVhdGUoKTsgfSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZUxlbmd0
aEFuaW1hdG9yIH0gfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6d29yZF9zcGFjaW5n
QXR0ci0+aW1wbCgpLCAgICAgIHsgW10oKSB7IHJldHVybiBTVkdMZW5ndGg6OmNyZWF0ZSgpOyB9
LCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlTGVuZ3RoQW5pbWF0b3IgfSB9LAor
CisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OnN0cm9rZV9kYXNoYXJyYXlBdHRyLT5pbXBs
KCksIHsgW10oKSB7IHJldHVybiBTVkdMZW5ndGhMaXN0OjpjcmVhdGUoKTsgfSwgU1ZHUHJvcGVy
dHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZUxlbmd0aExpc3RBbmltYXRvciB9IH0sCisKKyAgICAg
ICAgICAgIFBhaXIgeyBTVkdOYW1lczo6ZmlsbF9vcGFjaXR5QXR0ci0+aW1wbCgpLCAgICAgIHsg
U1ZHVmFsdWVQcm9wZXJ0eTxmbG9hdD46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rv
cnk6OmNyZWF0ZU51bWJlckFuaW1hdG9yIH0gfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1l
czo6Zmxvb2Rfb3BhY2l0eUF0dHItPmltcGwoKSwgICAgIHsgU1ZHVmFsdWVQcm9wZXJ0eTxmbG9h
dD46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZU51bWJlckFuaW1h
dG9yIH0gfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6b3BhY2l0eUF0dHItPmltcGwo
KSwgICAgICAgICAgIHsgU1ZHVmFsdWVQcm9wZXJ0eTxmbG9hdD46OmNyZWF0ZSwgU1ZHUHJvcGVy
dHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZU51bWJlckFuaW1hdG9yIH0gfSwKKyAgICAgICAgICAg
IFBhaXIgeyBTVkdOYW1lczo6c3RvcF9vcGFjaXR5QXR0ci0+aW1wbCgpLCAgICAgIHsgU1ZHVmFs
dWVQcm9wZXJ0eTxmbG9hdD46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNy
ZWF0ZU51bWJlckFuaW1hdG9yIH0gfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6c3Ry
b2tlX21pdGVybGltaXRBdHRyLT5pbXBsKCksIHsgU1ZHVmFsdWVQcm9wZXJ0eTxmbG9hdD46OmNy
ZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZU51bWJlckFuaW1hdG9yIH0g
fSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6c3Ryb2tlX29wYWNpdHlBdHRyLT5pbXBs
KCksICAgIHsgU1ZHVmFsdWVQcm9wZXJ0eTxmbG9hdD46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmlt
YXRvckZhY3Rvcnk6OmNyZWF0ZU51bWJlckFuaW1hdG9yIH0gfSwKKworICAgICAgICAgICAgUGFp
ciB7IFNWR05hbWVzOjphbGlnbm1lbnRfYmFzZWxpbmVBdHRyLT5pbXBsKCksICAgICAgICAgIHsg
U1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0
b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvciB9IH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFt
ZXM6OmJhc2VsaW5lX3NoaWZ0QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgeyBTVkdWYWx1ZVBy
b3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0
ZVN0cmluZ0FuaW1hdG9yIH0gfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6YnVmZmVy
ZWRfcmVuZGVyaW5nQXR0ci0+aW1wbCgpLCAgICAgICAgICB7IFNWR1ZhbHVlUHJvcGVydHk8U3Ry
aW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5p
bWF0b3IgfSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpjbGlwX3BhdGhBdHRyLT5p
bXBsKCksICAgICAgICAgICAgICAgICAgIHsgU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVh
dGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvciB9IH0s
CisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmNsaXBfcnVsZUF0dHItPmltcGwoKSwgICAg
ICAgICAgICAgICAgICAgeyBTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJv
cGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yIH0gfSwKKyAgICAgICAg
ICAgIFBhaXIgeyBTVkdOYW1lczo6Y29sb3JfaW50ZXJwb2xhdGlvbkF0dHItPmltcGwoKSwgICAg
ICAgICB7IFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1h
dG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IgfSB9LAorICAgICAgICAgICAgUGFpciB7
IFNWR05hbWVzOjpjb2xvcl9pbnRlcnBvbGF0aW9uX2ZpbHRlcnNBdHRyLT5pbXBsKCksIHsgU1ZH
VmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5
OjpjcmVhdGVTdHJpbmdBbmltYXRvciB9IH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6
OmNvbG9yX3Byb2ZpbGVBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgeyBTVkdWYWx1ZVByb3Bl
cnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0
cmluZ0FuaW1hdG9yIH0gfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6Y29sb3JfcmVu
ZGVyaW5nQXR0ci0+aW1wbCgpLCAgICAgICAgICAgICB7IFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5n
Pjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0
b3IgfSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpjdXJzb3JBdHRyLT5pbXBsKCks
ICAgICAgICAgICAgICAgICAgICAgIHsgU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUs
IFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvciB9IH0sCisg
ICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmRpc3BsYXlBdHRyLT5pbXBsKCksICAgICAgICAg
ICAgICAgICAgICAgeyBTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVy
dHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yIH0gfSwKKyAgICAgICAgICAg
IFBhaXIgeyBTVkdOYW1lczo6ZG9taW5hbnRfYmFzZWxpbmVBdHRyLT5pbXBsKCksICAgICAgICAg
ICB7IFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9y
RmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IgfSB9LAorICAgICAgICAgICAgUGFpciB7IFNW
R05hbWVzOjpmaWxsX3J1bGVBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgIHsgU1ZHVmFs
dWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5Ojpj
cmVhdGVTdHJpbmdBbmltYXRvciB9IH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmZp
bHRlckF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgICAgeyBTVkdWYWx1ZVByb3BlcnR5
PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmlu
Z0FuaW1hdG9yIH0gfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6Zm9udF9mYW1pbHlB
dHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICB7IFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6
Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3Ig
fSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpmb250X3N0cmV0Y2hBdHRyLT5pbXBs
KCksICAgICAgICAgICAgICAgIHsgU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNW
R1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvciB9IH0sCisgICAg
ICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmZvbnRfc3R5bGVBdHRyLT5pbXBsKCksICAgICAgICAg
ICAgICAgICAgeyBTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlB
bmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yIH0gfSwKKyAgICAgICAgICAgIFBh
aXIgeyBTVkdOYW1lczo6Zm9udF92YXJpYW50QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICB7
IFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFj
dG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IgfSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05h
bWVzOjpmb250X3dlaWdodEF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgIHsgU1ZHVmFsdWVQ
cm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVh
dGVTdHJpbmdBbmltYXRvciB9IH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OmltYWdl
X3JlbmRlcmluZ0F0dHItPmltcGwoKSwgICAgICAgICAgICAgeyBTVkdWYWx1ZVByb3BlcnR5PFN0
cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0Fu
aW1hdG9yIH0gfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6bWFya2VyX2VuZEF0dHIt
PmltcGwoKSwgICAgICAgICAgICAgICAgICB7IFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3Jl
YXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IgfSB9
LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjptYXJrZXJfbWlkQXR0ci0+aW1wbCgpLCAg
ICAgICAgICAgICAgICAgIHsgU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1By
b3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvciB9IH0sCisgICAgICAg
ICAgICBQYWlyIHsgU1ZHTmFtZXM6Om1hcmtlcl9zdGFydEF0dHItPmltcGwoKSwgICAgICAgICAg
ICAgICAgeyBTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmlt
YXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yIH0gfSwKKyAgICAgICAgICAgIFBhaXIg
eyBTVkdOYW1lczo6bWFza0F0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICAgICAgICB7IFNW
R1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9y
eTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IgfSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVz
OjptYXNrX3R5cGVBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAgICAgIHsgU1ZHVmFsdWVQcm9w
ZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVT
dHJpbmdBbmltYXRvciB9IH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6Om92ZXJmbG93
QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgICAgeyBTVkdWYWx1ZVByb3BlcnR5PFN0cmlu
Zz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1h
dG9yIH0gfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6cGFpbnRfb3JkZXJBdHRyLT5p
bXBsKCksICAgICAgICAgICAgICAgICB7IFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRl
LCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IgfSB9LAor
ICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpwb2ludGVyX2V2ZW50c0F0dHItPmltcGwoKSwg
ICAgICAgICAgICAgIHsgU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3Bl
cnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvciB9IH0sCisgICAgICAgICAg
ICBQYWlyIHsgU1ZHTmFtZXM6OnNoYXBlX3JlbmRlcmluZ0F0dHItPmltcGwoKSwgICAgICAgICAg
ICAgeyBTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRv
ckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yIH0gfSwKKyAgICAgICAgICAgIFBhaXIgeyBT
VkdOYW1lczo6c3Ryb2tlX2xpbmVjYXBBdHRyLT5pbXBsKCksICAgICAgICAgICAgICB7IFNWR1Zh
bHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6
Y3JlYXRlU3RyaW5nQW5pbWF0b3IgfSB9LAorICAgICAgICAgICAgUGFpciB7IFNWR05hbWVzOjpz
dHJva2VfbGluZWpvaW5BdHRyLT5pbXBsKCksICAgICAgICAgICAgIHsgU1ZHVmFsdWVQcm9wZXJ0
eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJp
bmdBbmltYXRvciB9IH0sCisgICAgICAgICAgICBQYWlyIHsgU1ZHTmFtZXM6OnRleHRfYW5jaG9y
QXR0ci0+aW1wbCgpLCAgICAgICAgICAgICAgICAgeyBTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46
OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZhY3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9y
IH0gfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdOYW1lczo6dGV4dF9kZWNvcmF0aW9uQXR0ci0+
aW1wbCgpLCAgICAgICAgICAgICB7IFNWR1ZhbHVlUHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBT
VkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3JlYXRlU3RyaW5nQW5pbWF0b3IgfSB9LAorICAg
ICAgICAgICAgUGFpciB7IFNWR05hbWVzOjp0ZXh0X3JlbmRlcmluZ0F0dHItPmltcGwoKSwgICAg
ICAgICAgICAgIHsgU1ZHVmFsdWVQcm9wZXJ0eTxTdHJpbmc+OjpjcmVhdGUsIFNWR1Byb3BlcnR5
QW5pbWF0b3JGYWN0b3J5OjpjcmVhdGVTdHJpbmdBbmltYXRvciB9IH0sCisgICAgICAgICAgICBQ
YWlyIHsgU1ZHTmFtZXM6OnZlY3Rvcl9lZmZlY3RBdHRyLT5pbXBsKCksICAgICAgICAgICAgICAg
eyBTVkdWYWx1ZVByb3BlcnR5PFN0cmluZz46OmNyZWF0ZSwgU1ZHUHJvcGVydHlBbmltYXRvckZh
Y3Rvcnk6OmNyZWF0ZVN0cmluZ0FuaW1hdG9yIH0gfSwKKyAgICAgICAgICAgIFBhaXIgeyBTVkdO
YW1lczo6dmlzaWJpbGl0eUF0dHItPmltcGwoKSwgICAgICAgICAgICAgICAgICB7IFNWR1ZhbHVl
UHJvcGVydHk8U3RyaW5nPjo6Y3JlYXRlLCBTVkdQcm9wZXJ0eUFuaW1hdG9yRmFjdG9yeTo6Y3Jl
YXRlU3RyaW5nQW5pbWF0b3IgfSB9CisgICAgICAgICl9OwogICAgICAgICByZXR1cm4gbWFwOwog
ICAgIH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>