<?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>40396</bug_id>
          
          <creation_ts>2010-06-09 17:49:36 -0700</creation_ts>
          <short_desc>Support for loading notification icons</short_desc>
          <delta_ts>2010-08-03 08:33:58 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>39995</blocked>
    
    <blocked>40004</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yael">yael</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>hausmann</cc>
    
    <cc>johnnyg</cc>
    
    <cc>kenneth</cc>
    
    <cc>laszlo.gombos</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>236106</commentid>
    <comment_count>0</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2010-06-09 17:49:36 -0700</bug_when>
    <thetext>As suggested in https://bugs.webkit.org/show_bug.cgi?id=40004, icon loading should be done in cross platform code.
This is the cross platform part, and https://bugs.webkit.org/show_bug.cgi?id=40004 would take care of the Qt specific code.
A patch is coming soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236111</commentid>
    <comment_count>1</comment_count>
      <attachid>58317</attachid>
    <who name="Yael">yael</who>
    <bug_when>2010-06-09 18:11:15 -0700</bug_when>
    <thetext>Created attachment 58317
Patch.

Make notification objects download the icon needed for displaying the notification before calling the NotificationPresenter to display the notification.

An error during the download would cause the notification to be displayed without an icon.

If a notification is in the process of download, and a new notification is created with the same ReplaceId, the download is not cancelled immediately and the notification is removed only after the download is complete.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236370</commentid>
    <comment_count>2</comment_count>
      <attachid>58317</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-06-10 08:03:50 -0700</bug_when>
    <thetext>Comment on attachment 58317
Patch.

Looks good, r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236392</commentid>
    <comment_count>3</comment_count>
      <attachid>58317</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-10 09:32:20 -0700</bug_when>
    <thetext>Comment on attachment 58317
Patch.

Clearing flags on attachment: 58317

Committed r60960: &lt;http://trac.webkit.org/changeset/60960&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>236393</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-06-10 09:32:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259468</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-08-03 08:33:58 -0700</bug_when>
    <thetext>Revision r60960 cherry-picked into qtwebkit-2.1 with commit 5765325aee8a79e7dedcfa4aa2a984bfb162c63d</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58317</attachid>
            <date>2010-06-09 18:11:15 -0700</date>
            <delta_ts>2010-06-10 09:32:20 -0700</delta_ts>
            <desc>Patch.</desc>
            <filename>40396.patch</filename>
            <type>text/plain</type>
            <size>25488</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA2MDkyNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDcgQEAKKzIwMTAtMDYtMDkgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFN1cHBvcnQgZm9yIGxvYWRpbmcgbm90aWZpY2F0aW9uIGljb25zCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00MDM5NgorCisgICAgICAgIE1ha2Ugbm90
aWZpY2F0aW9uIG9iamVjdHMgZG93bmxvYWQgdGhlIGljb24gbmVlZGVkIGZvciBkaXNwbGF5aW5n
IHRoZQorICAgICAgICBub3RpZmljYXRpb24gYmVmb3JlIGNhbGxpbmcgdGhlIE5vdGlmaWNhdGlv
blByZXNlbnRlciB0byBkaXNwbGF5IHRoZQorICAgICAgICBub3RpZmljYXRpb24uCisKKyAgICAg
ICAgQW4gZXJyb3IgZHVyaW5nIHRoZSBkb3dubG9hZCB3b3VsZCBjYXVzZSB0aGUgbm90aWZpY2F0
aW9uIHRvIGJlIGRpc3BsYXllZAorICAgICAgICB3aXRob3V0IGFuIGljb24uCisKKyAgICAgICAg
SWYgYSBub3RpZmljYXRpb24gaXMgaW4gdGhlIHByb2Nlc3Mgb2YgZG93bmxvYWQsIGFuZCBhIG5l
dyBub3RpZmljYXRpb24KKyAgICAgICAgaXMgY3JlYXRlZCB3aXRoIHRoZSBzYW1lIFJlcGxhY2VJ
ZCwgdGhlIGRvd25sb2FkIGlzIG5vdCBjYW5jZWxsZWQKKyAgICAgICAgaW1tZWRpYXRlbHkgYW5k
IHRoZSBub3RpZmljYXRpb24gaXMgcmVtb3ZlZCBvbmx5IGFmdGVyIHRoZSBkb3dubG9hZCBpcwor
ICAgICAgICBjb21wbGV0ZS4KKyAgCisgICAgICAgIFRlc3RzOiBodHRwL3Rlc3RzL25vdGlmaWNh
dGlvbnMvaWNvbi1kb2VzLW5vdC1leGlzdC5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3Rz
L25vdGlmaWNhdGlvbnMvaWNvbi1leGlzdHMtY2FuY2VsLmh0bWwKKyAgICAgICAgICAgICAgIGh0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9pY29uLWV4aXN0cy1zaG93LWFsZXJ0LWR1cmluZy1sb2Fk
Lmh0bWwKKyAgICAgICAgICAgICAgIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9pY29uLWV4aXN0
cy5odG1sCisgICAgICAgICAgICAgICBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvaWNvbi1yZXF1
aXJlcy1hdXRoLmh0bWwKKworICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6fk5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpOb3RpZmljYXRpb246OnNob3cpOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9u
OjpjYW5jZWwpOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpzdGFydExvYWRpbmcp
OgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpzdG9wTG9hZGluZyk6CisgICAgICAg
IChXZWJDb3JlOjpOb3RpZmljYXRpb246OmRpZFJlY2VpdmVSZXNwb25zZSk6CisgICAgICAgIChX
ZWJDb3JlOjpOb3RpZmljYXRpb246OmRpZFJlY2VpdmVEYXRhKToKKyAgICAgICAgKFdlYkNvcmU6
Ok5vdGlmaWNhdGlvbjo6ZGlkRmluaXNoTG9hZGluZyk6CisgICAgICAgIChXZWJDb3JlOjpOb3Rp
ZmljYXRpb246OmRpZEZhaWwpOgorICAgICAgICAoV2ViQ29yZTo6Tm90aWZpY2F0aW9uOjpkaWRG
YWlsUmVkaXJlY3RDaGVjayk6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246OmRpZFJl
Y2VpdmVBdXRoZW50aWNhdGlvbkNhbmNlbGxhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpOb3Rp
ZmljYXRpb246OmZpbmlzaExvYWRpbmcpOgorICAgICAgICAqIG5vdGlmaWNhdGlvbnMvTm90aWZp
Y2F0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjpOb3RpZmljYXRpb246Omljb25EYXRhKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6cmVsZWFzZUljb25EYXRhKToKKyAgICAgICAg
KFdlYkNvcmU6Ok5vdGlmaWNhdGlvbjo6KToKKwogMjAxMC0wNi0wOSAgQWRhbSBCYXJ0aCAgPGFi
YXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpJbmRl
eDogV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAJKHJldmlzaW9uIDYwOTIzKQor
KysgV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM4LDYgKzM4LDkgQEAKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRXZl
bnROYW1lcy5oIgorI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgorI2luY2x1ZGUgIlJlc291
cmNlUmVzcG9uc2UuaCIKKyNpbmNsdWRlICJUaHJlYWRhYmxlTG9hZGVyLmgiCiAjaW5jbHVkZSAi
V29ya2VyQ29udGV4dC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00NSw3ICs0OCw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIE5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKGNvbnN0IEtV
UkwmIHVybCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYg
ZWMsIE5vdGlmaWNhdGlvblByZXNlbnRlciogcHJvdmlkZXIpCiAgICAgOiBBY3RpdmVET01PYmpl
Y3QoY29udGV4dCwgdGhpcykKICAgICAsIG1faXNIVE1MKHRydWUpCi0gICAgLCBtX2lzU2hvd2lu
ZyhmYWxzZSkKKyAgICAsIG1fc3RhdGUoSWRsZSkKICAgICAsIG1fcHJlc2VudGVyKHByb3ZpZGVy
KQogewogICAgIEFTU0VSVChtX3ByZXNlbnRlcik7CkBAIC02Niw3ICs2OSw3IEBAIE5vdGlmaWNh
dGlvbjo6Tm90aWZpY2F0aW9uKGNvbnN0IE5vdGlmaWMKICAgICA6IEFjdGl2ZURPTU9iamVjdChj
b250ZXh0LCB0aGlzKQogICAgICwgbV9pc0hUTUwoZmFsc2UpCiAgICAgLCBtX2NvbnRlbnRzKGNv
bnRlbnRzKQotICAgICwgbV9pc1Nob3dpbmcoZmFsc2UpCisgICAgLCBtX3N0YXRlKElkbGUpCiAg
ICAgLCBtX3ByZXNlbnRlcihwcm92aWRlcikKIHsKICAgICBBU1NFUlQobV9wcmVzZW50ZXIpOwpA
QCAtODMsMjAgKzg2LDQ3IEBAIE5vdGlmaWNhdGlvbjo6Tm90aWZpY2F0aW9uKGNvbnN0IE5vdGlm
aWMKIAogTm90aWZpY2F0aW9uOjp+Tm90aWZpY2F0aW9uKCkgCiB7CisgICAgaWYgKG1fc3RhdGUg
PT0gTG9hZGluZykgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgY2Fu
Y2VsKCk7CisgICAgfQogICAgIG1fcHJlc2VudGVyLT5ub3RpZmljYXRpb25PYmplY3REZXN0cm95
ZWQodGhpcyk7CiB9CiAKIHZvaWQgTm90aWZpY2F0aW9uOjpzaG93KCkgCiB7CisjaWYgUExBVEZP
Uk0oUVQpCisgICAgaWYgKGljb25VUkwoKS5pc0VtcHR5KCkpIHsKKyAgICAgICAgLy8gU2V0IHRo
ZSBzdGF0ZSBiZWZvcmUgYWN0dWFsbHkgc2hvd2luZywgYmVjYXVzZQorICAgICAgICAvLyBoYW5k
bGluZyBvZiBvbmRpc3BsYXkgbWF5IHJlbHkgb24gdGhhdC4KKyAgICAgICAgaWYgKG1fc3RhdGUg
PT0gSWRsZSkgeworICAgICAgICAgICAgbV9zdGF0ZSA9IFNob3dpbmc7CisgICAgICAgICAgICBt
X3ByZXNlbnRlci0+c2hvdyh0aGlzKTsKKyAgICAgICAgfQorICAgIH0gZWxzZQorICAgICAgICBz
dGFydExvYWRpbmcoKTsKKyNlbHNlCiAgICAgLy8gcHJldmVudCBkb3VibGUtc2hvd2luZwotICAg
IGlmICghbV9pc1Nob3dpbmcpCi0gICAgICAgIG1faXNTaG93aW5nID0gbV9wcmVzZW50ZXItPnNo
b3codGhpcyk7CisgICAgaWYgKG1fc3RhdGUgPT0gSWRsZSAmJiBtX3ByZXNlbnRlci0+c2hvdyh0
aGlzKSkKKyAgICAgICAgbV9zdGF0ZSA9IFNob3dpbmc7CisjZW5kaWYKIH0KIAogdm9pZCBOb3Rp
ZmljYXRpb246OmNhbmNlbCgpIAogewotICAgIGlmIChtX2lzU2hvd2luZykKKyAgICBzd2l0Y2gg
KG1fc3RhdGUpIHsKKyAgICBjYXNlIElkbGU6CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgTG9h
ZGluZzoKKyAgICAgICAgbV9zdGF0ZSA9IENhbmNlbGxlZDsKKyAgICAgICAgc3RvcExvYWRpbmco
KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBTaG93aW5nOgogICAgICAgICBtX3ByZXNlbnRl
ci0+Y2FuY2VsKHRoaXMpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENhbmNlbGxlZDoKKyAg
ICAgICAgYnJlYWs7CisgICAgfQogfQogCiBFdmVudFRhcmdldERhdGEqIE5vdGlmaWNhdGlvbjo6
ZXZlbnRUYXJnZXREYXRhKCkKQEAgLTEwOSw2ICsxMzksNzMgQEAgRXZlbnRUYXJnZXREYXRhKiBO
b3RpZmljYXRpb246OmVuc3VyZUV2ZQogICAgIHJldHVybiAmbV9ldmVudFRhcmdldERhdGE7CiB9
CiAKKwordm9pZCBOb3RpZmljYXRpb246OnN0YXJ0TG9hZGluZygpCit7CisgICAgaWYgKG1fc3Rh
dGUgIT0gSWRsZSkKKyAgICAgICAgcmV0dXJuOworICAgIHNldFBlbmRpbmdBY3Rpdml0eSh0aGlz
KTsKKyAgICBtX3N0YXRlID0gTG9hZGluZzsKKyAgICBUaHJlYWRhYmxlTG9hZGVyT3B0aW9ucyBv
cHRpb25zOworICAgIG9wdGlvbnMuc2VuZExvYWRDYWxsYmFja3MgPSBmYWxzZTsKKyAgICBvcHRp
b25zLnNuaWZmQ29udGVudCA9IGZhbHNlOworICAgIG9wdGlvbnMuZm9yY2VQcmVmbGlnaHQgPSBm
YWxzZTsKKyAgICBvcHRpb25zLmFsbG93Q3JlZGVudGlhbHMgPSBBbGxvd1N0b3JlZENyZWRlbnRp
YWxzOworICAgIG9wdGlvbnMuY3Jvc3NPcmlnaW5SZXF1ZXN0UG9saWN5ID0gQWxsb3dDcm9zc09y
aWdpblJlcXVlc3RzOworICAgIG1fbG9hZGVyID0gVGhyZWFkYWJsZUxvYWRlcjo6Y3JlYXRlKHNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgdGhpcywgUmVzb3VyY2VSZXF1ZXN0KGljb25VUkwoKSks
IG9wdGlvbnMpOworfQorCit2b2lkIE5vdGlmaWNhdGlvbjo6c3RvcExvYWRpbmcoKQoreworICAg
IG1faWNvbkRhdGEgPSAwOworICAgIFJlZlB0cjxUaHJlYWRhYmxlTG9hZGVyPiBwcm90ZWN0KG1f
bG9hZGVyKTsKKyAgICBtX2xvYWRlci0+Y2FuY2VsKCk7Cit9CisKK3ZvaWQgTm90aWZpY2F0aW9u
OjpkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCit7
CisgICAgaW50IHN0YXR1cyA9IHJlc3BvbnNlLmh0dHBTdGF0dXNDb2RlKCk7CisgICAgaWYgKHN0
YXR1cyAmJiAoc3RhdHVzIDwgMjAwIHx8IHN0YXR1cyA+IDI5OSkpIHsKKyAgICAgICAgc3RvcExv
YWRpbmcoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBtX2ljb25EYXRhID0gU2hhcmVk
QnVmZmVyOjpjcmVhdGUoKTsKK30KKwordm9pZCBOb3RpZmljYXRpb246OmRpZFJlY2VpdmVEYXRh
KGNvbnN0IGNoYXIqIGRhdGEsIGludCBsZW5ndGhSZWNlaXZlZCkKK3sKKyAgICBtX2ljb25EYXRh
LT5hcHBlbmQoZGF0YSwgbGVuZ3RoUmVjZWl2ZWQpOworfQorCit2b2lkIE5vdGlmaWNhdGlvbjo6
ZGlkRmluaXNoTG9hZGluZyh1bnNpZ25lZCBsb25nKQoreworICAgIGZpbmlzaExvYWRpbmcoKTsK
K30KKwordm9pZCBOb3RpZmljYXRpb246OmRpZEZhaWwoY29uc3QgUmVzb3VyY2VFcnJvciYpCit7
CisgICAgZmluaXNoTG9hZGluZygpOworfQorCit2b2lkIE5vdGlmaWNhdGlvbjo6ZGlkRmFpbFJl
ZGlyZWN0Q2hlY2soKQoreworICAgIGZpbmlzaExvYWRpbmcoKTsKK30KKwordm9pZCBOb3RpZmlj
YXRpb246OmRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNhbmNlbGxhdGlvbihjb25zdCBSZXNvdXJj
ZVJlc3BvbnNlJikKK3sKKyAgICBmaW5pc2hMb2FkaW5nKCk7Cit9CisKK3ZvaWQgTm90aWZpY2F0
aW9uOjpmaW5pc2hMb2FkaW5nKCkKK3sKKyAgICBpZiAobV9zdGF0ZSA9PSBMb2FkaW5nKSB7Cisg
ICAgICAgIGlmIChtX3ByZXNlbnRlci0+c2hvdyh0aGlzKSkKKyAgICAgICAgICAgIG1fc3RhdGUg
PSBTaG93aW5nOworICAgIH0KKyAgICB1bnNldFBlbmRpbmdBY3Rpdml0eSh0aGlzKTsKK30KKwog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKE5PVElGSUNBVElPTlMp
CkluZGV4OiBXZWJDb3JlL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5oCShyZXZpc2lvbiA2MDkyMykK
KysrIFdlYkNvcmUvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb24uaAkod29ya2luZyBjb3B5KQpA
QCAtNDMsNiArNDMsOSBAQAogI2luY2x1ZGUgIk5vdGlmaWNhdGlvblByZXNlbnRlci5oIgogI2lu
Y2x1ZGUgIk5vdGlmaWNhdGlvbkNvbnRlbnRzLmgiCiAjaW5jbHVkZSAiUmVnaXN0ZXJlZEV2ZW50
TGlzdGVuZXIuaCIKKyNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKKyNpbmNsdWRlICJUaHJlYWRh
YmxlTG9hZGVyLmgiCisjaW5jbHVkZSAiVGhyZWFkYWJsZUxvYWRlckNsaWVudC5oIgogI2luY2x1
ZGUgPHd0Zi9Pd25QdHIuaD4KICNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CkBAIC01Myw3ICs1Niw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAogICAgIGNsYXNzIFdvcmtlckNvbnRleHQ7CiAKLSAgICBjbGFzcyBOb3RpZmljYXRpb24gOiBw
dWJsaWMgUmVmQ291bnRlZDxOb3RpZmljYXRpb24+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBw
dWJsaWMgRXZlbnRUYXJnZXQgeyAKKyAgICBjbGFzcyBOb3RpZmljYXRpb24gOiBwdWJsaWMgUmVm
Q291bnRlZDxOb3RpZmljYXRpb24+LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0LCBwdWJsaWMgVGhy
ZWFkYWJsZUxvYWRlckNsaWVudCwgcHVibGljIEV2ZW50VGFyZ2V0IHsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPE5vdGlmaWNhdGlvbj4gY3JlYXRlKGNvbnN0IEtVUkwm
IHVybCwgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgRXhjZXB0aW9uQ29kZSYgZWMs
IE5vdGlmaWNhdGlvblByZXNlbnRlciogcHJvdmlkZXIpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBO
b3RpZmljYXRpb24odXJsLCBjb250ZXh0LCBlYywgcHJvdmlkZXIpKTsgfQogICAgICAgICBzdGF0
aWMgUGFzc1JlZlB0cjxOb3RpZmljYXRpb24+IGNyZWF0ZShjb25zdCBOb3RpZmljYXRpb25Db250
ZW50cyYgY29udGVudHMsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIEV4Y2VwdGlv
bkNvZGUmIGVjLCBOb3RpZmljYXRpb25QcmVzZW50ZXIqIHByb3ZpZGVyKSB7IHJldHVybiBhZG9w
dFJlZihuZXcgTm90aWZpY2F0aW9uKGNvbnRlbnRzLCBjb250ZXh0LCBlYywgcHJvdmlkZXIpKTsg
fQpAQCAtODQsNiArODcsMTggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2aXJ0dWFs
IFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdCB7
IHJldHVybiBBY3RpdmVET01PYmplY3Q6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogICAg
ICAgICB2aXJ0dWFsIE5vdGlmaWNhdGlvbiogdG9Ob3RpZmljYXRpb24oKSB7IHJldHVybiB0aGlz
OyB9CiAKKyAgICAgICAgdm9pZCBzdG9wTG9hZGluZygpOworCisgICAgICAgIFNoYXJlZEJ1ZmZl
ciogaWNvbkRhdGEoKSB7IHJldHVybiBtX2ljb25EYXRhLmdldCgpOyB9CisgICAgICAgIHZvaWQg
cmVsZWFzZUljb25EYXRhKCkgeyBtX2ljb25EYXRhID0gMDsgfQorCisgICAgICAgIHZpcnR1YWwg
dm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgUmVzb3VyY2VSZXNwb25zZSYpOworICAgICAg
ICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgY2hhciogZGF0YSwgaW50IGxlbmd0
aFJlY2VpdmVkKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRpbmcodW5zaWdu
ZWQgbG9uZyBpZGVudGlmaWVyKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpZEZhaWwoY29uc3Qg
UmVzb3VyY2VFcnJvciYpOworICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkRmFpbFJlZGlyZWN0Q2hl
Y2soKTsKKyAgICAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVBdXRoZW50aWNhdGlvbkNhbmNl
bGxhdGlvbihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJik7CisKICAgICBwcml2YXRlOgogICAgICAg
ICBOb3RpZmljYXRpb24oY29uc3QgS1VSTCYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBFeGNl
cHRpb25Db2RlJiwgTm90aWZpY2F0aW9uUHJlc2VudGVyKik7CiAgICAgICAgIE5vdGlmaWNhdGlv
bihjb25zdCBOb3RpZmljYXRpb25Db250ZW50cyYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqLCBF
eGNlcHRpb25Db2RlJiwgTm90aWZpY2F0aW9uUHJlc2VudGVyKik7CkBAIC05NCwxOCArMTA5LDMy
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdmlydHVhbCBFdmVudFRhcmdldERhdGEq
IGV2ZW50VGFyZ2V0RGF0YSgpOwogICAgICAgICB2aXJ0dWFsIEV2ZW50VGFyZ2V0RGF0YSogZW5z
dXJlRXZlbnRUYXJnZXREYXRhKCk7CiAKKyAgICAgICAgdm9pZCBzdGFydExvYWRpbmcoKTsKKyAg
ICAgICAgdm9pZCBmaW5pc2hMb2FkaW5nKCk7CisKICAgICAgICAgYm9vbCBtX2lzSFRNTDsKICAg
ICAgICAgS1VSTCBtX25vdGlmaWNhdGlvblVSTDsKICAgICAgICAgTm90aWZpY2F0aW9uQ29udGVu
dHMgbV9jb250ZW50czsKIAogICAgICAgICBTdHJpbmcgbV9kaXJlY3Rpb247CiAgICAgICAgIFN0
cmluZyBtX3JlcGxhY2VJZDsKLSAgICAgIAotICAgICAgICBib29sIG1faXNTaG93aW5nOworCisK
KyAgICAgICAgZW51bSBOb3RpZmljYXRpb25TdGF0ZSB7CisgICAgICAgICAgICBJZGxlID0gMCwK
KyAgICAgICAgICAgIExvYWRpbmcgPSAxLAorICAgICAgICAgICAgU2hvd2luZyA9IDIsCisgICAg
ICAgICAgICBDYW5jZWxsZWQgPSAzCisgICAgICAgIH07CisKKyAgICAgICAgTm90aWZpY2F0aW9u
U3RhdGUgbV9zdGF0ZTsKIAogICAgICAgICBOb3RpZmljYXRpb25QcmVzZW50ZXIqIG1fcHJlc2Vu
dGVyOwogICAgICAgICAKICAgICAgICAgRXZlbnRUYXJnZXREYXRhIG1fZXZlbnRUYXJnZXREYXRh
OworCisgICAgICAgIFJlZlB0cjxUaHJlYWRhYmxlTG9hZGVyPiBtX2xvYWRlcjsKKyAgICAgICAg
UmVmUHRyPFNoYXJlZEJ1ZmZlcj4gbV9pY29uRGF0YTsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA2MDkyNikKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI5IEBACisyMDEwLTA2LTA5ICBZYWVsIEFo
YXJvbiAgPHlhZWwuYWhhcm9uQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBTdXBwb3J0IGZvciBsb2FkaW5nIG5vdGlmaWNhdGlvbiBp
Y29ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDAz
OTYKKworICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9uczogQWRkZWQuCisgICAgICAg
ICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2ljb24tZG9lcy1ub3QtZXhpc3QtZXhwZWN0ZWQu
dHh0OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvaWNvbi1kb2Vz
LW5vdC1leGlzdC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlv
bnMvaWNvbi1leGlzdHMtY2FuY2VsLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0
cC90ZXN0cy9ub3RpZmljYXRpb25zL2ljb24tZXhpc3RzLWNhbmNlbC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvaWNvbi1leGlzdHMtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvaWNvbi1leGlzdHMt
c2hvdy1hbGVydC1kdXJpbmctbG9hZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9pY29uLWV4aXN0cy1zaG93LWFsZXJ0LWR1cmluZy1sb2Fk
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGh0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9pY29uLWV4
aXN0cy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvaWNv
bi1yZXF1aXJlcy1hdXRoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL2ljb24tcmVxdWlyZXMtYXV0aC5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBodHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvcmVzb3VyY2VzOiBBZGRlZC4KKyAgICAgICAgKiBo
dHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvcmVzb3VyY2VzL2ljb24tZXhpc3RzLnBuZzogQWRkZWQu
CisgICAgICAgICogaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9pY29uLXJlcXVp
cmVzLWF1dGgucGhwOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4
cGVjdGF0aW9ucy50eHQ6CisgICAgICAgICogcGxhdGZvcm0vZ3RrL1NraXBwZWQ6CisgICAgICAg
ICogcGxhdGZvcm0vbWFjL1NraXBwZWQ6CisgICAgICAgICogcGxhdGZvcm0vd2luL1NraXBwZWQ6
CisKIDIwMTAtMDYtMDkgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMv
bm90aWZpY2F0aW9ucy9pY29uLWRvZXMtbm90LWV4aXN0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvaWNvbi1kb2VzLW5vdC1l
eGlzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L25vdGlmaWNhdGlvbnMvaWNvbi1kb2VzLW5vdC1leGlzdC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNSBAQAorREVTS1RPUCBOT1RJRklDQVRJT046IGljb24gaHR0cDovLzEy
Ny4wLjAuMTo4MDAwL25vdGlmaWNhdGlvbnMvcmVzb3VyY2VzL2ljb24tZG9lcy1ub3QtZXhpc3Qu
cGhwLCB0aXRsZSBOZXcgRS1tYWlsLCB0ZXh0IE1lZXQgbWUgdG9uaWdodCBhdCA4IQorU2VuZGlu
ZyBub3RpZmljYXRpb25zIHdpdGggbWlzc2luZyBpY29uLiBUaGUgbG9hZCB3b3VsZCBmYWlsLCBi
dXQgdGhlIG5vdGlmaWNhdGlvbiBzaG91bGQgYmUgZGlzcGxheWVkLgorCitQQVNTOiBkaXNwbGF5
IGV2ZW50IGludm9rZWQuCisKSW5kZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9pY29uLWRvZXMtbm90LWV4aXN0Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2ljb24tZG9lcy1ub3QtZXhpc3QuaHRtbAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9pY29uLWRvZXMt
bm90LWV4aXN0Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzcgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
CisgICAgICAgIGZ1bmN0aW9uIGxvZyhtZXNzYWdlKQorICAgICAgICB7CisgICAgICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MICs9IG1lc3NhZ2UgKyAi
PGJyPiI7CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIGZ1bmN0aW9uIHJ1blRlc3RzKCkK
KyAgICAgICAgeworICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikg
eworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmdyYW50RGVza3RvcE5vdGlm
aWNhdGlvblBlcm1pc3Npb24oImh0dHA6Ly8xMjcuMC4wLjEiKTsKKyAgICAgICAgICAgICAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgbGF5b3V0
VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBpZiAoIXdpbmRvdy53ZWJraXROb3RpZmljYXRpb25zKSB7CisgICAgICAgICAgICAgICAg
bG9nKCJGQUlMOiBObyB3ZWJraXROb3RpZmljYXRpb25zIGludGVyZmFjZSEiKTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIAorICAgICAgICAgICAgdmFyIE4gPSB3aW5kb3cud2Via2l0Tm90
aWZpY2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oInJlc291cmNlcy9pY29uLWRvZXMtbm90LWV4
aXN0LnBocCIsICJOZXcgRS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdodCBhdCA4ISIpOworCisgICAg
ICAgICAgICBOLm9uZGlzcGxheSA9IGZ1bmN0aW9uKCkgeyBsb2coIlBBU1M6IGRpc3BsYXkgZXZl
bnQgaW52b2tlZC4iKTsgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpO30KKyAgICAg
ICAgICAgIE4uc2hvdygpOworICAgICAgICB9CisgICAgPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxwPlNlbmRpbmcgbm90aWZpY2F0aW9ucyB3aXRoIG1pc3NpbmcgaWNvbi4gVGhlIGxvYWQg
d291bGQgZmFpbCwgYnV0IHRoZSBub3RpZmljYXRpb24gc2hvdWxkIGJlIGRpc3BsYXllZC48L3A+
Cis8ZGl2IGlkPSJyZXN1bHQiPjwvZGl2PiAgICAKKyAgICAKKzxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij4KK3J1blRlc3RzKCk7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5k
ZXg6IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9pY29uLWV4aXN0cy1jYW5j
ZWwtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90
aWZpY2F0aW9ucy9pY29uLWV4aXN0cy1jYW5jZWwtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2ljb24tZXhpc3RzLWNhbmNl
bC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNSBAQAorREVTS1RPUCBOT1RJ
RklDQVRJT046IGljb24gaHR0cDovLzEyNy4wLjAuMTo4MDAwL25vdGlmaWNhdGlvbnMvcmVzb3Vy
Y2VzL2ljb24tZXhpc3RzLnBuZywgdGl0bGUgU2Vjb25kIEUtbWFpbCwgdGV4dCBBY3R1YWxseSwg
bWVldCBtZSB0b25pZ2h0IGF0IDkhCitTZW5kaW5nIG5vdGlmaWNhdGlvbiwgY2FuY2VsbGluZyBp
dCB3aGlsZSB0aGUgaWNvbiBpcyBsb2FkaW5nIGFuZCBzZW5kaW5nIGEgc2Vjb25kIG5vdGlmaWNh
dGlvbi4gT25seSB0aGUgc2Vjb25kIG5vdGlmaWNhdGlvbiBzaG91bGQgYmUgZGlzcGxheWVkCisK
K1BBU1M6IGRpc3BsYXkgZXZlbnQgaW52b2tlZC4KKwpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9ub3RpZmljYXRpb25zL2ljb24tZXhpc3RzLWNhbmNlbC5odG1sCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9pY29uLWV4aXN0cy1jYW5jZWwu
aHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9u
cy9pY29uLWV4aXN0cy1jYW5jZWwuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9q
YXZhc2NyaXB0Ij4KKyAgICAgICAgZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0g
bWVzc2FnZSArICI8YnI+IjsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24g
cnVuVGVzdHMoKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSB7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZ3JhbnRE
ZXNrdG9wTm90aWZpY2F0aW9uUGVybWlzc2lvbigiaHR0cDovLzEyNy4wLjAuMSIpOworICAgICAg
ICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIGlmICghd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKKyAgICAg
ICAgICAgICAgICBsb2coIkZBSUw6IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIp
OworICAgICAgICAgICAgfQorICAgICAgICAgICAgdmFyIE4gPSB3aW5kb3cud2Via2l0Tm90aWZp
Y2F0aW9ucy5jcmVhdGVOb3RpZmljYXRpb24oInJlc291cmNlcy9pY29uLWV4aXN0cy5wbmciLCAi
TmV3IEUtbWFpbCIsICJNZWV0IG1lIHRvbmlnaHQgYXQgOCEiKTsKKyAgICAgICAgICAgIE4ub25k
aXNwbGF5ID0gZnVuY3Rpb24oKSB7IGxvZygiRkFJTDogZGlzcGxheSBldmVudCBpbnZva2VkLiIp
OyBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7IH0KKyAgICAgICAgICAgIE4ub25j
bG9zZSA9IGZ1bmN0aW9uKCkgeyBsb2coIkZBSUw6IGNsb3NlIGV2ZW50IGludm9rZWQuIik7IGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsgfQorICAgICAgICAgICAgTi5zaG93KCk7
CisgICAgICAgICAgICBOLmNhbmNlbCgpOworICAgICAgICAgICAgdmFyIG90aGVyID0gd2luZG93
LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCJyZXNvdXJjZXMvaWNvbi1l
eGlzdHMucG5nIiwgIlNlY29uZCBFLW1haWwiLCAiQWN0dWFsbHksIG1lZXQgbWUgdG9uaWdodCBh
dCA5ISIpOworICAgICAgICAgICAgb3RoZXIub25kaXNwbGF5ID0gZnVuY3Rpb24oKSB7IGxvZygi
UEFTUzogZGlzcGxheSBldmVudCBpbnZva2VkLiIpOyBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3Rp
ZnlEb25lKCk7IH0KKyAgICAgICAgICAgIG90aGVyLnNob3coKTsKKyAgICAgICAgfQorICAgIDwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5TZW5kaW5nIG5vdGlmaWNhdGlvbiwgY2FuY2Vs
bGluZyBpdCB3aGlsZSB0aGUgaWNvbiBpcyBsb2FkaW5nIGFuZCBzZW5kaW5nIGEgc2Vjb25kIG5v
dGlmaWNhdGlvbi4gT25seSB0aGUgc2Vjb25kIG5vdGlmaWNhdGlvbiBzaG91bGQgYmUgZGlzcGxh
eWVkPC9wPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4gICAgCisgICAgCis8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCI+CitydW5UZXN0cygpOworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0
bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvaWNvbi1leGlz
dHMtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90
aWZpY2F0aW9ucy9pY29uLWV4aXN0cy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvaWNvbi1leGlzdHMtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKK0RFU0tUT1AgTk9USUZJQ0FUSU9OOiBpY29u
IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9pY29uLWV4aXN0
cy5wbmcsIHRpdGxlIE5ldyBFLW1haWwsIHRleHQgTWVldCBtZSB0b25pZ2h0IGF0IDghCitTZW5k
aW5nIG5vdGlmaWNhdGlvbnMgd2l0aCBhbiBpY29uLiBUaGUgaWNvbiBzaG91bGQgYmUgbG9hZGVk
LgorCitQQVNTOiBkaXNwbGF5IGV2ZW50IGludm9rZWQuCisKSW5kZXg6IExheW91dFRlc3RzL2h0
dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9pY29uLWV4aXN0cy1zaG93LWFsZXJ0LWR1cmluZy1sb2Fk
LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlm
aWNhdGlvbnMvaWNvbi1leGlzdHMtc2hvdy1hbGVydC1kdXJpbmctbG9hZC1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvaWNv
bi1leGlzdHMtc2hvdy1hbGVydC1kdXJpbmctbG9hZC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNiBAQAorQUxFUlQ6IExvYWQgc2hvdWxkIGJlIGRlZmVycmVkIGR1ZSB0byBh
bGVydAorREVTS1RPUCBOT1RJRklDQVRJT046IGljb24gaHR0cDovLzEyNy4wLjAuMTo4MDAwL25v
dGlmaWNhdGlvbnMvcmVzb3VyY2VzL2ljb24tZXhpc3RzLnBuZywgdGl0bGUgTmV3IEUtbWFpbCwg
dGV4dCBNZWV0IG1lIHRvbmlnaHQgYXQgOCEKK1NlbmRpbmcgbm90aWZpY2F0aW9uLCBhbmQgdGhl
biBhbGVydC4gTG9hZCBzaG91bGQgYmUgZGVmZXJyZWQgYnV0IGNvbnRpbnVlIGFmdGVyIHRoZSBh
bGVydC4KKworUEFTUzogZGlzcGxheSBldmVudCBpbnZva2VkLgorCkluZGV4OiBMYXlvdXRUZXN0
cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvaWNvbi1leGlzdHMtc2hvdy1hbGVydC1kdXJpbmct
bG9hZC5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0
aW9ucy9pY29uLWV4aXN0cy1zaG93LWFsZXJ0LWR1cmluZy1sb2FkLmh0bWwJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvaWNvbi1leGlzdHMtc2hv
dy1hbGVydC1kdXJpbmctbG9hZC5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDM2IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiPgorICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkKKyAgICAgICAgeworICAg
ICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCArPSBt
ZXNzYWdlICsgIjxicj4iOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBmdW5jdGlvbiBy
dW5UZXN0cygpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ncmFudERl
c2t0b3BOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJodHRwOi8vMTI3LjAuMC4xIik7CisgICAgICAg
ICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAg
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAgICAgICAgICAgIH0K
KworICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0aW9ucykgeworICAgICAg
ICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9ucyBpbnRlcmZhY2UhIik7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICB2YXIgTiA9IHdpbmRvdy53ZWJraXROb3RpZmlj
YXRpb25zLmNyZWF0ZU5vdGlmaWNhdGlvbigicmVzb3VyY2VzL2ljb24tZXhpc3RzLnBuZyIsICJO
ZXcgRS1tYWlsIiwgIk1lZXQgbWUgdG9uaWdodCBhdCA4ISIpOworICAgICAgICAgICAgTi5vbmRp
c3BsYXkgPSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBkaXNwbGF5IGV2ZW50IGludm9rZWQuIik7
IGxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsgfQorICAgICAgICAgICAgTi5zaG93
KCk7CisgICAgICAgICAgICBhbGVydCgiTG9hZCBzaG91bGQgYmUgZGVmZXJyZWQgZHVlIHRvIGFs
ZXJ0Iik7CisgICAgICAgIH0KKyAgICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHA+U2Vu
ZGluZyBub3RpZmljYXRpb24sIGFuZCB0aGVuIGFsZXJ0LiBMb2FkIHNob3VsZCBiZSBkZWZlcnJl
ZCBidXQgY29udGludWUgYWZ0ZXIgdGhlIGFsZXJ0LjwvcD4KKzxkaXYgaWQ9InJlc3VsdCI+PC9k
aXY+ICAgIAorICAgIAorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorcnVuVGVzdHMo
KTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9ub3RpZmljYXRpb25zL2ljb24tZXhpc3RzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2ljb24tZXhpc3RzLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvaWNvbi1leGlzdHMu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICAgICAg
ZnVuY3Rpb24gbG9nKG1lc3NhZ2UpCisgICAgICAgIHsKKyAgICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgKz0gbWVzc2FnZSArICI8YnI+IjsKKyAg
ICAgICAgfQorICAgICAgICAKKyAgICAgICAgZnVuY3Rpb24gcnVuVGVzdHMoKQorICAgICAgICB7
CisgICAgICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAg
ICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZ3JhbnREZXNrdG9wTm90aWZpY2F0aW9uUGVy
bWlzc2lvbigiaHR0cDovLzEyNy4wLjAuMSIpOworICAgICAgICAgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJv
bGxlci53YWl0VW50aWxEb25lKCk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmICgh
d2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMpIHsKKyAgICAgICAgICAgICAgICBsb2coIkZBSUw6
IE5vIHdlYmtpdE5vdGlmaWNhdGlvbnMgaW50ZXJmYWNlISIpOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgCisgICAgICAgICAgICB2YXIgTiA9IHdpbmRvdy53ZWJraXROb3RpZmljYXRpb25z
LmNyZWF0ZU5vdGlmaWNhdGlvbigicmVzb3VyY2VzL2ljb24tZXhpc3RzLnBuZyIsICJOZXcgRS1t
YWlsIiwgIk1lZXQgbWUgdG9uaWdodCBhdCA4ISIpOworICAgICAgICAgICAgTi5vbmRpc3BsYXkg
PSBmdW5jdGlvbigpIHsgbG9nKCJQQVNTOiBkaXNwbGF5IGV2ZW50IGludm9rZWQuIik7IGxheW91
dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTt9CisgICAgICAgICAgICBOLnNob3coKTsKKyAg
ICAgICAgfQorICAgIDwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5TZW5kaW5nIG5vdGlm
aWNhdGlvbnMgd2l0aCBhbiBpY29uLiBUaGUgaWNvbiBzaG91bGQgYmUgbG9hZGVkLjwvcD4KKzxk
aXYgaWQ9InJlc3VsdCI+PC9kaXY+ICAgIAorICAgIAorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFz
Y3JpcHQiPgorcnVuVGVzdHMoKTsKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDog
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2ljb24tcmVxdWlyZXMtYXV0aC1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmlj
YXRpb25zL2ljb24tcmVxdWlyZXMtYXV0aC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvaWNvbi1yZXF1aXJlcy1hdXRoLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1IEBACitERVNLVE9QIE5PVElGSUNB
VElPTjogaWNvbiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMv
aWNvbi1yZXF1aXJlcy1hdXRoLnBocCwgdGl0bGUgTmV3IEUtbWFpbCwgdGV4dCBNZWV0IG1lIHRv
bmlnaHQgYXQgOCEKK1NlbmRpbmcgbm90aWZpY2F0aW9uIHRoYXQgcmVxdWlyZXMgYXV0aGVudGlj
YXRpb24uIFRoZSBsb2FkIHdvdWxkIGZhaWwsIGJ1dCB0aGUgbm90aWZpY2F0aW9uIHdvdWxkIGJl
IGRpc3BsYXllZC4KKworUEFTUzogZGlzcGxheSBldmVudCBpbnZva2VkLgorCkluZGV4OiBMYXlv
dXRUZXN0cy9odHRwL3Rlc3RzL25vdGlmaWNhdGlvbnMvaWNvbi1yZXF1aXJlcy1hdXRoLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL2ljb24t
cmVxdWlyZXMtYXV0aC5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL2ljb24tcmVxdWlyZXMtYXV0aC5odG1sCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgICAgPHNjcmlw
dCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgICAgICBmdW5jdGlvbiBsb2cobWVzc2FnZSkK
KyAgICAgICAgeworICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIp
LmlubmVySFRNTCArPSBtZXNzYWdlICsgIjxicj4iOworICAgICAgICB9CisgICAgICAgIAorICAg
ICAgICBmdW5jdGlvbiBydW5UZXN0cygpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29u
dHJvbGxlci5ncmFudERlc2t0b3BOb3RpZmljYXRpb25QZXJtaXNzaW9uKCJodHRwOi8vMTI3LjAu
MC4xIik7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCF3aW5kb3cud2Via2l0Tm90aWZpY2F0
aW9ucykgeworICAgICAgICAgICAgICAgIGxvZygiRkFJTDogTm8gd2Via2l0Tm90aWZpY2F0aW9u
cyBpbnRlcmZhY2UhIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICAKKyAgICAgICAgICAg
IHZhciBOID0gd2luZG93LndlYmtpdE5vdGlmaWNhdGlvbnMuY3JlYXRlTm90aWZpY2F0aW9uKCJy
ZXNvdXJjZXMvaWNvbi1yZXF1aXJlcy1hdXRoLnBocCIsICJOZXcgRS1tYWlsIiwgIk1lZXQgbWUg
dG9uaWdodCBhdCA4ISIpOworICAgICAgICAgICAgTi5vbmRpc3BsYXkgPSBmdW5jdGlvbigpIHsg
bG9nKCJQQVNTOiBkaXNwbGF5IGV2ZW50IGludm9rZWQuIik7IGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTt9CisgICAgICAgICAgICBOLnNob3coKTsKKyAgICAgICAgfQorICAgIDwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cD5TZW5kaW5nIG5vdGlmaWNhdGlvbiB0aGF0IHJl
cXVpcmVzIGF1dGhlbnRpY2F0aW9uLiBUaGUgbG9hZCB3b3VsZCBmYWlsLCBidXQgdGhlIG5vdGlm
aWNhdGlvbiB3b3VsZCBiZSBkaXNwbGF5ZWQuPC9wPgorPGRpdiBpZD0icmVzdWx0Ij48L2Rpdj4g
ICAgCisgICAgCis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CitydW5UZXN0cygpOwor
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9odHRwL3Rlc3Rz
L25vdGlmaWNhdGlvbnMvcmVzb3VyY2VzL2ljb24tcmVxdWlyZXMtYXV0aC5waHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9pY29u
LXJlcXVpcmVzLWF1dGgucGhwCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9ub3RpZmljYXRpb25zL3Jlc291cmNlcy9pY29uLXJlcXVpcmVzLWF1dGgucGhwCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDYgQEAKKzw/cGhwCisgICBoZWFkZXIoJ1dXVy1BdXRoZW50aWNhdGU6
IEJhc2ljIHJlYWxtPSJXZWJLaXQgVGVzdCBSZWFsbSInKTsKKyAgIGhlYWRlcignSFRUUC8xLjAg
NDAxIFVuYXV0aG9yaXplZCcpOworICAgZWNobyAnQXV0aGVudGljYXRpb24gY2FuY2VsZWQnOwor
ICAgZXhpdDsKKz8+CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS90ZXN0X2V4
cGVjdGF0aW9ucy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vdGVzdF9leHBlY3RhdGlvbnMudHh0CShyZXZpc2lvbiA2MDkyMykKKysrIExheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3Rlc3RfZXhwZWN0YXRpb25zLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMjg1MiwzICsyODUyLDcgQEAgQlVHNDYwOTYgOiBlZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQt
c2VsZQogCiAvLyBGbGFreSBzaW5jZSBhdCBsZWFzdCByNjAyNzYKIEJVRzQ2MTU3IFdJTiBSRUxF
QVNFIDogdHJhbnNmb3Jtcy8yZC90cmFuc2Zvcm0tdmFsdWUtdHlwZXMuaHRtbCA9IFBBU1MgVEVY
VAorCisvLyBDaHJvbWl1bSBkb2VzIG5vdCB1c2UgdGhlIGljb24gbG9hZGVyIGluIFdlYkNvcmUg
Zm9yIGxvYWRpbmcgbm90aWZpY2F0aW9ucy4KK1dPTlRGSVggU0tJUCA6IGh0dHAvdGVzdHMvbm90
aWZpY2F0aW9ucyA9IEZBSUwKKwpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBw
ZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQJKHJldmlz
aW9uIDYwOTIzKQorKysgTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQJKHdvcmtpbmcg
Y29weSkKQEAgLTEyODcsNiArMTI4Nyw3IEBAIGZhc3QvbG9hZGluZy9zdWJmcmFtZS1yZW1vdmVz
LWl0c2VsZi5odG0KIGZhc3QvZmFzdC1tb2JpbGUtc2Nyb2xsaW5nL2ZpeGVkLXBvc2l0aW9uLWVs
ZW1lbnQuaHRtbAogZmFzdC9mYXN0LW1vYmlsZS1zY3JvbGxpbmcvbm8tZml4ZWQtcG9zaXRpb24t
ZWxlbWVudHMuaHRtbAogZmFzdC9ub3RpZmljYXRpb25zCitodHRwL3Rlc3RzL25vdGlmaWNhdGlv
bnMKIGZhc3QvcmVnZXgvdGVzdDEuaHRtbAogZmFzdC9yZWdleC90ZXN0NC5odG1sCiBmYXN0L3Jl
cGxhY2VkL3RhYmxlLXBlcmNlbnQtaGVpZ2h0LXRleHQtY29udHJvbHMuaHRtbApJbmRleDogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL1NraXBwZWQJKHJldmlzaW9uIDYwOTIzKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTY5LDYgKzY5LDcgQEAgaHR0cC90
ZXN0cy9tZWRpYS92aWRlby1wbGF5LXN1c3BlbmQuaHRtbAogCiAjIFRoaXMgcG9ydCBkb2Vzbid0
IHN1cHBvcnQgTm90aWZpY2F0aW9ucy4KIGZhc3Qvbm90aWZpY2F0aW9ucworaHR0cC90ZXN0cy9u
b3RpZmljYXRpb25zCiAKICMgU2tpcHBlZCB3aGlsZSBFcmljIENhcmxzb24gd29ya3Mgb24gYSBm
aXguCiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODIyMQpJbmRl
eDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0
VGVzdHMvcGxhdGZvcm0vd2luL1NraXBwZWQJKHJldmlzaW9uIDYwOTIzKQorKysgTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1NraXBwZWQJKHdvcmtpbmcgY29weSkKQEAgLTY0Myw2ICs2NDMsNyBA
QCBmYXN0L2RvbS9HZW9sb2NhdGlvbgogCiAjIFRoaXMgcG9ydCBkb2Vzbid0IHN1cHBvcnQgTm90
aWZpY2F0aW9ucy4KIGZhc3Qvbm90aWZpY2F0aW9ucworaHR0cC90ZXN0cy9ub3RpZmljYXRpb25z
CiAKICMgTWVkaWFQbGF5ZXJQcml2YXRlUXVpY2tUaW1lV2luIGRvZXNuJ3QgcmV0dXJuIHRvIE5F
VFdPUktfSURMRSBhbmQgaGVuY2UgZG9lc24ndCBmaXJlIGEgc3VzcGVuZCBldmVudAogIyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzcwMzUKSW5kZXg6IExheW91dFRl
c3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvaWNvbi1leGlzdHMucG5nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2
bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMg
b246IExheW91dFRlc3RzL2h0dHAvdGVzdHMvbm90aWZpY2F0aW9ucy9yZXNvdXJjZXMvaWNvbi1l
eGlzdHMucG5nCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKICAgKyBhcHBsaWNhdGlv
bi9vY3RldC1zdHJlYW0KCgppVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBR1FBQUFCa0NBSUFBQUQv
Z0FJREFBQUE1a2xFUVZSNG5PM1FRUWtBSUFEQVFEVzUwYTNnClhpTGNKUmliWXc4dXJkY0JQekVy
TUNzd0t6QXJNQ3N3S3pBck1Dc3dLekFyTUNzd0t6QXJNQ3N3S3pBck1Dc3dLekFyTUNzd0t6QXIK
TUNzd0t6QXJNQ3N3S3pBck1Dc3dLekFyTUNzd0t6QXJNQ3N3S3pBck1Dc3dLekFyTUNzd0t6QXJN
Q3N3S3pBck1Dc3dLekFyTUNzdwpLekFyTUNzd0t6QXJNQ3N3S3pBck1Dc3dLekFyTUNzd0t6QXJN
Q3N3S3pBck1Dc3dLekFyTUNzd0t6QXJNQ3N3S3pBck1Dc3dLekFyCk1Dc3dLekFyTUNzd0t6QXJN
Q3N3S3pBck1Dc3dLekFyTUNzd0t6QXJNQ3N3S3pBck1DczRNb3NCU0wvZENoSUFBQUFBU1VWT1JL
NUMKWUlJPQoK
</data>

          </attachment>
      

    </bug>

</bugzilla>