<?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>192160</bug_id>
          
          <creation_ts>2018-11-29 09:45:34 -0800</creation_ts>
          <short_desc>webkitpy: Use DeviceType instead of str to represent device class</short_desc>
          <delta_ts>2018-11-30 15:24:42 -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>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>192257</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Bedard">jbedard</reporter>
          <assigned_to name="Jonathan Bedard">jbedard</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>lforschler</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1482984</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2018-11-29 09:45:34 -0800</bug_when>
    <thetext>Using a string to represent device class has a number of deficiencies, especially when we just convert this string to a DeviceType to connect/spawn devices anyways. We should start with the DeviceType to begin with.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1482985</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-29 09:46:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/46344845&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483271</commentid>
    <comment_count>2</comment_count>
      <attachid>356084</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2018-11-29 16:21:47 -0800</bug_when>
    <thetext>Created attachment 356084
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483569</commentid>
    <comment_count>3</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-11-30 10:01:30 -0800</bug_when>
    <thetext>rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483591</commentid>
    <comment_count>4</comment_count>
      <attachid>356198</attachid>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2018-11-30 10:45:11 -0800</bug_when>
    <thetext>Created attachment 356198
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483626</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-30 11:34:01 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 356198:

inspector/audit/basic.html bug 192237 (author: drousso@apple.com)
webgl/2.0.0/conformance/more/conformance/quickCheckAPI-B1.html bug 192238 (author: justin_fan@apple.com)
inspector/dom-debugger/event-animation-frame-breakpoints.html bug 192221 (author: drousso@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483631</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-30 11:34:16 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 356198:

inspector/layers/layer-tree-manager.html bug 192239 (authors: drousso@apple.com and ross.kirsling@sony.com)
workers/bomb.html bug 171985 (author: fpizlo@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483666</commentid>
    <comment_count>7</comment_count>
      <attachid>356198</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-30 12:13:25 -0800</bug_when>
    <thetext>Comment on attachment 356198
Patch for landing

Clearing flags on attachment: 356198

Committed r238749: &lt;https://trac.webkit.org/changeset/238749&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483667</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-30 12:13:27 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483762</commentid>
    <comment_count>9</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2018-11-30 14:41:55 -0800</bug_when>
    <thetext>(In reply to WebKit Commit Bot from comment #7)
&gt; Comment on attachment 356198 [details]
&gt; Patch for landing
&gt; 
&gt; Clearing flags on attachment: 356198
&gt; 
&gt; Committed r238749: &lt;https://trac.webkit.org/changeset/238749&gt;

This broke run-api-tests for iOS Simulator. See bug #192257.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1483781</commentid>
    <comment_count>10</comment_count>
    <who name="Jonathan Bedard">jbedard</who>
    <bug_when>2018-11-30 15:24:42 -0800</bug_when>
    <thetext>(In reply to Daniel Bates from comment #9)
&gt; (In reply to WebKit Commit Bot from comment #7)
&gt; &gt; Comment on attachment 356198 [details]
&gt; &gt; Patch for landing
&gt; &gt; 
&gt; &gt; Clearing flags on attachment: 356198
&gt; &gt; 
&gt; &gt; Committed r238749: &lt;https://trac.webkit.org/changeset/238749&gt;
&gt; 
&gt; This broke run-api-tests for iOS Simulator. See bug #192257.

Thanks for the heads up...totally forgot that script used this too, fixing now.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356084</attachid>
            <date>2018-11-29 16:21:47 -0800</date>
            <delta_ts>2018-11-30 10:45:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-192160-20181129162146.patch</filename>
            <type>text/plain</type>
            <size>23573</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIzODcwNikKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDUzIEBACisyMDE4LTExLTI5ICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICB3ZWJraXRweTogVXNlIERldmljZVR5cGUgaW5zdGVhZCBvZiBzdHIgdG8g
cmVwcmVzZW50IGRldmljZSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTkyMTYwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NjM0NDg0NT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHk6CisgICAgICAg
IChNYW5hZ2VyLl9jdXN0b21fZGV2aWNlX2Zvcl90ZXN0KTogVXNlIERldmljZVR5cGVzIGluc3Rl
YWQgb2Ygc3RyaW5ncyB0byByZXByZXNlbnQgZGV2aWNlIHR5cGUuCisgICAgICAgIChNYW5hZ2Vy
Ll9zZXRfdXBfcnVuKTogRG8gbm90IHNldCBfb3B0aW9ucy5kZXZpY2VfY2xhc3MsIHVzZSBkZXZp
Y2VfdHlwZSBpbnN0ZWFkIG9mIGRldmljZV9jbGFzcy4KKyAgICAgICAgKE1hbmFnZXIucnVuKTog
VXNlIGRldmljZV90eXBlIGluc3RlYWQgb2YgZGV2aWNlX2NsYXNzLgorICAgICAgICAoTWFuYWdl
ci5fcHJpbnRfZXhwZWN0YXRpb25zX2Zvcl9zdWJzZXQpOiBEaXR0by4KKyAgICAgICAgKE1hbmFn
ZXIucHJpbnRfZXhwZWN0YXRpb25zKTogRGl0dG8uCisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl91bml0dGVzdC5weToKKyAgICAgICAg
KE1hbmFnZXJUZXN0LnRlc3RfdXNlc19jdXN0b21fZGV2aWNlKTogVXNlIERldmljZVR5cGUgYW5k
IGFjdHVhbCBkZXZpY2UgZGVmaW5pdGlvbi4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L2xh
eW91dF90ZXN0cy92aWV3cy9wcmludGluZy5weToKKyAgICAgICAgKFByaW50ZXIucHJpbnRfd29y
a2Vyc19hbmRfc2hhcmRzKTogT3V0cHV0dGluZyB0aGUgZGV2aWNlIHN1ZmZpeCBkb2Vzbid0IHJl
YWxseSBoZWxwLCBhbmQgbWVhbnMKKyAgICAgICAgZGV2aWNlIHR5cGUgbmVlZHMgdG8gYmUgcGFz
c2VkIGFyb3VuZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvYXBwbGUucHk6Cisg
ICAgICAgIChBcHBsZVBvcnQuc2V0dXBfdGVzdF9ydW4pOiBVc2UgZGV2aWNlX3R5cGUgaW5zdGVh
ZCBvZiBkZXZpY2VfY2xhc3MuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2Uu
cHk6CisgICAgICAgIChQb3J0KToKKyAgICAgICAgKFBvcnQuc2V0dXBfdGVzdF9ydW4pOiBVc2Ug
ZGV2aWNlX3R5cGUgaW5zdGVhZCBvZiBkZXZpY2VfY2xhc3MuCisgICAgICAgICogU2NyaXB0cy93
ZWJraXRweS9wb3J0L2RldmljZV9wb3J0LnB5OgorICAgICAgICAoRGV2aWNlUG9ydCk6CisgICAg
ICAgIChEZXZpY2VQb3J0LnNldHVwX3Rlc3RfcnVuKTogUmVjZWl2ZSBkZXZpY2VfdHlwZSBhcyBE
ZXZpY2VUeXBlIG9iamVjdC4KKyAgICAgICAgKERldmljZVBvcnQuX2NyZWF0ZV9kZXZpY2VzKTog
RGVsZXRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5OgorICAgICAg
ICAoR3RrUG9ydC5zZXR1cF90ZXN0X3J1bik6IFVzZSBkZXZpY2VfdHlwZSBpbnN0ZWFkIG9mIGRl
dmljZV9jbGFzcy4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zLnB5OgorICAg
ICAgICAoSU9TUG9ydCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvc19zaW11
bGF0b3IucHk6CisgICAgICAgIChJT1NTaW11bGF0b3JQb3J0KToKKyAgICAgICAgKElPU1NpbXVs
YXRvclBvcnQuX19pbml0X18pOiBEZWxldGVkLgorICAgICAgICAoSU9TU2ltdWxhdG9yUG9ydC5f
c2V0X2RldmljZV9jbGFzcyk6IERlbGV0ZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9w
b3J0L3Rlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3dhdGNoLnB5Ogor
ICAgICAgICAoV2F0Y2hQb3J0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2F0
Y2hfc2ltdWxhdG9yLnB5OgorICAgICAgICAoV2F0Y2hTaW11bGF0b3JQb3J0KToKKyAgICAgICAg
KFdhdGNoU2ltdWxhdG9yUG9ydC5fX2luaXRfXyk6IERlbGV0ZWQuCisgICAgICAgIChXYXRjaFNp
bXVsYXRvclBvcnQuX3NldF9kZXZpY2VfY2xhc3MpOiBEZWxldGVkLgorICAgICAgICAqIFNjcmlw
dHMvd2Via2l0cHkvcG9ydC93aW4ucHk6CisgICAgICAgIChXaW5Qb3J0LnNldHVwX3Rlc3RfcnVu
KTogVXNlIGRldmljZV90eXBlIGluc3RlYWQgb2YgZGV2aWNlX2NsYXNzLgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkveGNvZGUvc2ltdWxhdGVkX2RldmljZS5weToKKyAgICAgICAgKFNpbXVs
YXRlZERldmljZU1hbmFnZXIuX2Rpc2FtYmlndWF0ZV9kZXZpY2VfdHlwZSk6IFVzaW5nIHRoZSBl
eGlzdGluZyBkZXZpY2VzIGZvciB0aGlzIGlzCisgICAgICAgIGEgcHJvYmxlbSBpZiBubyBzdWNo
IGRldmljZSBleGlzdHMgeWV0LiBVc2UgdGhlIF9kZXZpY2VfaWRlbnRpZmllcl90b19uYW1lIGRp
Y3Rpb25hcnkgaW5zdGVhZAorICAgICAgICBzaW5jZSB0aGlzIHNob3VsZCBoYXZlIGhhcmR3YXJl
IHR5cGVzIGluIHRoZSBkZXZpY2UgbmFtZXMuCisKIDIwMTgtMTEtMjkgIEFsZXhleSBQcm9za3Vy
eWFrb3YgIDxhcEBhcHBsZS5jb20+CiAKICAgICAgICAgRXhjZXB0aW9uIGluIGJvdCB3YXRjaGVy
J3MgZGFzaGJvYXJkIGlmIGEgaGlkZGVuIHBsYXRmb3JtIGluIG5vIGxvbmdlciBjb25maWd1cmVk
IGZvciBkaXNwbGF5CkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9j
b250cm9sbGVycy9tYW5hZ2VyLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkJKHJldmlzaW9uIDIzODY5NSkK
KysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFn
ZXIucHkJKHdvcmtpbmcgY29weSkKQEAgLTU1LDYgKzU1LDcgQEAgZnJvbSB3ZWJraXRweS5sYXlv
dXRfdGVzdHMubW9kZWxzIGltcG9ydAogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubW9kZWxz
LnRlc3RfaW5wdXQgaW1wb3J0IFRlc3RJbnB1dAogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMu
bW9kZWxzLnRlc3RfcnVuX3Jlc3VsdHMgaW1wb3J0IElOVEVSUlVQVEVEX0VYSVRfU1RBVFVTCiBm
cm9tIHdlYmtpdHB5LnRvb2wuZ3JhbW1hciBpbXBvcnQgcGx1cmFsaXplCitmcm9tIHdlYmtpdHB5
Lnhjb2RlLmRldmljZV90eXBlIGltcG9ydCBEZXZpY2VUeXBlCiAKIF9sb2cgPSBsb2dnaW5nLmdl
dExvZ2dlcihfX25hbWVfXykKIApAQCAtMTAzLDEwICsxMDQsMTQgQEAgY2xhc3MgTWFuYWdlcihv
YmplY3QpOgogICAgICAgICByZXR1cm4gc2VsZi53ZWJfcGxhdGZvcm1fdGVzdF9zdWJkaXIgaW4g
dGVzdCBvciBzZWxmLndlYmtpdF9zcGVjaWZpY193ZWJfcGxhdGZvcm1fdGVzdF9zdWJkaXIgaW4g
dGVzdAogCiAgICAgZGVmIF9jdXN0b21fZGV2aWNlX2Zvcl90ZXN0KHNlbGYsIHRlc3QpOgotICAg
ICAgICBmb3IgZGV2aWNlX2NsYXNzIGluIHNlbGYuX3BvcnQuQ1VTVE9NX0RFVklDRV9DTEFTU0VT
OgotICAgICAgICAgICAgZGlyZWN0b3J5X3N1ZmZpeCA9IGRldmljZV9jbGFzcy5sb3dlcigpLnJl
cGxhY2UoJyAnLCAnJykgKyBzZWxmLl9wb3J0LlRFU1RfUEFUSF9TRVBBUkFUT1IKLSAgICAgICAg
ICAgIGlmIGRpcmVjdG9yeV9zdWZmaXggaW4gdGVzdDoKLSAgICAgICAgICAgICAgICByZXR1cm4g
ZGV2aWNlX2NsYXNzCisgICAgICAgICMgRklYTUU6IFVzZSBhdmFpbGFibGUgZGV2aWNlcyBpbnN0
ZWFkIG9mIENVU1RPTV9ERVZJQ0VfVFlQRVMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE5MjE2MQorICAgICAgICAjIEZJWE1FOiBUaGlzIGlzIGEgdGVycmlibGUgd2F5
IHRvIGRvIGRldmljZS1zcGVjaWZpYyBleHBlY3RlZCByZXN1bHRzIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTIxNjIKKyAgICAgICAgZm9yIGRldmljZV90eXBlIGlu
IHNlbGYuX3BvcnQuQ1VTVE9NX0RFVklDRV9UWVBFUzoKKyAgICAgICAgICAgIGlmIGRldmljZV90
eXBlLmhhcmR3YXJlX2ZhbWlseSBhbmQgZGV2aWNlX3R5cGUuaGFyZHdhcmVfZmFtaWx5Lmxvd2Vy
KCkgKyBzZWxmLl9wb3J0LlRFU1RfUEFUSF9TRVBBUkFUT1IgaW4gdGVzdDoKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZGV2aWNlX3R5cGUKKyAgICAgICAgICAgIGlmIGRldmljZV90eXBlLmhhcmR3
YXJlX2ZhbWlseSBhbmQgZGV2aWNlX3R5cGUuaGFyZHdhcmVfdHlwZSBhbmQgXAorICAgICAgICAg
ICAgICAgIChkZXZpY2VfdHlwZS5oYXJkd2FyZV9mYW1pbHkgKyBkZXZpY2VfdHlwZS5oYXJkd2Fy
ZV90eXBlKS5sb3dlcigpLnJlcGxhY2UoJyAnLCAnJykgKyBzZWxmLl9wb3J0LlRFU1RfUEFUSF9T
RVBBUkFUT1IgaW4gdGVzdDoKKyAgICAgICAgICAgICAgICByZXR1cm4gZGV2aWNlX3R5cGUKICAg
ICAgICAgcmV0dXJuIE5vbmUKIAogICAgIGRlZiBfaHR0cF90ZXN0cyhzZWxmLCB0ZXN0X25hbWVz
KToKQEAgLTE1OSw5ICsxNjQsNyBAQCBjbGFzcyBNYW5hZ2VyKG9iamVjdCk6CiAgICAgICAgIHdv
cmtlcl9jb3VudCA9IHNlbGYuX3J1bm5lci5nZXRfd29ya2VyX2NvdW50KHRlc3RfaW5wdXRzLCBp
bnQoc2VsZi5fb3B0aW9ucy5jaGlsZF9wcm9jZXNzZXMpKQogICAgICAgICBzZWxmLl9vcHRpb25z
LmNoaWxkX3Byb2Nlc3NlcyA9IHdvcmtlcl9jb3VudAogCi0gICAgZGVmIF9zZXRfdXBfcnVuKHNl
bGYsIHRlc3RfbmFtZXMsIGRldmljZV9jbGFzcz1Ob25lKToKLSAgICAgICAgc2VsZi5fb3B0aW9u
cy5kZXZpY2VfY2xhc3MgPSBkZXZpY2VfY2xhc3MKLQorICAgIGRlZiBfc2V0X3VwX3J1bihzZWxm
LCB0ZXN0X25hbWVzLCBkZXZpY2VfdHlwZT1Ob25lKToKICAgICAgICAgIyBUaGlzIG11c3QgYmUg
c3RhcnRlZCBiZWZvcmUgd2UgY2hlY2sgdGhlIHN5c3RlbSBkZXBlbmRlbmNpZXMsCiAgICAgICAg
ICMgc2luY2UgdGhlIGhlbHBlciBtYXkgZG8gdGhpbmdzIHRvIG1ha2UgdGhlIHNldHVwIGNvcnJl
Y3QuCiAgICAgICAgIHNlbGYuX3ByaW50ZXIud3JpdGVfdXBkYXRlKCJTdGFydGluZyBoZWxwZXIg
Li4uIikKQEAgLTE3OCw3ICsxODEsNyBAQCBjbGFzcyBNYW5hZ2VyKG9iamVjdCk6CiAgICAgICAg
ICAgICAgICAgc2VsZi5fcG9ydC5zdG9wX2hlbHBlcigpCiAgICAgICAgICAgICAgICAgcmV0dXJu
IEZhbHNlCiAKLSAgICAgICAgc2VsZi5fcG9ydC5zZXR1cF90ZXN0X3J1bihzZWxmLl9vcHRpb25z
LmRldmljZV9jbGFzcykKKyAgICAgICAgc2VsZi5fcG9ydC5zZXR1cF90ZXN0X3J1bihkZXZpY2Vf
dHlwZSkKICAgICAgICAgcmV0dXJuIFRydWUKIAogICAgIGRlZiBydW4oc2VsZiwgYXJncyk6CkBA
IC0yMTUsOCArMjE4LDggQEAgY2xhc3MgTWFuYWdlcihvYmplY3QpOgogICAgICAgICAgICAgICAg
IGRlZmF1bHRfZGV2aWNlX3Rlc3RzLmFwcGVuZCh0ZXN0X2ZpbGUpCiAKICAgICAgICAgaWYgY3Vz
dG9tX2RldmljZV90ZXN0czoKLSAgICAgICAgICAgIGZvciBkZXZpY2VfY2xhc3MgaW4gY3VzdG9t
X2RldmljZV90ZXN0czoKLSAgICAgICAgICAgICAgICBfbG9nLmRlYnVnKCd7fSB0ZXN0cyB1c2Ug
ZGV2aWNlIHt9Jy5mb3JtYXQobGVuKGN1c3RvbV9kZXZpY2VfdGVzdHNbZGV2aWNlX2NsYXNzXSks
IGRldmljZV9jbGFzcykpCisgICAgICAgICAgICBmb3IgZGV2aWNlX3R5cGUsIHRlc3RzIGluIGN1
c3RvbV9kZXZpY2VfdGVzdHMuaXRlcml0ZW1zKCk6CisgICAgICAgICAgICAgICAgX2xvZy5kZWJ1
Zygne30gdGVzdHMgdXNlIGRldmljZSB7fScuZm9ybWF0KGxlbih0ZXN0cyksIGRldmljZV90eXBl
KSkKIAogICAgICAgICBpbml0aWFsX3Jlc3VsdHMgPSBOb25lCiAgICAgICAgIHJldHJ5X3Jlc3Vs
dHMgPSBOb25lCkBAIC0yNTAsMTMgKzI1MywxMyBAQCBjbGFzcyBNYW5hZ2VyKG9iamVjdCk6CiAK
ICAgICAgICAgIyBPbmx5IHVzZSBhIHNpbmdsZSB3b3JrZXIgZm9yIGN1c3RvbSBkZXZpY2UgY2xh
c3NlcwogICAgICAgICBzZWxmLl9vcHRpb25zLmNoaWxkX3Byb2Nlc3NlcyA9IDEKLSAgICAgICAg
Zm9yIGRldmljZV9jbGFzcyBpbiBjdXN0b21fZGV2aWNlX3Rlc3RzOgotICAgICAgICAgICAgZGV2
aWNlX3Rlc3RzID0gY3VzdG9tX2RldmljZV90ZXN0c1tkZXZpY2VfY2xhc3NdCisgICAgICAgIGZv
ciBkZXZpY2VfdHlwZSBpbiBjdXN0b21fZGV2aWNlX3Rlc3RzOgorICAgICAgICAgICAgZGV2aWNl
X3Rlc3RzID0gY3VzdG9tX2RldmljZV90ZXN0c1tkZXZpY2VfdHlwZV0KICAgICAgICAgICAgIGlm
IGRldmljZV90ZXN0czoKICAgICAgICAgICAgICAgICBfbG9nLmluZm8oJycpCi0gICAgICAgICAg
ICAgICAgX2xvZy5pbmZvKCdSdW5uaW5nICVzIGZvciAlcycsIHBsdXJhbGl6ZShsZW4oZGV2aWNl
X3Rlc3RzKSwgInRlc3QiKSwgZGV2aWNlX2NsYXNzKQorICAgICAgICAgICAgICAgIF9sb2cuaW5m
bygnUnVubmluZyAlcyBmb3IgJXMnLCBwbHVyYWxpemUobGVuKGRldmljZV90ZXN0cyksICJ0ZXN0
IiksIGRldmljZV90eXBlKQogICAgICAgICAgICAgICAgIF9sb2cuaW5mbygnJykKLSAgICAgICAg
ICAgICAgICBpZiBub3Qgc2VsZi5fc2V0X3VwX3J1bihkZXZpY2VfdGVzdHMsIGRldmljZV9jbGFz
cyk6CisgICAgICAgICAgICAgICAgaWYgbm90IHNlbGYuX3NldF91cF9ydW4oZGV2aWNlX3Rlc3Rz
LCBkZXZpY2VfdHlwZSk6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0ZXN0X3J1bl9yZXN1
bHRzLlJ1bkRldGFpbHMoZXhpdF9jb2RlPS0xKQogCiAgICAgICAgICAgICAgICAgZGV2aWNlX2lu
aXRpYWxfcmVzdWx0cywgZGV2aWNlX3JldHJ5X3Jlc3VsdHMsIGRldmljZV9lbmFibGVkX3BpeGVs
X3Rlc3RzX2luX3JldHJ5ID0gc2VsZi5fcnVuX3Rlc3Rfc3Vic2V0KGRldmljZV90ZXN0cywgdGVz
dHNfdG9fc2tpcCkKQEAgLTU0NCw3ICs1NDcsNyBAQCBjbGFzcyBNYW5hZ2VyKG9iamVjdCk6CiAg
ICAgICAgIGxpbmUgPSBzZWxmLl9leHBlY3RhdGlvbnMubW9kZWwoKS5nZXRfZXhwZWN0YXRpb25f
bGluZSh0ZXN0KQogICAgICAgICBwcmludChmb3JtYXRfc3RyaW5nLmZvcm1hdCh0ZXN0LCBsaW5l
LmV4cGVjdGVkX2JlaGF2aW9yLCBzZWxmLl9leHBlY3RhdGlvbnMucmVhZGFibGVfZmlsZW5hbWVf
YW5kX2xpbmVfbnVtYmVyKGxpbmUpLCBsaW5lLm9yaWdpbmFsX3N0cmluZyBvciAnJykpCiAgICAg
Ci0gICAgZGVmIF9wcmludF9leHBlY3RhdGlvbnNfZm9yX3N1YnNldChzZWxmLCBkZXZpY2VfY2xh
c3MsIHRlc3RfY29sX3dpZHRoLCB0ZXN0c190b19ydW4sIHRlc3RzX3RvX3NraXA9e30pOgorICAg
IGRlZiBfcHJpbnRfZXhwZWN0YXRpb25zX2Zvcl9zdWJzZXQoc2VsZiwgZGV2aWNlX3R5cGUsIHRl
c3RfY29sX3dpZHRoLCB0ZXN0c190b19ydW4sIHRlc3RzX3RvX3NraXA9e30pOgogICAgICAgICBm
b3JtYXRfc3RyaW5nID0gJ3t7Ont3aWR0aH19fSB7e319IHt7fX0ge3t9fScuZm9ybWF0KHdpZHRo
PXRlc3RfY29sX3dpZHRoKQogICAgICAgICBpZiB0ZXN0c190b19za2lwOgogICAgICAgICAgICAg
cHJpbnQoJycpCkBAIC01NTMsNyArNTU2LDcgQEAgY2xhc3MgTWFuYWdlcihvYmplY3QpOgogICAg
ICAgICAgICAgICAgIHNlbGYuX3ByaW50X2V4cGVjdGF0aW9uX2xpbmVfZm9yX3Rlc3QoZm9ybWF0
X3N0cmluZywgdGVzdCkKIAogICAgICAgICBwcmludCgnJykKLSAgICAgICAgcHJpbnQoJ1Rlc3Rz
IHRvIHJ1bnt9ICh7fSknLmZvcm1hdCgnIGZvciAnICsgZGV2aWNlX2NsYXNzIGlmIGRldmljZV9j
bGFzcyBlbHNlICcnLCBsZW4odGVzdHNfdG9fcnVuKSkpCisgICAgICAgIHByaW50KCdUZXN0cyB0
byBydW57fSAoe30pJy5mb3JtYXQoJyBmb3IgJyArIHN0cihkZXZpY2VfdHlwZSkgaWYgZGV2aWNl
X3R5cGUgZWxzZSAnJywgbGVuKHRlc3RzX3RvX3J1bikpKQogICAgICAgICBmb3IgdGVzdCBpbiBz
b3J0ZWQodGVzdHNfdG9fcnVuKToKICAgICAgICAgICAgIHNlbGYuX3ByaW50X2V4cGVjdGF0aW9u
X2xpbmVfZm9yX3Rlc3QoZm9ybWF0X3N0cmluZywgdGVzdCkKIApAQCAtNTg2LDEzICs1ODksMTIg
QEAgY2xhc3MgTWFuYWdlcihvYmplY3QpOgogICAgICAgICAgICAgICAgIGRlZmF1bHRfZGV2aWNl
X3Rlc3RzLmFwcGVuZCh0ZXN0X2ZpbGUpCiAKICAgICAgICAgaWYgY3VzdG9tX2RldmljZV90ZXN0
czoKLSAgICAgICAgICAgIGZvciBkZXZpY2VfY2xhc3MgaW4gY3VzdG9tX2RldmljZV90ZXN0czoK
LSAgICAgICAgICAgICAgICBfbG9nLmRlYnVnKCd7fSB0ZXN0cyB1c2UgZGV2aWNlIHt9Jy5mb3Jt
YXQobGVuKGN1c3RvbV9kZXZpY2VfdGVzdHNbZGV2aWNlX2NsYXNzXSksIGRldmljZV9jbGFzcykp
CisgICAgICAgICAgICBmb3IgZGV2aWNlX3R5cGUsIHRlc3RzIGluIGN1c3RvbV9kZXZpY2VfdGVz
dHMuaXRlcml0ZW1zKCk6CisgICAgICAgICAgICAgICAgX2xvZy5kZWJ1Zygne30gdGVzdHMgdXNl
IGRldmljZSB7fScuZm9ybWF0KGxlbih0ZXN0cyksIGRldmljZV90eXBlKSkKIAogICAgICAgICBz
ZWxmLl9wcmludF9leHBlY3RhdGlvbnNfZm9yX3N1YnNldChOb25lLCB0ZXN0X2NvbF93aWR0aCwg
dGVzdHNfdG9fcnVuLCB0ZXN0c190b19za2lwKQogCi0gICAgICAgIGZvciBkZXZpY2VfY2xhc3Mg
aW4gY3VzdG9tX2RldmljZV90ZXN0czoKLSAgICAgICAgICAgIGRldmljZV90ZXN0cyA9IGN1c3Rv
bV9kZXZpY2VfdGVzdHNbZGV2aWNlX2NsYXNzXQotICAgICAgICAgICAgc2VsZi5fcHJpbnRfZXhw
ZWN0YXRpb25zX2Zvcl9zdWJzZXQoZGV2aWNlX2NsYXNzLCB0ZXN0X2NvbF93aWR0aCwgZGV2aWNl
X3Rlc3RzKQorICAgICAgICBmb3IgZGV2aWNlX3R5cGUsIHRlc3RzIGluIGN1c3RvbV9kZXZpY2Vf
dGVzdHMuaXRlcml0ZW1zKCk6CisgICAgICAgICAgICBzZWxmLl9wcmludF9leHBlY3RhdGlvbnNf
Zm9yX3N1YnNldChkZXZpY2VfdHlwZSwgdGVzdF9jb2xfd2lkdGgsIHRlc3RzKQogCiAgICAgICAg
IHJldHVybiAwCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250
cm9sbGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMv
d2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfdW5pdHRlc3QucHkJKHJl
dmlzaW9uIDIzODY5NSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2Nv
bnRyb2xsZXJzL21hbmFnZXJfdW5pdHRlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQw
LDcgQEAgZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubW9kZWxzLnRlc3RfcgogZnJvbSB3ZWJr
aXRweS5wb3J0LnRlc3QgaW1wb3J0IFRlc3RQb3J0CiBmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHku
bW9jayBpbXBvcnQgTW9jawogZnJvbSB3ZWJraXRweS50b29sLm1vY2t0b29sIGltcG9ydCBNb2Nr
T3B0aW9ucworZnJvbSB3ZWJraXRweS54Y29kZS5kZXZpY2VfdHlwZSBpbXBvcnQgRGV2aWNlVHlw
ZQogCiAKIGNsYXNzIE1hbmFnZXJUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKQEAgLTEwNyw3ICsx
MDgsNyBAQCBjbGFzcyBNYW5hZ2VyVGVzdCh1bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYg
dGVzdF91c2VzX2N1c3RvbV9kZXZpY2Uoc2VsZik6CiAgICAgICAgIGNsYXNzIE1vY2tDdXN0b21E
ZXZpY2VQb3J0KFRlc3RQb3J0KToKLSAgICAgICAgICAgIENVU1RPTV9ERVZJQ0VfQ0xBU1NFUyA9
IFsnc3RhcnNoaXAnXQorICAgICAgICAgICAgQ1VTVE9NX0RFVklDRV9UWVBFUyA9IFtEZXZpY2VU
eXBlKGhhcmR3YXJlX2ZhbWlseT0naVBhZCcpXQogCiAgICAgICAgICAgICBkZWYgX19pbml0X18o
c2VsZiwgaG9zdCk6CiAgICAgICAgICAgICAgICAgc3VwZXIoTW9ja0N1c3RvbURldmljZVBvcnQs
IHNlbGYpLl9faW5pdF9fKGhvc3QpCkBAIC0xMTUsOCArMTE2LDggQEAgY2xhc3MgTWFuYWdlclRl
c3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAgICAgICBkZWYgZ2V0X21hbmFnZXIoKToKICAgICAg
ICAgICAgIGhvc3QgPSBNb2NrSG9zdCgpCiAgICAgICAgICAgICBwb3J0ID0gTW9ja0N1c3RvbURl
dmljZVBvcnQoaG9zdCkKLSAgICAgICAgICAgIG1hbmFnZXIgPSBNYW5hZ2VyKHBvcnQsIG9wdGlv
bnM9TW9ja09wdGlvbnModGVzdF9saXN0PVsnZmFzdC90ZXN0LXN0YXJzaGlwL2xhc2Vycy5odG1s
J10sIGh0dHA9VHJ1ZSksIHByaW50ZXI9TW9jaygpKQorICAgICAgICAgICAgbWFuYWdlciA9IE1h
bmFnZXIocG9ydCwgb3B0aW9ucz1Nb2NrT3B0aW9ucyh0ZXN0X2xpc3Q9WydmYXN0L2lwYWQvbGFz
ZXJzLmh0bWwnXSwgaHR0cD1UcnVlKSwgcHJpbnRlcj1Nb2NrKCkpCiAgICAgICAgICAgICByZXR1
cm4gbWFuYWdlcgogCiAgICAgICAgIG1hbmFnZXIgPSBnZXRfbWFuYWdlcigpCi0gICAgICAgIHNl
bGYuYXNzZXJ0VHJ1ZShtYW5hZ2VyLl9jdXN0b21fZGV2aWNlX2Zvcl90ZXN0KCdmYXN0L3Rlc3Qt
c3RhcnNoaXAvbGFzZXJzLmh0bWwnKSA9PSAnc3RhcnNoaXAnKQorICAgICAgICBzZWxmLmFzc2Vy
dFRydWUobWFuYWdlci5fY3VzdG9tX2RldmljZV9mb3JfdGVzdCgnZmFzdC9pcGFkL2xhc2Vycy5o
dG1sJykgPT0gRGV2aWNlVHlwZShoYXJkd2FyZV9mYW1pbHk9J2lQYWQnKSkKSW5kZXg6IFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3ZpZXdzL3ByaW50aW5nLnB5Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL3ZpZXdzL3ByaW50aW5n
LnB5CShyZXZpc2lvbiAyMzg2OTUpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90
ZXN0cy92aWV3cy9wcmludGluZy5weQkod29ya2luZyBjb3B5KQpAQCAtMTEzLDEyICsxMTMsMTEg
QEAgY2xhc3MgUHJpbnRlcihvYmplY3QpOgogICAgIGRlZiBwcmludF93b3JrZXJzX2FuZF9zaGFy
ZHMoc2VsZiwgbnVtX3dvcmtlcnMsIG51bV9zaGFyZHMpOgogICAgICAgICBkcml2ZXJfbmFtZSA9
IHNlbGYuX3BvcnQuZHJpdmVyX25hbWUoKQogCi0gICAgICAgIGRldmljZV9zdWZmaXggPSAnIGZv
ciBkZXZpY2UgInt9IicuZm9ybWF0KHNlbGYuX29wdGlvbnMuZGV2aWNlX2NsYXNzKSBpZiBzZWxm
Ll9vcHRpb25zLmRldmljZV9jbGFzcyBlbHNlICcnCiAgICAgICAgIGlmIG51bV93b3JrZXJzID09
IDE6Ci0gICAgICAgICAgICBzZWxmLl9wcmludF9kZWZhdWx0KCdSdW5uaW5nIDEge317fS4nLmZv
cm1hdChkcml2ZXJfbmFtZSwgZGV2aWNlX3N1ZmZpeCkpCisgICAgICAgICAgICBzZWxmLl9wcmlu
dF9kZWZhdWx0KCdSdW5uaW5nIDEge30uJy5mb3JtYXQoZHJpdmVyX25hbWUpKQogICAgICAgICAg
ICAgc2VsZi5fcHJpbnRfZGVidWcoJyh7fSkuJy5mb3JtYXQoZ3JhbW1hci5wbHVyYWxpemUobnVt
X3NoYXJkcywgInNoYXJkIikpKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2VsZi5fcHJp
bnRfZGVmYXVsdCgnUnVubmluZyB7fSBpbiBwYXJhbGxlbHt9LicuZm9ybWF0KGdyYW1tYXIucGx1
cmFsaXplKG51bV93b3JrZXJzLCBkcml2ZXJfbmFtZSksIGRldmljZV9zdWZmaXgpKQorICAgICAg
ICAgICAgc2VsZi5fcHJpbnRfZGVmYXVsdCgnUnVubmluZyB7fSBpbiBwYXJhbGxlbC4nLmZvcm1h
dChncmFtbWFyLnBsdXJhbGl6ZShudW1fd29ya2VycywgZHJpdmVyX25hbWUpKSkKICAgICAgICAg
ICAgIHNlbGYuX3ByaW50X2RlYnVnKCcoe30gc2hhcmRzKS4nLmZvcm1hdChudW1fc2hhcmRzKSkK
ICAgICAgICAgc2VsZi5fcHJpbnRfZGVmYXVsdCgnJykKIApJbmRleDogVG9vbHMvU2NyaXB0cy93
ZWJraXRweS9wb3J0L2FwcGxlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9hcHBsZS5weQkocmV2aXNpb24gMjM4Njk1KQorKysgVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wb3J0L2FwcGxlLnB5CSh3b3JraW5nIGNvcHkpCkBAIC04NCw3ICs4NCw3IEBAIGNsYXNz
IEFwcGxlUG9ydChQb3J0KToKICAgICAgICAgcG9ydF9uYW1lID0gcG9ydF9uYW1lLnJlcGxhY2Uo
Jy13azInLCAnJykKICAgICAgICAgc2VsZi5fdmVyc2lvbiA9IHNlbGYuX3N0cmlwX3BvcnRfbmFt
ZV9wcmVmaXgocG9ydF9uYW1lKQogCi0gICAgZGVmIHNldHVwX3Rlc3RfcnVuKHNlbGYsIGRldmlj
ZV9jbGFzcz1Ob25lKToKKyAgICBkZWYgc2V0dXBfdGVzdF9ydW4oc2VsZiwgZGV2aWNlX3R5cGU9
Tm9uZSk6CiAgICAgICAgIHNlbGYuX2NyYXNoX2xvZ3NfdG9fc2tpcF9mb3JfaG9zdFtzZWxmLmhv
c3RdID0gc2VsZi5ob3N0LmZpbGVzeXN0ZW0uZmlsZXNfdW5kZXIoc2VsZi5wYXRoX3RvX2NyYXNo
X2xvZ3MoKSkKIAogICAgIGRlZiBkZWZhdWx0X3RpbWVvdXRfbXMoc2VsZik6CkluZGV4OiBUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQkocmV2aXNpb24gMjM4Njk1KQorKysgVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTgxLDcgKzgxLDcg
QEAgY2xhc3MgUG9ydChvYmplY3QpOgogCiAgICAgREVGQVVMVF9BUkNISVRFQ1RVUkUgPSAneDg2
JwogCi0gICAgQ1VTVE9NX0RFVklDRV9DTEFTU0VTID0gW10KKyAgICBDVVNUT01fREVWSUNFX1RZ
UEVTID0gW10KIAogICAgIEBjbGFzc21ldGhvZAogICAgIGRlZiBkZXRlcm1pbmVfZnVsbF9wb3J0
X25hbWUoY2xzLCBob3N0LCBvcHRpb25zLCBwb3J0X25hbWUpOgpAQCAtODc5LDcgKzg3OSw3IEBA
IGNsYXNzIFBvcnQob2JqZWN0KToKICAgICBkZWYgd3B0X21hbmlmZXN0X2ZpbGUoc2VsZik6CiAg
ICAgICAgIHJldHVybiBzZWxmLl9idWlsZF9wYXRoKCd3ZWItcGxhdGZvcm0tdGVzdHMtbWFuaWZl
c3QuanNvbicpCiAKLSAgICBkZWYgc2V0dXBfdGVzdF9ydW4oc2VsZiwgZGV2aWNlX2NsYXNzPU5v
bmUpOgorICAgIGRlZiBzZXR1cF90ZXN0X3J1bihzZWxmLCBkZXZpY2VfdHlwZT1Ob25lKToKICAg
ICAgICAgIiIiUGVyZm9ybSBwb3J0LXNwZWNpZmljIHdvcmsgYXQgdGhlIGJlZ2lubmluZyBvZiBh
IHRlc3QgcnVuLiIiIgogICAgICAgICBwYXNzCiAKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9kZXZpY2VfcG9ydC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvZGV2aWNlX3BvcnQucHkJKHJldmlzaW9uIDIzODY5NSkKKysrIFRvb2xzL1Njcmlw
dHMvd2Via2l0cHkvcG9ydC9kZXZpY2VfcG9ydC5weQkod29ya2luZyBjb3B5KQpAQCAtMzcsNyAr
MzcsNyBAQCBfbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCiBjbGFzcyBEZXZpY2VQ
b3J0KERhcndpblBvcnQpOgogCiAgICAgREVWSUNFX01BTkFHRVIgPSBOb25lCi0gICAgREVGQVVM
VF9ERVZJQ0VfQ0xBU1MgPSBOb25lCisgICAgREVGQVVMVF9ERVZJQ0VfVFlQRSA9IE5vbmUKICAg
ICBOT19ERVZJQ0VfTUFOQUdFUiA9ICdObyBkZXZpY2UgbWFuYWdlciBmb3VuZCBmb3IgcG9ydCcK
IAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgpAQCAtODcsOSArODcs
NiBAQCBjbGFzcyBEZXZpY2VQb3J0KERhcndpblBvcnQpOgogICAgICAgICAgICAgcmV0dXJuIFtd
CiAgICAgICAgIHJldHVybiBzZWxmLkRFVklDRV9NQU5BR0VSLklOSVRJQUxJWkVEX0RFVklDRVMK
IAotICAgIGRlZiBfY3JlYXRlX2RldmljZXMoc2VsZiwgZGV2aWNlX2NsYXNzKToKLSAgICAgICAg
cmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgotCiAgICAgIyBEZXNwaXRlIHRoZWlyIG5hbWVzLCB0
aGVzZSBmbGFncyBkbyBub3QgYWN0dWFsbHkgZ2V0IHBhc3NlZCBhbGwgdGhlIHdheSBkb3duIHRv
IHdlYmtpdC1idWlsZC4KICAgICBkZWYgX2J1aWxkX2RyaXZlcl9mbGFncyhzZWxmKToKICAgICAg
ICAgcmV0dXJuIFsnLS1zZGsnLCBzZWxmLlNES10gKyAoWydBUkNIUz0lcycgJSBzZWxmLmFyY2hp
dGVjdHVyZSgpXSBpZiBzZWxmLmFyY2hpdGVjdHVyZSgpIGVsc2UgW10pCkBAIC0xMDksMTEgKzEw
NiwxNyBAQCBjbGFzcyBEZXZpY2VQb3J0KERhcndpblBvcnQpOgogICAgICAgICAgICAgaWYgbm90
IGRldmljZS5pbnN0YWxsX2R5bGlicyhzZWxmLl9idWlsZF9wYXRoKCkpOgogICAgICAgICAgICAg
ICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignRmFpbGVkIHRvIGluc3RhbGwgZHlsaWJzIGF0IHt9IG9u
IGRldmljZSB7fScuZm9ybWF0KHNlbGYuX2J1aWxkX3BhdGgoKSwgZGV2aWNlLnVkaWQpKQogCi0g
ICAgZGVmIHNldHVwX3Rlc3RfcnVuKHNlbGYsIGRldmljZV9jbGFzcz1Ob25lKToKKyAgICBkZWYg
c2V0dXBfdGVzdF9ydW4oc2VsZiwgZGV2aWNlX3R5cGU9Tm9uZSk6CiAgICAgICAgIGlmIG5vdCBz
ZWxmLkRFVklDRV9NQU5BR0VSOgogICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKHNlbGYu
Tk9fREVWSUNFX01BTkFHRVIpCiAKLSAgICAgICAgZGV2aWNlX3R5cGUgPSBEZXZpY2VUeXBlLmZy
b21fc3RyaW5nKGRldmljZV9jbGFzcyBpZiBkZXZpY2VfY2xhc3MgZWxzZSBzZWxmLkRFRkFVTFRf
REVWSUNFX0NMQVNTLCBzZWxmLmRldmljZV92ZXJzaW9uKCkpCisgICAgICAgIGRldmljZV90eXBl
ID0gZGV2aWNlX3R5cGUgaWYgZGV2aWNlX3R5cGUgZWxzZSBzZWxmLkRFRkFVTFRfREVWSUNFX1RZ
UEUKKyAgICAgICAgZGV2aWNlX3R5cGUgPSBEZXZpY2VUeXBlKAorICAgICAgICAgICAgaGFyZHdh
cmVfZmFtaWx5PWRldmljZV90eXBlLmhhcmR3YXJlX2ZhbWlseSwKKyAgICAgICAgICAgIGhhcmR3
YXJlX3R5cGU9ZGV2aWNlX3R5cGUuaGFyZHdhcmVfdHlwZSwKKyAgICAgICAgICAgIHNvZnR3YXJl
X3ZlcnNpb249c2VsZi5kZXZpY2VfdmVyc2lvbigpLAorICAgICAgICAgICAgc29mdHdhcmVfdmFy
aWFudD1kZXZpY2VfdHlwZS5zb2Z0d2FyZV92YXJpYW50LAorICAgICAgICApCiAgICAgICAgIF9s
b2cuZGVidWcoJ1xuQ3JlYXRpbmcgZGV2aWNlcyBmb3Ige30nLmZvcm1hdChkZXZpY2VfdHlwZSkp
CiAKICAgICAgICAgcmVxdWVzdCA9IERldmljZVJlcXVlc3QoCkluZGV4OiBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvZ3RrLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9ndGsucHkJKHJldmlzaW9uIDIzODY5NSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvcG9ydC9ndGsucHkJKHdvcmtpbmcgY29weSkKQEAgLTEwMyw4ICsxMDMsOCBAQCBjbGFzcyBH
dGtQb3J0KFBvcnQpOgogICAgICAgICAgICAgcmV0dXJuIHNlbGYuZGVmYXVsdF90aW1lb3V0X21z
KCkKICAgICAgICAgcmV0dXJuIHN1cGVyKEd0a1BvcnQsIHNlbGYpLmRyaXZlcl9zdG9wX3RpbWVv
dXQoKQogCi0gICAgZGVmIHNldHVwX3Rlc3RfcnVuKHNlbGYsIGRldmljZV9jbGFzcz1Ob25lKToK
LSAgICAgICAgc3VwZXIoR3RrUG9ydCwgc2VsZikuc2V0dXBfdGVzdF9ydW4oZGV2aWNlX2NsYXNz
KQorICAgIGRlZiBzZXR1cF90ZXN0X3J1bihzZWxmLCBkZXZpY2VfdHlwZT1Ob25lKToKKyAgICAg
ICAgc3VwZXIoR3RrUG9ydCwgc2VsZikuc2V0dXBfdGVzdF9ydW4oZGV2aWNlX3R5cGUpCiAgICAg
ICAgIHNlbGYuX3B1bHNlYXVkaW9fc2FuaXRpemVyLnVubG9hZF9wdWxzZWF1ZGlvX21vZHVsZSgp
CiAKICAgICAgICAgaWYgc2VsZi5nZXRfb3B0aW9uKCJsZWFrcyIpOgpJbmRleDogVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L2lvcy5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvaW9zLnB5CShyZXZpc2lvbiAyMzg2OTUpCisrKyBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3BvcnQvaW9zLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBAIGZyb20g
d2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVscy50ZXN0X2MKIGZyb20gd2Via2l0cHkucG9ydC5j
b25maWcgaW1wb3J0IGFwcGxlX2FkZGl0aW9ucwogZnJvbSB3ZWJraXRweS5wb3J0LmRldmljZV9w
b3J0IGltcG9ydCBEZXZpY2VQb3J0CiBmcm9tIHdlYmtpdHB5LnBvcnQuc2ltdWxhdG9yX3Byb2Nl
c3MgaW1wb3J0IFNpbXVsYXRvclByb2Nlc3MKK2Zyb20gd2Via2l0cHkueGNvZGUuZGV2aWNlX3R5
cGUgaW1wb3J0IERldmljZVR5cGUKIAogX2xvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9f
KQogCkBAIC0zOSw3ICs0MCw3IEBAIGNsYXNzIElPU1BvcnQoRGV2aWNlUG9ydCk6CiAKICAgICBD
VVJSRU5UX1ZFUlNJT04gPSBWZXJzaW9uKDEyKQogICAgICMgRklYTUU6IFRoaXMgaXMgbm90IGEg
Y2xlYXIgd2F5IHRvIGRvIHRoaXMgKGFsdGhvdWdoIGl0IHdvcmtzKSBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkyMTYwCi0gICAgREVGQVVMVF9ERVZJQ0VfQ0xBU1Mg
PSAnJworICAgIERFRkFVTFRfREVWSUNFX1RZUEUgPSBEZXZpY2VUeXBlKHNvZnR3YXJlX3Zhcmlh
bnQ9J2lPUycpCiAKICAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdCwgcG9ydF9uYW1lLCAqKmt3
YXJncyk6CiAgICAgICAgIHN1cGVyKElPU1BvcnQsIHNlbGYpLl9faW5pdF9fKGhvc3QsIHBvcnRf
bmFtZSwgKiprd2FyZ3MpCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zX3Np
bXVsYXRvci5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9z
X3NpbXVsYXRvci5weQkocmV2aXNpb24gMjM4Njk1KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRw
eS9wb3J0L2lvc19zaW11bGF0b3IucHkJKHdvcmtpbmcgY29weSkKQEAgLTQyLDE3ICs0MiwxMCBA
QCBjbGFzcyBJT1NTaW11bGF0b3JQb3J0KElPU1BvcnQpOgogCiAgICAgREVWSUNFX01BTkFHRVIg
PSBTaW11bGF0ZWREZXZpY2VNYW5hZ2VyCiAKLSAgICBERUZBVUxUX0RFVklDRV9DTEFTUyA9ICdp
UGhvbmUgU0UnCi0gICAgQ1VTVE9NX0RFVklDRV9DTEFTU0VTID0gWydpUGFkJywgJ2lQaG9uZSA3
J10KKyAgICBERUZBVUxUX0RFVklDRV9UWVBFID0gRGV2aWNlVHlwZShoYXJkd2FyZV9mYW1pbHk9
J2lQaG9uZScsIGhhcmR3YXJlX3R5cGU9J1NFJykKKyAgICBDVVNUT01fREVWSUNFX1RZUEVTID0g
W0RldmljZVR5cGUoaGFyZHdhcmVfZmFtaWx5PSdpUGFkJyksIERldmljZVR5cGUoaGFyZHdhcmVf
ZmFtaWx5PSdpUGhvbmUnLCBoYXJkd2FyZV90eXBlPSc3JyldCiAgICAgU0RLID0gYXBwbGVfYWRk
aXRpb25zKCkuZ2V0X3NkaygnaXBob25lc2ltdWxhdG9yJykgaWYgYXBwbGVfYWRkaXRpb25zKCkg
ZWxzZSAnaXBob25lc2ltdWxhdG9yJwogCi0gICAgZGVmIF9faW5pdF9fKHNlbGYsIGhvc3QsIHBv
cnRfbmFtZSwgKiprd2FyZ3MpOgotICAgICAgICBzdXBlcihJT1NTaW11bGF0b3JQb3J0LCBzZWxm
KS5fX2luaXRfXyhob3N0LCBwb3J0X25hbWUsICoqa3dhcmdzKQotCi0gICAgICAgIG9wdGlvbmFs
X2RldmljZV9jbGFzcyA9IHNlbGYuZ2V0X29wdGlvbignZGV2aWNlX2NsYXNzJykKLSAgICAgICAg
c2VsZi5fZGV2aWNlX2NsYXNzID0gb3B0aW9uYWxfZGV2aWNlX2NsYXNzIGlmIG9wdGlvbmFsX2Rl
dmljZV9jbGFzcyBlbHNlIHNlbGYuREVGQVVMVF9ERVZJQ0VfQ0xBU1MKLSAgICAgICAgX2xvZy5k
ZWJ1ZygnSU9TU2ltdWxhdG9yUG9ydCBfZGV2aWNlX2NsYXNzIGlzICVzJywgc2VsZi5fZGV2aWNl
X2NsYXNzKQotCiAgICAgQHN0YXRpY21ldGhvZAogICAgIGRlZiBfdmVyc2lvbl9mcm9tX25hbWUo
bmFtZSk6CiAgICAgICAgIGlmIGxlbihuYW1lLnNwbGl0KCctJykpID4gMiBhbmQgbmFtZS5zcGxp
dCgnLScpWzJdLmlzZGlnaXQoKToKQEAgLTc4LDkgKzcxLDYgQEAgY2xhc3MgSU9TU2ltdWxhdG9y
UG9ydChJT1NQb3J0KToKICAgICAgICAgICAgICAgICByZXR1cm4gbnVtX2Jvb3RlZF9zaW1zCiAg
ICAgICAgIHJldHVybiBTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLm1heF9zdXBwb3J0ZWRfc2ltdWxh
dG9ycyhzZWxmLmhvc3QpCiAKLSAgICBkZWYgX3NldF9kZXZpY2VfY2xhc3Moc2VsZiwgZGV2aWNl
X2NsYXNzKToKLSAgICAgICAgc2VsZi5fZGV2aWNlX2NsYXNzID0gZGV2aWNlX2NsYXNzIGlmIGRl
dmljZV9jbGFzcyBlbHNlIHNlbGYuREVGQVVMVF9ERVZJQ0VfQ0xBU1MKLQogICAgIGRlZiBjbGVh
bl91cF90ZXN0X3J1bihzZWxmKToKICAgICAgICAgc3VwZXIoSU9TU2ltdWxhdG9yUG9ydCwgc2Vs
ZikuY2xlYW5fdXBfdGVzdF9ydW4oKQogICAgICAgICBfbG9nLmRlYnVnKCJjbGVhbl91cF90ZXN0
X3J1biIpCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvdGVzdC5weQkocmV2aXNpb24gMjM4
Njk1KQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3Rlc3QucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTQ2Nyw3ICs0NjcsNyBAQCBjbGFzcyBUZXN0UG9ydChQb3J0KToKICAgICBkZWYgZGVm
YXVsdF9yZXN1bHRzX2RpcmVjdG9yeShzZWxmKToKICAgICAgICAgcmV0dXJuICcvdG1wL2xheW91
dC10ZXN0LXJlc3VsdHMnCiAKLSAgICBkZWYgc2V0dXBfdGVzdF9ydW4oc2VsZiwgZGV2aWNlX2Ns
YXNzPU5vbmUpOgorICAgIGRlZiBzZXR1cF90ZXN0X3J1bihzZWxmLCBkZXZpY2VfdHlwZT1Ob25l
KToKICAgICAgICAgcGFzcwogCiAgICAgZGVmIF9kcml2ZXJfY2xhc3Moc2VsZik6CkluZGV4OiBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2F0Y2gucHkKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMv
U2NyaXB0cy93ZWJraXRweS9wb3J0L3dhdGNoLnB5CShyZXZpc2lvbiAyMzg2OTUpCisrKyBUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2F0Y2gucHkJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYg
KzI3LDcgQEAgZnJvbSB3ZWJraXRweS5jb21tb24udmVyc2lvbiBpbXBvcnQgVmVycwogZnJvbSB3
ZWJraXRweS5jb21tb24udmVyc2lvbl9uYW1lX21hcCBpbXBvcnQgVmVyc2lvbk5hbWVNYXAsIElO
VEVSTkFMX1RBQkxFCiBmcm9tIHdlYmtpdHB5LnBvcnQuY29uZmlnIGltcG9ydCBhcHBsZV9hZGRp
dGlvbnMKIGZyb20gd2Via2l0cHkucG9ydC5kZXZpY2VfcG9ydCBpbXBvcnQgRGV2aWNlUG9ydAor
ZnJvbSB3ZWJraXRweS54Y29kZS5kZXZpY2VfdHlwZSBpbXBvcnQgRGV2aWNlVHlwZQogCiAKIF9s
b2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKQEAgLTM2LDcgKzM3LDcgQEAgY2xhc3Mg
V2F0Y2hQb3J0KERldmljZVBvcnQpOgogICAgIHBvcnRfbmFtZSA9ICd3YXRjaG9zJwogCiAgICAg
Q1VSUkVOVF9WRVJTSU9OID0gVmVyc2lvbig1KQotICAgIERFRkFVTFRfREVWSUNFX0NMQVNTID0g
J0FwcGxlIFdhdGNoJworICAgIERFRkFVTFRfREVWSUNFX1RZUEUgPSBEZXZpY2VUeXBlKHNvZnR3
YXJlX3ZhcmlhbnQ9J3dhdGNoT1MnKQogCiAgICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAq
Kmt3YXJncyk6CiAgICAgICAgIHN1cGVyKFdhdGNoUG9ydCwgc2VsZikuX19pbml0X18oKmFyZ3Ms
ICoqa3dhcmdzKQpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dhdGNoX3NpbXVs
YXRvci5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2F0Y2hf
c2ltdWxhdG9yLnB5CShyZXZpc2lvbiAyMzg2OTUpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5
L3BvcnQvd2F0Y2hfc2ltdWxhdG9yLnB5CSh3b3JraW5nIGNvcHkpCkBAIC00MCwxNiArNDAsOSBA
QCBjbGFzcyBXYXRjaFNpbXVsYXRvclBvcnQoV2F0Y2hQb3J0KToKIAogICAgIERFVklDRV9NQU5B
R0VSID0gU2ltdWxhdGVkRGV2aWNlTWFuYWdlcgogCi0gICAgREVGQVVMVF9ERVZJQ0VfQ0xBU1Mg
PSAnQXBwbGUgV2F0Y2ggU2VyaWVzIDMgLSA0Mm1tJwotICAgIENVU1RPTV9ERVZJQ0VfQ0xBU1NF
UyA9IFtdCisgICAgREVGQVVMVF9ERVZJQ0VfVFlQRSA9IERldmljZVR5cGUoaGFyZHdhcmVfZmFt
aWx5PSdBcHBsZSBXYXRjaCcsIGhhcmR3YXJlX3R5cGU9J1NlcmllcyAzIC0gNDJtbScpCiAgICAg
U0RLID0gYXBwbGVfYWRkaXRpb25zKCkuZ2V0X3Nkaygnd2F0Y2hzaW11bGF0b3InKSBpZiBhcHBs
ZV9hZGRpdGlvbnMoKSBlbHNlICd3YXRjaHNpbXVsYXRvcicKIAotICAgIGRlZiBfX2luaXRfXyhz
ZWxmLCAqYXJncywgKiprd2FyZ3MpOgotICAgICAgICBzdXBlcihXYXRjaFNpbXVsYXRvclBvcnQs
IHNlbGYpLl9faW5pdF9fKCphcmdzLCAqKmt3YXJncykKLQotICAgICAgICBzZWxmLl9zZXRfZGV2
aWNlX2NsYXNzKHNlbGYuZ2V0X29wdGlvbignZGV2aWNlX2NsYXNzJykpCi0gICAgICAgIF9sb2cu
ZGVidWcoJ1dhdGNoU2ltdWxhdG9yUG9ydCBfZGV2aWNlX2NsYXNzIGlzICVzJywgc2VsZi5fZGV2
aWNlX2NsYXNzKQotCiAgICAgZGVmIGFyY2hpdGVjdHVyZShzZWxmKToKICAgICAgICAgcmV0dXJu
IHNlbGYuREVGQVVMVF9BUkNISVRFQ1RVUkUKIApAQCAtOTEsOSArODQsNiBAQCBjbGFzcyBXYXRj
aFNpbXVsYXRvclBvcnQoV2F0Y2hQb3J0KToKICAgICAgICAgICAgICAgICByZXR1cm4gbnVtX2Jv
b3RlZF9zaW1zCiAgICAgICAgIHJldHVybiBTaW11bGF0ZWREZXZpY2VNYW5hZ2VyLm1heF9zdXBw
b3J0ZWRfc2ltdWxhdG9ycyhzZWxmLmhvc3QpCiAKLSAgICBkZWYgX3NldF9kZXZpY2VfY2xhc3Mo
c2VsZiwgZGV2aWNlX2NsYXNzKToKLSAgICAgICAgc2VsZi5fZGV2aWNlX2NsYXNzID0gZGV2aWNl
X2NsYXNzIG9yIHNlbGYuREVGQVVMVF9ERVZJQ0VfQ0xBU1MKLQogICAgIGRlZiBvcGVyYXRpbmdf
c3lzdGVtKHNlbGYpOgogICAgICAgICByZXR1cm4gJ3dhdGNob3Mtc2ltdWxhdG9yJwogCkluZGV4
OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2luLnB5Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHkJKHJldmlzaW9uIDIzODY5NSkKKysrIFRvb2xz
L1NjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHkJKHdvcmtpbmcgY29weSkKQEAgLTM5NSwxMyAr
Mzk1LDEzIEBAIGNsYXNzIFdpblBvcnQoQXBwbGVQb3J0KToKICAgICAgICAgZXhjZXB0OgogICAg
ICAgICAgICAgX2xvZy53YXJuKCJGYWlsZWQgdG8gZGVsZXRlIHByZWZlcmVuY2UgZmlsZXMuIikK
IAotICAgIGRlZiBzZXR1cF90ZXN0X3J1bihzZWxmLCBkZXZpY2VfY2xhc3M9Tm9uZSk6CisgICAg
ZGVmIHNldHVwX3Rlc3RfcnVuKHNlbGYsIGRldmljZV90eXBlPU5vbmUpOgogICAgICAgICBhdGV4
aXQucmVnaXN0ZXIoc2VsZi5yZXN0b3JlX2NyYXNoX2xvZ19zYXZpbmcpCiAgICAgICAgIHNlbGYu
c2V0dXBfY3Jhc2hfbG9nX3NhdmluZygpCiAgICAgICAgIHNlbGYucHJldmVudF9lcnJvcl9kaWFs
b2dzKCkKICAgICAgICAgc2VsZi5kZWxldGVfc2VtX2xvY2tzKCkKICAgICAgICAgc2VsZi5kZWxl
dGVfcHJlZmVyZW5jZV9maWxlcygpCi0gICAgICAgIHN1cGVyKFdpblBvcnQsIHNlbGYpLnNldHVw
X3Rlc3RfcnVuKGRldmljZV9jbGFzcykKKyAgICAgICAgc3VwZXIoV2luUG9ydCwgc2VsZikuc2V0
dXBfdGVzdF9ydW4oZGV2aWNlX3R5cGUpCiAKICAgICBkZWYgY2xlYW5fdXBfdGVzdF9ydW4oc2Vs
Zik6CiAgICAgICAgIHNlbGYuYWxsb3dfZXJyb3JfZGlhbG9ncygpCkluZGV4OiBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L3hjb2RlL3NpbXVsYXRlZF9kZXZpY2UucHkKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvU2NyaXB0cy93ZWJraXRweS94Y29kZS9zaW11bGF0ZWRfZGV2aWNlLnB5CShyZXZpc2lvbiAy
Mzg2OTUpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3hjb2RlL3NpbXVsYXRlZF9kZXZpY2Uu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTIxNyw5ICsyMTcsMTAgQEAgY2xhc3MgU2ltdWxhdGVkRGV2
aWNlTWFuYWdlcihvYmplY3QpOgogCiAgICAgICAgIGlmIGZ1bGxfZGV2aWNlX3R5cGUuaGFyZHdh
cmVfdHlwZSBpcyBOb25lOgogICAgICAgICAgICAgIyBBZ2Fpbiwgd2UgdXNlIHRoZSBleGlzdGlu
ZyBkZXZpY2VzIHRvIGRldGVybWluZSBhIGxlZ2FsIGhhcmR3YXJlIHR5cGUKLSAgICAgICAgICAg
IGZvciBkZXZpY2UgaW4gU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5BVkFJTEFCTEVfREVWSUNFUzoK
LSAgICAgICAgICAgICAgICBpZiBkZXZpY2UucGxhdGZvcm1fZGV2aWNlLmRldmljZV90eXBlID09
IGZ1bGxfZGV2aWNlX3R5cGU6Ci0gICAgICAgICAgICAgICAgICAgIGZ1bGxfZGV2aWNlX3R5cGUu
aGFyZHdhcmVfdHlwZSA9IGRldmljZS5wbGF0Zm9ybV9kZXZpY2UuZGV2aWNlX3R5cGUuaGFyZHdh
cmVfdHlwZQorICAgICAgICAgICAgZm9yIG5hbWUgaW4gU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5f
ZGV2aWNlX2lkZW50aWZpZXJfdG9fbmFtZS5pdGVydmFsdWVzKCk6CisgICAgICAgICAgICAgICAg
dHlwZV9mcm9tX25hbWUgPSBEZXZpY2VUeXBlLmZyb21fc3RyaW5nKG5hbWUpCisgICAgICAgICAg
ICAgICAgaWYgdHlwZV9mcm9tX25hbWUgPT0gZnVsbF9kZXZpY2VfdHlwZToKKyAgICAgICAgICAg
ICAgICAgICAgZnVsbF9kZXZpY2VfdHlwZS5oYXJkd2FyZV90eXBlID0gdHlwZV9mcm9tX25hbWUu
aGFyZHdhcmVfdHlwZQogICAgICAgICAgICAgICAgICAgICBicmVhawogCiAgICAgICAgIGZ1bGxf
ZGV2aWNlX3R5cGUuY2hlY2tfY29uc2lzdGVuY3koKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>356198</attachid>
            <date>2018-11-30 10:45:11 -0800</date>
            <delta_ts>2018-11-30 12:13:25 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-192160-20181130104510.patch</filename>
            <type>text/plain</type>
            <size>23546</size>
            <attacher name="Jonathan Bedard">jbedard</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIzODc0MSkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDUzIEBACisyMDE4LTExLTMwICBKb25hdGhhbiBCZWRhcmQgIDxqYmVkYXJkQGFwcGxlLmNv
bT4KKworICAgICAgICB3ZWJraXRweTogVXNlIERldmljZVR5cGUgaW5zdGVhZCBvZiBzdHIgdG8g
cmVwcmVzZW50IGRldmljZSBjbGFzcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTkyMTYwCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS80NjM0NDg0NT4K
KworICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBBYWthc2ggSmFpbi4KKworICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHk6CisgICAg
ICAgIChNYW5hZ2VyLl9jdXN0b21fZGV2aWNlX2Zvcl90ZXN0KTogVXNlIERldmljZVR5cGVzIGlu
c3RlYWQgb2Ygc3RyaW5ncyB0byByZXByZXNlbnQgZGV2aWNlIHR5cGUuCisgICAgICAgIChNYW5h
Z2VyLl9zZXRfdXBfcnVuKTogRG8gbm90IHNldCBfb3B0aW9ucy5kZXZpY2VfY2xhc3MsIHVzZSBk
ZXZpY2VfdHlwZSBpbnN0ZWFkIG9mIGRldmljZV9jbGFzcy4KKyAgICAgICAgKE1hbmFnZXIucnVu
KTogVXNlIGRldmljZV90eXBlIGluc3RlYWQgb2YgZGV2aWNlX2NsYXNzLgorICAgICAgICAoTWFu
YWdlci5fcHJpbnRfZXhwZWN0YXRpb25zX2Zvcl9zdWJzZXQpOiBEaXR0by4KKyAgICAgICAgKE1h
bmFnZXIucHJpbnRfZXhwZWN0YXRpb25zKTogRGl0dG8uCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRweS9sYXlvdXRfdGVzdHMvY29udHJvbGxlcnMvbWFuYWdlcl91bml0dGVzdC5weToKKyAgICAg
ICAgKE1hbmFnZXJUZXN0LnRlc3RfdXNlc19jdXN0b21fZGV2aWNlKTogVXNlIERldmljZVR5cGUg
YW5kIGFjdHVhbCBkZXZpY2UgZGVmaW5pdGlvbi4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5
L2xheW91dF90ZXN0cy92aWV3cy9wcmludGluZy5weToKKyAgICAgICAgKFByaW50ZXIucHJpbnRf
d29ya2Vyc19hbmRfc2hhcmRzKTogT3V0cHV0dGluZyB0aGUgZGV2aWNlIHN1ZmZpeCBkb2Vzbid0
IHJlYWxseSBoZWxwLCBhbmQgbWVhbnMKKyAgICAgICAgZGV2aWNlIHR5cGUgbmVlZHMgdG8gYmUg
cGFzc2VkIGFyb3VuZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvYXBwbGUucHk6
CisgICAgICAgIChBcHBsZVBvcnQuc2V0dXBfdGVzdF9ydW4pOiBVc2UgZGV2aWNlX3R5cGUgaW5z
dGVhZCBvZiBkZXZpY2VfY2xhc3MuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jh
c2UucHk6CisgICAgICAgIChQb3J0KToKKyAgICAgICAgKFBvcnQuc2V0dXBfdGVzdF9ydW4pOiBV
c2UgZGV2aWNlX3R5cGUgaW5zdGVhZCBvZiBkZXZpY2VfY2xhc3MuCisgICAgICAgICogU2NyaXB0
cy93ZWJraXRweS9wb3J0L2RldmljZV9wb3J0LnB5OgorICAgICAgICAoRGV2aWNlUG9ydCk6Cisg
ICAgICAgIChEZXZpY2VQb3J0LnNldHVwX3Rlc3RfcnVuKTogUmVjZWl2ZSBkZXZpY2VfdHlwZSBh
cyBEZXZpY2VUeXBlIG9iamVjdC4KKyAgICAgICAgKERldmljZVBvcnQuX2NyZWF0ZV9kZXZpY2Vz
KTogRGVsZXRlZC4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5OgorICAg
ICAgICAoR3RrUG9ydC5zZXR1cF90ZXN0X3J1bik6IFVzZSBkZXZpY2VfdHlwZSBpbnN0ZWFkIG9m
IGRldmljZV9jbGFzcy4KKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zLnB5Ogor
ICAgICAgICAoSU9TUG9ydCk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvc19z
aW11bGF0b3IucHk6CisgICAgICAgIChJT1NTaW11bGF0b3JQb3J0KToKKyAgICAgICAgKElPU1Np
bXVsYXRvclBvcnQuX19pbml0X18pOiBEZWxldGVkLgorICAgICAgICAoSU9TU2ltdWxhdG9yUG9y
dC5fc2V0X2RldmljZV9jbGFzcyk6IERlbGV0ZWQuCisgICAgICAgICogU2NyaXB0cy93ZWJraXRw
eS9wb3J0L3Rlc3QucHk6CisgICAgICAgICogU2NyaXB0cy93ZWJraXRweS9wb3J0L3dhdGNoLnB5
OgorICAgICAgICAoV2F0Y2hQb3J0KToKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdHB5L3BvcnQv
d2F0Y2hfc2ltdWxhdG9yLnB5OgorICAgICAgICAoV2F0Y2hTaW11bGF0b3JQb3J0KToKKyAgICAg
ICAgKFdhdGNoU2ltdWxhdG9yUG9ydC5fX2luaXRfXyk6IERlbGV0ZWQuCisgICAgICAgIChXYXRj
aFNpbXVsYXRvclBvcnQuX3NldF9kZXZpY2VfY2xhc3MpOiBEZWxldGVkLgorICAgICAgICAqIFNj
cmlwdHMvd2Via2l0cHkvcG9ydC93aW4ucHk6CisgICAgICAgIChXaW5Qb3J0LnNldHVwX3Rlc3Rf
cnVuKTogVXNlIGRldmljZV90eXBlIGluc3RlYWQgb2YgZGV2aWNlX2NsYXNzLgorICAgICAgICAq
IFNjcmlwdHMvd2Via2l0cHkveGNvZGUvc2ltdWxhdGVkX2RldmljZS5weToKKyAgICAgICAgKFNp
bXVsYXRlZERldmljZU1hbmFnZXIuX2Rpc2FtYmlndWF0ZV9kZXZpY2VfdHlwZSk6IFVzaW5nIHRo
ZSBleGlzdGluZyBkZXZpY2VzIGZvciB0aGlzIGlzCisgICAgICAgIGEgcHJvYmxlbSBpZiBubyBz
dWNoIGRldmljZSBleGlzdHMgeWV0LiBVc2UgdGhlIF9kZXZpY2VfaWRlbnRpZmllcl90b19uYW1l
IGRpY3Rpb25hcnkgaW5zdGVhZAorICAgICAgICBzaW5jZSB0aGlzIHNob3VsZCBoYXZlIGhhcmR3
YXJlIHR5cGVzIGluIHRoZSBkZXZpY2UgbmFtZXMuCisKIDIwMTgtMTEtMzAgIFphbGFuIEJ1anRh
cyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbTEZDXVtCRkNdIENvbXB1dGUgbWluL21h
eEhlaWdodCBtYXJnaW5zIG9ubHkgd2hlbiB0aGV5IGFyZSBuZWVkZWQuCkluZGV4OiBUb29scy9T
Y3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyLnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJz
L21hbmFnZXIucHkJKHJldmlzaW9uIDIzODc0MSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkv
bGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXIucHkJKHdvcmtpbmcgY29weSkKQEAgLTU1
LDYgKzU1LDcgQEAgZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubW9kZWxzIGltcG9ydAogZnJv
bSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubW9kZWxzLnRlc3RfaW5wdXQgaW1wb3J0IFRlc3RJbnB1
dAogZnJvbSB3ZWJraXRweS5sYXlvdXRfdGVzdHMubW9kZWxzLnRlc3RfcnVuX3Jlc3VsdHMgaW1w
b3J0IElOVEVSUlVQVEVEX0VYSVRfU1RBVFVTCiBmcm9tIHdlYmtpdHB5LnRvb2wuZ3JhbW1hciBp
bXBvcnQgcGx1cmFsaXplCitmcm9tIHdlYmtpdHB5Lnhjb2RlLmRldmljZV90eXBlIGltcG9ydCBE
ZXZpY2VUeXBlCiAKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKIApAQCAtMTAz
LDEwICsxMDQsMTQgQEAgY2xhc3MgTWFuYWdlcihvYmplY3QpOgogICAgICAgICByZXR1cm4gc2Vs
Zi53ZWJfcGxhdGZvcm1fdGVzdF9zdWJkaXIgaW4gdGVzdCBvciBzZWxmLndlYmtpdF9zcGVjaWZp
Y193ZWJfcGxhdGZvcm1fdGVzdF9zdWJkaXIgaW4gdGVzdAogCiAgICAgZGVmIF9jdXN0b21fZGV2
aWNlX2Zvcl90ZXN0KHNlbGYsIHRlc3QpOgotICAgICAgICBmb3IgZGV2aWNlX2NsYXNzIGluIHNl
bGYuX3BvcnQuQ1VTVE9NX0RFVklDRV9DTEFTU0VTOgotICAgICAgICAgICAgZGlyZWN0b3J5X3N1
ZmZpeCA9IGRldmljZV9jbGFzcy5sb3dlcigpLnJlcGxhY2UoJyAnLCAnJykgKyBzZWxmLl9wb3J0
LlRFU1RfUEFUSF9TRVBBUkFUT1IKLSAgICAgICAgICAgIGlmIGRpcmVjdG9yeV9zdWZmaXggaW4g
dGVzdDoKLSAgICAgICAgICAgICAgICByZXR1cm4gZGV2aWNlX2NsYXNzCisgICAgICAgICMgRklY
TUU6IFVzZSBhdmFpbGFibGUgZGV2aWNlcyBpbnN0ZWFkIG9mIENVU1RPTV9ERVZJQ0VfVFlQRVMg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MjE2MQorICAgICAgICAj
IEZJWE1FOiBUaGlzIGlzIGEgdGVycmlibGUgd2F5IHRvIGRvIGRldmljZS1zcGVjaWZpYyBleHBl
Y3RlZCByZXN1bHRzIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTIx
NjIKKyAgICAgICAgZm9yIGRldmljZV90eXBlIGluIHNlbGYuX3BvcnQuQ1VTVE9NX0RFVklDRV9U
WVBFUzoKKyAgICAgICAgICAgIGlmIGRldmljZV90eXBlLmhhcmR3YXJlX2ZhbWlseSBhbmQgZGV2
aWNlX3R5cGUuaGFyZHdhcmVfZmFtaWx5Lmxvd2VyKCkgKyBzZWxmLl9wb3J0LlRFU1RfUEFUSF9T
RVBBUkFUT1IgaW4gdGVzdDoKKyAgICAgICAgICAgICAgICByZXR1cm4gZGV2aWNlX3R5cGUKKyAg
ICAgICAgICAgIGlmIGRldmljZV90eXBlLmhhcmR3YXJlX2ZhbWlseSBhbmQgZGV2aWNlX3R5cGUu
aGFyZHdhcmVfdHlwZSBhbmQgXAorICAgICAgICAgICAgICAgIChkZXZpY2VfdHlwZS5oYXJkd2Fy
ZV9mYW1pbHkgKyBkZXZpY2VfdHlwZS5oYXJkd2FyZV90eXBlKS5sb3dlcigpLnJlcGxhY2UoJyAn
LCAnJykgKyBzZWxmLl9wb3J0LlRFU1RfUEFUSF9TRVBBUkFUT1IgaW4gdGVzdDoKKyAgICAgICAg
ICAgICAgICByZXR1cm4gZGV2aWNlX3R5cGUKICAgICAgICAgcmV0dXJuIE5vbmUKIAogICAgIGRl
ZiBfaHR0cF90ZXN0cyhzZWxmLCB0ZXN0X25hbWVzKToKQEAgLTE1OSw5ICsxNjQsNyBAQCBjbGFz
cyBNYW5hZ2VyKG9iamVjdCk6CiAgICAgICAgIHdvcmtlcl9jb3VudCA9IHNlbGYuX3J1bm5lci5n
ZXRfd29ya2VyX2NvdW50KHRlc3RfaW5wdXRzLCBpbnQoc2VsZi5fb3B0aW9ucy5jaGlsZF9wcm9j
ZXNzZXMpKQogICAgICAgICBzZWxmLl9vcHRpb25zLmNoaWxkX3Byb2Nlc3NlcyA9IHdvcmtlcl9j
b3VudAogCi0gICAgZGVmIF9zZXRfdXBfcnVuKHNlbGYsIHRlc3RfbmFtZXMsIGRldmljZV9jbGFz
cz1Ob25lKToKLSAgICAgICAgc2VsZi5fb3B0aW9ucy5kZXZpY2VfY2xhc3MgPSBkZXZpY2VfY2xh
c3MKLQorICAgIGRlZiBfc2V0X3VwX3J1bihzZWxmLCB0ZXN0X25hbWVzLCBkZXZpY2VfdHlwZT1O
b25lKToKICAgICAgICAgIyBUaGlzIG11c3QgYmUgc3RhcnRlZCBiZWZvcmUgd2UgY2hlY2sgdGhl
IHN5c3RlbSBkZXBlbmRlbmNpZXMsCiAgICAgICAgICMgc2luY2UgdGhlIGhlbHBlciBtYXkgZG8g
dGhpbmdzIHRvIG1ha2UgdGhlIHNldHVwIGNvcnJlY3QuCiAgICAgICAgIHNlbGYuX3ByaW50ZXIu
d3JpdGVfdXBkYXRlKCJTdGFydGluZyBoZWxwZXIgLi4uIikKQEAgLTE3OCw3ICsxODEsNyBAQCBj
bGFzcyBNYW5hZ2VyKG9iamVjdCk6CiAgICAgICAgICAgICAgICAgc2VsZi5fcG9ydC5zdG9wX2hl
bHBlcigpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCiAKLSAgICAgICAgc2VsZi5fcG9y
dC5zZXR1cF90ZXN0X3J1bihzZWxmLl9vcHRpb25zLmRldmljZV9jbGFzcykKKyAgICAgICAgc2Vs
Zi5fcG9ydC5zZXR1cF90ZXN0X3J1bihkZXZpY2VfdHlwZSkKICAgICAgICAgcmV0dXJuIFRydWUK
IAogICAgIGRlZiBydW4oc2VsZiwgYXJncyk6CkBAIC0yMTUsOCArMjE4LDggQEAgY2xhc3MgTWFu
YWdlcihvYmplY3QpOgogICAgICAgICAgICAgICAgIGRlZmF1bHRfZGV2aWNlX3Rlc3RzLmFwcGVu
ZCh0ZXN0X2ZpbGUpCiAKICAgICAgICAgaWYgY3VzdG9tX2RldmljZV90ZXN0czoKLSAgICAgICAg
ICAgIGZvciBkZXZpY2VfY2xhc3MgaW4gY3VzdG9tX2RldmljZV90ZXN0czoKLSAgICAgICAgICAg
ICAgICBfbG9nLmRlYnVnKCd7fSB0ZXN0cyB1c2UgZGV2aWNlIHt9Jy5mb3JtYXQobGVuKGN1c3Rv
bV9kZXZpY2VfdGVzdHNbZGV2aWNlX2NsYXNzXSksIGRldmljZV9jbGFzcykpCisgICAgICAgICAg
ICBmb3IgZGV2aWNlX3R5cGUsIHRlc3RzIGluIGN1c3RvbV9kZXZpY2VfdGVzdHMuaXRlcml0ZW1z
KCk6CisgICAgICAgICAgICAgICAgX2xvZy5kZWJ1Zygne30gdGVzdHMgdXNlIGRldmljZSB7fScu
Zm9ybWF0KGxlbih0ZXN0cyksIGRldmljZV90eXBlKSkKIAogICAgICAgICBpbml0aWFsX3Jlc3Vs
dHMgPSBOb25lCiAgICAgICAgIHJldHJ5X3Jlc3VsdHMgPSBOb25lCkBAIC0yNTAsMTMgKzI1Mywx
MyBAQCBjbGFzcyBNYW5hZ2VyKG9iamVjdCk6CiAKICAgICAgICAgIyBPbmx5IHVzZSBhIHNpbmds
ZSB3b3JrZXIgZm9yIGN1c3RvbSBkZXZpY2UgY2xhc3NlcwogICAgICAgICBzZWxmLl9vcHRpb25z
LmNoaWxkX3Byb2Nlc3NlcyA9IDEKLSAgICAgICAgZm9yIGRldmljZV9jbGFzcyBpbiBjdXN0b21f
ZGV2aWNlX3Rlc3RzOgotICAgICAgICAgICAgZGV2aWNlX3Rlc3RzID0gY3VzdG9tX2RldmljZV90
ZXN0c1tkZXZpY2VfY2xhc3NdCisgICAgICAgIGZvciBkZXZpY2VfdHlwZSBpbiBjdXN0b21fZGV2
aWNlX3Rlc3RzOgorICAgICAgICAgICAgZGV2aWNlX3Rlc3RzID0gY3VzdG9tX2RldmljZV90ZXN0
c1tkZXZpY2VfdHlwZV0KICAgICAgICAgICAgIGlmIGRldmljZV90ZXN0czoKICAgICAgICAgICAg
ICAgICBfbG9nLmluZm8oJycpCi0gICAgICAgICAgICAgICAgX2xvZy5pbmZvKCdSdW5uaW5nICVz
IGZvciAlcycsIHBsdXJhbGl6ZShsZW4oZGV2aWNlX3Rlc3RzKSwgInRlc3QiKSwgZGV2aWNlX2Ns
YXNzKQorICAgICAgICAgICAgICAgIF9sb2cuaW5mbygnUnVubmluZyAlcyBmb3IgJXMnLCBwbHVy
YWxpemUobGVuKGRldmljZV90ZXN0cyksICJ0ZXN0IiksIGRldmljZV90eXBlKQogICAgICAgICAg
ICAgICAgIF9sb2cuaW5mbygnJykKLSAgICAgICAgICAgICAgICBpZiBub3Qgc2VsZi5fc2V0X3Vw
X3J1bihkZXZpY2VfdGVzdHMsIGRldmljZV9jbGFzcyk6CisgICAgICAgICAgICAgICAgaWYgbm90
IHNlbGYuX3NldF91cF9ydW4oZGV2aWNlX3Rlc3RzLCBkZXZpY2VfdHlwZSk6CiAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiB0ZXN0X3J1bl9yZXN1bHRzLlJ1bkRldGFpbHMoZXhpdF9jb2RlPS0x
KQogCiAgICAgICAgICAgICAgICAgZGV2aWNlX2luaXRpYWxfcmVzdWx0cywgZGV2aWNlX3JldHJ5
X3Jlc3VsdHMsIGRldmljZV9lbmFibGVkX3BpeGVsX3Rlc3RzX2luX3JldHJ5ID0gc2VsZi5fcnVu
X3Rlc3Rfc3Vic2V0KGRldmljZV90ZXN0cywgdGVzdHNfdG9fc2tpcCkKQEAgLTU0NCw3ICs1NDcs
NyBAQCBjbGFzcyBNYW5hZ2VyKG9iamVjdCk6CiAgICAgICAgIGxpbmUgPSBzZWxmLl9leHBlY3Rh
dGlvbnMubW9kZWwoKS5nZXRfZXhwZWN0YXRpb25fbGluZSh0ZXN0KQogICAgICAgICBwcmludChm
b3JtYXRfc3RyaW5nLmZvcm1hdCh0ZXN0LCBsaW5lLmV4cGVjdGVkX2JlaGF2aW9yLCBzZWxmLl9l
eHBlY3RhdGlvbnMucmVhZGFibGVfZmlsZW5hbWVfYW5kX2xpbmVfbnVtYmVyKGxpbmUpLCBsaW5l
Lm9yaWdpbmFsX3N0cmluZyBvciAnJykpCiAgICAgCi0gICAgZGVmIF9wcmludF9leHBlY3RhdGlv
bnNfZm9yX3N1YnNldChzZWxmLCBkZXZpY2VfY2xhc3MsIHRlc3RfY29sX3dpZHRoLCB0ZXN0c190
b19ydW4sIHRlc3RzX3RvX3NraXA9e30pOgorICAgIGRlZiBfcHJpbnRfZXhwZWN0YXRpb25zX2Zv
cl9zdWJzZXQoc2VsZiwgZGV2aWNlX3R5cGUsIHRlc3RfY29sX3dpZHRoLCB0ZXN0c190b19ydW4s
IHRlc3RzX3RvX3NraXA9e30pOgogICAgICAgICBmb3JtYXRfc3RyaW5nID0gJ3t7Ont3aWR0aH19
fSB7e319IHt7fX0ge3t9fScuZm9ybWF0KHdpZHRoPXRlc3RfY29sX3dpZHRoKQogICAgICAgICBp
ZiB0ZXN0c190b19za2lwOgogICAgICAgICAgICAgcHJpbnQoJycpCkBAIC01NTMsNyArNTU2LDcg
QEAgY2xhc3MgTWFuYWdlcihvYmplY3QpOgogICAgICAgICAgICAgICAgIHNlbGYuX3ByaW50X2V4
cGVjdGF0aW9uX2xpbmVfZm9yX3Rlc3QoZm9ybWF0X3N0cmluZywgdGVzdCkKIAogICAgICAgICBw
cmludCgnJykKLSAgICAgICAgcHJpbnQoJ1Rlc3RzIHRvIHJ1bnt9ICh7fSknLmZvcm1hdCgnIGZv
ciAnICsgZGV2aWNlX2NsYXNzIGlmIGRldmljZV9jbGFzcyBlbHNlICcnLCBsZW4odGVzdHNfdG9f
cnVuKSkpCisgICAgICAgIHByaW50KCdUZXN0cyB0byBydW57fSAoe30pJy5mb3JtYXQoJyBmb3Ig
JyArIHN0cihkZXZpY2VfdHlwZSkgaWYgZGV2aWNlX3R5cGUgZWxzZSAnJywgbGVuKHRlc3RzX3Rv
X3J1bikpKQogICAgICAgICBmb3IgdGVzdCBpbiBzb3J0ZWQodGVzdHNfdG9fcnVuKToKICAgICAg
ICAgICAgIHNlbGYuX3ByaW50X2V4cGVjdGF0aW9uX2xpbmVfZm9yX3Rlc3QoZm9ybWF0X3N0cmlu
ZywgdGVzdCkKIApAQCAtNTg2LDEzICs1ODksMTIgQEAgY2xhc3MgTWFuYWdlcihvYmplY3QpOgog
ICAgICAgICAgICAgICAgIGRlZmF1bHRfZGV2aWNlX3Rlc3RzLmFwcGVuZCh0ZXN0X2ZpbGUpCiAK
ICAgICAgICAgaWYgY3VzdG9tX2RldmljZV90ZXN0czoKLSAgICAgICAgICAgIGZvciBkZXZpY2Vf
Y2xhc3MgaW4gY3VzdG9tX2RldmljZV90ZXN0czoKLSAgICAgICAgICAgICAgICBfbG9nLmRlYnVn
KCd7fSB0ZXN0cyB1c2UgZGV2aWNlIHt9Jy5mb3JtYXQobGVuKGN1c3RvbV9kZXZpY2VfdGVzdHNb
ZGV2aWNlX2NsYXNzXSksIGRldmljZV9jbGFzcykpCisgICAgICAgICAgICBmb3IgZGV2aWNlX3R5
cGUsIHRlc3RzIGluIGN1c3RvbV9kZXZpY2VfdGVzdHMuaXRlcml0ZW1zKCk6CisgICAgICAgICAg
ICAgICAgX2xvZy5kZWJ1Zygne30gdGVzdHMgdXNlIGRldmljZSB7fScuZm9ybWF0KGxlbih0ZXN0
cyksIGRldmljZV90eXBlKSkKIAogICAgICAgICBzZWxmLl9wcmludF9leHBlY3RhdGlvbnNfZm9y
X3N1YnNldChOb25lLCB0ZXN0X2NvbF93aWR0aCwgdGVzdHNfdG9fcnVuLCB0ZXN0c190b19za2lw
KQogCi0gICAgICAgIGZvciBkZXZpY2VfY2xhc3MgaW4gY3VzdG9tX2RldmljZV90ZXN0czoKLSAg
ICAgICAgICAgIGRldmljZV90ZXN0cyA9IGN1c3RvbV9kZXZpY2VfdGVzdHNbZGV2aWNlX2NsYXNz
XQotICAgICAgICAgICAgc2VsZi5fcHJpbnRfZXhwZWN0YXRpb25zX2Zvcl9zdWJzZXQoZGV2aWNl
X2NsYXNzLCB0ZXN0X2NvbF93aWR0aCwgZGV2aWNlX3Rlc3RzKQorICAgICAgICBmb3IgZGV2aWNl
X3R5cGUsIHRlc3RzIGluIGN1c3RvbV9kZXZpY2VfdGVzdHMuaXRlcml0ZW1zKCk6CisgICAgICAg
ICAgICBzZWxmLl9wcmludF9leHBlY3RhdGlvbnNfZm9yX3N1YnNldChkZXZpY2VfdHlwZSwgdGVz
dF9jb2xfd2lkdGgsIHRlc3RzKQogCiAgICAgICAgIHJldHVybiAwCkluZGV4OiBUb29scy9TY3Jp
cHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy9jb250cm9sbGVycy9tYW5hZ2VyX3VuaXR0ZXN0LnB5
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRy
b2xsZXJzL21hbmFnZXJfdW5pdHRlc3QucHkJKHJldmlzaW9uIDIzODc0MSkKKysrIFRvb2xzL1Nj
cmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rlc3RzL2NvbnRyb2xsZXJzL21hbmFnZXJfdW5pdHRlc3Qu
cHkJKHdvcmtpbmcgY29weSkKQEAgLTQwLDYgKzQwLDcgQEAgZnJvbSB3ZWJraXRweS5sYXlvdXRf
dGVzdHMubW9kZWxzLnRlc3RfcgogZnJvbSB3ZWJraXRweS5wb3J0LnRlc3QgaW1wb3J0IFRlc3RQ
b3J0CiBmcm9tIHdlYmtpdHB5LnRoaXJkcGFydHkubW9jayBpbXBvcnQgTW9jawogZnJvbSB3ZWJr
aXRweS50b29sLm1vY2t0b29sIGltcG9ydCBNb2NrT3B0aW9ucworZnJvbSB3ZWJraXRweS54Y29k
ZS5kZXZpY2VfdHlwZSBpbXBvcnQgRGV2aWNlVHlwZQogCiAKIGNsYXNzIE1hbmFnZXJUZXN0KHVu
aXR0ZXN0LlRlc3RDYXNlKToKQEAgLTEwNyw3ICsxMDgsNyBAQCBjbGFzcyBNYW5hZ2VyVGVzdCh1
bml0dGVzdC5UZXN0Q2FzZSk6CiAKICAgICBkZWYgdGVzdF91c2VzX2N1c3RvbV9kZXZpY2Uoc2Vs
Zik6CiAgICAgICAgIGNsYXNzIE1vY2tDdXN0b21EZXZpY2VQb3J0KFRlc3RQb3J0KToKLSAgICAg
ICAgICAgIENVU1RPTV9ERVZJQ0VfQ0xBU1NFUyA9IFsnc3RhcnNoaXAnXQorICAgICAgICAgICAg
Q1VTVE9NX0RFVklDRV9UWVBFUyA9IFtEZXZpY2VUeXBlKGhhcmR3YXJlX2ZhbWlseT0naVBhZCcp
XQogCiAgICAgICAgICAgICBkZWYgX19pbml0X18oc2VsZiwgaG9zdCk6CiAgICAgICAgICAgICAg
ICAgc3VwZXIoTW9ja0N1c3RvbURldmljZVBvcnQsIHNlbGYpLl9faW5pdF9fKGhvc3QpCkBAIC0x
MTUsOCArMTE2LDggQEAgY2xhc3MgTWFuYWdlclRlc3QodW5pdHRlc3QuVGVzdENhc2UpOgogICAg
ICAgICBkZWYgZ2V0X21hbmFnZXIoKToKICAgICAgICAgICAgIGhvc3QgPSBNb2NrSG9zdCgpCiAg
ICAgICAgICAgICBwb3J0ID0gTW9ja0N1c3RvbURldmljZVBvcnQoaG9zdCkKLSAgICAgICAgICAg
IG1hbmFnZXIgPSBNYW5hZ2VyKHBvcnQsIG9wdGlvbnM9TW9ja09wdGlvbnModGVzdF9saXN0PVsn
ZmFzdC90ZXN0LXN0YXJzaGlwL2xhc2Vycy5odG1sJ10sIGh0dHA9VHJ1ZSksIHByaW50ZXI9TW9j
aygpKQorICAgICAgICAgICAgbWFuYWdlciA9IE1hbmFnZXIocG9ydCwgb3B0aW9ucz1Nb2NrT3B0
aW9ucyh0ZXN0X2xpc3Q9WydmYXN0L2lwYWQvbGFzZXJzLmh0bWwnXSwgaHR0cD1UcnVlKSwgcHJp
bnRlcj1Nb2NrKCkpCiAgICAgICAgICAgICByZXR1cm4gbWFuYWdlcgogCiAgICAgICAgIG1hbmFn
ZXIgPSBnZXRfbWFuYWdlcigpCi0gICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShtYW5hZ2VyLl9jdXN0
b21fZGV2aWNlX2Zvcl90ZXN0KCdmYXN0L3Rlc3Qtc3RhcnNoaXAvbGFzZXJzLmh0bWwnKSA9PSAn
c3RhcnNoaXAnKQorICAgICAgICBzZWxmLmFzc2VydFRydWUobWFuYWdlci5fY3VzdG9tX2Rldmlj
ZV9mb3JfdGVzdCgnZmFzdC9pcGFkL2xhc2Vycy5odG1sJykgPT0gRGV2aWNlVHlwZShoYXJkd2Fy
ZV9mYW1pbHk9J2lQYWQnKSkKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvbGF5b3V0X3Rl
c3RzL3ZpZXdzL3ByaW50aW5nLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0
cHkvbGF5b3V0X3Rlc3RzL3ZpZXdzL3ByaW50aW5nLnB5CShyZXZpc2lvbiAyMzg3NDEpCisrKyBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L2xheW91dF90ZXN0cy92aWV3cy9wcmludGluZy5weQkod29y
a2luZyBjb3B5KQpAQCAtMTEzLDEyICsxMTMsMTEgQEAgY2xhc3MgUHJpbnRlcihvYmplY3QpOgog
ICAgIGRlZiBwcmludF93b3JrZXJzX2FuZF9zaGFyZHMoc2VsZiwgbnVtX3dvcmtlcnMsIG51bV9z
aGFyZHMpOgogICAgICAgICBkcml2ZXJfbmFtZSA9IHNlbGYuX3BvcnQuZHJpdmVyX25hbWUoKQog
Ci0gICAgICAgIGRldmljZV9zdWZmaXggPSAnIGZvciBkZXZpY2UgInt9IicuZm9ybWF0KHNlbGYu
X29wdGlvbnMuZGV2aWNlX2NsYXNzKSBpZiBzZWxmLl9vcHRpb25zLmRldmljZV9jbGFzcyBlbHNl
ICcnCiAgICAgICAgIGlmIG51bV93b3JrZXJzID09IDE6Ci0gICAgICAgICAgICBzZWxmLl9wcmlu
dF9kZWZhdWx0KCdSdW5uaW5nIDEge317fS4nLmZvcm1hdChkcml2ZXJfbmFtZSwgZGV2aWNlX3N1
ZmZpeCkpCisgICAgICAgICAgICBzZWxmLl9wcmludF9kZWZhdWx0KCdSdW5uaW5nIDEge30uJy5m
b3JtYXQoZHJpdmVyX25hbWUpKQogICAgICAgICAgICAgc2VsZi5fcHJpbnRfZGVidWcoJyh7fSku
Jy5mb3JtYXQoZ3JhbW1hci5wbHVyYWxpemUobnVtX3NoYXJkcywgInNoYXJkIikpKQogICAgICAg
ICBlbHNlOgotICAgICAgICAgICAgc2VsZi5fcHJpbnRfZGVmYXVsdCgnUnVubmluZyB7fSBpbiBw
YXJhbGxlbHt9LicuZm9ybWF0KGdyYW1tYXIucGx1cmFsaXplKG51bV93b3JrZXJzLCBkcml2ZXJf
bmFtZSksIGRldmljZV9zdWZmaXgpKQorICAgICAgICAgICAgc2VsZi5fcHJpbnRfZGVmYXVsdCgn
UnVubmluZyB7fSBpbiBwYXJhbGxlbC4nLmZvcm1hdChncmFtbWFyLnBsdXJhbGl6ZShudW1fd29y
a2VycywgZHJpdmVyX25hbWUpKSkKICAgICAgICAgICAgIHNlbGYuX3ByaW50X2RlYnVnKCcoe30g
c2hhcmRzKS4nLmZvcm1hdChudW1fc2hhcmRzKSkKICAgICAgICAgc2VsZi5fcHJpbnRfZGVmYXVs
dCgnJykKIApJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2FwcGxlLnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9hcHBsZS5weQkocmV2aXNpb24g
MjM4NzQxKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2FwcGxlLnB5CSh3b3JraW5n
IGNvcHkpCkBAIC04NCw3ICs4NCw3IEBAIGNsYXNzIEFwcGxlUG9ydChQb3J0KToKICAgICAgICAg
cG9ydF9uYW1lID0gcG9ydF9uYW1lLnJlcGxhY2UoJy13azInLCAnJykKICAgICAgICAgc2VsZi5f
dmVyc2lvbiA9IHNlbGYuX3N0cmlwX3BvcnRfbmFtZV9wcmVmaXgocG9ydF9uYW1lKQogCi0gICAg
ZGVmIHNldHVwX3Rlc3RfcnVuKHNlbGYsIGRldmljZV9jbGFzcz1Ob25lKToKKyAgICBkZWYgc2V0
dXBfdGVzdF9ydW4oc2VsZiwgZGV2aWNlX3R5cGU9Tm9uZSk6CiAgICAgICAgIHNlbGYuX2NyYXNo
X2xvZ3NfdG9fc2tpcF9mb3JfaG9zdFtzZWxmLmhvc3RdID0gc2VsZi5ob3N0LmZpbGVzeXN0ZW0u
ZmlsZXNfdW5kZXIoc2VsZi5wYXRoX3RvX2NyYXNoX2xvZ3MoKSkKIAogICAgIGRlZiBkZWZhdWx0
X3RpbWVvdXRfbXMoc2VsZik6CkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFz
ZS5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvYmFzZS5weQko
cmV2aXNpb24gMjM4NzQxKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2Jhc2UucHkJ
KHdvcmtpbmcgY29weSkKQEAgLTgxLDcgKzgxLDcgQEAgY2xhc3MgUG9ydChvYmplY3QpOgogCiAg
ICAgREVGQVVMVF9BUkNISVRFQ1RVUkUgPSAneDg2JwogCi0gICAgQ1VTVE9NX0RFVklDRV9DTEFT
U0VTID0gW10KKyAgICBDVVNUT01fREVWSUNFX1RZUEVTID0gW10KIAogICAgIEBjbGFzc21ldGhv
ZAogICAgIGRlZiBkZXRlcm1pbmVfZnVsbF9wb3J0X25hbWUoY2xzLCBob3N0LCBvcHRpb25zLCBw
b3J0X25hbWUpOgpAQCAtODc5LDcgKzg3OSw3IEBAIGNsYXNzIFBvcnQob2JqZWN0KToKICAgICBk
ZWYgd3B0X21hbmlmZXN0X2ZpbGUoc2VsZik6CiAgICAgICAgIHJldHVybiBzZWxmLl9idWlsZF9w
YXRoKCd3ZWItcGxhdGZvcm0tdGVzdHMtbWFuaWZlc3QuanNvbicpCiAKLSAgICBkZWYgc2V0dXBf
dGVzdF9ydW4oc2VsZiwgZGV2aWNlX2NsYXNzPU5vbmUpOgorICAgIGRlZiBzZXR1cF90ZXN0X3J1
bihzZWxmLCBkZXZpY2VfdHlwZT1Ob25lKToKICAgICAgICAgIiIiUGVyZm9ybSBwb3J0LXNwZWNp
ZmljIHdvcmsgYXQgdGhlIGJlZ2lubmluZyBvZiBhIHRlc3QgcnVuLiIiIgogICAgICAgICBwYXNz
CiAKSW5kZXg6IFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9kZXZpY2VfcG9ydC5weQo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZGV2aWNlX3BvcnQucHkJKHJl
dmlzaW9uIDIzODc0MSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9kZXZpY2VfcG9y
dC5weQkod29ya2luZyBjb3B5KQpAQCAtMzcsNyArMzcsNyBAQCBfbG9nID0gbG9nZ2luZy5nZXRM
b2dnZXIoX19uYW1lX18pCiBjbGFzcyBEZXZpY2VQb3J0KERhcndpblBvcnQpOgogCiAgICAgREVW
SUNFX01BTkFHRVIgPSBOb25lCi0gICAgREVGQVVMVF9ERVZJQ0VfQ0xBU1MgPSBOb25lCisgICAg
REVGQVVMVF9ERVZJQ0VfVFlQRSA9IE5vbmUKICAgICBOT19ERVZJQ0VfTUFOQUdFUiA9ICdObyBk
ZXZpY2UgbWFuYWdlciBmb3VuZCBmb3IgcG9ydCcKIAogICAgIGRlZiBfX2luaXRfXyhzZWxmLCAq
YXJncywgKiprd2FyZ3MpOgpAQCAtODcsOSArODcsNiBAQCBjbGFzcyBEZXZpY2VQb3J0KERhcndp
blBvcnQpOgogICAgICAgICAgICAgcmV0dXJuIFtdCiAgICAgICAgIHJldHVybiBzZWxmLkRFVklD
RV9NQU5BR0VSLklOSVRJQUxJWkVEX0RFVklDRVMKIAotICAgIGRlZiBfY3JlYXRlX2RldmljZXMo
c2VsZiwgZGV2aWNlX2NsYXNzKToKLSAgICAgICAgcmFpc2UgTm90SW1wbGVtZW50ZWRFcnJvcgot
CiAgICAgIyBEZXNwaXRlIHRoZWlyIG5hbWVzLCB0aGVzZSBmbGFncyBkbyBub3QgYWN0dWFsbHkg
Z2V0IHBhc3NlZCBhbGwgdGhlIHdheSBkb3duIHRvIHdlYmtpdC1idWlsZC4KICAgICBkZWYgX2J1
aWxkX2RyaXZlcl9mbGFncyhzZWxmKToKICAgICAgICAgcmV0dXJuIFsnLS1zZGsnLCBzZWxmLlNE
S10gKyAoWydBUkNIUz0lcycgJSBzZWxmLmFyY2hpdGVjdHVyZSgpXSBpZiBzZWxmLmFyY2hpdGVj
dHVyZSgpIGVsc2UgW10pCkBAIC0xMDksMTEgKzEwNiwxNyBAQCBjbGFzcyBEZXZpY2VQb3J0KERh
cndpblBvcnQpOgogICAgICAgICAgICAgaWYgbm90IGRldmljZS5pbnN0YWxsX2R5bGlicyhzZWxm
Ll9idWlsZF9wYXRoKCkpOgogICAgICAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcignRmFp
bGVkIHRvIGluc3RhbGwgZHlsaWJzIGF0IHt9IG9uIGRldmljZSB7fScuZm9ybWF0KHNlbGYuX2J1
aWxkX3BhdGgoKSwgZGV2aWNlLnVkaWQpKQogCi0gICAgZGVmIHNldHVwX3Rlc3RfcnVuKHNlbGYs
IGRldmljZV9jbGFzcz1Ob25lKToKKyAgICBkZWYgc2V0dXBfdGVzdF9ydW4oc2VsZiwgZGV2aWNl
X3R5cGU9Tm9uZSk6CiAgICAgICAgIGlmIG5vdCBzZWxmLkRFVklDRV9NQU5BR0VSOgogICAgICAg
ICAgICAgcmFpc2UgUnVudGltZUVycm9yKHNlbGYuTk9fREVWSUNFX01BTkFHRVIpCiAKLSAgICAg
ICAgZGV2aWNlX3R5cGUgPSBEZXZpY2VUeXBlLmZyb21fc3RyaW5nKGRldmljZV9jbGFzcyBpZiBk
ZXZpY2VfY2xhc3MgZWxzZSBzZWxmLkRFRkFVTFRfREVWSUNFX0NMQVNTLCBzZWxmLmRldmljZV92
ZXJzaW9uKCkpCisgICAgICAgIGRldmljZV90eXBlID0gZGV2aWNlX3R5cGUgaWYgZGV2aWNlX3R5
cGUgZWxzZSBzZWxmLkRFRkFVTFRfREVWSUNFX1RZUEUKKyAgICAgICAgZGV2aWNlX3R5cGUgPSBE
ZXZpY2VUeXBlKAorICAgICAgICAgICAgaGFyZHdhcmVfZmFtaWx5PWRldmljZV90eXBlLmhhcmR3
YXJlX2ZhbWlseSwKKyAgICAgICAgICAgIGhhcmR3YXJlX3R5cGU9ZGV2aWNlX3R5cGUuaGFyZHdh
cmVfdHlwZSwKKyAgICAgICAgICAgIHNvZnR3YXJlX3ZlcnNpb249c2VsZi5kZXZpY2VfdmVyc2lv
bigpLAorICAgICAgICAgICAgc29mdHdhcmVfdmFyaWFudD1kZXZpY2VfdHlwZS5zb2Z0d2FyZV92
YXJpYW50LAorICAgICAgICApCiAgICAgICAgIF9sb2cuZGVidWcoJ1xuQ3JlYXRpbmcgZGV2aWNl
cyBmb3Ige30nLmZvcm1hdChkZXZpY2VfdHlwZSkpCiAKICAgICAgICAgcmVxdWVzdCA9IERldmlj
ZVJlcXVlc3QoCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvZ3RrLnB5Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkJKHJldmlzaW9uIDIz
ODc0MSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC9ndGsucHkJKHdvcmtpbmcgY29w
eSkKQEAgLTEwMyw4ICsxMDMsOCBAQCBjbGFzcyBHdGtQb3J0KFBvcnQpOgogICAgICAgICAgICAg
cmV0dXJuIHNlbGYuZGVmYXVsdF90aW1lb3V0X21zKCkKICAgICAgICAgcmV0dXJuIHN1cGVyKEd0
a1BvcnQsIHNlbGYpLmRyaXZlcl9zdG9wX3RpbWVvdXQoKQogCi0gICAgZGVmIHNldHVwX3Rlc3Rf
cnVuKHNlbGYsIGRldmljZV9jbGFzcz1Ob25lKToKLSAgICAgICAgc3VwZXIoR3RrUG9ydCwgc2Vs
Zikuc2V0dXBfdGVzdF9ydW4oZGV2aWNlX2NsYXNzKQorICAgIGRlZiBzZXR1cF90ZXN0X3J1bihz
ZWxmLCBkZXZpY2VfdHlwZT1Ob25lKToKKyAgICAgICAgc3VwZXIoR3RrUG9ydCwgc2VsZikuc2V0
dXBfdGVzdF9ydW4oZGV2aWNlX3R5cGUpCiAgICAgICAgIHNlbGYuX3B1bHNlYXVkaW9fc2FuaXRp
emVyLnVubG9hZF9wdWxzZWF1ZGlvX21vZHVsZSgpCiAKICAgICAgICAgaWYgc2VsZi5nZXRfb3B0
aW9uKCJsZWFrcyIpOgpJbmRleDogVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvcy5weQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zLnB5CShyZXZpc2lv
biAyMzg3NDEpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zLnB5CSh3b3JraW5n
IGNvcHkpCkBAIC0zMCw2ICszMCw3IEBAIGZyb20gd2Via2l0cHkubGF5b3V0X3Rlc3RzLm1vZGVs
cy50ZXN0X2MKIGZyb20gd2Via2l0cHkucG9ydC5jb25maWcgaW1wb3J0IGFwcGxlX2FkZGl0aW9u
cwogZnJvbSB3ZWJraXRweS5wb3J0LmRldmljZV9wb3J0IGltcG9ydCBEZXZpY2VQb3J0CiBmcm9t
IHdlYmtpdHB5LnBvcnQuc2ltdWxhdG9yX3Byb2Nlc3MgaW1wb3J0IFNpbXVsYXRvclByb2Nlc3MK
K2Zyb20gd2Via2l0cHkueGNvZGUuZGV2aWNlX3R5cGUgaW1wb3J0IERldmljZVR5cGUKIAogX2xv
ZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQogCkBAIC0zOSw3ICs0MCw3IEBAIGNsYXNz
IElPU1BvcnQoRGV2aWNlUG9ydCk6CiAKICAgICBDVVJSRU5UX1ZFUlNJT04gPSBWZXJzaW9uKDEy
KQogICAgICMgRklYTUU6IFRoaXMgaXMgbm90IGEgY2xlYXIgd2F5IHRvIGRvIHRoaXMgKGFsdGhv
dWdoIGl0IHdvcmtzKSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTky
MTYwCi0gICAgREVGQVVMVF9ERVZJQ0VfQ0xBU1MgPSAnJworICAgIERFRkFVTFRfREVWSUNFX1RZ
UEUgPSBEZXZpY2VUeXBlKHNvZnR3YXJlX3ZhcmlhbnQ9J2lPUycpCiAKICAgICBkZWYgX19pbml0
X18oc2VsZiwgaG9zdCwgcG9ydF9uYW1lLCAqKmt3YXJncyk6CiAgICAgICAgIHN1cGVyKElPU1Bv
cnQsIHNlbGYpLl9faW5pdF9fKGhvc3QsIHBvcnRfbmFtZSwgKiprd2FyZ3MpCkluZGV4OiBUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zX3NpbXVsYXRvci5weQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBU
b29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvaW9zX3NpbXVsYXRvci5weQkocmV2aXNpb24gMjM4
NzQxKQorKysgVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L2lvc19zaW11bGF0b3IucHkJKHdv
cmtpbmcgY29weSkKQEAgLTQyLDE3ICs0MiwxMCBAQCBjbGFzcyBJT1NTaW11bGF0b3JQb3J0KElP
U1BvcnQpOgogCiAgICAgREVWSUNFX01BTkFHRVIgPSBTaW11bGF0ZWREZXZpY2VNYW5hZ2VyCiAK
LSAgICBERUZBVUxUX0RFVklDRV9DTEFTUyA9ICdpUGhvbmUgU0UnCi0gICAgQ1VTVE9NX0RFVklD
RV9DTEFTU0VTID0gWydpUGFkJywgJ2lQaG9uZSA3J10KKyAgICBERUZBVUxUX0RFVklDRV9UWVBF
ID0gRGV2aWNlVHlwZShoYXJkd2FyZV9mYW1pbHk9J2lQaG9uZScsIGhhcmR3YXJlX3R5cGU9J1NF
JykKKyAgICBDVVNUT01fREVWSUNFX1RZUEVTID0gW0RldmljZVR5cGUoaGFyZHdhcmVfZmFtaWx5
PSdpUGFkJyksIERldmljZVR5cGUoaGFyZHdhcmVfZmFtaWx5PSdpUGhvbmUnLCBoYXJkd2FyZV90
eXBlPSc3JyldCiAgICAgU0RLID0gYXBwbGVfYWRkaXRpb25zKCkuZ2V0X3NkaygnaXBob25lc2lt
dWxhdG9yJykgaWYgYXBwbGVfYWRkaXRpb25zKCkgZWxzZSAnaXBob25lc2ltdWxhdG9yJwogCi0g
ICAgZGVmIF9faW5pdF9fKHNlbGYsIGhvc3QsIHBvcnRfbmFtZSwgKiprd2FyZ3MpOgotICAgICAg
ICBzdXBlcihJT1NTaW11bGF0b3JQb3J0LCBzZWxmKS5fX2luaXRfXyhob3N0LCBwb3J0X25hbWUs
ICoqa3dhcmdzKQotCi0gICAgICAgIG9wdGlvbmFsX2RldmljZV9jbGFzcyA9IHNlbGYuZ2V0X29w
dGlvbignZGV2aWNlX2NsYXNzJykKLSAgICAgICAgc2VsZi5fZGV2aWNlX2NsYXNzID0gb3B0aW9u
YWxfZGV2aWNlX2NsYXNzIGlmIG9wdGlvbmFsX2RldmljZV9jbGFzcyBlbHNlIHNlbGYuREVGQVVM
VF9ERVZJQ0VfQ0xBU1MKLSAgICAgICAgX2xvZy5kZWJ1ZygnSU9TU2ltdWxhdG9yUG9ydCBfZGV2
aWNlX2NsYXNzIGlzICVzJywgc2VsZi5fZGV2aWNlX2NsYXNzKQotCiAgICAgQHN0YXRpY21ldGhv
ZAogICAgIGRlZiBfdmVyc2lvbl9mcm9tX25hbWUobmFtZSk6CiAgICAgICAgIGlmIGxlbihuYW1l
LnNwbGl0KCctJykpID4gMiBhbmQgbmFtZS5zcGxpdCgnLScpWzJdLmlzZGlnaXQoKToKQEAgLTc4
LDkgKzcxLDYgQEAgY2xhc3MgSU9TU2ltdWxhdG9yUG9ydChJT1NQb3J0KToKICAgICAgICAgICAg
ICAgICByZXR1cm4gbnVtX2Jvb3RlZF9zaW1zCiAgICAgICAgIHJldHVybiBTaW11bGF0ZWREZXZp
Y2VNYW5hZ2VyLm1heF9zdXBwb3J0ZWRfc2ltdWxhdG9ycyhzZWxmLmhvc3QpCiAKLSAgICBkZWYg
X3NldF9kZXZpY2VfY2xhc3Moc2VsZiwgZGV2aWNlX2NsYXNzKToKLSAgICAgICAgc2VsZi5fZGV2
aWNlX2NsYXNzID0gZGV2aWNlX2NsYXNzIGlmIGRldmljZV9jbGFzcyBlbHNlIHNlbGYuREVGQVVM
VF9ERVZJQ0VfQ0xBU1MKLQogICAgIGRlZiBjbGVhbl91cF90ZXN0X3J1bihzZWxmKToKICAgICAg
ICAgc3VwZXIoSU9TU2ltdWxhdG9yUG9ydCwgc2VsZikuY2xlYW5fdXBfdGVzdF9ydW4oKQogICAg
ICAgICBfbG9nLmRlYnVnKCJjbGVhbl91cF90ZXN0X3J1biIpCkluZGV4OiBUb29scy9TY3JpcHRz
L3dlYmtpdHB5L3BvcnQvdGVzdC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9TY3JpcHRzL3dlYmtp
dHB5L3BvcnQvdGVzdC5weQkocmV2aXNpb24gMjM4NzQxKQorKysgVG9vbHMvU2NyaXB0cy93ZWJr
aXRweS9wb3J0L3Rlc3QucHkJKHdvcmtpbmcgY29weSkKQEAgLTQ2Nyw3ICs0NjcsNyBAQCBjbGFz
cyBUZXN0UG9ydChQb3J0KToKICAgICBkZWYgZGVmYXVsdF9yZXN1bHRzX2RpcmVjdG9yeShzZWxm
KToKICAgICAgICAgcmV0dXJuICcvdG1wL2xheW91dC10ZXN0LXJlc3VsdHMnCiAKLSAgICBkZWYg
c2V0dXBfdGVzdF9ydW4oc2VsZiwgZGV2aWNlX2NsYXNzPU5vbmUpOgorICAgIGRlZiBzZXR1cF90
ZXN0X3J1bihzZWxmLCBkZXZpY2VfdHlwZT1Ob25lKToKICAgICAgICAgcGFzcwogCiAgICAgZGVm
IF9kcml2ZXJfY2xhc3Moc2VsZik6CkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQv
d2F0Y2gucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS9wb3J0L3dhdGNo
LnB5CShyZXZpc2lvbiAyMzg3NDEpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2F0
Y2gucHkJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAgZnJvbSB3ZWJraXRweS5jb21t
b24udmVyc2lvbiBpbXBvcnQgVmVycwogZnJvbSB3ZWJraXRweS5jb21tb24udmVyc2lvbl9uYW1l
X21hcCBpbXBvcnQgVmVyc2lvbk5hbWVNYXAsIElOVEVSTkFMX1RBQkxFCiBmcm9tIHdlYmtpdHB5
LnBvcnQuY29uZmlnIGltcG9ydCBhcHBsZV9hZGRpdGlvbnMKIGZyb20gd2Via2l0cHkucG9ydC5k
ZXZpY2VfcG9ydCBpbXBvcnQgRGV2aWNlUG9ydAorZnJvbSB3ZWJraXRweS54Y29kZS5kZXZpY2Vf
dHlwZSBpbXBvcnQgRGV2aWNlVHlwZQogCiAKIF9sb2cgPSBsb2dnaW5nLmdldExvZ2dlcihfX25h
bWVfXykKQEAgLTM2LDcgKzM3LDcgQEAgY2xhc3MgV2F0Y2hQb3J0KERldmljZVBvcnQpOgogICAg
IHBvcnRfbmFtZSA9ICd3YXRjaG9zJwogCiAgICAgQ1VSUkVOVF9WRVJTSU9OID0gVmVyc2lvbig1
KQotICAgIERFRkFVTFRfREVWSUNFX0NMQVNTID0gJ0FwcGxlIFdhdGNoJworICAgIERFRkFVTFRf
REVWSUNFX1RZUEUgPSBEZXZpY2VUeXBlKHNvZnR3YXJlX3ZhcmlhbnQ9J3dhdGNoT1MnKQogCiAg
ICAgZGVmIF9faW5pdF9fKHNlbGYsICphcmdzLCAqKmt3YXJncyk6CiAgICAgICAgIHN1cGVyKFdh
dGNoUG9ydCwgc2VsZikuX19pbml0X18oKmFyZ3MsICoqa3dhcmdzKQpJbmRleDogVG9vbHMvU2Ny
aXB0cy93ZWJraXRweS9wb3J0L3dhdGNoX3NpbXVsYXRvci5weQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29s
cy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2F0Y2hfc2ltdWxhdG9yLnB5CShyZXZpc2lvbiAyMzg3
NDEpCisrKyBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3BvcnQvd2F0Y2hfc2ltdWxhdG9yLnB5CSh3
b3JraW5nIGNvcHkpCkBAIC00MCwxNiArNDAsOSBAQCBjbGFzcyBXYXRjaFNpbXVsYXRvclBvcnQo
V2F0Y2hQb3J0KToKIAogICAgIERFVklDRV9NQU5BR0VSID0gU2ltdWxhdGVkRGV2aWNlTWFuYWdl
cgogCi0gICAgREVGQVVMVF9ERVZJQ0VfQ0xBU1MgPSAnQXBwbGUgV2F0Y2ggU2VyaWVzIDMgLSA0
Mm1tJwotICAgIENVU1RPTV9ERVZJQ0VfQ0xBU1NFUyA9IFtdCisgICAgREVGQVVMVF9ERVZJQ0Vf
VFlQRSA9IERldmljZVR5cGUoaGFyZHdhcmVfZmFtaWx5PSdBcHBsZSBXYXRjaCcsIGhhcmR3YXJl
X3R5cGU9J1NlcmllcyAzIC0gNDJtbScpCiAgICAgU0RLID0gYXBwbGVfYWRkaXRpb25zKCkuZ2V0
X3Nkaygnd2F0Y2hzaW11bGF0b3InKSBpZiBhcHBsZV9hZGRpdGlvbnMoKSBlbHNlICd3YXRjaHNp
bXVsYXRvcicKIAotICAgIGRlZiBfX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgotICAg
ICAgICBzdXBlcihXYXRjaFNpbXVsYXRvclBvcnQsIHNlbGYpLl9faW5pdF9fKCphcmdzLCAqKmt3
YXJncykKLQotICAgICAgICBzZWxmLl9zZXRfZGV2aWNlX2NsYXNzKHNlbGYuZ2V0X29wdGlvbign
ZGV2aWNlX2NsYXNzJykpCi0gICAgICAgIF9sb2cuZGVidWcoJ1dhdGNoU2ltdWxhdG9yUG9ydCBf
ZGV2aWNlX2NsYXNzIGlzICVzJywgc2VsZi5fZGV2aWNlX2NsYXNzKQotCiAgICAgZGVmIGFyY2hp
dGVjdHVyZShzZWxmKToKICAgICAgICAgcmV0dXJuIHNlbGYuREVGQVVMVF9BUkNISVRFQ1RVUkUK
IApAQCAtOTEsOSArODQsNiBAQCBjbGFzcyBXYXRjaFNpbXVsYXRvclBvcnQoV2F0Y2hQb3J0KToK
ICAgICAgICAgICAgICAgICByZXR1cm4gbnVtX2Jvb3RlZF9zaW1zCiAgICAgICAgIHJldHVybiBT
aW11bGF0ZWREZXZpY2VNYW5hZ2VyLm1heF9zdXBwb3J0ZWRfc2ltdWxhdG9ycyhzZWxmLmhvc3Qp
CiAKLSAgICBkZWYgX3NldF9kZXZpY2VfY2xhc3Moc2VsZiwgZGV2aWNlX2NsYXNzKToKLSAgICAg
ICAgc2VsZi5fZGV2aWNlX2NsYXNzID0gZGV2aWNlX2NsYXNzIG9yIHNlbGYuREVGQVVMVF9ERVZJ
Q0VfQ0xBU1MKLQogICAgIGRlZiBvcGVyYXRpbmdfc3lzdGVtKHNlbGYpOgogICAgICAgICByZXR1
cm4gJ3dhdGNob3Mtc2ltdWxhdG9yJwogCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3Bv
cnQvd2luLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4u
cHkJKHJldmlzaW9uIDIzODc0MSkKKysrIFRvb2xzL1NjcmlwdHMvd2Via2l0cHkvcG9ydC93aW4u
cHkJKHdvcmtpbmcgY29weSkKQEAgLTM5NSwxMyArMzk1LDEzIEBAIGNsYXNzIFdpblBvcnQoQXBw
bGVQb3J0KToKICAgICAgICAgZXhjZXB0OgogICAgICAgICAgICAgX2xvZy53YXJuKCJGYWlsZWQg
dG8gZGVsZXRlIHByZWZlcmVuY2UgZmlsZXMuIikKIAotICAgIGRlZiBzZXR1cF90ZXN0X3J1bihz
ZWxmLCBkZXZpY2VfY2xhc3M9Tm9uZSk6CisgICAgZGVmIHNldHVwX3Rlc3RfcnVuKHNlbGYsIGRl
dmljZV90eXBlPU5vbmUpOgogICAgICAgICBhdGV4aXQucmVnaXN0ZXIoc2VsZi5yZXN0b3JlX2Ny
YXNoX2xvZ19zYXZpbmcpCiAgICAgICAgIHNlbGYuc2V0dXBfY3Jhc2hfbG9nX3NhdmluZygpCiAg
ICAgICAgIHNlbGYucHJldmVudF9lcnJvcl9kaWFsb2dzKCkKICAgICAgICAgc2VsZi5kZWxldGVf
c2VtX2xvY2tzKCkKICAgICAgICAgc2VsZi5kZWxldGVfcHJlZmVyZW5jZV9maWxlcygpCi0gICAg
ICAgIHN1cGVyKFdpblBvcnQsIHNlbGYpLnNldHVwX3Rlc3RfcnVuKGRldmljZV9jbGFzcykKKyAg
ICAgICAgc3VwZXIoV2luUG9ydCwgc2VsZikuc2V0dXBfdGVzdF9ydW4oZGV2aWNlX3R5cGUpCiAK
ICAgICBkZWYgY2xlYW5fdXBfdGVzdF9ydW4oc2VsZik6CiAgICAgICAgIHNlbGYuYWxsb3dfZXJy
b3JfZGlhbG9ncygpCkluZGV4OiBUb29scy9TY3JpcHRzL3dlYmtpdHB5L3hjb2RlL3NpbXVsYXRl
ZF9kZXZpY2UucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvU2NyaXB0cy93ZWJraXRweS94Y29kZS9z
aW11bGF0ZWRfZGV2aWNlLnB5CShyZXZpc2lvbiAyMzg3NDEpCisrKyBUb29scy9TY3JpcHRzL3dl
YmtpdHB5L3hjb2RlL3NpbXVsYXRlZF9kZXZpY2UucHkJKHdvcmtpbmcgY29weSkKQEAgLTIxNyw5
ICsyMTcsMTAgQEAgY2xhc3MgU2ltdWxhdGVkRGV2aWNlTWFuYWdlcihvYmplY3QpOgogCiAgICAg
ICAgIGlmIGZ1bGxfZGV2aWNlX3R5cGUuaGFyZHdhcmVfdHlwZSBpcyBOb25lOgogICAgICAgICAg
ICAgIyBBZ2Fpbiwgd2UgdXNlIHRoZSBleGlzdGluZyBkZXZpY2VzIHRvIGRldGVybWluZSBhIGxl
Z2FsIGhhcmR3YXJlIHR5cGUKLSAgICAgICAgICAgIGZvciBkZXZpY2UgaW4gU2ltdWxhdGVkRGV2
aWNlTWFuYWdlci5BVkFJTEFCTEVfREVWSUNFUzoKLSAgICAgICAgICAgICAgICBpZiBkZXZpY2Uu
cGxhdGZvcm1fZGV2aWNlLmRldmljZV90eXBlID09IGZ1bGxfZGV2aWNlX3R5cGU6Ci0gICAgICAg
ICAgICAgICAgICAgIGZ1bGxfZGV2aWNlX3R5cGUuaGFyZHdhcmVfdHlwZSA9IGRldmljZS5wbGF0
Zm9ybV9kZXZpY2UuZGV2aWNlX3R5cGUuaGFyZHdhcmVfdHlwZQorICAgICAgICAgICAgZm9yIG5h
bWUgaW4gU2ltdWxhdGVkRGV2aWNlTWFuYWdlci5fZGV2aWNlX2lkZW50aWZpZXJfdG9fbmFtZS5p
dGVydmFsdWVzKCk6CisgICAgICAgICAgICAgICAgdHlwZV9mcm9tX25hbWUgPSBEZXZpY2VUeXBl
LmZyb21fc3RyaW5nKG5hbWUpCisgICAgICAgICAgICAgICAgaWYgdHlwZV9mcm9tX25hbWUgPT0g
ZnVsbF9kZXZpY2VfdHlwZToKKyAgICAgICAgICAgICAgICAgICAgZnVsbF9kZXZpY2VfdHlwZS5o
YXJkd2FyZV90eXBlID0gdHlwZV9mcm9tX25hbWUuaGFyZHdhcmVfdHlwZQogICAgICAgICAgICAg
ICAgICAgICBicmVhawogCiAgICAgICAgIGZ1bGxfZGV2aWNlX3R5cGUuY2hlY2tfY29uc2lzdGVu
Y3koKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>