<?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>221096</bug_id>
          
          <creation_ts>2021-01-28 13:09:34 -0800</creation_ts>
          <short_desc>[macOS] Observe color preference changes in the UI process</short_desc>
          <delta_ts>2021-02-01 12:06:34 -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>WebKit Misc.</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Per Arne Vollan">pvollan</reporter>
          <assigned_to name="Per Arne Vollan">pvollan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1723472</commentid>
    <comment_count>0</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-01-28 13:09:34 -0800</bug_when>
    <thetext>As a step towards blocking the distributed notifications daemon in the WebContent process, color preference changes should be observed in the UI process. The UI process should notify the WebContent process about color preference changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723474</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-28 13:11:02 -0800</bug_when>
    <thetext>&lt;rdar://problem/73721275&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723479</commentid>
    <comment_count>2</comment_count>
      <attachid>418666</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-01-28 13:22:38 -0800</bug_when>
    <thetext>Created attachment 418666
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723764</commentid>
    <comment_count>3</comment_count>
      <attachid>418666</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-01-29 10:05:38 -0800</bug_when>
    <thetext>Comment on attachment 418666
Patch

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

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:107
&gt; +static CFStringRef AppleColorPreferencesChangedNotification = CFSTR(&quot;AppleColorPreferencesChangedNotification&quot;);

Should this be in one of our PAL SPI files?

&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:595
&gt; +    auto* pool = reinterpret_cast&lt;WebProcessPool*&gt;(observer);

Could pool be null (perhaps during launch or shutdown)? Maybe this should be:
if (auto* pool = ....)
    pool-&gt;sendToAllProcesses

This might apply to the &apos;backlightLevelDidChangeCallback&apos;, too.

&gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:1022
&gt; +    CFNotificationCenterPostNotification(CFNotificationCenterGetLocalCenter(), CFSTR(&quot;NSColorLocalPreferencesChangedNotification&quot;), nullptr, nullptr, true);

Should &apos;NSColorLocalPreferencesChangedNotification&apos; be something we put in PAL SPI somewhere? Is this a real thing used elsewhere in the system?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1723846</commentid>
    <comment_count>4</comment_count>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-01-29 13:19:43 -0800</bug_when>
    <thetext>(In reply to Brent Fulgham from comment #3)
&gt; Comment on attachment 418666 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=418666&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:107
&gt; &gt; +static CFStringRef AppleColorPreferencesChangedNotification = CFSTR(&quot;AppleColorPreferencesChangedNotification&quot;);
&gt; 
&gt; Should this be in one of our PAL SPI files?
&gt; 

The constant has not been assigned an official name in the system. Even so, should we add this to an SPI file?

&gt; &gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:595
&gt; &gt; +    auto* pool = reinterpret_cast&lt;WebProcessPool*&gt;(observer);
&gt; 
&gt; Could pool be null (perhaps during launch or shutdown)? Maybe this should be:
&gt; if (auto* pool = ....)
&gt;     pool-&gt;sendToAllProcesses
&gt; 
&gt; This might apply to the &apos;backlightLevelDidChangeCallback&apos;, too.
&gt; 

That is a good point. In this particular case it seems pool cannot be null, since it is being initialized with &apos;this&apos; in &apos;CFNotificationCenterAddObserver(CFNotificationCenterGetDistributedCenter(), this, colorPreferencesDidChangeCallback, AppleColorPreferencesChangedNotification, nullptr, CFNotificationSuspensionBehaviorCoalesce)&apos;.

&gt; &gt; Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:1022
&gt; &gt; +    CFNotificationCenterPostNotification(CFNotificationCenterGetLocalCenter(), CFSTR(&quot;NSColorLocalPreferencesChangedNotification&quot;), nullptr, nullptr, true);
&gt; 
&gt; Should &apos;NSColorLocalPreferencesChangedNotification&apos; be something we put in
&gt; PAL SPI somewhere? Is this a real thing used elsewhere in the system?

It is used in the system, but it seems it has not been assigned an official name. Would you prefer it being added to an SPI file?

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724282</commentid>
    <comment_count>5</comment_count>
      <attachid>418666</attachid>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2021-02-01 09:47:34 -0800</bug_when>
    <thetext>Comment on attachment 418666
Patch

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

r=me

&gt;&gt;&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:107
&gt;&gt;&gt; +static CFStringRef AppleColorPreferencesChangedNotification = CFSTR(&quot;AppleColorPreferencesChangedNotification&quot;);
&gt;&gt; 
&gt;&gt; Should this be in one of our PAL SPI files?
&gt; 
&gt; The constant has not been assigned an official name in the system. Even so, should we add this to an SPI file?

No, not if it&apos;s our own thing.

&gt;&gt;&gt; Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:595
&gt;&gt;&gt; +    auto* pool = reinterpret_cast&lt;WebProcessPool*&gt;(observer);
&gt;&gt; 
&gt;&gt; Could pool be null (perhaps during launch or shutdown)? Maybe this should be:
&gt;&gt; if (auto* pool = ....)
&gt;&gt;     pool-&gt;sendToAllProcesses
&gt;&gt; 
&gt;&gt; This might apply to the &apos;backlightLevelDidChangeCallback&apos;, too.
&gt; 
&gt; That is a good point. In this particular case it seems pool cannot be null, since it is being initialized with &apos;this&apos; in &apos;CFNotificationCenterAddObserver(CFNotificationCenterGetDistributedCenter(), this, colorPreferencesDidChangeCallback, AppleColorPreferencesChangedNotification, nullptr, CFNotificationSuspensionBehaviorCoalesce)&apos;.

Makes sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724292</commentid>
    <comment_count>6</comment_count>
      <attachid>418666</attachid>
    <who name="Per Arne Vollan">pvollan</who>
    <bug_when>2021-02-01 09:54:23 -0800</bug_when>
    <thetext>Comment on attachment 418666
Patch

Thanks for reviewing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1724352</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-02-01 12:06:32 -0800</bug_when>
    <thetext>Committed r272154: &lt;https://trac.webkit.org/changeset/272154&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 418666.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>418666</attachid>
            <date>2021-01-28 13:22:38 -0800</date>
            <delta_ts>2021-02-01 12:06:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-221096-20210128132238.patch</filename>
            <type>text/plain</type>
            <size>7642</size>
            <attacher name="Per Arne Vollan">pvollan</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJL
aXQvQ2hhbmdlTG9nCShyZXZpc2lvbiAyNzIwMzMpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxv
Zwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDIxLTAxLTI4ICBQZXIgQXJuZSAg
PHB2b2xsYW5AYXBwbGUuY29tPgorCisgICAgICAgIFttYWNPU10gT2JzZXJ2ZSBjb2xvciBwcmVm
ZXJlbmNlIGNoYW5nZXMgaW4gdGhlIFVJIHByb2Nlc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyMTA5NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0v
NzM3MjEyNzU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQXMgYSBzdGVwIHRvd2FyZHMgYmxvY2tpbmcgdGhlIGRpc3RyaWJ1dGVkIG5vdGlmaWNhdGlv
bnMgZGFlbW9uIGluIHRoZSBXZWJDb250ZW50IHByb2Nlc3MsIGNvbG9yIHByZWZlcmVuY2UgY2hh
bmdlcyBzaG91bGQgYmUgb2JzZXJ2ZWQgaW4gdGhlIFVJIHByb2Nlc3MuCisgICAgICAgIFRoZSBV
SSBwcm9jZXNzIHNob3VsZCBub3RpZnkgdGhlIFdlYkNvbnRlbnQgcHJvY2VzcyBhYm91dCBjb2xv
ciBwcmVmZXJlbmNlIGNoYW5nZXMuIEluIG9yZGVyIHRvIGJlIGFibGUgdG8gbm90aWZ5IHRoZSBB
cHBLaXQgb2JzZXJ2ZXIgaW4gdGhlIFdlYkNvbnRlbnQKKyAgICAgICAgcHJvY2VzcyBhYm91dCBj
aGFuZ2VzIHdpdGggYSBsb2NhbCBub3RpZmljYXRpb24sIGEgc3BlY2lmaWMga2V5L3ZhbHVlIG5l
ZWRzIHRvIGFkZGVkIHRvIHRoZSBJbmZvLnBsaXN0IG9mIHRoZSBXZWJDb250ZW50IHByb2Nlc3Mu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc1Bvb2w6OmNvbG9yUHJlZmVyZW5jZXNEaWRDaGFuZ2VD
YWxsYmFjayk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjpyZWdpc3Rlck5vdGlm
aWNhdGlvbk9ic2VydmVycyk6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NQb29sOjp1bnJl
Z2lzdGVyTm90aWZpY2F0aW9uT2JzZXJ2ZXJzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Bvb2wuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0VudHJ5UG9pbnQvQ29jb2EvWFBDU2Vy
dmljZS9XZWJDb250ZW50U2VydmljZS9JbmZvLU9TWC5wbGlzdDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2EubW06Cisg
ICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmNvbG9yUHJlZmVyZW5jZXNEaWRDaGFuZ2UpOgor
CiAyMDIxLTAxLTI4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
W21hY09TXSBXZWJQcm9jZXNzOjp1cGRhdGVQcm9jZXNzTmFtZSBzaG91bGQgaW5pdGlhdGUgbmV0
d29yayBwcm9jZXNzIGNvbm5lY3Rpb24gaWYgbm9uZSBleGlzdHMKSW5kZXg6IFNvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlByb2Nlc3NQb29sLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkocmV2aXNpb24gMjcyMDE3KQorKysgU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Bvb2wuaAkod29ya2luZyBjb3B5KQpAQCAtNTY1
LDYgKzU2NSwxMCBAQCBwcml2YXRlOgogI2VuZGlmCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1B
QykKKyAgICBzdGF0aWMgdm9pZCBjb2xvclByZWZlcmVuY2VzRGlkQ2hhbmdlQ2FsbGJhY2soQ0ZO
b3RpZmljYXRpb25DZW50ZXJSZWYsIHZvaWQgKm9ic2VydmVyLCBDRlN0cmluZ1JlZiBuYW1lLCBj
b25zdCB2b2lkICosIENGRGljdGlvbmFyeVJlZiB1c2VySW5mbyk7CisjZW5kaWYKKyAgICAKICNp
ZiBFTkFCTEUoQ0ZQUkVGU19ESVJFQ1RfTU9ERSkKICAgICB2b2lkIHN0YXJ0T2JzZXJ2aW5nUHJl
ZmVyZW5jZUNoYW5nZXMoKTsKICNlbmRpZgpJbmRleDogU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
Q29jb2EvV2ViUHJvY2Vzc1Bvb2xDb2NvYS5tbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1tCShyZXZpc2lvbiAyNzIwMTcp
CisrKyBTb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9XZWJQcm9jZXNzUG9vbENvY29hLm1t
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDQsNiArMTA0LDcgQEAgTlNTdHJpbmcgKldlYktpdEpTQ0ZU
TEpJVEVuYWJsZWREZWZhdWx0cwogCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpIHx8IFBMQVRG
T1JNKE1BQ0NBVEFMWVNUKQogc3RhdGljIE5TU3RyaW5nICpXZWJLaXRBcHBsaWNhdGlvbkRpZENo
YW5nZUFjY2Vzc2liaWxpdHlFbmhhbmNlZFVzZXJJbnRlcmZhY2VOb3RpZmljYXRpb24gPSBAIk5T
QXBwbGljYXRpb25EaWRDaGFuZ2VBY2Nlc3NpYmlsaXR5RW5oYW5jZWRVc2VySW50ZXJmYWNlTm90
aWZpY2F0aW9uIjsKK3N0YXRpYyBDRlN0cmluZ1JlZiBBcHBsZUNvbG9yUHJlZmVyZW5jZXNDaGFu
Z2VkTm90aWZpY2F0aW9uID0gQ0ZTVFIoIkFwcGxlQ29sb3JQcmVmZXJlbmNlc0NoYW5nZWROb3Rp
ZmljYXRpb24iKTsKICNlbmRpZgogCiBzdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBXZWJLaXRTdXBw
cmVzc01lbW9yeVByZXNzdXJlSGFuZGxlckRlZmF1bHRzS2V5ID0gQCJXZWJLaXRTdXBwcmVzc01l
bW9yeVByZXNzdXJlSGFuZGxlciI7CkBAIC01ODgsNiArNTg5LDE0IEBAIHZvaWQgV2ViUHJvY2Vz
c1Bvb2w6OmJhY2tsaWdodExldmVsRGlkQ2gKIH0KICNlbmRpZgogCisjaWYgUExBVEZPUk0oTUFD
KSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKK3ZvaWQgV2ViUHJvY2Vzc1Bvb2w6OmNvbG9yUHJl
ZmVyZW5jZXNEaWRDaGFuZ2VDYWxsYmFjayhDRk5vdGlmaWNhdGlvbkNlbnRlclJlZiBjZW50ZXIs
IHZvaWQgKm9ic2VydmVyLCBDRlN0cmluZ1JlZiBuYW1lLCBjb25zdCB2b2lkICpvYmplY3QsIENG
RGljdGlvbmFyeVJlZiB1c2VySW5mbykKK3sKKyAgICBhdXRvKiBwb29sID0gcmVpbnRlcnByZXRf
Y2FzdDxXZWJQcm9jZXNzUG9vbCo+KG9ic2VydmVyKTsKKyAgICBwb29sLT5zZW5kVG9BbGxQcm9j
ZXNzZXMoTWVzc2FnZXM6OldlYlByb2Nlc3M6OkNvbG9yUHJlZmVyZW5jZXNEaWRDaGFuZ2UoKSk7
Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShSRU1PVEVfSU5TUEVDVE9SKSAmJiBQTEFURk9STShJ
T1NfRkFNSUxZKSAmJiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiB2b2lkIFdlYlByb2Nlc3NQb29s
OjpyZW1vdGVXZWJJbnNwZWN0b3JFbmFibGVkQ2FsbGJhY2soQ0ZOb3RpZmljYXRpb25DZW50ZXJS
ZWYsIHZvaWQgKm9ic2VydmVyLCBDRlN0cmluZ1JlZiBuYW1lLCBjb25zdCB2b2lkICosIENGRGlj
dGlvbmFyeVJlZiB1c2VySW5mbykKIHsKQEAgLTY2Nyw2ICs2NzYsOCBAQCB2b2lkIFdlYlByb2Nl
c3NQb29sOjpyZWdpc3Rlck5vdGlmaWNhdGlvCiAgICAgbV9kZWFjdGl2YXRpb25PYnNlcnZlciA9
IFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gYWRkT2JzZXJ2ZXJGb3JOYW1l
Ok5TQXBwbGljYXRpb25EaWRSZXNpZ25BY3RpdmVOb3RpZmljYXRpb24gb2JqZWN0Ok5TQXBwIHF1
ZXVlOltOU09wZXJhdGlvblF1ZXVlIGN1cnJlbnRRdWV1ZV0gdXNpbmdCbG9jazpeKE5TTm90aWZp
Y2F0aW9uICpub3RpZmljYXRpb24pIHsKICAgICAgICAgc2V0QXBwbGljYXRpb25Jc0FjdGl2ZShm
YWxzZSk7CiAgICAgfV07CisgICAgCisgICAgQ0ZOb3RpZmljYXRpb25DZW50ZXJBZGRPYnNlcnZl
cihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERpc3RyaWJ1dGVkQ2VudGVyKCksIHRoaXMsIGNvbG9y
UHJlZmVyZW5jZXNEaWRDaGFuZ2VDYWxsYmFjaywgQXBwbGVDb2xvclByZWZlcmVuY2VzQ2hhbmdl
ZE5vdGlmaWNhdGlvbiwgbnVsbHB0ciwgQ0ZOb3RpZmljYXRpb25TdXNwZW5zaW9uQmVoYXZpb3JD
b2FsZXNjZSk7CiAjZWxpZiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgQ0ZOb3RpZmljYXRp
b25DZW50ZXJBZGRPYnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5vdGlmeUNl
bnRlcigpLCB0aGlzLCBiYWNrbGlnaHRMZXZlbERpZENoYW5nZUNhbGxiYWNrLCBzdGF0aWNfY2Fz
dDxDRlN0cmluZ1JlZj4oVUlCYWNrbGlnaHRMZXZlbENoYW5nZWROb3RpZmljYXRpb24pLCBudWxs
cHRyLCBDRk5vdGlmaWNhdGlvblN1c3BlbnNpb25CZWhhdmlvckNvYWxlc2NlKTsKICNpZiBQTEFU
Rk9STShJT1MpCkBAIC03MjAsNiArNzMxLDcgQEAgdm9pZCBXZWJQcm9jZXNzUG9vbDo6dW5yZWdp
c3Rlck5vdGlmaWNhdAogICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0g
cmVtb3ZlT2JzZXJ2ZXI6bV9zY3JvbGxlclN0eWxlTm90aWZpY2F0aW9uT2JzZXJ2ZXIuZ2V0KCld
OwogI2VuZGlmCiAgICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSByZW1v
dmVPYnNlcnZlcjptX2RlYWN0aXZhdGlvbk9ic2VydmVyLmdldCgpXTsKKyAgICBDRk5vdGlmaWNh
dGlvbkNlbnRlclJlbW92ZU9ic2VydmVyKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0RGlzdHJpYnV0
ZWRDZW50ZXIoKSwgdGhpcywgQXBwbGVDb2xvclByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlv
biwgbnVsbHB0cik7CiAjZWxpZiAhUExBVEZPUk0oTUFDQ0FUQUxZU1QpCiAgICAgQ0ZOb3RpZmlj
YXRpb25DZW50ZXJSZW1vdmVPYnNlcnZlcihDRk5vdGlmaWNhdGlvbkNlbnRlckdldERhcndpbk5v
dGlmeUNlbnRlcigpLCB0aGlzLCBzdGF0aWNfY2FzdDxDRlN0cmluZ1JlZj4oVUlCYWNrbGlnaHRM
ZXZlbENoYW5nZWROb3RpZmljYXRpb24pICwgbnVsbHB0cik7CiAjaWYgUExBVEZPUk0oSU9TKQpJ
bmRleDogU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCShyZXZpc2lvbiAyNzIwMTcp
CisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCSh3b3JraW5nIGNvcHkp
CkBAIC01MzUsNiArNTM1LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBiYWNrbGlnaHRMZXZlbERp
ZENoYW5nZShmbG9hdCBiYWNrbGlnaHRMZXZlbCk7CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1B
QykgfHwgUExBVEZPUk0oTUFDQ0FUQUxZU1QpCisgICAgdm9pZCBjb2xvclByZWZlcmVuY2VzRGlk
Q2hhbmdlKCk7CisjZW5kaWYKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgdm9pZCB1
c2VySW50ZXJmYWNlSWRpb21EaWRDaGFuZ2UoYm9vbCk7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCShyZXZpc2lvbiAyNzIwMTcp
CisrKyBTb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbgkod29y
a2luZyBjb3B5KQpAQCAtMTI4LDYgKzEyOCwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQcm9jZXNzIExl
Z2FjeVJlY2VpdmVyIE5vCiAgICAgQmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2UoZmxvYXQgYmFja2xp
Z2h0TGV2ZWwpCiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKE1BQykgfHwgUExBVEZPUk0oTUFDQ0FU
QUxZU1QpCisgICAgQ29sb3JQcmVmZXJlbmNlc0RpZENoYW5nZSgpCisjZW5kaWYKKwogICAgIElz
SklURW5hYmxlZCgpIC0+IChib29sIGVuYWJsZWQpIEFzeW5jCiAKICNpZiBQTEFURk9STShDT0NP
QSkKSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9FbnRyeVBvaW50L0NvY29hL1hQQ1Nl
cnZpY2UvV2ViQ29udGVudFNlcnZpY2UvSW5mby1PU1gucGxpc3QKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0VudHJ5UG9pbnQvQ29jb2EvWFBDU2VydmljZS9XZWJDb250
ZW50U2VydmljZS9JbmZvLU9TWC5wbGlzdAkocmV2aXNpb24gMjcyMDE3KQorKysgU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL0VudHJ5UG9pbnQvQ29jb2EvWFBDU2VydmljZS9XZWJDb250ZW50U2Vy
dmljZS9JbmZvLU9TWC5wbGlzdAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTIgKzQ2LDE0IEBACiAJ
CTxzdHJpbmc+QXBwbGljYXRpb248L3N0cmluZz4KIAkJPGtleT5SdW5Mb29wVHlwZTwva2V5Pgog
CQk8c3RyaW5nPiR7UlVOTE9PUF9UWVBFfTwvc3RyaW5nPgotICAgICAgICAgICAgICAgIDxrZXk+
X1Byb2Nlc3NUeXBlPC9rZXk+Ci0gICAgICAgICAgICAgICAgPHN0cmluZz5BcHA8L3N0cmluZz4K
KwkJPGtleT5fUHJvY2Vzc1R5cGU8L2tleT4KKwkJPHN0cmluZz5BcHA8L3N0cmluZz4KIAkJPGtl
eT5fTXVsdGlwbGVJbnN0YW5jZXM8L2tleT4KIAkJPHRydWUvPgogCQk8a2V5Pl9IaWdoQml0c0FT
TFI8L2tleT4KIAkJPHRydWUvPgogCTwvZGljdD4KKwk8a2V5Pk5TQ29sb3JQcmVmZXJMb2NhbE5v
dGlmaWNhdGlvbnM8L2tleT4KKwk8aW50ZWdlcj4xPC9pbnRlZ2VyPgogPC9kaWN0PgogPC9wbGlz
dD4KSW5kZXg6IFNvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9XZWJQcm9jZXNzQ29jb2Eu
bW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL1dlYlByb2Nl
c3NDb2NvYS5tbQkocmV2aXNpb24gMjcyMDE3KQorKysgU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL1dlYlByb2Nlc3NDb2NvYS5tbQkod29ya2luZyBjb3B5KQpAQCAtMTAxNiw2ICsxMDE2
LDEzIEBAIHZvaWQgV2ViUHJvY2Vzczo6YmFja2xpZ2h0TGV2ZWxEaWRDaGFuZ2UKIH0KICNlbmRp
ZgogCisjaWYgUExBVEZPUk0oTUFDKSB8fCBQTEFURk9STShNQUNDQVRBTFlTVCkKK3ZvaWQgV2Vi
UHJvY2Vzczo6Y29sb3JQcmVmZXJlbmNlc0RpZENoYW5nZSgpCit7CisgICAgQ0ZOb3RpZmljYXRp
b25DZW50ZXJQb3N0Tm90aWZpY2F0aW9uKENGTm90aWZpY2F0aW9uQ2VudGVyR2V0TG9jYWxDZW50
ZXIoKSwgQ0ZTVFIoIk5TQ29sb3JMb2NhbFByZWZlcmVuY2VzQ2hhbmdlZE5vdGlmaWNhdGlvbiIp
LCBudWxscHRyLCBudWxscHRyLCB0cnVlKTsKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKFJFTU9U
RV9JTlNQRUNUT1IpCiB2b2lkIFdlYlByb2Nlc3M6OmVuYWJsZVJlbW90ZVdlYkluc3BlY3Rvcigp
CiB7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>