<?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>164240</bug_id>
          
          <creation_ts>2016-10-31 14:51:16 -0700</creation_ts>
          <short_desc>[CSS Parser] Support the shadow DOM</short_desc>
          <delta_ts>2016-11-02 01:08:48 -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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>koivisto</cc>
    
    <cc>rniwa</cc>
    
    <cc>ryanhaddad</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1246601</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-31 14:51:16 -0700</bug_when>
    <thetext>[CSS Parser] Support the shadow DOM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246604</commentid>
    <comment_count>1</comment_count>
      <attachid>293467</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-31 14:55:50 -0700</bug_when>
    <thetext>Created attachment 293467
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246625</commentid>
    <comment_count>2</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-10-31 15:11:20 -0700</bug_when>
    <thetext>Landed in r208180.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246719</commentid>
    <comment_count>3</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-10-31 17:04:34 -0700</bug_when>
    <thetext>This change caused fast/shadow-dom/slotted-pseudo-element-css-text.html to crash on macOS and iOS on every test run:

https://build.webkit.org/results/Apple%20Yosemite%20Release%20WK2%20(Tests)/r208180%20(19203)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246720</commentid>
    <comment_count>4</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-10-31 17:04:55 -0700</bug_when>
    <thetext>Is there a reason this was landed before EWS had a chance to complete?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246730</commentid>
    <comment_count>5</comment_count>
    <who name="Ryan Haddad">ryanhaddad</who>
    <bug_when>2016-10-31 17:13:22 -0700</bug_when>
    <thetext>Reverted r208180 for reason:

This change caused fast/shadow-dom/slotted-pseudo-element-css-text.html to crash on macOS and iOS on every test run.

Committed r208198: &lt;http://trac.webkit.org/changeset/208198&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247173</commentid>
    <comment_count>6</comment_count>
      <attachid>293625</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-11-01 17:28:02 -0700</bug_when>
    <thetext>Created attachment 293625
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247184</commentid>
    <comment_count>7</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2016-11-01 18:02:58 -0700</bug_when>
    <thetext>Landed in r208267.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1247256</commentid>
    <comment_count>8</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2016-11-02 01:08:48 -0700</bug_when>
    <thetext>I&apos;m not certain if it makes sense for us to be treating ::slotted(~) as an &quot;implicit shadow combinator&quot; because unlike ::-webkit-~ and other pseudo element that goes into a shadow tree, ::slotted goes out of the shadow tree to access a slot.

That is, ::~webbkit- wants to match against the nodes inside a shadow tree from outside the shadow tree and ::slotted wants to match the nodes outside a shadow tree from inside the shadow tree.

We might want to differentiate the two by having CSSSelector::ShadowDescendant and, let&apos;s say, CSSSelector::SlottedDescendant.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293467</attachid>
            <date>2016-10-31 14:55:50 -0700</date>
            <delta_ts>2016-11-01 17:27:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164240-20161031165153.patch</filename>
            <type>text/plain</type>
            <size>14746</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwODE3NikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDYwIEBACisyMDE2LTEwLTMxICBEYXZlIEh5
YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1MgUGFyc2VyXSBTdXBwb3J0IHRo
ZSBzaGFkb3cgRE9NCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjQyNDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGNzcy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rv
cjo6c2VsZWN0b3JUZXh0KToKKyAgICAgICAgUmVtb3ZlIFNoYWRvd0RlZXAsIFNoYWRvd1Nsb3Qg
YW5kIFNoYWRvd1BzZXVkbyBpbiBmYXZvciBvZiBvdXIKKyAgICAgICAgU2hhZG93RGVzY2VuZGFu
dCBjb21iaW5hdG9yLgorCisgICAgICAgICogY3NzL0NTU1NlbGVjdG9yLmg6CisgICAgICAgICog
Y3NzL1NlbGVjdG9yQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNoZWNr
ZXI6Om1hdGNoUmVjdXJzaXZlbHkpOgorICAgICAgICBSZW1vdmUgU2hhZG93RGVlcCwgU2hhZG93
U2xvdCBhbmQgU2hhZG93UHNldWRvIGluIGZhdm9yIG9mIG91cgorICAgICAgICBTaGFkb3dEZXNj
ZW5kYW50IGNvbWJpbmF0b3IuCisKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JGaWx0ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JGaWx0ZXI6OmNvbGxlY3RJZGVudGlmaWVySGFzaGVz
KToKKyAgICAgICAgUmVtb3ZlIFNoYWRvd0RlZXAsIFNoYWRvd1Nsb3QgYW5kIFNoYWRvd1BzZXVk
byBpbiBmYXZvciBvZiBvdXIKKyAgICAgICAgU2hhZG93RGVzY2VuZGFudCBjb21iaW5hdG9yLgor
CisgICAgICAgICogY3NzL1NlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuaW46CisgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBzbG90dGVkLgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJz
ZXJWYWx1ZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU2VsZWN0b3I6OmFwcGVu
ZFRhZ0hpc3RvcnkpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VyVmFsdWVzLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTZWxlY3Rvcjo6bmVlZHNJbXBsaWNpdFNoYWRvd0Nv
bWJpbmF0b3JGb3JNYXRjaGluZyk6CisgICAgICAgIFJlbW92ZSBTaGFkb3dEZWVwLCBTaGFkb3dT
bG90IGFuZCBTaGFkb3dQc2V1ZG8gaW4gZmF2b3Igb2Ygb3VyCisgICAgICAgIFNoYWRvd0Rlc2Nl
bmRhbnQgY29tYmluYXRvci4gVGFrZSA6c2xvdHRlZCBvdXQgb2YKKyAgICAgICAgbmVlZHNJbXBs
aWNpdFNoYWRvd0NvbWJpbmF0b3JGb3JNYXRjaGluZygpLCBzaW5jZSBvdXIgY29kZSBkb2Vzbid0
IGRvCisgICAgICAgIHRoaXMgZm9yIDpzbG90dGVkLgorCisgICAgICAgICogY3NzL3BhcnNlci9D
U1NTZWxlY3RvclBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1BzZXVkb0NsYXNzRnVu
Y3Rpb24pOgorICAgICAgICA6aG9zdCBjYW4gYmUgYm90aCBhbiBpZCBhbmQgYSBmdW5jdGlvbiwg
c28gZG9uJ3QgcmVzdHJpY3QgaXQuCisKKyAgICAgICAgKFdlYkNvcmU6OkNTU1NlbGVjdG9yUGFy
c2VyOjpjb25zdW1lUHNldWRvKToKKyAgICAgICAgUHV0IGluIGEgaGFjayBmb3IgOmhvc3QgKGlu
c2lkZSB0aGUgaGFjayB3ZSBhbHJlYWR5IHBsYW4gb24gcmVtb3ZpbmcKKyAgICAgICAgb25jZSB3
ZSB0dXJuIG9uKS4KKworICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3JQYXJzZXI6OmNvbnN1
bWVDb21iaW5hdG9yKToKKyAgICAgICAgUmVtb3ZlIGRlZXAgc2hhZG93IGNvbWJpbmF0b3Igc3Vw
cG9ydCwgYXMgd2UgZG9uJ3Qgc3VwcG9ydCBtYXRjaGluZworICAgICAgICBvbiBpdC4KKworICAg
ICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3JQYXJzZXI6OnByZXBlbmRUeXBlU2VsZWN0b3JJZk5l
ZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3RvclBhcnNlcjo6c3BsaXRDb21wb3Vu
ZEF0SW1wbGljaXRTaGFkb3dDcm9zc2luZ0NvbWJpbmF0b3IpOgorICAgICAgICBNYWtlIHRoZSBz
cGxpdCB1c2Ugb3VyIGNvbWJpbmF0b3IsIFNoYWRvd0Rlc2NlbmRhbnQsIGFuZCBubyBsb25nZXIg
ZG8gYW55dGhpbmcKKyAgICAgICAgc3BlY2lhbCB3aXRoIDpzbG90dGVkLgorCisgICAgICAgICog
Y3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JD
b21waWxlcjo6ZnJhZ21lbnRSZWxhdGlvbkZvclNlbGVjdG9yUmVsYXRpb24pOgorICAgICAgICBS
ZW1vdmUgU2hhZG93RGVlcCwgU2hhZG93U2xvdCBhbmQgU2hhZG93UHNldWRvIGluIGZhdm9yIG9m
IG91cgorICAgICAgICBTaGFkb3dEZXNjZW5kYW50IGNvbWJpbmF0b3IuCisKIDIwMTYtMTAtMzEg
IFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ1NTU3R5bGVEZWNs
YXJhdGlvbiBzaG91bGQgYmUgYW5ub3RhdGVkIHdpdGggQ0VSZWFjdGlvbnMKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvY3NzL0NTU1NlbGVjdG9yLmNwcAkocmV2aXNpb24gMjA4MTMwKQorKysgU291cmNlL1dlYkNv
cmUvY3NzL0NTU1NlbGVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzI5LDggKzcyOSw2IEBA
IFN0cmluZyBDU1NTZWxlY3Rvcjo6c2VsZWN0b3JUZXh0KGNvbnN0IFMKICAgICAgICAgICAgIHJl
dHVybiB0YWdIaXN0b3J5LT5zZWxlY3RvclRleHQoIiAiICsgc3RyLnRvU3RyaW5nKCkgKyByaWdo
dFNpZGUpOwogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpDaGlsZDoKICAgICAgICAgICAgIHJl
dHVybiB0YWdIaXN0b3J5LT5zZWxlY3RvclRleHQoIiA+ICIgKyBzdHIudG9TdHJpbmcoKSArIHJp
Z2h0U2lkZSk7Ci0gICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd0RlZXA6Ci0gICAgICAg
ICAgICByZXR1cm4gdGFnSGlzdG9yeS0+c2VsZWN0b3JUZXh0KCIgL2RlZXAvICIgKyBzdHIudG9T
dHJpbmcoKSArIHJpZ2h0U2lkZSk7CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkRpcmVjdEFk
amFjZW50OgogICAgICAgICAgICAgcmV0dXJuIHRhZ0hpc3RvcnktPnNlbGVjdG9yVGV4dCgiICsg
IiArIHN0ci50b1N0cmluZygpICsgcmlnaHRTaWRlKTsKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rv
cjo6SW5kaXJlY3RBZGphY2VudDoKQEAgLTc0NSw4ICs3NDMsNiBAQCBTdHJpbmcgQ1NTU2VsZWN0
b3I6OnNlbGVjdG9yVGV4dChjb25zdCBTCiAgICAgICAgICAgICBGQUxMVEhST1VHSDsKICNlbmRp
ZgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50OgotICAgICAgICBj
YXNlIENTU1NlbGVjdG9yOjpTaGFkb3dQc2V1ZG86Ci0gICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6
OlNoYWRvd1Nsb3Q6CiAgICAgICAgICAgICByZXR1cm4gdGFnSGlzdG9yeS0+c2VsZWN0b3JUZXh0
KHN0ci50b1N0cmluZygpICsgcmlnaHRTaWRlKTsKICAgICAgICAgfQogICAgIH0KSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTZWxlY3Rvci5oCShyZXZpc2lvbiAyMDgxMzApCisrKyBTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTU2VsZWN0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtOTAsMTAgKzkwLDcgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogI2lmIEVOQUJMRShDU1NfU0VMRUNUT1JTX0xFVkVMNCkKICAgICAg
ICAgICAgIERlc2NlbmRhbnREb3VibGVDaGlsZCwKICNlbmRpZgotICAgICAgICAgICAgU2hhZG93
RGVzY2VuZGFudCwgLy8gRklYTUUtTkVXUEFSU0VSOiBSZW1vdmUgdGhpcyBpbiBmYXZvciBvZiB0
aGUgbmV3IHNoYWRvdyB2YWx1ZXMgYmVsb3cuCi0gICAgICAgICAgICBTaGFkb3dQc2V1ZG8sIC8v
IFNwZWNpYWwgY2FzZSBvZiBzaGFkb3cgRE9NIHBzZXVkbyBlbGVtZW50cyAvIHNoYWRvdyBwc2V1
ZG8gZWxlbWVudAotICAgICAgICAgICAgU2hhZG93RGVlcCwgLy8gL2RlZXAvIGNvbWJpbmF0b3IK
LSAgICAgICAgICAgIFNoYWRvd1Nsb3QgLy8gc2xvdHRlZCB0byA8c2xvdD4gZQorICAgICAgICAg
ICAgU2hhZG93RGVzY2VuZGFudAogICAgICAgICB9OwogCiAgICAgICAgIGVudW0gUHNldWRvQ2xh
c3NUeXBlIHsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3BwCShyZXZp
c2lvbiAyMDgxMzApCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDQ4LDEzICs0NDgsNiBAQCBTZWxlY3RvckNoZWNrZXI6Ok1hdGNo
UmVzdWx0IFNlbGVjdG9yQ2hlCiAKICAgICAgICAgICAgIHJldHVybiBNYXRjaFJlc3VsdDo6dXBk
YXRlV2l0aE1hdGNoVHlwZShyZXN1bHQsIG1hdGNoVHlwZSk7CiAgICAgICAgIH0KLSAgICAKLSAg
ICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dQc2V1ZG86Ci0gICAgY2FzZSBDU1NTZWxlY3Rvcjo6
U2hhZG93RGVlcDoKLSAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dTbG90OgotICAgICAgICAv
LyBGSVhNRS1ORVdQQVJTRVI6IEhhdmUgdG8gaW1wbGVtZW50IHRoZXNlLgotICAgICAgICAvLyBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0dXJuIE1hdGNoUmVzdWx0OjpmYWlscyhN
YXRjaDo6U2VsZWN0b3JGYWlsc0NvbXBsZXRlbHkpOwogICAgIH0KIAogCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9jc3MvU2VsZWN0b3JGaWx0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJD
b3JlL2Nzcy9TZWxlY3RvckZpbHRlci5jcHAJKHJldmlzaW9uIDIwODEzMCkKKysrIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9TZWxlY3RvckZpbHRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzOCwxNyAr
MTM4LDExIEBAIHZvaWQgU2VsZWN0b3JGaWx0ZXI6OmNvbGxlY3RJZGVudGlmaWVySGEKICAgICAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93RGVzY2VuZGFudDoKICAgICAgICAgICAgIHNraXBP
dmVyU3Vic2VsZWN0b3JzID0gdHJ1ZTsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBjYXNl
IENTU1NlbGVjdG9yOjpTaGFkb3dTbG90OgotICAgICAgICAgICAgLy8gRGlzYWJsZSBmYXN0UmVq
ZWN0U2VsZWN0b3IuCi0gICAgICAgICAgICAqaWRlbnRpZmllckhhc2hlcyA9IDA7Ci0gICAgICAg
ICAgICByZXR1cm47CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkRlc2NlbmRhbnRTcGFjZToK
ICNpZiBFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rv
cjo6RGVzY2VuZGFudERvdWJsZUNoaWxkOgogI2VuZGlmCiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0
b3I6OkNoaWxkOgotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dQc2V1ZG86Ci0gICAg
ICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd0RlZXA6CiAgICAgICAgICAgICBza2lwT3ZlclN1
YnNlbGVjdG9ycyA9IGZhbHNlOwogICAgICAgICAgICAgY29sbGVjdERlc2NlbmRhbnRTZWxlY3Rv
cklkZW50aWZpZXJIYXNoZXMoc2VsZWN0b3IsIGhhc2gpOwogICAgICAgICAgICAgYnJlYWs7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5pbgo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlw
ZU1hcC5pbgkocmV2aXNpb24gMjA4MTMwKQorKysgU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9y
UHNldWRvRWxlbWVudFR5cGVNYXAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTE1LDMgKzE1LDQgQEAg
cGxhY2Vob2xkZXIsIFBzZXVkb0VsZW1lbnRXZWJLaXRDdXN0b20KIC13ZWJraXQtc2Nyb2xsYmFy
LXRyYWNrCiAtd2Via2l0LXNjcm9sbGJhci10cmFjay1waWVjZQogc2VsZWN0aW9uCitzbG90dGVk
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclZhbHVlcy5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJWYWx1ZXMuY3Bw
CShyZXZpc2lvbiAyMDgxMzApCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNl
clZhbHVlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5NCwxNSArNDk0LDYgQEAgdm9pZCBDU1NQ
YXJzZXJTZWxlY3Rvcjo6YXBwZW5kVGFnSGlzdG9yeQogICAgIGNhc2UgQ1NTUGFyc2VyU2VsZWN0
b3JDb21iaW5hdG9yOjpJbmRpcmVjdEFkamFjZW50OgogICAgICAgICBzZWxlY3RvclJlbGF0aW9u
ID0gQ1NTU2VsZWN0b3I6OkluZGlyZWN0QWRqYWNlbnQ7CiAgICAgICAgIGJyZWFrOwotICAgIGNh
c2UgQ1NTUGFyc2VyU2VsZWN0b3JDb21iaW5hdG9yOjpTaGFkb3dEZWVwOgotICAgICAgICBzZWxl
Y3RvclJlbGF0aW9uID0gQ1NTU2VsZWN0b3I6OlNoYWRvd0RlZXA7Ci0gICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgQ1NTUGFyc2VyU2VsZWN0b3JDb21iaW5hdG9yOjpTaGFkb3dQc2V1ZG86Ci0gICAg
ICAgIHNlbGVjdG9yUmVsYXRpb24gPSBDU1NTZWxlY3Rvcjo6U2hhZG93UHNldWRvOwotICAgICAg
ICBicmVhazsKLSAgICBjYXNlIENTU1BhcnNlclNlbGVjdG9yQ29tYmluYXRvcjo6U2hhZG93U2xv
dDoKLSAgICAgICAgc2VsZWN0b3JSZWxhdGlvbiA9IENTU1NlbGVjdG9yOjpTaGFkb3dTbG90Owot
ICAgICAgICBicmVhazsKICAgICB9CiAgICAgZW5kLT5zZXRSZWxhdGlvbihzZWxlY3RvclJlbGF0
aW9uKTsKICAgICBlbmQtPnNldFRhZ0hpc3RvcnkoV1RGTW92ZShzZWxlY3RvcikpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJWYWx1ZXMuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclZhbHVlcy5oCShyZXZpc2lvbiAy
MDgxMzApCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1BhcnNlclZhbHVlcy5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xOTQsMTAgKzE5NCw3IEBAIGVudW0gY2xhc3MgQ1NTUGFyc2VyU2Vs
ZWN0b3JDb21iaW5hdG9yIHsKICAgICBEZXNjZW5kYW50RG91YmxlQ2hpbGQsCiAjZW5kaWYKICAg
ICBEaXJlY3RBZGphY2VudCwKLSAgICBJbmRpcmVjdEFkamFjZW50LAotICAgIFNoYWRvd1BzZXVk
bywgLy8gU3BlY2lhbCBjYXNlIG9mIHNoYWRvdyBET00gcHNldWRvIGVsZW1lbnRzIC8gc2hhZG93
IHBzZXVkbyBlbGVtZW50Ci0gICAgU2hhZG93RGVlcCwgLy8gL2RlZXAvIGNvbWJpbmF0b3IKLSAg
ICBTaGFkb3dTbG90IC8vIHNsb3R0ZWQgdG8gPHNsb3Q+IGUKKyAgICBJbmRpcmVjdEFkamFjZW50
CiB9OwogCiBjbGFzcyBDU1NQYXJzZXJTZWxlY3RvciB7CkBAIC0yNjIsOCArMjU5LDExIEBAIHB1
YmxpYzoKIAogICAgIGJvb2wgaXNIb3N0UHNldWRvU2VsZWN0b3IoKSBjb25zdDsKIAotICAgIC8v
IEZJWE1FLU5FV1BBUlNFUjogTWlzc2luZyAic2hhZG93IgotICAgIGJvb2wgbmVlZHNJbXBsaWNp
dFNoYWRvd0NvbWJpbmF0b3JGb3JNYXRjaGluZygpIGNvbnN0IHsgcmV0dXJuIG1hdGNoKCkgPT0g
Q1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQgJiYgKHBzZXVkb0VsZW1lbnRUeXBlKCkgPT0gQ1NT
U2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRXZWJLaXRDdXN0b20gfHwgcHNldWRvRWxlbWVudFR5cGUo
KSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFVzZXJBZ2VudEN1c3RvbSB8fCBwc2V1ZG9F
bGVtZW50VHlwZSgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50V2ViS2l0Q3VzdG9tTGVn
YWN5UHJlZml4ZWQgfHwgcHNldWRvRWxlbWVudFR5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRv
RWxlbWVudEN1ZSB8fCBwc2V1ZG9FbGVtZW50VHlwZSgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9F
bGVtZW50U2xvdHRlZCk7IH0KKyAgICAvLyBGSVhNRS1ORVdQQVJTRVI6ICJzbG90dGVkIiB3YXMg
cmVtb3ZlZCBoZXJlIGZvciBub3csIHNpbmNlIGl0IGxlYWRzIHRvIGEgY29tYmluYXRvcgorICAg
IC8vIGNvbm5lY3Rpb24gb2YgU2hhZG93RGVzY2VuZGFudCwgYW5kIHRoZSBjdXJyZW50IHNoYWRv
dyBET00gY29kZSBkb2Vzbid0IGV4cGVjdCB0aGlzLiBXaGVuCisgICAgLy8gd2UgZG8gZml4IHRo
aXMgaXNzdWUsIG1ha2Ugc3VyZSB0byBwYXRjaCB0aGUgbmFtZXNwYWNlIHByZXBlbmRUYWcgY29k
ZSB0byByZW1vdmUgdGhlIHNsb3R0ZWQKKyAgICAvLyBzcGVjaWFsIGNhc2UsIHNpbmNlIGl0IHdp
bGwgYmUgY292ZXJlZCBieSB0aGlzIGZ1bmN0aW9uIG9uY2UgYWdhaW4uCisgICAgYm9vbCBuZWVk
c0ltcGxpY2l0U2hhZG93Q29tYmluYXRvckZvck1hdGNoaW5nKCkgY29uc3QgeyByZXR1cm4gbWF0
Y2goKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudCAmJiAocHNldWRvRWxlbWVudFR5cGUo
KSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFdlYktpdEN1c3RvbSB8fCBwc2V1ZG9FbGVt
ZW50VHlwZSgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50VXNlckFnZW50Q3VzdG9tIHx8
IHBzZXVkb0VsZW1lbnRUeXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRXZWJLaXRD
dXN0b21MZWdhY3lQcmVmaXhlZCB8fCBwc2V1ZG9FbGVtZW50VHlwZSgpID09IENTU1NlbGVjdG9y
OjpQc2V1ZG9FbGVtZW50Q3VlKTsgfQogCiAgICAgQ1NTUGFyc2VyU2VsZWN0b3IqIHRhZ0hpc3Rv
cnkoKSBjb25zdCB7IHJldHVybiBtX3RhZ0hpc3RvcnkuZ2V0KCk7IH0KICAgICB2b2lkIHNldFRh
Z0hpc3Rvcnkoc3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPiBzZWxlY3RvcikgeyBt
X3RhZ0hpc3RvcnkgPSBXVEZNb3ZlKHNlbGVjdG9yKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9DU1NTZWxlY3RvclBhcnNlci5jcHAJKHJldmlzaW9uIDIwODE2NikK
KysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC00NzIsNyArNDcyLDYgQEAgc3RhdGljIGJvb2wgaXNQc2V1ZG9DbGFzc0Z1
bmN0aW9uKENTU1NlbAogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzTnRoTGFzdE9m
VHlwZToKICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0xhbmc6CiAgICAgY2FzZSBD
U1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NBbnk6Ci0gICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRv
Q2xhc3NIb3N0OgogI2lmIEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNAogICAgIGNhc2UgQ1NT
U2VsZWN0b3I6OlBzZXVkb0NsYXNzRGlyOgogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0Ns
YXNzUm9sZToKQEAgLTUxOCw5ICs1MTcsMTIgQEAgc3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNl
bGVjdG9yPiBDU1NTZQogICAgIC8vIHVzZXMgd2l0aG91dCBicmVha2luZyBpdDsgdGhpcyBoYWNr
IGFsbG93cyBmdW5jdGlvbiBzZWxlY3RvcnMgdG8gd29yay4gV2hlbiB0aGUgbmV3CiAgICAgLy8g
cGFyc2VyIHR1cm5zIG9uLCB3ZSBjYW4gcGF0Y2ggdGhlIG1hcCBhbmQgcmVtb3ZlIHRoaXMgY29k
ZS4KICAgICBTdHJpbmcgbmV3VmFsdWU7Ci0gICAgaWYgKHRva2VuLnR5cGUoKSA9PSBGdW5jdGlv
blRva2VuKSB7Ci0gICAgICAgIG5ld1ZhbHVlID0gdmFsdWUudG9TdHJpbmcoKSArICIoIjsKLSAg
ICAgICAgdmFsdWUgPSBuZXdWYWx1ZTsKKyAgICBpZiAodG9rZW4udHlwZSgpID09IEZ1bmN0aW9u
VG9rZW4gJiYgY29sb25zID09IDEpIHsKKyAgICAgICAgU3RyaW5nIHRva2VuU3RyaW5nID0gdmFs
dWUudG9TdHJpbmcoKTsKKyAgICAgICAgaWYgKCF0b2tlblN0cmluZy5zdGFydHNXaXRoSWdub3Jp
bmdBU0NJSUNhc2UoImhvc3QiKSkgeworICAgICAgICAgICAgbmV3VmFsdWUgPSB2YWx1ZS50b1N0
cmluZygpICsgIigiOworICAgICAgICAgICAgdmFsdWUgPSBuZXdWYWx1ZTsKKyAgICAgICAgfQog
ICAgIH0KIAogICAgIGlmIChjb2xvbnMgPT0gMSkKQEAgLTYwNCw3ICs2MDYsNiBAQCBzdGQ6OnVu
aXF1ZV9wdHI8Q1NTUGFyc2VyU2VsZWN0b3I+IENTU1NlCiAgICAgICAgICAgICBzZWxlY3Rvci0+
c2V0U2VsZWN0b3JMaXN0KFdURk1vdmUoc2VsZWN0b3JMaXN0KSk7CiAgICAgICAgICAgICByZXR1
cm4gc2VsZWN0b3I7CiAgICAgICAgIH0KLSAgICAgICAgLy8gRklYTUUtTkVXUEFSU0VSOiBTdXBw
b3J0IDpob3N0LWNvbnRleHQKICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NB
bnk6CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzSG9zdDogewogICAgICAg
ICAgICAgRGlzYWxsb3dQc2V1ZG9FbGVtZW50c1Njb3BlIHNjb3BlKHRoaXMpOwpAQCAtNjk5LDE3
ICs3MDAsNyBAQCBDU1NTZWxlY3Rvcjo6UmVsYXRpb25UeXBlIENTU1NlbGVjdG9yUGFyCiAgICAg
ICAgIHJldHVybiBDU1NTZWxlY3Rvcjo6Q2hpbGQ7CiAgICAgfQogCi0gICAgLy8gTWF0Y2ggL2Rl
ZXAvCi0gICAgaWYgKGRlbGltaXRlciAhPSAnLycpCi0gICAgICAgIHJldHVybiBmYWxsYmFja1Jl
c3VsdDsKLSAgICByYW5nZS5jb25zdW1lKCk7Ci0gICAgY29uc3QgQ1NTUGFyc2VyVG9rZW4mIGlk
ZW50ID0gcmFuZ2UuY29uc3VtZSgpOwotICAgIGlmIChpZGVudC50eXBlKCkgIT0gSWRlbnRUb2tl
biB8fCAhZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShpZGVudC52YWx1ZSgpLCAiZGVlcCIpKQotICAg
ICAgICBtX2ZhaWxlZFBhcnNpbmcgPSB0cnVlOwotICAgIGNvbnN0IENTU1BhcnNlclRva2VuJiBz
bGFzaCA9IHJhbmdlLmNvbnN1bWVJbmNsdWRpbmdXaGl0ZXNwYWNlKCk7Ci0gICAgaWYgKHNsYXNo
LnR5cGUoKSAhPSBEZWxpbWl0ZXJUb2tlbiB8fCBzbGFzaC5kZWxpbWl0ZXIoKSAhPSAnLycpCi0g
ICAgICAgIG1fZmFpbGVkUGFyc2luZyA9IHRydWU7Ci0gICAgcmV0dXJuIENTU1NlbGVjdG9yOjpT
aGFkb3dEZWVwOworICAgIHJldHVybiBmYWxsYmFja1Jlc3VsdDsKIH0KIAogQ1NTU2VsZWN0b3I6
Ok1hdGNoIENTU1NlbGVjdG9yUGFyc2VyOjpjb25zdW1lQXR0cmlidXRlTWF0Y2goQ1NTUGFyc2Vy
VG9rZW5SYW5nZSYgcmFuZ2UpCkBAIC04NDcsNyArODM4LDkgQEAgY29uc3QgQXRvbWljU3RyaW5n
JiBDU1NTZWxlY3RvclBhcnNlcjo6ZAogCiB2b2lkIENTU1NlbGVjdG9yUGFyc2VyOjpwcmVwZW5k
VHlwZVNlbGVjdG9ySWZOZWVkZWQoY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lc3BhY2VQcmVmaXgs
IGNvbnN0IEF0b21pY1N0cmluZyYgZWxlbWVudE5hbWUsIENTU1BhcnNlclNlbGVjdG9yKiBjb21w
b3VuZFNlbGVjdG9yKQogewotICAgIGlmIChlbGVtZW50TmFtZS5pc051bGwoKSAmJiBkZWZhdWx0
TmFtZXNwYWNlKCkgPT0gc3RhckF0b20gJiYgIWNvbXBvdW5kU2VsZWN0b3ItPm5lZWRzSW1wbGlj
aXRTaGFkb3dDb21iaW5hdG9yRm9yTWF0Y2hpbmcoKSkKKyAgICBib29sIGlzU2hhZG93RE9NID0g
Y29tcG91bmRTZWxlY3Rvci0+bmVlZHNJbXBsaWNpdFNoYWRvd0NvbWJpbmF0b3JGb3JNYXRjaGlu
ZygpOworICAgIAorICAgIGlmIChlbGVtZW50TmFtZS5pc051bGwoKSAmJiBkZWZhdWx0TmFtZXNw
YWNlKCkgPT0gc3RhckF0b20gJiYgIWlzU2hhZG93RE9NKQogICAgICAgICByZXR1cm47CiAKICAg
ICBBdG9taWNTdHJpbmcgZGV0ZXJtaW5lZEVsZW1lbnROYW1lID0gZWxlbWVudE5hbWUuaXNOdWxs
KCkgPyBzdGFyQXRvbSA6IGVsZW1lbnROYW1lOwpAQCAtODYxLDE2ICs4NTQsMTYgQEAgdm9pZCBD
U1NTZWxlY3RvclBhcnNlcjo6cHJlcGVuZFR5cGVTZWxlYwogICAgICAgICBkZXRlcm1pbmVkUHJl
Zml4ID0gbnVsbEF0b207CiAgICAgUXVhbGlmaWVkTmFtZSB0YWcgPSBRdWFsaWZpZWROYW1lKGRl
dGVybWluZWRQcmVmaXgsIGRldGVybWluZWRFbGVtZW50TmFtZSwgbmFtZXNwYWNlVVJJKTsKIAot
ICAgIC8vICo6aG9zdC8qOmhvc3QtY29udGV4dCBuZXZlciBtYXRjaGVzLCBzbyB3ZSBjYW4ndCBk
aXNjYXJkIHRoZSAqLAorICAgIC8vICo6aG9zdCBuZXZlciBtYXRjaGVzLCBzbyB3ZSBjYW4ndCBk
aXNjYXJkIHRoZSAqLAogICAgIC8vIG90aGVyd2lzZSB3ZSBjYW4ndCB0ZWxsIHRoZSBkaWZmZXJl
bmNlIGJldHdlZW4gKjpob3N0IGFuZCBqdXN0IDpob3N0LgogICAgIC8vCiAgICAgLy8gQWxzbywg
c2VsZWN0b3JzIHdoZXJlIHdlIHVzZSBhIFNoYWRvd1BzZXVkbyBjb21iaW5hdG9yIGJldHdlZW4g
dGhlCiAgICAgLy8gZWxlbWVudCBhbmQgdGhlIHBzZXVkbyBlbGVtZW50IGZvciBtYXRjaGluZyAo
Y3VzdG9tIHBzZXVkbyBlbGVtZW50cywKLSAgICAvLyA6OmN1ZSwgOjpzaGFkb3cpLCB3ZSBuZWVk
IGEgdW5pdmVyc2FsIHNlbGVjdG9yIHRvIHNldCB0aGUgY29tYmluYXRvcgorICAgIC8vIDo6Y3Vl
KSwgd2UgbmVlZCBhIHVuaXZlcnNhbCBzZWxlY3RvciB0byBzZXQgdGhlIGNvbWJpbmF0b3IKICAg
ICAvLyAocmVsYXRpb24pIG9uIGluIHRoZSBjYXNlcyB3aGVyZSB0aGVyZSBhcmUgbm8gc2ltcGxl
IHNlbGVjdG9ycyBwcmVjZWRpbmcKICAgICAvLyB0aGUgcHNldWRvIGVsZW1lbnQuCiAgICAgYm9v
bCBleHBsaWNpdEZvckhvc3QgPSBjb21wb3VuZFNlbGVjdG9yLT5pc0hvc3RQc2V1ZG9TZWxlY3Rv
cigpICYmICFlbGVtZW50TmFtZS5pc051bGwoKTsKLSAgICBpZiAodGFnICE9IGFueVFOYW1lKCkg
fHwgZXhwbGljaXRGb3JIb3N0IHx8IGNvbXBvdW5kU2VsZWN0b3ItPm5lZWRzSW1wbGljaXRTaGFk
b3dDb21iaW5hdG9yRm9yTWF0Y2hpbmcoKSkKKyAgICBpZiAodGFnICE9IGFueVFOYW1lKCkgfHwg
ZXhwbGljaXRGb3JIb3N0IHx8IGlzU2hhZG93RE9NKQogICAgICAgICBjb21wb3VuZFNlbGVjdG9y
LT5wcmVwZW5kVGFnU2VsZWN0b3IodGFnLCBkZXRlcm1pbmVkUHJlZml4ID09IG51bGxBdG9tICYm
IGRldGVybWluZWRFbGVtZW50TmFtZSA9PSBzdGFyQXRvbSAmJiAhZXhwbGljaXRGb3JIb3N0KTsK
IH0KIApAQCAtOTA4LDcgKzkwMSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rv
cj4gQ1NTU2UKICAgICAgICAgcmV0dXJuIGNvbXBvdW5kU2VsZWN0b3I7CiAKICAgICBzdGQ6OnVu
aXF1ZV9wdHI8Q1NTUGFyc2VyU2VsZWN0b3I+IHNlY29uZENvbXBvdW5kID0gc3BsaXRBZnRlci0+
cmVsZWFzZVRhZ0hpc3RvcnkoKTsKLSAgICBzZWNvbmRDb21wb3VuZC0+YXBwZW5kVGFnSGlzdG9y
eShzZWNvbmRDb21wb3VuZC0+cHNldWRvRWxlbWVudFR5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNl
dWRvRWxlbWVudFNsb3R0ZWQgPyBDU1NTZWxlY3Rvcjo6U2hhZG93U2xvdCA6IENTU1NlbGVjdG9y
OjpTaGFkb3dQc2V1ZG8sIFdURk1vdmUoY29tcG91bmRTZWxlY3RvcikpOworICAgIHNlY29uZENv
bXBvdW5kLT5hcHBlbmRUYWdIaXN0b3J5KENTU1NlbGVjdG9yOjpTaGFkb3dEZXNjZW5kYW50LCBX
VEZNb3ZlKGNvbXBvdW5kU2VsZWN0b3IpKTsKICAgICByZXR1cm4gc2Vjb25kQ29tcG91bmQ7CiB9
CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAJKHJl
dmlzaW9uIDIwODEzMCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDE0LDkgKzQxNCw2IEBAIHN0YXRpYyBpbmxpbmUgRnJh
Z21lbnRSZWxhdGlvbiBmcmFnbWVudFIKICAgICAgICAgcmV0dXJuIEZyYWdtZW50UmVsYXRpb246
OkluZGlyZWN0QWRqYWNlbnQ7CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U3Vic2VsZWN0b3I6CiAg
ICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93RGVzY2VuZGFudDoKLSAgICBjYXNlIENTU1NlbGVj
dG9yOjpTaGFkb3dQc2V1ZG86Ci0gICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93RGVlcDoKLSAg
ICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dTbG90OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293625</attachid>
            <date>2016-11-01 17:28:02 -0700</date>
            <delta_ts>2016-11-01 17:29:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164240-20161101192403.patch</filename>
            <type>text/plain</type>
            <size>15770</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDIwODIzOSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDYwIEBACisyMDE2LTExLTAxICBEYXZlIEh5
YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIFtDU1MgUGFyc2VyXSBTdXBwb3J0IHRo
ZSBzaGFkb3cgRE9NCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNjQyNDAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIGNzcy9DU1NTZWxlY3Rvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3Rv
cjo6c2VsZWN0b3JUZXh0KToKKyAgICAgICAgUmVtb3ZlIFNoYWRvd0RlZXAsIFNoYWRvd1Nsb3Qg
YW5kIFNoYWRvd1BzZXVkbyBpbiBmYXZvciBvZiBvdXIKKyAgICAgICAgU2hhZG93RGVzY2VuZGFu
dCBjb21iaW5hdG9yLgorCisgICAgICAgICogY3NzL0NTU1NlbGVjdG9yLmg6CisgICAgICAgICog
Y3NzL1NlbGVjdG9yQ2hlY2tlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNoZWNr
ZXI6Om1hdGNoUmVjdXJzaXZlbHkpOgorICAgICAgICBSZW1vdmUgU2hhZG93RGVlcCwgU2hhZG93
U2xvdCBhbmQgU2hhZG93UHNldWRvIGluIGZhdm9yIG9mIG91cgorICAgICAgICBTaGFkb3dEZXNj
ZW5kYW50IGNvbWJpbmF0b3IuCisKKyAgICAgICAgKiBjc3MvU2VsZWN0b3JGaWx0ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JGaWx0ZXI6OmNvbGxlY3RJZGVudGlmaWVySGFzaGVz
KToKKyAgICAgICAgUmVtb3ZlIFNoYWRvd0RlZXAsIFNoYWRvd1Nsb3QgYW5kIFNoYWRvd1BzZXVk
byBpbiBmYXZvciBvZiBvdXIKKyAgICAgICAgU2hhZG93RGVzY2VuZGFudCBjb21iaW5hdG9yLgor
CisgICAgICAgICogY3NzL1NlbGVjdG9yUHNldWRvRWxlbWVudFR5cGVNYXAuaW46CisgICAgICAg
IEFkZCBzdXBwb3J0IGZvciBzbG90dGVkLgorCisgICAgICAgICogY3NzL3BhcnNlci9DU1NQYXJz
ZXJWYWx1ZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyU2VsZWN0b3I6OmFwcGVu
ZFRhZ0hpc3RvcnkpOgorICAgICAgICAqIGNzcy9wYXJzZXIvQ1NTUGFyc2VyVmFsdWVzLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXJTZWxlY3Rvcjo6bmVlZHNJbXBsaWNpdFNoYWRvd0Nv
bWJpbmF0b3JGb3JNYXRjaGluZyk6CisgICAgICAgIFJlbW92ZSBTaGFkb3dEZWVwLCBTaGFkb3dT
bG90IGFuZCBTaGFkb3dQc2V1ZG8gaW4gZmF2b3Igb2Ygb3VyCisgICAgICAgIFNoYWRvd0Rlc2Nl
bmRhbnQgY29tYmluYXRvci4gVGFrZSA6c2xvdHRlZCBvdXQgb2YKKyAgICAgICAgbmVlZHNJbXBs
aWNpdFNoYWRvd0NvbWJpbmF0b3JGb3JNYXRjaGluZygpLCBzaW5jZSBvdXIgY29kZSBkb2Vzbid0
IGRvCisgICAgICAgIHRoaXMgZm9yIDpzbG90dGVkLgorCisgICAgICAgICogY3NzL3BhcnNlci9D
U1NTZWxlY3RvclBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc1BzZXVkb0NsYXNzRnVu
Y3Rpb24pOgorICAgICAgICA6aG9zdCBjYW4gYmUgYm90aCBhbiBpZCBhbmQgYSBmdW5jdGlvbiwg
c28gZG9uJ3QgcmVzdHJpY3QgaXQuCisKKyAgICAgICAgKFdlYkNvcmU6OkNTU1NlbGVjdG9yUGFy
c2VyOjpjb25zdW1lUHNldWRvKToKKyAgICAgICAgUHV0IGluIGEgaGFjayBmb3IgOmhvc3QgKGlu
c2lkZSB0aGUgaGFjayB3ZSBhbHJlYWR5IHBsYW4gb24gcmVtb3ZpbmcKKyAgICAgICAgb25jZSB3
ZSB0dXJuIG9uKS4KKworICAgICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3JQYXJzZXI6OmNvbnN1
bWVDb21iaW5hdG9yKToKKyAgICAgICAgUmVtb3ZlIGRlZXAgc2hhZG93IGNvbWJpbmF0b3Igc3Vw
cG9ydCwgYXMgd2UgZG9uJ3Qgc3VwcG9ydCBtYXRjaGluZworICAgICAgICBvbiBpdC4KKworICAg
ICAgICAoV2ViQ29yZTo6Q1NTU2VsZWN0b3JQYXJzZXI6OnByZXBlbmRUeXBlU2VsZWN0b3JJZk5l
ZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTZWxlY3RvclBhcnNlcjo6c3BsaXRDb21wb3Vu
ZEF0SW1wbGljaXRTaGFkb3dDcm9zc2luZ0NvbWJpbmF0b3IpOgorICAgICAgICBNYWtlIHRoZSBz
cGxpdCB1c2Ugb3VyIGNvbWJpbmF0b3IsIFNoYWRvd0Rlc2NlbmRhbnQsIGFuZCBubyBsb25nZXIg
ZG8gYW55dGhpbmcKKyAgICAgICAgc3BlY2lhbCB3aXRoIDpzbG90dGVkLgorCisgICAgICAgICog
Y3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JD
b21waWxlcjo6ZnJhZ21lbnRSZWxhdGlvbkZvclNlbGVjdG9yUmVsYXRpb24pOgorICAgICAgICBS
ZW1vdmUgU2hhZG93RGVlcCwgU2hhZG93U2xvdCBhbmQgU2hhZG93UHNldWRvIGluIGZhdm9yIG9m
IG91cgorICAgICAgICBTaGFkb3dEZXNjZW5kYW50IGNvbWJpbmF0b3IuCisKIDIwMTYtMTEtMDEg
IEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBQ
ZXJjZW50LWVuY29kZSBub24tQVNDSUkgY29kZSBwb2ludHMgaW4gaG9zdHMgb2YgVVJMcyB3aXRo
IHVucmVjb2duaXplZCBzY2hlbWVzCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0
b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAJ
KHJldmlzaW9uIDIwODIzOSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTZWxlY3Rvci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTcyOSw4ICs3MjksNiBAQCBTdHJpbmcgQ1NTU2VsZWN0b3I6OnNl
bGVjdG9yVGV4dChjb25zdCBTCiAgICAgICAgICAgICByZXR1cm4gdGFnSGlzdG9yeS0+c2VsZWN0
b3JUZXh0KCIgIiArIHN0ci50b1N0cmluZygpICsgcmlnaHRTaWRlKTsKICAgICAgICAgY2FzZSBD
U1NTZWxlY3Rvcjo6Q2hpbGQ6CiAgICAgICAgICAgICByZXR1cm4gdGFnSGlzdG9yeS0+c2VsZWN0
b3JUZXh0KCIgPiAiICsgc3RyLnRvU3RyaW5nKCkgKyByaWdodFNpZGUpOwotICAgICAgICBjYXNl
IENTU1NlbGVjdG9yOjpTaGFkb3dEZWVwOgotICAgICAgICAgICAgcmV0dXJuIHRhZ0hpc3Rvcnkt
PnNlbGVjdG9yVGV4dCgiIC9kZWVwLyAiICsgc3RyLnRvU3RyaW5nKCkgKyByaWdodFNpZGUpOwog
ICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpEaXJlY3RBZGphY2VudDoKICAgICAgICAgICAgIHJl
dHVybiB0YWdIaXN0b3J5LT5zZWxlY3RvclRleHQoIiArICIgKyBzdHIudG9TdHJpbmcoKSArIHJp
Z2h0U2lkZSk7CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkluZGlyZWN0QWRqYWNlbnQ6CkBA
IC03NDUsOCArNzQzLDYgQEAgU3RyaW5nIENTU1NlbGVjdG9yOjpzZWxlY3RvclRleHQoY29uc3Qg
UwogICAgICAgICAgICAgRkFMTFRIUk9VR0g7CiAjZW5kaWYKICAgICAgICAgY2FzZSBDU1NTZWxl
Y3Rvcjo6U2hhZG93RGVzY2VuZGFudDoKLSAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93
UHNldWRvOgotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpTaGFkb3dTbG90OgogICAgICAgICAg
ICAgcmV0dXJuIHRhZ0hpc3RvcnktPnNlbGVjdG9yVGV4dChzdHIudG9TdHJpbmcoKSArIHJpZ2h0
U2lkZSk7CiAgICAgICAgIH0KICAgICB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2Vs
ZWN0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU2VsZWN0b3IuaAko
cmV2aXNpb24gMjA4MjM5KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1NlbGVjdG9yLmgJKHdv
cmtpbmcgY29weSkKQEAgLTkwLDEwICs5MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICNpZiBF
TkFCTEUoQ1NTX1NFTEVDVE9SU19MRVZFTDQpCiAgICAgICAgICAgICBEZXNjZW5kYW50RG91Ymxl
Q2hpbGQsCiAjZW5kaWYKLSAgICAgICAgICAgIFNoYWRvd0Rlc2NlbmRhbnQsIC8vIEZJWE1FLU5F
V1BBUlNFUjogUmVtb3ZlIHRoaXMgaW4gZmF2b3Igb2YgdGhlIG5ldyBzaGFkb3cgdmFsdWVzIGJl
bG93LgotICAgICAgICAgICAgU2hhZG93UHNldWRvLCAvLyBTcGVjaWFsIGNhc2Ugb2Ygc2hhZG93
IERPTSBwc2V1ZG8gZWxlbWVudHMgLyBzaGFkb3cgcHNldWRvIGVsZW1lbnQKLSAgICAgICAgICAg
IFNoYWRvd0RlZXAsIC8vIC9kZWVwLyBjb21iaW5hdG9yCi0gICAgICAgICAgICBTaGFkb3dTbG90
IC8vIHNsb3R0ZWQgdG8gPHNsb3Q+IGUKKyAgICAgICAgICAgIFNoYWRvd0Rlc2NlbmRhbnQKICAg
ICAgICAgfTsKIAogICAgICAgICBlbnVtIFBzZXVkb0NsYXNzVHlwZSB7CkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9jc3MvU2VsZWN0b3JDaGVja2VyLmNwcAkocmV2aXNpb24gMjA4MjM5KQorKysgU291cmNl
L1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ0OCwx
MyArNDQ4LDYgQEAgU2VsZWN0b3JDaGVja2VyOjpNYXRjaFJlc3VsdCBTZWxlY3RvckNoZQogCiAg
ICAgICAgICAgICByZXR1cm4gTWF0Y2hSZXN1bHQ6OnVwZGF0ZVdpdGhNYXRjaFR5cGUocmVzdWx0
LCBtYXRjaFR5cGUpOwogICAgICAgICB9Ci0gICAgCi0gICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hh
ZG93UHNldWRvOgotICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd0RlZXA6Ci0gICAgY2FzZSBD
U1NTZWxlY3Rvcjo6U2hhZG93U2xvdDoKLSAgICAgICAgLy8gRklYTUUtTkVXUEFSU0VSOiBIYXZl
IHRvIGltcGxlbWVudCB0aGVzZS4KLSAgICAgICAgLy8gQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0g
ICAgICAgIHJldHVybiBNYXRjaFJlc3VsdDo6ZmFpbHMoTWF0Y2g6OlNlbGVjdG9yRmFpbHNDb21w
bGV0ZWx5KTsKICAgICB9CiAKIApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yRmls
dGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JGaWx0ZXIu
Y3BwCShyZXZpc2lvbiAyMDgyMzkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvU2VsZWN0b3JGaWx0
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzgsMTcgKzEzOCwxMSBAQCB2b2lkIFNlbGVjdG9y
RmlsdGVyOjpjb2xsZWN0SWRlbnRpZmllckhhCiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNo
YWRvd0Rlc2NlbmRhbnQ6CiAgICAgICAgICAgICBza2lwT3ZlclN1YnNlbGVjdG9ycyA9IHRydWU7
CiAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93U2xv
dDoKLSAgICAgICAgICAgIC8vIERpc2FibGUgZmFzdFJlamVjdFNlbGVjdG9yLgotICAgICAgICAg
ICAgKmlkZW50aWZpZXJIYXNoZXMgPSAwOwotICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICBj
YXNlIENTU1NlbGVjdG9yOjpEZXNjZW5kYW50U3BhY2U6CiAjaWYgRU5BQkxFX0NTU19TRUxFQ1RP
UlNfTEVWRUw0CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OkRlc2NlbmRhbnREb3VibGVDaGls
ZDoKICNlbmRpZgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpDaGlsZDoKLSAgICAgICAgY2Fz
ZSBDU1NTZWxlY3Rvcjo6U2hhZG93UHNldWRvOgotICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpT
aGFkb3dEZWVwOgogICAgICAgICAgICAgc2tpcE92ZXJTdWJzZWxlY3RvcnMgPSBmYWxzZTsKICAg
ICAgICAgICAgIGNvbGxlY3REZXNjZW5kYW50U2VsZWN0b3JJZGVudGlmaWVySGFzaGVzKHNlbGVj
dG9yLCBoYXNoKTsKICAgICAgICAgICAgIGJyZWFrOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3Nz
L3BhcnNlci9DU1NQYXJzZXJWYWx1ZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVmFsdWVzLmNwcAkocmV2aXNpb24gMjA4MjM5KQorKysgU291
cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJWYWx1ZXMuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0yNDIsOSArMjQyLDE2IEBAIENTU1BhcnNlclNlbGVjdG9yKiBDU1NQYXJzZXJTZWxlY3Rv
cjo6cGEKICAgICBBdG9taWNTdHJpbmcgbmFtZSA9IHBzZXVkb1R5cGVTdHJpbmcudG9BdG9taWNT
dHJpbmcoKTsKICAgICAKICAgICBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFR5cGUgcHNldWRv
VHlwZSA9IENTU1NlbGVjdG9yOjpwYXJzZVBzZXVkb0VsZW1lbnRUeXBlKG5hbWUpOwotICAgIGlm
IChwc2V1ZG9UeXBlID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50VW5rbm93bikKLSAgICAg
ICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgCisgICAgaWYgKHBzZXVkb1R5cGUgPT0gQ1NTU2VsZWN0
b3I6OlBzZXVkb0VsZW1lbnRVbmtub3duKSB7CisgICAgICAgIC8vIEZJWE1FLU5FV1BBUlNFUjog
V2UgY2FuJ3QgYWRkICJzbG90dGVkIiB0byB0aGUgbWFwIHdpdGhvdXQgYnJlYWtpbmcgdGhlIG9s
ZAorICAgICAgICAvLyBwYXJzZXIsIHNvIHRoaXMgaGFjayBlbnN1cmVzIHRoZSBuZXcgcGFyc2Vy
IHN0aWxsIHJlY29nbml6ZXMgaXQuIFdoZW4gdGhlIG5ldworICAgICAgICAvLyBwYXJzZXIgdHVy
bnMgb24sIHdlIGNhbiBhZGQgInNsb3R0ZWQiIHRvIHRoZSBtYXAgYW5kIHJlbW92ZSB0aGlzIGNv
ZGUuCisgICAgICAgIGlmIChwc2V1ZG9UeXBlU3RyaW5nLnN0YXJ0c1dpdGhJZ25vcmluZ0FTQ0lJ
Q2FzZSgic2xvdHRlZCIpKQorICAgICAgICAgICAgcHNldWRvVHlwZSA9IENTU1NlbGVjdG9yOjpQ
c2V1ZG9FbGVtZW50U2xvdHRlZDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIG51
bGxwdHI7CisgICAgfQorCiAgICAgYXV0byBzZWxlY3RvciA9IHN0ZDo6bWFrZV91bmlxdWU8Q1NT
UGFyc2VyU2VsZWN0b3I+KCk7CiAgICAgc2VsZWN0b3ItPm1fc2VsZWN0b3ItPnNldE1hdGNoKENT
U1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50KTsKICAgICBzZWxlY3Rvci0+bV9zZWxlY3Rvci0+c2V0
UHNldWRvRWxlbWVudFR5cGUocHNldWRvVHlwZSk7CkBAIC00OTQsMTUgKzUwMSw2IEBAIHZvaWQg
Q1NTUGFyc2VyU2VsZWN0b3I6OmFwcGVuZFRhZ0hpc3RvcnkKICAgICBjYXNlIENTU1BhcnNlclNl
bGVjdG9yQ29tYmluYXRvcjo6SW5kaXJlY3RBZGphY2VudDoKICAgICAgICAgc2VsZWN0b3JSZWxh
dGlvbiA9IENTU1NlbGVjdG9yOjpJbmRpcmVjdEFkamFjZW50OwogICAgICAgICBicmVhazsKLSAg
ICBjYXNlIENTU1BhcnNlclNlbGVjdG9yQ29tYmluYXRvcjo6U2hhZG93RGVlcDoKLSAgICAgICAg
c2VsZWN0b3JSZWxhdGlvbiA9IENTU1NlbGVjdG9yOjpTaGFkb3dEZWVwOwotICAgICAgICBicmVh
azsKLSAgICBjYXNlIENTU1BhcnNlclNlbGVjdG9yQ29tYmluYXRvcjo6U2hhZG93UHNldWRvOgot
ICAgICAgICBzZWxlY3RvclJlbGF0aW9uID0gQ1NTU2VsZWN0b3I6OlNoYWRvd1BzZXVkbzsKLSAg
ICAgICAgYnJlYWs7Ci0gICAgY2FzZSBDU1NQYXJzZXJTZWxlY3RvckNvbWJpbmF0b3I6OlNoYWRv
d1Nsb3Q6Ci0gICAgICAgIHNlbGVjdG9yUmVsYXRpb24gPSBDU1NTZWxlY3Rvcjo6U2hhZG93U2xv
dDsKLSAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGVuZC0+c2V0UmVsYXRpb24oc2VsZWN0b3JS
ZWxhdGlvbik7CiAgICAgZW5kLT5zZXRUYWdIaXN0b3J5KFdURk1vdmUoc2VsZWN0b3IpKTsKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTUGFyc2VyVmFsdWVzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJWYWx1ZXMuaAkocmV2aXNp
b24gMjA4MjM5KQorKysgU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9DU1NQYXJzZXJWYWx1ZXMu
aAkod29ya2luZyBjb3B5KQpAQCAtMTk0LDEwICsxOTQsNyBAQCBlbnVtIGNsYXNzIENTU1BhcnNl
clNlbGVjdG9yQ29tYmluYXRvciB7CiAgICAgRGVzY2VuZGFudERvdWJsZUNoaWxkLAogI2VuZGlm
CiAgICAgRGlyZWN0QWRqYWNlbnQsCi0gICAgSW5kaXJlY3RBZGphY2VudCwKLSAgICBTaGFkb3dQ
c2V1ZG8sIC8vIFNwZWNpYWwgY2FzZSBvZiBzaGFkb3cgRE9NIHBzZXVkbyBlbGVtZW50cyAvIHNo
YWRvdyBwc2V1ZG8gZWxlbWVudAotICAgIFNoYWRvd0RlZXAsIC8vIC9kZWVwLyBjb21iaW5hdG9y
Ci0gICAgU2hhZG93U2xvdCAvLyBzbG90dGVkIHRvIDxzbG90PiBlCisgICAgSW5kaXJlY3RBZGph
Y2VudAogfTsKIAogY2xhc3MgQ1NTUGFyc2VyU2VsZWN0b3IgewpAQCAtMjYyLDggKzI1OSwxMSBA
QCBwdWJsaWM6CiAKICAgICBib29sIGlzSG9zdFBzZXVkb1NlbGVjdG9yKCkgY29uc3Q7CiAKLSAg
ICAvLyBGSVhNRS1ORVdQQVJTRVI6IE1pc3NpbmcgInNoYWRvdyIKLSAgICBib29sIG5lZWRzSW1w
bGljaXRTaGFkb3dDb21iaW5hdG9yRm9yTWF0Y2hpbmcoKSBjb25zdCB7IHJldHVybiBtYXRjaCgp
ID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50ICYmIChwc2V1ZG9FbGVtZW50VHlwZSgpID09
IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50V2ViS2l0Q3VzdG9tIHx8IHBzZXVkb0VsZW1lbnRU
eXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRVc2VyQWdlbnRDdXN0b20gfHwgcHNl
dWRvRWxlbWVudFR5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFdlYktpdEN1c3Rv
bUxlZ2FjeVByZWZpeGVkIHx8IHBzZXVkb0VsZW1lbnRUeXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBz
ZXVkb0VsZW1lbnRDdWUgfHwgcHNldWRvRWxlbWVudFR5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNl
dWRvRWxlbWVudFNsb3R0ZWQpOyB9CisgICAgLy8gRklYTUUtTkVXUEFSU0VSOiAic2xvdHRlZCIg
d2FzIHJlbW92ZWQgaGVyZSBmb3Igbm93LCBzaW5jZSBpdCBsZWFkcyB0byBhIGNvbWJpbmF0b3IK
KyAgICAvLyBjb25uZWN0aW9uIG9mIFNoYWRvd0Rlc2NlbmRhbnQsIGFuZCB0aGUgY3VycmVudCBz
aGFkb3cgRE9NIGNvZGUgZG9lc24ndCBleHBlY3QgdGhpcy4gV2hlbgorICAgIC8vIHdlIGRvIGZp
eCB0aGlzIGlzc3VlLCBtYWtlIHN1cmUgdG8gcGF0Y2ggdGhlIG5hbWVzcGFjZSBwcmVwZW5kVGFn
IGNvZGUgdG8gcmVtb3ZlIHRoZSBzbG90dGVkCisgICAgLy8gc3BlY2lhbCBjYXNlLCBzaW5jZSBp
dCB3aWxsIGJlIGNvdmVyZWQgYnkgdGhpcyBmdW5jdGlvbiBvbmNlIGFnYWluLgorICAgIGJvb2wg
bmVlZHNJbXBsaWNpdFNoYWRvd0NvbWJpbmF0b3JGb3JNYXRjaGluZygpIGNvbnN0IHsgcmV0dXJu
IG1hdGNoKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnQgJiYgKHBzZXVkb0VsZW1lbnRU
eXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVkb0VsZW1lbnRXZWJLaXRDdXN0b20gfHwgcHNldWRv
RWxlbWVudFR5cGUoKSA9PSBDU1NTZWxlY3Rvcjo6UHNldWRvRWxlbWVudFVzZXJBZ2VudEN1c3Rv
bSB8fCBwc2V1ZG9FbGVtZW50VHlwZSgpID09IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50V2Vi
S2l0Q3VzdG9tTGVnYWN5UHJlZml4ZWQgfHwgcHNldWRvRWxlbWVudFR5cGUoKSA9PSBDU1NTZWxl
Y3Rvcjo6UHNldWRvRWxlbWVudEN1ZSk7IH0KIAogICAgIENTU1BhcnNlclNlbGVjdG9yKiB0YWdI
aXN0b3J5KCkgY29uc3QgeyByZXR1cm4gbV90YWdIaXN0b3J5LmdldCgpOyB9CiAgICAgdm9pZCBz
ZXRUYWdIaXN0b3J5KHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gc2VsZWN0b3Ip
IHsgbV90YWdIaXN0b3J5ID0gV1RGTW92ZShzZWxlY3Rvcik7IH0KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvQ1NTU2VsZWN0b3JQYXJzZXIuY3BwCShyZXZpc2lvbiAyMDgy
MzkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL0NTU1NlbGVjdG9yUGFyc2VyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDcyLDcgKzQ3Miw2IEBAIHN0YXRpYyBib29sIGlzUHNldWRvQ2xh
c3NGdW5jdGlvbihDU1NTZWwKICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc050aExh
c3RPZlR5cGU6CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NMYW5nOgogICAgIGNh
c2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzQW55OgotICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBz
ZXVkb0NsYXNzSG9zdDoKICNpZiBFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQKICAgICBjYXNl
IENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0RpcjoKICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1
ZG9DbGFzc1JvbGU6CkBAIC01MTgsMTYgKzUxNywxOSBAQCBzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFy
c2VyU2VsZWN0b3I+IENTU1NlCiAgICAgLy8gdXNlcyB3aXRob3V0IGJyZWFraW5nIGl0OyB0aGlz
IGhhY2sgYWxsb3dzIGZ1bmN0aW9uIHNlbGVjdG9ycyB0byB3b3JrLiBXaGVuIHRoZSBuZXcKICAg
ICAvLyBwYXJzZXIgdHVybnMgb24sIHdlIGNhbiBwYXRjaCB0aGUgbWFwIGFuZCByZW1vdmUgdGhp
cyBjb2RlLgogICAgIFN0cmluZyBuZXdWYWx1ZTsKLSAgICBpZiAodG9rZW4udHlwZSgpID09IEZ1
bmN0aW9uVG9rZW4pIHsKLSAgICAgICAgbmV3VmFsdWUgPSB2YWx1ZS50b1N0cmluZygpICsgIigi
OwotICAgICAgICB2YWx1ZSA9IG5ld1ZhbHVlOworICAgIGlmICh0b2tlbi50eXBlKCkgPT0gRnVu
Y3Rpb25Ub2tlbiAmJiBjb2xvbnMgPT0gMSkgeworICAgICAgICBTdHJpbmcgdG9rZW5TdHJpbmcg
PSB2YWx1ZS50b1N0cmluZygpOworICAgICAgICBpZiAoIXRva2VuU3RyaW5nLnN0YXJ0c1dpdGhJ
Z25vcmluZ0FTQ0lJQ2FzZSgiaG9zdCIpKSB7CisgICAgICAgICAgICBuZXdWYWx1ZSA9IHZhbHVl
LnRvU3RyaW5nKCkgKyAiKCI7CisgICAgICAgICAgICB2YWx1ZSA9IG5ld1ZhbHVlOworICAgICAg
ICB9CiAgICAgfQogCiAgICAgaWYgKGNvbG9ucyA9PSAxKQogICAgICAgICBzZWxlY3RvciA9IHN0
ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4oQ1NTUGFyc2VyU2VsZWN0b3I6OnBhcnNl
UHNldWRvQ2xhc3NTZWxlY3RvckZyb21TdHJpbmdWaWV3KHZhbHVlKSk7CiAgICAgZWxzZQogICAg
ICAgICBzZWxlY3RvciA9IHN0ZDo6dW5pcXVlX3B0cjxDU1NQYXJzZXJTZWxlY3Rvcj4oQ1NTUGFy
c2VyU2VsZWN0b3I6OnBhcnNlUHNldWRvRWxlbWVudFNlbGVjdG9yRnJvbVN0cmluZ1ZpZXcodmFs
dWUpKTsKLSAgICAKKwogICAgIGlmICghc2VsZWN0b3IgfHwgKHNlbGVjdG9yLT5tYXRjaCgpID09
IENTU1NlbGVjdG9yOjpQc2V1ZG9FbGVtZW50ICYmIG1fZGlzYWxsb3dQc2V1ZG9FbGVtZW50cykp
CiAgICAgICAgIHJldHVybiBudWxscHRyOwogCkBAIC02MDQsNyArNjA2LDYgQEAgc3RkOjp1bmlx
dWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPiBDU1NTZQogICAgICAgICAgICAgc2VsZWN0b3ItPnNl
dFNlbGVjdG9yTGlzdChXVEZNb3ZlKHNlbGVjdG9yTGlzdCkpOwogICAgICAgICAgICAgcmV0dXJu
IHNlbGVjdG9yOwogICAgICAgICB9Ci0gICAgICAgIC8vIEZJWE1FLU5FV1BBUlNFUjogU3VwcG9y
dCA6aG9zdC1jb250ZXh0CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzQW55
OgogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0hvc3Q6IHsKICAgICAgICAg
ICAgIERpc2FsbG93UHNldWRvRWxlbWVudHNTY29wZSBzY29wZSh0aGlzKTsKQEAgLTY5OSwxNyAr
NzAwLDcgQEAgQ1NTU2VsZWN0b3I6OlJlbGF0aW9uVHlwZSBDU1NTZWxlY3RvclBhcgogICAgICAg
ICByZXR1cm4gQ1NTU2VsZWN0b3I6OkNoaWxkOwogICAgIH0KIAotICAgIC8vIE1hdGNoIC9kZWVw
LwotICAgIGlmIChkZWxpbWl0ZXIgIT0gJy8nKQotICAgICAgICByZXR1cm4gZmFsbGJhY2tSZXN1
bHQ7Ci0gICAgcmFuZ2UuY29uc3VtZSgpOwotICAgIGNvbnN0IENTU1BhcnNlclRva2VuJiBpZGVu
dCA9IHJhbmdlLmNvbnN1bWUoKTsKLSAgICBpZiAoaWRlbnQudHlwZSgpICE9IElkZW50VG9rZW4g
fHwgIWVxdWFsSWdub3JpbmdBU0NJSUNhc2UoaWRlbnQudmFsdWUoKSwgImRlZXAiKSkKLSAgICAg
ICAgbV9mYWlsZWRQYXJzaW5nID0gdHJ1ZTsKLSAgICBjb25zdCBDU1NQYXJzZXJUb2tlbiYgc2xh
c2ggPSByYW5nZS5jb25zdW1lSW5jbHVkaW5nV2hpdGVzcGFjZSgpOwotICAgIGlmIChzbGFzaC50
eXBlKCkgIT0gRGVsaW1pdGVyVG9rZW4gfHwgc2xhc2guZGVsaW1pdGVyKCkgIT0gJy8nKQotICAg
ICAgICBtX2ZhaWxlZFBhcnNpbmcgPSB0cnVlOwotICAgIHJldHVybiBDU1NTZWxlY3Rvcjo6U2hh
ZG93RGVlcDsKKyAgICByZXR1cm4gZmFsbGJhY2tSZXN1bHQ7CiB9CiAKIENTU1NlbGVjdG9yOjpN
YXRjaCBDU1NTZWxlY3RvclBhcnNlcjo6Y29uc3VtZUF0dHJpYnV0ZU1hdGNoKENTU1BhcnNlclRv
a2VuUmFuZ2UmIHJhbmdlKQpAQCAtODQ3LDcgKzgzOCw5IEBAIGNvbnN0IEF0b21pY1N0cmluZyYg
Q1NTU2VsZWN0b3JQYXJzZXI6OmQKIAogdm9pZCBDU1NTZWxlY3RvclBhcnNlcjo6cHJlcGVuZFR5
cGVTZWxlY3RvcklmTmVlZGVkKGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZXNwYWNlUHJlZml4LCBj
b25zdCBBdG9taWNTdHJpbmcmIGVsZW1lbnROYW1lLCBDU1NQYXJzZXJTZWxlY3RvciogY29tcG91
bmRTZWxlY3RvcikKIHsKLSAgICBpZiAoZWxlbWVudE5hbWUuaXNOdWxsKCkgJiYgZGVmYXVsdE5h
bWVzcGFjZSgpID09IHN0YXJBdG9tICYmICFjb21wb3VuZFNlbGVjdG9yLT5uZWVkc0ltcGxpY2l0
U2hhZG93Q29tYmluYXRvckZvck1hdGNoaW5nKCkpCisgICAgYm9vbCBpc1NoYWRvd0RPTSA9IGNv
bXBvdW5kU2VsZWN0b3ItPm5lZWRzSW1wbGljaXRTaGFkb3dDb21iaW5hdG9yRm9yTWF0Y2hpbmco
KTsKKyAgICAKKyAgICBpZiAoZWxlbWVudE5hbWUuaXNOdWxsKCkgJiYgZGVmYXVsdE5hbWVzcGFj
ZSgpID09IHN0YXJBdG9tICYmICFpc1NoYWRvd0RPTSkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
QXRvbWljU3RyaW5nIGRldGVybWluZWRFbGVtZW50TmFtZSA9IGVsZW1lbnROYW1lLmlzTnVsbCgp
ID8gc3RhckF0b20gOiBlbGVtZW50TmFtZTsKQEAgLTg2MSwxNiArODU0LDE2IEBAIHZvaWQgQ1NT
U2VsZWN0b3JQYXJzZXI6OnByZXBlbmRUeXBlU2VsZWMKICAgICAgICAgZGV0ZXJtaW5lZFByZWZp
eCA9IG51bGxBdG9tOwogICAgIFF1YWxpZmllZE5hbWUgdGFnID0gUXVhbGlmaWVkTmFtZShkZXRl
cm1pbmVkUHJlZml4LCBkZXRlcm1pbmVkRWxlbWVudE5hbWUsIG5hbWVzcGFjZVVSSSk7CiAKLSAg
ICAvLyAqOmhvc3QvKjpob3N0LWNvbnRleHQgbmV2ZXIgbWF0Y2hlcywgc28gd2UgY2FuJ3QgZGlz
Y2FyZCB0aGUgKiwKKyAgICAvLyAqOmhvc3QgbmV2ZXIgbWF0Y2hlcywgc28gd2UgY2FuJ3QgZGlz
Y2FyZCB0aGUgKiwKICAgICAvLyBvdGhlcndpc2Ugd2UgY2FuJ3QgdGVsbCB0aGUgZGlmZmVyZW5j
ZSBiZXR3ZWVuICo6aG9zdCBhbmQganVzdCA6aG9zdC4KICAgICAvLwogICAgIC8vIEFsc28sIHNl
bGVjdG9ycyB3aGVyZSB3ZSB1c2UgYSBTaGFkb3dQc2V1ZG8gY29tYmluYXRvciBiZXR3ZWVuIHRo
ZQogICAgIC8vIGVsZW1lbnQgYW5kIHRoZSBwc2V1ZG8gZWxlbWVudCBmb3IgbWF0Y2hpbmcgKGN1
c3RvbSBwc2V1ZG8gZWxlbWVudHMsCi0gICAgLy8gOjpjdWUsIDo6c2hhZG93KSwgd2UgbmVlZCBh
IHVuaXZlcnNhbCBzZWxlY3RvciB0byBzZXQgdGhlIGNvbWJpbmF0b3IKKyAgICAvLyA6OmN1ZSks
IHdlIG5lZWQgYSB1bml2ZXJzYWwgc2VsZWN0b3IgdG8gc2V0IHRoZSBjb21iaW5hdG9yCiAgICAg
Ly8gKHJlbGF0aW9uKSBvbiBpbiB0aGUgY2FzZXMgd2hlcmUgdGhlcmUgYXJlIG5vIHNpbXBsZSBz
ZWxlY3RvcnMgcHJlY2VkaW5nCiAgICAgLy8gdGhlIHBzZXVkbyBlbGVtZW50LgogICAgIGJvb2wg
ZXhwbGljaXRGb3JIb3N0ID0gY29tcG91bmRTZWxlY3Rvci0+aXNIb3N0UHNldWRvU2VsZWN0b3Io
KSAmJiAhZWxlbWVudE5hbWUuaXNOdWxsKCk7Ci0gICAgaWYgKHRhZyAhPSBhbnlRTmFtZSgpIHx8
IGV4cGxpY2l0Rm9ySG9zdCB8fCBjb21wb3VuZFNlbGVjdG9yLT5uZWVkc0ltcGxpY2l0U2hhZG93
Q29tYmluYXRvckZvck1hdGNoaW5nKCkpCisgICAgaWYgKHRhZyAhPSBhbnlRTmFtZSgpIHx8IGV4
cGxpY2l0Rm9ySG9zdCB8fCBpc1NoYWRvd0RPTSkKICAgICAgICAgY29tcG91bmRTZWxlY3Rvci0+
cHJlcGVuZFRhZ1NlbGVjdG9yKHRhZywgZGV0ZXJtaW5lZFByZWZpeCA9PSBudWxsQXRvbSAmJiBk
ZXRlcm1pbmVkRWxlbWVudE5hbWUgPT0gc3RhckF0b20gJiYgIWV4cGxpY2l0Rm9ySG9zdCk7CiB9
CiAKQEAgLTkwOCw3ICs5MDEsNyBAQCBzdGQ6OnVuaXF1ZV9wdHI8Q1NTUGFyc2VyU2VsZWN0b3I+
IENTU1NlCiAgICAgICAgIHJldHVybiBjb21wb3VuZFNlbGVjdG9yOwogCiAgICAgc3RkOjp1bmlx
dWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPiBzZWNvbmRDb21wb3VuZCA9IHNwbGl0QWZ0ZXItPnJl
bGVhc2VUYWdIaXN0b3J5KCk7Ci0gICAgc2Vjb25kQ29tcG91bmQtPmFwcGVuZFRhZ0hpc3Rvcnko
c2Vjb25kQ29tcG91bmQtPnBzZXVkb0VsZW1lbnRUeXBlKCkgPT0gQ1NTU2VsZWN0b3I6OlBzZXVk
b0VsZW1lbnRTbG90dGVkID8gQ1NTU2VsZWN0b3I6OlNoYWRvd1Nsb3QgOiBDU1NTZWxlY3Rvcjo6
U2hhZG93UHNldWRvLCBXVEZNb3ZlKGNvbXBvdW5kU2VsZWN0b3IpKTsKKyAgICBzZWNvbmRDb21w
b3VuZC0+YXBwZW5kVGFnSGlzdG9yeShDU1NTZWxlY3Rvcjo6U2hhZG93RGVzY2VuZGFudCwgV1RG
TW92ZShjb21wb3VuZFNlbGVjdG9yKSk7CiAgICAgcmV0dXJuIHNlY29uZENvbXBvdW5kOwogfQog
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCShyZXZp
c2lvbiAyMDgyMzkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQxNCw5ICs0MTQsNiBAQCBzdGF0aWMgaW5saW5lIEZyYWdt
ZW50UmVsYXRpb24gZnJhZ21lbnRSCiAgICAgICAgIHJldHVybiBGcmFnbWVudFJlbGF0aW9uOjpJ
bmRpcmVjdEFkamFjZW50OwogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlN1YnNlbGVjdG9yOgogICAg
IGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd0Rlc2NlbmRhbnQ6Ci0gICAgY2FzZSBDU1NTZWxlY3Rv
cjo6U2hhZG93UHNldWRvOgotICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlNoYWRvd0RlZXA6Ci0gICAg
Y2FzZSBDU1NTZWxlY3Rvcjo6U2hhZG93U2xvdDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwo=
</data>
<flag name="review"
          id="316479"
          type_id="1"
          status="+"
          setter="dino"
    />
          </attachment>
      

    </bug>

</bugzilla>