<?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>149353</bug_id>
          
          <creation_ts>2015-09-18 13:45:38 -0700</creation_ts>
          <short_desc>Support style isolation in shadow trees</short_desc>
          <delta_ts>2015-09-18 15:37:06 -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>Layout and Rendering</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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>149230</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1127217</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-09-18 13:45:38 -0700</bug_when>
    <thetext>Support style isolation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127219</commentid>
    <comment_count>1</comment_count>
      <attachid>261520</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-09-18 13:57:07 -0700</bug_when>
    <thetext>Created attachment 261520
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127250</commentid>
    <comment_count>2</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-09-18 15:25:45 -0700</bug_when>
    <thetext>https://trac.webkit.org/r189987</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261520</attachid>
            <date>2015-09-18 13:57:07 -0700</date>
            <delta_ts>2015-09-18 15:23:04 -0700</delta_ts>
            <desc>patch</desc>
            <filename>shadow-tree-resolver-2.patch</filename>
            <type>text/plain</type>
            <size>16542</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4OTk3OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU4IEBACisyMDE1LTA5LTE4ICBBbnR0aSBL
b2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KKworICAgICAgICBTdXBwb3J0IHN0eWxlIGlzb2xh
dGlvbiBpbiBzaGFkb3cgdHJlZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTE0OTM1MworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFsbG93IFNoYWRvd1Jvb3RzIHRvIGhhdmUgdGhlaXIgb3duIFN0eWxlUmVz
b2x2ZXJzLgorCisgICAgICAgIFRoaXMgcGF0Y2gganVzdCBhZGRzIHRoZSBtZWNoYW5pc20sIGFs
bCBTaGFkb3dSb290cyBzdGlsbCB1c2UgdGhlIGRvY3VtZW50IHJlc29sdmVyLgorCisgICAgICAg
ICogY3NzL1N0eWxlUmVzb2x2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUmVzb2x2ZXJQ
YXJlbnRQdXNoZXI6OnB1c2gpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlclBhcmVu
dFB1c2hlcjo6flN0eWxlUmVzb2x2ZXJQYXJlbnRQdXNoZXIpOgorICAgICAgICAqIGRvbS9FbGVt
ZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmFic29sdXRlTGlua1VSTCk6Cisg
ICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzdHlsZVJlc29sdmVyKToKKworICAgICAgICAgICAg
SGVscGVyIGZ1bmN0aW9uIGZvciBnZXR0aW5nIHRoZSByaWdodCBTdHlsZVJlc29sdmVyIGZvciB0
aGUgZWxlbWVudC4KKworICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6cmVzb2x2ZVN0eWxlKToK
KworICAgICAgICAgICAgSGVscGVyIGZ1bmN0aW9uIGZvciByZXNvbHZpbmcgZWxlbWVudCBzdHls
ZS4KKworICAgICAgICAqIGRvbS9FbGVtZW50Lmg6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6flNoYWRvd1Jvb3QpOgorICAgICAg
ICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6c3R5bGVSZXNvbHZlcik6CisgICAgICAgIChXZWJDb3Jl
OjpTaGFkb3dSb290OjpjbG9uZU5vZGUpOgorICAgICAgICAqIGRvbS9TaGFkb3dSb290Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpTaGFkb3dSb290OjpyZXNldFN0eWxlSW5oZXJpdGFuY2UpOgorICAg
ICAgICAqIGVkaXRpbmcvRWRpdGluZ1N0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnN0eWxl
RnJvbU1hdGNoZWRSdWxlc0ZvckVsZW1lbnQpOgorICAgICAgICAqIGh0bWwvSFRNTFRpdGxlRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MVGl0bGVFbGVtZW50Ojpjb21wdXRlZFRl
eHRXaXRoRGlyZWN0aW9uKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdD
b250ZXh0MkQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q2FudmFzUmVuZGVyaW5nQ29udGV4dDJE
OjpzZXRGb250KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SW5zcGVjdG9yQ1NTQWdlbnQ6OmdldE1hdGNoZWRTdHlsZXNGb3JO
b2RlKToKKyAgICAgICAgKiBwYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpLZXlmcmFtZUFuaW1hdGlvbjo6S2V5ZnJhbWVBbmltYXRpb24pOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckVsZW1lbnQ6OmdldFVuY2FjaGVkUHNldWRvU3R5bGUpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyRWxlbWVudDo6Y29udGFpbmluZ0Jsb2NrRm9yRml4ZWRQb3NpdGlvbik6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlck5hbWVkRmxvd0ZyYWdtZW50LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlck5hbWVkRmxvd0ZyYWdtZW50OjpjaGVja1JlZ2lvblN0eWxlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlck5hbWVkRmxvd0ZyYWdtZW50Ojpjb21wdXRlU3R5bGVJblJlZ2lv
bik6CisgICAgICAgICogc3R5bGUvU3R5bGVSZXNvbHZlVHJlZS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpTdHlsZTo6c3R5bGVGb3JFbGVtZW50KToKKyAgICAgICAgKiBzdmcvU1ZHRWxlbWVudC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdFbGVtZW50OjpjdXN0b21TdHlsZUZvclJlbmRlcmVy
KToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0VsZW1lbnQ6OmFuaW1hdGVkU01JTFN0eWxlUHJvcGVy
dGllcyk6CisgICAgICAgICogc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oOgorICAgICAgICAoV2Vi
Q29yZTo6U1ZHRWxlbWVudFJhcmVEYXRhOjpvdmVycmlkZUNvbXB1dGVkU3R5bGUpOgorCiAyMDE1
LTA5LTE4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgV2ViQ29u
dGVudCBjcmFzaCBpbiBXZWJDb3JlOjpNZW1vcnlQcmVzc3VyZUhhbmRsZXI6OnJlbGVhc2VDcml0
aWNhbE1lbW9yeSgpIHdpdGggR3VhcmRNYWxsb2Mgd2hlbiBwcmVwYXJpbmcgdG8gc3VzcGVuZApJ
bmRleDogU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCShyZXZpc2lvbiAxODk5NzUpCisrKyBT
b3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5oCSh3b3JraW5nIGNvcHkpCkBAIC01Nzgs
NyArNTc4LDcgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgaWYgKG1fcHVzaGVkU3R5bGVSZXNv
bHZlcikKICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgbV9wdXNoZWRTdHlsZVJlc29sdmVy
ID0gJm1fcGFyZW50LT5kb2N1bWVudCgpLmVuc3VyZVN0eWxlUmVzb2x2ZXIoKTsKKyAgICAgICAg
bV9wdXNoZWRTdHlsZVJlc29sdmVyID0gJm1fcGFyZW50LT5zdHlsZVJlc29sdmVyKCk7CiAgICAg
ICAgIG1fcHVzaGVkU3R5bGVSZXNvbHZlci0+cHVzaFBhcmVudEVsZW1lbnQobV9wYXJlbnQpOwog
ICAgIH0KICAgICB+U3R5bGVSZXNvbHZlclBhcmVudFB1c2hlcigpCkBAIC01ODcsOSArNTg3LDcg
QEAgcHVibGljOgogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAvLyBUaGlzIHRlbGxzIHVz
IHRoYXQgb3VyIHB1c2hlZCBzdHlsZSBzZWxlY3RvciBpcyBpbiBhIGJhZCBzdGF0ZSwKICAgICAg
ICAgLy8gc28gd2Ugc2hvdWxkIGp1c3QgYmFpbCBvdXQgaW4gdGhhdCBzY2VuYXJpby4KLSAgICAg
ICAgQVNTRVJUKG1fcHVzaGVkU3R5bGVSZXNvbHZlciA9PSAmbV9wYXJlbnQtPmRvY3VtZW50KCku
ZW5zdXJlU3R5bGVSZXNvbHZlcigpKTsKLSAgICAgICAgaWYgKG1fcHVzaGVkU3R5bGVSZXNvbHZl
ciAhPSAmbV9wYXJlbnQtPmRvY3VtZW50KCkuZW5zdXJlU3R5bGVSZXNvbHZlcigpKQotICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICBBU1NFUlQobV9wdXNoZWRTdHlsZVJlc29sdmVyID09ICZt
X3BhcmVudC0+c3R5bGVSZXNvbHZlcigpKTsKICAgICAgICAgbV9wdXNoZWRTdHlsZVJlc29sdmVy
LT5wb3BQYXJlbnRFbGVtZW50KG1fcGFyZW50KTsKICAgICB9CiAgICAgCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxODk5NzUpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzODEsNiArMTM4MSwxOSBAQCBVUkwgRWxlbWVu
dDo6YWJzb2x1dGVMaW5rVVJMKCkgY29uc3QKICAgICByZXR1cm4gZG9jdW1lbnQoKS5jb21wbGV0
ZVVSTChzdHJpcExlYWRpbmdBbmRUcmFpbGluZ0hUTUxTcGFjZXMobGlua0F0dHJpYnV0ZSkpOwog
fQogCitTdHlsZVJlc29sdmVyJiBFbGVtZW50OjpzdHlsZVJlc29sdmVyKCkKK3sKKyAgICBpZiAo
YXV0byogc2hhZG93Um9vdCA9IGNvbnRhaW5pbmdTaGFkb3dSb290KCkpCisgICAgICAgIHJldHVy
biBzaGFkb3dSb290LT5zdHlsZVJlc29sdmVyKCk7CisKKyAgICByZXR1cm4gZG9jdW1lbnQoKS5l
bnN1cmVTdHlsZVJlc29sdmVyKCk7Cit9CisKK1JlZjxSZW5kZXJTdHlsZT4gRWxlbWVudDo6cmVz
b2x2ZVN0eWxlKFJlbmRlclN0eWxlKiBwYXJlbnRTdHlsZSkKK3sKKyAgICByZXR1cm4gc3R5bGVS
ZXNvbHZlcigpLnN0eWxlRm9yRWxlbWVudCh0aGlzLCBwYXJlbnRTdHlsZSk7Cit9CisKIC8vIFJl
dHVybnMgdHJ1ZSBpcyB0aGUgZ2l2ZW4gYXR0cmlidXRlIGlzIGFuIGV2ZW50IGhhbmRsZXIuCiAv
LyBXZSBjb25zaWRlciBhbiBldmVudCBoYW5kbGVyIGFueSBhdHRyaWJ1dGUgdGhhdCBiZWdpbnMg
d2l0aCAib24iLgogLy8gSXQgaXMgYSBzaW1wbGUgc29sdXRpb24gdGhhdCBoYXMgdGhlIGFkdmFu
dGFnZSBvZiBub3QgcmVxdWlyaW5nIGFueQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCShyZXZpc2lv
biAxODk5NzUpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCSh3b3JraW5nIGNvcHkp
CkBAIC00ODcsNiArNDg3LDkgQEAgcHVibGljOgogCiAgICAgV0VCQ09SRV9FWFBPUlQgVVJMIGFi
c29sdXRlTGlua1VSTCgpIGNvbnN0OwogCisgICAgU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZl
cigpOworICAgIFJlZjxSZW5kZXJTdHlsZT4gcmVzb2x2ZVN0eWxlKFJlbmRlclN0eWxlKiBwYXJl
bnRTdHlsZSk7CisKIHByb3RlY3RlZDoKICAgICBFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUm
LCBEb2N1bWVudCYsIENvbnN0cnVjdGlvblR5cGUpOwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9k
b20vU2hhZG93Um9vdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NoYWRv
d1Jvb3QuY3BwCShyZXZpc2lvbiAxODk5NzUpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93
Um9vdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5LDYgKzM5LDcgQEAgbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBzdHJ1Y3QgU2FtZVNpemVBc1NoYWRvd1Jvb3QgOiBwdWJsaWMgRG9jdW1lbnRGcmFn
bWVudCwgcHVibGljIFRyZWVTY29wZSB7CiAgICAgdW5zaWduZWQgY291bnRlcnNBbmRGbGFnc1sx
XTsKKyAgICB2b2lkKiBzdHlsZVJlc29sdmVyOwogICAgIHZvaWQqIGhvc3Q7CiAjaWYgRU5BQkxF
KFNIQURPV19ET00pCiAgICAgdm9pZCogc2xvdEFzc2lnbm1lbnQ7CkBAIC03MCw2ICs3MSwxNCBA
QCBTaGFkb3dSb290Ojp+U2hhZG93Um9vdCgpCiAgICAgcmVtb3ZlRGV0YWNoZWRDaGlsZHJlbigp
OwogfQogCitTdHlsZVJlc29sdmVyJiBTaGFkb3dSb290OjpzdHlsZVJlc29sdmVyKCkKK3sKKyAg
ICBpZiAobV9zdHlsZVJlc29sdmVyKQorICAgICAgICByZXR1cm4gKm1fc3R5bGVSZXNvbHZlcjsK
KworICAgIHJldHVybiBkb2N1bWVudCgpLmVuc3VyZVN0eWxlUmVzb2x2ZXIoKTsKK30KKwogUGFz
c1JlZlB0cjxOb2RlPiBTaGFkb3dSb290OjpjbG9uZU5vZGUoYm9vbCwgRXhjZXB0aW9uQ29kZSYg
ZWMpCiB7CiAgICAgZWMgPSBEQVRBX0NMT05FX0VSUjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Rv
bS9TaGFkb3dSb290LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jv
b3QuaAkocmV2aXNpb24gMTg5OTc1KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3Qu
aAkod29ya2luZyBjb3B5KQpAQCAtNTUsNiArNTUsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IH5TaGFkb3dSb290KCk7CiAKKyAgICBTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKCk7CisK
ICAgICBib29sIHJlc2V0U3R5bGVJbmhlcml0YW5jZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVzZXRT
dHlsZUluaGVyaXRhbmNlOyB9CiAgICAgdm9pZCBzZXRSZXNldFN0eWxlSW5oZXJpdGFuY2UoYm9v
bCk7CiAKQEAgLTk5LDYgKzEwMSw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3Jlc2V0U3R5bGVJ
bmhlcml0YW5jZSA6IDE7CiAgICAgVHlwZSBtX3R5cGU7CiAKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
U3R5bGVSZXNvbHZlcj4gbV9zdHlsZVJlc29sdmVyOworCiAgICAgRWxlbWVudCogbV9ob3N0Owog
CiAjaWYgRU5BQkxFKFNIQURPV19ET00pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0Vk
aXRpbmdTdHlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZWRpdGluZy9FZGl0
aW5nU3R5bGUuY3BwCShyZXZpc2lvbiAxODk5NzUpCisrKyBTb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0VkaXRpbmdTdHlsZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEyNzcsNyArMTI3Nyw3IEBAIHZv
aWQgRWRpdGluZ1N0eWxlOjptZXJnZVN0eWxlKGNvbnN0IFN0eWwKIHN0YXRpYyBQYXNzUmVmUHRy
PE11dGFibGVTdHlsZVByb3BlcnRpZXM+IHN0eWxlRnJvbU1hdGNoZWRSdWxlc0ZvckVsZW1lbnQo
RWxlbWVudCogZWxlbWVudCwgdW5zaWduZWQgcnVsZXNUb0luY2x1ZGUpCiB7CiAgICAgUmVmUHRy
PE11dGFibGVTdHlsZVByb3BlcnRpZXM+IHN0eWxlID0gTXV0YWJsZVN0eWxlUHJvcGVydGllczo6
Y3JlYXRlKCk7Ci0gICAgYXV0byBtYXRjaGVkUnVsZXMgPSBlbGVtZW50LT5kb2N1bWVudCgpLmVu
c3VyZVN0eWxlUmVzb2x2ZXIoKS5zdHlsZVJ1bGVzRm9yRWxlbWVudChlbGVtZW50LCBydWxlc1Rv
SW5jbHVkZSk7CisgICAgYXV0byBtYXRjaGVkUnVsZXMgPSBlbGVtZW50LT5zdHlsZVJlc29sdmVy
KCkuc3R5bGVSdWxlc0ZvckVsZW1lbnQoZWxlbWVudCwgcnVsZXNUb0luY2x1ZGUpOwogICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBtYXRjaGVkUnVsZXMuc2l6ZSgpOyArK2kpIHsKICAgICAg
ICAgaWYgKG1hdGNoZWRSdWxlc1tpXS0+aXNTdHlsZVJ1bGUoKSkKICAgICAgICAgICAgIHN0eWxl
LT5tZXJnZUFuZE92ZXJyaWRlT25Db25mbGljdChzdGF0aWNfcG9pbnRlcl9jYXN0PFN0eWxlUnVs
ZT4obWF0Y2hlZFJ1bGVzW2ldKS0+cHJvcGVydGllcygpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFRpdGxlRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MVGl0bGVFbGVtZW50LmNwcAkocmV2aXNpb24gMTg5OTc1KQorKysgU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MVGl0bGVFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtODIsNyAr
ODIsNyBAQCBTdHJpbmdXaXRoRGlyZWN0aW9uIEhUTUxUaXRsZUVsZW1lbnQ6OmNvCiAgICAgaWYg
KFJlbmRlclN0eWxlKiBjb21wdXRlZFN0eWxlID0gdGhpcy0+Y29tcHV0ZWRTdHlsZSgpKQogICAg
ICAgICBkaXJlY3Rpb24gPSBjb21wdXRlZFN0eWxlLT5kaXJlY3Rpb24oKTsKICAgICBlbHNlIHsK
LSAgICAgICAgUmVmPFJlbmRlclN0eWxlPiBzdHlsZShkb2N1bWVudCgpLmVuc3VyZVN0eWxlUmVz
b2x2ZXIoKS5zdHlsZUZvckVsZW1lbnQodGhpcywgcGFyZW50RWxlbWVudCgpID8gcGFyZW50RWxl
bWVudCgpLT5yZW5kZXJTdHlsZSgpIDogbnVsbHB0cikpOworICAgICAgICBhdXRvIHN0eWxlID0g
cmVzb2x2ZVN0eWxlKHBhcmVudEVsZW1lbnQoKSA/IHBhcmVudEVsZW1lbnQoKS0+cmVuZGVyU3R5
bGUoKSA6IG51bGxwdHIpOwogICAgICAgICBkaXJlY3Rpb24gPSBzdHlsZS5nZXQoKS5kaXJlY3Rp
b24oKTsKICAgICB9CiAgICAgcmV0dXJuIFN0cmluZ1dpdGhEaXJlY3Rpb24odGV4dCgpLCBkaXJl
Y3Rpb24pOwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvQ2FudmFzUmVuZGVyaW5n
Q29udGV4dDJELmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9D
YW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCShyZXZpc2lvbiAxODk5NzUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9DYW52YXNSZW5kZXJpbmdDb250ZXh0MkQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yMTYzLDcgKzIxNjMsNyBAQCB2b2lkIENhbnZhc1JlbmRlcmluZ0NvbnRleHQy
RDo6c2V0Rm9udChjCiAgICAgbmV3U3R5bGUtPmZvbnRDYXNjYWRlKCkudXBkYXRlKCZkb2N1bWVu
dC5mb250U2VsZWN0b3IoKSk7CiAKICAgICAvLyBOb3cgbWFwIHRoZSBmb250IHByb3BlcnR5IGxv
bmdoYW5kcyBpbnRvIHRoZSBzdHlsZS4KLSAgICBTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVy
ID0gY2FudmFzKCktPmRvY3VtZW50KCkuZW5zdXJlU3R5bGVSZXNvbHZlcigpOworICAgIFN0eWxl
UmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIgPSBjYW52YXMoKS0+c3R5bGVSZXNvbHZlcigpOwogICAg
IHN0eWxlUmVzb2x2ZXIuYXBwbHlQcm9wZXJ0eVRvU3R5bGUoQ1NTUHJvcGVydHlGb250RmFtaWx5
LCBwYXJzZWRTdHlsZS0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUZvbnRGYW1pbHkp
LmdldCgpLCAmbmV3U3R5bGUuZ2V0KCkpOwogICAgIHN0eWxlUmVzb2x2ZXIuYXBwbHlQcm9wZXJ0
eVRvQ3VycmVudFN0eWxlKENTU1Byb3BlcnR5Rm9udFN0eWxlLCBwYXJzZWRTdHlsZS0+Z2V0UHJv
cGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eUZvbnRTdHlsZSkuZ2V0KCkpOwogICAgIHN0eWxlUmVz
b2x2ZXIuYXBwbHlQcm9wZXJ0eVRvQ3VycmVudFN0eWxlKENTU1Byb3BlcnR5Rm9udFZhcmlhbnQs
IHBhcnNlZFN0eWxlLT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5Rm9udFZhcmlhbnQp
LmdldCgpKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2Vu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNT
U0FnZW50LmNwcAkocmV2aXNpb24gMTg5OTc1KQorKysgU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNTU0FnZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcxLDcgKzU3MSw3IEBA
IHZvaWQgSW5zcGVjdG9yQ1NTQWdlbnQ6OmdldE1hdGNoZWRTdHlsZXMKICAgICB9CiAKICAgICAv
LyBNYXRjaGVkIHJ1bGVzLgotICAgIFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIgPSBlbGVt
ZW50LT5kb2N1bWVudCgpLmVuc3VyZVN0eWxlUmVzb2x2ZXIoKTsKKyAgICBTdHlsZVJlc29sdmVy
JiBzdHlsZVJlc29sdmVyID0gZWxlbWVudC0+c3R5bGVSZXNvbHZlcigpOwogICAgIGF1dG8gbWF0
Y2hlZFJ1bGVzID0gc3R5bGVSZXNvbHZlci5wc2V1ZG9TdHlsZVJ1bGVzRm9yRWxlbWVudChlbGVt
ZW50LCBlbGVtZW50UHNldWRvSWQsIFN0eWxlUmVzb2x2ZXI6OkFsbENTU1J1bGVzKTsKICAgICBt
YXRjaGVkQ1NTUnVsZXMgPSBidWlsZEFycmF5Rm9yTWF0Y2hlZFJ1bGVMaXN0KG1hdGNoZWRSdWxl
cywgc3R5bGVSZXNvbHZlciwgZWxlbWVudCwgZWxlbWVudFBzZXVkb0lkKTsKIApAQCAtNTk4LDcg
KzU5OCw3IEBAIHZvaWQgSW5zcGVjdG9yQ1NTQWdlbnQ6OmdldE1hdGNoZWRTdHlsZXMKICAgICAg
ICAgICAgIGF1dG8gZW50cmllcyA9IEluc3BlY3Rvcjo6UHJvdG9jb2w6OkFycmF5PEluc3BlY3Rv
cjo6UHJvdG9jb2w6OkNTUzo6SW5oZXJpdGVkU3R5bGVFbnRyeT46OmNyZWF0ZSgpOwogICAgICAg
ICAgICAgRWxlbWVudCogcGFyZW50RWxlbWVudCA9IGVsZW1lbnQtPnBhcmVudEVsZW1lbnQoKTsK
ICAgICAgICAgICAgIHdoaWxlIChwYXJlbnRFbGVtZW50KSB7Ci0gICAgICAgICAgICAgICAgU3R5
bGVSZXNvbHZlciYgcGFyZW50U3R5bGVSZXNvbHZlciA9IHBhcmVudEVsZW1lbnQtPmRvY3VtZW50
KCkuZW5zdXJlU3R5bGVSZXNvbHZlcigpOworICAgICAgICAgICAgICAgIFN0eWxlUmVzb2x2ZXIm
IHBhcmVudFN0eWxlUmVzb2x2ZXIgPSBwYXJlbnRFbGVtZW50LT5zdHlsZVJlc29sdmVyKCk7CiAg
ICAgICAgICAgICAgICAgYXV0byBwYXJlbnRNYXRjaGVkUnVsZXMgPSBwYXJlbnRTdHlsZVJlc29s
dmVyLnN0eWxlUnVsZXNGb3JFbGVtZW50KHBhcmVudEVsZW1lbnQsIFN0eWxlUmVzb2x2ZXI6OkFs
bENTU1J1bGVzKTsKICAgICAgICAgICAgICAgICBhdXRvIGVudHJ5ID0gSW5zcGVjdG9yOjpQcm90
b2NvbDo6Q1NTOjpJbmhlcml0ZWRTdHlsZUVudHJ5OjpjcmVhdGUoKQogICAgICAgICAgICAgICAg
ICAgICAuc2V0TWF0Y2hlZENTU1J1bGVzKGJ1aWxkQXJyYXlGb3JNYXRjaGVkUnVsZUxpc3QocGFy
ZW50TWF0Y2hlZFJ1bGVzLCBzdHlsZVJlc29sdmVyLCBwYXJlbnRFbGVtZW50LCBOT1BTRVVETykp
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vS2V5ZnJhbWVB
bmltYXRpb24uY3BwCShyZXZpc2lvbiAxODk5NzUpCisrKyBTb3VyY2UvV2ViQ29yZS9wYWdlL2Fu
aW1hdGlvbi9LZXlmcmFtZUFuaW1hdGlvbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDcgKzQ5
LDcgQEAgS2V5ZnJhbWVBbmltYXRpb246OktleWZyYW1lQW5pbWF0aW9uKEFuaQogewogICAgIC8v
IEdldCB0aGUga2V5ZnJhbWUgUmVuZGVyU3R5bGVzCiAgICAgaWYgKG1fb2JqZWN0ICYmIG1fb2Jq
ZWN0LT5lbGVtZW50KCkpCi0gICAgICAgIG1fb2JqZWN0LT5kb2N1bWVudCgpLmVuc3VyZVN0eWxl
UmVzb2x2ZXIoKS5rZXlmcmFtZVN0eWxlc0ZvckFuaW1hdGlvbihtX29iamVjdC0+ZWxlbWVudCgp
LCB1bmFuaW1hdGVkU3R5bGUsIG1fa2V5ZnJhbWVzKTsKKyAgICAgICAgbV9vYmplY3QtPmVsZW1l
bnQoKS0+c3R5bGVSZXNvbHZlcigpLmtleWZyYW1lU3R5bGVzRm9yQW5pbWF0aW9uKG1fb2JqZWN0
LT5lbGVtZW50KCksIHVuYW5pbWF0ZWRTdHlsZSwgbV9rZXlmcmFtZXMpOwogCiAgICAgLy8gVXBk
YXRlIHRoZSBtX3RyYW5zZm9ybUZ1bmN0aW9uTGlzdFZhbGlkIGZsYWcgYmFzZWQgb24gd2hldGhl
ciB0aGUgZnVuY3Rpb24gbGlzdHMgaW4gdGhlIGtleWZyYW1lcyBtYXRjaC4KICAgICB2YWxpZGF0
ZVRyYW5zZm9ybUZ1bmN0aW9uTGlzdCgpOwpJbmRleDogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJFbGVtZW50LmNwcAkocmV2aXNpb24gMTg5OTc1KQorKysgU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckVsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTM3LDEzICsx
NTM3LDE1IEBAIFBhc3NSZWZQdHI8UmVuZGVyU3R5bGU+IFJlbmRlckVsZW1lbnQ6OmcKICAgICBp
ZiAoaXNBbm9ueW1vdXMoKSkKICAgICAgICAgcmV0dXJuIG51bGxwdHI7CiAKKyAgICBhdXRvJiBz
dHlsZVJlc29sdmVyID0gZWxlbWVudCgpLT5zdHlsZVJlc29sdmVyKCk7CisKICAgICBpZiAocHNl
dWRvU3R5bGVSZXF1ZXN0LnBzZXVkb0lkID09IEZJUlNUX0xJTkVfSU5IRVJJVEVEKSB7Ci0gICAg
ICAgIFJlZlB0cjxSZW5kZXJTdHlsZT4gcmVzdWx0ID0gZG9jdW1lbnQoKS5lbnN1cmVTdHlsZVJl
c29sdmVyKCkuc3R5bGVGb3JFbGVtZW50KGVsZW1lbnQoKSwgcGFyZW50U3R5bGUsIERpc2FsbG93
U3R5bGVTaGFyaW5nKTsKKyAgICAgICAgUmVmUHRyPFJlbmRlclN0eWxlPiByZXN1bHQgPSBzdHls
ZVJlc29sdmVyLnN0eWxlRm9yRWxlbWVudChlbGVtZW50KCksIHBhcmVudFN0eWxlLCBEaXNhbGxv
d1N0eWxlU2hhcmluZyk7CiAgICAgICAgIHJlc3VsdC0+c2V0U3R5bGVUeXBlKEZJUlNUX0xJTkVf
SU5IRVJJVEVEKTsKICAgICAgICAgcmV0dXJuIHJlc3VsdC5yZWxlYXNlKCk7CiAgICAgfQogCi0g
ICAgcmV0dXJuIGRvY3VtZW50KCkuZW5zdXJlU3R5bGVSZXNvbHZlcigpLnBzZXVkb1N0eWxlRm9y
RWxlbWVudChlbGVtZW50KCksIHBzZXVkb1N0eWxlUmVxdWVzdCwgcGFyZW50U3R5bGUpOworICAg
IHJldHVybiBzdHlsZVJlc29sdmVyLnBzZXVkb1N0eWxlRm9yRWxlbWVudChlbGVtZW50KCksIHBz
ZXVkb1N0eWxlUmVxdWVzdCwgcGFyZW50U3R5bGUpOwogfQogCiBSZW5kZXJCbG9jayogUmVuZGVy
RWxlbWVudDo6Y29udGFpbmluZ0Jsb2NrRm9yRml4ZWRQb3NpdGlvbigpIGNvbnN0CkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dGcmFnbWVu
dC5jcHAJKHJldmlzaW9uIDE4OTk3NSkKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJOYW1lZEZsb3dGcmFnbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM0Miw3ICszNDIsNyBA
QCB2b2lkIFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50OjpjaGVja1JlZ2lvCiAKICAgICAvLyBGSVhN
RTogUmVnaW9uIHN0eWxpbmcgZG9lc24ndCB3b3JrIGZvciBwc2V1ZG8gZWxlbWVudHMuCiAgICAg
aWYgKCFpc1BzZXVkb0VsZW1lbnQoKSkKLSAgICAgICAgY3VzdG9tUmVnaW9uU3R5bGUgPSB2aWV3
KCkuZG9jdW1lbnQoKS5lbnN1cmVTdHlsZVJlc29sdmVyKCkuY2hlY2tSZWdpb25TdHlsZShnZW5l
cmF0aW5nRWxlbWVudCgpKTsKKyAgICAgICAgY3VzdG9tUmVnaW9uU3R5bGUgPSBnZW5lcmF0aW5n
RWxlbWVudCgpLT5zdHlsZVJlc29sdmVyKCkuY2hlY2tSZWdpb25TdHlsZShnZW5lcmF0aW5nRWxl
bWVudCgpKTsKICAgICBzZXRIYXNDdXN0b21SZWdpb25TdHlsZShjdXN0b21SZWdpb25TdHlsZSk7
CiAgICAgZG93bmNhc3Q8UmVuZGVyTmFtZWRGbG93VGhyZWFkPigqbV9mbG93VGhyZWFkKS5jaGVj
a1JlZ2lvbnNXaXRoU3R5bGluZygpOwogfQpAQCAtMzUyLDcgKzM1Miw3IEBAIFBhc3NSZWZQdHI8
UmVuZGVyU3R5bGU+IFJlbmRlck5hbWVkRmxvd0YKICAgICBBU1NFUlQoIXJlbmRlcmVyLmlzQW5v
bnltb3VzKCkpOwogCiAgICAgLy8gRklYTUU6IFJlZ2lvbiBzdHlsaW5nIGZhaWxzIGZvciBwc2V1
ZG8tZWxlbWVudHMgYmVjYXVzZSB0aGUgcmVuZGVyZXJzIGRvbid0IGhhdmUgYSBub2RlLgotICAg
IFJlZlB0cjxSZW5kZXJTdHlsZT4gcmVuZGVyT2JqZWN0UmVnaW9uU3R5bGUgPSByZW5kZXJlci52
aWV3KCkuZG9jdW1lbnQoKS5lbnN1cmVTdHlsZVJlc29sdmVyKCkuc3R5bGVGb3JFbGVtZW50KHJl
bmRlcmVyLmVsZW1lbnQoKSwgJnBhcmVudFN0eWxlLCBEaXNhbGxvd1N0eWxlU2hhcmluZywgTWF0
Y2hBbGxSdWxlcywgdGhpcyk7CisgICAgUmVmUHRyPFJlbmRlclN0eWxlPiByZW5kZXJPYmplY3RS
ZWdpb25TdHlsZSA9IHJlbmRlcmVyLmVsZW1lbnQoKS0+c3R5bGVSZXNvbHZlcigpLnN0eWxlRm9y
RWxlbWVudChyZW5kZXJlci5lbGVtZW50KCksICZwYXJlbnRTdHlsZSwgRGlzYWxsb3dTdHlsZVNo
YXJpbmcsIE1hdGNoQWxsUnVsZXMsIHRoaXMpOwogCiAgICAgcmV0dXJuIHJlbmRlck9iamVjdFJl
Z2lvblN0eWxlLnJlbGVhc2UoKTsKIH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxl
UmVzb2x2ZVRyZWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3N0eWxlL1N0eWxl
UmVzb2x2ZVRyZWUuY3BwCShyZXZpc2lvbiAxODk5NzUpCisrKyBTb3VyY2UvV2ViQ29yZS9zdHls
ZS9TdHlsZVJlc29sdmVUcmVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQxLDcgKzE0MSw3IEBA
IHN0YXRpYyBSZWY8UmVuZGVyU3R5bGU+IHN0eWxlRm9yRWxlbWVudCgKICAgICAgICAgaWYgKFJl
ZlB0cjxSZW5kZXJTdHlsZT4gc3R5bGUgPSBlbGVtZW50LmN1c3RvbVN0eWxlRm9yUmVuZGVyZXIo
aW5oZXJpdGVkU3R5bGUpKQogICAgICAgICAgICAgcmV0dXJuIHN0eWxlLnJlbGVhc2VOb25OdWxs
KCk7CiAgICAgfQotICAgIHJldHVybiBlbGVtZW50LmRvY3VtZW50KCkuZW5zdXJlU3R5bGVSZXNv
bHZlcigpLnN0eWxlRm9yRWxlbWVudCgmZWxlbWVudCwgJmluaGVyaXRlZFN0eWxlKTsKKyAgICBy
ZXR1cm4gZWxlbWVudC5yZXNvbHZlU3R5bGUoJmluaGVyaXRlZFN0eWxlKTsKIH0KIAogI2lmIEVO
QUJMRShDU1NfUkVHSU9OUykKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudC5jcHAJKHJldmlz
aW9uIDE4OTk3NSkKKysrIFNvdXJjZS9XZWJDb3JlL3N2Zy9TVkdFbGVtZW50LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNzkyLDkgKzc5Miw5IEBAIHZvaWQgU1ZHRWxlbWVudDo6c3luY2hyb25pemVT
eXN0ZW1MYW5ndWEKIFJlZlB0cjxSZW5kZXJTdHlsZT4gU1ZHRWxlbWVudDo6Y3VzdG9tU3R5bGVG
b3JSZW5kZXJlcihSZW5kZXJTdHlsZSYgcGFyZW50U3R5bGUpCiB7CiAgICAgaWYgKCFjb3JyZXNw
b25kaW5nRWxlbWVudCgpKQotICAgICAgICByZXR1cm4gZG9jdW1lbnQoKS5lbnN1cmVTdHlsZVJl
c29sdmVyKCkuc3R5bGVGb3JFbGVtZW50KHRoaXMsICZwYXJlbnRTdHlsZSk7CisgICAgICAgIHJl
dHVybiByZXNvbHZlU3R5bGUoJnBhcmVudFN0eWxlKTsKIAotICAgIHJldHVybiBkb2N1bWVudCgp
LmVuc3VyZVN0eWxlUmVzb2x2ZXIoKS5zdHlsZUZvckVsZW1lbnQoY29ycmVzcG9uZGluZ0VsZW1l
bnQoKSwgJnBhcmVudFN0eWxlLCBEaXNhbGxvd1N0eWxlU2hhcmluZyk7CisgICAgcmV0dXJuIHN0
eWxlUmVzb2x2ZXIoKS5zdHlsZUZvckVsZW1lbnQoY29ycmVzcG9uZGluZ0VsZW1lbnQoKSwgJnBh
cmVudFN0eWxlLCBEaXNhbGxvd1N0eWxlU2hhcmluZyk7CiB9CiAKIE11dGFibGVTdHlsZVByb3Bl
cnRpZXMqIFNWR0VsZW1lbnQ6OmFuaW1hdGVkU01JTFN0eWxlUHJvcGVydGllcygpIGNvbnN0Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR0VsZW1lbnRSYXJlRGF0YS5oCShyZXZpc2lvbiAxODk5
NzUpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHRWxlbWVudFJhcmVEYXRhLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTcyLDcgKzcyLDcgQEAgcHVibGljOgogICAgICAgICAgICAgcmV0dXJuIDA7CiAg
ICAgICAgIGlmICghbV9vdmVycmlkZUNvbXB1dGVkU3R5bGUgfHwgbV9uZWVkc092ZXJyaWRlQ29t
cHV0ZWRTdHlsZVVwZGF0ZSkgewogICAgICAgICAgICAgLy8gVGhlIHN0eWxlIGNvbXB1dGVkIGhl
cmUgY29udGFpbnMgbm8gQ1NTIEFuaW1hdGlvbnMvVHJhbnNpdGlvbnMgb3IgU01JTCBpbmR1Y2Vk
IHJ1bGVzIC0gdGhpcyBpcyBuZWVkZWQgdG8gY29tcHV0ZSB0aGUgImJhc2UgdmFsdWUiIGZvciB0
aGUgU01JTCBhbmltYXRpb24gc2FuZHdoaWNoIG1vZGVsLgotICAgICAgICAgICAgbV9vdmVycmlk
ZUNvbXB1dGVkU3R5bGUgPSBlbGVtZW50LT5kb2N1bWVudCgpLmVuc3VyZVN0eWxlUmVzb2x2ZXIo
KS5zdHlsZUZvckVsZW1lbnQoZWxlbWVudCwgcGFyZW50U3R5bGUsIERpc2FsbG93U3R5bGVTaGFy
aW5nLCBNYXRjaEFsbFJ1bGVzRXhjbHVkaW5nU01JTCk7CisgICAgICAgICAgICBtX292ZXJyaWRl
Q29tcHV0ZWRTdHlsZSA9IGVsZW1lbnQtPnN0eWxlUmVzb2x2ZXIoKS5zdHlsZUZvckVsZW1lbnQo
ZWxlbWVudCwgcGFyZW50U3R5bGUsIERpc2FsbG93U3R5bGVTaGFyaW5nLCBNYXRjaEFsbFJ1bGVz
RXhjbHVkaW5nU01JTCk7CiAgICAgICAgICAgICBtX25lZWRzT3ZlcnJpZGVDb21wdXRlZFN0eWxl
VXBkYXRlID0gZmFsc2U7CiAgICAgICAgIH0KICAgICAgICAgQVNTRVJUKG1fb3ZlcnJpZGVDb21w
dXRlZFN0eWxlKTsK
</data>
<flag name="review"
          id="286711"
          type_id="1"
          status="+"
          setter="rniwa"
    />
          </attachment>
      

    </bug>

</bugzilla>