<?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>126630</bug_id>
          
          <creation_ts>2014-01-08 01:45:30 -0800</creation_ts>
          <short_desc>Web Inspector: Remove unused overriding protocols.</short_desc>
          <delta_ts>2014-01-09 09:15:39 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>126236</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Seokju Kwon">seokju</reporter>
          <assigned_to name="Seokju Kwon">seokju</assigned_to>
          <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>rniwa</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>965389</commentid>
    <comment_count>0</comment_count>
    <who name="Seokju Kwon">seokju</who>
    <bug_when>2014-01-08 01:45:30 -0800</bug_when>
    <thetext>Remove unused overriding protocols.
-Page.setGeolocationOverride
-Page.clearGeolocationOverride
-Page.canOverrideGeolocation
-Page.setDeviceOrientationOverride
-Page.clearDeviceOrientationOverride
-Page.canOverrideGeolocation
-Network.setUserAgentOverride</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965390</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-01-08 01:46:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/15770823&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965391</commentid>
    <comment_count>2</comment_count>
      <attachid>220611</attachid>
    <who name="Seokju Kwon">seokju</who>
    <bug_when>2014-01-08 01:50:58 -0800</bug_when>
    <thetext>Created attachment 220611
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965399</commentid>
    <comment_count>3</comment_count>
      <attachid>220611</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2014-01-08 02:16:56 -0800</bug_when>
    <thetext>Comment on attachment 220611
Patch

Attachment 220611 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/5122645074903040</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965411</commentid>
    <comment_count>4</comment_count>
      <attachid>220611</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2014-01-08 02:39:53 -0800</bug_when>
    <thetext>Comment on attachment 220611
Patch

Attachment 220611 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/5909092778377216</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965414</commentid>
    <comment_count>5</comment_count>
      <attachid>220611</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2014-01-08 02:43:54 -0800</bug_when>
    <thetext>Comment on attachment 220611
Patch

Attachment 220611 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/4537931716886528</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965537</commentid>
    <comment_count>6</comment_count>
      <attachid>220611</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-01-08 10:18:24 -0800</bug_when>
    <thetext>Comment on attachment 220611
Patch

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

Other than the build issue this looks good to me.

&gt; Source/WebCore/dom/DeviceOrientationController.cpp:-60
&gt; -    orientation = InspectorInstrumentation::overrideDeviceOrientation(m_page, orientation);

Looks like there is more code that can be removed here, since m_page is no longer used!

(ews-mac build error):
In file included from /Volumes/Data/EWS/WebKit/Source/WebCore/dom/DeviceOrientationController.cpp:28:
/Volumes/Data/EWS/WebKit/Source/WebCore/dom/DeviceOrientationController.h:66:11: error: private field &apos;m_page&apos; is not used [-Werror,-Wunused-private-field]
    Page* m_page;
          ^
1 error generated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965705</commentid>
    <comment_count>7</comment_count>
      <attachid>220682</attachid>
    <who name="Seokju Kwon">seokju</who>
    <bug_when>2014-01-08 17:33:18 -0800</bug_when>
    <thetext>Created attachment 220682
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965707</commentid>
    <comment_count>8</comment_count>
      <attachid>220682</attachid>
    <who name="Seokju Kwon">seokju</who>
    <bug_when>2014-01-08 17:39:21 -0800</bug_when>
    <thetext>Comment on attachment 220682
Patch

Hum.. Build bots are not working. :(

@Joepeck
I have removed unused private field.
Please take another look at this when build bots are happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965727</commentid>
    <comment_count>9</comment_count>
      <attachid>220682</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2014-01-08 18:16:13 -0800</bug_when>
    <thetext>Comment on attachment 220682
Patch

Attachment 220682 did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/6567514083426304</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965731</commentid>
    <comment_count>10</comment_count>
      <attachid>220682</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2014-01-08 18:29:14 -0800</bug_when>
    <thetext>Comment on attachment 220682
Patch

Attachment 220682 did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/6713594376880128</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965739</commentid>
    <comment_count>11</comment_count>
      <attachid>220689</attachid>
    <who name="Seokju Kwon">seokju</who>
    <bug_when>2014-01-08 19:04:48 -0800</bug_when>
    <thetext>Created attachment 220689
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965938</commentid>
    <comment_count>12</comment_count>
      <attachid>220689</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-09 09:15:35 -0800</bug_when>
    <thetext>Comment on attachment 220689
Patch

Clearing flags on attachment: 220689

Committed r161556: &lt;http://trac.webkit.org/changeset/161556&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>965939</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-01-09 09:15:39 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220611</attachid>
            <date>2014-01-08 01:50:58 -0800</date>
            <delta_ts>2014-01-08 17:33:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126630-20140108185056.patch</filename>
            <type>text/plain</type>
            <size>50294</size>
            <attacher name="Seokju Kwon">seokju</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxNDgxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTI4OGVlMDlhOWUxNDQ4
MGM1OGM4NGNhMzBiZDY2NjE2NTFhNWRlZS4uYmUwNGNjYmExNmJmM2RlODZhNzY1MTE0MjM3NzYw
OWRjYmI5MGZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDE0LTAxLTA4ICBTZW9r
anUgS3dvbiAgPHNlb2tqdUB3ZWJraXQub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJl
bW92ZSB1bnVzZWQgb3ZlcnJpZGluZyBwcm90b2NvbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjY2MzAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIE5vIGNoYW5nZSBpbiBiZWhh
dmlvci4KKworICAgICAgICBSZW1vdmUgdW51c2VkIG92ZXJyaWRpbmcgcHJvdG9jb2xzIGFzIHRo
ZXNlIGFyZSBub3QgdXNlZCBhbnltb3JlIGluIEZyb250bmVkLgorICAgICAgICAtUGFnZS5zZXRH
ZW9sb2NhdGlvbk92ZXJyaWRlCisgICAgICAgIC1QYWdlLmNsZWFyR2VvbG9jYXRpb25PdmVycmlk
ZQorICAgICAgICAtUGFnZS5jYW5PdmVycmlkZUdlb2xvY2F0aW9uCisgICAgICAgIC1QYWdlLnNl
dERldmljZU9yaWVudGF0aW9uT3ZlcnJpZGUKKyAgICAgICAgLVBhZ2UuY2xlYXJEZXZpY2VPcmll
bnRhdGlvbk92ZXJyaWRlCisgICAgICAgIC1QYWdlLmNhbk92ZXJyaWRlR2VvbG9jYXRpb24KKyAg
ICAgICAgLU5ldHdvcmsuc2V0VXNlckFnZW50T3ZlcnJpZGUKKworICAgICAgICAqIE1vZHVsZXMv
Z2VvbG9jYXRpb24vR2VvbG9jYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okdlb2xvY2F0aW9uQ29udHJvbGxlcjo6cG9zaXRpb25DaGFuZ2VkKToKKyAgICAgICAgKiBkb20v
RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmlj
ZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6ZGlkQ2hhbmdlRGV2aWNlT3JpZW50YXRpb24pOgorICAg
ICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAq
IGluc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBh
Z2VBZ2VudDo6SW5zcGVjdG9yUGFnZUFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVj
dG9yUGFnZUFnZW50Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdl
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlzYWJs
ZSk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaDoKKyAgICAg
ICAgKiBpbnNwZWN0b3IvcHJvdG9jb2wvTmV0d29yay5qc29uOgorICAgICAgICAqIGluc3BlY3Rv
ci9wcm90b2NvbC9QYWdlLmpzb246CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTG9hZGVyOjp1c2VyQWdlbnQpOgorCiAyMDE0LTAxLTA3
ICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFRlYWNo
IE1lZGlhU2Vzc2lvbk1hbmFnZXIgdG8gbWFuYWdlIGludGVycnVwdGlvbnMKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
Q2hhbmdlTG9nCmluZGV4IDkzZWJlYjY4NmZlZmFkNzIwZWMzZjJlYmVlOWEyMmU4OTRhMjVjOGUu
LjM1MDAyMGM1YTAyNjUyZDZiMzA2MjNkYTc0MzdiYTljYzAxNjJiZWEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTAxLTA4ICBTZW9ranUgS3dvbiAgPHNl
b2tqdUB3ZWJraXQub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJlbW92ZSB1bnVzZWQg
b3ZlcnJpZGluZyBwcm90b2NvbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMjY2MzAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBVcGRhdGUgSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzIGFmdGVy
IHJlbW92aW5nIHVudXNlZCBvdmVycmlkaW5nIHByb3RvY29scy4KKworICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzOgorICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvTGVnYWN5LzYuMC9JbnNwZWN0b3JXZWJCYWNrZW5kQ29tbWFuZHMuanM6CisgICAg
ICAgICogVXNlckludGVyZmFjZS9MZWdhY3kvNy4wL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5k
cy5qczoKKyAgICAgICAgKiBWZXJzaW9ucy9JbnNwZWN0b3ItaU9TLTYuMC5qc29uOgorICAgICAg
ICAqIFZlcnNpb25zL0luc3BlY3Rvci1pT1MtNy4wLmpzb246CisKIDIwMTQtMDEtMDcgIEpvc2Vw
aCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVjdG9y
OiBUeXBvICJjbGlwYm9hclByZWZpeFN0cmluZyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb25Db250cm9sbGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9jYXRpb25Db250cm9sbGVyLmNwcAppbmRl
eCA3YzczZWM5NzdjY2Y2ZjJjYWUxODkyOGI5OGMxYzQzODZkMmQzMjc4Li45YWI2Y2M5YjNjODcz
NjQ1N2I0NDIzNmEyNDc3NGRjMWQ2M2Q5OWJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwCkBA
IC0zMSw3ICszMSw2IEBACiAjaW5jbHVkZSAiR2VvbG9jYXRpb25DbGllbnQuaCIKICNpbmNsdWRl
ICJHZW9sb2NhdGlvbkVycm9yLmgiCiAjaW5jbHVkZSAiR2VvbG9jYXRpb25Qb3NpdGlvbi5oIgot
I2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTEwMSwxMSArMTAwLDYgQEAgdm9pZCBHZW9sb2NhdGlvbkNvbnRyb2xsZXI6OmNh
bmNlbFBlcm1pc3Npb25SZXF1ZXN0KEdlb2xvY2F0aW9uKiBnZW9sb2NhdGlvbikKIAogdm9pZCBH
ZW9sb2NhdGlvbkNvbnRyb2xsZXI6OnBvc2l0aW9uQ2hhbmdlZChHZW9sb2NhdGlvblBvc2l0aW9u
KiBwb3NpdGlvbikKIHsKLSAgICBwb3NpdGlvbiA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
b3ZlcnJpZGVHZW9sb2NhdGlvblBvc2l0aW9uKG1fcGFnZSwgcG9zaXRpb24pOwotICAgIGlmICgh
cG9zaXRpb24pIHsKLSAgICAgICAgZXJyb3JPY2N1cnJlZChHZW9sb2NhdGlvbkVycm9yOjpjcmVh
dGUoR2VvbG9jYXRpb25FcnJvcjo6UG9zaXRpb25VbmF2YWlsYWJsZSwgQVNDSUlMaXRlcmFsKCJQ
b3NpdGlvblVuYXZhaWxhYmxlIikpLmdldCgpKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KICAg
ICBtX2xhc3RQb3NpdGlvbiA9IHBvc2l0aW9uOwogICAgIFZlY3RvcjxSZWZQdHI8R2VvbG9jYXRp
b24+PiBvYnNlcnZlcnNWZWN0b3I7CiAgICAgY29weVRvVmVjdG9yKG1fb2JzZXJ2ZXJzLCBvYnNl
cnZlcnNWZWN0b3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVu
dGF0aW9uQ29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRp
b25Db250cm9sbGVyLmNwcAppbmRleCBmZjdiMDA0ZGQ3ZDViNWQ1NGVkMTM2MDcyZGI4MjMyMDY4
NGJiM2RjLi5jNzk0ZmUyNzliZmQ2ODRhZjQyYjNmYWNjMTA2ZmZmYmMyNDYzMmU3IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcApA
QCAtMzAsNyArMzAsNyBAQAogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQ2xpZW50LmgiCiAj
aW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25EYXRhLmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50
YXRpb25FdmVudC5oIgotI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgorI2lu
Y2x1ZGUgIlBhZ2UuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01Nyw3ICs1Nyw2IEBA
IFBhc3NPd25QdHI8RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyPiBEZXZpY2VPcmllbnRhdGlv
bkNvbnRyb2xsZXI6OmNyZWF0ZShQYWdlCiAKIHZvaWQgRGV2aWNlT3JpZW50YXRpb25Db250cm9s
bGVyOjpkaWRDaGFuZ2VEZXZpY2VPcmllbnRhdGlvbihEZXZpY2VPcmllbnRhdGlvbkRhdGEqIG9y
aWVudGF0aW9uKQogewotICAgIG9yaWVudGF0aW9uID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9u
OjpvdmVycmlkZURldmljZU9yaWVudGF0aW9uKG1fcGFnZSwgb3JpZW50YXRpb24pOwogICAgIGRp
c3BhdGNoRGV2aWNlRXZlbnQoRGV2aWNlT3JpZW50YXRpb25FdmVudDo6Y3JlYXRlKGV2ZW50TmFt
ZXMoKS5kZXZpY2VvcmllbnRhdGlvbkV2ZW50LCBvcmllbnRhdGlvbikpOwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3Bw
CmluZGV4IGUwZDU4NzUzYjQ0ZDgwZWRjNzdkYTczYzI3YzNkYzM5ZWVlMjkxODAuLjg1NTk5NmM5
OWM0YTQ0N2Q0MWNmM2NmY2I2ZGQxOGE0ZmExMDQyMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCkBAIC00MSw3ICs0
MSw2IEBACiAjaW5jbHVkZSAiRE9NV2luZG93LmgiCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxk
LmgiCiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKLSNpbmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkRh
dGEuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAj
aW5jbHVkZSAiRXZlbnREaXNwYXRjaGVyLmgiCkBAIC02MTksMTIgKzYxOCw2IEBAIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRQcm9jZXNzUnVsZUltcGwoY29uc3QgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uCiAgICAgICAgIGNzc0FnZW50LT5kaWRQcm9jZXNzUnVsZSgpOwogfQog
Ci12b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YXBwbHlVc2VyQWdlbnRPdmVycmlkZUlt
cGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgU3RyaW5nKiB1c2Vy
QWdlbnQpCi17Ci0gICAgaWYgKEluc3BlY3RvclJlc291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQg
PSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JSZXNvdXJjZUFnZW50KCkpCi0gICAgICAg
IHJlc291cmNlQWdlbnQtPmFwcGx5VXNlckFnZW50T3ZlcnJpZGUodXNlckFnZW50KTsKLX0KLQog
dm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFwcGx5RW11bGF0ZWRNZWRpYUltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgU3RyaW5nKiBtZWRpYSkKIHsK
ICAgICBpZiAoSW5zcGVjdG9yUGFnZUFnZW50KiBwYWdlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdl
bnRzLT5pbnNwZWN0b3JQYWdlQWdlbnQoKSkKQEAgLTEyOTgsMjIgKzEyOTEsNiBAQCBJbnN0cnVt
ZW50aW5nQWdlbnRzKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omluc3RydW1lbnRpbmdBZ2Vu
dHNGb3JOb25Eb2N1bWVudAogICAgIHJldHVybiAwOwogfQogCi0jaWYgRU5BQkxFKEdFT0xPQ0FU
SU9OKQotR2VvbG9jYXRpb25Qb3NpdGlvbiogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpvdmVy
cmlkZUdlb2xvY2F0aW9uUG9zaXRpb25JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1l
bnRpbmdBZ2VudHMsIEdlb2xvY2F0aW9uUG9zaXRpb24qIHBvc2l0aW9uKQotewotICAgIGlmIChJ
bnNwZWN0b3JQYWdlQWdlbnQqIHBhZ2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3Bl
Y3RvclBhZ2VBZ2VudCgpKQotICAgICAgICBwb3NpdGlvbiA9IHBhZ2VBZ2VudC0+b3ZlcnJpZGVH
ZW9sb2NhdGlvblBvc2l0aW9uKHBvc2l0aW9uKTsKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0j
ZW5kaWYKLQotRGV2aWNlT3JpZW50YXRpb25EYXRhKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
Om92ZXJyaWRlRGV2aWNlT3JpZW50YXRpb25JbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3Ry
dW1lbnRpbmdBZ2VudHMsIERldmljZU9yaWVudGF0aW9uRGF0YSogZGV2aWNlT3JpZW50YXRpb24p
Ci17Ci0gICAgaWYgKEluc3BlY3RvclBhZ2VBZ2VudCogcGFnZUFnZW50ID0gaW5zdHJ1bWVudGlu
Z0FnZW50cy0+aW5zcGVjdG9yUGFnZUFnZW50KCkpCi0gICAgICAgIGRldmljZU9yaWVudGF0aW9u
ID0gcGFnZUFnZW50LT5vdmVycmlkZURldmljZU9yaWVudGF0aW9uKGRldmljZU9yaWVudGF0aW9u
KTsKLSAgICByZXR1cm4gZGV2aWNlT3JpZW50YXRpb247Ci19Ci0KICNpZiBVU0UoQUNDRUxFUkFU
RURfQ09NUE9TSVRJTkcpCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bGF5ZXJUcmVl
RGlkQ2hhbmdlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oCmluZGV4IGFhMWFjZWRkMmFmOTE2NGJmMjc2MmY3NDY4Nzk2OTYyNzc0YTRiYmYuLjZi
ZjM0YThlNjhiMmU3MzM2ZDFmOWNmZjUyZjhmMDA1Nzc3YTJmNTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTYxLDgg
KzYxLDYgQEAgY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBFbGVtZW50OwogY2xhc3MgRG9jdW1lbnRM
b2FkZXI7CiBjbGFzcyBEb2N1bWVudFN0eWxlU2hlZXRDb2xsZWN0aW9uOwotY2xhc3MgRGV2aWNl
T3JpZW50YXRpb25EYXRhOwotY2xhc3MgR2VvbG9jYXRpb25Qb3NpdGlvbjsKIGNsYXNzIEdyYXBo
aWNzQ29udGV4dDsKIGNsYXNzIEhUVFBIZWFkZXJNYXA7CiBjbGFzcyBJbnNwZWN0b3JDU1NBZ2Vu
dDsKQEAgLTE4NSw3ICsxODMsNiBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbkNvb2tpZSB3aWxsUHJvY2Vzc1J1bGUoRG9jdW1lbnQqLCBTdHlsZVJ1bGUqLCBT
dHlsZVJlc29sdmVyJik7CiAgICAgc3RhdGljIHZvaWQgZGlkUHJvY2Vzc1J1bGUoY29uc3QgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAKLSAgICBzdGF0aWMgdm9pZCBhcHBseVVz
ZXJBZ2VudE92ZXJyaWRlKEZyYW1lKiwgU3RyaW5nKik7CiAgICAgc3RhdGljIHZvaWQgYXBwbHlF
bXVsYXRlZE1lZGlhKEZyYW1lKiwgU3RyaW5nKik7CiAgICAgc3RhdGljIHZvaWQgd2lsbFNlbmRS
ZXF1ZXN0KEZyYW1lKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlcios
IFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9u
c2UpOwogICAgIHN0YXRpYyB2b2lkIGNvbnRpbnVlQWZ0ZXJQaW5nTG9hZGVyKEZyYW1lKiwgdW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciosIFJlc291cmNlUmVxdWVzdCYs
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKQEAgLTI5OCwxNSArMjk1LDkgQEAgcHVibGljOgog
ICAgIHN0YXRpYyBib29sIHRpbWVsaW5lQWdlbnRFbmFibGVkKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQqKSB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoR0VPTE9DQVRJT04p
Ci0gICAgc3RhdGljIEdlb2xvY2F0aW9uUG9zaXRpb24qIG92ZXJyaWRlR2VvbG9jYXRpb25Qb3Np
dGlvbihQYWdlKiwgR2VvbG9jYXRpb25Qb3NpdGlvbiopOwotI2VuZGlmCi0KICAgICBzdGF0aWMg
dm9pZCByZWdpc3Rlckluc3RydW1lbnRpbmdBZ2VudHMoSW5zdHJ1bWVudGluZ0FnZW50cyopOwog
ICAgIHN0YXRpYyB2b2lkIHVucmVnaXN0ZXJJbnN0cnVtZW50aW5nQWdlbnRzKEluc3RydW1lbnRp
bmdBZ2VudHMqKTsKIAotICAgIHN0YXRpYyBEZXZpY2VPcmllbnRhdGlvbkRhdGEqIG92ZXJyaWRl
RGV2aWNlT3JpZW50YXRpb24oUGFnZSosIERldmljZU9yaWVudGF0aW9uRGF0YSopOwotCiAjaWYg
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIHN0YXRpYyB2b2lkIGxheWVyVHJlZURp
ZENoYW5nZShQYWdlKik7CiAgICAgc3RhdGljIHZvaWQgcmVuZGVyTGF5ZXJEZXN0cm95ZWQoUGFn
ZSosIGNvbnN0IFJlbmRlckxheWVyKik7CkBAIC0zODIsNyArMzczLDYgQEAgcHJpdmF0ZToKICAg
ICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxQcm9jZXNzUnVsZUlt
cGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFN0eWxlUnVsZSosIFN0eWxlUmVzb2x2ZXImKTsKICAg
ICBzdGF0aWMgdm9pZCBkaWRQcm9jZXNzUnVsZUltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uQ29va2llJik7CiAKLSAgICBzdGF0aWMgdm9pZCBhcHBseVVzZXJBZ2VudE92ZXJyaWRl
SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgU3RyaW5nKik7CiAgICAgc3RhdGljIHZvaWQgYXBw
bHlFbXVsYXRlZE1lZGlhSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgU3RyaW5nKik7CiAgICAg
c3RhdGljIHZvaWQgd2lsbFNlbmRSZXF1ZXN0SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgdW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciosIFJlc291cmNlUmVxdWVzdCYs
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpOwogICAgIHN0YXRpYyB2
b2lkIGNvbnRpbnVlQWZ0ZXJQaW5nTG9hZGVySW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgdW5z
aWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciosIFJlc291cmNlUmVxdWVzdCYs
IGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKQEAgLTQ4NSwxMiArNDc1LDYgQEAgcHJpdmF0ZToK
ICAgICBzdGF0aWMgdm9pZCBjYW5jZWxQYXVzZU9uTmF0aXZlRXZlbnQoSW5zdHJ1bWVudGluZ0Fn
ZW50cyopOwogICAgIHN0YXRpYyBJbnNwZWN0b3JUaW1lbGluZUFnZW50KiByZXRyaWV2ZVRpbWVs
aW5lQWdlbnQoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAKLSNpZiBF
TkFCTEUoR0VPTE9DQVRJT04pCi0gICAgc3RhdGljIEdlb2xvY2F0aW9uUG9zaXRpb24qIG92ZXJy
aWRlR2VvbG9jYXRpb25Qb3NpdGlvbkltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIEdlb2xvY2F0
aW9uUG9zaXRpb24qKTsKLSNlbmRpZgotCi0gICAgc3RhdGljIERldmljZU9yaWVudGF0aW9uRGF0
YSogb3ZlcnJpZGVEZXZpY2VPcmllbnRhdGlvbkltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIERl
dmljZU9yaWVudGF0aW9uRGF0YSopOwotCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5H
KQogICAgIHN0YXRpYyB2b2lkIGxheWVyVHJlZURpZENoYW5nZUltcGwoSW5zdHJ1bWVudGluZ0Fn
ZW50cyopOwogICAgIHN0YXRpYyB2b2lkIHJlbmRlckxheWVyRGVzdHJveWVkSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzKiwgY29uc3QgUmVuZGVyTGF5ZXIqKTsKQEAgLTEyNjEsMTggKzEyNDUsNiBA
QCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFByb2Nlc3NSdWxlKGNv
bnN0IEluc3BlY3Rvckluc3RydW1lbnRhdAogI2VuZGlmCiB9CiAKLWlubGluZSB2b2lkIEluc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbjo6YXBwbHlVc2VyQWdlbnRPdmVycmlkZShGcmFtZSogZnJhbWUs
IFN0cmluZyogdXNlckFnZW50KQotewotI2lmIEVOQUJMRShJTlNQRUNUT1IpCi0gICAgRkFTVF9S
RVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7Ci0gICAgaWYgKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJh
bWUpKQotICAgICAgICBhcHBseVVzZXJBZ2VudE92ZXJyaWRlSW1wbChpbnN0cnVtZW50aW5nQWdl
bnRzLCB1c2VyQWdlbnQpOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0oZnJhbWUpOwotICAgIFVO
VVNFRF9QQVJBTSh1c2VyQWdlbnQpOwotI2VuZGlmCi19Ci0KIGlubGluZSB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6YXBwbHlFbXVsYXRlZE1lZGlhKEZyYW1lKiBmcmFtZSwgU3RyaW5n
KiBtZWRpYSkKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQpAQCAtMTk1NSwzMiArMTkyNyw2IEBA
IGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkRmlyZUFuaW1hdGlvbkZy
YW1lKGNvbnN0IEluc3BlY3Rvckluc3RyCiAjZW5kaWYKIH0KIAotI2lmIEVOQUJMRShHRU9MT0NB
VElPTikKLWlubGluZSBHZW9sb2NhdGlvblBvc2l0aW9uKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRp
b246Om92ZXJyaWRlR2VvbG9jYXRpb25Qb3NpdGlvbihQYWdlKiBwYWdlLCBHZW9sb2NhdGlvblBv
c2l0aW9uKiBwb3NpdGlvbikKLXsKLSNpZiBFTkFCTEUoSU5TUEVDVE9SKQotICAgIEZBU1RfUkVU
VVJOX0lGX05PX0ZST05URU5EUyhwb3NpdGlvbik7Ci0gICAgaWYgKEluc3RydW1lbnRpbmdBZ2Vu
dHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdl
KSkKLSAgICAgICAgcmV0dXJuIG92ZXJyaWRlR2VvbG9jYXRpb25Qb3NpdGlvbkltcGwoaW5zdHJ1
bWVudGluZ0FnZW50cywgcG9zaXRpb24pOwotI2Vsc2UKLSAgICBVTlVTRURfUEFSQU0ocGFnZSk7
Ci0jZW5kaWYKLSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0jZW5kaWYKLQotaW5saW5lIERldmlj
ZU9yaWVudGF0aW9uRGF0YSogSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpvdmVycmlkZURldmlj
ZU9yaWVudGF0aW9uKFBhZ2UqIHBhZ2UsIERldmljZU9yaWVudGF0aW9uRGF0YSogZGV2aWNlT3Jp
ZW50YXRpb24pCi17Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLSAgICBGQVNUX1JFVFVSTl9JRl9O
T19GUk9OVEVORFMoZGV2aWNlT3JpZW50YXRpb24pOwotICAgIGlmIChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFn
ZSkpCi0gICAgICAgIHJldHVybiBvdmVycmlkZURldmljZU9yaWVudGF0aW9uSW1wbChpbnN0cnVt
ZW50aW5nQWdlbnRzLCBkZXZpY2VPcmllbnRhdGlvbik7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJB
TShwYWdlKTsKLSNlbmRpZgotICAgIHJldHVybiBkZXZpY2VPcmllbnRhdGlvbjsKLX0KLQogI2lm
IFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbjo6bGF5ZXJUcmVlRGlkQ2hhbmdlKFBhZ2UqIHBhZ2UpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCmluZGV4IDEyZDBiN2U3
OGU4Mzg1OTQ4Yjg2MTI0ZmU2NWZmNTE3Y2U1ZTZlMjUuLjEwODM1YzQ1NjQ5ZTM5NThkM2VhMjNm
MjE1YWE4Y2FmMTE2NTM5ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQYWdlQWdlbnQuY3BwCkBAIC00NiwxNSArNDYsMTIgQEAKICNpbmNsdWRlICJET01JbXBs
ZW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkRPTVBhdGNoU3VwcG9ydC5oIgogI2luY2x1ZGUgIkRP
TVdyYXBwZXJXb3JsZC5oIgotI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5o
IgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNp
bmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJh
bWVTbmFwc2hvdHRpbmcuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKLSNpbmNsdWRlICJHZW9s
b2NhdGlvbkNvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJHZW9sb2NhdGlvbkVycm9yLmgiCiAjaW5j
bHVkZSAiSFRNTEZyYW1lT3duZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAj
aW5jbHVkZSAiSWRlbnRpZmllcnNGYWN0b3J5LmgiCkBAIC0zNjMsNyArMzYwLDYgQEAgSW5zcGVj
dG9yUGFnZUFnZW50OjpJbnNwZWN0b3JQYWdlQWdlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5z
dHJ1bWVudGluZ0FnZW50cywKICAgICAsIG1fZW5hYmxlZChmYWxzZSkKICAgICAsIG1faXNGaXJz
dExheW91dEFmdGVyT25Mb2FkKGZhbHNlKQogICAgICwgbV9vcmlnaW5hbFNjcmlwdEV4ZWN1dGlv
bkRpc2FibGVkKGZhbHNlKQotICAgICwgbV9nZW9sb2NhdGlvbk92ZXJyaWRkZW4oZmFsc2UpCiAg
ICAgLCBtX2lnbm9yZVNjcmlwdHNFbmFibGVkTm90aWZpY2F0aW9uKGZhbHNlKQogICAgICwgbV9z
aG93UGFpbnRSZWN0cyhmYWxzZSkKIHsKQEAgLTEwMzIsMTA2ICsxMDI4LDYgQEAgdm9pZCBJbnNw
ZWN0b3JQYWdlQWdlbnQ6OnVwZGF0ZVRvdWNoRXZlbnRFbXVsYXRpb25JblBhZ2UoYm9vbCBlbmFi
bGVkKQogfQogI2VuZGlmCiAKLXZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpzZXRHZW9sb2NhdGlv
bk92ZXJyaWRlKEVycm9yU3RyaW5nKiBlcnJvciwgY29uc3QgZG91YmxlKiBsYXRpdHVkZSwgY29u
c3QgZG91YmxlKiBsb25naXR1ZGUsIGNvbnN0IGRvdWJsZSogYWNjdXJhY3kpCi17Ci0jaWYgRU5B
QkxFIChHRU9MT0NBVElPTikKLSAgICBHZW9sb2NhdGlvbkNvbnRyb2xsZXIqIGNvbnRyb2xsZXIg
PSBHZW9sb2NhdGlvbkNvbnRyb2xsZXI6OmZyb20obV9wYWdlKTsKLSAgICBHZW9sb2NhdGlvblBv
c2l0aW9uKiBwb3NpdGlvbiA9IDA7Ci0gICAgaWYgKCFjb250cm9sbGVyKSB7Ci0gICAgICAgICpl
cnJvciA9ICJJbnRlcm5hbCBlcnJvcjogdW5hYmxlIHRvIG92ZXJyaWRlIGdlb2xvY2F0aW9uIjsK
LSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBwb3NpdGlvbiA9IGNvbnRyb2xsZXItPmxhc3RQ
b3NpdGlvbigpOwotICAgIGlmICghbV9nZW9sb2NhdGlvbk92ZXJyaWRkZW4gJiYgcG9zaXRpb24p
Ci0gICAgICAgIG1fcGxhdGZvcm1HZW9sb2NhdGlvblBvc2l0aW9uID0gcG9zaXRpb247Ci0KLSAg
ICBtX2dlb2xvY2F0aW9uT3ZlcnJpZGRlbiA9IHRydWU7Ci0gICAgaWYgKGxhdGl0dWRlICYmIGxv
bmdpdHVkZSAmJiBhY2N1cmFjeSkKLSAgICAgICAgbV9nZW9sb2NhdGlvblBvc2l0aW9uID0gR2Vv
bG9jYXRpb25Qb3NpdGlvbjo6Y3JlYXRlKGN1cnJlbnRUaW1lTVMoKSwgKmxhdGl0dWRlLCAqbG9u
Z2l0dWRlLCAqYWNjdXJhY3kpOwotICAgIGVsc2UKLSAgICAgICAgbV9nZW9sb2NhdGlvblBvc2l0
aW9uLmNsZWFyKCk7Ci0KLSAgICBjb250cm9sbGVyLT5wb3NpdGlvbkNoYW5nZWQoMCk7IC8vIEtp
Y2sgbG9jYXRpb24gdXBkYXRlLgotI2Vsc2UKLSAgICAqZXJyb3IgPSAiR2VvbG9jYXRpb24gaXMg
bm90IGF2YWlsYWJsZSI7Ci0gICAgVU5VU0VEX1BBUkFNKGxhdGl0dWRlKTsKLSAgICBVTlVTRURf
UEFSQU0obG9uZ2l0dWRlKTsKLSAgICBVTlVTRURfUEFSQU0oYWNjdXJhY3kpOwotI2VuZGlmCi19
Ci0KLXZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpjbGVhckdlb2xvY2F0aW9uT3ZlcnJpZGUoRXJy
b3JTdHJpbmcqIGVycm9yKQotewotICAgIGlmICghbV9nZW9sb2NhdGlvbk92ZXJyaWRkZW4pCi0g
ICAgICAgIHJldHVybjsKLSNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCi0gICAgVU5VU0VEX1BBUkFN
KGVycm9yKTsKLSAgICBtX2dlb2xvY2F0aW9uT3ZlcnJpZGRlbiA9IGZhbHNlOwotICAgIG1fZ2Vv
bG9jYXRpb25Qb3NpdGlvbi5jbGVhcigpOwotCi0gICAgR2VvbG9jYXRpb25Db250cm9sbGVyKiBj
b250cm9sbGVyID0gR2VvbG9jYXRpb25Db250cm9sbGVyOjpmcm9tKG1fcGFnZSk7Ci0gICAgaWYg
KGNvbnRyb2xsZXIgJiYgbV9wbGF0Zm9ybUdlb2xvY2F0aW9uUG9zaXRpb24uZ2V0KCkpCi0gICAg
ICAgIGNvbnRyb2xsZXItPnBvc2l0aW9uQ2hhbmdlZChtX3BsYXRmb3JtR2VvbG9jYXRpb25Qb3Np
dGlvbi5nZXQoKSk7Ci0jZWxzZQotICAgICplcnJvciA9ICJHZW9sb2NhdGlvbiBpcyBub3QgYXZh
aWxhYmxlIjsKLSNlbmRpZgotfQotCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6Y2FuT3ZlcnJp
ZGVHZW9sb2NhdGlvbihFcnJvclN0cmluZyosIGJvb2wqIG91dF9wYXJhbSkKLXsKLSNpZiBFTkFC
TEUoR0VPTE9DQVRJT04pCi0gICAgKm91dF9wYXJhbSA9IHRydWU7Ci0jZWxzZQotICAgICpvdXRf
cGFyYW0gPSBmYWxzZTsKLSNlbmRpZgotfQotCi1HZW9sb2NhdGlvblBvc2l0aW9uKiBJbnNwZWN0
b3JQYWdlQWdlbnQ6Om92ZXJyaWRlR2VvbG9jYXRpb25Qb3NpdGlvbihHZW9sb2NhdGlvblBvc2l0
aW9uKiBwb3NpdGlvbikKLXsKLSAgICBpZiAobV9nZW9sb2NhdGlvbk92ZXJyaWRkZW4pIHsKLSAg
ICAgICAgaWYgKHBvc2l0aW9uKQotICAgICAgICAgICAgbV9wbGF0Zm9ybUdlb2xvY2F0aW9uUG9z
aXRpb24gPSBwb3NpdGlvbjsKLSAgICAgICAgcmV0dXJuIG1fZ2VvbG9jYXRpb25Qb3NpdGlvbi5n
ZXQoKTsKLSAgICB9Ci0gICAgcmV0dXJuIHBvc2l0aW9uOwotfQotCi12b2lkIEluc3BlY3RvclBh
Z2VBZ2VudDo6c2V0RGV2aWNlT3JpZW50YXRpb25PdmVycmlkZShFcnJvclN0cmluZyogZXJyb3Is
IGRvdWJsZSBhbHBoYSwgZG91YmxlIGJldGEsIGRvdWJsZSBnYW1tYSkKLXsKLSAgICBEZXZpY2VP
cmllbnRhdGlvbkNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBEZXZpY2VPcmllbnRhdGlvbkNvbnRy
b2xsZXI6OmZyb20obV9wYWdlKTsKLSAgICBpZiAoIWNvbnRyb2xsZXIpIHsKLSAgICAgICAgKmVy
cm9yID0gIkludGVybmFsIGVycm9yOiB1bmFibGUgdG8gb3ZlcnJpZGUgZGV2aWNlIG9yaWVudGF0
aW9uIjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIEVycm9yU3RyaW5nIGNsZWFyRXJy
b3I7Ci0gICAgY2xlYXJEZXZpY2VPcmllbnRhdGlvbk92ZXJyaWRlKCZjbGVhckVycm9yKTsKLQot
ICAgIG1fZGV2aWNlT3JpZW50YXRpb24gPSBEZXZpY2VPcmllbnRhdGlvbkRhdGE6OmNyZWF0ZSh0
cnVlLCBhbHBoYSwgdHJ1ZSwgYmV0YSwgdHJ1ZSwgZ2FtbWEpOwotICAgIGNvbnRyb2xsZXItPmRp
ZENoYW5nZURldmljZU9yaWVudGF0aW9uKG1fZGV2aWNlT3JpZW50YXRpb24uZ2V0KCkpOwotfQot
Ci12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6Y2xlYXJEZXZpY2VPcmllbnRhdGlvbk92ZXJyaWRl
KEVycm9yU3RyaW5nKikKLXsKLSAgICBtX2RldmljZU9yaWVudGF0aW9uLmNsZWFyKCk7Ci19Ci0K
LXZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpjYW5PdmVycmlkZURldmljZU9yaWVudGF0aW9uKEVy
cm9yU3RyaW5nKiwgYm9vbCogb3V0UGFyYW0pCi17Ci0jaWYgRU5BQkxFKERFVklDRV9PUklFTlRB
VElPTikKLSAgICAqb3V0UGFyYW0gPSB0cnVlOwotI2Vsc2UKLSAgICAqb3V0UGFyYW0gPSBmYWxz
ZTsKLSNlbmRpZgotfQotCi1EZXZpY2VPcmllbnRhdGlvbkRhdGEqIEluc3BlY3RvclBhZ2VBZ2Vu
dDo6b3ZlcnJpZGVEZXZpY2VPcmllbnRhdGlvbihEZXZpY2VPcmllbnRhdGlvbkRhdGEqIGRldmlj
ZU9yaWVudGF0aW9uKQotewotICAgIGlmIChtX2RldmljZU9yaWVudGF0aW9uKQotICAgICAgICBk
ZXZpY2VPcmllbnRhdGlvbiA9IG1fZGV2aWNlT3JpZW50YXRpb24uZ2V0KCk7Ci0gICAgcmV0dXJu
IGRldmljZU9yaWVudGF0aW9uOwotfQotCiB2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6c2V0VG91
Y2hFbXVsYXRpb25FbmFibGVkKEVycm9yU3RyaW5nKiBlcnJvciwgYm9vbCBlbmFibGVkKQogewog
I2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUGFnZUFnZW50LmgKaW5kZXggMDA0OTYwNzAxZmU4NWUzY2JmMTc4MzNiNGU0MmE5NDNl
YmZmNzBjYi4uNzA4NmI4NTQ0MTM0NzVjM2RjNGJiZGRlMTAwZWQ3Zjg3YmFlNGI2ZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaApAQCAtMzMsOCAr
MzMsNiBAQAogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIAotI2luY2x1ZGUgIkRldmljZU9yaWVu
dGF0aW9uRGF0YS5oIgotI2luY2x1ZGUgIkdlb2xvY2F0aW9uUG9zaXRpb24uaCIKICNpbmNsdWRl
ICJJbnNwZWN0b3JXZWJBZ2VudEJhc2UuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JXZWJCYWNrZW5k
RGlzcGF0Y2hlcnMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JXZWJGcm9udGVuZERpc3BhdGNoZXJz
LmgiCkBAIC0xMjEsMTIgKzExOSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29u
dGludW91c1BhaW50aW5nRW5hYmxlZChFcnJvclN0cmluZyosIGJvb2wgZW5hYmxlZCk7CiAgICAg
dmlydHVhbCB2b2lkIGdldFNjcmlwdEV4ZWN1dGlvblN0YXR1cyhFcnJvclN0cmluZyosIEluc3Bl
Y3Rvcjo6SW5zcGVjdG9yUGFnZUJhY2tlbmREaXNwYXRjaGVySGFuZGxlcjo6UmVzdWx0OjpFbnVt
Kik7CiAgICAgdmlydHVhbCB2b2lkIHNldFNjcmlwdEV4ZWN1dGlvbkRpc2FibGVkKEVycm9yU3Ry
aW5nKiwgYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lkIHNldEdlb2xvY2F0aW9uT3ZlcnJpZGUoRXJy
b3JTdHJpbmcqLCBjb25zdCBkb3VibGUqLCBjb25zdCBkb3VibGUqLCBjb25zdCBkb3VibGUqKTsK
LSAgICB2aXJ0dWFsIHZvaWQgY2xlYXJHZW9sb2NhdGlvbk92ZXJyaWRlKEVycm9yU3RyaW5nKik7
Ci0gICAgdmlydHVhbCB2b2lkIGNhbk92ZXJyaWRlR2VvbG9jYXRpb24oRXJyb3JTdHJpbmcqLCBi
b29sKiBvdXRfcGFyYW0pOwotICAgIHZpcnR1YWwgdm9pZCBzZXREZXZpY2VPcmllbnRhdGlvbk92
ZXJyaWRlKEVycm9yU3RyaW5nKiwgZG91YmxlLCBkb3VibGUsIGRvdWJsZSk7Ci0gICAgdmlydHVh
bCB2b2lkIGNsZWFyRGV2aWNlT3JpZW50YXRpb25PdmVycmlkZShFcnJvclN0cmluZyopOwotICAg
IHZpcnR1YWwgdm9pZCBjYW5PdmVycmlkZURldmljZU9yaWVudGF0aW9uKEVycm9yU3RyaW5nKiwg
Ym9vbCopOwogICAgIHZpcnR1YWwgdm9pZCBzZXRUb3VjaEVtdWxhdGlvbkVuYWJsZWQoRXJyb3JT
dHJpbmcqLCBib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0RW11bGF0ZWRNZWRpYShFcnJvclN0
cmluZyosIGNvbnN0IFN0cmluZyYpOwogICAgIHZpcnR1YWwgdm9pZCBnZXRDb21wb3NpdGluZ0Jv
cmRlcnNWaXNpYmxlKEVycm9yU3RyaW5nKiwgYm9vbCogb3V0X3BhcmFtKTsKQEAgLTEzNiwxMiAr
MTI4LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBoYW5kbGVKYXZhU2NyaXB0RGlhbG9n
KEVycm9yU3RyaW5nKiwgYm9vbCBhY2NlcHQsIGNvbnN0IFN0cmluZyogcHJvbXB0VGV4dCk7CiAg
ICAgdmlydHVhbCB2b2lkIGFyY2hpdmUoRXJyb3JTdHJpbmcqLCBTdHJpbmcqIGRhdGEpOwogCi0g
ICAgLy8gR2VvbG9jYXRpb24gb3ZlcnJpZGUgaGVscGVycy4KLSAgICBHZW9sb2NhdGlvblBvc2l0
aW9uKiBvdmVycmlkZUdlb2xvY2F0aW9uUG9zaXRpb24oR2VvbG9jYXRpb25Qb3NpdGlvbiopOwot
Ci0gICAgLy8gRGV2aWNlT3JpZW50YXRpb24gaGVscGVyCi0gICAgRGV2aWNlT3JpZW50YXRpb25E
YXRhKiBvdmVycmlkZURldmljZU9yaWVudGF0aW9uKERldmljZU9yaWVudGF0aW9uRGF0YSopOwot
CiAgICAgLy8gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uIEFQSQogICAgIHZvaWQgZGlkQ2xlYXJX
aW5kb3dPYmplY3RJbldvcmxkKEZyYW1lKiwgRE9NV3JhcHBlcldvcmxkJik7CiAgICAgdm9pZCBk
b21Db250ZW50RXZlbnRGaXJlZCgpOwpAQCAtMjA4LDE0ICsxOTQsMTAgQEAgcHJpdmF0ZToKICAg
ICBib29sIG1fZW5hYmxlZDsKICAgICBib29sIG1faXNGaXJzdExheW91dEFmdGVyT25Mb2FkOwog
ICAgIGJvb2wgbV9vcmlnaW5hbFNjcmlwdEV4ZWN1dGlvbkRpc2FibGVkOwotICAgIGJvb2wgbV9n
ZW9sb2NhdGlvbk92ZXJyaWRkZW47CiAgICAgYm9vbCBtX2lnbm9yZVNjcmlwdHNFbmFibGVkTm90
aWZpY2F0aW9uOwogICAgIGJvb2wgbV9zaG93UGFpbnRSZWN0czsKICAgICBTdHJpbmcgbV9lbXVs
YXRlZE1lZGlhOwogICAgIFJlZlB0cjxJbnNwZWN0b3I6Okluc3BlY3Rvck9iamVjdD4gbV9zY3Jp
cHRzVG9FdmFsdWF0ZU9uTG9hZDsKLSAgICBSZWZQdHI8R2VvbG9jYXRpb25Qb3NpdGlvbj4gbV9n
ZW9sb2NhdGlvblBvc2l0aW9uOwotICAgIFJlZlB0cjxHZW9sb2NhdGlvblBvc2l0aW9uPiBtX3Bs
YXRmb3JtR2VvbG9jYXRpb25Qb3NpdGlvbjsKLSAgICBSZWZQdHI8RGV2aWNlT3JpZW50YXRpb25E
YXRhPiBtX2RldmljZU9yaWVudGF0aW9uOwogfTsKIAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKaW5kZXggN2Y4MmY1ZmY4NjJm
YTFlNDkzMmUzNzU1YzE2NmIwZWIyZjVjNzA2Ny4uMmQwN2YzMjRmMTc4MjAxOTJhN2YwZjM1NzVj
YjljMTIwZDA3YWM3MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvclJlc291cmNlQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JSZXNvdXJjZUFnZW50LmNwcApAQCAtNDE4LDEyICs0MTgsNiBAQCB2b2lkIEluc3BlY3Rv
clJlc291cmNlQWdlbnQ6OndpbGxEZXN0cm95Q2FjaGVkUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2Uq
IGNhY2hlZFJlcwogICAgICAgICBtX3Jlc291cmNlc0RhdGEtPnNldFJlc291cmNlQ29udGVudCgq
aXQsIGNvbnRlbnQsIGJhc2U2NEVuY29kZWQpOwogfQogCi12b2lkIEluc3BlY3RvclJlc291cmNl
QWdlbnQ6OmFwcGx5VXNlckFnZW50T3ZlcnJpZGUoU3RyaW5nKiB1c2VyQWdlbnQpCi17Ci0gICAg
aWYgKCFtX3VzZXJBZ2VudE92ZXJyaWRlLmlzTnVsbCgpKQotICAgICAgICAqdXNlckFnZW50ID0g
bV91c2VyQWdlbnRPdmVycmlkZTsKLX0KLQogdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojp3
aWxsUmVjYWxjdWxhdGVTdHlsZSgpCiB7CiAgICAgbV9pc1JlY2FsY3VsYXRpbmdTdHlsZSA9IHRy
dWU7CkBAIC01NDIsMTcgKzUzNiwxMSBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmVu
YWJsZSgpCiB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpc2FibGUoRXJyb3JTdHJpbmcq
KQogewogICAgIG1fZW5hYmxlZCA9IGZhbHNlOwotICAgIG1fdXNlckFnZW50T3ZlcnJpZGUgPSBT
dHJpbmcoKTsKICAgICBtX2luc3RydW1lbnRpbmdBZ2VudHMtPnNldEluc3BlY3RvclJlc291cmNl
QWdlbnQoMCk7CiAgICAgbV9yZXNvdXJjZXNEYXRhLT5jbGVhcigpOwogICAgIG1fZXh0cmFSZXF1
ZXN0SGVhZGVycy5jbGVhcigpOwogfQogCi12b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OnNl
dFVzZXJBZ2VudE92ZXJyaWRlKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQp
Ci17Ci0gICAgbV91c2VyQWdlbnRPdmVycmlkZSA9IHVzZXJBZ2VudDsKLX0KLQogdm9pZCBJbnNw
ZWN0b3JSZXNvdXJjZUFnZW50OjpzZXRFeHRyYUhUVFBIZWFkZXJzKEVycm9yU3RyaW5nKiwgY29u
c3QgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4mIGhlYWRlcnMpCiB7CiAgICAgbV9leHRyYVJlcXVl
c3RIZWFkZXJzID0gaGVhZGVyczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUmVzb3VyY2VBZ2VudC5oCmluZGV4IGRjNTA5MTdhMTFiOTExMDVmNjUxNWE5NzYyNzQy
ZTY2ZTEzY2U0NmEuLjU5ODM4NzQyYmU1ZGJkMzVkNTY0OWFjYjMyNzdiYzgwMjIyOGZiZjcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQu
aApAQCAtMTA4LDggKzEwOCw2IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgd2lsbERlc3Ryb3lDYWNo
ZWRSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSopOwogCi0gICAgdm9pZCBhcHBseVVzZXJBZ2VudE92
ZXJyaWRlKFN0cmluZyogdXNlckFnZW50KTsKLQogICAgIC8vIEZJWE1FOiBJbnNwZWN0b3JSZXNv
dXJjZUFnZW50IHNob3VsZCBub3cgYmUgYXdhcmUgb2Ygc3R5bGUgcmVjYWxjdWxhdGlvbi4KICAg
ICB2b2lkIHdpbGxSZWNhbGN1bGF0ZVN0eWxlKCk7CiAgICAgdm9pZCBkaWRSZWNhbGN1bGF0ZVN0
eWxlKCk7CkBAIC0xMzMsNyArMTMxLDYgQEAgcHVibGljOgogICAgIC8vIENhbGxlZCBmcm9tIGZy
b250ZW5kCiAgICAgdmlydHVhbCB2b2lkIGVuYWJsZShFcnJvclN0cmluZyopOwogICAgIHZpcnR1
YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKik7Ci0gICAgdmlydHVhbCB2b2lkIHNldFVzZXJB
Z2VudE92ZXJyaWRlKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpOwogICAg
IHZpcnR1YWwgdm9pZCBzZXRFeHRyYUhUVFBIZWFkZXJzKEVycm9yU3RyaW5nKiwgY29uc3QgUmVm
UHRyPEluc3BlY3Rvcjo6SW5zcGVjdG9yT2JqZWN0PiYpOwogICAgIHZpcnR1YWwgdm9pZCBnZXRS
ZXNwb25zZUJvZHkoRXJyb3JTdHJpbmcqLCBjb25zdCBTdHJpbmcmIHJlcXVlc3RJZCwgU3RyaW5n
KiBjb250ZW50LCBib29sKiBiYXNlNjRFbmNvZGVkKTsKIApAQCAtMTU0LDcgKzE1MSw2IEBAIHBy
aXZhdGU6CiAgICAgSW5zcGVjdG9yQ2xpZW50KiBtX2NsaWVudDsKICAgICBzdGQ6OnVuaXF1ZV9w
dHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JOZXR3b3JrRnJvbnRlbmREaXNwYXRjaGVyPiBtX2Zyb250
ZW5kRGlzcGF0Y2hlcjsKICAgICBSZWZQdHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JOZXR3b3JrQmFj
a2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3BhdGNoZXI7Ci0gICAgU3RyaW5nIG1fdXNlckFn
ZW50T3ZlcnJpZGU7CiAgICAgT3duUHRyPE5ldHdvcmtSZXNvdXJjZXNEYXRhPiBtX3Jlc291cmNl
c0RhdGE7CiAgICAgYm9vbCBtX2VuYWJsZWQ7CiAgICAgYm9vbCBtX2NhY2hlRGlzYWJsZWQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvTmV0d29yay5qc29u
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29sL05ldHdvcmsuanNvbgppbmRleCBl
YmUwY2U5NDAwZGVkNWRkYWUxNmRiOWZkZTRiNTllMzY5MWU2OTkwLi43OWJhYjdhOWVlMTY1MjM4
ZTc2YTJjMDkxMjc5YjI2MmY1MjkwNWM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvcHJvdG9jb2wvTmV0d29yay5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9wcm90b2NvbC9OZXR3b3JrLmpzb24KQEAgLTEzOCwxMyArMTM4LDYgQEAKICAgICAgICAgICAg
ICJkZXNjcmlwdGlvbiI6ICJEaXNhYmxlcyBuZXR3b3JrIHRyYWNraW5nLCBwcmV2ZW50cyBuZXR3
b3JrIGV2ZW50cyBmcm9tIGJlaW5nIHNlbnQgdG8gdGhlIGNsaWVudC4iCiAgICAgICAgIH0sCiAg
ICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogInNldFVzZXJBZ2VudE92ZXJyaWRlIiwKLSAg
ICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbGxvd3Mgb3ZlcnJpZGluZyB1c2VyIGFnZW50IHdp
dGggdGhlIGdpdmVuIHN0cmluZy4iLAotICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJ1c2VyQWdlbnQiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVz
Y3JpcHRpb24iOiAiVXNlciBhZ2VudCB0byB1c2UuIiB9Ci0gICAgICAgICAgICBdCi0gICAgICAg
IH0sCi0gICAgICAgIHsKICAgICAgICAgICAgICJuYW1lIjogInNldEV4dHJhSFRUUEhlYWRlcnMi
LAogICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNwZWNpZmllcyB3aGV0aGVyIHRvIGFsd2F5
cyBzZW5kIGV4dHJhIEhUVFAgaGVhZGVycyB3aXRoIHRoZSByZXF1ZXN0cyBmcm9tIHRoaXMgcGFn
ZS4iLAogICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL3Byb3RvY29sL1BhZ2UuanNvbgppbmRleCAwNTViYTI5ZjIwYTEwMDAyZjBlZDg4OGRkMGVm
ZTU0MmVjMDUzZThkLi5lNDVlMDk4MTY0NWYyOTgxMzJmMjgzYzM3ZDFlNmE4MzYyYzlhMDU4IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb24KQEAgLTI1NSw0
NiArMjU1LDYgQEAKICAgICAgICAgICAgIF0KICAgICAgICAgfSwKICAgICAgICAgewotICAgICAg
ICAgICAgIm5hbWUiOiAic2V0R2VvbG9jYXRpb25PdmVycmlkZSIsCi0gICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiT3ZlcnJpZGVzIHRoZSBHZW9sb2NhdGlvbiBQb3NpdGlvbiBvciBFcnJvci4i
LAotICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJsYXRpdHVkZSIsICJ0eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlw
dGlvbiI6ICJNb2NrIGxhdGl0dWRlIn0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsb25n
aXR1ZGUiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24i
OiAiTW9jayBsb25naXR1ZGUifSwKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogImFjY3VyYWN5
IiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIk1v
Y2sgYWNjdXJhY3kifQotICAgICAgICAgICAgXQotICAgICAgICB9LAotICAgICAgICB7Ci0gICAg
ICAgICAgICAibmFtZSI6ICJjbGVhckdlb2xvY2F0aW9uT3ZlcnJpZGUiLAotICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIkNsZWFycyB0aGUgb3ZlcnJpZGVuIEdlb2xvY2F0aW9uIFBvc2l0aW9u
IGFuZCBFcnJvci4iCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjog
ImNhbk92ZXJyaWRlR2VvbG9jYXRpb24iLAotICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNo
ZWNrcyBpZiBHZW9sb2NhdGlvbiBjYW4gYmUgb3ZlcnJpZGRlbi4iLAotICAgICAgICAgICAgInJl
dHVybnMiOiBbCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXN1bHQiLCAidHlwZSI6ICJi
b29sZWFuIiwgImRlc2NyaXB0aW9uIjogIlRydWUgaWYgYnJvd3NlciBjYW4gb3ZycmlkZSBHZW9s
b2NhdGlvbi4iIH0KLSAgICAgICAgICAgIF0KLSAgICAgICAgfSwKLSAgICAgICAgewotICAgICAg
ICAgICAgIm5hbWUiOiAic2V0RGV2aWNlT3JpZW50YXRpb25PdmVycmlkZSIsCi0gICAgICAgICAg
ICAiZGVzY3JpcHRpb24iOiAiT3ZlcnJpZGVzIHRoZSBEZXZpY2UgT3JpZW50YXRpb24uIiwKLSAg
ICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiYWxw
aGEiLCAidHlwZSI6ICJudW1iZXIiLCAiZGVzY3JpcHRpb24iOiAiTW9jayBhbHBoYSJ9LAotICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAiYmV0YSIsICJ0eXBlIjogIm51bWJlciIsICJkZXNjcmlw
dGlvbiI6ICJNb2NrIGJldGEifSwKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogImdhbW1hIiwg
InR5cGUiOiAibnVtYmVyIiwgImRlc2NyaXB0aW9uIjogIk1vY2sgZ2FtbWEifQotICAgICAgICAg
ICAgXQotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJjbGVhckRl
dmljZU9yaWVudGF0aW9uT3ZlcnJpZGUiLAotICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNs
ZWFycyB0aGUgb3ZlcnJpZGRlbiBEZXZpY2UgT3JpZW50YXRpb24uIgotICAgICAgICB9LAotICAg
ICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJjYW5PdmVycmlkZURldmljZU9yaWVudGF0aW9u
IiwKLSAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDaGVjayB0aGUgYmFja2VuZCBpZiBXZWIg
SW5zcGVjdG9yIGNhbiBvdmVycmlkZSB0aGUgZGV2aWNlIG9yaWVudGF0aW9uLiIsCi0gICAgICAg
ICAgICAicmV0dXJucyI6IFsKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlc3VsdCIsICJ0
eXBlIjogImJvb2xlYW4iLCAiZGVzY3JpcHRpb24iOiAiSWYgdHJ1ZSwgPGNvZGU+c2V0RGV2aWNl
T3JpZW50YXRpb25PdmVycmlkZTwvY29kZT4gY2FuIHNhZmVseSBiZSBpbnZva2VkIG9uIHRoZSBh
Z2VudC4iIH0KLSAgICAgICAgICAgIF0KLSAgICAgICAgfSwKLSAgICAgICAgewogICAgICAgICAg
ICAgIm5hbWUiOiAic2V0VG91Y2hFbXVsYXRpb25FbmFibGVkIiwKICAgICAgICAgICAgICJwYXJh
bWV0ZXJzIjogWwogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZW5hYmxlZCIsICJ0eXBlIjog
ImJvb2xlYW4iLCAiZGVzY3JpcHRpb24iOiAiV2hldGhlciB0aGUgdG91Y2ggZXZlbnQgZW11bGF0
aW9uIHNob3VsZCBiZSBlbmFibGVkLiIgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5j
cHAKaW5kZXggNjQ2NjhhYTdiMjJjYmMyOGNkMjNhOWFlNTU4MTA5YjI2MDg5NTQwZC4uMWFmMDc4
Zjc0NjI5N2E2YjlhNDAyZmExNWVhOTRmYmE0YWZjOGJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIv
RnJhbWVMb2FkZXIuY3BwCkBAIC0yNDg3LDkgKzI0ODcsNyBAQCBpbnQgRnJhbWVMb2FkZXI6Om51
bVBlbmRpbmdPckxvYWRpbmdSZXF1ZXN0cyhib29sIHJlY3Vyc2UpIGNvbnN0CiAKIFN0cmluZyBG
cmFtZUxvYWRlcjo6dXNlckFnZW50KGNvbnN0IFVSTCYgdXJsKSBjb25zdAogewotICAgIFN0cmlu
ZyB1c2VyQWdlbnQgPSBtX2NsaWVudC51c2VyQWdlbnQodXJsKTsKLSAgICBJbnNwZWN0b3JJbnN0
cnVtZW50YXRpb246OmFwcGx5VXNlckFnZW50T3ZlcnJpZGUoJm1fZnJhbWUsICZ1c2VyQWdlbnQp
OwotICAgIHJldHVybiB1c2VyQWdlbnQ7CisgICAgcmV0dXJuIG1fY2xpZW50LnVzZXJBZ2VudCh1
cmwpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyOjpoYW5kbGVkT25sb2FkRXZlbnRzKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0luc3BlY3RvcldlYkJh
Y2tlbmRDb21tYW5kcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0lu
c3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qcwppbmRleCBiOWY0MmExZTE3NTAxMmZjNzI5MDll
NTkxM2VkZjAwNjA1YzNiOTQ2Li5lMjY1OTdmMTMxZDdlMDg0M2YzODFmNTU1ZWM5NWQwMzQ5ZjBj
YWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNw
ZWN0b3JXZWJCYWNrZW5kQ29tbWFuZHMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzCkBAIC0yMjIsNyArMjIy
LDYgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJOZXR3b3JrLndlYlNvY2tldEZy
YW1lRXJyb3IiLCBbInJlcXVlc3RJZCIsICJ0aW0KIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJF
dmVudCgiTmV0d29yay53ZWJTb2NrZXRGcmFtZVNlbnQiLCBbInJlcXVlc3RJZCIsICJ0aW1lc3Rh
bXAiLCAicmVzcG9uc2UiXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiTmV0
d29yay5lbmFibGUiLCBbXSwgW10pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQo
Ik5ldHdvcmsuZGlzYWJsZSIsIFtdLCBbXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29t
bWFuZCgiTmV0d29yay5zZXRVc2VyQWdlbnRPdmVycmlkZSIsIFt7Im5hbWUiOiAidXNlckFnZW50
IiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10pOwogSW5zcGVjdG9y
QmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsuc2V0RXh0cmFIVFRQSGVhZGVycyIsIFt7
Im5hbWUiOiAiaGVhZGVycyIsICJ0eXBlIjogIm9iamVjdCIsICJvcHRpb25hbCI6IGZhbHNlfV0s
IFtdKTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrLmdldFJlc3Bv
bnNlQm9keSIsIFt7Im5hbWUiOiAicmVxdWVzdElkIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlv
bmFsIjogZmFsc2V9XSwgWyJib2R5IiwgImJhc2U2NEVuY29kZWQiXSk7CiBJbnNwZWN0b3JCYWNr
ZW5kLnJlZ2lzdGVyQ29tbWFuZCgiTmV0d29yay5yZXBsYXlYSFIiLCBbeyJuYW1lIjogInJlcXVl
c3RJZCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKQEAgLTI2
OSwxMiArMjY4LDYgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2UuY2Fu
Q29udGludW91c2x5UGFpbnQiLCBbXSwgWyJ2YWx1ZSJdKTsKIEluc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJDb21tYW5kKCJQYWdlLnNldENvbnRpbnVvdXNQYWludGluZ0VuYWJsZWQiLCBbeyJuYW1l
IjogImVuYWJsZWQiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10p
OwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2UuZ2V0U2NyaXB0RXhlY3V0
aW9uU3RhdHVzIiwgW10sIFsicmVzdWx0Il0pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNv
bW1hbmQoIlBhZ2Uuc2V0U2NyaXB0RXhlY3V0aW9uRGlzYWJsZWQiLCBbeyJuYW1lIjogInZhbHVl
IiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKLUluc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdlLnNldEdlb2xvY2F0aW9uT3ZlcnJpZGUiLCBb
eyJuYW1lIjogImxhdGl0dWRlIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1ZX0s
IHsibmFtZSI6ICJsb25naXR1ZGUiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiB0cnVl
fSwgeyJuYW1lIjogImFjY3VyYWN5IiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1
ZX1dLCBbXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5jbGVhckdl
b2xvY2F0aW9uT3ZlcnJpZGUiLCBbXSwgW10pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNv
bW1hbmQoIlBhZ2UuY2FuT3ZlcnJpZGVHZW9sb2NhdGlvbiIsIFtdLCBbInJlc3VsdCJdKTsKLUlu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdlLnNldERldmljZU9yaWVudGF0aW9u
T3ZlcnJpZGUiLCBbeyJuYW1lIjogImFscGhhIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFs
IjogZmFsc2V9LCB7Im5hbWUiOiAiYmV0YSIsICJ0eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6
IGZhbHNlfSwgeyJuYW1lIjogImdhbW1hIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjog
ZmFsc2V9XSwgW10pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2UuY2xl
YXJEZXZpY2VPcmllbnRhdGlvbk92ZXJyaWRlIiwgW10sIFtdKTsKLUluc3BlY3RvckJhY2tlbmQu
cmVnaXN0ZXJDb21tYW5kKCJQYWdlLmNhbk92ZXJyaWRlRGV2aWNlT3JpZW50YXRpb24iLCBbXSwg
WyJyZXN1bHQiXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5zZXRU
b3VjaEVtdWxhdGlvbkVuYWJsZWQiLCBbeyJuYW1lIjogImVuYWJsZWQiLCAidHlwZSI6ICJib29s
ZWFuIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rl
ckNvbW1hbmQoIlBhZ2Uuc2V0RW11bGF0ZWRNZWRpYSIsIFt7Im5hbWUiOiAibWVkaWEiLCAidHlw
ZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5k
LnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5nZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlIiwgW10s
IFsicmVzdWx0Il0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTGVnYWN5LzYuMC9JbnNwZWN0b3JXZWJCYWNrZW5kQ29tbWFuZHMuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9MZWdhY3kvNi4wL0luc3BlY3RvcldlYkJhY2tl
bmRDb21tYW5kcy5qcwppbmRleCAzODI0Mzk5Nzc5ZmIwZjdhMzQ3YzNmZmFiZTJlMzlmOGM0OTJl
Yzc4Li5lOTBjZWEyYTgyYWQxYjNkM2MwMGZmNTNmMzMxN2RlNDE3NDFlODk0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9MZWdhY3kvNi4wL0luc3BlY3Rv
cldlYkJhY2tlbmRDb21tYW5kcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9MZWdhY3kvNi4wL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qcwpAQCAtODgs
NyArODgsNiBAQCBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIk5ldHdvcmsud2ViU29j
a2V0RnJhbWVFcnJvciIsIFsicmVxdWVzdElkIiwgInRpbQogSW5zcGVjdG9yQmFja2VuZC5yZWdp
c3RlckV2ZW50KCJOZXR3b3JrLndlYlNvY2tldEZyYW1lU2VudCIsIFsicmVxdWVzdElkIiwgInRp
bWVzdGFtcCIsICJyZXNwb25zZSJdKTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5k
KCJOZXR3b3JrLmVuYWJsZSIsIFtdLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29t
bWFuZCgiTmV0d29yay5kaXNhYmxlIiwgW10sIFtdKTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0
ZXJDb21tYW5kKCJOZXR3b3JrLnNldFVzZXJBZ2VudE92ZXJyaWRlIiwgW3sibmFtZSI6ICJ1c2Vy
QWdlbnQiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7CiBJbnNw
ZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiTmV0d29yay5zZXRFeHRyYUhUVFBIZWFkZXJz
IiwgW3sibmFtZSI6ICJoZWFkZXJzIiwgInR5cGUiOiAib2JqZWN0IiwgIm9wdGlvbmFsIjogZmFs
c2V9XSwgW10pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsuZ2V0
UmVzcG9uc2VCb2R5IiwgW3sibmFtZSI6ICJyZXF1ZXN0SWQiLCAidHlwZSI6ICJzdHJpbmciLCAi
b3B0aW9uYWwiOiBmYWxzZX1dLCBbImJvZHkiLCAiYmFzZTY0RW5jb2RlZCJdKTsKIEluc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrLmNhbkNsZWFyQnJvd3NlckNhY2hlIiwg
W10sIFsicmVzdWx0Il0pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvTGVnYWN5LzcuMC9JbnNwZWN0b3JXZWJCYWNrZW5kQ29tbWFuZHMuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9MZWdhY3kvNy4wL0luc3BlY3RvcldlYkJh
Y2tlbmRDb21tYW5kcy5qcwppbmRleCA0ZGE0MjFmNDFmODk5ZTZjMzY0ZDliZjY1NjIxMzc5NzYw
NjRmZDE4Li42ZDNiNDYzZWFmNDlmZGFhMjA2ZWU0YjgwZjczNmNkZjc4ZjY1MGFhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9MZWdhY3kvNy4wL0luc3Bl
Y3RvcldlYkJhY2tlbmRDb21tYW5kcy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9MZWdhY3kvNy4wL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qcwpAQCAt
NTUsMTIgKzU1LDYgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2UuY2Fu
Q29udGludW91c2x5UGFpbnQiLCBbXSwgWyJ2YWx1ZSJdKTsKIEluc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJDb21tYW5kKCJQYWdlLnNldENvbnRpbnVvdXNQYWludGluZ0VuYWJsZWQiLCBbeyJuYW1l
IjogImVuYWJsZWQiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10p
OwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2UuZ2V0U2NyaXB0RXhlY3V0
aW9uU3RhdHVzIiwgW10sIFsicmVzdWx0Il0pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNv
bW1hbmQoIlBhZ2Uuc2V0U2NyaXB0RXhlY3V0aW9uRGlzYWJsZWQiLCBbeyJuYW1lIjogInZhbHVl
IiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKLUluc3BlY3Rv
ckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdlLnNldEdlb2xvY2F0aW9uT3ZlcnJpZGUiLCBb
eyJuYW1lIjogImxhdGl0dWRlIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1ZX0s
IHsibmFtZSI6ICJsb25naXR1ZGUiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiB0cnVl
fSwgeyJuYW1lIjogImFjY3VyYWN5IiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1
ZX1dLCBbXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5jbGVhckdl
b2xvY2F0aW9uT3ZlcnJpZGUiLCBbXSwgW10pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNv
bW1hbmQoIlBhZ2UuY2FuT3ZlcnJpZGVHZW9sb2NhdGlvbiIsIFtdLCBbInJlc3VsdCJdKTsKLUlu
c3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdlLnNldERldmljZU9yaWVudGF0aW9u
T3ZlcnJpZGUiLCBbeyJuYW1lIjogImFscGhhIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFs
IjogZmFsc2V9LCB7Im5hbWUiOiAiYmV0YSIsICJ0eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6
IGZhbHNlfSwgeyJuYW1lIjogImdhbW1hIiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjog
ZmFsc2V9XSwgW10pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2UuY2xl
YXJEZXZpY2VPcmllbnRhdGlvbk92ZXJyaWRlIiwgW10sIFtdKTsKLUluc3BlY3RvckJhY2tlbmQu
cmVnaXN0ZXJDb21tYW5kKCJQYWdlLmNhbk92ZXJyaWRlRGV2aWNlT3JpZW50YXRpb24iLCBbXSwg
WyJyZXN1bHQiXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5zZXRU
b3VjaEVtdWxhdGlvbkVuYWJsZWQiLCBbeyJuYW1lIjogImVuYWJsZWQiLCAidHlwZSI6ICJib29s
ZWFuIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rl
ckNvbW1hbmQoIlBhZ2Uuc2V0RW11bGF0ZWRNZWRpYSIsIFt7Im5hbWUiOiAibWVkaWEiLCAidHlw
ZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5k
LnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5nZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlIiwgW10s
IFsicmVzdWx0Il0pOwpAQCAtMTE5LDcgKzExMyw2IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0
ZXJFdmVudCgiTmV0d29yay53ZWJTb2NrZXRGcmFtZUVycm9yIiwgWyJyZXF1ZXN0SWQiLCAidGlt
CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIk5ldHdvcmsud2ViU29ja2V0RnJhbWVT
ZW50IiwgWyJyZXF1ZXN0SWQiLCAidGltZXN0YW1wIiwgInJlc3BvbnNlIl0pOwogSW5zcGVjdG9y
QmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsuZW5hYmxlIiwgW10sIFtdKTsKIEluc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrLmRpc2FibGUiLCBbXSwgW10pOwot
SW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsuc2V0VXNlckFnZW50T3Zl
cnJpZGUiLCBbeyJuYW1lIjogInVzZXJBZ2VudCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25h
bCI6IGZhbHNlfV0sIFtdKTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3
b3JrLnNldEV4dHJhSFRUUEhlYWRlcnMiLCBbeyJuYW1lIjogImhlYWRlcnMiLCAidHlwZSI6ICJv
YmplY3QiLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lz
dGVyQ29tbWFuZCgiTmV0d29yay5nZXRSZXNwb25zZUJvZHkiLCBbeyJuYW1lIjogInJlcXVlc3RJ
ZCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFsiYm9keSIsICJiYXNl
NjRFbmNvZGVkIl0pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsu
cmVwbGF5WEhSIiwgW3sibmFtZSI6ICJyZXF1ZXN0SWQiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0
aW9uYWwiOiBmYWxzZX1dLCBbXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VmVyc2lvbnMvSW5zcGVjdG9yLWlPUy02LjAuanNvbiBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9W
ZXJzaW9ucy9JbnNwZWN0b3ItaU9TLTYuMC5qc29uCmluZGV4IGNlZmY5NDQ3M2Q2YjBjYTdmZDA3
YmQ4ODY3NmU4ZmE1YzIwMWQyZTQuLmJjZDNkYjIyNTQ0N2Q1ZmY4NzFlYWZkYTk5N2RmOTQxOTJk
OTRkNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9WZXJzaW9ucy9JbnNwZWN0
b3ItaU9TLTYuMC5qc29uCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9WZXJzaW9ucy9JbnNw
ZWN0b3ItaU9TLTYuMC5qc29uCkBAIC03MTUsMTMgKzcxNSw2IEBACiAgICAgICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIG5ldHdvcmsgdHJhY2tpbmcsIHByZXZlbnRzIG5ldHdv
cmsgZXZlbnRzIGZyb20gYmVpbmcgc2VudCB0byB0aGUgY2xpZW50LiIKICAgICAgICAgICAgIH0s
CiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0VXNlckFnZW50T3Zl
cnJpZGUiLAotICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbGxvd3Mgb3ZlcnJpZGlu
ZyB1c2VyIGFnZW50IHdpdGggdGhlIGdpdmVuIHN0cmluZy4iLAotICAgICAgICAgICAgICAgICJw
YXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInVzZXJBZ2VudCIs
ICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJVc2VyIGFnZW50IHRvIHVzZS4iIH0K
LSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewogICAgICAg
ICAgICAgICAgICJuYW1lIjogInNldEV4dHJhSFRUUEhlYWRlcnMiLAogICAgICAgICAgICAgICAg
ICJkZXNjcmlwdGlvbiI6ICJTcGVjaWZpZXMgd2hldGhlciB0byBhbHdheXMgc2VuZCBleHRyYSBI
VFRQIGhlYWRlcnMgd2l0aCB0aGUgcmVxdWVzdHMgZnJvbSB0aGlzIHBhZ2UuIiwKICAgICAgICAg
ICAgICAgICAicGFyYW1ldGVycyI6IFsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9WZXJzaW9ucy9JbnNwZWN0b3ItaU9TLTcuMC5qc29uIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1ZlcnNpb25zL0luc3BlY3Rvci1pT1MtNy4wLmpzb24KaW5kZXggYWRhZTQ4MjVkMTFhNzRkMDFh
ZmMxNjg5MWUxNjRkOWZkNTJhMmRiYi4uOWNmMzhiNGZmMGQyNTRjMjQwYTEyNzYyN2VkMDE1OTEz
YTg1OWZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1ZlcnNpb25zL0luc3Bl
Y3Rvci1pT1MtNy4wLmpzb24KKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1ZlcnNpb25zL0lu
c3BlY3Rvci1pT1MtNy4wLmpzb24KQEAgLTMyNiw0NiArMzI2LDYgQEAKICAgICAgICAgICAgICAg
ICBdCiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1l
IjogInNldEdlb2xvY2F0aW9uT3ZlcnJpZGUiLAotICAgICAgICAgICAgICAgICJkZXNjcmlwdGlv
biI6ICJPdmVycmlkZXMgdGhlIEdlb2xvY2F0aW9uIFBvc2l0aW9uIG9yIEVycm9yLiIsCi0gICAg
ICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUi
OiAibGF0aXR1ZGUiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3Jp
cHRpb24iOiAiTW9jayBsb25naXR1ZGUifSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6
ICJsb25naXR1ZGUiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3Jp
cHRpb24iOiAiTW9jayBsYXRpdHVkZSJ9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjog
ImFjY3VyYWN5IiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0
aW9uIjogIk1vY2sgYWNjdXJhY3kifQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY2xlYXJHZW9sb2NhdGlv
bk92ZXJyaWRlIiwKLSAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ2xlYXJzIHRoZSBv
dmVycmlkZW4gR2VvbG9jYXRpb24gUG9zaXRpb24gYW5kIEVycm9yLiIKLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY2FuT3ZlcnJpZGVHZW9s
b2NhdGlvbiIsCi0gICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNoZWNrcyBpZiBHZW9s
b2NhdGlvbiBjYW4gYmUgb3ZlcnJpZGRlbi4iLAotICAgICAgICAgICAgICAgICJyZXR1cm5zIjog
WwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlc3VsdCIsICJ0eXBlIjogImJvb2xl
YW4iLCAiZGVzY3JpcHRpb24iOiAiVHJ1ZSBpZiBicm93c2VyIGNhbiBvdnJyaWRlIEdlb2xvY2F0
aW9uLiIgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0RGV2aWNlT3JpZW50YXRpb25PdmVycmlkZSIs
Ci0gICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlcyB0aGUgRGV2aWNlIE9y
aWVudGF0aW9uLiIsCi0gICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAg
ICAgICAgICAgIHsgIm5hbWUiOiAiYWxwaGEiLCAidHlwZSI6ICJudW1iZXIiLCAiZGVzY3JpcHRp
b24iOiAiTW9jayBhbHBoYSJ9LAotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImJldGEi
LCAidHlwZSI6ICJudW1iZXIiLCAiZGVzY3JpcHRpb24iOiAiTW9jayBiZXRhIn0sCi0gICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAiZ2FtbWEiLCAidHlwZSI6ICJudW1iZXIiLCAiZGVzY3Jp
cHRpb24iOiAiTW9jayBnYW1tYSJ9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfSwK
LSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJjbGVhckRldmljZU9yaWVu
dGF0aW9uT3ZlcnJpZGUiLAotICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJDbGVhcnMg
dGhlIG92ZXJyaWRkZW4gRGV2aWNlIE9yaWVudGF0aW9uLiIKLSAgICAgICAgICAgIH0sCi0gICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAiY2FuT3ZlcnJpZGVEZXZpY2VPcmll
bnRhdGlvbiIsCi0gICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNoZWNrIHRoZSBiYWNr
ZW5kIGlmIFdlYiBJbnNwZWN0b3IgY2FuIG92ZXJyaWRlIHRoZSBkZXZpY2Ugb3JpZW50YXRpb24u
IiwKLSAgICAgICAgICAgICAgICAicmV0dXJucyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJyZXN1bHQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIklmIHRy
dWUsIDxjb2RlPnNldERldmljZU9yaWVudGF0aW9uT3ZlcnJpZGU8L2NvZGU+IGNhbiBzYWZlbHkg
YmUgaW52b2tlZCBvbiB0aGUgYWdlbnQuIiB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAg
ICAgfSwKLSAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJzZXRUb3VjaEVt
dWxhdGlvbkVuYWJsZWQiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwogICAgICAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogImVuYWJsZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRl
c2NyaXB0aW9uIjogIldoZXRoZXIgdGhlIHRvdWNoIGV2ZW50IGVtdWxhdGlvbiBzaG91bGQgYmUg
ZW5hYmxlZC4iIH0KQEAgLTkxOCwxMyArODc4LDYgQEAKICAgICAgICAgICAgICAgICAiZGVzY3Jp
cHRpb24iOiAiRGlzYWJsZXMgbmV0d29yayB0cmFja2luZywgcHJldmVudHMgbmV0d29yayBldmVu
dHMgZnJvbSBiZWluZyBzZW50IHRvIHRoZSBjbGllbnQuIgogICAgICAgICAgICAgfSwKICAgICAg
ICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJzZXRVc2VyQWdlbnRPdmVycmlkZSIs
Ci0gICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsbG93cyBvdmVycmlkaW5nIHVzZXIg
YWdlbnQgd2l0aCB0aGUgZ2l2ZW4gc3RyaW5nLiIsCi0gICAgICAgICAgICAgICAgInBhcmFtZXRl
cnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAidXNlckFnZW50IiwgInR5cGUi
OiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlVzZXIgYWdlbnQgdG8gdXNlLiIgfQotICAgICAg
ICAgICAgICAgIF0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7CiAgICAgICAgICAgICAg
ICAgIm5hbWUiOiAic2V0RXh0cmFIVFRQSGVhZGVycyIsCiAgICAgICAgICAgICAgICAgImRlc2Ny
aXB0aW9uIjogIlNwZWNpZmllcyB3aGV0aGVyIHRvIGFsd2F5cyBzZW5kIGV4dHJhIEhUVFAgaGVh
ZGVycyB3aXRoIHRoZSByZXF1ZXN0cyBmcm9tIHRoaXMgcGFnZS4iLAogICAgICAgICAgICAgICAg
ICJwYXJhbWV0ZXJzIjogWwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGExZmRmMzIxMjFjNDE5Y2ZhMDQ4NjJmM2M4Y2Y4ZWFl
M2FlMjcxM2MuLjZjNjA0M2NlYmZiYjFiNzM2M2FhNmUyMzZkNzFmZDk3ZmNmZTQ2YzMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMSBAQAorMjAxNC0wMS0wOCAgU2Vva2p1IEt3b24gIDxzZW9ranVAd2Via2l0
Lm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9yOiBSZW1vdmUgdW51c2VkIG92ZXJyaWRpbmcg
cHJvdG9jb2xzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTI2NjMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXVzZXJhZ2VudC1leHBlY3RlZC50
eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy11
c2VyYWdlbnQuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZGV2aWNlLW9yaWVu
dGF0aW9uLXN1Y2Nlc3MtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rv
ci9kZXZpY2Utb3JpZW50YXRpb24tc3VjY2Vzcy5odG1sOiBSZW1vdmVkLgorICAgICAgICAqIGlu
c3BlY3Rvci9nZW9sb2NhdGlvbi1lcnJvci1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAg
ICogaW5zcGVjdG9yL2dlb2xvY2F0aW9uLWVycm9yLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
aW5zcGVjdG9yL2dlb2xvY2F0aW9uLXN1Y2Nlc3MtZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAg
ICAgICAqIGluc3BlY3Rvci9nZW9sb2NhdGlvbi1zdWNjZXNzLmh0bWw6IFJlbW92ZWQuCisgICAg
ICAgICogaW5zcGVjdG9yL2dlb2xvY2F0aW9uLXdhdGNoUG9zaXRpb24tZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9nZW9sb2NhdGlvbi13YXRjaFBvc2l0aW9uLmh0
bWw6IFJlbW92ZWQuCisKIDIwMTQtMDEtMDcgIEVyaWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBh
cHBsZS5jb20+CiAKICAgICAgICAgVGVhY2ggTWVkaWFTZXNzaW9uTWFuYWdlciB0byBtYW5hZ2Ug
aW50ZXJydXB0aW9ucwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvZXh0ZW5zaW9ucy11c2VyYWdlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy11c2VyYWdlbnQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NTkyOGM0N2RiYjk2MmY0ZjJmNDg0NDU0MjA5NjJkNmU0
NzJjZDc2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdXNlcmFnZW50LWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVRlc3RzIG92ZXJyaWRpbmcg
dXNlciBhZ2VudCB2aWEgV2ViSW5zcGVjdG9yIGV4dGVuc2lvbiBBUEkKLQotU3RhcnRlZCBleHRl
bnNpb24uCi1SdW5uaW5nIHRlc3RzLi4uCi1SVU5OSU5HIFRFU1Q6IGV4dGVuc2lvbl90ZXN0VXNl
ckFnZW50Ci1QYWdlIHJlbG9hZGVkLgotUGFnZSByZWxvYWRlZC4KLXVzZXItYWdlbnQgaGVhZGVy
IGZvciBleHRlbnNpb25zLXVzZXJhZ2VudC5odG1sOiBNb3ppbGxhLzQuMCAoY29tcGF0aWJsZTsg
V2ViSW5zcGVjdG9yIEV4dGVuc2lvbiBVc2VyLUFnZW50IG92ZXJyaWRlOyBSU1gtMTFNKQotdXNl
ci1hZ2VudCBoZWFkZXIgZm9yIHhoci1leGlzdHMuaHRtbDogTW96aWxsYS80LjAgKGNvbXBhdGli
bGU7IFdlYkluc3BlY3RvciBFeHRlbnNpb24gVXNlci1BZ2VudCBvdmVycmlkZTsgUlNYLTExTSkK
LW5hdmlnYXRvci51c2VyQWdlbnQ6IE1vemlsbGEvNC4wIChjb21wYXRpYmxlOyBXZWJJbnNwZWN0
b3IgRXh0ZW5zaW9uIFVzZXItQWdlbnQgb3ZlcnJpZGU7IFJTWC0xMU0pCi1BbGwgdGVzdHMgZG9u
ZS4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5z
aW9ucy11c2VyYWdlbnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4
dGVuc2lvbnMtdXNlcmFnZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg5
Mjg2NzkyNDZhYWE4NTM3OTE2ZDQyZjZmZTk3OTNiOTZkMjY0YzQuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvZXh0ZW5zaW9ucy11c2VyYWdlbnQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICsw
LDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9ImV4dGVuc2lvbnMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0KLWZ1bmN0aW9uIGV4dGVuc2lvbl90ZXN0VXNl
ckFnZW50KG5leHRUZXN0KQotewotICAgIGNvbnN0IHJlcXVlc3RzVG9DaGVjayA9IFsKLSAgICAg
ICAgImV4dGVuc2lvbnMtdXNlcmFnZW50Lmh0bWwiLAotICAgICAgICAieGhyLWV4aXN0cy5odG1s
IgotICAgIF07Ci0gICAgdmFyIHJlcXVlc3RDb3VudCA9IDA7Ci0gICAgdmFyIHF1ZXVlZE91dHB1
dCA9IFtdOwotCi0gICAgZnVuY3Rpb24gb25SZXF1ZXN0RmluaXNoZWQocmVxdWVzdCkKLSAgICB7
Ci0gICAgICAgIHZhciB1cmwgPSByZXF1ZXN0LnJlcXVlc3QudXJsLnJlcGxhY2UoL14uKlsvXS8s
ICIiKTsKLSAgICAgICAgaWYgKHJlcXVlc3RzVG9DaGVjay5pbmRleE9mKHVybCkgPCAwKQotICAg
ICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHF1ZXVlZE91dHB1dC5wdXNoKCJ1c2VyLWFnZW50
IGhlYWRlciBmb3IgIiArIHVybCArICI6ICIgKyBnZXRIZWFkZXIocmVxdWVzdC5yZXF1ZXN0Lmhl
YWRlcnMsICJ1c2VyLWFnZW50IikpOwotICAgICAgICBpZiAoKytyZXF1ZXN0Q291bnQgPCByZXF1
ZXN0c1RvQ2hlY2subGVuZ3RoKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB3ZWJJbnNw
ZWN0b3IubmV0d29yay5vblJlcXVlc3RGaW5pc2hlZC5yZW1vdmVMaXN0ZW5lcihvblJlcXVlc3RG
aW5pc2hlZCk7Ci0gICAgICAgIHdlYkluc3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cuZXZhbCgibmF2
aWdhdG9yLnVzZXJBZ2VudCIsIG9uRXZhbCk7Ci0gICAgfQotICAgIGZ1bmN0aW9uIGdldEhlYWRl
cihoZWFkZXJzLCBuYW1lKQotICAgIHsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBoZWFk
ZXJzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBpZiAoaGVhZGVyc1tpXS5uYW1lLnRvTG93
ZXJDYXNlKCkgPT09IG5hbWUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGhlYWRlcnNbaV0udmFs
dWU7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgZnVuY3Rpb24gb25FdmFsKHJlc3VsdCkKLSAgICB7
Ci0gICAgICAgIHF1ZXVlZE91dHB1dC5wdXNoKCJuYXZpZ2F0b3IudXNlckFnZW50OiAiICsgcmVz
dWx0KTsKLSAgICAgICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFsKCIiLCBjbGVh
blVwKTsKLSAgICB9Ci0gICAgZnVuY3Rpb24gY2xlYW5VcCgpCi0gICAgewotICAgICAgICBldmFs
dWF0ZU9uRnJvbnRlbmQoIkluc3BlY3RvclRlc3QucnVuV2hlblBhZ2VMb2FkcyhyZXBseSkiLCBv
blBhZ2VMb2FkZWQpOwotICAgICAgICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93LnJlbG9h
ZCgiIik7Ci0gICAgfQotICAgIGZ1bmN0aW9uIG9uUGFnZUxvYWRlZCgpCi0gICAgewotICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHF1ZXVlZE91dHB1dC5sZW5ndGg7ICsraSkKLSAgICAgICAg
ICAgIG91dHB1dChxdWV1ZWRPdXRwdXRbaV0pOwotICAgICAgICBuZXh0VGVzdCgpOwotICAgIH0K
LQotICAgIHdlYkluc3BlY3Rvci5uZXR3b3JrLm9uUmVxdWVzdEZpbmlzaGVkLmFkZExpc3RlbmVy
KG9uUmVxdWVzdEZpbmlzaGVkKTsKLSAgICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93LnJl
bG9hZCgiTW96aWxsYS80LjAgKGNvbXBhdGlibGU7IFdlYkluc3BlY3RvciBFeHRlbnNpb24gVXNl
ci1BZ2VudCBvdmVycmlkZTsgUlNYLTExTSkiKTsKLX0KLQotKGZ1bmN0aW9uKCkKLXsKLSAgICB2
YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci0gICAgeGhyLm9wZW4oIkdFVCIsICJyZXNv
dXJjZXMveGhyLWV4aXN0cy5odG1sIiwgZmFsc2UpOwotICAgIHhoci5zZW5kKG51bGwpOwotfSko
KTsKLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5U
ZXN0cyBvdmVycmlkaW5nIHVzZXIgYWdlbnQgdmlhIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJ
PC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2RldmljZS1vcmllbnRhdGlvbi1zdWNjZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kZXZpY2Utb3JpZW50YXRpb24tc3VjY2Vzcy1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0NzNlY2I5Y2RmYzE4NmVmOWM0ODVhZjExYzIwNWJmOTY2
MzA3N2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2RldmljZS1vcmllbnRhdGlvbi1zdWNjZXNzLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE3
OiBhbHBoYTogMjAgYmV0YTogMzAgZ2FtbWE6IDQwCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTc6
IGFscGhhOiAxLjEgYmV0YTogMi4yIGdhbW1hOiAzLjMKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RldmljZS1vcmllbnRhdGlvbi1zdWNjZXNzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGV2aWNlLW9yaWVudGF0aW9uLXN1Y2Nlc3MuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYmI3MDgyZmJkNTc3NDc5ODFkZGQ2MzYyZWE2MmVlNzQzZWZmMzFl
ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGV2aWNlLW9yaWVudGF0aW9uLXN1Y2Nlc3MuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDM3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4K
LQotdmFyIG1vY2tBbHBoYSA9IDEuMTsKLXZhciBtb2NrQmV0YSA9IDIuMjsKLXZhciBtb2NrR2Ft
bWEgPSAzLjM7Ci0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLnNldE1v
Y2tEZXZpY2VPcmllbnRhdGlvbih0cnVlLCBtb2NrQWxwaGEsIHRydWUsIG1vY2tCZXRhLCB0cnVl
LCBtb2NrR2FtbWEpOwotZWxzZQotICAgIGRlYnVnKCdUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4g
d2l0aG91dCB0aGUgTGF5b3V0VGVzdENvbnRyb2xsZXInKTsKLQotZnVuY3Rpb24gaGFuZGxlcihl
dnQpCi17Ci0gICAgICAgIGNvbnNvbGUubG9nKCdhbHBoYTogJyArIGV2dC5hbHBoYSArICcgYmV0
YTogJyArIGV2dC5iZXRhICsgJyBnYW1tYTogJyArIGV2dC5nYW1tYSk7Ci19Ci0KLWZ1bmN0aW9u
IHRlc3QoKQotewotICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKLSAgICB7Ci0gICAgICAgIFBhZ2VB
Z2VudC5jbGVhckRldmljZU9yaWVudGF0aW9uT3ZlcnJpZGUoKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRl
SW5QYWdlKCJ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZGV2aWNlb3JpZW50YXRpb24nLCBoYW5k
bGVyLCBmYWxzZSk7IiwgY2FsbGJhY2spOwotICAgIFBhZ2VBZ2VudC5zZXREZXZpY2VPcmllbnRh
dGlvbk92ZXJyaWRlKDIwLCAzMCwgNDApOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9nZW9sb2NhdGlvbi1lcnJvci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZ2VvbG9jYXRpb24tZXJyb3ItZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYjA4MzJlMDMzZGQ4ZGE5YmRhMDUwZjI0ZTg3
YTNjNGIwMzhhYmIzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9nZW9sb2NhdGlvbi1lcnJvci1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyNjog
RXJyb3I6IDIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMjogbGF0OiA1MS40NzgsIGxvbmc6IC0w
LjE2NgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZ2VvbG9jYXRpb24tZXJy
b3IuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9nZW9sb2NhdGlvbi1lcnJvci5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZGJjMTY3YmE1NjMwZDM2NDdlNTcwZGVlMDQy
OWMxMThlZmNkZjVjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9nZW9sb2NhdGlvbi1lcnJvci5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNTUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotCi12YXIgbW9ja0xhdGl0dWRlID0gNTEuNDc4OwotdmFyIG1vY2tMb25naXR1ZGUgPSAtMC4x
NjY7Ci12YXIgbW9ja0FjY3VyYWN5ID0gMTAwOwotCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
LSAgICB0ZXN0UnVubmVyLnNldEdlb2xvY2F0aW9uUGVybWlzc2lvbih0cnVlKTsKLSAgICB0ZXN0
UnVubmVyLnNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKG1vY2tMYXRpdHVkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vY2tMb25naXR1ZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2NrQWNjdXJhY3kpOwotfSBlbHNl
Ci0gICAgZGVidWcoJ1RoaXMgdGVzdCBjYW4gbm90IGJlIHJ1biB3aXRob3V0IHRoZSBMYXlvdXRU
ZXN0Q29udHJvbGxlcicpOwotCi1mdW5jdGlvbiBnZXRHZW9sb2NhdGlvbigpCi17Ci0gICAgZnVu
Y3Rpb24gcHJpbnRMb2NhdGlvbihwb3MpCi0gICAgewotICAgICAgICBjb25zb2xlLmxvZygnbGF0
OiAnICsgcG9zLmNvb3Jkcy5sYXRpdHVkZSArICcsIGxvbmc6ICcgKyBwb3MuY29vcmRzLmxvbmdp
dHVkZSk7Ci0gICAgfQotICAgIGZ1bmN0aW9uIHByaW50RXJyb3IoZXJyKQotICAgIHsKLSAgICAg
ICAgY29uc29sZS5sb2coJ0Vycm9yOiAnICsgZXJyLmNvZGUpOwotICAgIH0KLSAgICBuYXZpZ2F0
b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHByaW50TG9jYXRpb24sIHByaW50RXJy
b3IsIFtdKQotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBmdW5jdGlvbiBjYWxsYmFja0Nv
bXBsZXRlKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0g
ICAgfQotICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKLSAgICB7Ci0gICAgICAgIFBhZ2VBZ2VudC5j
bGVhckdlb2xvY2F0aW9uT3ZlcnJpZGUoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZSgiZ2V0R2VvbG9jYXRpb24oKSIsIGNhbGxiYWNrQ29tcGxldGUpOwotICAgIH0KLSAg
ICBQYWdlQWdlbnQuc2V0R2VvbG9jYXRpb25PdmVycmlkZSgpOwotICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoImdldEdlb2xvY2F0aW9uKCkiLCBjYWxsYmFjayk7Ci19Ci0KLQotPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotPC9wPgot
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZ2Vv
bG9jYXRpb24tc3VjY2Vzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZ2Vv
bG9jYXRpb24tc3VjY2Vzcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGMyZWIzOGIyNDIxMTczMTVhNGM1MWJiODkzMjkxNzJlMmFmODNjYmQuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2dlb2xvY2F0aW9uLXN1Y2Nlc3MtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyAr
MCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjI6IGxhdDogNDMuNDc2MDkzLCBsb25nOiAt
ODAuNTQwMjk5Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjI6IGxhdDogNTEuNDc4LCBsb25nOiAt
MC4xNjYKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2dlb2xvY2F0aW9uLXN1
Y2Nlc3MuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9nZW9sb2NhdGlvbi1zdWNjZXNzLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFjYzc1OTU2MTAxYjk2ZjUzYmFkMzIw
YmU3MDc1MDNjNzA5ZmNjY2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2dlb2xvY2F0aW9uLXN1Y2Nlc3MuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLQotdmFyIG1vY2tMYXRpdHVkZSA9IDUxLjQ3ODsKLXZhciBtb2NrTG9uZ2l0dWRl
ID0gLTAuMTY2OwotdmFyIG1vY2tBY2N1cmFjeSA9IDEwMDsKLQotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5zZXRHZW9sb2NhdGlvblBlcm1pc3Npb24odHJ1ZSk7Ci0g
ICAgdGVzdFJ1bm5lci5zZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihtb2NrTGF0aXR1ZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2NrTG9uZ2l0dWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9ja0FjY3VyYWN5KTsK
LX0gZWxzZQotICAgIGRlYnVnKCdUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gd2l0aG91dCB0aGUg
TGF5b3V0VGVzdENvbnRyb2xsZXInKTsKLQotZnVuY3Rpb24gZ2V0R2VvbG9jYXRpb24od2ViSW5z
cGVjdG9yQ2FsbGJhY2tTdHJpbmcpCi17Ci0gICAgZnVuY3Rpb24gcHJpbnRMb2NhdGlvbihwb3Mp
Ci0gICAgewotICAgICAgICBjb25zb2xlLmxvZygnbGF0OiAnICsgcG9zLmNvb3Jkcy5sYXRpdHVk
ZSArICcsIGxvbmc6ICcgKyBwb3MuY29vcmRzLmxvbmdpdHVkZSk7Ci0gICAgICAgIGZpbmlzaFRl
c3QoKTsKLSAgICB9Ci0gICAgZnVuY3Rpb24gcHJpbnRFcnJvcihlcnIpCi0gICAgewotICAgICAg
ICBjb25zb2xlLmxvZygnRXJyb3I6ICcgKyBlcnIuY29kZSk7Ci0gICAgICAgIGZpbmlzaFRlc3Qo
KTsKLSAgICB9Ci0gICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpCi0gICAgewotICAgICAgICB0ZXN0
UnVubmVyLmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoMCwgd2ViSW5zcGVjdG9yQ2FsbGJhY2tTdHJp
bmcpOwotICAgIH0KLSAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9u
KHByaW50TG9jYXRpb24sIHByaW50RXJyb3IsIFtdKQotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsK
LSAgICB3aW5kb3cudGVzdFN0ZXAyID0gZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgUGFnZUFn
ZW50LmNsZWFyR2VvbG9jYXRpb25PdmVycmlkZSgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlKCJnZXRHZW9sb2NhdGlvbignSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3Qo
KScpIik7Ci0gICAgfQotCi0gICAgUGFnZUFnZW50LnNldEdlb2xvY2F0aW9uT3ZlcnJpZGUoNDMu
NDc2MDkzLCAtODAuNTQwMjk5LCAxNTApOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoImdldEdlb2xvY2F0aW9uKCd3aW5kb3cudGVzdFN0ZXAyKCknKSIpOwotfQotCi0KLTwvc2Ny
aXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLTwvcD4KLQot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2dlb2xv
Y2F0aW9uLXdhdGNoUG9zaXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2dlb2xvY2F0aW9uLXdhdGNoUG9zaXRpb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA0YjcwNTc0NDNlZmE2NTk2NDUxMjdhMzdkMTI2ZjAzNDZkOTUyNDNiLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9nZW9sb2NhdGlvbi13YXRjaFBvc2l0aW9uLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDUgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBsYXQ6IDUx
LjQ3OCwgbG9uZzogLTAuMTY2Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IGxhdDogNDMuNDc2
MDkzLCBsb25nOiAtODAuNTQwMjk5Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjc6IEVycm9yOiAy
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IGxhdDogNTEuNDc4LCBsb25nOiAtMC4xNjYKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2dlb2xvY2F0aW9uLXdhdGNoUG9zaXRp
b24uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9nZW9sb2NhdGlvbi13YXRjaFBvc2l0aW9u
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1ZmM0MGQxZjY5MmY0YjA4MTk3
ZTYzMGJmZTA3MTRiOWVmMzhkZDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2dlb2xvY2F0aW9uLXdhdGNoUG9zaXRp
b24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLQotdmFyIG1vY2tMYXRpdHVkZSA9IDUxLjQ3ODsKLXZhciBtb2Nr
TG9uZ2l0dWRlID0gLTAuMTY2OwotdmFyIG1vY2tBY2N1cmFjeSA9IDEwMDsKLQotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5zZXRHZW9sb2NhdGlvblBlcm1pc3Npb24o
dHJ1ZSk7Ci0gICAgdGVzdFJ1bm5lci5zZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihtb2NrTGF0
aXR1ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2NrTG9u
Z2l0dWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9ja0Fj
Y3VyYWN5KTsKLX0gZWxzZQotICAgIGRlYnVnKCdUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gd2l0
aG91dCB0aGUgTGF5b3V0VGVzdENvbnRyb2xsZXInKTsKLQotdmFyIHdhdGNoID0gMDsKLWZ1bmN0
aW9uIGdldEdlb2xvY2F0aW9uKCkKLXsKLSAgICBmdW5jdGlvbiBwcmludExvY2F0aW9uKHBvcykK
LSAgICB7Ci0gICAgICAgIGNvbnNvbGUubG9nKCdsYXQ6ICcgKyBwb3MuY29vcmRzLmxhdGl0dWRl
ICsgJywgbG9uZzogJyArIHBvcy5jb29yZHMubG9uZ2l0dWRlKTsKLSAgICB9Ci0gICAgZnVuY3Rp
b24gcHJpbnRFcnJvcihlcnIpCi0gICAgewotICAgICAgICBjb25zb2xlLmxvZygnRXJyb3I6ICcg
KyBlcnIuY29kZSk7Ci0gICAgfQotICAgIHdhdGNoID0gbmF2aWdhdG9yLmdlb2xvY2F0aW9uLndh
dGNoUG9zaXRpb24ocHJpbnRMb2NhdGlvbiwgcHJpbnRFcnJvciwgW10pCi19Ci1mdW5jdGlvbiBj
bGVhcldhdGNoKCkKLXsKLSAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uY2xlYXJXYXRjaCh3YXRj
aCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIGZ1bmN0aW9uIGNhbGxiYWNrQ29tcGxl
dGUoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9
Ci0gICAgZnVuY3Rpb24gY2FsbGJhY2soKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluUGFnZSgiY2xlYXJXYXRjaCgpIiwgY2FsbGJhY2tDb21wbGV0ZSk7Ci0gICAgfQot
ICAgIGZ1bmN0aW9uIGNsZWFyRGF0YSgpCi0gICAgewotICAgICAgICBQYWdlQWdlbnQuY2xlYXJH
ZW9sb2NhdGlvbk92ZXJyaWRlKCk7Ci0gICAgICAgIHNldFRpbWVvdXQoY2FsbGJhY2ssIDEpOwot
ICAgIH0KLSAgICBmdW5jdGlvbiBzZXRFcnJvcigpCi0gICAgewotICAgICAgICBQYWdlQWdlbnQu
c2V0R2VvbG9jYXRpb25PdmVycmlkZSgpOwotICAgICAgICBzZXRUaW1lb3V0KGNsZWFyRGF0YSwg
MSk7Ci0gICAgfQotICAgIGZ1bmN0aW9uIHNldFBvc2l0aW9uKCkKLSAgICB7Ci0gICAgICAgIFBh
Z2VBZ2VudC5zZXRHZW9sb2NhdGlvbk92ZXJyaWRlKDQzLjQ3NjA5MywgLTgwLjU0MDI5OSwgMTUw
KTsKLSAgICAgICAgc2V0VGltZW91dChzZXRFcnJvciwgMSk7Ci0gICAgfQotICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2UoImdldEdlb2xvY2F0aW9uKCkiLCBzZXRQb3NpdGlvbik7Ci19
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotPC9w
PgotPC9ib2R5PgotPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220682</attachid>
            <date>2014-01-08 17:33:18 -0800</date>
            <delta_ts>2014-01-08 19:04:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126630-20140109103316.patch</filename>
            <type>text/plain</type>
            <size>52977</size>
            <attacher name="Seokju Kwon">seokju</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxNTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzVkYTY1ZTJjMmM2NTQ3
MWFkY2RhYTVlNGJmMjkyZDM2ZmY4ZGRiZS4uZDBjMGJjNmRkODlmMGY5NjZlZTkyODljNGRiNzRi
MDA1MGRmZGNjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQyIEBACisyMDE0LTAxLTA4ICBTZW9r
anUgS3dvbiAgPHNlb2tqdUB3ZWJraXQub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJl
bW92ZSB1bnVzZWQgb3ZlcnJpZGluZyBwcm90b2NvbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjY2MzAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIE5vIGNoYW5nZSBpbiBiZWhh
dmlvci4KKworICAgICAgICBSZW1vdmUgdW51c2VkIG92ZXJyaWRpbmcgcHJvdG9jb2xzIGFzIHRo
ZXNlIGFyZSBub3QgdXNlZCBhbnltb3JlIGluIEZyb250bmVkLgorICAgICAgICAtUGFnZS5zZXRH
ZW9sb2NhdGlvbk92ZXJyaWRlCisgICAgICAgIC1QYWdlLmNsZWFyR2VvbG9jYXRpb25PdmVycmlk
ZQorICAgICAgICAtUGFnZS5jYW5PdmVycmlkZUdlb2xvY2F0aW9uCisgICAgICAgIC1QYWdlLnNl
dERldmljZU9yaWVudGF0aW9uT3ZlcnJpZGUKKyAgICAgICAgLVBhZ2UuY2xlYXJEZXZpY2VPcmll
bnRhdGlvbk92ZXJyaWRlCisgICAgICAgIC1QYWdlLmNhbk92ZXJyaWRlR2VvbG9jYXRpb24KKyAg
ICAgICAgLU5ldHdvcmsuc2V0VXNlckFnZW50T3ZlcnJpZGUKKworICAgICAgICAqIE1vZHVsZXMv
Z2VvbG9jYXRpb24vR2VvbG9jYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okdlb2xvY2F0aW9uQ29udHJvbGxlcjo6cG9zaXRpb25DaGFuZ2VkKToKKyAgICAgICAgKiBkb20v
RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRldmlj
ZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6ZGlkQ2hhbmdlRGV2
aWNlT3JpZW50YXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6cHJvdmlkZURldmljZU9yaWVudGF0
aW9uVG8pOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaDoKKyAg
ICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcDoKKyAgICAgICAg
KiBpbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmg6CisgICAgICAgICogaW5zcGVj
dG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JQ
YWdlQWdlbnQ6Okluc3BlY3RvclBhZ2VBZ2VudCk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3Bl
Y3RvclBhZ2VBZ2VudC5oOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFn
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclJlc291cmNlQWdlbnQ6OmRpc2Fi
bGUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50Lmg6CisgICAg
ICAgICogaW5zcGVjdG9yL3Byb3RvY29sL05ldHdvcmsuanNvbjoKKyAgICAgICAgKiBpbnNwZWN0
b3IvcHJvdG9jb2wvUGFnZS5qc29uOgorICAgICAgICAqIGxvYWRlci9GcmFtZUxvYWRlci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZUxvYWRlcjo6dXNlckFnZW50KToKKwogMjAxNC0wMS0w
NyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIGEg
ZnJhY3Rpb25hbCB2YWx1ZSBvZiB0aGUgY3NzIGxldHRlci1zcGFjaW5nIHByb3BlcnR5IGlzIG5v
dCByZW5kZXJlZCBhcyBleHBlY3RlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKaW5kZXggOTNlYmVi
Njg2ZmVmYWQ3MjBlYzNmMmViZWU5YTIyZTg5NGEyNWM4ZS4uMzUwMDIwYzVhMDI2NTJkNmIzMDYy
M2RhNzQzN2JhOWNjMDE2MmJlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCkBAIC0xLDMgKzEs
MTggQEAKKzIwMTQtMDEtMDggIFNlb2tqdSBLd29uICA8c2Vva2p1QHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgV2ViIEluc3BlY3RvcjogUmVtb3ZlIHVudXNlZCBvdmVycmlkaW5nIHByb3RvY29scy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNjYzMAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBJ
bnNwZWN0b3JXZWJCYWNrZW5kQ29tbWFuZHMuanMgYWZ0ZXIgcmVtb3ZpbmcgdW51c2VkIG92ZXJy
aWRpbmcgcHJvdG9jb2xzLgorCisgICAgICAgICogVXNlckludGVyZmFjZS9JbnNwZWN0b3JXZWJC
YWNrZW5kQ29tbWFuZHMuanM6CisgICAgICAgICogVXNlckludGVyZmFjZS9MZWdhY3kvNi4wL0lu
c3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0xl
Z2FjeS83LjAvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzOgorICAgICAgICAqIFZlcnNp
b25zL0luc3BlY3Rvci1pT1MtNi4wLmpzb246CisgICAgICAgICogVmVyc2lvbnMvSW5zcGVjdG9y
LWlPUy03LjAuanNvbjoKKwogMjAxNC0wMS0wNyAgSm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9A
YXBwbGUuY29tPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IFR5cG8gImNsaXBib2FyUHJlZml4
U3RyaW5nIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9H
ZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2Nh
dGlvbi9HZW9sb2NhdGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4IDdjNzNlYzk3N2NjZjZmMmNhZTE4
OTI4Yjk4YzFjNDM4NmQyZDMyNzguLjlhYjZjYzliM2M4NzM2NDU3YjQ0MjM2YTI0Nzc0ZGMxZDYz
ZDk5YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2Vv
bG9jYXRpb25Db250cm9sbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xv
Y2F0aW9uL0dlb2xvY2F0aW9uQ29udHJvbGxlci5jcHAKQEAgLTMxLDcgKzMxLDYgQEAKICNpbmNs
dWRlICJHZW9sb2NhdGlvbkNsaWVudC5oIgogI2luY2x1ZGUgIkdlb2xvY2F0aW9uRXJyb3IuaCIK
ICNpbmNsdWRlICJHZW9sb2NhdGlvblBvc2l0aW9uLmgiCi0jaW5jbHVkZSAiSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTAxLDExICsxMDAs
NiBAQCB2b2lkIEdlb2xvY2F0aW9uQ29udHJvbGxlcjo6Y2FuY2VsUGVybWlzc2lvblJlcXVlc3Qo
R2VvbG9jYXRpb24qIGdlb2xvY2F0aW9uKQogCiB2b2lkIEdlb2xvY2F0aW9uQ29udHJvbGxlcjo6
cG9zaXRpb25DaGFuZ2VkKEdlb2xvY2F0aW9uUG9zaXRpb24qIHBvc2l0aW9uKQogewotICAgIHBv
c2l0aW9uID0gSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpvdmVycmlkZUdlb2xvY2F0aW9uUG9z
aXRpb24obV9wYWdlLCBwb3NpdGlvbik7Ci0gICAgaWYgKCFwb3NpdGlvbikgewotICAgICAgICBl
cnJvck9jY3VycmVkKEdlb2xvY2F0aW9uRXJyb3I6OmNyZWF0ZShHZW9sb2NhdGlvbkVycm9yOjpQ
b3NpdGlvblVuYXZhaWxhYmxlLCBBU0NJSUxpdGVyYWwoIlBvc2l0aW9uVW5hdmFpbGFibGUiKSku
Z2V0KCkpOwotICAgICAgICByZXR1cm47Ci0gICAgfQogICAgIG1fbGFzdFBvc2l0aW9uID0gcG9z
aXRpb247CiAgICAgVmVjdG9yPFJlZlB0cjxHZW9sb2NhdGlvbj4+IG9ic2VydmVyc1ZlY3RvcjsK
ICAgICBjb3B5VG9WZWN0b3IobV9vYnNlcnZlcnMsIG9ic2VydmVyc1ZlY3Rvcik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwCmluZGV4
IGZmN2IwMDRkZDdkNWI1ZDU0ZWQxMzYwNzJkYjgyMzIwNjg0YmIzZGMuLjVjZTdjNWRkMmQyZWUw
MTdjNmI1ZmUxYThhNTc3Mzk3NGU5NmEyMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwCkBAIC0zMCwxMyArMzAsMTIgQEAKICNp
bmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkNsaWVudC5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVu
dGF0aW9uRGF0YS5oIgogI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uRXZlbnQuaCIKLSNpbmNs
dWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlICJQYWdlLmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjpEZXZpY2VP
cmllbnRhdGlvbkNvbnRyb2xsZXIoUGFnZSogcGFnZSwgRGV2aWNlT3JpZW50YXRpb25DbGllbnQq
IGNsaWVudCkKK0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6RGV2aWNlT3JpZW50YXRpb25D
b250cm9sbGVyKERldmljZU9yaWVudGF0aW9uQ2xpZW50KiBjbGllbnQpCiAgICAgOiBEZXZpY2VD
b250cm9sbGVyKGNsaWVudCkKLSAgICAsIG1fcGFnZShwYWdlKQogewogI2lmIFBMQVRGT1JNKElP
UykKICAgICAvLyBGSVhNRTogVGVtcG9yYXJpbHkgYXZvaWQgYXNzZXJ0aW5nIHdoaWxlIE9wZW5T
b3VyY2UgaXMgdXNpbmcgYSBkaWZmZXJlbnQgZGVzaWduLgpAQCAtNTAsMTQgKzQ5LDEzIEBAIERl
dmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKFBh
Z2UqIHBhZ2UsIERldmljZU9yaWVuCiAjZW5kaWYKIH0KIAotUGFzc093blB0cjxEZXZpY2VPcmll
bnRhdGlvbkNvbnRyb2xsZXI+IERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6Y3JlYXRlKFBh
Z2UqIHBhZ2UsIERldmljZU9yaWVudGF0aW9uQ2xpZW50KiBjbGllbnQpCitQYXNzT3duUHRyPERl
dmljZU9yaWVudGF0aW9uQ29udHJvbGxlcj4gRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjpj
cmVhdGUoRGV2aWNlT3JpZW50YXRpb25DbGllbnQqIGNsaWVudCkKIHsKLSAgICByZXR1cm4gYWRv
cHRQdHIobmV3IERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcihwYWdlLCBjbGllbnQpKTsKKyAg
ICByZXR1cm4gYWRvcHRQdHIobmV3IERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcihjbGllbnQp
KTsKIH0KIAogdm9pZCBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OmRpZENoYW5nZURldmlj
ZU9yaWVudGF0aW9uKERldmljZU9yaWVudGF0aW9uRGF0YSogb3JpZW50YXRpb24pCiB7Ci0gICAg
b3JpZW50YXRpb24gPSBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om92ZXJyaWRlRGV2aWNlT3Jp
ZW50YXRpb24obV9wYWdlLCBvcmllbnRhdGlvbik7CiAgICAgZGlzcGF0Y2hEZXZpY2VFdmVudChE
ZXZpY2VPcmllbnRhdGlvbkV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmRldmljZW9yaWVudGF0
aW9uRXZlbnQsIG9yaWVudGF0aW9uKSk7CiB9CiAKQEAgLTExMSw3ICsxMDksNyBAQCBib29sIERl
dmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6aXNBY3RpdmVBdChQYWdlKiBwYWdlKQogCiB2b2lk
IHByb3ZpZGVEZXZpY2VPcmllbnRhdGlvblRvKFBhZ2UqIHBhZ2UsIERldmljZU9yaWVudGF0aW9u
Q2xpZW50KiBjbGllbnQpCiB7Ci0gICAgRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjpwcm92
aWRlVG8ocGFnZSwgRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjpzdXBwbGVtZW50TmFtZSgp
LCBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OmNyZWF0ZShwYWdlLCBjbGllbnQpKTsKKyAg
ICBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OnByb3ZpZGVUbyhwYWdlLCBEZXZpY2VPcmll
bnRhdGlvbkNvbnRyb2xsZXI6OnN1cHBsZW1lbnROYW1lKCksIERldmljZU9yaWVudGF0aW9uQ29u
dHJvbGxlcjo6Y3JlYXRlKGNsaWVudCkpOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgKaW5k
ZXggNDc4M2Y1Y2NlYTkwYTJmYzliODY4ZTYxYTJmZDljZjE4NjIwNjI5OS4uOGEyMjBmYWNjNjIw
NzI4OTUzMTlmNDhmNTNkMzM0ZmY3ZDhkZDA1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaApAQCAtMzUsMTMgKzM1LDE0IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRGV2aWNlT3JpZW50YXRpb25DbGllbnQ7CiBjbGFzcyBE
ZXZpY2VPcmllbnRhdGlvbkRhdGE7CitjbGFzcyBQYWdlOwogCiBjbGFzcyBEZXZpY2VPcmllbnRh
dGlvbkNvbnRyb2xsZXIgOiBwdWJsaWMgRGV2aWNlQ29udHJvbGxlciB7CiAgICAgV1RGX01BS0Vf
Tk9OQ09QWUFCTEUoRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKTsKIHB1YmxpYzoKICAgICB+
RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKCkgeyB9OwogCi0gICAgc3RhdGljIFBhc3NPd25Q
dHI8RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyPiBjcmVhdGUoUGFnZSosIERldmljZU9yaWVu
dGF0aW9uQ2xpZW50Kik7CisgICAgc3RhdGljIFBhc3NPd25QdHI8RGV2aWNlT3JpZW50YXRpb25D
b250cm9sbGVyPiBjcmVhdGUoRGV2aWNlT3JpZW50YXRpb25DbGllbnQqKTsKIAogICAgIHZvaWQg
ZGlkQ2hhbmdlRGV2aWNlT3JpZW50YXRpb24oRGV2aWNlT3JpZW50YXRpb25EYXRhKik7CiAgICAg
RGV2aWNlT3JpZW50YXRpb25DbGllbnQqIGRldmljZU9yaWVudGF0aW9uQ2xpZW50KCk7CkBAIC02
MSw5ICs2Miw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBpc0FjdGl2ZUF0KFBhZ2UqKTsK
IAogcHJpdmF0ZToKLSAgICBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIoUGFnZSosIERldmlj
ZU9yaWVudGF0aW9uQ2xpZW50Kik7Ci0KLSAgICBQYWdlKiBtX3BhZ2U7CisgICAgRGV2aWNlT3Jp
ZW50YXRpb25Db250cm9sbGVyKERldmljZU9yaWVudGF0aW9uQ2xpZW50Kik7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwCmluZGV4IGUwZDU4NzUzYjQ0ZDgwZWRjNzdkYTcz
YzI3YzNkYzM5ZWVlMjkxODAuLjg1NTk5NmM5OWM0YTQ0N2Q0MWNmM2NmY2I2ZGQxOGE0ZmExMDQy
MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uY3BwCkBAIC00MSw3ICs0MSw2IEBACiAjaW5jbHVkZSAiRE9NV2luZG93Lmgi
CiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCiAjaW5jbHVkZSAiRGF0YWJhc2UuaCIKLSNp
bmNsdWRlICJEZXZpY2VPcmllbnRhdGlvbkRhdGEuaCIKICNpbmNsdWRlICJEb2N1bWVudExvYWRl
ci5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnREaXNwYXRjaGVyLmgiCkBA
IC02MTksMTIgKzYxOCw2IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRQcm9j
ZXNzUnVsZUltcGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uCiAgICAgICAgIGNzc0Fn
ZW50LT5kaWRQcm9jZXNzUnVsZSgpOwogfQogCi12b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bjo6YXBwbHlVc2VyQWdlbnRPdmVycmlkZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cywgU3RyaW5nKiB1c2VyQWdlbnQpCi17Ci0gICAgaWYgKEluc3BlY3RvclJl
c291cmNlQWdlbnQqIHJlc291cmNlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0
b3JSZXNvdXJjZUFnZW50KCkpCi0gICAgICAgIHJlc291cmNlQWdlbnQtPmFwcGx5VXNlckFnZW50
T3ZlcnJpZGUodXNlckFnZW50KTsKLX0KLQogdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmFwcGx5RW11bGF0ZWRNZWRpYUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGlu
Z0FnZW50cywgU3RyaW5nKiBtZWRpYSkKIHsKICAgICBpZiAoSW5zcGVjdG9yUGFnZUFnZW50KiBw
YWdlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JQYWdlQWdlbnQoKSkKQEAg
LTEyOTgsMjIgKzEyOTEsNiBAQCBJbnN0cnVtZW50aW5nQWdlbnRzKiBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246Omluc3RydW1lbnRpbmdBZ2VudHNGb3JOb25Eb2N1bWVudAogICAgIHJldHVybiAw
OwogfQogCi0jaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQotR2VvbG9jYXRpb25Qb3NpdGlvbiogSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpvdmVycmlkZUdlb2xvY2F0aW9uUG9zaXRpb25JbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIEdlb2xvY2F0aW9uUG9zaXRp
b24qIHBvc2l0aW9uKQotewotICAgIGlmIChJbnNwZWN0b3JQYWdlQWdlbnQqIHBhZ2VBZ2VudCA9
IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclBhZ2VBZ2VudCgpKQotICAgICAgICBwb3Np
dGlvbiA9IHBhZ2VBZ2VudC0+b3ZlcnJpZGVHZW9sb2NhdGlvblBvc2l0aW9uKHBvc2l0aW9uKTsK
LSAgICByZXR1cm4gcG9zaXRpb247Ci19Ci0jZW5kaWYKLQotRGV2aWNlT3JpZW50YXRpb25EYXRh
KiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om92ZXJyaWRlRGV2aWNlT3JpZW50YXRpb25JbXBs
KEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIERldmljZU9yaWVudGF0
aW9uRGF0YSogZGV2aWNlT3JpZW50YXRpb24pCi17Ci0gICAgaWYgKEluc3BlY3RvclBhZ2VBZ2Vu
dCogcGFnZUFnZW50ID0gaW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yUGFnZUFnZW50KCkp
Ci0gICAgICAgIGRldmljZU9yaWVudGF0aW9uID0gcGFnZUFnZW50LT5vdmVycmlkZURldmljZU9y
aWVudGF0aW9uKGRldmljZU9yaWVudGF0aW9uKTsKLSAgICByZXR1cm4gZGV2aWNlT3JpZW50YXRp
b247Ci19Ci0KICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiB2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6bGF5ZXJUcmVlRGlkQ2hhbmdlSW1wbChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IGFhMWFjZWRkMmFmOTE2NGJm
Mjc2MmY3NDY4Nzk2OTYyNzc0YTRiYmYuLjZiZjM0YThlNjhiMmU3MzM2ZDFmOWNmZjUyZjhmMDA1
Nzc3YTJmNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uLmgKQEAgLTYxLDggKzYxLDYgQEAgY2xhc3MgRG9jdW1lbnQ7CiBjbGFz
cyBFbGVtZW50OwogY2xhc3MgRG9jdW1lbnRMb2FkZXI7CiBjbGFzcyBEb2N1bWVudFN0eWxlU2hl
ZXRDb2xsZWN0aW9uOwotY2xhc3MgRGV2aWNlT3JpZW50YXRpb25EYXRhOwotY2xhc3MgR2VvbG9j
YXRpb25Qb3NpdGlvbjsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIEhUVFBIZWFkZXJN
YXA7CiBjbGFzcyBJbnNwZWN0b3JDU1NBZ2VudDsKQEAgLTE4NSw3ICsxODMsNiBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNvb2tpZSB3aWxsUHJvY2Vzc1J1
bGUoRG9jdW1lbnQqLCBTdHlsZVJ1bGUqLCBTdHlsZVJlc29sdmVyJik7CiAgICAgc3RhdGljIHZv
aWQgZGlkUHJvY2Vzc1J1bGUoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7
CiAKLSAgICBzdGF0aWMgdm9pZCBhcHBseVVzZXJBZ2VudE92ZXJyaWRlKEZyYW1lKiwgU3RyaW5n
Kik7CiAgICAgc3RhdGljIHZvaWQgYXBwbHlFbXVsYXRlZE1lZGlhKEZyYW1lKiwgU3RyaW5nKik7
CiAgICAgc3RhdGljIHZvaWQgd2lsbFNlbmRSZXF1ZXN0KEZyYW1lKiwgdW5zaWduZWQgbG9uZyBp
ZGVudGlmaWVyLCBEb2N1bWVudExvYWRlciosIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291
cmNlUmVzcG9uc2UmIHJlZGlyZWN0UmVzcG9uc2UpOwogICAgIHN0YXRpYyB2b2lkIGNvbnRpbnVl
QWZ0ZXJQaW5nTG9hZGVyKEZyYW1lKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVu
dExvYWRlciosIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKQEAg
LTI5OCwxNSArMjk1LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIHRpbWVsaW5lQWdlbnRF
bmFibGVkKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKSB7IHJldHVybiBmYWxzZTsgfQogI2VuZGlm
CiAKLSNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCi0gICAgc3RhdGljIEdlb2xvY2F0aW9uUG9zaXRp
b24qIG92ZXJyaWRlR2VvbG9jYXRpb25Qb3NpdGlvbihQYWdlKiwgR2VvbG9jYXRpb25Qb3NpdGlv
biopOwotI2VuZGlmCi0KICAgICBzdGF0aWMgdm9pZCByZWdpc3Rlckluc3RydW1lbnRpbmdBZ2Vu
dHMoSW5zdHJ1bWVudGluZ0FnZW50cyopOwogICAgIHN0YXRpYyB2b2lkIHVucmVnaXN0ZXJJbnN0
cnVtZW50aW5nQWdlbnRzKEluc3RydW1lbnRpbmdBZ2VudHMqKTsKIAotICAgIHN0YXRpYyBEZXZp
Y2VPcmllbnRhdGlvbkRhdGEqIG92ZXJyaWRlRGV2aWNlT3JpZW50YXRpb24oUGFnZSosIERldmlj
ZU9yaWVudGF0aW9uRGF0YSopOwotCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQog
ICAgIHN0YXRpYyB2b2lkIGxheWVyVHJlZURpZENoYW5nZShQYWdlKik7CiAgICAgc3RhdGljIHZv
aWQgcmVuZGVyTGF5ZXJEZXN0cm95ZWQoUGFnZSosIGNvbnN0IFJlbmRlckxheWVyKik7CkBAIC0z
ODIsNyArMzczLDYgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uQ29va2llIHdpbGxQcm9jZXNzUnVsZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIFN0eWxl
UnVsZSosIFN0eWxlUmVzb2x2ZXImKTsKICAgICBzdGF0aWMgdm9pZCBkaWRQcm9jZXNzUnVsZUlt
cGwoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAKLSAgICBzdGF0aWMg
dm9pZCBhcHBseVVzZXJBZ2VudE92ZXJyaWRlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgU3Ry
aW5nKik7CiAgICAgc3RhdGljIHZvaWQgYXBwbHlFbXVsYXRlZE1lZGlhSW1wbChJbnN0cnVtZW50
aW5nQWdlbnRzKiwgU3RyaW5nKik7CiAgICAgc3RhdGljIHZvaWQgd2lsbFNlbmRSZXF1ZXN0SW1w
bChJbnN0cnVtZW50aW5nQWdlbnRzKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVu
dExvYWRlciosIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlZGly
ZWN0UmVzcG9uc2UpOwogICAgIHN0YXRpYyB2b2lkIGNvbnRpbnVlQWZ0ZXJQaW5nTG9hZGVySW1w
bChJbnN0cnVtZW50aW5nQWdlbnRzKiwgdW5zaWduZWQgbG9uZyBpZGVudGlmaWVyLCBEb2N1bWVu
dExvYWRlciosIFJlc291cmNlUmVxdWVzdCYsIGNvbnN0IFJlc291cmNlUmVzcG9uc2UmKTsKQEAg
LTQ4NSwxMiArNDc1LDYgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBjYW5jZWxQYXVzZU9u
TmF0aXZlRXZlbnQoSW5zdHJ1bWVudGluZ0FnZW50cyopOwogICAgIHN0YXRpYyBJbnNwZWN0b3JU
aW1lbGluZUFnZW50KiByZXRyaWV2ZVRpbWVsaW5lQWdlbnQoY29uc3QgSW5zcGVjdG9ySW5zdHJ1
bWVudGF0aW9uQ29va2llJik7CiAKLSNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCi0gICAgc3RhdGlj
IEdlb2xvY2F0aW9uUG9zaXRpb24qIG92ZXJyaWRlR2VvbG9jYXRpb25Qb3NpdGlvbkltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyosIEdlb2xvY2F0aW9uUG9zaXRpb24qKTsKLSNlbmRpZgotCi0gICAg
c3RhdGljIERldmljZU9yaWVudGF0aW9uRGF0YSogb3ZlcnJpZGVEZXZpY2VPcmllbnRhdGlvbklt
cGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIERldmljZU9yaWVudGF0aW9uRGF0YSopOwotCiAjaWYg
VVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogICAgIHN0YXRpYyB2b2lkIGxheWVyVHJlZURp
ZENoYW5nZUltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyopOwogICAgIHN0YXRpYyB2b2lkIHJlbmRl
ckxheWVyRGVzdHJveWVkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgY29uc3QgUmVuZGVyTGF5
ZXIqKTsKQEAgLTEyNjEsMTggKzEyNDUsNiBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZFByb2Nlc3NSdWxlKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdAogI2Vu
ZGlmCiB9CiAKLWlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YXBwbHlVc2Vy
QWdlbnRPdmVycmlkZShGcmFtZSogZnJhbWUsIFN0cmluZyogdXNlckFnZW50KQotewotI2lmIEVO
QUJMRShJTlNQRUNUT1IpCi0gICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHZvaWQoKSk7
Ci0gICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0
cnVtZW50aW5nQWdlbnRzRm9yRnJhbWUoZnJhbWUpKQotICAgICAgICBhcHBseVVzZXJBZ2VudE92
ZXJyaWRlSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCB1c2VyQWdlbnQpOwotI2Vsc2UKLSAgICBV
TlVTRURfUEFSQU0oZnJhbWUpOwotICAgIFVOVVNFRF9QQVJBTSh1c2VyQWdlbnQpOwotI2VuZGlm
Ci19Ci0KIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YXBwbHlFbXVsYXRl
ZE1lZGlhKEZyYW1lKiBmcmFtZSwgU3RyaW5nKiBtZWRpYSkKIHsKICNpZiBFTkFCTEUoSU5TUEVD
VE9SKQpAQCAtMTk1NSwzMiArMTkyNyw2IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1l
bnRhdGlvbjo6ZGlkRmlyZUFuaW1hdGlvbkZyYW1lKGNvbnN0IEluc3BlY3Rvckluc3RyCiAjZW5k
aWYKIH0KIAotI2lmIEVOQUJMRShHRU9MT0NBVElPTikKLWlubGluZSBHZW9sb2NhdGlvblBvc2l0
aW9uKiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Om92ZXJyaWRlR2VvbG9jYXRpb25Qb3NpdGlv
bihQYWdlKiBwYWdlLCBHZW9sb2NhdGlvblBvc2l0aW9uKiBwb3NpdGlvbikKLXsKLSNpZiBFTkFC
TEUoSU5TUEVDVE9SKQotICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhwb3NpdGlvbik7
Ci0gICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0
cnVtZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKLSAgICAgICAgcmV0dXJuIG92ZXJyaWRlR2Vv
bG9jYXRpb25Qb3NpdGlvbkltcGwoaW5zdHJ1bWVudGluZ0FnZW50cywgcG9zaXRpb24pOwotI2Vs
c2UKLSAgICBVTlVTRURfUEFSQU0ocGFnZSk7Ci0jZW5kaWYKLSAgICByZXR1cm4gcG9zaXRpb247
Ci19Ci0jZW5kaWYKLQotaW5saW5lIERldmljZU9yaWVudGF0aW9uRGF0YSogSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpvdmVycmlkZURldmljZU9yaWVudGF0aW9uKFBhZ2UqIHBhZ2UsIERldmlj
ZU9yaWVudGF0aW9uRGF0YSogZGV2aWNlT3JpZW50YXRpb24pCi17Ci0jaWYgRU5BQkxFKElOU1BF
Q1RPUikKLSAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFMoZGV2aWNlT3JpZW50YXRpb24p
OwotICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5z
dHJ1bWVudGluZ0FnZW50c0ZvclBhZ2UocGFnZSkpCi0gICAgICAgIHJldHVybiBvdmVycmlkZURl
dmljZU9yaWVudGF0aW9uSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBkZXZpY2VPcmllbnRhdGlv
bik7Ci0jZWxzZQotICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKLSNlbmRpZgotICAgIHJldHVybiBk
ZXZpY2VPcmllbnRhdGlvbjsKLX0KLQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykK
IGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bGF5ZXJUcmVlRGlkQ2hhbmdl
KFBhZ2UqIHBhZ2UpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUGFnZUFnZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQ
YWdlQWdlbnQuY3BwCmluZGV4IDEyZDBiN2U3OGU4Mzg1OTQ4Yjg2MTI0ZmU2NWZmNTE3Y2U1ZTZl
MjUuLjEwODM1YzQ1NjQ5ZTM5NThkM2VhMjNmMjE1YWE4Y2FmMTE2NTM5ODcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuY3BwCkBAIC00NiwxNSAr
NDYsMTIgQEAKICNpbmNsdWRlICJET01JbXBsZW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkRPTVBh
dGNoU3VwcG9ydC5oIgogI2luY2x1ZGUgIkRPTVdyYXBwZXJXb3JsZC5oIgotI2luY2x1ZGUgIkRl
dmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnRMb2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZy
YW1lTG9hZGVyLmgiCiAjaW5jbHVkZSAiRnJhbWVTbmFwc2hvdHRpbmcuaCIKICNpbmNsdWRlICJG
cmFtZVZpZXcuaCIKLSNpbmNsdWRlICJHZW9sb2NhdGlvbkNvbnRyb2xsZXIuaCIKLSNpbmNsdWRl
ICJHZW9sb2NhdGlvbkVycm9yLmgiCiAjaW5jbHVkZSAiSFRNTEZyYW1lT3duZXJFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSWRlbnRpZmllcnNGYWN0b3J5Lmgi
CkBAIC0zNjMsNyArMzYwLDYgQEAgSW5zcGVjdG9yUGFnZUFnZW50OjpJbnNwZWN0b3JQYWdlQWdl
bnQoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywKICAgICAsIG1fZW5h
YmxlZChmYWxzZSkKICAgICAsIG1faXNGaXJzdExheW91dEFmdGVyT25Mb2FkKGZhbHNlKQogICAg
ICwgbV9vcmlnaW5hbFNjcmlwdEV4ZWN1dGlvbkRpc2FibGVkKGZhbHNlKQotICAgICwgbV9nZW9s
b2NhdGlvbk92ZXJyaWRkZW4oZmFsc2UpCiAgICAgLCBtX2lnbm9yZVNjcmlwdHNFbmFibGVkTm90
aWZpY2F0aW9uKGZhbHNlKQogICAgICwgbV9zaG93UGFpbnRSZWN0cyhmYWxzZSkKIHsKQEAgLTEw
MzIsMTA2ICsxMDI4LDYgQEAgdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OnVwZGF0ZVRvdWNoRXZl
bnRFbXVsYXRpb25JblBhZ2UoYm9vbCBlbmFibGVkKQogfQogI2VuZGlmCiAKLXZvaWQgSW5zcGVj
dG9yUGFnZUFnZW50OjpzZXRHZW9sb2NhdGlvbk92ZXJyaWRlKEVycm9yU3RyaW5nKiBlcnJvciwg
Y29uc3QgZG91YmxlKiBsYXRpdHVkZSwgY29uc3QgZG91YmxlKiBsb25naXR1ZGUsIGNvbnN0IGRv
dWJsZSogYWNjdXJhY3kpCi17Ci0jaWYgRU5BQkxFIChHRU9MT0NBVElPTikKLSAgICBHZW9sb2Nh
dGlvbkNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBHZW9sb2NhdGlvbkNvbnRyb2xsZXI6OmZyb20o
bV9wYWdlKTsKLSAgICBHZW9sb2NhdGlvblBvc2l0aW9uKiBwb3NpdGlvbiA9IDA7Ci0gICAgaWYg
KCFjb250cm9sbGVyKSB7Ci0gICAgICAgICplcnJvciA9ICJJbnRlcm5hbCBlcnJvcjogdW5hYmxl
IHRvIG92ZXJyaWRlIGdlb2xvY2F0aW9uIjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBw
b3NpdGlvbiA9IGNvbnRyb2xsZXItPmxhc3RQb3NpdGlvbigpOwotICAgIGlmICghbV9nZW9sb2Nh
dGlvbk92ZXJyaWRkZW4gJiYgcG9zaXRpb24pCi0gICAgICAgIG1fcGxhdGZvcm1HZW9sb2NhdGlv
blBvc2l0aW9uID0gcG9zaXRpb247Ci0KLSAgICBtX2dlb2xvY2F0aW9uT3ZlcnJpZGRlbiA9IHRy
dWU7Ci0gICAgaWYgKGxhdGl0dWRlICYmIGxvbmdpdHVkZSAmJiBhY2N1cmFjeSkKLSAgICAgICAg
bV9nZW9sb2NhdGlvblBvc2l0aW9uID0gR2VvbG9jYXRpb25Qb3NpdGlvbjo6Y3JlYXRlKGN1cnJl
bnRUaW1lTVMoKSwgKmxhdGl0dWRlLCAqbG9uZ2l0dWRlLCAqYWNjdXJhY3kpOwotICAgIGVsc2UK
LSAgICAgICAgbV9nZW9sb2NhdGlvblBvc2l0aW9uLmNsZWFyKCk7Ci0KLSAgICBjb250cm9sbGVy
LT5wb3NpdGlvbkNoYW5nZWQoMCk7IC8vIEtpY2sgbG9jYXRpb24gdXBkYXRlLgotI2Vsc2UKLSAg
ICAqZXJyb3IgPSAiR2VvbG9jYXRpb24gaXMgbm90IGF2YWlsYWJsZSI7Ci0gICAgVU5VU0VEX1BB
UkFNKGxhdGl0dWRlKTsKLSAgICBVTlVTRURfUEFSQU0obG9uZ2l0dWRlKTsKLSAgICBVTlVTRURf
UEFSQU0oYWNjdXJhY3kpOwotI2VuZGlmCi19Ci0KLXZvaWQgSW5zcGVjdG9yUGFnZUFnZW50Ojpj
bGVhckdlb2xvY2F0aW9uT3ZlcnJpZGUoRXJyb3JTdHJpbmcqIGVycm9yKQotewotICAgIGlmICgh
bV9nZW9sb2NhdGlvbk92ZXJyaWRkZW4pCi0gICAgICAgIHJldHVybjsKLSNpZiBFTkFCTEUoR0VP
TE9DQVRJT04pCi0gICAgVU5VU0VEX1BBUkFNKGVycm9yKTsKLSAgICBtX2dlb2xvY2F0aW9uT3Zl
cnJpZGRlbiA9IGZhbHNlOwotICAgIG1fZ2VvbG9jYXRpb25Qb3NpdGlvbi5jbGVhcigpOwotCi0g
ICAgR2VvbG9jYXRpb25Db250cm9sbGVyKiBjb250cm9sbGVyID0gR2VvbG9jYXRpb25Db250cm9s
bGVyOjpmcm9tKG1fcGFnZSk7Ci0gICAgaWYgKGNvbnRyb2xsZXIgJiYgbV9wbGF0Zm9ybUdlb2xv
Y2F0aW9uUG9zaXRpb24uZ2V0KCkpCi0gICAgICAgIGNvbnRyb2xsZXItPnBvc2l0aW9uQ2hhbmdl
ZChtX3BsYXRmb3JtR2VvbG9jYXRpb25Qb3NpdGlvbi5nZXQoKSk7Ci0jZWxzZQotICAgICplcnJv
ciA9ICJHZW9sb2NhdGlvbiBpcyBub3QgYXZhaWxhYmxlIjsKLSNlbmRpZgotfQotCi12b2lkIElu
c3BlY3RvclBhZ2VBZ2VudDo6Y2FuT3ZlcnJpZGVHZW9sb2NhdGlvbihFcnJvclN0cmluZyosIGJv
b2wqIG91dF9wYXJhbSkKLXsKLSNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCi0gICAgKm91dF9wYXJh
bSA9IHRydWU7Ci0jZWxzZQotICAgICpvdXRfcGFyYW0gPSBmYWxzZTsKLSNlbmRpZgotfQotCi1H
ZW9sb2NhdGlvblBvc2l0aW9uKiBJbnNwZWN0b3JQYWdlQWdlbnQ6Om92ZXJyaWRlR2VvbG9jYXRp
b25Qb3NpdGlvbihHZW9sb2NhdGlvblBvc2l0aW9uKiBwb3NpdGlvbikKLXsKLSAgICBpZiAobV9n
ZW9sb2NhdGlvbk92ZXJyaWRkZW4pIHsKLSAgICAgICAgaWYgKHBvc2l0aW9uKQotICAgICAgICAg
ICAgbV9wbGF0Zm9ybUdlb2xvY2F0aW9uUG9zaXRpb24gPSBwb3NpdGlvbjsKLSAgICAgICAgcmV0
dXJuIG1fZ2VvbG9jYXRpb25Qb3NpdGlvbi5nZXQoKTsKLSAgICB9Ci0gICAgcmV0dXJuIHBvc2l0
aW9uOwotfQotCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6c2V0RGV2aWNlT3JpZW50YXRpb25P
dmVycmlkZShFcnJvclN0cmluZyogZXJyb3IsIGRvdWJsZSBhbHBoYSwgZG91YmxlIGJldGEsIGRv
dWJsZSBnYW1tYSkKLXsKLSAgICBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIqIGNvbnRyb2xs
ZXIgPSBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OmZyb20obV9wYWdlKTsKLSAgICBpZiAo
IWNvbnRyb2xsZXIpIHsKLSAgICAgICAgKmVycm9yID0gIkludGVybmFsIGVycm9yOiB1bmFibGUg
dG8gb3ZlcnJpZGUgZGV2aWNlIG9yaWVudGF0aW9uIjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0K
LQotICAgIEVycm9yU3RyaW5nIGNsZWFyRXJyb3I7Ci0gICAgY2xlYXJEZXZpY2VPcmllbnRhdGlv
bk92ZXJyaWRlKCZjbGVhckVycm9yKTsKLQotICAgIG1fZGV2aWNlT3JpZW50YXRpb24gPSBEZXZp
Y2VPcmllbnRhdGlvbkRhdGE6OmNyZWF0ZSh0cnVlLCBhbHBoYSwgdHJ1ZSwgYmV0YSwgdHJ1ZSwg
Z2FtbWEpOwotICAgIGNvbnRyb2xsZXItPmRpZENoYW5nZURldmljZU9yaWVudGF0aW9uKG1fZGV2
aWNlT3JpZW50YXRpb24uZ2V0KCkpOwotfQotCi12b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6Y2xl
YXJEZXZpY2VPcmllbnRhdGlvbk92ZXJyaWRlKEVycm9yU3RyaW5nKikKLXsKLSAgICBtX2Rldmlj
ZU9yaWVudGF0aW9uLmNsZWFyKCk7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpjYW5P
dmVycmlkZURldmljZU9yaWVudGF0aW9uKEVycm9yU3RyaW5nKiwgYm9vbCogb3V0UGFyYW0pCi17
Ci0jaWYgRU5BQkxFKERFVklDRV9PUklFTlRBVElPTikKLSAgICAqb3V0UGFyYW0gPSB0cnVlOwot
I2Vsc2UKLSAgICAqb3V0UGFyYW0gPSBmYWxzZTsKLSNlbmRpZgotfQotCi1EZXZpY2VPcmllbnRh
dGlvbkRhdGEqIEluc3BlY3RvclBhZ2VBZ2VudDo6b3ZlcnJpZGVEZXZpY2VPcmllbnRhdGlvbihE
ZXZpY2VPcmllbnRhdGlvbkRhdGEqIGRldmljZU9yaWVudGF0aW9uKQotewotICAgIGlmIChtX2Rl
dmljZU9yaWVudGF0aW9uKQotICAgICAgICBkZXZpY2VPcmllbnRhdGlvbiA9IG1fZGV2aWNlT3Jp
ZW50YXRpb24uZ2V0KCk7Ci0gICAgcmV0dXJuIGRldmljZU9yaWVudGF0aW9uOwotfQotCiB2b2lk
IEluc3BlY3RvclBhZ2VBZ2VudDo6c2V0VG91Y2hFbXVsYXRpb25FbmFibGVkKEVycm9yU3RyaW5n
KiBlcnJvciwgYm9vbCBlbmFibGVkKQogewogI2lmIEVOQUJMRShUT1VDSF9FVkVOVFMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50LmgKaW5kZXggMDA0OTYw
NzAxZmU4NWUzY2JmMTc4MzNiNGU0MmE5NDNlYmZmNzBjYi4uNzA4NmI4NTQ0MTM0NzVjM2RjNGJi
ZGRlMTAwZWQ3Zjg3YmFlNGI2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclBhZ2VBZ2VudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JQYWdlQWdlbnQuaApAQCAtMzMsOCArMzMsNiBAQAogCiAjaWYgRU5BQkxFKElOU1BFQ1RP
UikKIAotI2luY2x1ZGUgIkRldmljZU9yaWVudGF0aW9uRGF0YS5oIgotI2luY2x1ZGUgIkdlb2xv
Y2F0aW9uUG9zaXRpb24uaCIKICNpbmNsdWRlICJJbnNwZWN0b3JXZWJBZ2VudEJhc2UuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JXZWJCYWNrZW5kRGlzcGF0Y2hlcnMuaCIKICNpbmNsdWRlICJJbnNw
ZWN0b3JXZWJGcm9udGVuZERpc3BhdGNoZXJzLmgiCkBAIC0xMjEsMTIgKzExOSw2IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0Q29udGludW91c1BhaW50aW5nRW5hYmxlZChFcnJvclN0
cmluZyosIGJvb2wgZW5hYmxlZCk7CiAgICAgdmlydHVhbCB2b2lkIGdldFNjcmlwdEV4ZWN1dGlv
blN0YXR1cyhFcnJvclN0cmluZyosIEluc3BlY3Rvcjo6SW5zcGVjdG9yUGFnZUJhY2tlbmREaXNw
YXRjaGVySGFuZGxlcjo6UmVzdWx0OjpFbnVtKik7CiAgICAgdmlydHVhbCB2b2lkIHNldFNjcmlw
dEV4ZWN1dGlvbkRpc2FibGVkKEVycm9yU3RyaW5nKiwgYm9vbCk7Ci0gICAgdmlydHVhbCB2b2lk
IHNldEdlb2xvY2F0aW9uT3ZlcnJpZGUoRXJyb3JTdHJpbmcqLCBjb25zdCBkb3VibGUqLCBjb25z
dCBkb3VibGUqLCBjb25zdCBkb3VibGUqKTsKLSAgICB2aXJ0dWFsIHZvaWQgY2xlYXJHZW9sb2Nh
dGlvbk92ZXJyaWRlKEVycm9yU3RyaW5nKik7Ci0gICAgdmlydHVhbCB2b2lkIGNhbk92ZXJyaWRl
R2VvbG9jYXRpb24oRXJyb3JTdHJpbmcqLCBib29sKiBvdXRfcGFyYW0pOwotICAgIHZpcnR1YWwg
dm9pZCBzZXREZXZpY2VPcmllbnRhdGlvbk92ZXJyaWRlKEVycm9yU3RyaW5nKiwgZG91YmxlLCBk
b3VibGUsIGRvdWJsZSk7Ci0gICAgdmlydHVhbCB2b2lkIGNsZWFyRGV2aWNlT3JpZW50YXRpb25P
dmVycmlkZShFcnJvclN0cmluZyopOwotICAgIHZpcnR1YWwgdm9pZCBjYW5PdmVycmlkZURldmlj
ZU9yaWVudGF0aW9uKEVycm9yU3RyaW5nKiwgYm9vbCopOwogICAgIHZpcnR1YWwgdm9pZCBzZXRU
b3VjaEVtdWxhdGlvbkVuYWJsZWQoRXJyb3JTdHJpbmcqLCBib29sKTsKICAgICB2aXJ0dWFsIHZv
aWQgc2V0RW11bGF0ZWRNZWRpYShFcnJvclN0cmluZyosIGNvbnN0IFN0cmluZyYpOwogICAgIHZp
cnR1YWwgdm9pZCBnZXRDb21wb3NpdGluZ0JvcmRlcnNWaXNpYmxlKEVycm9yU3RyaW5nKiwgYm9v
bCogb3V0X3BhcmFtKTsKQEAgLTEzNiwxMiArMTI4LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
dm9pZCBoYW5kbGVKYXZhU2NyaXB0RGlhbG9nKEVycm9yU3RyaW5nKiwgYm9vbCBhY2NlcHQsIGNv
bnN0IFN0cmluZyogcHJvbXB0VGV4dCk7CiAgICAgdmlydHVhbCB2b2lkIGFyY2hpdmUoRXJyb3JT
dHJpbmcqLCBTdHJpbmcqIGRhdGEpOwogCi0gICAgLy8gR2VvbG9jYXRpb24gb3ZlcnJpZGUgaGVs
cGVycy4KLSAgICBHZW9sb2NhdGlvblBvc2l0aW9uKiBvdmVycmlkZUdlb2xvY2F0aW9uUG9zaXRp
b24oR2VvbG9jYXRpb25Qb3NpdGlvbiopOwotCi0gICAgLy8gRGV2aWNlT3JpZW50YXRpb24gaGVs
cGVyCi0gICAgRGV2aWNlT3JpZW50YXRpb25EYXRhKiBvdmVycmlkZURldmljZU9yaWVudGF0aW9u
KERldmljZU9yaWVudGF0aW9uRGF0YSopOwotCiAgICAgLy8gSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uIEFQSQogICAgIHZvaWQgZGlkQ2xlYXJXaW5kb3dPYmplY3RJbldvcmxkKEZyYW1lKiwgRE9N
V3JhcHBlcldvcmxkJik7CiAgICAgdm9pZCBkb21Db250ZW50RXZlbnRGaXJlZCgpOwpAQCAtMjA4
LDE0ICsxOTQsMTAgQEAgcHJpdmF0ZToKICAgICBib29sIG1fZW5hYmxlZDsKICAgICBib29sIG1f
aXNGaXJzdExheW91dEFmdGVyT25Mb2FkOwogICAgIGJvb2wgbV9vcmlnaW5hbFNjcmlwdEV4ZWN1
dGlvbkRpc2FibGVkOwotICAgIGJvb2wgbV9nZW9sb2NhdGlvbk92ZXJyaWRkZW47CiAgICAgYm9v
bCBtX2lnbm9yZVNjcmlwdHNFbmFibGVkTm90aWZpY2F0aW9uOwogICAgIGJvb2wgbV9zaG93UGFp
bnRSZWN0czsKICAgICBTdHJpbmcgbV9lbXVsYXRlZE1lZGlhOwogICAgIFJlZlB0cjxJbnNwZWN0
b3I6Okluc3BlY3Rvck9iamVjdD4gbV9zY3JpcHRzVG9FdmFsdWF0ZU9uTG9hZDsKLSAgICBSZWZQ
dHI8R2VvbG9jYXRpb25Qb3NpdGlvbj4gbV9nZW9sb2NhdGlvblBvc2l0aW9uOwotICAgIFJlZlB0
cjxHZW9sb2NhdGlvblBvc2l0aW9uPiBtX3BsYXRmb3JtR2VvbG9jYXRpb25Qb3NpdGlvbjsKLSAg
ICBSZWZQdHI8RGV2aWNlT3JpZW50YXRpb25EYXRhPiBtX2RldmljZU9yaWVudGF0aW9uOwogfTsK
IAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3Vy
Y2VBZ2VudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VB
Z2VudC5jcHAKaW5kZXggN2Y4MmY1ZmY4NjJmYTFlNDkzMmUzNzU1YzE2NmIwZWIyZjVjNzA2Ny4u
MmQwN2YzMjRmMTc4MjAxOTJhN2YwZjM1NzVjYjljMTIwZDA3YWM3MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmNwcApAQCAtNDE4
LDEyICs0MTgsNiBAQCB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OndpbGxEZXN0cm95Q2Fj
aGVkUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2UqIGNhY2hlZFJlcwogICAgICAgICBtX3Jlc291cmNl
c0RhdGEtPnNldFJlc291cmNlQ29udGVudCgqaXQsIGNvbnRlbnQsIGJhc2U2NEVuY29kZWQpOwog
fQogCi12b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmFwcGx5VXNlckFnZW50T3ZlcnJpZGUo
U3RyaW5nKiB1c2VyQWdlbnQpCi17Ci0gICAgaWYgKCFtX3VzZXJBZ2VudE92ZXJyaWRlLmlzTnVs
bCgpKQotICAgICAgICAqdXNlckFnZW50ID0gbV91c2VyQWdlbnRPdmVycmlkZTsKLX0KLQogdm9p
ZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50Ojp3aWxsUmVjYWxjdWxhdGVTdHlsZSgpCiB7CiAgICAg
bV9pc1JlY2FsY3VsYXRpbmdTdHlsZSA9IHRydWU7CkBAIC01NDIsMTcgKzUzNiwxMSBAQCB2b2lk
IEluc3BlY3RvclJlc291cmNlQWdlbnQ6OmVuYWJsZSgpCiB2b2lkIEluc3BlY3RvclJlc291cmNl
QWdlbnQ6OmRpc2FibGUoRXJyb3JTdHJpbmcqKQogewogICAgIG1fZW5hYmxlZCA9IGZhbHNlOwot
ICAgIG1fdXNlckFnZW50T3ZlcnJpZGUgPSBTdHJpbmcoKTsKICAgICBtX2luc3RydW1lbnRpbmdB
Z2VudHMtPnNldEluc3BlY3RvclJlc291cmNlQWdlbnQoMCk7CiAgICAgbV9yZXNvdXJjZXNEYXRh
LT5jbGVhcigpOwogICAgIG1fZXh0cmFSZXF1ZXN0SGVhZGVycy5jbGVhcigpOwogfQogCi12b2lk
IEluc3BlY3RvclJlc291cmNlQWdlbnQ6OnNldFVzZXJBZ2VudE92ZXJyaWRlKEVycm9yU3RyaW5n
KiwgY29uc3QgU3RyaW5nJiB1c2VyQWdlbnQpCi17Ci0gICAgbV91c2VyQWdlbnRPdmVycmlkZSA9
IHVzZXJBZ2VudDsKLX0KLQogdm9pZCBJbnNwZWN0b3JSZXNvdXJjZUFnZW50OjpzZXRFeHRyYUhU
VFBIZWFkZXJzKEVycm9yU3RyaW5nKiwgY29uc3QgUmVmUHRyPEluc3BlY3Rvck9iamVjdD4mIGhl
YWRlcnMpCiB7CiAgICAgbV9leHRyYVJlcXVlc3RIZWFkZXJzID0gaGVhZGVyczsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oCmluZGV4IGRj
NTA5MTdhMTFiOTExMDVmNjUxNWE5NzYyNzQyZTY2ZTEzY2U0NmEuLjU5ODM4NzQyYmU1ZGJkMzVk
NTY0OWFjYjMyNzdiYzgwMjIyOGZiZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaApAQCAtMTA4LDggKzEwOCw2IEBAIHB1YmxpYzoK
IAogICAgIHZvaWQgd2lsbERlc3Ryb3lDYWNoZWRSZXNvdXJjZShDYWNoZWRSZXNvdXJjZSopOwog
Ci0gICAgdm9pZCBhcHBseVVzZXJBZ2VudE92ZXJyaWRlKFN0cmluZyogdXNlckFnZW50KTsKLQog
ICAgIC8vIEZJWE1FOiBJbnNwZWN0b3JSZXNvdXJjZUFnZW50IHNob3VsZCBub3cgYmUgYXdhcmUg
b2Ygc3R5bGUgcmVjYWxjdWxhdGlvbi4KICAgICB2b2lkIHdpbGxSZWNhbGN1bGF0ZVN0eWxlKCk7
CiAgICAgdm9pZCBkaWRSZWNhbGN1bGF0ZVN0eWxlKCk7CkBAIC0xMzMsNyArMTMxLDYgQEAgcHVi
bGljOgogICAgIC8vIENhbGxlZCBmcm9tIGZyb250ZW5kCiAgICAgdmlydHVhbCB2b2lkIGVuYWJs
ZShFcnJvclN0cmluZyopOwogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKik7
Ci0gICAgdmlydHVhbCB2b2lkIHNldFVzZXJBZ2VudE92ZXJyaWRlKEVycm9yU3RyaW5nKiwgY29u
c3QgU3RyaW5nJiB1c2VyQWdlbnQpOwogICAgIHZpcnR1YWwgdm9pZCBzZXRFeHRyYUhUVFBIZWFk
ZXJzKEVycm9yU3RyaW5nKiwgY29uc3QgUmVmUHRyPEluc3BlY3Rvcjo6SW5zcGVjdG9yT2JqZWN0
PiYpOwogICAgIHZpcnR1YWwgdm9pZCBnZXRSZXNwb25zZUJvZHkoRXJyb3JTdHJpbmcqLCBjb25z
dCBTdHJpbmcmIHJlcXVlc3RJZCwgU3RyaW5nKiBjb250ZW50LCBib29sKiBiYXNlNjRFbmNvZGVk
KTsKIApAQCAtMTU0LDcgKzE1MSw2IEBAIHByaXZhdGU6CiAgICAgSW5zcGVjdG9yQ2xpZW50KiBt
X2NsaWVudDsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JOZXR3b3Jr
RnJvbnRlbmREaXNwYXRjaGVyPiBtX2Zyb250ZW5kRGlzcGF0Y2hlcjsKICAgICBSZWZQdHI8SW5z
cGVjdG9yOjpJbnNwZWN0b3JOZXR3b3JrQmFja2VuZERpc3BhdGNoZXI+IG1fYmFja2VuZERpc3Bh
dGNoZXI7Ci0gICAgU3RyaW5nIG1fdXNlckFnZW50T3ZlcnJpZGU7CiAgICAgT3duUHRyPE5ldHdv
cmtSZXNvdXJjZXNEYXRhPiBtX3Jlc291cmNlc0RhdGE7CiAgICAgYm9vbCBtX2VuYWJsZWQ7CiAg
ICAgYm9vbCBtX2NhY2hlRGlzYWJsZWQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvcHJvdG9jb2wvTmV0d29yay5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3By
b3RvY29sL05ldHdvcmsuanNvbgppbmRleCBlYmUwY2U5NDAwZGVkNWRkYWUxNmRiOWZkZTRiNTll
MzY5MWU2OTkwLi43OWJhYjdhOWVlMTY1MjM4ZTc2YTJjMDkxMjc5YjI2MmY1MjkwNWM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvTmV0d29yay5qc29uCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9OZXR3b3JrLmpzb24KQEAgLTEz
OCwxMyArMTM4LDYgQEAKICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNhYmxlcyBuZXR3
b3JrIHRyYWNraW5nLCBwcmV2ZW50cyBuZXR3b3JrIGV2ZW50cyBmcm9tIGJlaW5nIHNlbnQgdG8g
dGhlIGNsaWVudC4iCiAgICAgICAgIH0sCiAgICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjog
InNldFVzZXJBZ2VudE92ZXJyaWRlIiwKLSAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJBbGxv
d3Mgb3ZlcnJpZGluZyB1c2VyIGFnZW50IHdpdGggdGhlIGdpdmVuIHN0cmluZy4iLAotICAgICAg
ICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJ1c2VyQWdl
bnQiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiVXNlciBhZ2VudCB0byB1c2Uu
IiB9Ci0gICAgICAgICAgICBdCi0gICAgICAgIH0sCi0gICAgICAgIHsKICAgICAgICAgICAgICJu
YW1lIjogInNldEV4dHJhSFRUUEhlYWRlcnMiLAogICAgICAgICAgICAgImRlc2NyaXB0aW9uIjog
IlNwZWNpZmllcyB3aGV0aGVyIHRvIGFsd2F5cyBzZW5kIGV4dHJhIEhUVFAgaGVhZGVycyB3aXRo
IHRoZSByZXF1ZXN0cyBmcm9tIHRoaXMgcGFnZS4iLAogICAgICAgICAgICAgInBhcmFtZXRlcnMi
OiBbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5q
c29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29sL1BhZ2UuanNvbgppbmRleCAw
NTViYTI5ZjIwYTEwMDAyZjBlZDg4OGRkMGVmZTU0MmVjMDUzZThkLi5lNDVlMDk4MTY0NWYyOTgx
MzJmMjgzYzM3ZDFlNmE4MzYyYzlhMDU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9w
cm90b2NvbC9QYWdlLmpzb24KQEAgLTI1NSw0NiArMjU1LDYgQEAKICAgICAgICAgICAgIF0KICAg
ICAgICAgfSwKICAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAic2V0R2VvbG9jYXRpb25P
dmVycmlkZSIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3ZlcnJpZGVzIHRoZSBHZW9s
b2NhdGlvbiBQb3NpdGlvbiBvciBFcnJvci4iLAotICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBb
Ci0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsYXRpdHVkZSIsICJ0eXBlIjogIm51bWJlciIs
ICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJNb2NrIGxhdGl0dWRlIn0sCi0gICAg
ICAgICAgICAgICAgeyAibmFtZSI6ICJsb25naXR1ZGUiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0
aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiTW9jayBsb25naXR1ZGUifSwKLSAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImFjY3VyYWN5IiwgInR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFs
IjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIk1vY2sgYWNjdXJhY3kifQotICAgICAgICAgICAgXQot
ICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJjbGVhckdlb2xvY2F0
aW9uT3ZlcnJpZGUiLAotICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNsZWFycyB0aGUgb3Zl
cnJpZGVuIEdlb2xvY2F0aW9uIFBvc2l0aW9uIGFuZCBFcnJvci4iCi0gICAgICAgIH0sCi0gICAg
ICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogImNhbk92ZXJyaWRlR2VvbG9jYXRpb24iLAotICAg
ICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNoZWNrcyBpZiBHZW9sb2NhdGlvbiBjYW4gYmUgb3Zl
cnJpZGRlbi4iLAotICAgICAgICAgICAgInJldHVybnMiOiBbCi0gICAgICAgICAgICAgICAgeyAi
bmFtZSI6ICJyZXN1bHQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIlRydWUg
aWYgYnJvd3NlciBjYW4gb3ZycmlkZSBHZW9sb2NhdGlvbi4iIH0KLSAgICAgICAgICAgIF0KLSAg
ICAgICAgfSwKLSAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAic2V0RGV2aWNlT3JpZW50
YXRpb25PdmVycmlkZSIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiT3ZlcnJpZGVzIHRo
ZSBEZXZpY2UgT3JpZW50YXRpb24uIiwKLSAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAiYWxwaGEiLCAidHlwZSI6ICJudW1iZXIiLCAiZGVzY3Jp
cHRpb24iOiAiTW9jayBhbHBoYSJ9LAotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiYmV0YSIs
ICJ0eXBlIjogIm51bWJlciIsICJkZXNjcmlwdGlvbiI6ICJNb2NrIGJldGEifSwKLSAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImdhbW1hIiwgInR5cGUiOiAibnVtYmVyIiwgImRlc2NyaXB0aW9u
IjogIk1vY2sgZ2FtbWEifQotICAgICAgICAgICAgXQotICAgICAgICB9LAotICAgICAgICB7Ci0g
ICAgICAgICAgICAibmFtZSI6ICJjbGVhckRldmljZU9yaWVudGF0aW9uT3ZlcnJpZGUiLAotICAg
ICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNsZWFycyB0aGUgb3ZlcnJpZGRlbiBEZXZpY2UgT3Jp
ZW50YXRpb24uIgotICAgICAgICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJj
YW5PdmVycmlkZURldmljZU9yaWVudGF0aW9uIiwKLSAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6
ICJDaGVjayB0aGUgYmFja2VuZCBpZiBXZWIgSW5zcGVjdG9yIGNhbiBvdmVycmlkZSB0aGUgZGV2
aWNlIG9yaWVudGF0aW9uLiIsCi0gICAgICAgICAgICAicmV0dXJucyI6IFsKLSAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInJlc3VsdCIsICJ0eXBlIjogImJvb2xlYW4iLCAiZGVzY3JpcHRpb24i
OiAiSWYgdHJ1ZSwgPGNvZGU+c2V0RGV2aWNlT3JpZW50YXRpb25PdmVycmlkZTwvY29kZT4gY2Fu
IHNhZmVseSBiZSBpbnZva2VkIG9uIHRoZSBhZ2VudC4iIH0KLSAgICAgICAgICAgIF0KLSAgICAg
ICAgfSwKLSAgICAgICAgewogICAgICAgICAgICAgIm5hbWUiOiAic2V0VG91Y2hFbXVsYXRpb25F
bmFibGVkIiwKICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwogICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAiZW5hYmxlZCIsICJ0eXBlIjogImJvb2xlYW4iLCAiZGVzY3JpcHRpb24iOiAiV2hl
dGhlciB0aGUgdG91Y2ggZXZlbnQgZW11bGF0aW9uIHNob3VsZCBiZSBlbmFibGVkLiIgfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKaW5kZXggNjQ2NjhhYTdiMjJjYmMyOGNkMjNh
OWFlNTU4MTA5YjI2MDg5NTQwZC4uMWFmMDc4Zjc0NjI5N2E2YjlhNDAyZmExNWVhOTRmYmE0YWZj
OGJjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCkBAIC0yNDg3LDkgKzI0
ODcsNyBAQCBpbnQgRnJhbWVMb2FkZXI6Om51bVBlbmRpbmdPckxvYWRpbmdSZXF1ZXN0cyhib29s
IHJlY3Vyc2UpIGNvbnN0CiAKIFN0cmluZyBGcmFtZUxvYWRlcjo6dXNlckFnZW50KGNvbnN0IFVS
TCYgdXJsKSBjb25zdAogewotICAgIFN0cmluZyB1c2VyQWdlbnQgPSBtX2NsaWVudC51c2VyQWdl
bnQodXJsKTsKLSAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmFwcGx5VXNlckFnZW50T3Zl
cnJpZGUoJm1fZnJhbWUsICZ1c2VyQWdlbnQpOwotICAgIHJldHVybiB1c2VyQWdlbnQ7CisgICAg
cmV0dXJuIG1fY2xpZW50LnVzZXJBZ2VudCh1cmwpOwogfQogCiB2b2lkIEZyYW1lTG9hZGVyOjpo
YW5kbGVkT25sb2FkRXZlbnRzKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qcwpp
bmRleCBiOWY0MmExZTE3NTAxMmZjNzI5MDllNTkxM2VkZjAwNjA1YzNiOTQ2Li5lMjY1OTdmMTMx
ZDdlMDg0M2YzODFmNTU1ZWM5NWQwMzQ5ZjBjYWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JXZWJCYWNrZW5kQ29tbWFuZHMuanMKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9yV2ViQmFja2Vu
ZENvbW1hbmRzLmpzCkBAIC0yMjIsNyArMjIyLDYgQEAgSW5zcGVjdG9yQmFja2VuZC5yZWdpc3Rl
ckV2ZW50KCJOZXR3b3JrLndlYlNvY2tldEZyYW1lRXJyb3IiLCBbInJlcXVlc3RJZCIsICJ0aW0K
IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiTmV0d29yay53ZWJTb2NrZXRGcmFtZVNl
bnQiLCBbInJlcXVlc3RJZCIsICJ0aW1lc3RhbXAiLCAicmVzcG9uc2UiXSk7CiBJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiTmV0d29yay5lbmFibGUiLCBbXSwgW10pOwogSW5zcGVj
dG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsuZGlzYWJsZSIsIFtdLCBbXSk7Ci1J
bnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiTmV0d29yay5zZXRVc2VyQWdlbnRPdmVy
cmlkZSIsIFt7Im5hbWUiOiAidXNlckFnZW50IiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFs
IjogZmFsc2V9XSwgW10pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdv
cmsuc2V0RXh0cmFIVFRQSGVhZGVycyIsIFt7Im5hbWUiOiAiaGVhZGVycyIsICJ0eXBlIjogIm9i
amVjdCIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0
ZXJDb21tYW5kKCJOZXR3b3JrLmdldFJlc3BvbnNlQm9keSIsIFt7Im5hbWUiOiAicmVxdWVzdElk
IiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgWyJib2R5IiwgImJhc2U2
NEVuY29kZWQiXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiTmV0d29yay5y
ZXBsYXlYSFIiLCBbeyJuYW1lIjogInJlcXVlc3RJZCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRp
b25hbCI6IGZhbHNlfV0sIFtdKTsKQEAgLTI2OSwxMiArMjY4LDYgQEAgSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2UuY2FuQ29udGludW91c2x5UGFpbnQiLCBbXSwgWyJ2YWx1
ZSJdKTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdlLnNldENvbnRpbnVv
dXNQYWludGluZ0VuYWJsZWQiLCBbeyJuYW1lIjogImVuYWJsZWQiLCAidHlwZSI6ICJib29sZWFu
IiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNv
bW1hbmQoIlBhZ2UuZ2V0U2NyaXB0RXhlY3V0aW9uU3RhdHVzIiwgW10sIFsicmVzdWx0Il0pOwog
SW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2Uuc2V0U2NyaXB0RXhlY3V0aW9u
RGlzYWJsZWQiLCBbeyJuYW1lIjogInZhbHVlIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25h
bCI6IGZhbHNlfV0sIFtdKTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdl
LnNldEdlb2xvY2F0aW9uT3ZlcnJpZGUiLCBbeyJuYW1lIjogImxhdGl0dWRlIiwgInR5cGUiOiAi
bnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1ZX0sIHsibmFtZSI6ICJsb25naXR1ZGUiLCAidHlwZSI6
ICJudW1iZXIiLCAib3B0aW9uYWwiOiB0cnVlfSwgeyJuYW1lIjogImFjY3VyYWN5IiwgInR5cGUi
OiAibnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1ZX1dLCBbXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyQ29tbWFuZCgiUGFnZS5jbGVhckdlb2xvY2F0aW9uT3ZlcnJpZGUiLCBbXSwgW10pOwot
SW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2UuY2FuT3ZlcnJpZGVHZW9sb2Nh
dGlvbiIsIFtdLCBbInJlc3VsdCJdKTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5k
KCJQYWdlLnNldERldmljZU9yaWVudGF0aW9uT3ZlcnJpZGUiLCBbeyJuYW1lIjogImFscGhhIiwg
InR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAiYmV0YSIsICJ0
eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6IGZhbHNlfSwgeyJuYW1lIjogImdhbW1hIiwgInR5
cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10pOwotSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2UuY2xlYXJEZXZpY2VPcmllbnRhdGlvbk92ZXJyaWRlIiwg
W10sIFtdKTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdlLmNhbk92ZXJy
aWRlRGV2aWNlT3JpZW50YXRpb24iLCBbXSwgWyJyZXN1bHQiXSk7CiBJbnNwZWN0b3JCYWNrZW5k
LnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5zZXRUb3VjaEVtdWxhdGlvbkVuYWJsZWQiLCBbeyJuYW1l
IjogImVuYWJsZWQiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10p
OwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2Uuc2V0RW11bGF0ZWRNZWRp
YSIsIFt7Im5hbWUiOiAibWVkaWEiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxz
ZX1dLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5nZXRDb21w
b3NpdGluZ0JvcmRlcnNWaXNpYmxlIiwgW10sIFsicmVzdWx0Il0pOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTGVnYWN5LzYuMC9JbnNwZWN0b3JXZWJC
YWNrZW5kQ29tbWFuZHMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9M
ZWdhY3kvNi4wL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qcwppbmRleCAzODI0Mzk5Nzc5
ZmIwZjdhMzQ3YzNmZmFiZTJlMzlmOGM0OTJlYzc4Li5lOTBjZWEyYTgyYWQxYjNkM2MwMGZmNTNm
MzMxN2RlNDE3NDFlODk0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9MZWdhY3kvNi4wL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9MZWdhY3kvNi4wL0luc3BlY3Rvcldl
YkJhY2tlbmRDb21tYW5kcy5qcwpAQCAtODgsNyArODgsNiBAQCBJbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyRXZlbnQoIk5ldHdvcmsud2ViU29ja2V0RnJhbWVFcnJvciIsIFsicmVxdWVzdElkIiwg
InRpbQogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJOZXR3b3JrLndlYlNvY2tldEZy
YW1lU2VudCIsIFsicmVxdWVzdElkIiwgInRpbWVzdGFtcCIsICJyZXNwb25zZSJdKTsKIEluc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrLmVuYWJsZSIsIFtdLCBbXSk7CiBJ
bnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiTmV0d29yay5kaXNhYmxlIiwgW10sIFtd
KTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrLnNldFVzZXJBZ2Vu
dE92ZXJyaWRlIiwgW3sibmFtZSI6ICJ1c2VyQWdlbnQiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0
aW9uYWwiOiBmYWxzZX1dLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgi
TmV0d29yay5zZXRFeHRyYUhUVFBIZWFkZXJzIiwgW3sibmFtZSI6ICJoZWFkZXJzIiwgInR5cGUi
OiAib2JqZWN0IiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10pOwogSW5zcGVjdG9yQmFja2VuZC5y
ZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsuZ2V0UmVzcG9uc2VCb2R5IiwgW3sibmFtZSI6ICJyZXF1
ZXN0SWQiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbImJvZHkiLCAi
YmFzZTY0RW5jb2RlZCJdKTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3
b3JrLmNhbkNsZWFyQnJvd3NlckNhY2hlIiwgW10sIFsicmVzdWx0Il0pOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTGVnYWN5LzcuMC9JbnNwZWN0b3JX
ZWJCYWNrZW5kQ29tbWFuZHMuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9MZWdhY3kvNy4wL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qcwppbmRleCA0ZGE0MjFm
NDFmODk5ZTZjMzY0ZDliZjY1NjIxMzc5NzYwNjRmZDE4Li42ZDNiNDYzZWFmNDlmZGFhMjA2ZWU0
YjgwZjczNmNkZjc4ZjY1MGFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9MZWdhY3kvNy4wL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qcworKysg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9MZWdhY3kvNy4wL0luc3BlY3Rv
cldlYkJhY2tlbmRDb21tYW5kcy5qcwpAQCAtNTUsMTIgKzU1LDYgQEAgSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2UuY2FuQ29udGludW91c2x5UGFpbnQiLCBbXSwgWyJ2YWx1
ZSJdKTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdlLnNldENvbnRpbnVv
dXNQYWludGluZ0VuYWJsZWQiLCBbeyJuYW1lIjogImVuYWJsZWQiLCAidHlwZSI6ICJib29sZWFu
IiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNv
bW1hbmQoIlBhZ2UuZ2V0U2NyaXB0RXhlY3V0aW9uU3RhdHVzIiwgW10sIFsicmVzdWx0Il0pOwog
SW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2Uuc2V0U2NyaXB0RXhlY3V0aW9u
RGlzYWJsZWQiLCBbeyJuYW1lIjogInZhbHVlIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25h
bCI6IGZhbHNlfV0sIFtdKTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdl
LnNldEdlb2xvY2F0aW9uT3ZlcnJpZGUiLCBbeyJuYW1lIjogImxhdGl0dWRlIiwgInR5cGUiOiAi
bnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1ZX0sIHsibmFtZSI6ICJsb25naXR1ZGUiLCAidHlwZSI6
ICJudW1iZXIiLCAib3B0aW9uYWwiOiB0cnVlfSwgeyJuYW1lIjogImFjY3VyYWN5IiwgInR5cGUi
OiAibnVtYmVyIiwgIm9wdGlvbmFsIjogdHJ1ZX1dLCBbXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyQ29tbWFuZCgiUGFnZS5jbGVhckdlb2xvY2F0aW9uT3ZlcnJpZGUiLCBbXSwgW10pOwot
SW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2UuY2FuT3ZlcnJpZGVHZW9sb2Nh
dGlvbiIsIFtdLCBbInJlc3VsdCJdKTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5k
KCJQYWdlLnNldERldmljZU9yaWVudGF0aW9uT3ZlcnJpZGUiLCBbeyJuYW1lIjogImFscGhhIiwg
InR5cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAiYmV0YSIsICJ0
eXBlIjogIm51bWJlciIsICJvcHRpb25hbCI6IGZhbHNlfSwgeyJuYW1lIjogImdhbW1hIiwgInR5
cGUiOiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10pOwotSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2UuY2xlYXJEZXZpY2VPcmllbnRhdGlvbk92ZXJyaWRlIiwg
W10sIFtdKTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdlLmNhbk92ZXJy
aWRlRGV2aWNlT3JpZW50YXRpb24iLCBbXSwgWyJyZXN1bHQiXSk7CiBJbnNwZWN0b3JCYWNrZW5k
LnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5zZXRUb3VjaEVtdWxhdGlvbkVuYWJsZWQiLCBbeyJuYW1l
IjogImVuYWJsZWQiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10p
OwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2Uuc2V0RW11bGF0ZWRNZWRp
YSIsIFt7Im5hbWUiOiAibWVkaWEiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxz
ZX1dLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5nZXRDb21w
b3NpdGluZ0JvcmRlcnNWaXNpYmxlIiwgW10sIFsicmVzdWx0Il0pOwpAQCAtMTE5LDcgKzExMyw2
IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgiTmV0d29yay53ZWJTb2NrZXRGcmFt
ZUVycm9yIiwgWyJyZXF1ZXN0SWQiLCAidGltCiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZl
bnQoIk5ldHdvcmsud2ViU29ja2V0RnJhbWVTZW50IiwgWyJyZXF1ZXN0SWQiLCAidGltZXN0YW1w
IiwgInJlc3BvbnNlIl0pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdv
cmsuZW5hYmxlIiwgW10sIFtdKTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJO
ZXR3b3JrLmRpc2FibGUiLCBbXSwgW10pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1h
bmQoIk5ldHdvcmsuc2V0VXNlckFnZW50T3ZlcnJpZGUiLCBbeyJuYW1lIjogInVzZXJBZ2VudCIs
ICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKIEluc3BlY3RvckJh
Y2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrLnNldEV4dHJhSFRUUEhlYWRlcnMiLCBbeyJu
YW1lIjogImhlYWRlcnMiLCAidHlwZSI6ICJvYmplY3QiLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBb
XSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiTmV0d29yay5nZXRSZXNwb25z
ZUJvZHkiLCBbeyJuYW1lIjogInJlcXVlc3RJZCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25h
bCI6IGZhbHNlfV0sIFsiYm9keSIsICJiYXNlNjRFbmNvZGVkIl0pOwogSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsucmVwbGF5WEhSIiwgW3sibmFtZSI6ICJyZXF1ZXN0
SWQiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVmVyc2lvbnMvSW5zcGVjdG9yLWlPUy02LjAuanNv
biBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9WZXJzaW9ucy9JbnNwZWN0b3ItaU9TLTYuMC5qc29u
CmluZGV4IGNlZmY5NDQ3M2Q2YjBjYTdmZDA3YmQ4ODY3NmU4ZmE1YzIwMWQyZTQuLmJjZDNkYjIy
NTQ0N2Q1ZmY4NzFlYWZkYTk5N2RmOTQxOTJkOTRkNmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9WZXJzaW9ucy9JbnNwZWN0b3ItaU9TLTYuMC5qc29uCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9WZXJzaW9ucy9JbnNwZWN0b3ItaU9TLTYuMC5qc29uCkBAIC03MTUsMTMg
KzcxNSw2IEBACiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIG5ldHdv
cmsgdHJhY2tpbmcsIHByZXZlbnRzIG5ldHdvcmsgZXZlbnRzIGZyb20gYmVpbmcgc2VudCB0byB0
aGUgY2xpZW50LiIKICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAic2V0VXNlckFnZW50T3ZlcnJpZGUiLAotICAgICAgICAgICAgICAgICJkZXNj
cmlwdGlvbiI6ICJBbGxvd3Mgb3ZlcnJpZGluZyB1c2VyIGFnZW50IHdpdGggdGhlIGdpdmVuIHN0
cmluZy4iLAotICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAgICAgICAgICAgICAg
ICAgICB7ICJuYW1lIjogInVzZXJBZ2VudCIsICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlv
biI6ICJVc2VyIGFnZW50IHRvIHVzZS4iIH0KLSAgICAgICAgICAgICAgICBdCi0gICAgICAgICAg
ICB9LAotICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICJuYW1lIjogInNldEV4dHJhSFRU
UEhlYWRlcnMiLAogICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJTcGVjaWZpZXMgd2hl
dGhlciB0byBhbHdheXMgc2VuZCBleHRyYSBIVFRQIGhlYWRlcnMgd2l0aCB0aGUgcmVxdWVzdHMg
ZnJvbSB0aGlzIHBhZ2UuIiwKICAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9WZXJzaW9ucy9JbnNwZWN0b3ItaU9TLTcuMC5q
c29uIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1ZlcnNpb25zL0luc3BlY3Rvci1pT1MtNy4wLmpz
b24KaW5kZXggYWRhZTQ4MjVkMTFhNzRkMDFhZmMxNjg5MWUxNjRkOWZkNTJhMmRiYi4uOWNmMzhi
NGZmMGQyNTRjMjQwYTEyNzYyN2VkMDE1OTEzYTg1OWZkZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
Ykluc3BlY3RvclVJL1ZlcnNpb25zL0luc3BlY3Rvci1pT1MtNy4wLmpzb24KKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1ZlcnNpb25zL0luc3BlY3Rvci1pT1MtNy4wLmpzb24KQEAgLTMyNiw0
NiArMzI2LDYgQEAKICAgICAgICAgICAgICAgICBdCiAgICAgICAgICAgICB9LAogICAgICAgICAg
ICAgewotICAgICAgICAgICAgICAgICJuYW1lIjogInNldEdlb2xvY2F0aW9uT3ZlcnJpZGUiLAot
ICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkZXMgdGhlIEdlb2xvY2F0aW9u
IFBvc2l0aW9uIG9yIEVycm9yLiIsCi0gICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0g
ICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibGF0aXR1ZGUiLCAidHlwZSI6ICJudW1iZXIi
LCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiTW9jayBsb25naXR1ZGUifSwKLSAg
ICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsb25naXR1ZGUiLCAidHlwZSI6ICJudW1iZXIi
LCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiTW9jayBsYXRpdHVkZSJ9LAotICAg
ICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImFjY3VyYWN5IiwgInR5cGUiOiAibnVtYmVyIiwg
Im9wdGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIk1vY2sgYWNjdXJhY3kifQotICAgICAg
ICAgICAgICAgIF0KLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAiY2xlYXJHZW9sb2NhdGlvbk92ZXJyaWRlIiwKLSAgICAgICAgICAgICAgICAi
ZGVzY3JpcHRpb24iOiAiQ2xlYXJzIHRoZSBvdmVycmlkZW4gR2VvbG9jYXRpb24gUG9zaXRpb24g
YW5kIEVycm9yLiIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAg
ICAgIm5hbWUiOiAiY2FuT3ZlcnJpZGVHZW9sb2NhdGlvbiIsCi0gICAgICAgICAgICAgICAgImRl
c2NyaXB0aW9uIjogIkNoZWNrcyBpZiBHZW9sb2NhdGlvbiBjYW4gYmUgb3ZlcnJpZGRlbi4iLAot
ICAgICAgICAgICAgICAgICJyZXR1cm5zIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1l
IjogInJlc3VsdCIsICJ0eXBlIjogImJvb2xlYW4iLCAiZGVzY3JpcHRpb24iOiAiVHJ1ZSBpZiBi
cm93c2VyIGNhbiBvdnJyaWRlIEdlb2xvY2F0aW9uLiIgfQotICAgICAgICAgICAgICAgIF0KLSAg
ICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0
RGV2aWNlT3JpZW50YXRpb25PdmVycmlkZSIsCi0gICAgICAgICAgICAgICAgImRlc2NyaXB0aW9u
IjogIk92ZXJyaWRlcyB0aGUgRGV2aWNlIE9yaWVudGF0aW9uLiIsCi0gICAgICAgICAgICAgICAg
InBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiYWxwaGEiLCAi
dHlwZSI6ICJudW1iZXIiLCAiZGVzY3JpcHRpb24iOiAiTW9jayBhbHBoYSJ9LAotICAgICAgICAg
ICAgICAgICAgICB7ICJuYW1lIjogImJldGEiLCAidHlwZSI6ICJudW1iZXIiLCAiZGVzY3JpcHRp
b24iOiAiTW9jayBiZXRhIn0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZ2FtbWEi
LCAidHlwZSI6ICJudW1iZXIiLCAiZGVzY3JpcHRpb24iOiAiTW9jayBnYW1tYSJ9Ci0gICAgICAg
ICAgICAgICAgXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAg
ICAibmFtZSI6ICJjbGVhckRldmljZU9yaWVudGF0aW9uT3ZlcnJpZGUiLAotICAgICAgICAgICAg
ICAgICJkZXNjcmlwdGlvbiI6ICJDbGVhcnMgdGhlIG92ZXJyaWRkZW4gRGV2aWNlIE9yaWVudGF0
aW9uLiIKLSAgICAgICAgICAgIH0sCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgIm5h
bWUiOiAiY2FuT3ZlcnJpZGVEZXZpY2VPcmllbnRhdGlvbiIsCi0gICAgICAgICAgICAgICAgImRl
c2NyaXB0aW9uIjogIkNoZWNrIHRoZSBiYWNrZW5kIGlmIFdlYiBJbnNwZWN0b3IgY2FuIG92ZXJy
aWRlIHRoZSBkZXZpY2Ugb3JpZW50YXRpb24uIiwKLSAgICAgICAgICAgICAgICAicmV0dXJucyI6
IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJyZXN1bHQiLCAidHlwZSI6ICJib29s
ZWFuIiwgImRlc2NyaXB0aW9uIjogIklmIHRydWUsIDxjb2RlPnNldERldmljZU9yaWVudGF0aW9u
T3ZlcnJpZGU8L2NvZGU+IGNhbiBzYWZlbHkgYmUgaW52b2tlZCBvbiB0aGUgYWdlbnQuIiB9Ci0g
ICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKICAgICAgICAg
ICAgICAgICAibmFtZSI6ICJzZXRUb3VjaEVtdWxhdGlvbkVuYWJsZWQiLAogICAgICAgICAgICAg
ICAgICJwYXJhbWV0ZXJzIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImVuYWJs
ZWQiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2NyaXB0aW9uIjogIldoZXRoZXIgdGhlIHRvdWNo
IGV2ZW50IGVtdWxhdGlvbiBzaG91bGQgYmUgZW5hYmxlZC4iIH0KQEAgLTkxOCwxMyArODc4LDYg
QEAKICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGlzYWJsZXMgbmV0d29yayB0cmFj
a2luZywgcHJldmVudHMgbmV0d29yayBldmVudHMgZnJvbSBiZWluZyBzZW50IHRvIHRoZSBjbGll
bnQuIgogICAgICAgICAgICAgfSwKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFt
ZSI6ICJzZXRVc2VyQWdlbnRPdmVycmlkZSIsCi0gICAgICAgICAgICAgICAgImRlc2NyaXB0aW9u
IjogIkFsbG93cyBvdmVycmlkaW5nIHVzZXIgYWdlbnQgd2l0aCB0aGUgZ2l2ZW4gc3RyaW5nLiIs
Ci0gICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAidXNlckFnZW50IiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIlVz
ZXIgYWdlbnQgdG8gdXNlLiIgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0sCi0g
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0RXh0cmFIVFRQSGVhZGVy
cyIsCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNwZWNpZmllcyB3aGV0aGVyIHRv
IGFsd2F5cyBzZW5kIGV4dHJhIEhUVFAgaGVhZGVycyB3aXRoIHRoZSByZXF1ZXN0cyBmcm9tIHRo
aXMgcGFnZS4iLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDViN2I3
ZjI4YzhiMzI3NjFiN2UxODlmNjRlMzRhYjUxZjgyY2M3ZjMuLjFiOTI4YzBlMzNlMzZhNzgzZDdj
NzZiYzcxZmUwOTFhNjA1NjRjZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxNC0wMS0wOCAg
U2Vva2p1IEt3b24gIDxzZW9ranVAd2Via2l0Lm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBSZW1vdmUgdW51c2VkIG92ZXJyaWRpbmcgcHJvdG9jb2xzLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI2NjMwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9leHRl
bnNpb25zLXVzZXJhZ2VudC1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaHR0cC90
ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy11c2VyYWdlbnQuaHRtbDogUmVtb3ZlZC4KKyAgICAg
ICAgKiBpbnNwZWN0b3IvZGV2aWNlLW9yaWVudGF0aW9uLXN1Y2Nlc3MtZXhwZWN0ZWQudHh0OiBS
ZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9kZXZpY2Utb3JpZW50YXRpb24tc3VjY2Vzcy5o
dG1sOiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9nZW9sb2NhdGlvbi1lcnJvci1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yL2dlb2xvY2F0aW9uLWVycm9y
Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yL2dlb2xvY2F0aW9uLXN1Y2Nlc3Mt
ZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9nZW9sb2NhdGlvbi1z
dWNjZXNzLmh0bWw6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yL2dlb2xvY2F0aW9uLXdh
dGNoUG9zaXRpb24tZXhwZWN0ZWQudHh0OiBSZW1vdmVkLgorICAgICAgICAqIGluc3BlY3Rvci9n
ZW9sb2NhdGlvbi13YXRjaFBvc2l0aW9uLmh0bWw6IFJlbW92ZWQuCisKIDIwMTQtMDEtMDcgIE15
bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBhIGZyYWN0
aW9uYWwgdmFsdWUgb2YgdGhlIGNzcyBsZXR0ZXItc3BhY2luZyBwcm9wZXJ0eSBpcyBub3QgcmVu
ZGVyZWQgYXMgZXhwZWN0ZWQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL2V4dGVuc2lvbnMtdXNlcmFnZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdXNlcmFnZW50LWV4cGVjdGVkLnR4dApkZWxl
dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzU5MjhjNDdkYmI5NjJmNGYyZjQ4NDQ1NDIwOTYy
ZDZlNDcyY2Q3Ni4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0g
YS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9leHRlbnNpb25zLXVzZXJhZ2VudC1l
eHBlY3RlZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1UZXN0cyBvdmVycmlk
aW5nIHVzZXIgYWdlbnQgdmlhIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJCi0KLVN0YXJ0ZWQg
ZXh0ZW5zaW9uLgotUnVubmluZyB0ZXN0cy4uLgotUlVOTklORyBURVNUOiBleHRlbnNpb25fdGVz
dFVzZXJBZ2VudAotUGFnZSByZWxvYWRlZC4KLVBhZ2UgcmVsb2FkZWQuCi11c2VyLWFnZW50IGhl
YWRlciBmb3IgZXh0ZW5zaW9ucy11c2VyYWdlbnQuaHRtbDogTW96aWxsYS80LjAgKGNvbXBhdGli
bGU7IFdlYkluc3BlY3RvciBFeHRlbnNpb24gVXNlci1BZ2VudCBvdmVycmlkZTsgUlNYLTExTSkK
LXVzZXItYWdlbnQgaGVhZGVyIGZvciB4aHItZXhpc3RzLmh0bWw6IE1vemlsbGEvNC4wIChjb21w
YXRpYmxlOyBXZWJJbnNwZWN0b3IgRXh0ZW5zaW9uIFVzZXItQWdlbnQgb3ZlcnJpZGU7IFJTWC0x
MU0pCi1uYXZpZ2F0b3IudXNlckFnZW50OiBNb3ppbGxhLzQuMCAoY29tcGF0aWJsZTsgV2ViSW5z
cGVjdG9yIEV4dGVuc2lvbiBVc2VyLUFnZW50IG92ZXJyaWRlOyBSU1gtMTFNKQotQWxsIHRlc3Rz
IGRvbmUuCi0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4
dGVuc2lvbnMtdXNlcmFnZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rv
ci9leHRlbnNpb25zLXVzZXJhZ2VudC5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCA4OTI4Njc5MjQ2YWFhODUzNzkxNmQ0MmY2ZmU5NzkzYjk2ZDI2NGM0Li4wMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL2V4dGVuc2lvbnMtdXNlcmFnZW50Lmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2
OCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSJleHRlbnNpb25zLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgotCi1mdW5jdGlvbiBleHRlbnNpb25fdGVz
dFVzZXJBZ2VudChuZXh0VGVzdCkKLXsKLSAgICBjb25zdCByZXF1ZXN0c1RvQ2hlY2sgPSBbCi0g
ICAgICAgICJleHRlbnNpb25zLXVzZXJhZ2VudC5odG1sIiwKLSAgICAgICAgInhoci1leGlzdHMu
aHRtbCIKLSAgICBdOwotICAgIHZhciByZXF1ZXN0Q291bnQgPSAwOwotICAgIHZhciBxdWV1ZWRP
dXRwdXQgPSBbXTsKLQotICAgIGZ1bmN0aW9uIG9uUmVxdWVzdEZpbmlzaGVkKHJlcXVlc3QpCi0g
ICAgewotICAgICAgICB2YXIgdXJsID0gcmVxdWVzdC5yZXF1ZXN0LnVybC5yZXBsYWNlKC9eLipb
L10vLCAiIik7Ci0gICAgICAgIGlmIChyZXF1ZXN0c1RvQ2hlY2suaW5kZXhPZih1cmwpIDwgMCkK
LSAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICBxdWV1ZWRPdXRwdXQucHVzaCgidXNlci1h
Z2VudCBoZWFkZXIgZm9yICIgKyB1cmwgKyAiOiAiICsgZ2V0SGVhZGVyKHJlcXVlc3QucmVxdWVz
dC5oZWFkZXJzLCAidXNlci1hZ2VudCIpKTsKLSAgICAgICAgaWYgKCsrcmVxdWVzdENvdW50IDwg
cmVxdWVzdHNUb0NoZWNrLmxlbmd0aCkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgd2Vi
SW5zcGVjdG9yLm5ldHdvcmsub25SZXF1ZXN0RmluaXNoZWQucmVtb3ZlTGlzdGVuZXIob25SZXF1
ZXN0RmluaXNoZWQpOwotICAgICAgICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93LmV2YWwo
Im5hdmlnYXRvci51c2VyQWdlbnQiLCBvbkV2YWwpOwotICAgIH0KLSAgICBmdW5jdGlvbiBnZXRI
ZWFkZXIoaGVhZGVycywgbmFtZSkKLSAgICB7Ci0gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwg
aGVhZGVycy5sZW5ndGg7ICsraSkgewotICAgICAgICAgICAgaWYgKGhlYWRlcnNbaV0ubmFtZS50
b0xvd2VyQ2FzZSgpID09PSBuYW1lKQotICAgICAgICAgICAgICAgIHJldHVybiBoZWFkZXJzW2ld
LnZhbHVlOwotICAgICAgICB9Ci0gICAgfQotICAgIGZ1bmN0aW9uIG9uRXZhbChyZXN1bHQpCi0g
ICAgewotICAgICAgICBxdWV1ZWRPdXRwdXQucHVzaCgibmF2aWdhdG9yLnVzZXJBZ2VudDogIiAr
IHJlc3VsdCk7Ci0gICAgICAgIHdlYkluc3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cuZXZhbCgiIiwg
Y2xlYW5VcCk7Ci0gICAgfQotICAgIGZ1bmN0aW9uIGNsZWFuVXAoKQotICAgIHsKLSAgICAgICAg
ZXZhbHVhdGVPbkZyb250ZW5kKCJJbnNwZWN0b3JUZXN0LnJ1bldoZW5QYWdlTG9hZHMocmVwbHkp
Iiwgb25QYWdlTG9hZGVkKTsKLSAgICAgICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5y
ZWxvYWQoIiIpOwotICAgIH0KLSAgICBmdW5jdGlvbiBvblBhZ2VMb2FkZWQoKQotICAgIHsKLSAg
ICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBxdWV1ZWRPdXRwdXQubGVuZ3RoOyArK2kpCi0gICAg
ICAgICAgICBvdXRwdXQocXVldWVkT3V0cHV0W2ldKTsKLSAgICAgICAgbmV4dFRlc3QoKTsKLSAg
ICB9Ci0KLSAgICB3ZWJJbnNwZWN0b3IubmV0d29yay5vblJlcXVlc3RGaW5pc2hlZC5hZGRMaXN0
ZW5lcihvblJlcXVlc3RGaW5pc2hlZCk7Ci0gICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRv
dy5yZWxvYWQoIk1vemlsbGEvNC4wIChjb21wYXRpYmxlOyBXZWJJbnNwZWN0b3IgRXh0ZW5zaW9u
IFVzZXItQWdlbnQgb3ZlcnJpZGU7IFJTWC0xMU0pIik7Ci19Ci0KLShmdW5jdGlvbigpCi17Ci0g
ICAgdmFyIHhociA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpOwotICAgIHhoci5vcGVuKCJHRVQiLCAi
cmVzb3VyY2VzL3hoci1leGlzdHMuaHRtbCIsIGZhbHNlKTsKLSAgICB4aHIuc2VuZChudWxsKTsK
LX0pKCk7Ci0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgot
PHA+VGVzdHMgb3ZlcnJpZGluZyB1c2VyIGFnZW50IHZpYSBXZWJJbnNwZWN0b3IgZXh0ZW5zaW9u
IEFQSTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9kZXZpY2Utb3JpZW50YXRpb24tc3VjY2Vzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGV2aWNlLW9yaWVudGF0aW9uLXN1Y2Nlc3MtZXhwZWN0ZWQudHh0CmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNDczZWNiOWNkZmMxODZlZjljNDg1YWYxMWMyMDVi
Zjk2NjMwNzdjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kZXZpY2Utb3JpZW50YXRpb24tc3VjY2Vzcy1leHBlY3Rl
ZC50eHQKKysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGlu
ZSAxNzogYWxwaGE6IDIwIGJldGE6IDMwIGdhbW1hOiA0MAotQ09OU09MRSBNRVNTQUdFOiBsaW5l
IDE3OiBhbHBoYTogMS4xIGJldGE6IDIuMiBnYW1tYTogMy4zCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kZXZpY2Utb3JpZW50YXRpb24tc3VjY2Vzcy5odG1sIGIvTGF5b3V0
VGVzdHMvaW5zcGVjdG9yL2RldmljZS1vcmllbnRhdGlvbi1zdWNjZXNzLmh0bWwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGJiNzA4MmZiZDU3NzQ3OTgxZGRkNjM2MmVhNjJlZTc0M2Vm
ZjMxZWUuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2RldmljZS1vcmllbnRhdGlvbi1zdWNjZXNzLmh0bWwKKysrIC9k
ZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4u
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3NjcmlwdD4KLTxzY3Jp
cHQ+Ci0KLXZhciBtb2NrQWxwaGEgPSAxLjE7Ci12YXIgbW9ja0JldGEgPSAyLjI7Ci12YXIgbW9j
a0dhbW1hID0gMy4zOwotCi1pZiAod2luZG93LnRlc3RSdW5uZXIpCi0gICAgdGVzdFJ1bm5lci5z
ZXRNb2NrRGV2aWNlT3JpZW50YXRpb24odHJ1ZSwgbW9ja0FscGhhLCB0cnVlLCBtb2NrQmV0YSwg
dHJ1ZSwgbW9ja0dhbW1hKTsKLWVsc2UKLSAgICBkZWJ1ZygnVGhpcyB0ZXN0IGNhbiBub3QgYmUg
cnVuIHdpdGhvdXQgdGhlIExheW91dFRlc3RDb250cm9sbGVyJyk7Ci0KLWZ1bmN0aW9uIGhhbmRs
ZXIoZXZ0KQotewotICAgICAgICBjb25zb2xlLmxvZygnYWxwaGE6ICcgKyBldnQuYWxwaGEgKyAn
IGJldGE6ICcgKyBldnQuYmV0YSArICcgZ2FtbWE6ICcgKyBldnQuZ2FtbWEpOwotfQotCi1mdW5j
dGlvbiB0ZXN0KCkKLXsKLSAgICBmdW5jdGlvbiBjYWxsYmFjaygpCi0gICAgewotICAgICAgICBQ
YWdlQWdlbnQuY2xlYXJEZXZpY2VPcmllbnRhdGlvbk92ZXJyaWRlKCk7Ci0gICAgICAgIEluc3Bl
Y3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0gICAgfQotCi0gICAgSW5zcGVjdG9yVGVzdC5ldmFs
dWF0ZUluUGFnZSgid2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2RldmljZW9yaWVudGF0aW9uJywg
aGFuZGxlciwgZmFsc2UpOyIsIGNhbGxiYWNrKTsKLSAgICBQYWdlQWdlbnQuc2V0RGV2aWNlT3Jp
ZW50YXRpb25PdmVycmlkZSgyMCwgMzAsIDQwKTsKLX0KLTwvc2NyaXB0PgotPC9oZWFkPgotPGJv
ZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci08L3A+Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZ2VvbG9jYXRpb24tZXJyb3ItZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2dlb2xvY2F0aW9uLWVycm9yLWV4cGVjdGVkLnR4
dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMWIwODMyZTAzM2RkOGRhOWJkYTA1MGYy
NGU4N2EzYzRiMDM4YWJiMy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZ2VvbG9jYXRpb24tZXJyb3ItZXhwZWN0ZWQu
dHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyArMCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUg
MjY6IEVycm9yOiAyCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjI6IGxhdDogNTEuNDc4LCBsb25n
OiAtMC4xNjYKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2dlb2xvY2F0aW9u
LWVycm9yLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZ2VvbG9jYXRpb24tZXJyb3IuaHRt
bApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOWRiYzE2N2JhNTYzMGQzNjQ3ZTU3MGRl
ZTA0MjljMTE4ZWZjZGY1Yy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MAotLS0gYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZ2VvbG9jYXRpb24tZXJyb3IuaHRtbAorKysg
L2Rldi9udWxsCkBAIC0xLDU1ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0i
Li4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNj
cmlwdD4KLQotdmFyIG1vY2tMYXRpdHVkZSA9IDUxLjQ3ODsKLXZhciBtb2NrTG9uZ2l0dWRlID0g
LTAuMTY2OwotdmFyIG1vY2tBY2N1cmFjeSA9IDEwMDsKLQotaWYgKHdpbmRvdy50ZXN0UnVubmVy
KSB7Ci0gICAgdGVzdFJ1bm5lci5zZXRHZW9sb2NhdGlvblBlcm1pc3Npb24odHJ1ZSk7Ci0gICAg
dGVzdFJ1bm5lci5zZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihtb2NrTGF0aXR1ZGUsCi0gICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2NrTG9uZ2l0dWRlLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9ja0FjY3VyYWN5KTsKLX0g
ZWxzZQotICAgIGRlYnVnKCdUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gd2l0aG91dCB0aGUgTGF5
b3V0VGVzdENvbnRyb2xsZXInKTsKLQotZnVuY3Rpb24gZ2V0R2VvbG9jYXRpb24oKQotewotICAg
IGZ1bmN0aW9uIHByaW50TG9jYXRpb24ocG9zKQotICAgIHsKLSAgICAgICAgY29uc29sZS5sb2co
J2xhdDogJyArIHBvcy5jb29yZHMubGF0aXR1ZGUgKyAnLCBsb25nOiAnICsgcG9zLmNvb3Jkcy5s
b25naXR1ZGUpOwotICAgIH0KLSAgICBmdW5jdGlvbiBwcmludEVycm9yKGVycikKLSAgICB7Ci0g
ICAgICAgIGNvbnNvbGUubG9nKCdFcnJvcjogJyArIGVyci5jb2RlKTsKLSAgICB9Ci0gICAgbmF2
aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3NpdGlvbihwcmludExvY2F0aW9uLCBwcmlu
dEVycm9yLCBbXSkKLX0KLQotZnVuY3Rpb24gdGVzdCgpCi17Ci0gICAgZnVuY3Rpb24gY2FsbGJh
Y2tDb21wbGV0ZSgpCi0gICAgewotICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgp
OwotICAgIH0KLSAgICBmdW5jdGlvbiBjYWxsYmFjaygpCi0gICAgewotICAgICAgICBQYWdlQWdl
bnQuY2xlYXJHZW9sb2NhdGlvbk92ZXJyaWRlKCk7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuZXZh
bHVhdGVJblBhZ2UoImdldEdlb2xvY2F0aW9uKCkiLCBjYWxsYmFja0NvbXBsZXRlKTsKLSAgICB9
Ci0gICAgUGFnZUFnZW50LnNldEdlb2xvY2F0aW9uT3ZlcnJpZGUoKTsKLSAgICBJbnNwZWN0b3JU
ZXN0LmV2YWx1YXRlSW5QYWdlKCJnZXRHZW9sb2NhdGlvbigpIiwgY2FsbGJhY2spOwotfQotCi0K
LTwvc2NyaXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLTwv
cD4KLQotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2dlb2xvY2F0aW9uLXN1Y2Nlc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2dlb2xvY2F0aW9uLXN1Y2Nlc3MtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCBjMmViMzhiMjQyMTE3MzE1YTRjNTFiYjg5MzI5MTcyZTJhZjgzY2JkLi4wMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9nZW9sb2NhdGlvbi1zdWNjZXNzLWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0x
LDMgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIyOiBsYXQ6IDQzLjQ3NjA5MywgbG9u
ZzogLTgwLjU0MDI5OQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIyOiBsYXQ6IDUxLjQ3OCwgbG9u
ZzogLTAuMTY2Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9nZW9sb2NhdGlv
bi1zdWNjZXNzLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZ2VvbG9jYXRpb24tc3VjY2Vz
cy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxY2M3NTk1NjEwMWI5NmY1M2Jh
ZDMyMGJlNzA3NTAzYzcwOWZjY2NmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9nZW9sb2NhdGlvbi1zdWNjZXNzLmh0
bWwKKysrIC9kZXYvbnVsbApAQCAtMSw1OCArMCwwIEBACi08aHRtbD4KLTxoZWFkPgotPHNjcmlw
dCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KLTxzY3JpcHQ+Ci0KLXZhciBtb2NrTGF0aXR1ZGUgPSA1MS40Nzg7Ci12YXIgbW9ja0xvbmdp
dHVkZSA9IC0wLjE2NjsKLXZhciBtb2NrQWNjdXJhY3kgPSAxMDA7Ci0KLWlmICh3aW5kb3cudGVz
dFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuc2V0R2VvbG9jYXRpb25QZXJtaXNzaW9uKHRydWUp
OwotICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24obW9ja0xhdGl0dWRl
LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9ja0xvbmdpdHVk
ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vY2tBY2N1cmFj
eSk7Ci19IGVsc2UKLSAgICBkZWJ1ZygnVGhpcyB0ZXN0IGNhbiBub3QgYmUgcnVuIHdpdGhvdXQg
dGhlIExheW91dFRlc3RDb250cm9sbGVyJyk7Ci0KLWZ1bmN0aW9uIGdldEdlb2xvY2F0aW9uKHdl
Ykluc3BlY3RvckNhbGxiYWNrU3RyaW5nKQotewotICAgIGZ1bmN0aW9uIHByaW50TG9jYXRpb24o
cG9zKQotICAgIHsKLSAgICAgICAgY29uc29sZS5sb2coJ2xhdDogJyArIHBvcy5jb29yZHMubGF0
aXR1ZGUgKyAnLCBsb25nOiAnICsgcG9zLmNvb3Jkcy5sb25naXR1ZGUpOwotICAgICAgICBmaW5p
c2hUZXN0KCk7Ci0gICAgfQotICAgIGZ1bmN0aW9uIHByaW50RXJyb3IoZXJyKQotICAgIHsKLSAg
ICAgICAgY29uc29sZS5sb2coJ0Vycm9yOiAnICsgZXJyLmNvZGUpOwotICAgICAgICBmaW5pc2hU
ZXN0KCk7Ci0gICAgfQotICAgIGZ1bmN0aW9uIGZpbmlzaFRlc3QoKQotICAgIHsKLSAgICAgICAg
dGVzdFJ1bm5lci5ldmFsdWF0ZUluV2ViSW5zcGVjdG9yKDAsIHdlYkluc3BlY3RvckNhbGxiYWNr
U3RyaW5nKTsKLSAgICB9Ci0gICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmdldEN1cnJlbnRQb3Np
dGlvbihwcmludExvY2F0aW9uLCBwcmludEVycm9yLCBbXSkKLX0KLQotZnVuY3Rpb24gdGVzdCgp
Ci17Ci0gICAgd2luZG93LnRlc3RTdGVwMiA9IGZ1bmN0aW9uKCkKLSAgICB7Ci0gICAgICAgIFBh
Z2VBZ2VudC5jbGVhckdlb2xvY2F0aW9uT3ZlcnJpZGUoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVz
dC5ldmFsdWF0ZUluUGFnZSgiZ2V0R2VvbG9jYXRpb24oJ0luc3BlY3RvclRlc3QuY29tcGxldGVU
ZXN0KCknKSIpOwotICAgIH0KLQotICAgIFBhZ2VBZ2VudC5zZXRHZW9sb2NhdGlvbk92ZXJyaWRl
KDQzLjQ3NjA5MywgLTgwLjU0MDI5OSwgMTUwKTsKLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRl
SW5QYWdlKCJnZXRHZW9sb2NhdGlvbignd2luZG93LnRlc3RTdGVwMigpJykiKTsKLX0KLQotCi08
L3NjcmlwdD4KLTwvaGVhZD4KLQotPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgotPHA+Ci08L3A+
Ci0KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9n
ZW9sb2NhdGlvbi13YXRjaFBvc2l0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2luc3Bl
Y3Rvci9nZW9sb2NhdGlvbi13YXRjaFBvc2l0aW9uLWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggNGI3MDU3NDQzZWZhNjU5NjQ1MTI3YTM3ZDEyNmYwMzQ2ZDk1MjQz
Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZ2VvbG9jYXRpb24td2F0Y2hQb3NpdGlvbi1leHBlY3RlZC50eHQKKysr
IC9kZXYvbnVsbApAQCAtMSw1ICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMzogbGF0
OiA1MS40NzgsIGxvbmc6IC0wLjE2NgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBsYXQ6IDQz
LjQ3NjA5MywgbG9uZzogLTgwLjU0MDI5OQotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDI3OiBFcnJv
cjogMgotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBsYXQ6IDUxLjQ3OCwgbG9uZzogLTAuMTY2
Ci0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9nZW9sb2NhdGlvbi13YXRjaFBv
c2l0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZ2VvbG9jYXRpb24td2F0Y2hQb3Np
dGlvbi5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NWZjNDBkMWY2OTJmNGIw
ODE5N2U2MzBiZmUwNzE0YjllZjM4ZGQzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9nZW9sb2NhdGlvbi13YXRjaFBv
c2l0aW9uLmh0bWwKKysrIC9kZXYvbnVsbApAQCAtMSw2OSArMCwwIEBACi08aHRtbD4KLTxoZWFk
PgotPHNjcmlwdCBzcmM9Ii4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0Lmpz
Ij48L3NjcmlwdD4KLTxzY3JpcHQ+Ci0KLXZhciBtb2NrTGF0aXR1ZGUgPSA1MS40Nzg7Ci12YXIg
bW9ja0xvbmdpdHVkZSA9IC0wLjE2NjsKLXZhciBtb2NrQWNjdXJhY3kgPSAxMDA7Ci0KLWlmICh3
aW5kb3cudGVzdFJ1bm5lcikgewotICAgIHRlc3RSdW5uZXIuc2V0R2VvbG9jYXRpb25QZXJtaXNz
aW9uKHRydWUpOwotICAgIHRlc3RSdW5uZXIuc2V0TW9ja0dlb2xvY2F0aW9uUG9zaXRpb24obW9j
a0xhdGl0dWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9j
a0xvbmdpdHVkZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1v
Y2tBY2N1cmFjeSk7Ci19IGVsc2UKLSAgICBkZWJ1ZygnVGhpcyB0ZXN0IGNhbiBub3QgYmUgcnVu
IHdpdGhvdXQgdGhlIExheW91dFRlc3RDb250cm9sbGVyJyk7Ci0KLXZhciB3YXRjaCA9IDA7Ci1m
dW5jdGlvbiBnZXRHZW9sb2NhdGlvbigpCi17Ci0gICAgZnVuY3Rpb24gcHJpbnRMb2NhdGlvbihw
b3MpCi0gICAgewotICAgICAgICBjb25zb2xlLmxvZygnbGF0OiAnICsgcG9zLmNvb3Jkcy5sYXRp
dHVkZSArICcsIGxvbmc6ICcgKyBwb3MuY29vcmRzLmxvbmdpdHVkZSk7Ci0gICAgfQotICAgIGZ1
bmN0aW9uIHByaW50RXJyb3IoZXJyKQotICAgIHsKLSAgICAgICAgY29uc29sZS5sb2coJ0Vycm9y
OiAnICsgZXJyLmNvZGUpOwotICAgIH0KLSAgICB3YXRjaCA9IG5hdmlnYXRvci5nZW9sb2NhdGlv
bi53YXRjaFBvc2l0aW9uKHByaW50TG9jYXRpb24sIHByaW50RXJyb3IsIFtdKQotfQotZnVuY3Rp
b24gY2xlYXJXYXRjaCgpCi17Ci0gICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLmNsZWFyV2F0Y2go
d2F0Y2gpOwotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBmdW5jdGlvbiBjYWxsYmFja0Nv
bXBsZXRlKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0g
ICAgfQotICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRl
c3QuZXZhbHVhdGVJblBhZ2UoImNsZWFyV2F0Y2goKSIsIGNhbGxiYWNrQ29tcGxldGUpOwotICAg
IH0KLSAgICBmdW5jdGlvbiBjbGVhckRhdGEoKQotICAgIHsKLSAgICAgICAgUGFnZUFnZW50LmNs
ZWFyR2VvbG9jYXRpb25PdmVycmlkZSgpOwotICAgICAgICBzZXRUaW1lb3V0KGNhbGxiYWNrLCAx
KTsKLSAgICB9Ci0gICAgZnVuY3Rpb24gc2V0RXJyb3IoKQotICAgIHsKLSAgICAgICAgUGFnZUFn
ZW50LnNldEdlb2xvY2F0aW9uT3ZlcnJpZGUoKTsKLSAgICAgICAgc2V0VGltZW91dChjbGVhckRh
dGEsIDEpOwotICAgIH0KLSAgICBmdW5jdGlvbiBzZXRQb3NpdGlvbigpCi0gICAgewotICAgICAg
ICBQYWdlQWdlbnQuc2V0R2VvbG9jYXRpb25PdmVycmlkZSg0My40NzYwOTMsIC04MC41NDAyOTks
IDE1MCk7Ci0gICAgICAgIHNldFRpbWVvdXQoc2V0RXJyb3IsIDEpOwotICAgIH0KLSAgICBJbnNw
ZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJnZXRHZW9sb2NhdGlvbigpIiwgc2V0UG9zaXRpb24p
OwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4K
LTwvcD4KLTwvYm9keT4KLTwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>220689</attachid>
            <date>2014-01-08 19:04:48 -0800</date>
            <delta_ts>2014-01-09 09:15:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-126630-20140109120446.patch</filename>
            <type>text/plain</type>
            <size>55538</size>
            <attacher name="Seokju Kwon">seokju</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYxNTI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzVkYTY1ZTJjMmM2NTQ3
MWFkY2RhYTVlNGJmMjkyZDM2ZmY4ZGRiZS4uNGRkMTkyNWFhMmU3NzBjZDViODJkMjc0ZWE5MzZm
ZDQzYzJmYmYyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDE0LTAxLTA4ICBTZW9r
anUgS3dvbiAgPHNlb2tqdUB3ZWJraXQub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJl
bW92ZSB1bnVzZWQgb3ZlcnJpZGluZyBwcm90b2NvbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjY2MzAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIE5vIGNoYW5nZSBpbiBiZWhh
dmlvci4KKworICAgICAgICBSZW1vdmUgdW51c2VkIG92ZXJyaWRpbmcgcHJvdG9jb2xzIGFzIHRo
ZXNlIGFyZSBub3QgdXNlZCBhbnltb3JlIGluIEZyb250bmVkLgorICAgICAgICAtUGFnZS5zZXRH
ZW9sb2NhdGlvbk92ZXJyaWRlCisgICAgICAgIC1QYWdlLmNsZWFyR2VvbG9jYXRpb25PdmVycmlk
ZQorICAgICAgICAtUGFnZS5jYW5PdmVycmlkZUdlb2xvY2F0aW9uCisgICAgICAgIC1QYWdlLnNl
dERldmljZU9yaWVudGF0aW9uT3ZlcnJpZGUKKyAgICAgICAgLVBhZ2UuY2xlYXJEZXZpY2VPcmll
bnRhdGlvbk92ZXJyaWRlCisgICAgICAgIC1QYWdlLmNhbk92ZXJyaWRlR2VvbG9jYXRpb24KKyAg
ICAgICAgLU5ldHdvcmsuc2V0VXNlckFnZW50T3ZlcnJpZGUKKworICAgICAgICAqIE1vZHVsZXMv
Z2VvbG9jYXRpb24vR2VvbG9jYXRpb25Db250cm9sbGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Okdlb2xvY2F0aW9uQ29udHJvbGxlcjo6R2VvbG9jYXRpb25Db250cm9sbGVyKToKKyAgICAgICAg
KFdlYkNvcmU6Okdlb2xvY2F0aW9uQ29udHJvbGxlcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6Okdlb2xvY2F0aW9uQ29udHJvbGxlcjo6cG9zaXRpb25DaGFuZ2VkKToKKyAgICAgICAgKFdl
YkNvcmU6OnByb3ZpZGVHZW9sb2NhdGlvblRvKToKKyAgICAgICAgKiBNb2R1bGVzL2dlb2xvY2F0
aW9uL0dlb2xvY2F0aW9uQ29udHJvbGxlci5oOgorICAgICAgICAqIGRvbS9EZXZpY2VPcmllbnRh
dGlvbkNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RGV2aWNlT3JpZW50YXRpb25D
b250cm9sbGVyOjpEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjpkaWRDaGFuZ2VEZXZpY2VPcmllbnRhdGlv
bik6CisgICAgICAgIChXZWJDb3JlOjpwcm92aWRlRGV2aWNlT3JpZW50YXRpb25Ubyk6CisgICAg
ICAgICogZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oOgorICAgICAgICAqIGluc3Bl
Y3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwOgorICAgICAgICAqIGluc3BlY3Rvci9J
bnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9y
UGFnZUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3RvclBhZ2VBZ2VudDo6SW5z
cGVjdG9yUGFnZUFnZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yUGFnZUFnZW50
Lmg6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6ZGlzYWJsZSk6CisgICAgICAg
ICogaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaDoKKyAgICAgICAgKiBpbnNwZWN0
b3IvcHJvdG9jb2wvTmV0d29yay5qc29uOgorICAgICAgICAqIGluc3BlY3Rvci9wcm90b2NvbC9Q
YWdlLmpzb246CisgICAgICAgICogbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lTG9hZGVyOjp1c2VyQWdlbnQpOgorCiAyMDE0LTAxLTA3ICBNeWxlcyBDLiBN
YXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CiAKICAgICAgICAgYSBmcmFjdGlvbmFsIHZh
bHVlIG9mIHRoZSBjc3MgbGV0dGVyLXNwYWNpbmcgcHJvcGVydHkgaXMgbm90IHJlbmRlcmVkIGFz
IGV4cGVjdGVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCA5M2ViZWI2ODZmZWZhZDcyMGVj
M2YyZWJlZTlhMjJlODk0YTI1YzhlLi4zNTAwMjBjNWEwMjY1MmQ2YjMwNjIzZGE3NDM3YmE5Y2Mw
MTYyYmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNC0w
MS0wOCAgU2Vva2p1IEt3b24gIDxzZW9ranVAd2Via2l0Lm9yZz4KKworICAgICAgICBXZWIgSW5z
cGVjdG9yOiBSZW1vdmUgdW51c2VkIG92ZXJyaWRpbmcgcHJvdG9jb2xzLgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI2NjMwCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIEluc3BlY3RvcldlYkJh
Y2tlbmRDb21tYW5kcy5qcyBhZnRlciByZW1vdmluZyB1bnVzZWQgb3ZlcnJpZGluZyBwcm90b2Nv
bHMuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5k
cy5qczoKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL0xlZ2FjeS82LjAvSW5zcGVjdG9yV2ViQmFj
a2VuZENvbW1hbmRzLmpzOgorICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTGVnYWN5LzcuMC9JbnNw
ZWN0b3JXZWJCYWNrZW5kQ29tbWFuZHMuanM6CisgICAgICAgICogVmVyc2lvbnMvSW5zcGVjdG9y
LWlPUy02LjAuanNvbjoKKyAgICAgICAgKiBWZXJzaW9ucy9JbnNwZWN0b3ItaU9TLTcuMC5qc29u
OgorCiAyMDE0LTAxLTA3ICBKb3NlcGggUGVjb3Jhcm8gIDxwZWNvcmFyb0BhcHBsZS5jb20+CiAK
ICAgICAgICAgV2ViIEluc3BlY3RvcjogVHlwbyAiY2xpcGJvYXJQcmVmaXhTdHJpbmciCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0aW9uQ29u
dHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0
aW9uQ29udHJvbGxlci5jcHAKaW5kZXggN2M3M2VjOTc3Y2NmNmYyY2FlMTg5MjhiOThjMWM0Mzg2
ZDJkMzI3OC4uOTU3MTcyOTZjMzY3NjI5MzQwYWUwNjFmZTQ0NmU0YTZkMDBhNDA3OSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbkNvbnRy
b2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9j
YXRpb25Db250cm9sbGVyLmNwcApAQCAtMzEsMTMgKzMxLDExIEBACiAjaW5jbHVkZSAiR2VvbG9j
YXRpb25DbGllbnQuaCIKICNpbmNsdWRlICJHZW9sb2NhdGlvbkVycm9yLmgiCiAjaW5jbHVkZSAi
R2VvbG9jYXRpb25Qb3NpdGlvbi5oIgotI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUdlb2xvY2F0aW9uQ29udHJvbGxlcjo6R2Vv
bG9jYXRpb25Db250cm9sbGVyKFBhZ2UqIHBhZ2UsIEdlb2xvY2F0aW9uQ2xpZW50KiBjbGllbnQp
CitHZW9sb2NhdGlvbkNvbnRyb2xsZXI6Okdlb2xvY2F0aW9uQ29udHJvbGxlcihHZW9sb2NhdGlv
bkNsaWVudCogY2xpZW50KQogICAgIDogbV9jbGllbnQoY2xpZW50KQotICAgICwgbV9wYWdlKHBh
Z2UpCiB7CiB9CiAKQEAgLTQ5LDkgKzQ3LDkgQEAgR2VvbG9jYXRpb25Db250cm9sbGVyOjp+R2Vv
bG9jYXRpb25Db250cm9sbGVyKCkKICAgICAgICAgbV9jbGllbnQtPmdlb2xvY2F0aW9uRGVzdHJv
eWVkKCk7CiB9CiAKLVBhc3NPd25QdHI8R2VvbG9jYXRpb25Db250cm9sbGVyPiBHZW9sb2NhdGlv
bkNvbnRyb2xsZXI6OmNyZWF0ZShQYWdlKiBwYWdlLCBHZW9sb2NhdGlvbkNsaWVudCogY2xpZW50
KQorUGFzc093blB0cjxHZW9sb2NhdGlvbkNvbnRyb2xsZXI+IEdlb2xvY2F0aW9uQ29udHJvbGxl
cjo6Y3JlYXRlKEdlb2xvY2F0aW9uQ2xpZW50KiBjbGllbnQpCiB7Ci0gICAgcmV0dXJuIGFkb3B0
UHRyKG5ldyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIocGFnZSwgY2xpZW50KSk7CisgICAgcmV0dXJu
IGFkb3B0UHRyKG5ldyBHZW9sb2NhdGlvbkNvbnRyb2xsZXIoY2xpZW50KSk7CiB9CiAKIHZvaWQg
R2VvbG9jYXRpb25Db250cm9sbGVyOjphZGRPYnNlcnZlcihHZW9sb2NhdGlvbiogb2JzZXJ2ZXIs
IGJvb2wgZW5hYmxlSGlnaEFjY3VyYWN5KQpAQCAtMTAxLDExICs5OSw2IEBAIHZvaWQgR2VvbG9j
YXRpb25Db250cm9sbGVyOjpjYW5jZWxQZXJtaXNzaW9uUmVxdWVzdChHZW9sb2NhdGlvbiogZ2Vv
bG9jYXRpb24pCiAKIHZvaWQgR2VvbG9jYXRpb25Db250cm9sbGVyOjpwb3NpdGlvbkNoYW5nZWQo
R2VvbG9jYXRpb25Qb3NpdGlvbiogcG9zaXRpb24pCiB7Ci0gICAgcG9zaXRpb24gPSBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246Om92ZXJyaWRlR2VvbG9jYXRpb25Qb3NpdGlvbihtX3BhZ2UsIHBv
c2l0aW9uKTsKLSAgICBpZiAoIXBvc2l0aW9uKSB7Ci0gICAgICAgIGVycm9yT2NjdXJyZWQoR2Vv
bG9jYXRpb25FcnJvcjo6Y3JlYXRlKEdlb2xvY2F0aW9uRXJyb3I6OlBvc2l0aW9uVW5hdmFpbGFi
bGUsIEFTQ0lJTGl0ZXJhbCgiUG9zaXRpb25VbmF2YWlsYWJsZSIpKS5nZXQoKSk7Ci0gICAgICAg
IHJldHVybjsKLSAgICB9CiAgICAgbV9sYXN0UG9zaXRpb24gPSBwb3NpdGlvbjsKICAgICBWZWN0
b3I8UmVmUHRyPEdlb2xvY2F0aW9uPj4gb2JzZXJ2ZXJzVmVjdG9yOwogICAgIGNvcHlUb1ZlY3Rv
cihtX29ic2VydmVycywgb2JzZXJ2ZXJzVmVjdG9yKTsKQEAgLTEzOSw3ICsxMzIsNyBAQCBjb25z
dCBjaGFyKiBHZW9sb2NhdGlvbkNvbnRyb2xsZXI6OnN1cHBsZW1lbnROYW1lKCkKIAogdm9pZCBw
cm92aWRlR2VvbG9jYXRpb25UbyhQYWdlKiBwYWdlLCBHZW9sb2NhdGlvbkNsaWVudCogY2xpZW50
KQogewotICAgIFN1cHBsZW1lbnQ8UGFnZT46OnByb3ZpZGVUbyhwYWdlLCBHZW9sb2NhdGlvbkNv
bnRyb2xsZXI6OnN1cHBsZW1lbnROYW1lKCksIEdlb2xvY2F0aW9uQ29udHJvbGxlcjo6Y3JlYXRl
KHBhZ2UsIGNsaWVudCkpOworICAgIFN1cHBsZW1lbnQ8UGFnZT46OnByb3ZpZGVUbyhwYWdlLCBH
ZW9sb2NhdGlvbkNvbnRyb2xsZXI6OnN1cHBsZW1lbnROYW1lKCksIEdlb2xvY2F0aW9uQ29udHJv
bGxlcjo6Y3JlYXRlKGNsaWVudCkpOwogfQogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlv
bkNvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZ2VvbG9jYXRpb24vR2VvbG9j
YXRpb25Db250cm9sbGVyLmgKaW5kZXggNjk0MWI3NTQyOGRjZmM3OTEwYmI4MjAxZmYzNDg4NmFi
OTE2NDYwMC4uOTE5MmM2MGRjMDQ1YzQyNDYzZWYxZDk0NDUyZjE4YjM3MzgyNzJlZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9nZW9sb2NhdGlvbi9HZW9sb2NhdGlvbkNvbnRy
b2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2dlb2xvY2F0aW9uL0dlb2xvY2F0
aW9uQ29udHJvbGxlci5oCkBAIC00Niw3ICs0Niw3IEBAIGNsYXNzIEdlb2xvY2F0aW9uQ29udHJv
bGxlciA6IHB1YmxpYyBTdXBwbGVtZW50PFBhZ2U+IHsKIHB1YmxpYzoKICAgICB+R2VvbG9jYXRp
b25Db250cm9sbGVyKCk7CiAKLSAgICBzdGF0aWMgUGFzc093blB0cjxHZW9sb2NhdGlvbkNvbnRy
b2xsZXI+IGNyZWF0ZShQYWdlKiwgR2VvbG9jYXRpb25DbGllbnQqKTsKKyAgICBzdGF0aWMgUGFz
c093blB0cjxHZW9sb2NhdGlvbkNvbnRyb2xsZXI+IGNyZWF0ZShHZW9sb2NhdGlvbkNsaWVudCop
OwogCiAgICAgdm9pZCBhZGRPYnNlcnZlcihHZW9sb2NhdGlvbiosIGJvb2wgZW5hYmxlSGlnaEFj
Y3VyYWN5KTsKICAgICB2b2lkIHJlbW92ZU9ic2VydmVyKEdlb2xvY2F0aW9uKik7CkBAIC02NSwx
MCArNjUsOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIEdlb2xvY2F0aW9uQ29udHJvbGxlciogZnJv
bShQYWdlKiBwYWdlKSB7IHJldHVybiBzdGF0aWNfY2FzdDxHZW9sb2NhdGlvbkNvbnRyb2xsZXIq
PihTdXBwbGVtZW50PFBhZ2U+Ojpmcm9tKHBhZ2UsIHN1cHBsZW1lbnROYW1lKCkpKTsgfQogCiBw
cml2YXRlOgotICAgIEdlb2xvY2F0aW9uQ29udHJvbGxlcihQYWdlKiwgR2VvbG9jYXRpb25DbGll
bnQqKTsKKyAgICBHZW9sb2NhdGlvbkNvbnRyb2xsZXIoR2VvbG9jYXRpb25DbGllbnQqKTsKIAog
ICAgIEdlb2xvY2F0aW9uQ2xpZW50KiBtX2NsaWVudDsKLSAgICBQYWdlKiBtX3BhZ2U7CiAKICAg
ICBSZWZQdHI8R2VvbG9jYXRpb25Qb3NpdGlvbj4gbV9sYXN0UG9zaXRpb247CiAgICAgdHlwZWRl
ZiBIYXNoU2V0PFJlZlB0cjxHZW9sb2NhdGlvbj4+IE9ic2VydmVyc1NldDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvZG9tL0RldmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5jcHAKaW5kZXggZmY3
YjAwNGRkN2Q1YjVkNTRlZDEzNjA3MmRiODIzMjA2ODRiYjNkYy4uNWNlN2M1ZGQyZDJlZTAxN2M2
YjVmZTFhOGE1NzczOTc0ZTk2YTIyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0Rl
dmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rl
dmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5jcHAKQEAgLTMwLDEzICszMCwxMiBAQAogI2luY2x1
ZGUgIkRldmljZU9yaWVudGF0aW9uQ2xpZW50LmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRp
b25EYXRhLmgiCiAjaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25FdmVudC5oIgotI2luY2x1ZGUg
Ikluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OkRldmljZU9yaWVu
dGF0aW9uQ29udHJvbGxlcihQYWdlKiBwYWdlLCBEZXZpY2VPcmllbnRhdGlvbkNsaWVudCogY2xp
ZW50KQorRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjpEZXZpY2VPcmllbnRhdGlvbkNvbnRy
b2xsZXIoRGV2aWNlT3JpZW50YXRpb25DbGllbnQqIGNsaWVudCkKICAgICA6IERldmljZUNvbnRy
b2xsZXIoY2xpZW50KQotICAgICwgbV9wYWdlKHBhZ2UpCiB7CiAjaWYgUExBVEZPUk0oSU9TKQog
ICAgIC8vIEZJWE1FOiBUZW1wb3JhcmlseSBhdm9pZCBhc3NlcnRpbmcgd2hpbGUgT3BlblNvdXJj
ZSBpcyB1c2luZyBhIGRpZmZlcmVudCBkZXNpZ24uCkBAIC01MCwxNCArNDksMTMgQEAgRGV2aWNl
T3JpZW50YXRpb25Db250cm9sbGVyOjpEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIoUGFnZSog
cGFnZSwgRGV2aWNlT3JpZW4KICNlbmRpZgogfQogCi1QYXNzT3duUHRyPERldmljZU9yaWVudGF0
aW9uQ29udHJvbGxlcj4gRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyOjpjcmVhdGUoUGFnZSog
cGFnZSwgRGV2aWNlT3JpZW50YXRpb25DbGllbnQqIGNsaWVudCkKK1Bhc3NPd25QdHI8RGV2aWNl
T3JpZW50YXRpb25Db250cm9sbGVyPiBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OmNyZWF0
ZShEZXZpY2VPcmllbnRhdGlvbkNsaWVudCogY2xpZW50KQogewotICAgIHJldHVybiBhZG9wdFB0
cihuZXcgRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKHBhZ2UsIGNsaWVudCkpOworICAgIHJl
dHVybiBhZG9wdFB0cihuZXcgRGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyKGNsaWVudCkpOwog
fQogCiB2b2lkIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6ZGlkQ2hhbmdlRGV2aWNlT3Jp
ZW50YXRpb24oRGV2aWNlT3JpZW50YXRpb25EYXRhKiBvcmllbnRhdGlvbikKIHsKLSAgICBvcmll
bnRhdGlvbiA9IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6b3ZlcnJpZGVEZXZpY2VPcmllbnRh
dGlvbihtX3BhZ2UsIG9yaWVudGF0aW9uKTsKICAgICBkaXNwYXRjaERldmljZUV2ZW50KERldmlj
ZU9yaWVudGF0aW9uRXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuZGV2aWNlb3JpZW50YXRpb25F
dmVudCwgb3JpZW50YXRpb24pKTsKIH0KIApAQCAtMTExLDcgKzEwOSw3IEBAIGJvb2wgRGV2aWNl
T3JpZW50YXRpb25Db250cm9sbGVyOjppc0FjdGl2ZUF0KFBhZ2UqIHBhZ2UpCiAKIHZvaWQgcHJv
dmlkZURldmljZU9yaWVudGF0aW9uVG8oUGFnZSogcGFnZSwgRGV2aWNlT3JpZW50YXRpb25DbGll
bnQqIGNsaWVudCkKIHsKLSAgICBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OnByb3ZpZGVU
byhwYWdlLCBEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI6OnN1cHBsZW1lbnROYW1lKCksIERl
dmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6Y3JlYXRlKHBhZ2UsIGNsaWVudCkpOworICAgIERl
dmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6cHJvdmlkZVRvKHBhZ2UsIERldmljZU9yaWVudGF0
aW9uQ29udHJvbGxlcjo6c3VwcGxlbWVudE5hbWUoKSwgRGV2aWNlT3JpZW50YXRpb25Db250cm9s
bGVyOjpjcmVhdGUoY2xpZW50KSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2RvbS9EZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIuaAppbmRleCA0
NzgzZjVjY2VhOTBhMmZjOWI4NjhlNjFhMmZkOWNmMTg2MjA2Mjk5Li44YTIyMGZhY2M2MjA3Mjg5
NTMxOWY0OGY1M2QzMzRmZjdkOGRkMDVjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RGV2aWNlT3JpZW50YXRpb25Db250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Rl
dmljZU9yaWVudGF0aW9uQ29udHJvbGxlci5oCkBAIC0zNSwxMyArMzUsMTQgQEAgbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBEZXZpY2VPcmllbnRhdGlvbkNsaWVudDsKIGNsYXNzIERldmlj
ZU9yaWVudGF0aW9uRGF0YTsKK2NsYXNzIFBhZ2U7CiAKIGNsYXNzIERldmljZU9yaWVudGF0aW9u
Q29udHJvbGxlciA6IHB1YmxpYyBEZXZpY2VDb250cm9sbGVyIHsKICAgICBXVEZfTUFLRV9OT05D
T1BZQUJMRShEZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXIpOwogcHVibGljOgogICAgIH5EZXZp
Y2VPcmllbnRhdGlvbkNvbnRyb2xsZXIoKSB7IH07CiAKLSAgICBzdGF0aWMgUGFzc093blB0cjxE
ZXZpY2VPcmllbnRhdGlvbkNvbnRyb2xsZXI+IGNyZWF0ZShQYWdlKiwgRGV2aWNlT3JpZW50YXRp
b25DbGllbnQqKTsKKyAgICBzdGF0aWMgUGFzc093blB0cjxEZXZpY2VPcmllbnRhdGlvbkNvbnRy
b2xsZXI+IGNyZWF0ZShEZXZpY2VPcmllbnRhdGlvbkNsaWVudCopOwogCiAgICAgdm9pZCBkaWRD
aGFuZ2VEZXZpY2VPcmllbnRhdGlvbihEZXZpY2VPcmllbnRhdGlvbkRhdGEqKTsKICAgICBEZXZp
Y2VPcmllbnRhdGlvbkNsaWVudCogZGV2aWNlT3JpZW50YXRpb25DbGllbnQoKTsKQEAgLTYxLDkg
KzYyLDcgQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGlzQWN0aXZlQXQoUGFnZSopOwogCiBw
cml2YXRlOgotICAgIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcihQYWdlKiwgRGV2aWNlT3Jp
ZW50YXRpb25DbGllbnQqKTsKLQotICAgIFBhZ2UqIG1fcGFnZTsKKyAgICBEZXZpY2VPcmllbnRh
dGlvbkNvbnRyb2xsZXIoRGV2aWNlT3JpZW50YXRpb25DbGllbnQqKTsKIH07CiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvckluc3RydW1lbnRhdGlvbi5jcHAKaW5kZXggZTBkNTg3NTNiNDRkODBlZGM3N2RhNzNjMjdj
M2RjMzllZWUyOTE4MC4uODU1OTk2Yzk5YzRhNDQ3ZDQxY2YzY2ZjYjZkZDE4YTRmYTEwNDIyYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1l
bnRhdGlvbi5jcHAKQEAgLTQxLDcgKzQxLDYgQEAKICNpbmNsdWRlICJET01XaW5kb3cuaCIKICNp
bmNsdWRlICJET01XcmFwcGVyV29ybGQuaCIKICNpbmNsdWRlICJEYXRhYmFzZS5oIgotI2luY2x1
ZGUgIkRldmljZU9yaWVudGF0aW9uRGF0YS5oIgogI2luY2x1ZGUgIkRvY3VtZW50TG9hZGVyLmgi
CiAjaW5jbHVkZSAiRXZlbnQuaCIKICNpbmNsdWRlICJFdmVudERpc3BhdGNoZXIuaCIKQEAgLTYx
OSwxMiArNjE4LDYgQEAgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFByb2Nlc3NS
dWxlSW1wbChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24KICAgICAgICAgY3NzQWdlbnQt
PmRpZFByb2Nlc3NSdWxlKCk7CiB9CiAKLXZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjph
cHBseVVzZXJBZ2VudE92ZXJyaWRlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50
aW5nQWdlbnRzLCBTdHJpbmcqIHVzZXJBZ2VudCkKLXsKLSAgICBpZiAoSW5zcGVjdG9yUmVzb3Vy
Y2VBZ2VudCogcmVzb3VyY2VBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclJl
c291cmNlQWdlbnQoKSkKLSAgICAgICAgcmVzb3VyY2VBZ2VudC0+YXBwbHlVc2VyQWdlbnRPdmVy
cmlkZSh1c2VyQWdlbnQpOwotfQotCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YXBw
bHlFbXVsYXRlZE1lZGlhSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzLCBTdHJpbmcqIG1lZGlhKQogewogICAgIGlmIChJbnNwZWN0b3JQYWdlQWdlbnQqIHBhZ2VB
Z2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvclBhZ2VBZ2VudCgpKQpAQCAtMTI5
OCwyMiArMTI5MSw2IEBAIEluc3RydW1lbnRpbmdBZ2VudHMqIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6aW5zdHJ1bWVudGluZ0FnZW50c0Zvck5vbkRvY3VtZW50CiAgICAgcmV0dXJuIDA7CiB9
CiAKLSNpZiBFTkFCTEUoR0VPTE9DQVRJT04pCi1HZW9sb2NhdGlvblBvc2l0aW9uKiBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246Om92ZXJyaWRlR2VvbG9jYXRpb25Qb3NpdGlvbkltcGwoSW5zdHJ1
bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgR2VvbG9jYXRpb25Qb3NpdGlvbiog
cG9zaXRpb24pCi17Ci0gICAgaWYgKEluc3BlY3RvclBhZ2VBZ2VudCogcGFnZUFnZW50ID0gaW5z
dHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yUGFnZUFnZW50KCkpCi0gICAgICAgIHBvc2l0aW9u
ID0gcGFnZUFnZW50LT5vdmVycmlkZUdlb2xvY2F0aW9uUG9zaXRpb24ocG9zaXRpb24pOwotICAg
IHJldHVybiBwb3NpdGlvbjsKLX0KLSNlbmRpZgotCi1EZXZpY2VPcmllbnRhdGlvbkRhdGEqIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6b3ZlcnJpZGVEZXZpY2VPcmllbnRhdGlvbkltcGwoSW5z
dHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cywgRGV2aWNlT3JpZW50YXRpb25E
YXRhKiBkZXZpY2VPcmllbnRhdGlvbikKLXsKLSAgICBpZiAoSW5zcGVjdG9yUGFnZUFnZW50KiBw
YWdlQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JQYWdlQWdlbnQoKSkKLSAg
ICAgICAgZGV2aWNlT3JpZW50YXRpb24gPSBwYWdlQWdlbnQtPm92ZXJyaWRlRGV2aWNlT3JpZW50
YXRpb24oZGV2aWNlT3JpZW50YXRpb24pOwotICAgIHJldHVybiBkZXZpY2VPcmllbnRhdGlvbjsK
LX0KLQogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKIHZvaWQgSW5zcGVjdG9ySW5z
dHJ1bWVudGF0aW9uOjpsYXllclRyZWVEaWRDaGFuZ2VJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMq
IGluc3RydW1lbnRpbmdBZ2VudHMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNw
ZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKaW5kZXggYWExYWNlZGQyYWY5MTY0YmYyNzYy
Zjc0Njg3OTY5NjI3NzRhNGJiZi4uNmJmMzRhOGU2OGIyZTczMzZkMWY5Y2ZmNTJmOGYwMDU3Nzdh
MmY1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3Ry
dW1lbnRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0
cnVtZW50YXRpb24uaApAQCAtNjEsOCArNjEsNiBAQCBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIEVs
ZW1lbnQ7CiBjbGFzcyBEb2N1bWVudExvYWRlcjsKIGNsYXNzIERvY3VtZW50U3R5bGVTaGVldENv
bGxlY3Rpb247Ci1jbGFzcyBEZXZpY2VPcmllbnRhdGlvbkRhdGE7Ci1jbGFzcyBHZW9sb2NhdGlv
blBvc2l0aW9uOwogY2xhc3MgR3JhcGhpY3NDb250ZXh0OwogY2xhc3MgSFRUUEhlYWRlck1hcDsK
IGNsYXNzIEluc3BlY3RvckNTU0FnZW50OwpAQCAtMTg1LDcgKzE4Myw2IEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uQ29va2llIHdpbGxQcm9jZXNzUnVsZShE
b2N1bWVudCosIFN0eWxlUnVsZSosIFN0eWxlUmVzb2x2ZXImKTsKICAgICBzdGF0aWMgdm9pZCBk
aWRQcm9jZXNzUnVsZShjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmKTsKIAot
ICAgIHN0YXRpYyB2b2lkIGFwcGx5VXNlckFnZW50T3ZlcnJpZGUoRnJhbWUqLCBTdHJpbmcqKTsK
ICAgICBzdGF0aWMgdm9pZCBhcHBseUVtdWxhdGVkTWVkaWEoRnJhbWUqLCBTdHJpbmcqKTsKICAg
ICBzdGF0aWMgdm9pZCB3aWxsU2VuZFJlcXVlc3QoRnJhbWUqLCB1bnNpZ25lZCBsb25nIGlkZW50
aWZpZXIsIERvY3VtZW50TG9hZGVyKiwgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgcmVkaXJlY3RSZXNwb25zZSk7CiAgICAgc3RhdGljIHZvaWQgY29udGludWVBZnRl
clBpbmdMb2FkZXIoRnJhbWUqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9h
ZGVyKiwgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwpAQCAtMjk4
LDE1ICsyOTUsOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIGJvb2wgdGltZWxpbmVBZ2VudEVuYWJs
ZWQoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCopIHsgcmV0dXJuIGZhbHNlOyB9CiAjZW5kaWYKIAot
I2lmIEVOQUJMRShHRU9MT0NBVElPTikKLSAgICBzdGF0aWMgR2VvbG9jYXRpb25Qb3NpdGlvbiog
b3ZlcnJpZGVHZW9sb2NhdGlvblBvc2l0aW9uKFBhZ2UqLCBHZW9sb2NhdGlvblBvc2l0aW9uKik7
Ci0jZW5kaWYKLQogICAgIHN0YXRpYyB2b2lkIHJlZ2lzdGVySW5zdHJ1bWVudGluZ0FnZW50cyhJ
bnN0cnVtZW50aW5nQWdlbnRzKik7CiAgICAgc3RhdGljIHZvaWQgdW5yZWdpc3Rlckluc3RydW1l
bnRpbmdBZ2VudHMoSW5zdHJ1bWVudGluZ0FnZW50cyopOwogCi0gICAgc3RhdGljIERldmljZU9y
aWVudGF0aW9uRGF0YSogb3ZlcnJpZGVEZXZpY2VPcmllbnRhdGlvbihQYWdlKiwgRGV2aWNlT3Jp
ZW50YXRpb25EYXRhKik7Ci0KICNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAg
c3RhdGljIHZvaWQgbGF5ZXJUcmVlRGlkQ2hhbmdlKFBhZ2UqKTsKICAgICBzdGF0aWMgdm9pZCBy
ZW5kZXJMYXllckRlc3Ryb3llZChQYWdlKiwgY29uc3QgUmVuZGVyTGF5ZXIqKTsKQEAgLTM4Miw3
ICszNzMsNiBAQCBwcml2YXRlOgogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25D
b29raWUgd2lsbFByb2Nlc3NSdWxlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgU3R5bGVSdWxl
KiwgU3R5bGVSZXNvbHZlciYpOwogICAgIHN0YXRpYyB2b2lkIGRpZFByb2Nlc3NSdWxlSW1wbChj
b25zdCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUmKTsKIAotICAgIHN0YXRpYyB2b2lk
IGFwcGx5VXNlckFnZW50T3ZlcnJpZGVJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBTdHJpbmcq
KTsKICAgICBzdGF0aWMgdm9pZCBhcHBseUVtdWxhdGVkTWVkaWFJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMqLCBTdHJpbmcqKTsKICAgICBzdGF0aWMgdm9pZCB3aWxsU2VuZFJlcXVlc3RJbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9h
ZGVyKiwgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVkaXJlY3RS
ZXNwb25zZSk7CiAgICAgc3RhdGljIHZvaWQgY29udGludWVBZnRlclBpbmdMb2FkZXJJbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMqLCB1bnNpZ25lZCBsb25nIGlkZW50aWZpZXIsIERvY3VtZW50TG9h
ZGVyKiwgUmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOwpAQCAtNDg1
LDEyICs0NzUsNiBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIGNhbmNlbFBhdXNlT25OYXRp
dmVFdmVudChJbnN0cnVtZW50aW5nQWdlbnRzKik7CiAgICAgc3RhdGljIEluc3BlY3RvclRpbWVs
aW5lQWdlbnQqIHJldHJpZXZlVGltZWxpbmVBZ2VudChjb25zdCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb25Db29raWUmKTsKIAotI2lmIEVOQUJMRShHRU9MT0NBVElPTikKLSAgICBzdGF0aWMgR2Vv
bG9jYXRpb25Qb3NpdGlvbiogb3ZlcnJpZGVHZW9sb2NhdGlvblBvc2l0aW9uSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzKiwgR2VvbG9jYXRpb25Qb3NpdGlvbiopOwotI2VuZGlmCi0KLSAgICBzdGF0
aWMgRGV2aWNlT3JpZW50YXRpb25EYXRhKiBvdmVycmlkZURldmljZU9yaWVudGF0aW9uSW1wbChJ
bnN0cnVtZW50aW5nQWdlbnRzKiwgRGV2aWNlT3JpZW50YXRpb25EYXRhKik7Ci0KICNpZiBVU0Uo
QUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCiAgICAgc3RhdGljIHZvaWQgbGF5ZXJUcmVlRGlkQ2hh
bmdlSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKik7CiAgICAgc3RhdGljIHZvaWQgcmVuZGVyTGF5
ZXJEZXN0cm95ZWRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBjb25zdCBSZW5kZXJMYXllciop
OwpAQCAtMTI2MSwxOCArMTI0NSw2IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRh
dGlvbjo6ZGlkUHJvY2Vzc1J1bGUoY29uc3QgSW5zcGVjdG9ySW5zdHJ1bWVudGF0CiAjZW5kaWYK
IH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphcHBseVVzZXJBZ2Vu
dE92ZXJyaWRlKEZyYW1lKiBmcmFtZSwgU3RyaW5nKiB1c2VyQWdlbnQpCi17Ci0jaWYgRU5BQkxF
KElOU1BFQ1RPUikKLSAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFModm9pZCgpKTsKLSAg
ICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1l
bnRpbmdBZ2VudHNGb3JGcmFtZShmcmFtZSkpCi0gICAgICAgIGFwcGx5VXNlckFnZW50T3ZlcnJp
ZGVJbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIHVzZXJBZ2VudCk7Ci0jZWxzZQotICAgIFVOVVNF
RF9QQVJBTShmcmFtZSk7Ci0gICAgVU5VU0VEX1BBUkFNKHVzZXJBZ2VudCk7Ci0jZW5kaWYKLX0K
LQogaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjphcHBseUVtdWxhdGVkTWVk
aWEoRnJhbWUqIGZyYW1lLCBTdHJpbmcqIG1lZGlhKQogewogI2lmIEVOQUJMRShJTlNQRUNUT1Ip
CkBAIC0xOTU1LDMyICsxOTI3LDYgQEAgaW5saW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRGaXJlQW5pbWF0aW9uRnJhbWUoY29uc3QgSW5zcGVjdG9ySW5zdHIKICNlbmRpZgog
fQogCi0jaWYgRU5BQkxFKEdFT0xPQ0FUSU9OKQotaW5saW5lIEdlb2xvY2F0aW9uUG9zaXRpb24q
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6b3ZlcnJpZGVHZW9sb2NhdGlvblBvc2l0aW9uKFBh
Z2UqIHBhZ2UsIEdlb2xvY2F0aW9uUG9zaXRpb24qIHBvc2l0aW9uKQotewotI2lmIEVOQUJMRShJ
TlNQRUNUT1IpCi0gICAgRkFTVF9SRVRVUk5fSUZfTk9fRlJPTlRFTkRTKHBvc2l0aW9uKTsKLSAg
ICBpZiAoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1bWVudGluZ0FnZW50cyA9IGluc3RydW1l
bnRpbmdBZ2VudHNGb3JQYWdlKHBhZ2UpKQotICAgICAgICByZXR1cm4gb3ZlcnJpZGVHZW9sb2Nh
dGlvblBvc2l0aW9uSW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBwb3NpdGlvbik7Ci0jZWxzZQot
ICAgIFVOVVNFRF9QQVJBTShwYWdlKTsKLSNlbmRpZgotICAgIHJldHVybiBwb3NpdGlvbjsKLX0K
LSNlbmRpZgotCi1pbmxpbmUgRGV2aWNlT3JpZW50YXRpb25EYXRhKiBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246Om92ZXJyaWRlRGV2aWNlT3JpZW50YXRpb24oUGFnZSogcGFnZSwgRGV2aWNlT3Jp
ZW50YXRpb25EYXRhKiBkZXZpY2VPcmllbnRhdGlvbikKLXsKLSNpZiBFTkFCTEUoSU5TUEVDVE9S
KQotICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyhkZXZpY2VPcmllbnRhdGlvbik7Ci0g
ICAgaWYgKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMgPSBpbnN0cnVt
ZW50aW5nQWdlbnRzRm9yUGFnZShwYWdlKSkKLSAgICAgICAgcmV0dXJuIG92ZXJyaWRlRGV2aWNl
T3JpZW50YXRpb25JbXBsKGluc3RydW1lbnRpbmdBZ2VudHMsIGRldmljZU9yaWVudGF0aW9uKTsK
LSNlbHNlCi0gICAgVU5VU0VEX1BBUkFNKHBhZ2UpOwotI2VuZGlmCi0gICAgcmV0dXJuIGRldmlj
ZU9yaWVudGF0aW9uOwotfQotCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQogaW5s
aW5lIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpsYXllclRyZWVEaWRDaGFuZ2UoUGFn
ZSogcGFnZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0
b3JQYWdlQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VB
Z2VudC5jcHAKaW5kZXggMTJkMGI3ZTc4ZTgzODU5NDhiODYxMjRmZTY1ZmY1MTdjZTVlNmUyNS4u
MTA4MzVjNDU2NDllMzk1OGQzZWEyM2YyMTVhYThjYWYxMTY1Mzk4NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclBhZ2VBZ2VudC5jcHAKQEAgLTQ2LDE1ICs0Niwx
MiBAQAogI2luY2x1ZGUgIkRPTUltcGxlbWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiRE9NUGF0Y2hT
dXBwb3J0LmgiCiAjaW5jbHVkZSAiRE9NV3JhcHBlcldvcmxkLmgiCi0jaW5jbHVkZSAiRGV2aWNl
T3JpZW50YXRpb25Db250cm9sbGVyLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRl
ICJEb2N1bWVudExvYWRlci5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVM
b2FkZXIuaCIKICNpbmNsdWRlICJGcmFtZVNuYXBzaG90dGluZy5oIgogI2luY2x1ZGUgIkZyYW1l
Vmlldy5oIgotI2luY2x1ZGUgIkdlb2xvY2F0aW9uQ29udHJvbGxlci5oIgotI2luY2x1ZGUgIkdl
b2xvY2F0aW9uRXJyb3IuaCIKICNpbmNsdWRlICJIVE1MRnJhbWVPd25lckVsZW1lbnQuaCIKICNp
bmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJJZGVudGlmaWVyc0ZhY3RvcnkuaCIKQEAg
LTM2Myw3ICszNjAsNiBAQCBJbnNwZWN0b3JQYWdlQWdlbnQ6Okluc3BlY3RvclBhZ2VBZ2VudChJ
bnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLAogICAgICwgbV9lbmFibGVk
KGZhbHNlKQogICAgICwgbV9pc0ZpcnN0TGF5b3V0QWZ0ZXJPbkxvYWQoZmFsc2UpCiAgICAgLCBt
X29yaWdpbmFsU2NyaXB0RXhlY3V0aW9uRGlzYWJsZWQoZmFsc2UpCi0gICAgLCBtX2dlb2xvY2F0
aW9uT3ZlcnJpZGRlbihmYWxzZSkKICAgICAsIG1faWdub3JlU2NyaXB0c0VuYWJsZWROb3RpZmlj
YXRpb24oZmFsc2UpCiAgICAgLCBtX3Nob3dQYWludFJlY3RzKGZhbHNlKQogewpAQCAtMTAzMiwx
MDYgKzEwMjgsNiBAQCB2b2lkIEluc3BlY3RvclBhZ2VBZ2VudDo6dXBkYXRlVG91Y2hFdmVudEVt
dWxhdGlvbkluUGFnZShib29sIGVuYWJsZWQpCiB9CiAjZW5kaWYKIAotdm9pZCBJbnNwZWN0b3JQ
YWdlQWdlbnQ6OnNldEdlb2xvY2F0aW9uT3ZlcnJpZGUoRXJyb3JTdHJpbmcqIGVycm9yLCBjb25z
dCBkb3VibGUqIGxhdGl0dWRlLCBjb25zdCBkb3VibGUqIGxvbmdpdHVkZSwgY29uc3QgZG91Ymxl
KiBhY2N1cmFjeSkKLXsKLSNpZiBFTkFCTEUgKEdFT0xPQ0FUSU9OKQotICAgIEdlb2xvY2F0aW9u
Q29udHJvbGxlciogY29udHJvbGxlciA9IEdlb2xvY2F0aW9uQ29udHJvbGxlcjo6ZnJvbShtX3Bh
Z2UpOwotICAgIEdlb2xvY2F0aW9uUG9zaXRpb24qIHBvc2l0aW9uID0gMDsKLSAgICBpZiAoIWNv
bnRyb2xsZXIpIHsKLSAgICAgICAgKmVycm9yID0gIkludGVybmFsIGVycm9yOiB1bmFibGUgdG8g
b3ZlcnJpZGUgZ2VvbG9jYXRpb24iOwotICAgICAgICByZXR1cm47Ci0gICAgfQotICAgIHBvc2l0
aW9uID0gY29udHJvbGxlci0+bGFzdFBvc2l0aW9uKCk7Ci0gICAgaWYgKCFtX2dlb2xvY2F0aW9u
T3ZlcnJpZGRlbiAmJiBwb3NpdGlvbikKLSAgICAgICAgbV9wbGF0Zm9ybUdlb2xvY2F0aW9uUG9z
aXRpb24gPSBwb3NpdGlvbjsKLQotICAgIG1fZ2VvbG9jYXRpb25PdmVycmlkZGVuID0gdHJ1ZTsK
LSAgICBpZiAobGF0aXR1ZGUgJiYgbG9uZ2l0dWRlICYmIGFjY3VyYWN5KQotICAgICAgICBtX2dl
b2xvY2F0aW9uUG9zaXRpb24gPSBHZW9sb2NhdGlvblBvc2l0aW9uOjpjcmVhdGUoY3VycmVudFRp
bWVNUygpLCAqbGF0aXR1ZGUsICpsb25naXR1ZGUsICphY2N1cmFjeSk7Ci0gICAgZWxzZQotICAg
ICAgICBtX2dlb2xvY2F0aW9uUG9zaXRpb24uY2xlYXIoKTsKLQotICAgIGNvbnRyb2xsZXItPnBv
c2l0aW9uQ2hhbmdlZCgwKTsgLy8gS2ljayBsb2NhdGlvbiB1cGRhdGUuCi0jZWxzZQotICAgICpl
cnJvciA9ICJHZW9sb2NhdGlvbiBpcyBub3QgYXZhaWxhYmxlIjsKLSAgICBVTlVTRURfUEFSQU0o
bGF0aXR1ZGUpOwotICAgIFVOVVNFRF9QQVJBTShsb25naXR1ZGUpOwotICAgIFVOVVNFRF9QQVJB
TShhY2N1cmFjeSk7Ci0jZW5kaWYKLX0KLQotdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmNsZWFy
R2VvbG9jYXRpb25PdmVycmlkZShFcnJvclN0cmluZyogZXJyb3IpCi17Ci0gICAgaWYgKCFtX2dl
b2xvY2F0aW9uT3ZlcnJpZGRlbikKLSAgICAgICAgcmV0dXJuOwotI2lmIEVOQUJMRShHRU9MT0NB
VElPTikKLSAgICBVTlVTRURfUEFSQU0oZXJyb3IpOwotICAgIG1fZ2VvbG9jYXRpb25PdmVycmlk
ZGVuID0gZmFsc2U7Ci0gICAgbV9nZW9sb2NhdGlvblBvc2l0aW9uLmNsZWFyKCk7Ci0KLSAgICBH
ZW9sb2NhdGlvbkNvbnRyb2xsZXIqIGNvbnRyb2xsZXIgPSBHZW9sb2NhdGlvbkNvbnRyb2xsZXI6
OmZyb20obV9wYWdlKTsKLSAgICBpZiAoY29udHJvbGxlciAmJiBtX3BsYXRmb3JtR2VvbG9jYXRp
b25Qb3NpdGlvbi5nZXQoKSkKLSAgICAgICAgY29udHJvbGxlci0+cG9zaXRpb25DaGFuZ2VkKG1f
cGxhdGZvcm1HZW9sb2NhdGlvblBvc2l0aW9uLmdldCgpKTsKLSNlbHNlCi0gICAgKmVycm9yID0g
Ikdlb2xvY2F0aW9uIGlzIG5vdCBhdmFpbGFibGUiOwotI2VuZGlmCi19Ci0KLXZvaWQgSW5zcGVj
dG9yUGFnZUFnZW50OjpjYW5PdmVycmlkZUdlb2xvY2F0aW9uKEVycm9yU3RyaW5nKiwgYm9vbCog
b3V0X3BhcmFtKQotewotI2lmIEVOQUJMRShHRU9MT0NBVElPTikKLSAgICAqb3V0X3BhcmFtID0g
dHJ1ZTsKLSNlbHNlCi0gICAgKm91dF9wYXJhbSA9IGZhbHNlOwotI2VuZGlmCi19Ci0KLUdlb2xv
Y2F0aW9uUG9zaXRpb24qIEluc3BlY3RvclBhZ2VBZ2VudDo6b3ZlcnJpZGVHZW9sb2NhdGlvblBv
c2l0aW9uKEdlb2xvY2F0aW9uUG9zaXRpb24qIHBvc2l0aW9uKQotewotICAgIGlmIChtX2dlb2xv
Y2F0aW9uT3ZlcnJpZGRlbikgewotICAgICAgICBpZiAocG9zaXRpb24pCi0gICAgICAgICAgICBt
X3BsYXRmb3JtR2VvbG9jYXRpb25Qb3NpdGlvbiA9IHBvc2l0aW9uOwotICAgICAgICByZXR1cm4g
bV9nZW9sb2NhdGlvblBvc2l0aW9uLmdldCgpOwotICAgIH0KLSAgICByZXR1cm4gcG9zaXRpb247
Ci19Ci0KLXZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpzZXREZXZpY2VPcmllbnRhdGlvbk92ZXJy
aWRlKEVycm9yU3RyaW5nKiBlcnJvciwgZG91YmxlIGFscGhhLCBkb3VibGUgYmV0YSwgZG91Ymxl
IGdhbW1hKQotewotICAgIERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlciogY29udHJvbGxlciA9
IERldmljZU9yaWVudGF0aW9uQ29udHJvbGxlcjo6ZnJvbShtX3BhZ2UpOwotICAgIGlmICghY29u
dHJvbGxlcikgewotICAgICAgICAqZXJyb3IgPSAiSW50ZXJuYWwgZXJyb3I6IHVuYWJsZSB0byBv
dmVycmlkZSBkZXZpY2Ugb3JpZW50YXRpb24iOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgRXJyb3JTdHJpbmcgY2xlYXJFcnJvcjsKLSAgICBjbGVhckRldmljZU9yaWVudGF0aW9uT3Zl
cnJpZGUoJmNsZWFyRXJyb3IpOwotCi0gICAgbV9kZXZpY2VPcmllbnRhdGlvbiA9IERldmljZU9y
aWVudGF0aW9uRGF0YTo6Y3JlYXRlKHRydWUsIGFscGhhLCB0cnVlLCBiZXRhLCB0cnVlLCBnYW1t
YSk7Ci0gICAgY29udHJvbGxlci0+ZGlkQ2hhbmdlRGV2aWNlT3JpZW50YXRpb24obV9kZXZpY2VP
cmllbnRhdGlvbi5nZXQoKSk7Ci19Ci0KLXZvaWQgSW5zcGVjdG9yUGFnZUFnZW50OjpjbGVhckRl
dmljZU9yaWVudGF0aW9uT3ZlcnJpZGUoRXJyb3JTdHJpbmcqKQotewotICAgIG1fZGV2aWNlT3Jp
ZW50YXRpb24uY2xlYXIoKTsKLX0KLQotdm9pZCBJbnNwZWN0b3JQYWdlQWdlbnQ6OmNhbk92ZXJy
aWRlRGV2aWNlT3JpZW50YXRpb24oRXJyb3JTdHJpbmcqLCBib29sKiBvdXRQYXJhbSkKLXsKLSNp
ZiBFTkFCTEUoREVWSUNFX09SSUVOVEFUSU9OKQotICAgICpvdXRQYXJhbSA9IHRydWU7Ci0jZWxz
ZQotICAgICpvdXRQYXJhbSA9IGZhbHNlOwotI2VuZGlmCi19Ci0KLURldmljZU9yaWVudGF0aW9u
RGF0YSogSW5zcGVjdG9yUGFnZUFnZW50OjpvdmVycmlkZURldmljZU9yaWVudGF0aW9uKERldmlj
ZU9yaWVudGF0aW9uRGF0YSogZGV2aWNlT3JpZW50YXRpb24pCi17Ci0gICAgaWYgKG1fZGV2aWNl
T3JpZW50YXRpb24pCi0gICAgICAgIGRldmljZU9yaWVudGF0aW9uID0gbV9kZXZpY2VPcmllbnRh
dGlvbi5nZXQoKTsKLSAgICByZXR1cm4gZGV2aWNlT3JpZW50YXRpb247Ci19Ci0KIHZvaWQgSW5z
cGVjdG9yUGFnZUFnZW50OjpzZXRUb3VjaEVtdWxhdGlvbkVuYWJsZWQoRXJyb3JTdHJpbmcqIGVy
cm9yLCBib29sIGVuYWJsZWQpCiB7CiAjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JQYWdlQWdlbnQuaAppbmRleCAwMDQ5NjA3MDFm
ZTg1ZTNjYmYxNzgzM2I0ZTQyYTk0M2ViZmY3MGNiLi43MDg2Yjg1NDQxMzQ3NWMzZGM0YmJkZGUx
MDBlZDdmODdiYWU0YjZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yUGFnZUFnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clBhZ2VBZ2VudC5oCkBAIC0zMyw4ICszMyw2IEBACiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQog
Ci0jaW5jbHVkZSAiRGV2aWNlT3JpZW50YXRpb25EYXRhLmgiCi0jaW5jbHVkZSAiR2VvbG9jYXRp
b25Qb3NpdGlvbi5oIgogI2luY2x1ZGUgIkluc3BlY3RvcldlYkFnZW50QmFzZS5oIgogI2luY2x1
ZGUgIkluc3BlY3RvcldlYkJhY2tlbmREaXNwYXRjaGVycy5oIgogI2luY2x1ZGUgIkluc3BlY3Rv
cldlYkZyb250ZW5kRGlzcGF0Y2hlcnMuaCIKQEAgLTEyMSwxMiArMTE5LDYgQEAgcHVibGljOgog
ICAgIHZpcnR1YWwgdm9pZCBzZXRDb250aW51b3VzUGFpbnRpbmdFbmFibGVkKEVycm9yU3RyaW5n
KiwgYm9vbCBlbmFibGVkKTsKICAgICB2aXJ0dWFsIHZvaWQgZ2V0U2NyaXB0RXhlY3V0aW9uU3Rh
dHVzKEVycm9yU3RyaW5nKiwgSW5zcGVjdG9yOjpJbnNwZWN0b3JQYWdlQmFja2VuZERpc3BhdGNo
ZXJIYW5kbGVyOjpSZXN1bHQ6OkVudW0qKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2NyaXB0RXhl
Y3V0aW9uRGlzYWJsZWQoRXJyb3JTdHJpbmcqLCBib29sKTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0
R2VvbG9jYXRpb25PdmVycmlkZShFcnJvclN0cmluZyosIGNvbnN0IGRvdWJsZSosIGNvbnN0IGRv
dWJsZSosIGNvbnN0IGRvdWJsZSopOwotICAgIHZpcnR1YWwgdm9pZCBjbGVhckdlb2xvY2F0aW9u
T3ZlcnJpZGUoRXJyb3JTdHJpbmcqKTsKLSAgICB2aXJ0dWFsIHZvaWQgY2FuT3ZlcnJpZGVHZW9s
b2NhdGlvbihFcnJvclN0cmluZyosIGJvb2wqIG91dF9wYXJhbSk7Ci0gICAgdmlydHVhbCB2b2lk
IHNldERldmljZU9yaWVudGF0aW9uT3ZlcnJpZGUoRXJyb3JTdHJpbmcqLCBkb3VibGUsIGRvdWJs
ZSwgZG91YmxlKTsKLSAgICB2aXJ0dWFsIHZvaWQgY2xlYXJEZXZpY2VPcmllbnRhdGlvbk92ZXJy
aWRlKEVycm9yU3RyaW5nKik7Ci0gICAgdmlydHVhbCB2b2lkIGNhbk92ZXJyaWRlRGV2aWNlT3Jp
ZW50YXRpb24oRXJyb3JTdHJpbmcqLCBib29sKik7CiAgICAgdmlydHVhbCB2b2lkIHNldFRvdWNo
RW11bGF0aW9uRW5hYmxlZChFcnJvclN0cmluZyosIGJvb2wpOwogICAgIHZpcnR1YWwgdm9pZCBz
ZXRFbXVsYXRlZE1lZGlhKEVycm9yU3RyaW5nKiwgY29uc3QgU3RyaW5nJik7CiAgICAgdmlydHVh
bCB2b2lkIGdldENvbXBvc2l0aW5nQm9yZGVyc1Zpc2libGUoRXJyb3JTdHJpbmcqLCBib29sKiBv
dXRfcGFyYW0pOwpAQCAtMTM2LDEyICsxMjgsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lk
IGhhbmRsZUphdmFTY3JpcHREaWFsb2coRXJyb3JTdHJpbmcqLCBib29sIGFjY2VwdCwgY29uc3Qg
U3RyaW5nKiBwcm9tcHRUZXh0KTsKICAgICB2aXJ0dWFsIHZvaWQgYXJjaGl2ZShFcnJvclN0cmlu
ZyosIFN0cmluZyogZGF0YSk7CiAKLSAgICAvLyBHZW9sb2NhdGlvbiBvdmVycmlkZSBoZWxwZXJz
LgotICAgIEdlb2xvY2F0aW9uUG9zaXRpb24qIG92ZXJyaWRlR2VvbG9jYXRpb25Qb3NpdGlvbihH
ZW9sb2NhdGlvblBvc2l0aW9uKik7Ci0KLSAgICAvLyBEZXZpY2VPcmllbnRhdGlvbiBoZWxwZXIK
LSAgICBEZXZpY2VPcmllbnRhdGlvbkRhdGEqIG92ZXJyaWRlRGV2aWNlT3JpZW50YXRpb24oRGV2
aWNlT3JpZW50YXRpb25EYXRhKik7Ci0KICAgICAvLyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24g
QVBJCiAgICAgdm9pZCBkaWRDbGVhcldpbmRvd09iamVjdEluV29ybGQoRnJhbWUqLCBET01XcmFw
cGVyV29ybGQmKTsKICAgICB2b2lkIGRvbUNvbnRlbnRFdmVudEZpcmVkKCk7CkBAIC0yMDgsMTQg
KzE5NCwxMCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9lbmFibGVkOwogICAgIGJvb2wgbV9pc0Zp
cnN0TGF5b3V0QWZ0ZXJPbkxvYWQ7CiAgICAgYm9vbCBtX29yaWdpbmFsU2NyaXB0RXhlY3V0aW9u
RGlzYWJsZWQ7Ci0gICAgYm9vbCBtX2dlb2xvY2F0aW9uT3ZlcnJpZGRlbjsKICAgICBib29sIG1f
aWdub3JlU2NyaXB0c0VuYWJsZWROb3RpZmljYXRpb247CiAgICAgYm9vbCBtX3Nob3dQYWludFJl
Y3RzOwogICAgIFN0cmluZyBtX2VtdWxhdGVkTWVkaWE7CiAgICAgUmVmUHRyPEluc3BlY3Rvcjo6
SW5zcGVjdG9yT2JqZWN0PiBtX3NjcmlwdHNUb0V2YWx1YXRlT25Mb2FkOwotICAgIFJlZlB0cjxH
ZW9sb2NhdGlvblBvc2l0aW9uPiBtX2dlb2xvY2F0aW9uUG9zaXRpb247Ci0gICAgUmVmUHRyPEdl
b2xvY2F0aW9uUG9zaXRpb24+IG1fcGxhdGZvcm1HZW9sb2NhdGlvblBvc2l0aW9uOwotICAgIFJl
ZlB0cjxEZXZpY2VPcmllbnRhdGlvbkRhdGE+IG1fZGV2aWNlT3JpZW50YXRpb247CiB9OwogCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFn
ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50
LmNwcAppbmRleCA3ZjgyZjVmZjg2MmZhMWU0OTMyZTM3NTVjMTY2YjBlYjJmNWM3MDY3Li4yZDA3
ZjMyNGYxNzgyMDE5MmE3ZjBmMzU3NWNiOWMxMjBkMDdhYzcwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuY3BwCkBAIC00MTgsMTIg
KzQxOCw2IEBAIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6d2lsbERlc3Ryb3lDYWNoZWRS
ZXNvdXJjZShDYWNoZWRSZXNvdXJjZSogY2FjaGVkUmVzCiAgICAgICAgIG1fcmVzb3VyY2VzRGF0
YS0+c2V0UmVzb3VyY2VDb250ZW50KCppdCwgY29udGVudCwgYmFzZTY0RW5jb2RlZCk7CiB9CiAK
LXZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2VudDo6YXBwbHlVc2VyQWdlbnRPdmVycmlkZShTdHJp
bmcqIHVzZXJBZ2VudCkKLXsKLSAgICBpZiAoIW1fdXNlckFnZW50T3ZlcnJpZGUuaXNOdWxsKCkp
Ci0gICAgICAgICp1c2VyQWdlbnQgPSBtX3VzZXJBZ2VudE92ZXJyaWRlOwotfQotCiB2b2lkIElu
c3BlY3RvclJlc291cmNlQWdlbnQ6OndpbGxSZWNhbGN1bGF0ZVN0eWxlKCkKIHsKICAgICBtX2lz
UmVjYWxjdWxhdGluZ1N0eWxlID0gdHJ1ZTsKQEAgLTU0MiwxNyArNTM2LDExIEBAIHZvaWQgSW5z
cGVjdG9yUmVzb3VyY2VBZ2VudDo6ZW5hYmxlKCkKIHZvaWQgSW5zcGVjdG9yUmVzb3VyY2VBZ2Vu
dDo6ZGlzYWJsZShFcnJvclN0cmluZyopCiB7CiAgICAgbV9lbmFibGVkID0gZmFsc2U7Ci0gICAg
bV91c2VyQWdlbnRPdmVycmlkZSA9IFN0cmluZygpOwogICAgIG1faW5zdHJ1bWVudGluZ0FnZW50
cy0+c2V0SW5zcGVjdG9yUmVzb3VyY2VBZ2VudCgwKTsKICAgICBtX3Jlc291cmNlc0RhdGEtPmNs
ZWFyKCk7CiAgICAgbV9leHRyYVJlcXVlc3RIZWFkZXJzLmNsZWFyKCk7CiB9CiAKLXZvaWQgSW5z
cGVjdG9yUmVzb3VyY2VBZ2VudDo6c2V0VXNlckFnZW50T3ZlcnJpZGUoRXJyb3JTdHJpbmcqLCBj
b25zdCBTdHJpbmcmIHVzZXJBZ2VudCkKLXsKLSAgICBtX3VzZXJBZ2VudE92ZXJyaWRlID0gdXNl
ckFnZW50OwotfQotCiB2b2lkIEluc3BlY3RvclJlc291cmNlQWdlbnQ6OnNldEV4dHJhSFRUUEhl
YWRlcnMoRXJyb3JTdHJpbmcqLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yT2JqZWN0PiYgaGVhZGVy
cykKIHsKICAgICBtX2V4dHJhUmVxdWVzdEhlYWRlcnMgPSBoZWFkZXJzOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclJlc291cmNlQWdlbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JSZXNvdXJjZUFnZW50LmgKaW5kZXggZGM1MDkx
N2ExMWI5MTEwNWY2NTE1YTk3NjI3NDJlNjZlMTNjZTQ2YS4uNTk4Mzg3NDJiZTVkYmQzNWQ1NjQ5
YWNiMzI3N2JjODAyMjI4ZmJmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvclJlc291cmNlQWdlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9yUmVzb3VyY2VBZ2VudC5oCkBAIC0xMDgsOCArMTA4LDYgQEAgcHVibGljOgogCiAg
ICAgdm9pZCB3aWxsRGVzdHJveUNhY2hlZFJlc291cmNlKENhY2hlZFJlc291cmNlKik7CiAKLSAg
ICB2b2lkIGFwcGx5VXNlckFnZW50T3ZlcnJpZGUoU3RyaW5nKiB1c2VyQWdlbnQpOwotCiAgICAg
Ly8gRklYTUU6IEluc3BlY3RvclJlc291cmNlQWdlbnQgc2hvdWxkIG5vdyBiZSBhd2FyZSBvZiBz
dHlsZSByZWNhbGN1bGF0aW9uLgogICAgIHZvaWQgd2lsbFJlY2FsY3VsYXRlU3R5bGUoKTsKICAg
ICB2b2lkIGRpZFJlY2FsY3VsYXRlU3R5bGUoKTsKQEAgLTEzMyw3ICsxMzEsNiBAQCBwdWJsaWM6
CiAgICAgLy8gQ2FsbGVkIGZyb20gZnJvbnRlbmQKICAgICB2aXJ0dWFsIHZvaWQgZW5hYmxlKEVy
cm9yU3RyaW5nKik7CiAgICAgdmlydHVhbCB2b2lkIGRpc2FibGUoRXJyb3JTdHJpbmcqKTsKLSAg
ICB2aXJ0dWFsIHZvaWQgc2V0VXNlckFnZW50T3ZlcnJpZGUoRXJyb3JTdHJpbmcqLCBjb25zdCBT
dHJpbmcmIHVzZXJBZ2VudCk7CiAgICAgdmlydHVhbCB2b2lkIHNldEV4dHJhSFRUUEhlYWRlcnMo
RXJyb3JTdHJpbmcqLCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yOjpJbnNwZWN0b3JPYmplY3Q+Jik7
CiAgICAgdmlydHVhbCB2b2lkIGdldFJlc3BvbnNlQm9keShFcnJvclN0cmluZyosIGNvbnN0IFN0
cmluZyYgcmVxdWVzdElkLCBTdHJpbmcqIGNvbnRlbnQsIGJvb2wqIGJhc2U2NEVuY29kZWQpOwog
CkBAIC0xNTQsNyArMTUxLDYgQEAgcHJpdmF0ZToKICAgICBJbnNwZWN0b3JDbGllbnQqIG1fY2xp
ZW50OwogICAgIHN0ZDo6dW5pcXVlX3B0cjxJbnNwZWN0b3I6Okluc3BlY3Rvck5ldHdvcmtGcm9u
dGVuZERpc3BhdGNoZXI+IG1fZnJvbnRlbmREaXNwYXRjaGVyOwogICAgIFJlZlB0cjxJbnNwZWN0
b3I6Okluc3BlY3Rvck5ldHdvcmtCYWNrZW5kRGlzcGF0Y2hlcj4gbV9iYWNrZW5kRGlzcGF0Y2hl
cjsKLSAgICBTdHJpbmcgbV91c2VyQWdlbnRPdmVycmlkZTsKICAgICBPd25QdHI8TmV0d29ya1Jl
c291cmNlc0RhdGE+IG1fcmVzb3VyY2VzRGF0YTsKICAgICBib29sIG1fZW5hYmxlZDsKICAgICBi
b29sIG1fY2FjaGVEaXNhYmxlZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9wcm90b2NvbC9OZXR3b3JrLmpzb24gYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9j
b2wvTmV0d29yay5qc29uCmluZGV4IGViZTBjZTk0MDBkZWQ1ZGRhZTE2ZGI5ZmRlNGI1OWUzNjkx
ZTY5OTAuLjc5YmFiN2E5ZWUxNjUyMzhlNzZhMmMwOTEyNzliMjYyZjUyOTA1YzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9OZXR3b3JrLmpzb24KKysrIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3RvY29sL05ldHdvcmsuanNvbgpAQCAtMTM4LDEz
ICsxMzgsNiBAQAogICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIG5ldHdvcmsg
dHJhY2tpbmcsIHByZXZlbnRzIG5ldHdvcmsgZXZlbnRzIGZyb20gYmVpbmcgc2VudCB0byB0aGUg
Y2xpZW50LiIKICAgICAgICAgfSwKICAgICAgICAgewotICAgICAgICAgICAgIm5hbWUiOiAic2V0
VXNlckFnZW50T3ZlcnJpZGUiLAotICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkFsbG93cyBv
dmVycmlkaW5nIHVzZXIgYWdlbnQgd2l0aCB0aGUgZ2l2ZW4gc3RyaW5nLiIsCi0gICAgICAgICAg
ICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogInVzZXJBZ2VudCIs
ICJ0eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJVc2VyIGFnZW50IHRvIHVzZS4iIH0K
LSAgICAgICAgICAgIF0KLSAgICAgICAgfSwKLSAgICAgICAgewogICAgICAgICAgICAgIm5hbWUi
OiAic2V0RXh0cmFIVFRQSGVhZGVycyIsCiAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU3Bl
Y2lmaWVzIHdoZXRoZXIgdG8gYWx3YXlzIHNlbmQgZXh0cmEgSFRUUCBoZWFkZXJzIHdpdGggdGhl
IHJlcXVlc3RzIGZyb20gdGhpcyBwYWdlLiIsCiAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9QYWdlLmpzb24g
Yi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvcHJvdG9jb2wvUGFnZS5qc29uCmluZGV4IDA1NWJh
MjlmMjBhMTAwMDJmMGVkODg4ZGQwZWZlNTQyZWMwNTNlOGQuLmU0NWUwOTgxNjQ1ZjI5ODEzMmYy
ODNjMzdkMWU2YTgzNjJjOWEwNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9wcm90b2NvbC9QYWdlLmpzb24KKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL3Byb3Rv
Y29sL1BhZ2UuanNvbgpAQCAtMjU1LDQ2ICsyNTUsNiBAQAogICAgICAgICAgICAgXQogICAgICAg
ICB9LAogICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJzZXRHZW9sb2NhdGlvbk92ZXJy
aWRlIiwKLSAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkZXMgdGhlIEdlb2xvY2F0
aW9uIFBvc2l0aW9uIG9yIEVycm9yLiIsCi0gICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogImxhdGl0dWRlIiwgInR5cGUiOiAibnVtYmVyIiwgIm9w
dGlvbmFsIjogdHJ1ZSwgImRlc2NyaXB0aW9uIjogIk1vY2sgbGF0aXR1ZGUifSwKLSAgICAgICAg
ICAgICAgICB7ICJuYW1lIjogImxvbmdpdHVkZSIsICJ0eXBlIjogIm51bWJlciIsICJvcHRpb25h
bCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJNb2NrIGxvbmdpdHVkZSJ9LAotICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAiYWNjdXJhY3kiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiB0
cnVlLCAiZGVzY3JpcHRpb24iOiAiTW9jayBhY2N1cmFjeSJ9Ci0gICAgICAgICAgICBdCi0gICAg
ICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogImNsZWFyR2VvbG9jYXRpb25P
dmVycmlkZSIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiQ2xlYXJzIHRoZSBvdmVycmlk
ZW4gR2VvbG9jYXRpb24gUG9zaXRpb24gYW5kIEVycm9yLiIKLSAgICAgICAgfSwKLSAgICAgICAg
ewotICAgICAgICAgICAgIm5hbWUiOiAiY2FuT3ZlcnJpZGVHZW9sb2NhdGlvbiIsCi0gICAgICAg
ICAgICAiZGVzY3JpcHRpb24iOiAiQ2hlY2tzIGlmIEdlb2xvY2F0aW9uIGNhbiBiZSBvdmVycmlk
ZGVuLiIsCi0gICAgICAgICAgICAicmV0dXJucyI6IFsKLSAgICAgICAgICAgICAgICB7ICJuYW1l
IjogInJlc3VsdCIsICJ0eXBlIjogImJvb2xlYW4iLCAiZGVzY3JpcHRpb24iOiAiVHJ1ZSBpZiBi
cm93c2VyIGNhbiBvdnJyaWRlIEdlb2xvY2F0aW9uLiIgfQotICAgICAgICAgICAgXQotICAgICAg
ICB9LAotICAgICAgICB7Ci0gICAgICAgICAgICAibmFtZSI6ICJzZXREZXZpY2VPcmllbnRhdGlv
bk92ZXJyaWRlIiwKLSAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJPdmVycmlkZXMgdGhlIERl
dmljZSBPcmllbnRhdGlvbi4iLAotICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAg
ICAgICAgICAgeyAibmFtZSI6ICJhbHBoYSIsICJ0eXBlIjogIm51bWJlciIsICJkZXNjcmlwdGlv
biI6ICJNb2NrIGFscGhhIn0sCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJiZXRhIiwgInR5
cGUiOiAibnVtYmVyIiwgImRlc2NyaXB0aW9uIjogIk1vY2sgYmV0YSJ9LAotICAgICAgICAgICAg
ICAgIHsgIm5hbWUiOiAiZ2FtbWEiLCAidHlwZSI6ICJudW1iZXIiLCAiZGVzY3JpcHRpb24iOiAi
TW9jayBnYW1tYSJ9Ci0gICAgICAgICAgICBdCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAg
ICAgICAgICJuYW1lIjogImNsZWFyRGV2aWNlT3JpZW50YXRpb25PdmVycmlkZSIsCi0gICAgICAg
ICAgICAiZGVzY3JpcHRpb24iOiAiQ2xlYXJzIHRoZSBvdmVycmlkZGVuIERldmljZSBPcmllbnRh
dGlvbi4iCi0gICAgICAgIH0sCi0gICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogImNhbk92
ZXJyaWRlRGV2aWNlT3JpZW50YXRpb24iLAotICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIkNo
ZWNrIHRoZSBiYWNrZW5kIGlmIFdlYiBJbnNwZWN0b3IgY2FuIG92ZXJyaWRlIHRoZSBkZXZpY2Ug
b3JpZW50YXRpb24uIiwKLSAgICAgICAgICAgICJyZXR1cm5zIjogWwotICAgICAgICAgICAgICAg
IHsgIm5hbWUiOiAicmVzdWx0IiwgInR5cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICJJ
ZiB0cnVlLCA8Y29kZT5zZXREZXZpY2VPcmllbnRhdGlvbk92ZXJyaWRlPC9jb2RlPiBjYW4gc2Fm
ZWx5IGJlIGludm9rZWQgb24gdGhlIGFnZW50LiIgfQotICAgICAgICAgICAgXQotICAgICAgICB9
LAotICAgICAgICB7CiAgICAgICAgICAgICAibmFtZSI6ICJzZXRUb3VjaEVtdWxhdGlvbkVuYWJs
ZWQiLAogICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCiAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJlbmFibGVkIiwgInR5cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICJXaGV0aGVy
IHRoZSB0b3VjaCBldmVudCBlbXVsYXRpb24gc2hvdWxkIGJlIGVuYWJsZWQuIiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvbG9hZGVyL0ZyYW1lTG9hZGVyLmNwcAppbmRleCA2NDY2OGFhN2IyMmNiYzI4Y2QyM2E5YWU1
NTgxMDliMjYwODk1NDBkLi4xYWYwNzhmNzQ2Mjk3YTZiOWE0MDJmYTE1ZWE5NGZiYTRhZmM4YmNl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRnJhbWVMb2FkZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9GcmFtZUxvYWRlci5jcHAKQEAgLTI0ODcsOSArMjQ4Nyw3
IEBAIGludCBGcmFtZUxvYWRlcjo6bnVtUGVuZGluZ09yTG9hZGluZ1JlcXVlc3RzKGJvb2wgcmVj
dXJzZSkgY29uc3QKIAogU3RyaW5nIEZyYW1lTG9hZGVyOjp1c2VyQWdlbnQoY29uc3QgVVJMJiB1
cmwpIGNvbnN0CiB7Ci0gICAgU3RyaW5nIHVzZXJBZ2VudCA9IG1fY2xpZW50LnVzZXJBZ2VudCh1
cmwpOwotICAgIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6YXBwbHlVc2VyQWdlbnRPdmVycmlk
ZSgmbV9mcmFtZSwgJnVzZXJBZ2VudCk7Ci0gICAgcmV0dXJuIHVzZXJBZ2VudDsKKyAgICByZXR1
cm4gbV9jbGllbnQudXNlckFnZW50KHVybCk7CiB9CiAKIHZvaWQgRnJhbWVMb2FkZXI6OmhhbmRs
ZWRPbmxvYWRFdmVudHMoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJ
bnRlcmZhY2UvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1VzZXJJbnRlcmZhY2UvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzCmluZGV4
IGI5ZjQyYTFlMTc1MDEyZmM3MjkwOWU1OTEzZWRmMDA2MDVjM2I5NDYuLmUyNjU5N2YxMzFkN2Uw
ODQzZjM4MWY1NTVlYzk1ZDAzNDlmMGNhYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL0luc3BlY3RvcldlYkJhY2tlbmRDb21tYW5kcy5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9JbnNwZWN0b3JXZWJCYWNrZW5kQ29t
bWFuZHMuanMKQEAgLTIyMiw3ICsyMjIsNiBAQCBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZl
bnQoIk5ldHdvcmsud2ViU29ja2V0RnJhbWVFcnJvciIsIFsicmVxdWVzdElkIiwgInRpbQogSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJOZXR3b3JrLndlYlNvY2tldEZyYW1lU2VudCIs
IFsicmVxdWVzdElkIiwgInRpbWVzdGFtcCIsICJyZXNwb25zZSJdKTsKIEluc3BlY3RvckJhY2tl
bmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrLmVuYWJsZSIsIFtdLCBbXSk7CiBJbnNwZWN0b3JC
YWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiTmV0d29yay5kaXNhYmxlIiwgW10sIFtdKTsKLUluc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrLnNldFVzZXJBZ2VudE92ZXJyaWRl
IiwgW3sibmFtZSI6ICJ1c2VyQWdlbnQiLCAidHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBm
YWxzZX1dLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiTmV0d29yay5z
ZXRFeHRyYUhUVFBIZWFkZXJzIiwgW3sibmFtZSI6ICJoZWFkZXJzIiwgInR5cGUiOiAib2JqZWN0
IiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNv
bW1hbmQoIk5ldHdvcmsuZ2V0UmVzcG9uc2VCb2R5IiwgW3sibmFtZSI6ICJyZXF1ZXN0SWQiLCAi
dHlwZSI6ICJzdHJpbmciLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbImJvZHkiLCAiYmFzZTY0RW5j
b2RlZCJdKTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrLnJlcGxh
eVhIUiIsIFt7Im5hbWUiOiAicmVxdWVzdElkIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFs
IjogZmFsc2V9XSwgW10pOwpAQCAtMjY5LDEyICsyNjgsNiBAQCBJbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyQ29tbWFuZCgiUGFnZS5jYW5Db250aW51b3VzbHlQYWludCIsIFtdLCBbInZhbHVlIl0p
OwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2Uuc2V0Q29udGludW91c1Bh
aW50aW5nRW5hYmxlZCIsIFt7Im5hbWUiOiAiZW5hYmxlZCIsICJ0eXBlIjogImJvb2xlYW4iLCAi
b3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFu
ZCgiUGFnZS5nZXRTY3JpcHRFeGVjdXRpb25TdGF0dXMiLCBbXSwgWyJyZXN1bHQiXSk7CiBJbnNw
ZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5zZXRTY3JpcHRFeGVjdXRpb25EaXNh
YmxlZCIsIFt7Im5hbWUiOiAidmFsdWUiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjog
ZmFsc2V9XSwgW10pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2Uuc2V0
R2VvbG9jYXRpb25PdmVycmlkZSIsIFt7Im5hbWUiOiAibGF0aXR1ZGUiLCAidHlwZSI6ICJudW1i
ZXIiLCAib3B0aW9uYWwiOiB0cnVlfSwgeyJuYW1lIjogImxvbmdpdHVkZSIsICJ0eXBlIjogIm51
bWJlciIsICJvcHRpb25hbCI6IHRydWV9LCB7Im5hbWUiOiAiYWNjdXJhY3kiLCAidHlwZSI6ICJu
dW1iZXIiLCAib3B0aW9uYWwiOiB0cnVlfV0sIFtdKTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0
ZXJDb21tYW5kKCJQYWdlLmNsZWFyR2VvbG9jYXRpb25PdmVycmlkZSIsIFtdLCBbXSk7Ci1JbnNw
ZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5jYW5PdmVycmlkZUdlb2xvY2F0aW9u
IiwgW10sIFsicmVzdWx0Il0pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBh
Z2Uuc2V0RGV2aWNlT3JpZW50YXRpb25PdmVycmlkZSIsIFt7Im5hbWUiOiAiYWxwaGEiLCAidHlw
ZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJiZXRhIiwgInR5cGUi
OiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAiZ2FtbWEiLCAidHlwZSI6
ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyQ29tbWFuZCgiUGFnZS5jbGVhckRldmljZU9yaWVudGF0aW9uT3ZlcnJpZGUiLCBbXSwg
W10pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2UuY2FuT3ZlcnJpZGVE
ZXZpY2VPcmllbnRhdGlvbiIsIFtdLCBbInJlc3VsdCJdKTsKIEluc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJDb21tYW5kKCJQYWdlLnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZCIsIFt7Im5hbWUiOiAi
ZW5hYmxlZCIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7CiBJ
bnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5zZXRFbXVsYXRlZE1lZGlhIiwg
W3sibmFtZSI6ICJtZWRpYSIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0s
IFtdKTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdlLmdldENvbXBvc2l0
aW5nQm9yZGVyc1Zpc2libGUiLCBbXSwgWyJyZXN1bHQiXSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9MZWdhY3kvNi4wL0luc3BlY3RvcldlYkJhY2tl
bmRDb21tYW5kcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0xlZ2Fj
eS82LjAvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzCmluZGV4IDM4MjQzOTk3NzlmYjBm
N2EzNDdjM2ZmYWJlMmUzOWY4YzQ5MmVjNzguLmU5MGNlYTJhODJhZDFiM2QzYzAwZmY1M2YzMzE3
ZGU0MTc0MWU4OTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL0xlZ2FjeS82LjAvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzCisrKyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0xlZ2FjeS82LjAvSW5zcGVjdG9yV2ViQmFj
a2VuZENvbW1hbmRzLmpzCkBAIC04OCw3ICs4OCw2IEBAIEluc3BlY3RvckJhY2tlbmQucmVnaXN0
ZXJFdmVudCgiTmV0d29yay53ZWJTb2NrZXRGcmFtZUVycm9yIiwgWyJyZXF1ZXN0SWQiLCAidGlt
CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyRXZlbnQoIk5ldHdvcmsud2ViU29ja2V0RnJhbWVT
ZW50IiwgWyJyZXF1ZXN0SWQiLCAidGltZXN0YW1wIiwgInJlc3BvbnNlIl0pOwogSW5zcGVjdG9y
QmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsuZW5hYmxlIiwgW10sIFtdKTsKIEluc3Bl
Y3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrLmRpc2FibGUiLCBbXSwgW10pOwot
SW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsuc2V0VXNlckFnZW50T3Zl
cnJpZGUiLCBbeyJuYW1lIjogInVzZXJBZ2VudCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25h
bCI6IGZhbHNlfV0sIFtdKTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3
b3JrLnNldEV4dHJhSFRUUEhlYWRlcnMiLCBbeyJuYW1lIjogImhlYWRlcnMiLCAidHlwZSI6ICJv
YmplY3QiLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lz
dGVyQ29tbWFuZCgiTmV0d29yay5nZXRSZXNwb25zZUJvZHkiLCBbeyJuYW1lIjogInJlcXVlc3RJ
ZCIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFsiYm9keSIsICJiYXNl
NjRFbmNvZGVkIl0pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsu
Y2FuQ2xlYXJCcm93c2VyQ2FjaGUiLCBbXSwgWyJyZXN1bHQiXSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9MZWdhY3kvNy4wL0luc3BlY3RvcldlYkJh
Y2tlbmRDb21tYW5kcy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0xl
Z2FjeS83LjAvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzCmluZGV4IDRkYTQyMWY0MWY4
OTllNmMzNjRkOWJmNjU2MjEzNzk3NjA2NGZkMTguLjZkM2I0NjNlYWY0OWZkYWEyMDZlZTRiODBm
NzM2Y2RmNzhmNjUwYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL0xlZ2FjeS83LjAvSW5zcGVjdG9yV2ViQmFja2VuZENvbW1hbmRzLmpzCisrKyBiL1Nv
dXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0xlZ2FjeS83LjAvSW5zcGVjdG9yV2Vi
QmFja2VuZENvbW1hbmRzLmpzCkBAIC01NSwxMiArNTUsNiBAQCBJbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyQ29tbWFuZCgiUGFnZS5jYW5Db250aW51b3VzbHlQYWludCIsIFtdLCBbInZhbHVlIl0p
OwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2Uuc2V0Q29udGludW91c1Bh
aW50aW5nRW5hYmxlZCIsIFt7Im5hbWUiOiAiZW5hYmxlZCIsICJ0eXBlIjogImJvb2xlYW4iLCAi
b3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFu
ZCgiUGFnZS5nZXRTY3JpcHRFeGVjdXRpb25TdGF0dXMiLCBbXSwgWyJyZXN1bHQiXSk7CiBJbnNw
ZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5zZXRTY3JpcHRFeGVjdXRpb25EaXNh
YmxlZCIsIFt7Im5hbWUiOiAidmFsdWUiLCAidHlwZSI6ICJib29sZWFuIiwgIm9wdGlvbmFsIjog
ZmFsc2V9XSwgW10pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2Uuc2V0
R2VvbG9jYXRpb25PdmVycmlkZSIsIFt7Im5hbWUiOiAibGF0aXR1ZGUiLCAidHlwZSI6ICJudW1i
ZXIiLCAib3B0aW9uYWwiOiB0cnVlfSwgeyJuYW1lIjogImxvbmdpdHVkZSIsICJ0eXBlIjogIm51
bWJlciIsICJvcHRpb25hbCI6IHRydWV9LCB7Im5hbWUiOiAiYWNjdXJhY3kiLCAidHlwZSI6ICJu
dW1iZXIiLCAib3B0aW9uYWwiOiB0cnVlfV0sIFtdKTsKLUluc3BlY3RvckJhY2tlbmQucmVnaXN0
ZXJDb21tYW5kKCJQYWdlLmNsZWFyR2VvbG9jYXRpb25PdmVycmlkZSIsIFtdLCBbXSk7Ci1JbnNw
ZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5jYW5PdmVycmlkZUdlb2xvY2F0aW9u
IiwgW10sIFsicmVzdWx0Il0pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBh
Z2Uuc2V0RGV2aWNlT3JpZW50YXRpb25PdmVycmlkZSIsIFt7Im5hbWUiOiAiYWxwaGEiLCAidHlw
ZSI6ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX0sIHsibmFtZSI6ICJiZXRhIiwgInR5cGUi
OiAibnVtYmVyIiwgIm9wdGlvbmFsIjogZmFsc2V9LCB7Im5hbWUiOiAiZ2FtbWEiLCAidHlwZSI6
ICJudW1iZXIiLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyQ29tbWFuZCgiUGFnZS5jbGVhckRldmljZU9yaWVudGF0aW9uT3ZlcnJpZGUiLCBbXSwg
W10pOwotSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIlBhZ2UuY2FuT3ZlcnJpZGVE
ZXZpY2VPcmllbnRhdGlvbiIsIFtdLCBbInJlc3VsdCJdKTsKIEluc3BlY3RvckJhY2tlbmQucmVn
aXN0ZXJDb21tYW5kKCJQYWdlLnNldFRvdWNoRW11bGF0aW9uRW5hYmxlZCIsIFt7Im5hbWUiOiAi
ZW5hYmxlZCIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiBmYWxzZX1dLCBbXSk7CiBJ
bnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiUGFnZS5zZXRFbXVsYXRlZE1lZGlhIiwg
W3sibmFtZSI6ICJtZWRpYSIsICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0s
IFtdKTsKIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJQYWdlLmdldENvbXBvc2l0
aW5nQm9yZGVyc1Zpc2libGUiLCBbXSwgWyJyZXN1bHQiXSk7CkBAIC0xMTksNyArMTEzLDYgQEAg
SW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckV2ZW50KCJOZXR3b3JrLndlYlNvY2tldEZyYW1lRXJy
b3IiLCBbInJlcXVlc3RJZCIsICJ0aW0KIEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJFdmVudCgi
TmV0d29yay53ZWJTb2NrZXRGcmFtZVNlbnQiLCBbInJlcXVlc3RJZCIsICJ0aW1lc3RhbXAiLCAi
cmVzcG9uc2UiXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgiTmV0d29yay5l
bmFibGUiLCBbXSwgW10pOwogSW5zcGVjdG9yQmFja2VuZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdv
cmsuZGlzYWJsZSIsIFtdLCBbXSk7Ci1JbnNwZWN0b3JCYWNrZW5kLnJlZ2lzdGVyQ29tbWFuZCgi
TmV0d29yay5zZXRVc2VyQWdlbnRPdmVycmlkZSIsIFt7Im5hbWUiOiAidXNlckFnZW50IiwgInR5
cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjogZmFsc2V9XSwgW10pOwogSW5zcGVjdG9yQmFja2Vu
ZC5yZWdpc3RlckNvbW1hbmQoIk5ldHdvcmsuc2V0RXh0cmFIVFRQSGVhZGVycyIsIFt7Im5hbWUi
OiAiaGVhZGVycyIsICJ0eXBlIjogIm9iamVjdCIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsK
IEluc3BlY3RvckJhY2tlbmQucmVnaXN0ZXJDb21tYW5kKCJOZXR3b3JrLmdldFJlc3BvbnNlQm9k
eSIsIFt7Im5hbWUiOiAicmVxdWVzdElkIiwgInR5cGUiOiAic3RyaW5nIiwgIm9wdGlvbmFsIjog
ZmFsc2V9XSwgWyJib2R5IiwgImJhc2U2NEVuY29kZWQiXSk7CiBJbnNwZWN0b3JCYWNrZW5kLnJl
Z2lzdGVyQ29tbWFuZCgiTmV0d29yay5yZXBsYXlYSFIiLCBbeyJuYW1lIjogInJlcXVlc3RJZCIs
ICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IGZhbHNlfV0sIFtdKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9WZXJzaW9ucy9JbnNwZWN0b3ItaU9TLTYuMC5qc29uIGIv
U291cmNlL1dlYkluc3BlY3RvclVJL1ZlcnNpb25zL0luc3BlY3Rvci1pT1MtNi4wLmpzb24KaW5k
ZXggY2VmZjk0NDczZDZiMGNhN2ZkMDdiZDg4Njc2ZThmYTVjMjAxZDJlNC4uYmNkM2RiMjI1NDQ3
ZDVmZjg3MWVhZmRhOTk3ZGY5NDE5MmQ5NGQ2ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3Bl
Y3RvclVJL1ZlcnNpb25zL0luc3BlY3Rvci1pT1MtNi4wLmpzb24KKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1ZlcnNpb25zL0luc3BlY3Rvci1pT1MtNi4wLmpzb24KQEAgLTcxNSwxMyArNzE1
LDYgQEAKICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRGlzYWJsZXMgbmV0d29yayB0
cmFja2luZywgcHJldmVudHMgbmV0d29yayBldmVudHMgZnJvbSBiZWluZyBzZW50IHRvIHRoZSBj
bGllbnQuIgogICAgICAgICAgICAgfSwKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJzZXRVc2VyQWdlbnRPdmVycmlkZSIsCi0gICAgICAgICAgICAgICAgImRlc2NyaXB0
aW9uIjogIkFsbG93cyBvdmVycmlkaW5nIHVzZXIgYWdlbnQgd2l0aCB0aGUgZ2l2ZW4gc3RyaW5n
LiIsCi0gICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCi0gICAgICAgICAgICAgICAgICAg
IHsgIm5hbWUiOiAidXNlckFnZW50IiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjog
IlVzZXIgYWdlbnQgdG8gdXNlLiIgfQotICAgICAgICAgICAgICAgIF0KLSAgICAgICAgICAgIH0s
Ci0gICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0RXh0cmFIVFRQSGVh
ZGVycyIsCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlNwZWNpZmllcyB3aGV0aGVy
IHRvIGFsd2F5cyBzZW5kIGV4dHJhIEhUVFAgaGVhZGVycyB3aXRoIHRoZSByZXF1ZXN0cyBmcm9t
IHRoaXMgcGFnZS4iLAogICAgICAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1ZlcnNpb25zL0luc3BlY3Rvci1pT1MtNy4wLmpzb24g
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVmVyc2lvbnMvSW5zcGVjdG9yLWlPUy03LjAuanNvbgpp
bmRleCBhZGFlNDgyNWQxMWE3NGQwMWFmYzE2ODkxZTE2NGQ5ZmQ1MmEyZGJiLi45Y2YzOGI0ZmYw
ZDI1NGMyNDBhMTI3NjI3ZWQwMTU5MTNhODU5ZmRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVmVyc2lvbnMvSW5zcGVjdG9yLWlPUy03LjAuanNvbgorKysgYi9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVmVyc2lvbnMvSW5zcGVjdG9yLWlPUy03LjAuanNvbgpAQCAtMzI2LDQ2ICsz
MjYsNiBAQAogICAgICAgICAgICAgICAgIF0KICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICB7
Ci0gICAgICAgICAgICAgICAgIm5hbWUiOiAic2V0R2VvbG9jYXRpb25PdmVycmlkZSIsCi0gICAg
ICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIk92ZXJyaWRlcyB0aGUgR2VvbG9jYXRpb24gUG9z
aXRpb24gb3IgRXJyb3IuIiwKLSAgICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAg
ICAgICAgICAgICAgICAgeyAibmFtZSI6ICJsYXRpdHVkZSIsICJ0eXBlIjogIm51bWJlciIsICJv
cHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJNb2NrIGxvbmdpdHVkZSJ9LAotICAgICAg
ICAgICAgICAgICAgICB7ICJuYW1lIjogImxvbmdpdHVkZSIsICJ0eXBlIjogIm51bWJlciIsICJv
cHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJNb2NrIGxhdGl0dWRlIn0sCi0gICAgICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAiYWNjdXJhY3kiLCAidHlwZSI6ICJudW1iZXIiLCAib3B0
aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiTW9jayBhY2N1cmFjeSJ9Ci0gICAgICAgICAg
ICAgICAgXQotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJjbGVhckdlb2xvY2F0aW9uT3ZlcnJpZGUiLAotICAgICAgICAgICAgICAgICJkZXNj
cmlwdGlvbiI6ICJDbGVhcnMgdGhlIG92ZXJyaWRlbiBHZW9sb2NhdGlvbiBQb3NpdGlvbiBhbmQg
RXJyb3IuIgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAi
bmFtZSI6ICJjYW5PdmVycmlkZUdlb2xvY2F0aW9uIiwKLSAgICAgICAgICAgICAgICAiZGVzY3Jp
cHRpb24iOiAiQ2hlY2tzIGlmIEdlb2xvY2F0aW9uIGNhbiBiZSBvdmVycmlkZGVuLiIsCi0gICAg
ICAgICAgICAgICAgInJldHVybnMiOiBbCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAi
cmVzdWx0IiwgInR5cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6ICJUcnVlIGlmIGJyb3dz
ZXIgY2FuIG92cnJpZGUgR2VvbG9jYXRpb24uIiB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAg
ICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6ICJzZXREZXZp
Y2VPcmllbnRhdGlvbk92ZXJyaWRlIiwKLSAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi
T3ZlcnJpZGVzIHRoZSBEZXZpY2UgT3JpZW50YXRpb24uIiwKLSAgICAgICAgICAgICAgICAicGFy
YW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJhbHBoYSIsICJ0eXBl
IjogIm51bWJlciIsICJkZXNjcmlwdGlvbiI6ICJNb2NrIGFscGhhIn0sCi0gICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAiYmV0YSIsICJ0eXBlIjogIm51bWJlciIsICJkZXNjcmlwdGlvbiI6
ICJNb2NrIGJldGEifSwKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJnYW1tYSIsICJ0
eXBlIjogIm51bWJlciIsICJkZXNjcmlwdGlvbiI6ICJNb2NrIGdhbW1hIn0KLSAgICAgICAgICAg
ICAgICBdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJu
YW1lIjogImNsZWFyRGV2aWNlT3JpZW50YXRpb25PdmVycmlkZSIsCi0gICAgICAgICAgICAgICAg
ImRlc2NyaXB0aW9uIjogIkNsZWFycyB0aGUgb3ZlcnJpZGRlbiBEZXZpY2UgT3JpZW50YXRpb24u
IgotICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICAibmFtZSI6
ICJjYW5PdmVycmlkZURldmljZU9yaWVudGF0aW9uIiwKLSAgICAgICAgICAgICAgICAiZGVzY3Jp
cHRpb24iOiAiQ2hlY2sgdGhlIGJhY2tlbmQgaWYgV2ViIEluc3BlY3RvciBjYW4gb3ZlcnJpZGUg
dGhlIGRldmljZSBvcmllbnRhdGlvbi4iLAotICAgICAgICAgICAgICAgICJyZXR1cm5zIjogWwot
ICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogInJlc3VsdCIsICJ0eXBlIjogImJvb2xlYW4i
LCAiZGVzY3JpcHRpb24iOiAiSWYgdHJ1ZSwgPGNvZGU+c2V0RGV2aWNlT3JpZW50YXRpb25PdmVy
cmlkZTwvY29kZT4gY2FuIHNhZmVseSBiZSBpbnZva2VkIG9uIHRoZSBhZ2VudC4iIH0KLSAgICAg
ICAgICAgICAgICBdCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewogICAgICAgICAgICAg
ICAgICJuYW1lIjogInNldFRvdWNoRW11bGF0aW9uRW5hYmxlZCIsCiAgICAgICAgICAgICAgICAg
InBhcmFtZXRlcnMiOiBbCiAgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZW5hYmxlZCIs
ICJ0eXBlIjogImJvb2xlYW4iLCAiZGVzY3JpcHRpb24iOiAiV2hldGhlciB0aGUgdG91Y2ggZXZl
bnQgZW11bGF0aW9uIHNob3VsZCBiZSBlbmFibGVkLiIgfQpAQCAtOTE4LDEzICs4NzgsNiBAQAog
ICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJEaXNhYmxlcyBuZXR3b3JrIHRyYWNraW5n
LCBwcmV2ZW50cyBuZXR3b3JrIGV2ZW50cyBmcm9tIGJlaW5nIHNlbnQgdG8gdGhlIGNsaWVudC4i
CiAgICAgICAgICAgICB9LAogICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICJuYW1lIjog
InNldFVzZXJBZ2VudE92ZXJyaWRlIiwKLSAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi
QWxsb3dzIG92ZXJyaWRpbmcgdXNlciBhZ2VudCB3aXRoIHRoZSBnaXZlbiBzdHJpbmcuIiwKLSAg
ICAgICAgICAgICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFt
ZSI6ICJ1c2VyQWdlbnQiLCAidHlwZSI6ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiVXNlciBh
Z2VudCB0byB1c2UuIiB9Ci0gICAgICAgICAgICAgICAgXQotICAgICAgICAgICAgfSwKLSAgICAg
ICAgICAgIHsKICAgICAgICAgICAgICAgICAibmFtZSI6ICJzZXRFeHRyYUhUVFBIZWFkZXJzIiwK
ICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiU3BlY2lmaWVzIHdoZXRoZXIgdG8gYWx3
YXlzIHNlbmQgZXh0cmEgSFRUUCBoZWFkZXJzIHdpdGggdGhlIHJlcXVlc3RzIGZyb20gdGhpcyBw
YWdlLiIsCiAgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNWI3YjdmMjhj
OGIzMjc2MWI3ZTE4OWY2NGUzNGFiNTFmODJjYzdmMy4uMWI5MjhjMGUzM2UzNmE3ODNkN2M3NmJj
NzFmZTA5MWE2MDU2NGNmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE0LTAxLTA4ICBTZW9r
anUgS3dvbiAgPHNlb2tqdUB3ZWJraXQub3JnPgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IFJl
bW92ZSB1bnVzZWQgb3ZlcnJpZGluZyBwcm90b2NvbHMuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjY2MzAKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lv
bnMtdXNlcmFnZW50LWV4cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBodHRwL3Rlc3Rz
L2luc3BlY3Rvci9leHRlbnNpb25zLXVzZXJhZ2VudC5odG1sOiBSZW1vdmVkLgorICAgICAgICAq
IGluc3BlY3Rvci9kZXZpY2Utb3JpZW50YXRpb24tc3VjY2Vzcy1leHBlY3RlZC50eHQ6IFJlbW92
ZWQuCisgICAgICAgICogaW5zcGVjdG9yL2RldmljZS1vcmllbnRhdGlvbi1zdWNjZXNzLmh0bWw6
IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yL2dlb2xvY2F0aW9uLWVycm9yLWV4cGVjdGVk
LnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZ2VvbG9jYXRpb24tZXJyb3IuaHRt
bDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZ2VvbG9jYXRpb24tc3VjY2Vzcy1leHBl
Y3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yL2dlb2xvY2F0aW9uLXN1Y2Nl
c3MuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBpbnNwZWN0b3IvZ2VvbG9jYXRpb24td2F0Y2hQ
b3NpdGlvbi1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogaW5zcGVjdG9yL2dlb2xv
Y2F0aW9uLXdhdGNoUG9zaXRpb24uaHRtbDogUmVtb3ZlZC4KKwogMjAxNC0wMS0wNyAgTXlsZXMg
Qy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCiAgICAgICAgIGEgZnJhY3Rpb25h
bCB2YWx1ZSBvZiB0aGUgY3NzIGxldHRlci1zcGFjaW5nIHByb3BlcnR5IGlzIG5vdCByZW5kZXJl
ZCBhcyBleHBlY3RlZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvZXh0ZW5zaW9ucy11c2VyYWdlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvZXh0ZW5zaW9ucy11c2VyYWdlbnQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3NTkyOGM0N2RiYjk2MmY0ZjJmNDg0NDU0MjA5NjJkNmU0
NzJjZDc2Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4dGVuc2lvbnMtdXNlcmFnZW50LWV4cGVj
dGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDEyICswLDAgQEAKLVRlc3RzIG92ZXJyaWRpbmcg
dXNlciBhZ2VudCB2aWEgV2ViSW5zcGVjdG9yIGV4dGVuc2lvbiBBUEkKLQotU3RhcnRlZCBleHRl
bnNpb24uCi1SdW5uaW5nIHRlc3RzLi4uCi1SVU5OSU5HIFRFU1Q6IGV4dGVuc2lvbl90ZXN0VXNl
ckFnZW50Ci1QYWdlIHJlbG9hZGVkLgotUGFnZSByZWxvYWRlZC4KLXVzZXItYWdlbnQgaGVhZGVy
IGZvciBleHRlbnNpb25zLXVzZXJhZ2VudC5odG1sOiBNb3ppbGxhLzQuMCAoY29tcGF0aWJsZTsg
V2ViSW5zcGVjdG9yIEV4dGVuc2lvbiBVc2VyLUFnZW50IG92ZXJyaWRlOyBSU1gtMTFNKQotdXNl
ci1hZ2VudCBoZWFkZXIgZm9yIHhoci1leGlzdHMuaHRtbDogTW96aWxsYS80LjAgKGNvbXBhdGli
bGU7IFdlYkluc3BlY3RvciBFeHRlbnNpb24gVXNlci1BZ2VudCBvdmVycmlkZTsgUlNYLTExTSkK
LW5hdmlnYXRvci51c2VyQWdlbnQ6IE1vemlsbGEvNC4wIChjb21wYXRpYmxlOyBXZWJJbnNwZWN0
b3IgRXh0ZW5zaW9uIFVzZXItQWdlbnQgb3ZlcnJpZGU7IFJTWC0xMU0pCi1BbGwgdGVzdHMgZG9u
ZS4KLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvZXh0ZW5z
aW9ucy11c2VyYWdlbnQuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL2V4
dGVuc2lvbnMtdXNlcmFnZW50Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg5
Mjg2NzkyNDZhYWE4NTM3OTE2ZDQyZjZmZTk3OTNiOTZkMjY0YzQuLjAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvZXh0ZW5zaW9ucy11c2VyYWdlbnQuaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICsw
LDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdCBzcmM9ImV4dGVuc2lvbnMtdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ci0KLWZ1bmN0aW9uIGV4dGVuc2lvbl90ZXN0VXNl
ckFnZW50KG5leHRUZXN0KQotewotICAgIGNvbnN0IHJlcXVlc3RzVG9DaGVjayA9IFsKLSAgICAg
ICAgImV4dGVuc2lvbnMtdXNlcmFnZW50Lmh0bWwiLAotICAgICAgICAieGhyLWV4aXN0cy5odG1s
IgotICAgIF07Ci0gICAgdmFyIHJlcXVlc3RDb3VudCA9IDA7Ci0gICAgdmFyIHF1ZXVlZE91dHB1
dCA9IFtdOwotCi0gICAgZnVuY3Rpb24gb25SZXF1ZXN0RmluaXNoZWQocmVxdWVzdCkKLSAgICB7
Ci0gICAgICAgIHZhciB1cmwgPSByZXF1ZXN0LnJlcXVlc3QudXJsLnJlcGxhY2UoL14uKlsvXS8s
ICIiKTsKLSAgICAgICAgaWYgKHJlcXVlc3RzVG9DaGVjay5pbmRleE9mKHVybCkgPCAwKQotICAg
ICAgICAgICAgcmV0dXJuOwotCi0gICAgICAgIHF1ZXVlZE91dHB1dC5wdXNoKCJ1c2VyLWFnZW50
IGhlYWRlciBmb3IgIiArIHVybCArICI6ICIgKyBnZXRIZWFkZXIocmVxdWVzdC5yZXF1ZXN0Lmhl
YWRlcnMsICJ1c2VyLWFnZW50IikpOwotICAgICAgICBpZiAoKytyZXF1ZXN0Q291bnQgPCByZXF1
ZXN0c1RvQ2hlY2subGVuZ3RoKQotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB3ZWJJbnNw
ZWN0b3IubmV0d29yay5vblJlcXVlc3RGaW5pc2hlZC5yZW1vdmVMaXN0ZW5lcihvblJlcXVlc3RG
aW5pc2hlZCk7Ci0gICAgICAgIHdlYkluc3BlY3Rvci5pbnNwZWN0ZWRXaW5kb3cuZXZhbCgibmF2
aWdhdG9yLnVzZXJBZ2VudCIsIG9uRXZhbCk7Ci0gICAgfQotICAgIGZ1bmN0aW9uIGdldEhlYWRl
cihoZWFkZXJzLCBuYW1lKQotICAgIHsKLSAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBoZWFk
ZXJzLmxlbmd0aDsgKytpKSB7Ci0gICAgICAgICAgICBpZiAoaGVhZGVyc1tpXS5uYW1lLnRvTG93
ZXJDYXNlKCkgPT09IG5hbWUpCi0gICAgICAgICAgICAgICAgcmV0dXJuIGhlYWRlcnNbaV0udmFs
dWU7Ci0gICAgICAgIH0KLSAgICB9Ci0gICAgZnVuY3Rpb24gb25FdmFsKHJlc3VsdCkKLSAgICB7
Ci0gICAgICAgIHF1ZXVlZE91dHB1dC5wdXNoKCJuYXZpZ2F0b3IudXNlckFnZW50OiAiICsgcmVz
dWx0KTsKLSAgICAgICAgd2ViSW5zcGVjdG9yLmluc3BlY3RlZFdpbmRvdy5ldmFsKCIiLCBjbGVh
blVwKTsKLSAgICB9Ci0gICAgZnVuY3Rpb24gY2xlYW5VcCgpCi0gICAgewotICAgICAgICBldmFs
dWF0ZU9uRnJvbnRlbmQoIkluc3BlY3RvclRlc3QucnVuV2hlblBhZ2VMb2FkcyhyZXBseSkiLCBv
blBhZ2VMb2FkZWQpOwotICAgICAgICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93LnJlbG9h
ZCgiIik7Ci0gICAgfQotICAgIGZ1bmN0aW9uIG9uUGFnZUxvYWRlZCgpCi0gICAgewotICAgICAg
ICBmb3IgKHZhciBpID0gMDsgaSA8IHF1ZXVlZE91dHB1dC5sZW5ndGg7ICsraSkKLSAgICAgICAg
ICAgIG91dHB1dChxdWV1ZWRPdXRwdXRbaV0pOwotICAgICAgICBuZXh0VGVzdCgpOwotICAgIH0K
LQotICAgIHdlYkluc3BlY3Rvci5uZXR3b3JrLm9uUmVxdWVzdEZpbmlzaGVkLmFkZExpc3RlbmVy
KG9uUmVxdWVzdEZpbmlzaGVkKTsKLSAgICB3ZWJJbnNwZWN0b3IuaW5zcGVjdGVkV2luZG93LnJl
bG9hZCgiTW96aWxsYS80LjAgKGNvbXBhdGlibGU7IFdlYkluc3BlY3RvciBFeHRlbnNpb24gVXNl
ci1BZ2VudCBvdmVycmlkZTsgUlNYLTExTSkiKTsKLX0KLQotKGZ1bmN0aW9uKCkKLXsKLSAgICB2
YXIgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KCk7Ci0gICAgeGhyLm9wZW4oIkdFVCIsICJyZXNv
dXJjZXMveGhyLWV4aXN0cy5odG1sIiwgZmFsc2UpOwotICAgIHhoci5zZW5kKG51bGwpOwotfSko
KTsKLQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD5U
ZXN0cyBvdmVycmlkaW5nIHVzZXIgYWdlbnQgdmlhIFdlYkluc3BlY3RvciBleHRlbnNpb24gQVBJ
PC9wPgotPC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2RldmljZS1vcmllbnRhdGlvbi1zdWNjZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9kZXZpY2Utb3JpZW50YXRpb24tc3VjY2Vzcy1leHBlY3RlZC50eHQKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGM0NzNlY2I5Y2RmYzE4NmVmOWM0ODVhZjExYzIwNWJmOTY2
MzA3N2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5
b3V0VGVzdHMvaW5zcGVjdG9yL2RldmljZS1vcmllbnRhdGlvbi1zdWNjZXNzLWV4cGVjdGVkLnR4
dAorKysgL2Rldi9udWxsCkBAIC0xLDMgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDE3
OiBhbHBoYTogMjAgYmV0YTogMzAgZ2FtbWE6IDQwCi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMTc6
IGFscGhhOiAxLjEgYmV0YTogMi4yIGdhbW1hOiAzLjMKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW5zcGVjdG9yL2RldmljZS1vcmllbnRhdGlvbi1zdWNjZXNzLmh0bWwgYi9MYXlvdXRUZXN0
cy9pbnNwZWN0b3IvZGV2aWNlLW9yaWVudGF0aW9uLXN1Y2Nlc3MuaHRtbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggYmI3MDgyZmJkNTc3NDc5ODFkZGQ2MzYyZWE2MmVlNzQzZWZmMzFl
ZS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRU
ZXN0cy9pbnNwZWN0b3IvZGV2aWNlLW9yaWVudGF0aW9uLXN1Y2Nlc3MuaHRtbAorKysgL2Rldi9u
dWxsCkBAIC0xLDM3ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNyYz0iLi4vaHR0
cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0PgotPHNjcmlwdD4K
LQotdmFyIG1vY2tBbHBoYSA9IDEuMTsKLXZhciBtb2NrQmV0YSA9IDIuMjsKLXZhciBtb2NrR2Ft
bWEgPSAzLjM7Ci0KLWlmICh3aW5kb3cudGVzdFJ1bm5lcikKLSAgICB0ZXN0UnVubmVyLnNldE1v
Y2tEZXZpY2VPcmllbnRhdGlvbih0cnVlLCBtb2NrQWxwaGEsIHRydWUsIG1vY2tCZXRhLCB0cnVl
LCBtb2NrR2FtbWEpOwotZWxzZQotICAgIGRlYnVnKCdUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4g
d2l0aG91dCB0aGUgTGF5b3V0VGVzdENvbnRyb2xsZXInKTsKLQotZnVuY3Rpb24gaGFuZGxlcihl
dnQpCi17Ci0gICAgICAgIGNvbnNvbGUubG9nKCdhbHBoYTogJyArIGV2dC5hbHBoYSArICcgYmV0
YTogJyArIGV2dC5iZXRhICsgJyBnYW1tYTogJyArIGV2dC5nYW1tYSk7Ci19Ci0KLWZ1bmN0aW9u
IHRlc3QoKQotewotICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKLSAgICB7Ci0gICAgICAgIFBhZ2VB
Z2VudC5jbGVhckRldmljZU9yaWVudGF0aW9uT3ZlcnJpZGUoKTsKLSAgICAgICAgSW5zcGVjdG9y
VGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9Ci0KLSAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRl
SW5QYWdlKCJ3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignZGV2aWNlb3JpZW50YXRpb24nLCBoYW5k
bGVyLCBmYWxzZSk7IiwgY2FsbGJhY2spOwotICAgIFBhZ2VBZ2VudC5zZXREZXZpY2VPcmllbnRh
dGlvbk92ZXJyaWRlKDIwLCAzMCwgNDApOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08Ym9keSBv
bmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLTwvcD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9nZW9sb2NhdGlvbi1lcnJvci1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZ2VvbG9jYXRpb24tZXJyb3ItZXhwZWN0ZWQudHh0CmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxYjA4MzJlMDMzZGQ4ZGE5YmRhMDUwZjI0ZTg3
YTNjNGIwMzhhYmIzLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9nZW9sb2NhdGlvbi1lcnJvci1leHBlY3RlZC50eHQK
KysrIC9kZXYvbnVsbApAQCAtMSwzICswLDAgQEAKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyNjog
RXJyb3I6IDIKLUNPTlNPTEUgTUVTU0FHRTogbGluZSAyMjogbGF0OiA1MS40NzgsIGxvbmc6IC0w
LjE2NgotCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZ2VvbG9jYXRpb24tZXJy
b3IuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9nZW9sb2NhdGlvbi1lcnJvci5odG1sCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5ZGJjMTY3YmE1NjMwZDM2NDdlNTcwZGVlMDQy
OWMxMThlZmNkZjVjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9nZW9sb2NhdGlvbi1lcnJvci5odG1sCisrKyAvZGV2
L251bGwKQEAgLTEsNTUgKzAsMCBAQAotPGh0bWw+Ci08aGVhZD4KLTxzY3JpcHQgc3JjPSIuLi9o
dHRwL3Rlc3RzL2luc3BlY3Rvci9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0
PgotCi12YXIgbW9ja0xhdGl0dWRlID0gNTEuNDc4OwotdmFyIG1vY2tMb25naXR1ZGUgPSAtMC4x
NjY7Ci12YXIgbW9ja0FjY3VyYWN5ID0gMTAwOwotCi1pZiAod2luZG93LnRlc3RSdW5uZXIpIHsK
LSAgICB0ZXN0UnVubmVyLnNldEdlb2xvY2F0aW9uUGVybWlzc2lvbih0cnVlKTsKLSAgICB0ZXN0
UnVubmVyLnNldE1vY2tHZW9sb2NhdGlvblBvc2l0aW9uKG1vY2tMYXRpdHVkZSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vY2tMb25naXR1ZGUsCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2NrQWNjdXJhY3kpOwotfSBlbHNl
Ci0gICAgZGVidWcoJ1RoaXMgdGVzdCBjYW4gbm90IGJlIHJ1biB3aXRob3V0IHRoZSBMYXlvdXRU
ZXN0Q29udHJvbGxlcicpOwotCi1mdW5jdGlvbiBnZXRHZW9sb2NhdGlvbigpCi17Ci0gICAgZnVu
Y3Rpb24gcHJpbnRMb2NhdGlvbihwb3MpCi0gICAgewotICAgICAgICBjb25zb2xlLmxvZygnbGF0
OiAnICsgcG9zLmNvb3Jkcy5sYXRpdHVkZSArICcsIGxvbmc6ICcgKyBwb3MuY29vcmRzLmxvbmdp
dHVkZSk7Ci0gICAgfQotICAgIGZ1bmN0aW9uIHByaW50RXJyb3IoZXJyKQotICAgIHsKLSAgICAg
ICAgY29uc29sZS5sb2coJ0Vycm9yOiAnICsgZXJyLmNvZGUpOwotICAgIH0KLSAgICBuYXZpZ2F0
b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9uKHByaW50TG9jYXRpb24sIHByaW50RXJy
b3IsIFtdKQotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsKLSAgICBmdW5jdGlvbiBjYWxsYmFja0Nv
bXBsZXRlKCkKLSAgICB7Ci0gICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7Ci0g
ICAgfQotICAgIGZ1bmN0aW9uIGNhbGxiYWNrKCkKLSAgICB7Ci0gICAgICAgIFBhZ2VBZ2VudC5j
bGVhckdlb2xvY2F0aW9uT3ZlcnJpZGUoKTsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5ldmFsdWF0
ZUluUGFnZSgiZ2V0R2VvbG9jYXRpb24oKSIsIGNhbGxiYWNrQ29tcGxldGUpOwotICAgIH0KLSAg
ICBQYWdlQWdlbnQuc2V0R2VvbG9jYXRpb25PdmVycmlkZSgpOwotICAgIEluc3BlY3RvclRlc3Qu
ZXZhbHVhdGVJblBhZ2UoImdldEdlb2xvY2F0aW9uKCkiLCBjYWxsYmFjayk7Ci19Ci0KLQotPC9z
Y3JpcHQ+Ci08L2hlYWQ+Ci0KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotPC9wPgot
Ci08L2JvZHk+Ci08L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZ2Vv
bG9jYXRpb24tc3VjY2Vzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3IvZ2Vv
bG9jYXRpb24tc3VjY2Vzcy1leHBlY3RlZC50eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IGMyZWIzOGIyNDIxMTczMTVhNGM1MWJiODkzMjkxNzJlMmFmODNjYmQuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2dlb2xvY2F0aW9uLXN1Y2Nlc3MtZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwKQEAgLTEsMyAr
MCwwIEBACi1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjI6IGxhdDogNDMuNDc2MDkzLCBsb25nOiAt
ODAuNTQwMjk5Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjI6IGxhdDogNTEuNDc4LCBsb25nOiAt
MC4xNjYKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2dlb2xvY2F0aW9uLXN1
Y2Nlc3MuaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9nZW9sb2NhdGlvbi1zdWNjZXNzLmh0
bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFjYzc1OTU2MTAxYjk2ZjUzYmFkMzIw
YmU3MDc1MDNjNzA5ZmNjY2YuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2dlb2xvY2F0aW9uLXN1Y2Nlc3MuaHRtbAor
KysgL2Rldi9udWxsCkBAIC0xLDU4ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08c2NyaXB0IHNy
Yz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwvc2NyaXB0Pgot
PHNjcmlwdD4KLQotdmFyIG1vY2tMYXRpdHVkZSA9IDUxLjQ3ODsKLXZhciBtb2NrTG9uZ2l0dWRl
ID0gLTAuMTY2OwotdmFyIG1vY2tBY2N1cmFjeSA9IDEwMDsKLQotaWYgKHdpbmRvdy50ZXN0UnVu
bmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5zZXRHZW9sb2NhdGlvblBlcm1pc3Npb24odHJ1ZSk7Ci0g
ICAgdGVzdFJ1bm5lci5zZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihtb2NrTGF0aXR1ZGUsCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2NrTG9uZ2l0dWRlLAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9ja0FjY3VyYWN5KTsK
LX0gZWxzZQotICAgIGRlYnVnKCdUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gd2l0aG91dCB0aGUg
TGF5b3V0VGVzdENvbnRyb2xsZXInKTsKLQotZnVuY3Rpb24gZ2V0R2VvbG9jYXRpb24od2ViSW5z
cGVjdG9yQ2FsbGJhY2tTdHJpbmcpCi17Ci0gICAgZnVuY3Rpb24gcHJpbnRMb2NhdGlvbihwb3Mp
Ci0gICAgewotICAgICAgICBjb25zb2xlLmxvZygnbGF0OiAnICsgcG9zLmNvb3Jkcy5sYXRpdHVk
ZSArICcsIGxvbmc6ICcgKyBwb3MuY29vcmRzLmxvbmdpdHVkZSk7Ci0gICAgICAgIGZpbmlzaFRl
c3QoKTsKLSAgICB9Ci0gICAgZnVuY3Rpb24gcHJpbnRFcnJvcihlcnIpCi0gICAgewotICAgICAg
ICBjb25zb2xlLmxvZygnRXJyb3I6ICcgKyBlcnIuY29kZSk7Ci0gICAgICAgIGZpbmlzaFRlc3Qo
KTsKLSAgICB9Ci0gICAgZnVuY3Rpb24gZmluaXNoVGVzdCgpCi0gICAgewotICAgICAgICB0ZXN0
UnVubmVyLmV2YWx1YXRlSW5XZWJJbnNwZWN0b3IoMCwgd2ViSW5zcGVjdG9yQ2FsbGJhY2tTdHJp
bmcpOwotICAgIH0KLSAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uZ2V0Q3VycmVudFBvc2l0aW9u
KHByaW50TG9jYXRpb24sIHByaW50RXJyb3IsIFtdKQotfQotCi1mdW5jdGlvbiB0ZXN0KCkKLXsK
LSAgICB3aW5kb3cudGVzdFN0ZXAyID0gZnVuY3Rpb24oKQotICAgIHsKLSAgICAgICAgUGFnZUFn
ZW50LmNsZWFyR2VvbG9jYXRpb25PdmVycmlkZSgpOwotICAgICAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlKCJnZXRHZW9sb2NhdGlvbignSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3Qo
KScpIik7Ci0gICAgfQotCi0gICAgUGFnZUFnZW50LnNldEdlb2xvY2F0aW9uT3ZlcnJpZGUoNDMu
NDc2MDkzLCAtODAuNTQwMjk5LCAxNTApOwotICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBh
Z2UoImdldEdlb2xvY2F0aW9uKCd3aW5kb3cudGVzdFN0ZXAyKCknKSIpOwotfQotCi0KLTwvc2Ny
aXB0PgotPC9oZWFkPgotCi08Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci08cD4KLTwvcD4KLQot
PC9ib2R5PgotPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2dlb2xv
Y2F0aW9uLXdhdGNoUG9zaXRpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9y
L2dlb2xvY2F0aW9uLXdhdGNoUG9zaXRpb24tZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA0YjcwNTc0NDNlZmE2NTk2NDUxMjdhMzdkMTI2ZjAzNDZkOTUyNDNiLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9nZW9sb2NhdGlvbi13YXRjaFBvc2l0aW9uLWV4cGVjdGVkLnR4dAorKysgL2Rl
di9udWxsCkBAIC0xLDUgKzAsMCBAQAotQ09OU09MRSBNRVNTQUdFOiBsaW5lIDIzOiBsYXQ6IDUx
LjQ3OCwgbG9uZzogLTAuMTY2Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IGxhdDogNDMuNDc2
MDkzLCBsb25nOiAtODAuNTQwMjk5Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjc6IEVycm9yOiAy
Ci1DT05TT0xFIE1FU1NBR0U6IGxpbmUgMjM6IGxhdDogNTEuNDc4LCBsb25nOiAtMC4xNjYKLQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2dlb2xvY2F0aW9uLXdhdGNoUG9zaXRp
b24uaHRtbCBiL0xheW91dFRlc3RzL2luc3BlY3Rvci9nZW9sb2NhdGlvbi13YXRjaFBvc2l0aW9u
Lmh0bWwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg1ZmM0MGQxZjY5MmY0YjA4MTk3
ZTYzMGJmZTA3MTRiOWVmMzhkZDMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2dlb2xvY2F0aW9uLXdhdGNoUG9zaXRp
b24uaHRtbAorKysgL2Rldi9udWxsCkBAIC0xLDY5ICswLDAgQEAKLTxodG1sPgotPGhlYWQ+Ci08
c2NyaXB0IHNyYz0iLi4vaHR0cC90ZXN0cy9pbnNwZWN0b3IvaW5zcGVjdG9yLXRlc3QuanMiPjwv
c2NyaXB0PgotPHNjcmlwdD4KLQotdmFyIG1vY2tMYXRpdHVkZSA9IDUxLjQ3ODsKLXZhciBtb2Nr
TG9uZ2l0dWRlID0gLTAuMTY2OwotdmFyIG1vY2tBY2N1cmFjeSA9IDEwMDsKLQotaWYgKHdpbmRv
dy50ZXN0UnVubmVyKSB7Ci0gICAgdGVzdFJ1bm5lci5zZXRHZW9sb2NhdGlvblBlcm1pc3Npb24o
dHJ1ZSk7Ci0gICAgdGVzdFJ1bm5lci5zZXRNb2NrR2VvbG9jYXRpb25Qb3NpdGlvbihtb2NrTGF0
aXR1ZGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2NrTG9u
Z2l0dWRlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9ja0Fj
Y3VyYWN5KTsKLX0gZWxzZQotICAgIGRlYnVnKCdUaGlzIHRlc3QgY2FuIG5vdCBiZSBydW4gd2l0
aG91dCB0aGUgTGF5b3V0VGVzdENvbnRyb2xsZXInKTsKLQotdmFyIHdhdGNoID0gMDsKLWZ1bmN0
aW9uIGdldEdlb2xvY2F0aW9uKCkKLXsKLSAgICBmdW5jdGlvbiBwcmludExvY2F0aW9uKHBvcykK
LSAgICB7Ci0gICAgICAgIGNvbnNvbGUubG9nKCdsYXQ6ICcgKyBwb3MuY29vcmRzLmxhdGl0dWRl
ICsgJywgbG9uZzogJyArIHBvcy5jb29yZHMubG9uZ2l0dWRlKTsKLSAgICB9Ci0gICAgZnVuY3Rp
b24gcHJpbnRFcnJvcihlcnIpCi0gICAgewotICAgICAgICBjb25zb2xlLmxvZygnRXJyb3I6ICcg
KyBlcnIuY29kZSk7Ci0gICAgfQotICAgIHdhdGNoID0gbmF2aWdhdG9yLmdlb2xvY2F0aW9uLndh
dGNoUG9zaXRpb24ocHJpbnRMb2NhdGlvbiwgcHJpbnRFcnJvciwgW10pCi19Ci1mdW5jdGlvbiBj
bGVhcldhdGNoKCkKLXsKLSAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24uY2xlYXJXYXRjaCh3YXRj
aCk7Ci19Ci0KLWZ1bmN0aW9uIHRlc3QoKQotewotICAgIGZ1bmN0aW9uIGNhbGxiYWNrQ29tcGxl
dGUoKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKLSAgICB9
Ci0gICAgZnVuY3Rpb24gY2FsbGJhY2soKQotICAgIHsKLSAgICAgICAgSW5zcGVjdG9yVGVzdC5l
dmFsdWF0ZUluUGFnZSgiY2xlYXJXYXRjaCgpIiwgY2FsbGJhY2tDb21wbGV0ZSk7Ci0gICAgfQot
ICAgIGZ1bmN0aW9uIGNsZWFyRGF0YSgpCi0gICAgewotICAgICAgICBQYWdlQWdlbnQuY2xlYXJH
ZW9sb2NhdGlvbk92ZXJyaWRlKCk7Ci0gICAgICAgIHNldFRpbWVvdXQoY2FsbGJhY2ssIDEpOwot
ICAgIH0KLSAgICBmdW5jdGlvbiBzZXRFcnJvcigpCi0gICAgewotICAgICAgICBQYWdlQWdlbnQu
c2V0R2VvbG9jYXRpb25PdmVycmlkZSgpOwotICAgICAgICBzZXRUaW1lb3V0KGNsZWFyRGF0YSwg
MSk7Ci0gICAgfQotICAgIGZ1bmN0aW9uIHNldFBvc2l0aW9uKCkKLSAgICB7Ci0gICAgICAgIFBh
Z2VBZ2VudC5zZXRHZW9sb2NhdGlvbk92ZXJyaWRlKDQzLjQ3NjA5MywgLTgwLjU0MDI5OSwgMTUw
KTsKLSAgICAgICAgc2V0VGltZW91dChzZXRFcnJvciwgMSk7Ci0gICAgfQotICAgIEluc3BlY3Rv
clRlc3QuZXZhbHVhdGVJblBhZ2UoImdldEdlb2xvY2F0aW9uKCkiLCBzZXRQb3NpdGlvbik7Ci19
Ci08L3NjcmlwdD4KLTwvaGVhZD4KLTxib2R5IG9ubG9hZD0icnVuVGVzdCgpIj4KLTxwPgotPC9w
PgotPC9ib2R5PgotPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>