<?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>112841</bug_id>
          
          <creation_ts>2013-03-20 13:55:29 -0700</creation_ts>
          <short_desc>Extend pointer/hover media features to support mouse and none</short_desc>
          <delta_ts>2022-09-30 11:08:45 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>REOPENED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Bokan">bokan</reporter>
          <assigned_to name="David Bokan">bokan</assigned_to>
          <cc>abarth</cc>
    
    <cc>ahmad.saleem792</cc>
    
    <cc>ap</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>jer.noble</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rbyers</cc>
    
    <cc>tdanderson</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>859693</commentid>
    <comment_count>0</comment_count>
    <who name="David Bokan">bokan</who>
    <bug_when>2013-03-20 13:55:29 -0700</bug_when>
    <thetext>https://bugs.webkit.org/show_bug.cgi?id=87806

Extension of previous work from above bug. Replacing deviceSupportsMouse/Touch with a primaryPointer setting to support pointer/hover media queries.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859700</commentid>
    <comment_count>1</comment_count>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2013-03-20 14:00:33 -0700</bug_when>
    <thetext>Already filed in bug 87806

*** This bug has been marked as a duplicate of bug 87806 ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859707</commentid>
    <comment_count>2</comment_count>
    <who name="David Bokan">bokan</who>
    <bug_when>2013-03-20 14:06:23 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859708</commentid>
    <comment_count>3</comment_count>
      <attachid>194117</attachid>
    <who name="David Bokan">bokan</who>
    <bug_when>2013-03-20 14:06:25 -0700</bug_when>
    <thetext>Created attachment 194117
work in progress, not for review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859713</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-03-20 14:10:40 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859734</commentid>
    <comment_count>5</comment_count>
      <attachid>194117</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2013-03-20 14:23:02 -0700</bug_when>
    <thetext>Comment on attachment 194117
work in progress, not for review

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

Looks really good David!  Just a few minor comments.

&gt; Source/WebKit/chromium/ChangeLog:3
&gt; +        Extend pointer/hover media features to support mouse and none

I&apos;d suggest using a different description here.  There&apos;s nothing in this part of the tree specific to the media queries.  Instead say that you&apos;re adding an API to pass the browser&apos;s least-capable primary pointer device.

&gt; Source/WebCore/css/MediaQueryEvaluator.cpp:710
&gt; +    float number = 1.0f;

WebKit style says not to include the .0f. See http://www.webkit.org/coding/coding-style.html

&gt; Source/WebCore/page/Settings.in:197
&gt; +primaryPointerDevice type=PointerDevice, initial=PointerDeviceUnknown

I know it&apos;s long, but we should probably call this &apos;leastCapablePrimaryPointerDevice&apos; to make it clear that Mouse+Touch should report as Touch.

Alternately perhaps it would be cleaner to add one more value to the enum that indicates both Mouse and Touch are considered primary (and treat that the same as Touch everywhere).  I think I like this better - the notion of &apos;least capable&apos; is somewhat context dependent (eg. touch supports multiple contacts).

&gt; Source/WebKit/chromium/public/WebSettings.h:102
&gt; +    // DEPRECATED

Keeping the common on the same line and eliminating the extra whitespace would be cleaner IMHO.
Also we should probably file a webkit bug to track removing this and assign that to you, then you can change the comment to:
&quot;FIXME: remove this http://wkb.ug/1234&quot;

&gt; Source/WebKit/chromium/src/WebSettingsImpl.cpp:129
&gt; +// DEPRECATED

again (and in Settings.in as well) referencing a bug that tracks removing this is ideal</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859754</commentid>
    <comment_count>6</comment_count>
      <attachid>194117</attachid>
    <who name="Terry Anderson">tdanderson</who>
    <bug_when>2013-03-20 14:45:09 -0700</bug_when>
    <thetext>Comment on attachment 194117
work in progress, not for review

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

Congrats on uploading your first WebKit patch! I just have a few minor comments to add to what Rick said.

&gt; Source/WebCore/css/MediaQueryEvaluator.cpp:717
&gt; +        || (pointer == PointerDeviceTouch &amp;&amp; number == 0.0f)

WebKit style says to avoid using an equality comparison when checking for zero, so !number was right.

&gt; Source/WebCore/css/MediaQueryEvaluator.cpp:718
&gt; +        || (pointer == PointerDeviceMouse &amp;&amp; number == 1.0f);

Same comment Rick made, this should be just 1 and not 1.0f.

&gt; Source/WebCore/testing/InternalSettings.cpp:529
&gt; +        ec = SYNTAX_ERR;

Just checking: do we really want this else case? Does it make sense to set the primary pointer device to PointerDeviceUnknown when |pointerDevice| is not one of &quot;mouse&quot;, &quot;touch&quot;, or &quot;none&quot; ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859761</commentid>
    <comment_count>7</comment_count>
      <attachid>194117</attachid>
    <who name="David Bokan">bokan</who>
    <bug_when>2013-03-20 14:55:04 -0700</bug_when>
    <thetext>Comment on attachment 194117
work in progress, not for review

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

&gt;&gt; Source/WebKit/chromium/ChangeLog:3
&gt;&gt; +        Extend pointer/hover media features to support mouse and none
&gt; 
&gt; I&apos;d suggest using a different description here.  There&apos;s nothing in this part of the tree specific to the media queries.  Instead say that you&apos;re adding an API to pass the browser&apos;s least-capable primary pointer device.

Will-do

&gt;&gt; Source/WebCore/css/MediaQueryEvaluator.cpp:710
&gt;&gt; +    float number = 1.0f;
&gt; 
&gt; WebKit style says not to include the .0f. See http://www.webkit.org/coding/coding-style.html

Fixed

&gt;&gt; Source/WebCore/page/Settings.in:197
&gt;&gt; +primaryPointerDevice type=PointerDevice, initial=PointerDeviceUnknown
&gt; 
&gt; I know it&apos;s long, but we should probably call this &apos;leastCapablePrimaryPointerDevice&apos; to make it clear that Mouse+Touch should report as Touch.
&gt; 
&gt; Alternately perhaps it would be cleaner to add one more value to the enum that indicates both Mouse and Touch are considered primary (and treat that the same as Touch everywhere).  I think I like this better - the notion of &apos;least capable&apos; is somewhat context dependent (eg. touch supports multiple contacts).

I think calling it &quot;least capable&quot; would be a bit confusing since whatever is set isn&apos;t necessarily less capable than the alternative, it&apos;s more about what device is actually being used. I&apos;m fine with the alternative, I&apos;ve added a PointerDeviceMouseAndTouch option as well as a comment to hopefully clarify intention.

&gt;&gt; Source/WebKit/chromium/public/WebSettings.h:102
&gt;&gt; +    // DEPRECATED
&gt; 
&gt; Keeping the common on the same line and eliminating the extra whitespace would be cleaner IMHO.
&gt; Also we should probably file a webkit bug to track removing this and assign that to you, then you can change the comment to:
&gt; &quot;FIXME: remove this http://wkb.ug/1234&quot;

Bug added (http://wkb.ug/112847) and commend updated in all places</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>859767</commentid>
    <comment_count>8</comment_count>
      <attachid>194117</attachid>
    <who name="Rick Byers">rbyers</who>
    <bug_when>2013-03-20 15:03:15 -0700</bug_when>
    <thetext>Comment on attachment 194117
work in progress, not for review

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

&gt;&gt; Source/WebCore/testing/InternalSettings.cpp:529
&gt;&gt; +        ec = SYNTAX_ERR;
&gt; 
&gt; Just checking: do we really want this else case? Does it make sense to set the primary pointer device to PointerDeviceUnknown when |pointerDevice| is not one of &quot;mouse&quot;, &quot;touch&quot;, or &quot;none&quot; ?

I prefer the else personally.  It will help us catch bugs in the test like setPrimaryPointerDevice(&apos;Mouse&apos;).  Unknown is an explicit state (port doesn&apos;t tell us about it&apos;s pointers).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1902400</commentid>
    <comment_count>9</comment_count>
    <who name="Ahmad Saleem">ahmad.saleem792</who>
    <bug_when>2022-09-30 11:08:34 -0700</bug_when>
    <thetext>This patch seems to do changes in Chromium port and those linked files. Do we need to salavage this or we can close this? Thanks!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>194117</attachid>
            <date>2013-03-20 14:06:25 -0700</date>
            <delta_ts>2013-03-20 15:03:14 -0700</delta_ts>
            <desc>work in progress, not for review</desc>
            <filename>bug-112841-20130320170214.patch</filename>
            <type>text/plain</type>
            <size>23070</size>
            <attacher name="David Bokan">bokan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ2MzgwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDExY2I3ZWQ2MGQxOGYw
ZGU3MGRhMTEzOGMzMmY1NjdhNmU3ZGVjMC4uYTYzMmUyZjc0Y2RjZTc3NzUzM2Q3NDM5NzhjZWNl
ZWQ4MzcwZTQ3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAzLTIwICBEYXZp
ZCBCb2thbiAgPGJva2FuQGdvb2dsZS5jb20+CisKKyAgICAgICAgRXh0ZW5kIHBvaW50ZXIvaG92
ZXIgbWVkaWEgZmVhdHVyZXMgdG8gc3VwcG9ydCBtb3VzZSBhbmQgbm9uZQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyODQxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChPT1BTISku
CisKKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHA6CisgICAgICAgICogcGFn
ZS9TZXR0aW5ncy5oOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaW46CisgICAgICAgICogcGxh
dGZvcm0vY2hyb21pdW0vUG9wdXBMaXN0Qm94LmNwcDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9Qb3B1cExpc3RCb3guaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cE1l
bnVDaHJvbWl1bS5jcHA6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcDoK
KyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaDoKKyAgICAgICAgKiB0ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaWRsOgorCiAyMDEzLTAzLTIwICBFcmljIENhcmxzb24gIDxlcmlj
LmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIEFsbG93IHBvcnRzIHNwZWNpZmljIHRleHQg
dHJhY2sgbWVudQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBlMTA2MmQwOTllYWFjYzRl
MTA1Nzc1Yjk4NmY5NTQ3ZWFjZTNmZTc2Li5jYjYyNTgwMjZhZmZlYWIzMWZjNGU5MDIyMjZkN2Zj
N2Q5Y2RhMWMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisy
MDEzLTAzLTIwICBEYXZpZCBCb2thbiAgPGJva2FuQGdvb2dsZS5jb20+CisKKyAgICAgICAgRXh0
ZW5kIHBvaW50ZXIvaG92ZXIgbWVkaWEgZmVhdHVyZXMgdG8gc3VwcG9ydCBtb3VzZSBhbmQgbm9u
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyODQx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJs
aWMvV2ViU2V0dGluZ3MuaDoKKyAgICAgICAgKiBzcmMvV2ViUGFnZVBvcHVwSW1wbC5jcHA6Cisg
ICAgICAgICogc3JjL1dlYlNldHRpbmdzSW1wbC5jcHA6CisgICAgICAgICogc3JjL1dlYlNldHRp
bmdzSW1wbC5oOgorICAgICAgICAqIHNyYy9XZWJWaWV3SW1wbC5jcHA6CisKIDIwMTMtMDMtMjAg
IFl1ZmVuZyBTaGVuICA8bWlsZXR1c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmVtb3ZlIFBs
YXRmb3JtRXZlbnQ6Okdlc3R1cmVEb3VibGVUYXAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1
ZXJ5RXZhbHVhdG9yLmNwcAppbmRleCBjMmZjMGY2MTlmNzQ0ODQ0YWYzNTdkYjY4OTQyY2I4OWRk
MWRlNzcwLi43NjVkZDZjNjhhY2U3OWVmMTZkZDcxYjI3YWFhNGY0N2RmMjA0OGQwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCkBAIC02OTcsNjQgKzY5Nyw0
NyBAQCBzdGF0aWMgYm9vbCB2aWV3X21vZGVNZWRpYUZlYXR1cmVFdmFsKENTU1ZhbHVlKiB2YWx1
ZSwgUmVuZGVyU3R5bGUqLCBGcmFtZSogZnJhbQogfQogI2VuZGlmIC8vIEVOQUJMRShWSUVXX01P
REVfQ1NTX01FRElBKQogCi1lbnVtIFBvaW50ZXJEZXZpY2VUeXBlIHsgVG91Y2hQb2ludGVyLCBN
b3VzZVBvaW50ZXIsIE5vUG9pbnRlciwgVW5rbm93blBvaW50ZXIgfTsKLQotc3RhdGljIFBvaW50
ZXJEZXZpY2VUeXBlIGxlYXN0Q2FwYWJsZVByaW1hcnlQb2ludGVyRGV2aWNlVHlwZShGcmFtZSog
ZnJhbWUpCi17Ci0gICAgaWYgKGZyYW1lLT5zZXR0aW5ncygpLT5kZXZpY2VTdXBwb3J0c1RvdWNo
KCkpCi0gICAgICAgIHJldHVybiBUb3VjaFBvaW50ZXI7Ci0KLSAgICAvLyBGSVhNRTogV2Ugc2hv
dWxkIGFsc28gdHJ5IHRvIGRldGVybWluZSBpZiB3ZSBrbm93IHdlIGhhdmUgYSBtb3VzZS4KLSAg
ICAvLyBXaGVuIHdlIGRvIHRoaXMsIHdlJ2xsIGFsc28gbmVlZCB0byBkaWZmZXJlbnRpYXRlIGJl
dHdlZW4ga25vd24gbm90IHRvCi0gICAgLy8gaGF2ZSBtb3VzZSBvciB0b3VjaCBzY3JlZW4gKE5v
UG9pbnRlcikgYW5kIHVua25vd24gKFVua25vd25Qb2ludGVyKS4KLSAgICAvLyBXZSBjb3VsZCBh
bHNvIHRha2UgaW50byBhY2NvdW50IG90aGVyIHByZWZlcmVuY2VzIGxpa2UgYWNjZXNzaWJpbGl0
eQotICAgIC8vIHNldHRpbmdzIHRvIGRlY2lkZSB3aGljaCBvZiB0aGUgYXZhaWxhYmxlIHBvaW50
ZXJzIHNob3VsZCBiZSBjb25zaWRlcmVkCi0gICAgLy8gInByaW1hcnkiLgotCi0gICAgcmV0dXJu
IFVua25vd25Qb2ludGVyOwotfQotCiBzdGF0aWMgYm9vbCBob3Zlck1lZGlhRmVhdHVyZUV2YWwo
Q1NTVmFsdWUqIHZhbHVlLCBSZW5kZXJTdHlsZSosIEZyYW1lKiBmcmFtZSwgTWVkaWFGZWF0dXJl
UHJlZml4KQogewotICAgIFBvaW50ZXJEZXZpY2VUeXBlIHBvaW50ZXIgPSBsZWFzdENhcGFibGVQ
cmltYXJ5UG9pbnRlckRldmljZVR5cGUoZnJhbWUpOworICAgIFBvaW50ZXJEZXZpY2UgcG9pbnRl
ciA9IGZyYW1lLT5zZXR0aW5ncygpLT5wcmltYXJ5UG9pbnRlckRldmljZSgpOwogCiAgICAgLy8g
SWYgd2UncmUgb24gYSBwb3J0IHRoYXQgaGFzbid0IGV4cGxpY2l0bHkgb3B0ZWQgaW50byBwcm92
aWRpbmcgcG9pbnRlciBkZXZpY2UgaW5mb3JtYXRpb24KICAgICAvLyAob3Igb3RoZXJ3aXNlIGNh
bid0IGJlIGNvbmZpZGVudCBpbiB0aGUgcG9pbnRlciBoYXJkd2FyZSBhdmFpbGFibGUpLCB0aGVu
IGJlaGF2ZSBleGFjdGx5CiAgICAgLy8gYXMgaWYgdGhpcyBmZWF0dXJlIGZlYXR1cmUgaXNuJ3Qg
c3VwcG9ydGVkLgotICAgIGlmIChwb2ludGVyID09IFVua25vd25Qb2ludGVyKQorICAgIGlmIChw
b2ludGVyID09IFBvaW50ZXJEZXZpY2VVbmtub3duKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAK
LSAgICBmbG9hdCBudW1iZXIgPSAxOworICAgIGZsb2F0IG51bWJlciA9IDEuMGY7CiAgICAgaWYg
KHZhbHVlKSB7CiAgICAgICAgIGlmICghbnVtYmVyVmFsdWUodmFsdWUsIG51bWJlcikpCiAgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgfQogCi0gICAgcmV0dXJuIChwb2ludGVyID09IE5v
UG9pbnRlciAmJiAhbnVtYmVyKQotICAgICAgICB8fCAocG9pbnRlciA9PSBUb3VjaFBvaW50ZXIg
JiYgIW51bWJlcikKLSAgICAgICAgfHwgKHBvaW50ZXIgPT0gTW91c2VQb2ludGVyICYmIG51bWJl
ciA9PSAxKTsKKyAgICByZXR1cm4gKHBvaW50ZXIgPT0gUG9pbnRlckRldmljZU5vbmUgJiYgbnVt
YmVyID09IDAuMGYpCisgICAgICAgIHx8IChwb2ludGVyID09IFBvaW50ZXJEZXZpY2VUb3VjaCAm
JiBudW1iZXIgPT0gMC4wZikKKyAgICAgICAgfHwgKHBvaW50ZXIgPT0gUG9pbnRlckRldmljZU1v
dXNlICYmIG51bWJlciA9PSAxLjBmKTsKIH0KIAogc3RhdGljIGJvb2wgcG9pbnRlck1lZGlhRmVh
dHVyZUV2YWwoQ1NTVmFsdWUqIHZhbHVlLCBSZW5kZXJTdHlsZSosIEZyYW1lKiBmcmFtZSwgTWVk
aWFGZWF0dXJlUHJlZml4KQogewotICAgIFBvaW50ZXJEZXZpY2VUeXBlIHBvaW50ZXIgPSBsZWFz
dENhcGFibGVQcmltYXJ5UG9pbnRlckRldmljZVR5cGUoZnJhbWUpOworICAgIFBvaW50ZXJEZXZp
Y2UgcG9pbnRlciA9IGZyYW1lLT5zZXR0aW5ncygpLT5wcmltYXJ5UG9pbnRlckRldmljZSgpOwog
CiAgICAgLy8gSWYgd2UncmUgb24gYSBwb3J0IHRoYXQgaGFzbid0IGV4cGxpY2l0bHkgb3B0ZWQg
aW50byBwcm92aWRpbmcgcG9pbnRlciBkZXZpY2UgaW5mb3JtYXRpb24KICAgICAvLyAob3Igb3Ro
ZXJ3aXNlIGNhbid0IGJlIGNvbmZpZGVudCBpbiB0aGUgcG9pbnRlciBoYXJkd2FyZSBhdmFpbGFi
bGUpLCB0aGVuIGJlaGF2ZSBleGFjdGx5CiAgICAgLy8gYXMgaWYgdGhpcyBmZWF0dXJlIGZlYXR1
cmUgaXNuJ3Qgc3VwcG9ydGVkLgotICAgIGlmIChwb2ludGVyID09IFVua25vd25Qb2ludGVyKQor
ICAgIGlmIChwb2ludGVyID09IFBvaW50ZXJEZXZpY2VVbmtub3duKQogICAgICAgICByZXR1cm4g
ZmFsc2U7CiAKICAgICBpZiAoIXZhbHVlKQotICAgICAgICByZXR1cm4gcG9pbnRlciAhPSBOb1Bv
aW50ZXI7CisgICAgICAgIHJldHVybiBwb2ludGVyICE9IFBvaW50ZXJEZXZpY2VOb25lOwogCiAg
ICAgaWYgKCF2YWx1ZS0+aXNQcmltaXRpdmVWYWx1ZSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7
CiAKICAgICBjb25zdCBpbnQgaWQgPSBzdGF0aWNfY2FzdDxDU1NQcmltaXRpdmVWYWx1ZSo+KHZh
bHVlKS0+Z2V0SWRlbnQoKTsKLSAgICByZXR1cm4gKHBvaW50ZXIgPT0gTm9Qb2ludGVyICYmIGlk
ID09IENTU1ZhbHVlTm9uZSkKLSAgICAgICAgfHwgKHBvaW50ZXIgPT0gVG91Y2hQb2ludGVyICYm
IGlkID09IENTU1ZhbHVlQ29hcnNlKQotICAgICAgICB8fCAocG9pbnRlciA9PSBNb3VzZVBvaW50
ZXIgJiYgaWQgPT0gQ1NTVmFsdWVGaW5lKTsKKyAgICByZXR1cm4gKHBvaW50ZXIgPT0gUG9pbnRl
ckRldmljZU5vbmUgJiYgaWQgPT0gQ1NTVmFsdWVOb25lKQorICAgICAgICB8fCAocG9pbnRlciA9
PSBQb2ludGVyRGV2aWNlVG91Y2ggJiYgaWQgPT0gQ1NTVmFsdWVDb2Fyc2UpCisgICAgICAgIHx8
IChwb2ludGVyID09IFBvaW50ZXJEZXZpY2VNb3VzZSAmJiBpZCA9PSBDU1NWYWx1ZUZpbmUpOwog
fQogCiBzdGF0aWMgdm9pZCBjcmVhdGVGdW5jdGlvbk1hcCgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgK
aW5kZXggNGNkZWU1MzVjYWE1MGVlOTBkZjU2MDRkMTA5NDNlYmY5Y2FjZjZmOC4uYzlhYmRjNmUy
MGI4NjMyZGFhNmU4MGRmZDYyNmJiZTk0MjhmZTQ1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApA
QCAtNTcsNiArNTcsMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBUZXh0RGlyZWN0
aW9uU3VibWVudUFsd2F5c0luY2x1ZGVkCiAgICAgfTsKIAorICAgIGVudW0gUG9pbnRlckRldmlj
ZSB7CisgICAgICAgIFBvaW50ZXJEZXZpY2VNb3VzZSwKKyAgICAgICAgUG9pbnRlckRldmljZVRv
dWNoLAorICAgICAgICBQb2ludGVyRGV2aWNlTm9uZSwKKyAgICAgICAgUG9pbnRlckRldmljZVVu
a25vd24KKyAgICB9OworCiAgICAgLy8gVVNjcmlwdENvZGUgdXNlcyAtMSBhbmQgMCBmb3IgVVNj
cmlwdEludmFsaWRDb2RlIGFuZCBVU2NyaXB0Q29tbW9uLgogICAgIC8vIFdlIG5lZWQgdG8gdXNl
IC0yIGFuZCAtMyBmb3IgZW1wdHkgdmFsdWUgYW5kIGRlbGV0ZWQgdmFsdWUuCiAgICAgc3RydWN0
IFVTY3JpcHRDb2RlSGFzaFRyYWl0cyA6IFdURjo6R2VuZXJpY0hhc2hUcmFpdHM8aW50PiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5pbgppbmRleCBmNjRmNTc4YmU4YjFkZmVlYjE2YTczYTU0MzFmNmIx
M2Q0OTZiYTVjLi4xNmY0ODY2MGY2MTMwMDdkZjdkYzlkMTk3OGJhYmI2NmQ3NzAyZjJmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MuaW4KQEAgLTE1Miw3ICsxNTIsMTAgQEAgbmVlZHNJc0xvYWRpbmdJ
bkFQSVNlbnNlUXVpcmsgaW5pdGlhbD1mYWxzZQogc2hvdWxkUmVzcGVjdEltYWdlT3JpZW50YXRp
b24gaW5pdGlhbD1mYWxzZQogd2FudHNCYWxhbmNlZFNldERlZmVyc0xvYWRpbmdCZWhhdmlvciBp
bml0aWFsPWZhbHNlCiByZXF1ZXN0QW5pbWF0aW9uRnJhbWVFbmFibGVkIGluaXRpYWw9dHJ1ZQor
CisjREVQUkVDQVRFRCAtIFRvIG1ha2UgZGV0ZXJtaW5hdGlvbnMgYmFzZWQgb24gcG9pbnRlciB0
eXBlIHVzZSBwcmltYXJ5UG9pbnRlckRldmljZQogZGV2aWNlU3VwcG9ydHNUb3VjaCBpbml0aWFs
PWZhbHNlCisKIGRldmljZVN1cHBvcnRzTW91c2UgaW5pdGlhbD10cnVlCiAKICMgRm9yIHRvdWNo
IGFkanVzdG1lbnQgdG8gYXBwbHksIHRoZSBjb21waWxlIG9wdGlvbiBUT1VDSF9BREpVU1RNRU5U
IG11c3QgYWxzbyBiZSBlbmFibGVkLgpAQCAtMTkxLDYgKzE5NCw4IEBAIHNwYXRpYWxOYXZpZ2F0
aW9uRW5hYmxlZCBpbml0aWFsPWZhbHNlCiAjIGVuYWJsZWQsIHRoZSB1c2VyIGNhbiBpbml0aWF0
ZSBkcmFnIHVzaW5nIGxvbmcgcHJlc3MuCiB0b3VjaERyYWdEcm9wRW5hYmxlZCBpbml0aWFsPWZh
bHNlCiAKK3ByaW1hcnlQb2ludGVyRGV2aWNlIHR5cGU9UG9pbnRlckRldmljZSwgaW5pdGlhbD1Q
b2ludGVyRGV2aWNlVW5rbm93bgorCiB1bmlmaWVkVGV4dENoZWNrZXJFbmFibGVkIGluaXRpYWw9
ZGVmYXVsdFVuaWZpZWRUZXh0Q2hlY2tlckVuYWJsZWQKIAogbG9nc1BhZ2VNZXNzYWdlc1RvU3lz
dGVtQ29uc29sZUVuYWJsZWQgaW5pdGlhbD1mYWxzZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBMaXN0Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2Nocm9taXVtL1BvcHVwTGlzdEJveC5jcHAKaW5kZXggMzE4OGExMDIxZjQ4NWFkNjA5
NWY1YjY0ZGY5ZTk1ZGJiZWU0OGQxMS4uNzcwMTY0MjAzMTk1ZTUzMTQ1MjA2YjQ5YjRmNDRhNzRh
Y2NmOGJiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9w
dXBMaXN0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1
cExpc3RCb3guY3BwCkBAIC02MjYsNyArNjI2LDcgQEAgdm9pZCBQb3B1cExpc3RCb3g6OnNldE9y
aWdpbmFsSW5kZXgoaW50IGluZGV4KQogaW50IFBvcHVwTGlzdEJveDo6Z2V0Um93SGVpZ2h0KGlu
dCBpbmRleCkKIHsKICAgICBpbnQgbWluaW11bUhlaWdodCA9IFBvcHVwTWVudUNocm9taXVtOjpt
aW5pbXVtUm93SGVpZ2h0KCk7Ci0gICAgaWYgKG1fc2V0dGluZ3MuZGV2aWNlU3VwcG9ydHNUb3Vj
aCkKKyAgICBpZiAobV9zZXR0aW5ncy5wcmltYXJ5SW5wdXRJc1RvdWNoKQogICAgICAgICBtaW5p
bXVtSGVpZ2h0ID0gbWF4KG1pbmltdW1IZWlnaHQsIFBvcHVwTWVudUNocm9taXVtOjpvcHRpb25S
b3dIZWlnaHRGb3JUb3VjaCgpKTsKIAogICAgIGlmIChpbmRleCA8IDAgfHwgbV9wb3B1cENsaWVu
dC0+aXRlbVN0eWxlKGluZGV4KS5pc0Rpc3BsYXlOb25lKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cExpc3RCb3guaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwTGlzdEJveC5oCmluZGV4IDY1NzVhZWU3N2Y3Mjk5OWM5
ZDAzZmE1YTU3ZjYyM2Q0ZWJmNTc2OTUuLjY3YmI2ZGYxYTZiYzBhZGE3YzA2YjYwODc1NDRhYzMx
MTgzYTcwMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1Bv
cHVwTGlzdEJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVw
TGlzdEJveC5oCkBAIC04MSw5ICs4MSw5IEBAIHN0cnVjdCBQb3B1cENvbnRhaW5lclNldHRpbmdz
IHsKICAgICAvLyBBdXRvY29tcGxldGUgcG9wdXBzIGFyZSByZXN0cmljdGVkLCBjb21iby1ib3hl
cyAoc2VsZWN0IHRhZ3MpIGFyZW4ndC4KICAgICBib29sIHJlc3RyaWN0V2lkdGhPZkxpc3RCb3g7
CiAKLSAgICAvLyBJZiB0aGUgZGV2aWNlIGlzIGEgdG91Y2ggc2NyZWVuIHdlIGluY3JlYXNlIHRo
ZSBoZWlnaHQgb2YgbWVudSBpdGVtcworICAgIC8vIElmIHRoZSBwcmltYXJ5IGlucHV0IGlzIGEg
dG91Y2ggc2NyZWVuIHdlIGluY3JlYXNlIHRoZSBoZWlnaHQgb2YgbWVudSBpdGVtcwogICAgIC8v
IHRvIG1ha2UgaXQgZWFzaWVyIHRvIHVuYW1iaWd1b3VzbHkgdG91Y2ggdGhlbS4KLSAgICBib29s
IGRldmljZVN1cHBvcnRzVG91Y2g7CisgICAgYm9vbCBwcmltYXJ5SW5wdXRJc1RvdWNoOwogfTsK
IAogY2xhc3MgUG9wdXBDb250ZW50IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL1BvcHVwTWVudUNocm9taXVtLmNwcAppbmRleCAwZTQ4ZmZkMGYzZDk5MGM0
ODBmOTRkODYyZDM2ODY3YmMxMjQzNzAyLi4yZmNmMzA0ZGEwYmRjMGE2ZjlmZjZmODBkYTFmZTE0
MDc0MGY0NDE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Q
b3B1cE1lbnVDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vUG9wdXBNZW51Q2hyb21pdW0uY3BwCkBAIC03MSw3ICs3MSw3IEBAIHZvaWQgUG9wdXBNZW51
Q2hyb21pdW06OnNob3coY29uc3QgSW50UmVjdCYgcmVjdCwgRnJhbWVWaWV3KiBmcmFtZVZpZXcs
IGludCBpbmRlCiAgICAgaWYgKCFwLnBvcHVwKSB7CiAgICAgICAgIFNldHRpbmdzKiBzZXR0aW5n
cyA9IGZyYW1lVmlldy0+ZnJhbWUoKS0+cGFnZSgpLT5zZXR0aW5ncygpOwogICAgICAgICBQb3B1
cENvbnRhaW5lclNldHRpbmdzIHBvcHVwU2V0dGluZ3MgPSBkcm9wRG93blNldHRpbmdzOwotICAg
ICAgICBwb3B1cFNldHRpbmdzLmRldmljZVN1cHBvcnRzVG91Y2ggPSBzZXR0aW5ncy0+ZGV2aWNl
U3VwcG9ydHNUb3VjaCgpOworICAgICAgICBwb3B1cFNldHRpbmdzLnByaW1hcnlJbnB1dElzVG91
Y2ggPSBzZXR0aW5ncy0+cHJpbWFyeVBvaW50ZXJEZXZpY2UoKSA9PSBQb2ludGVyRGV2aWNlVG91
Y2g7CiAgICAgICAgIHAucG9wdXAgPSBQb3B1cENvbnRhaW5lcjo6Y3JlYXRlKGNsaWVudCgpLCBQ
b3B1cENvbnRhaW5lcjo6U2VsZWN0LCBwb3B1cFNldHRpbmdzKTsKICAgICB9CiAgICAgcC5wb3B1
cC0+c2hvd0luUmVjdChyZWN0LCBmcmFtZVZpZXcsIGluZGV4KTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCmluZGV4IGE5ZWI2MjcxODllYzVhOGQ4ZmNhNTJl
ZmY0NjVmMzRkMmNjZDVkYTguLmFkNjk1OWRkZDI1ZmY3ZDA3YWI5M2VkNTQyNzk3ZmQ4ZGFiZjVj
ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAt
NTEzLDQgKzUxMywyMCBAQCB2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldFRpbWVXaXRob3V0TW91
c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKGRvdWJsZSB0aQogICAgIHNldHRpbmdzKCkt
PnNldFRpbWVXaXRob3V0TW91c2VNb3ZlbWVudEJlZm9yZUhpZGluZ0NvbnRyb2xzKHRpbWUpOwog
fQogCit2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldFByaW1hcnlQb2ludGVyRGV2aWNlKGNvbnN0
IFN0cmluZyYgcG9pbnRlckRldmljZSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgSW50ZXJu
YWxTZXR0aW5nc0d1YXJkRm9yU2V0dGluZ3MoKTsKKworICAgIGlmIChwb2ludGVyRGV2aWNlID09
ICJtb3VzZSIpCisgICAgICAgIHNldHRpbmdzKCktPnNldFByaW1hcnlQb2ludGVyRGV2aWNlKFBv
aW50ZXJEZXZpY2VNb3VzZSk7CisgICAgZWxzZSBpZiAocG9pbnRlckRldmljZSA9PSAidG91Y2gi
KQorICAgICAgICBzZXR0aW5ncygpLT5zZXRQcmltYXJ5UG9pbnRlckRldmljZShQb2ludGVyRGV2
aWNlVG91Y2gpOworICAgIGVsc2UgaWYgKHBvaW50ZXJEZXZpY2UgPT0gIm5vbmUiKQorICAgICAg
ICBzZXR0aW5ncygpLT5zZXRQcmltYXJ5UG9pbnRlckRldmljZShQb2ludGVyRGV2aWNlTm9uZSk7
CisgICAgZWxzZSBpZiAocG9pbnRlckRldmljZSA9PSAidW5rbm93biIpIAorICAgICAgICBzZXR0
aW5ncygpLT5zZXRQcmltYXJ5UG9pbnRlckRldmljZShQb2ludGVyRGV2aWNlVW5rbm93bik7Cisg
ICAgZWxzZQorICAgICAgICBlYyA9IFNZTlRBWF9FUlI7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggMTg3NDJlMjRhYjlmMzMwODU5ZjNjNzYx
MzlhOTdkN2ZlM2IxZTcyNy4uOTRkOWRhNjg0YTk0MzM4YTliMGRiYTk3OThjZmZmNDdmNDViNzYz
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTEyOSw2
ICsxMjksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRNaW5pbXVtVGltZXJJbnRlcnZhbChkb3Vi
bGUgaW50ZXJ2YWxJblNlY29uZHMsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNldERlZmF1
bHRWaWRlb1Bvc3RlclVSTChjb25zdCBTdHJpbmcmIHVybCwgRXhjZXB0aW9uQ29kZSYpOwogICAg
IHZvaWQgc2V0VGltZVdpdGhvdXRNb3VzZU1vdmVtZW50QmVmb3JlSGlkaW5nQ29udHJvbHMoZG91
YmxlIHRpbWUsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNldFByaW1hcnlQb2ludGVyRGV2
aWNlKGNvbnN0IFN0cmluZyYsIEV4Y2VwdGlvbkNvZGUmKTsKIAogcHJpdmF0ZToKICAgICBleHBs
aWNpdCBJbnRlcm5hbFNldHRpbmdzKFBhZ2UqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaWRsCmluZGV4IGNkZThkZjYyNWY0MTlhMWFhOTdiMzY1NzE0ZGRlYTVk
YzRhZWZkMTYuLjg0YTEyODg1YzJjMDc2OGRiMGViNjA5MDVlNTViMDE5ODEyZmJkZTYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbApAQCAtNTMsNiArNTMs
NyBAQAogICAgIHZvaWQgc2V0RWRpdGluZ0JlaGF2aW9yKGluIERPTVN0cmluZyBiZWhhdmlvcikg
cmFpc2VzKERPTUV4Y2VwdGlvbik7CiAgICAgdm9pZCBzZXREaWFsb2dFbGVtZW50RW5hYmxlZChp
biBib29sZWFuIGVuYWJsZWQpIHJhaXNlcyhET01FeGNlcHRpb24pOwogICAgIHZvaWQgc2V0TGFu
Z0F0dHJpYnV0ZUF3YXJlRm9ybUNvbnRyb2xVSUVuYWJsZWQoaW4gYm9vbGVhbiBlbmFibGVkKTsK
KyAgICB2b2lkIHNldFByaW1hcnlQb2ludGVyRGV2aWNlKGluIERPTVN0cmluZyBwb2ludGVyKSBy
YWlzZXMgKERPTUV4Y2VwdGlvbik7CiAKICAgICBbQ29uZGl0aW9uYWw9VklERU9fVFJBQ0tdIHZv
aWQgc2V0U2hvdWxkRGlzcGxheVRyYWNrS2luZChpbiBET01TdHJpbmcga2luZCwgaW4gYm9vbGVh
biBlbmFibGVkKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7CiAgICAgW0NvbmRpdGlvbmFsPVZJREVP
X1RSQUNLXSBib29sZWFuIHNob3VsZERpc3BsYXlUcmFja0tpbmQoaW4gRE9NU3RyaW5nIHRyYWNr
S2luZCkgcmFpc2VzIChET01FeGNlcHRpb24pOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVi
bGljL1dlYlNldHRpbmdzLmgKaW5kZXggNzI1YzYxYzgwMDU1OTEwODg4MjVjMTk5MmVmNzhjNzhm
MDEyMjJiYy4uN2RmNThhNmVmNmIxNTM5MDBlMmE5NjIwYjc4MmU1NGE0NTU2NzhhYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViU2V0dGluZ3MuaAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJTZXR0aW5ncy5oCkBAIC01Miw2ICs1Miwx
MyBAQCBwdWJsaWM6CiAgICAgICAgIEVkaXRpbmdCZWhhdmlvckFuZHJvaWQKICAgICB9OwogCisg
ICAgZW51bSBQb2ludGVyRGV2aWNlIHsKKyAgICAgICAgUG9pbnRlckRldmljZU1vdXNlLAorICAg
ICAgICBQb2ludGVyRGV2aWNlVG91Y2gsCisgICAgICAgIFBvaW50ZXJEZXZpY2VOb25lLAorICAg
ICAgICBQb2ludGVyRGV2aWNlVW5rbm93bgorICAgIH07CisKICAgICB2aXJ0dWFsIGJvb2wgc2Ny
b2xsQW5pbWF0b3JFbmFibGVkKCkgY29uc3QgPSAwOwogICAgIHZpcnR1YWwgYm9vbCB2aWV3cG9y
dEVuYWJsZWQoKSBjb25zdCA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEFjY2VsZXJhdGVkMmRD
YW52YXNFbmFibGVkKGJvb2wpID0gMDsKQEAgLTkxLDcgKzk4LDEwIEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIHZvaWQgc2V0RGVmZXJyZWRJbWFnZURlY29kaW5nRW5hYmxlZChib29sKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIHNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoYm9vbCkgPSAwOwogICAg
IHZpcnR1YWwgdm9pZCBzZXREZXZpY2VTdXBwb3J0c01vdXNlKGJvb2wpID0gMDsKKworICAgIC8v
IERFUFJFQ0FURUQKICAgICB2aXJ0dWFsIHZvaWQgc2V0RGV2aWNlU3VwcG9ydHNUb3VjaChib29s
KSA9IDA7CisKICAgICB2aXJ0dWFsIHZvaWQgc2V0RG91YmxlVGFwVG9ab29tRW5hYmxlZChib29s
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldERvd25sb2FkYWJsZUJpbmFyeUZvbnRzRW5hYmxl
ZChib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldEVkaXRhYmxlTGlua0JlaGF2aW9yTmV2
ZXJMaXZlKCkgPSAwOwpAQCAtMTM5LDYgKzE0OSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZv
aWQgc2V0UGVyVGlsZVBhaW50aW5nRW5hYmxlZChib29sKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IHNldFBpY3RvZ3JhcGhGb250RmFtaWx5KGNvbnN0IFdlYlN0cmluZyYsIFVTY3JpcHRDb2RlID0g
VVNDUklQVF9DT01NT04pID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGx1Z2luc0VuYWJsZWQo
Ym9vbCkgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRQcmltYXJ5UG9pbnRlckRldmljZShQb2lu
dGVyRGV2aWNlKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIHNldFByaXZpbGVnZWRXZWJHTEV4dGVu
c2lvbnNFbmFibGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UmVuZGVyVlN5bmNO
b3RpZmljYXRpb25FbmFibGVkKGJvb2wpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgc2V0U2Fuc1Nl
cmlmRm9udEZhbWlseShjb25zdCBXZWJTdHJpbmcmLCBVU2NyaXB0Q29kZSA9IFVTQ1JJUFRfQ09N
TU9OKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQYWdl
UG9wdXBJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBhZ2VQb3B1cElt
cGwuY3BwCmluZGV4IDE0YzFkY2Y2Y2IwZDg5MTU0YzY2YzI2MTMwODE5YjAyOTBlOTU3ZDAuLmZk
YjYyZjdjNDA0OGI1MWNiYTI5MTAxMTc0MWQwMmY1YmIzNjg1YWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBhZ2VQb3B1cEltcGwuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBhZ2VQb3B1cEltcGwuY3BwCkBAIC0yMDEsNiArMjAxLDcg
QEAgYm9vbCBXZWJQYWdlUG9wdXBJbXBsOjppbml0aWFsaXplUGFnZSgpCiAgICAgbV9wYWdlLT5z
ZXR0aW5ncygpLT5zZXRBbGxvd1NjcmlwdHNUb0Nsb3NlV2luZG93cyh0cnVlKTsKICAgICBtX3Bh
Z2UtPnNldERldmljZVNjYWxlRmFjdG9yKG1fd2ViVmlldy0+ZGV2aWNlU2NhbGVGYWN0b3IoKSk7
CiAgICAgbV9wYWdlLT5zZXR0aW5ncygpLT5zZXREZXZpY2VTdXBwb3J0c1RvdWNoKG1fd2ViVmll
dy0+cGFnZSgpLT5zZXR0aW5ncygpLT5kZXZpY2VTdXBwb3J0c1RvdWNoKCkpOworICAgIG1fcGFn
ZS0+c2V0dGluZ3MoKS0+c2V0UHJpbWFyeVBvaW50ZXJEZXZpY2UobV93ZWJWaWV3LT5wYWdlKCkt
PnNldHRpbmdzKCktPnByaW1hcnlQb2ludGVyRGV2aWNlKCkpOwogCiAgICAgdW5zaWduZWQgbGF5
b3V0TWlsZXN0b25lcyA9IERpZEZpcnN0TGF5b3V0IHwgRGlkRmlyc3RWaXN1YWxseU5vbkVtcHR5
TGF5b3V0OwogICAgIG1fcGFnZS0+YWRkTGF5b3V0TWlsZXN0b25lcyhzdGF0aWNfY2FzdDxMYXlv
dXRNaWxlc3RvbmVzPihsYXlvdXRNaWxlc3RvbmVzKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmNwcAppbmRleCA5ZjM0OTAxZTBkMTEyNWRmMDBiNTQ2
Zjg2Y2EwZDUyODZhOWE2OWQwLi44ZGJkOTEwNWVmZjRkZWFiMjEwZDJmMzJlY2UzNTQ4NTRiYTcx
YmFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0lt
cGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlNldHRpbmdzSW1wbC5j
cHAKQEAgLTEyNiw2ICsxMjYsNyBAQCB2b2lkIFdlYlNldHRpbmdzSW1wbDo6c2V0TWluaW11bUxv
Z2ljYWxGb250U2l6ZShpbnQgc2l6ZSkKICAgICBtX3NldHRpbmdzLT5zZXRNaW5pbXVtTG9naWNh
bEZvbnRTaXplKHNpemUpOwogfQogCisvLyBERVBSRUNBVEVECiB2b2lkIFdlYlNldHRpbmdzSW1w
bDo6c2V0RGV2aWNlU3VwcG9ydHNUb3VjaChib29sIGRldmljZVN1cHBvcnRzVG91Y2gpCiB7CiAg
ICAgbV9zZXR0aW5ncy0+c2V0RGV2aWNlU3VwcG9ydHNUb3VjaChkZXZpY2VTdXBwb3J0c1RvdWNo
KTsKQEAgLTE0MSw2ICsxNDIsMTEgQEAgYm9vbCBXZWJTZXR0aW5nc0ltcGw6OmRldmljZVN1cHBv
cnRzVG91Y2goKQogICAgIHJldHVybiBtX3NldHRpbmdzLT5kZXZpY2VTdXBwb3J0c1RvdWNoKCk7
CiB9CiAKK1dlYlNldHRpbmdzOjpQb2ludGVyRGV2aWNlIFdlYlNldHRpbmdzSW1wbDo6cHJpbWFy
eVBvaW50ZXJEZXZpY2UoKQoreworICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJTZXR0aW5nczo6
UG9pbnRlckRldmljZT4obV9zZXR0aW5ncy0+cHJpbWFyeVBvaW50ZXJEZXZpY2UoKSk7Cit9CisK
IHZvaWQgV2ViU2V0dGluZ3NJbXBsOjpzZXRBcHBseURldmljZVNjYWxlRmFjdG9ySW5Db21wb3Np
dG9yKGJvb2wgYXBwbHlEZXZpY2VTY2FsZUZhY3RvckluQ29tcG9zaXRvcikKIHsKICAgICBtX3Nl
dHRpbmdzLT5zZXRBcHBseURldmljZVNjYWxlRmFjdG9ySW5Db21wb3NpdG9yKGFwcGx5RGV2aWNl
U2NhbGVGYWN0b3JJbkNvbXBvc2l0b3IpOwpAQCAtMjE5LDYgKzIyNSwxMiBAQCB2b2lkIFdlYlNl
dHRpbmdzSW1wbDo6c2V0UGx1Z2luc0VuYWJsZWQoYm9vbCBlbmFibGVkKQogICAgIG1fc2V0dGlu
Z3MtPnNldFBsdWdpbnNFbmFibGVkKGVuYWJsZWQpOwogfQogCisKK3ZvaWQgV2ViU2V0dGluZ3NJ
bXBsOjpzZXRQcmltYXJ5UG9pbnRlckRldmljZShQb2ludGVyRGV2aWNlIGRldmljZSkKK3sKKyAg
ICBtX3NldHRpbmdzLT5zZXRQcmltYXJ5UG9pbnRlckRldmljZShzdGF0aWNfY2FzdDxXZWJDb3Jl
OjpQb2ludGVyRGV2aWNlPihkZXZpY2UpKTsKK30KKwogdm9pZCBXZWJTZXR0aW5nc0ltcGw6OnNl
dERPTVBhc3RlQWxsb3dlZChib29sIGVuYWJsZWQpCiB7CiAgICAgbV9zZXR0aW5ncy0+c2V0RE9N
UGFzdGVBbGxvd2VkKGVuYWJsZWQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViU2V0dGluZ3NJbXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJT
ZXR0aW5nc0ltcGwuaAppbmRleCBlNjBhNjNjZWMwM2UyN2VkMmU0NGZkYzNiYzBiOWJjMWU3NzEy
NDBlLi5kZDZjN2YwODZkYmVkODEyNDM1MzIzYWU3NzM0YTFmODljYzhlNTUzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJTZXR0aW5nc0ltcGwuaApAQCAtNDUsNiArNDUsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCB+V2ViU2V0dGluZ3NJbXBsKCkgeyB9CiAKICAgICB2aXJ0
dWFsIGJvb2wgZGV2aWNlU3VwcG9ydHNUb3VjaCgpOworICAgIHZpcnR1YWwgUG9pbnRlckRldmlj
ZSBwcmltYXJ5UG9pbnRlckRldmljZSgpOwogICAgIHZpcnR1YWwgYm9vbCBzY3JvbGxBbmltYXRv
ckVuYWJsZWQoKSBjb25zdDsKICAgICB2aXJ0dWFsIGJvb2wgdmlld3BvcnRFbmFibGVkKCkgY29u
c3QgeyByZXR1cm4gbV92aWV3cG9ydEVuYWJsZWQ7IH0KICAgICB2aXJ0dWFsIHZvaWQgc2V0QWNj
ZWxlcmF0ZWQyZENhbnZhc0VuYWJsZWQoYm9vbCk7CkBAIC04NCw3ICs4NSwxMCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHNldERlZmVycmVkSW1hZ2VEZWNvZGluZ0VuYWJsZWQoYm9vbCk7
CiAgICAgdmlydHVhbCB2b2lkIHNldERldmVsb3BlckV4dHJhc0VuYWJsZWQoYm9vbCk7CiAgICAg
dmlydHVhbCB2b2lkIHNldERldmljZVN1cHBvcnRzTW91c2UoYm9vbCk7CisKKyAgICAvLyBERVBS
RUNBVEVECiAgICAgdmlydHVhbCB2b2lkIHNldERldmljZVN1cHBvcnRzVG91Y2goYm9vbCk7CisK
ICAgICB2aXJ0dWFsIHZvaWQgc2V0RG91YmxlVGFwVG9ab29tRW5hYmxlZChib29sKTsKICAgICB2
aXJ0dWFsIHZvaWQgc2V0RG93bmxvYWRhYmxlQmluYXJ5Rm9udHNFbmFibGVkKGJvb2wpOwogICAg
IHZpcnR1YWwgdm9pZCBzZXRFZGl0YWJsZUxpbmtCZWhhdmlvck5ldmVyTGl2ZSgpOwpAQCAtMTMy
LDYgKzEzNiw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGVyVGlsZVBhaW50aW5n
RW5hYmxlZChib29sKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0UGljdG9ncmFwaEZvbnRGYW1pbHko
Y29uc3QgV2ViU3RyaW5nJiwgVVNjcmlwdENvZGUgPSBVU0NSSVBUX0NPTU1PTik7CiAgICAgdmly
dHVhbCB2b2lkIHNldFBsdWdpbnNFbmFibGVkKGJvb2wpOworICAgIHZpcnR1YWwgdm9pZCBzZXRQ
cmltYXJ5UG9pbnRlckRldmljZShQb2ludGVyRGV2aWNlKTsKICAgICB2aXJ0dWFsIHZvaWQgc2V0
UHJpdmlsZWdlZFdlYkdMRXh0ZW5zaW9uc0VuYWJsZWQoYm9vbCk7CiAgICAgdmlydHVhbCB2b2lk
IHNldFJlbmRlclZTeW5jTm90aWZpY2F0aW9uRW5hYmxlZChib29sKTsKICAgICB2aXJ0dWFsIHZv
aWQgc2V0U2Fuc1NlcmlmRm9udEZhbWlseShjb25zdCBXZWJTdHJpbmcmLCBVU2NyaXB0Q29kZSA9
IFVTQ1JJUFRfQ09NTU9OKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYlZpZXdJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlZpZXdJbXBs
LmNwcAppbmRleCBmYjQ0NDU2NDNjZDlmNWNiYzgwMTNhZmM0ZjRlY2U0ODlmZWViZTc0Li44OGEx
YzY5YzkwNTNlNjgyZWI2NWE2YTRiZDdlMjQ5NGU0NWJkODA1IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJWaWV3SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViVmlld0ltcGwuY3BwCkBAIC0zNjEwLDcgKzM2MTAsNyBAQCB2b2lkIFdl
YlZpZXdJbXBsOjphcHBseUF1dG9maWxsU3VnZ2VzdGlvbnMoCiAKICAgICBpZiAoIW1fYXV0b2Zp
bGxQb3B1cCkgewogICAgICAgICBQb3B1cENvbnRhaW5lclNldHRpbmdzIHBvcHVwU2V0dGluZ3Mg
PSBhdXRvZmlsbFBvcHVwU2V0dGluZ3M7Ci0gICAgICAgIHBvcHVwU2V0dGluZ3MuZGV2aWNlU3Vw
cG9ydHNUb3VjaCA9IHNldHRpbmdzSW1wbCgpLT5kZXZpY2VTdXBwb3J0c1RvdWNoKCk7CisgICAg
ICAgIHBvcHVwU2V0dGluZ3MucHJpbWFyeUlucHV0SXNUb3VjaCA9IHNldHRpbmdzSW1wbCgpLT5w
cmltYXJ5UG9pbnRlckRldmljZSgpID09IFdlYlNldHRpbmdzOjpQb2ludGVyRGV2aWNlVG91Y2g7
CiAgICAgICAgIG1fYXV0b2ZpbGxQb3B1cCA9IFBvcHVwQ29udGFpbmVyOjpjcmVhdGUobV9hdXRv
ZmlsbFBvcHVwQ2xpZW50LmdldCgpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIFBvcHVwQ29udGFpbmVyOjpTdWdnZXN0aW9uLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcHVwU2V0dGluZ3MpOwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IDFkZWE5MmM1MzA4OGUxY2VhMjhiNGJjZWRjMTQwNjRlODY1OWQ4MmYuLmRkYTY5MjVlN2Ew
MWQ4YTExNDhjZjU1OWI4MjEzODNjM2UzYzlkN2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAx
My0wMy0yMCAgRGF2aWQgQm9rYW4gIDxib2thbkBnb29nbGUuY29tPgorCisgICAgICAgIEV4dGVu
ZCBwb2ludGVyL2hvdmVyIG1lZGlhIGZlYXR1cmVzIHRvIHN1cHBvcnQgbW91c2UgYW5kIG5vbmUK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMjg0MQor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9t
ZWRpYS9tcS1wb2ludGVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L21lZGlhL21xLXBv
aW50ZXIuaHRtbDoKKwogMjAxMy0wMy0yMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFw
cGxlLmNvbT4KIAogICAgICAgICBBbGxvdyBwb3J0cyBzcGVjaWZpYyB0ZXh0IHRyYWNrIG1lbnUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbXEtcG9pbnRlci1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21xLXBvaW50ZXItZXhwZWN0ZWQudHh0CmluZGV4
IGNmN2E2OTU2ZGRlZmZiMmQzMDViNTMwNDc1OTIwM2NkYWFjNGJjMTAuLmQxNmU1MDI2YjY5MGMz
M2JjZWUzMmIzYjNjM2Y5ZjliNzc4ZTNhZjEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
bWVkaWEvbXEtcG9pbnRlci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YS9tcS1wb2ludGVyLWV4cGVjdGVkLnR4dApAQCAtNCwxMCArNCwxMiBAQCBUZXN0IHRoZSAocG9p
bnRlcikgYW5kIChob3ZlcikgbWVkaWEgZmVhdHVyZXMuIFNlZSBCdWcgODc0MDMgZm9yIGRldGFp
bHMuCiBRdWVyeSAiKHBvaW50ZXIpIjogZmFsc2UKIFF1ZXJ5ICIoUG9pbnRlcikiOiBmYWxzZQog
UXVlcnkgIihwb2ludGVyOm5vbmUpIjogZmFsc2UKK1F1ZXJ5ICIocG9pbnRlcjpOb05lKSI6IGZh
bHNlCiBRdWVyeSAiKHBvaW50ZXI6Y29hcnNlKSI6IGZhbHNlCiBRdWVyeSAiKHBvaW50ZXI6Y29B
UnNlKSI6IGZhbHNlCiBRdWVyeSAiKHBvaW50ZXI6Ym9ndXN2YWx1ZSkiOiBmYWxzZQogUXVlcnkg
Iihwb2ludGVyOmZpbmUpIjogZmFsc2UKK1F1ZXJ5ICIocG9pbnRlcjpGaU5lKSI6IGZhbHNlCiBR
dWVyeSAiKGhvdmVyKSI6IGZhbHNlCiBRdWVyeSAiKGhvdmVyOjApIjogZmFsc2UKIFF1ZXJ5ICIo
aG92ZXI6MSkiOiBmYWxzZQpAQCAtMTYsMTIgKzE4LDU2IEBAIFF1ZXJ5ICIoaG92ZXI6Ym9ndXN2
YWx1ZSkiOiBmYWxzZQogUXVlcnkgIihwb2ludGVyKSI6IHRydWUKIFF1ZXJ5ICIoUG9pbnRlciki
OiB0cnVlCiBRdWVyeSAiKHBvaW50ZXI6bm9uZSkiOiBmYWxzZQorUXVlcnkgIihwb2ludGVyOk5v
TmUpIjogZmFsc2UKIFF1ZXJ5ICIocG9pbnRlcjpjb2Fyc2UpIjogdHJ1ZQogUXVlcnkgIihwb2lu
dGVyOmNvQVJzZSkiOiB0cnVlCiBRdWVyeSAiKHBvaW50ZXI6Ym9ndXN2YWx1ZSkiOiBmYWxzZQog
UXVlcnkgIihwb2ludGVyOmZpbmUpIjogZmFsc2UKK1F1ZXJ5ICIocG9pbnRlcjpGaU5lKSI6IGZh
bHNlCiBRdWVyeSAiKGhvdmVyKSI6IGZhbHNlCiBRdWVyeSAiKGhvdmVyOjApIjogdHJ1ZQogUXVl
cnkgIihob3ZlcjoxKSI6IGZhbHNlCiBRdWVyeSAiKGhvdmVyOmJvZ3VzdmFsdWUpIjogZmFsc2UK
Ky0tLS0tLS0tLS0tLS0gd2l0aCBtb3VzZSAtLS0tLS0tLS0tLS0tCitRdWVyeSAiKHBvaW50ZXIp
IjogdHJ1ZQorUXVlcnkgIihQb2ludGVyKSI6IHRydWUKK1F1ZXJ5ICIocG9pbnRlcjpub25lKSI6
IGZhbHNlCitRdWVyeSAiKHBvaW50ZXI6Tm9OZSkiOiBmYWxzZQorUXVlcnkgIihwb2ludGVyOmNv
YXJzZSkiOiBmYWxzZQorUXVlcnkgIihwb2ludGVyOmNvQVJzZSkiOiBmYWxzZQorUXVlcnkgIihw
b2ludGVyOmJvZ3VzdmFsdWUpIjogZmFsc2UKK1F1ZXJ5ICIocG9pbnRlcjpmaW5lKSI6IHRydWUK
K1F1ZXJ5ICIocG9pbnRlcjpGaU5lKSI6IHRydWUKK1F1ZXJ5ICIoaG92ZXIpIjogdHJ1ZQorUXVl
cnkgIihob3ZlcjowKSI6IGZhbHNlCitRdWVyeSAiKGhvdmVyOjEpIjogdHJ1ZQorUXVlcnkgIiho
b3Zlcjpib2d1c3ZhbHVlKSI6IGZhbHNlCistLS0tLS0tLS0tLS0tIHdpdGggbm8gcG9pbnRlciAt
LS0tLS0tLS0tLS0tCitRdWVyeSAiKHBvaW50ZXIpIjogZmFsc2UKK1F1ZXJ5ICIoUG9pbnRlciki
OiBmYWxzZQorUXVlcnkgIihwb2ludGVyOm5vbmUpIjogdHJ1ZQorUXVlcnkgIihwb2ludGVyOk5v
TmUpIjogdHJ1ZQorUXVlcnkgIihwb2ludGVyOmNvYXJzZSkiOiBmYWxzZQorUXVlcnkgIihwb2lu
dGVyOmNvQVJzZSkiOiBmYWxzZQorUXVlcnkgIihwb2ludGVyOmJvZ3VzdmFsdWUpIjogZmFsc2UK
K1F1ZXJ5ICIocG9pbnRlcjpmaW5lKSI6IGZhbHNlCitRdWVyeSAiKHBvaW50ZXI6RmlOZSkiOiBm
YWxzZQorUXVlcnkgIihob3ZlcikiOiBmYWxzZQorUXVlcnkgIihob3ZlcjowKSI6IHRydWUKK1F1
ZXJ5ICIoaG92ZXI6MSkiOiBmYWxzZQorUXVlcnkgIihob3Zlcjpib2d1c3ZhbHVlKSI6IGZhbHNl
CistLS0tLS0tLS0tLS0tIHdpdGggdW5rbm93biAtLS0tLS0tLS0tLS0tCitRdWVyeSAiKHBvaW50
ZXIpIjogZmFsc2UKK1F1ZXJ5ICIoUG9pbnRlcikiOiBmYWxzZQorUXVlcnkgIihwb2ludGVyOm5v
bmUpIjogZmFsc2UKK1F1ZXJ5ICIocG9pbnRlcjpOb05lKSI6IGZhbHNlCitRdWVyeSAiKHBvaW50
ZXI6Y29hcnNlKSI6IGZhbHNlCitRdWVyeSAiKHBvaW50ZXI6Y29BUnNlKSI6IGZhbHNlCitRdWVy
eSAiKHBvaW50ZXI6Ym9ndXN2YWx1ZSkiOiBmYWxzZQorUXVlcnkgIihwb2ludGVyOmZpbmUpIjog
ZmFsc2UKK1F1ZXJ5ICIocG9pbnRlcjpGaU5lKSI6IGZhbHNlCitRdWVyeSAiKGhvdmVyKSI6IGZh
bHNlCitRdWVyeSAiKGhvdmVyOjApIjogZmFsc2UKK1F1ZXJ5ICIoaG92ZXI6MSkiOiBmYWxzZQor
UXVlcnkgIihob3Zlcjpib2d1c3ZhbHVlKSI6IGZhbHNlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvbWVkaWEvbXEtcG9pbnRlci5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9t
cS1wb2ludGVyLmh0bWwKaW5kZXggOWFkMDFhNmY1YjdmZTBkYjU4YmMyMDRkYzczNmZkZjAyOTU4
MTk3MC4uOTYyMTg2ZTM0N2Y4ZTBmNTQyYjg3NTg2ZWMxZDlkYjViMTMxY2ZkMCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tcS1wb2ludGVyLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9tZWRpYS9tcS1wb2ludGVyLmh0bWwKQEAgLTE4LDEwICsxOCwxMiBAQAogICAgICAg
ICAgICAgIihwb2ludGVyKSIsCiAgICAgICAgICAgICAiKFBvaW50ZXIpIiwKICAgICAgICAgICAg
ICIocG9pbnRlcjpub25lKSIsCisgICAgICAgICAgICAiKHBvaW50ZXI6Tm9OZSkiLAogICAgICAg
ICAgICAgIihwb2ludGVyOmNvYXJzZSkiLAogICAgICAgICAgICAgIihwb2ludGVyOmNvQVJzZSki
LAogICAgICAgICAgICAgIihwb2ludGVyOmJvZ3VzdmFsdWUpIiwKICAgICAgICAgICAgICIocG9p
bnRlcjpmaW5lKSIsCisgICAgICAgICAgICAiKHBvaW50ZXI6RmlOZSkiLAogICAgICAgICAgICAg
Iihob3ZlcikiLAogICAgICAgICAgICAgIihob3ZlcjowKSIsCiAgICAgICAgICAgICAiKGhvdmVy
OjEpIiwKQEAgLTM4LDEwICs0MCwyNyBAQAogICAgICAgICB0ZXN0UXVlcmllcygpOwogCiAgICAg
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Ci0gICAgICAgICAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0RGV2aWNlU3VwcG9ydHNUb3VjaCh0cnVlKTsKKyAgICAgICAgICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRQcmltYXJ5UG9pbnRlckRldmljZSgndG91Y2gnKTsKIAogICAgICAgICAgICAg
bG9nKCItLS0tLS0tLS0tLS0tIHdpdGggdG91Y2ggc2NyZWVuIC0tLS0tLS0tLS0tLS0iKTsKICAg
ICAgICAgICAgIHRlc3RRdWVyaWVzKCk7CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRQcmltYXJ5UG9pbnRlckRldmljZSgnbW91c2UnKTsKKworICAgICAg
ICAgICAgbG9nKCItLS0tLS0tLS0tLS0tIHdpdGggbW91c2UgLS0tLS0tLS0tLS0tLSIpOworICAg
ICAgICAgICAgdGVzdFF1ZXJpZXMoKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFByaW1hcnlQb2ludGVyRGV2aWNlKCdub25lJyk7CisKKyAgICAgICAg
ICAgIGxvZygiLS0tLS0tLS0tLS0tLSB3aXRoIG5vIHBvaW50ZXIgLS0tLS0tLS0tLS0tLSIpOwor
ICAgICAgICAgICAgdGVzdFF1ZXJpZXMoKTsKKworICAgICAgICAgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFByaW1hcnlQb2ludGVyRGV2aWNlKCd1bmtub3duJyk7CisKKyAgICAgICAgICAgIGxv
ZygiLS0tLS0tLS0tLS0tLSB3aXRoIHVua25vd24gLS0tLS0tLS0tLS0tLSIpOworICAgICAgICAg
ICAgdGVzdFF1ZXJpZXMoKTsKKworCiAgICAgICAgIH0KICAgICB9CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>