<?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>133913</bug_id>
          
          <creation_ts>2014-06-14 14:02:00 -0700</creation_ts>
          <short_desc>CSS JIT: add support for the :lang() pseudo class</short_desc>
          <delta_ts>2014-06-15 23:54:49 -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>528+ (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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kling</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1015700</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-06-14 14:02:00 -0700</bug_when>
    <thetext>CSS JIT: add support for the :lang() pseudo class</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015701</commentid>
    <comment_count>1</comment_count>
      <attachid>233120</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-06-14 14:04:06 -0700</bug_when>
    <thetext>Created attachment 233120
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015718</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-06-14 14:44:12 -0700</bug_when>
    <thetext>See also bug 16801.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015755</commentid>
    <comment_count>3</comment_count>
      <attachid>233120</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-06-15 00:28:13 -0700</bug_when>
    <thetext>Comment on attachment 233120
Patch

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

r=me

&gt; Source/WebCore/css/SelectorCheckerTestFunctions.h:118
&gt; +    if (value.startsWith(String(*filter), false)) {

String(*filter) will ref() and unref() the StringImpl here, you can do better. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015817</commentid>
    <comment_count>4</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-06-15 23:54:49 -0700</bug_when>
    <thetext>Committed r170001: &lt;http://trac.webkit.org/changeset/170001&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233120</attachid>
            <date>2014-06-14 14:04:06 -0700</date>
            <delta_ts>2014-06-15 00:28:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133913-20140614140342.patch</filename>
            <type>text/plain</type>
            <size>26926</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTY5OTY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTRmZDE4Nzk2YTNjM2Nk
YjU5NDE4NTM1YjljYWYxMzk4OTRkY2JhZS4uNDNhY2E5NjViODgyMmM2YWYyNjhjYmI5NWNjOWRh
ZTk2NjhmMjg3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM1IEBACisyMDE0LTA2LTE0ICBCZW5q
YW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBDU1MgSklUOiBh
ZGQgc3VwcG9ydCBmb3IgdGhlIDpsYW5nKCkgcHNldWRvIGNsYXNzCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM5MTMKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgc2VsZWN0b3IgaXMgYWxyZWFkeSB2
ZXJ5IGV4cGVuc2l2ZSB0byBiZWdpbiB3aXRoLCBqdXN0IGltcGxlbWVudCBpdCB3aXRoCisgICAg
ICAgIGEgZnVuY3Rpb24gY2FsbC4KKworICAgICAgICBJdCBpcyBhbHNvIGRvbmUgYWZ0ZXIgZXZl
cnkgb3RoZXIgZmlsdGVyIHNpbmNlIGl0IGlzIHNvIGluZWZmaWNpZW50LgorCisgICAgICAgIFRl
c3RzOiBmYXN0L3NlbGVjdG9ycy9sYW5nLWNvbmZsaWN0Lmh0bWwKKyAgICAgICAgICAgICAgIGZh
c3Qvc2VsZWN0b3JzL2xhbmctZW1wdHkuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9zZWxlY3Rv
cnMvbGFuZy1zcGVjaWZpY2l0eS14bWwueGh0bWwKKyAgICAgICAgICAgICAgIGZhc3Qvc2VsZWN0
b3JzL2xhbmctc3BlY2lmaWNpdHkuaHRtbAorCisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tl
ci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNoZWNrZXI6OmNoZWNrT25lKToKKyAg
ICAgICAgKiBjc3MvU2VsZWN0b3JDaGVja2VyVGVzdEZ1bmN0aW9ucy5oOgorICAgICAgICAoV2Vi
Q29yZTo6bWF0Y2hlc0xhbmdQc2V1ZG9DbGFzcyk6CisgICAgICAgICogY3Nzaml0L1NlbGVjdG9y
Q29tcGlsZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0b3JDb21waWxlcjo6U2VsZWN0
b3JGcmFnbWVudDo6U2VsZWN0b3JGcmFnbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3Rv
ckNvbXBpbGVyOjphZGRQc2V1ZG9DbGFzc1R5cGUpOgorICAgICAgICAoV2ViQ29yZTo6U2VsZWN0
b3JDb21waWxlcjo6U2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZUVsZW1lbnRNYXRjaGlu
Zyk6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjpTZWxlY3RvckNvZGVHZW5l
cmF0b3I6OmdlbmVyYXRlRWxlbWVudElzSW5MYW5ndWFnZSk6CisgICAgICAgICogZG9tL0VsZW1l
bnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Y29tcHV0ZUluaGVyaXRlZExhbmd1
YWdlKToKKyAgICAgICAgKiBkb20vRWxlbWVudERhdGEuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RWxlbWVudERhdGE6OmZpbmRMYW5ndWFnZUF0dHJpYnV0ZSk6CisgICAgICAgICogZG9tL0VsZW1l
bnREYXRhLmg6CisKIDIwMTQtMDYtMTQgIEZyw6lkw6lyaWMgV2FuZyAgPGZyZWQud2FuZ0BmcmVl
LmZyPgogCiAgICAgICAgIERyYXcgcmFkaWNhbHMgd2l0aCBnbHlwaHMgZm9yIGJldHRlciByZW5k
ZXJpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAKaW5kZXggNzVmNDM5NmJl
YmE2OTBjNzY0MTFiZTRjMmQyNThmZmY5ODViYmY3ZS4uZjcyYzUzYTZjMWVjMTliN2I3NjQzMWFl
NTc3YmFhZTQ4YzM5MDQ3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9y
Q2hlY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlci5jcHAK
QEAgLTc0MCwxOSArNzQwLDEwIEBAIGJvb2wgU2VsZWN0b3JDaGVja2VyOjpjaGVja09uZShjb25z
dCBTZWxlY3RvckNoZWNraW5nQ29udGV4dCYgY29udGV4dCkgY29uc3QKICAgICAgICAgICAgIGJy
ZWFrOwogICAgICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DbGFzc0xhbmc6CiAgICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgQXRvbWljU3RyaW5nIHZhbHVlOwotI2lmIEVOQUJMRShW
SURFT19UUkFDSykKLSAgICAgICAgICAgICAgICBpZiAoZWxlbWVudC0+aXNXZWJWVFRFbGVtZW50
KCkpCi0gICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdG9XZWJWVFRFbGVtZW50KGVsZW1lbnQp
LT5sYW5ndWFnZSgpOwotICAgICAgICAgICAgICAgIGVsc2UKLSNlbmRpZgotICAgICAgICAgICAg
ICAgICAgICB2YWx1ZSA9IGVsZW1lbnQtPmNvbXB1dGVJbmhlcml0ZWRMYW5ndWFnZSgpOwogICAg
ICAgICAgICAgICAgIGNvbnN0IEF0b21pY1N0cmluZyYgYXJndW1lbnQgPSBzZWxlY3Rvci0+YXJn
dW1lbnQoKTsKLSAgICAgICAgICAgICAgICBpZiAodmFsdWUuaXNFbXB0eSgpIHx8ICF2YWx1ZS5z
dGFydHNXaXRoKGFyZ3VtZW50LCBmYWxzZSkpCi0gICAgICAgICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5sZW5ndGgoKSAhPSBhcmd1bWVudC5sZW5ndGgoKSAm
JiB2YWx1ZVthcmd1bWVudC5sZW5ndGgoKV0gIT0gJy0nKQotICAgICAgICAgICAgICAgICAgICBi
cmVhazsKLSAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgICAgICBpZiAo
YXJndW1lbnQuaXNOdWxsKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgICAgICAgICByZXR1cm4gbWF0Y2hlc0xhbmdQc2V1ZG9DbGFzcyhlbGVtZW50LCBhcmd1
bWVudC5pbXBsKCkpOwogICAgICAgICAgICAgfQogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkK
ICAgICAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQ2xhc3NGdWxsU2NyZWVuOgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TZWxlY3RvckNoZWNrZXJUZXN0RnVuY3Rpb25zLmgKaW5kZXgg
ZmU0MGU5NzNkZTFmMDAwMzZkYTFjNTE0OTczNTExZDg1M2FhY2M1Yi4uNTI4MDQ5ZmZmZWZhNDYx
ZGZiN2YxMWZlYWYxZGM5ZTIxYjI0OTQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U2VsZWN0b3JDaGVja2VyVGVzdEZ1bmN0aW9ucy5oCkBAIC05OSw2ICs5OSwzMCBAQCBBTFdBWVNf
SU5MSU5FIGJvb2wgaXNWYWxpZChjb25zdCBFbGVtZW50KiBlbGVtZW50KQogICAgIHJldHVybiBl
bGVtZW50LT53aWxsVmFsaWRhdGUoKSAmJiBlbGVtZW50LT5pc1ZhbGlkRm9ybUNvbnRyb2xFbGVt
ZW50KCk7CiB9CiAKK2lubGluZSBib29sIG1hdGNoZXNMYW5nUHNldWRvQ2xhc3MoY29uc3QgRWxl
bWVudCogZWxlbWVudCwgQXRvbWljU3RyaW5nSW1wbCogZmlsdGVyKQoreworICAgIEF0b21pY1N0
cmluZyB2YWx1ZTsKKyNpZiBFTkFCTEUoVklERU9fVFJBQ0spCisgICAgaWYgKGVsZW1lbnQtPmlz
V2ViVlRURWxlbWVudCgpKQorICAgICAgICB2YWx1ZSA9IHRvV2ViVlRURWxlbWVudChlbGVtZW50
KS0+bGFuZ3VhZ2UoKTsKKyAgICBlbHNlCisjZW5kaWYKKyAgICAgICAgdmFsdWUgPSBlbGVtZW50
LT5jb21wdXRlSW5oZXJpdGVkTGFuZ3VhZ2UoKTsKKworICAgIGlmICh2YWx1ZS5pc051bGwoKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgaWYgKHZhbHVlLmltcGwoKSA9PSBmaWx0ZXIp
CisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgaWYgKHZhbHVlLnN0YXJ0c1dpdGgoU3RyaW5n
KCpmaWx0ZXIpLCBmYWxzZSkpIHsKKyAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCgpID09IGZpbHRl
ci0+bGVuZ3RoKCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgcmV0dXJuIHZh
bHVlW2ZpbHRlci0+bGVuZ3RoKCldID09ICctJzsKKyAgICB9CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCiBBTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hlc1JlYWRPbmx5UHNldWRvQ2xhc3MoY29uc3Qg
RWxlbWVudCogZWxlbWVudCkKIHsKICAgICByZXR1cm4gZWxlbWVudC0+bWF0Y2hlc1JlYWRPbmx5
UHNldWRvQ2xhc3MoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3Rv
ckNvbXBpbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNw
cAppbmRleCA4NWQ4MDBmZDUyNWMwZDZkODNjNzMxNTYyZTYwYTMyMmQ3MDk5N2YyLi4xZjkxNWE3
YWVhMDFhOGY2ZWMyMTcwOTMzYzViOWE5ZGU0M2IyNWI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
aml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCkBAIC0xMzIsNiArMTMyLDcgQEAgc3RydWN0IFNlbGVj
dG9yRnJhZ21lbnQgewogICAgICAgICAsIHdpZHRoRnJvbUluZGlyZWN0QWRqYWNlbnQoMCkKICAg
ICAgICAgLCB0YWdOYW1lKG51bGxwdHIpCiAgICAgICAgICwgaWQobnVsbHB0cikKKyAgICAgICAg
LCBsYW5nRmlsdGVyKG51bGxwdHIpCiAgICAgICAgICwgb25seU1hdGNoZXNMaW5rc0luUXVpcmtz
TW9kZSh0cnVlKQogICAgIHsKICAgICB9CkBAIC0xNTEsNiArMTUyLDcgQEAgc3RydWN0IFNlbGVj
dG9yRnJhZ21lbnQgewogCiAgICAgY29uc3QgUXVhbGlmaWVkTmFtZSogdGFnTmFtZTsKICAgICBj
b25zdCBBdG9taWNTdHJpbmcqIGlkOworICAgIGNvbnN0IEF0b21pY1N0cmluZyogbGFuZ0ZpbHRl
cjsKICAgICBWZWN0b3I8Y29uc3QgQXRvbWljU3RyaW5nSW1wbCosIDE+IGNsYXNzTmFtZXM7CiAg
ICAgSGFzaFNldDx1bnNpZ25lZD4gcHNldWRvQ2xhc3NlczsKICAgICBWZWN0b3I8SlNDOjpGdW5j
dGlvblB0cj4gdW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2VzOwpAQCAtMjI2LDYgKzIyOCw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBnZW5lcmF0ZUVsZW1lbnRJc0FjdGl2ZShBc3NlbWJsZXI6Okp1bXBM
aXN0JiBmYWlsdXJlQ2FzZXMsIGNvbnN0IFNlbGVjdG9yRnJhZ21lbnQmKTsKICAgICB2b2lkIGdl
bmVyYXRlRWxlbWVudElzRmlyc3RDaGlsZChBc3NlbWJsZXI6Okp1bXBMaXN0JiBmYWlsdXJlQ2Fz
ZXMsIGNvbnN0IFNlbGVjdG9yRnJhZ21lbnQmKTsKICAgICB2b2lkIGdlbmVyYXRlRWxlbWVudElz
SG92ZXJlZChBc3NlbWJsZXI6Okp1bXBMaXN0JiBmYWlsdXJlQ2FzZXMsIGNvbnN0IFNlbGVjdG9y
RnJhZ21lbnQmKTsKKyAgICB2b2lkIGdlbmVyYXRlRWxlbWVudElzSW5MYW5ndWFnZShBc3NlbWJs
ZXI6Okp1bXBMaXN0JiBmYWlsdXJlQ2FzZXMsIGNvbnN0IEF0b21pY1N0cmluZyYpOwogICAgIHZv
aWQgZ2VuZXJhdGVFbGVtZW50SXNMYXN0Q2hpbGQoQXNzZW1ibGVyOjpKdW1wTGlzdCYgZmFpbHVy
ZUNhc2VzLCBjb25zdCBTZWxlY3RvckZyYWdtZW50Jik7CiAgICAgdm9pZCBnZW5lcmF0ZUVsZW1l
bnRJc09ubHlDaGlsZChBc3NlbWJsZXI6Okp1bXBMaXN0JiBmYWlsdXJlQ2FzZXMsIGNvbnN0IFNl
bGVjdG9yRnJhZ21lbnQmKTsKICAgICB2b2lkIGdlbmVyYXRlU3luY2hyb25pemVTdHlsZUF0dHJp
YnV0ZShBc3NlbWJsZXI6OlJlZ2lzdGVySUQgZWxlbWVudERhdGFBcnJheVNpemVBbmRGbGFncyk7
CkBAIC00OTIsNiArNDk1LDI1IEBAIHN0YXRpYyBpbmxpbmUgRnVuY3Rpb25UeXBlIGFkZFBzZXVk
b0NsYXNzVHlwZShjb25zdCBDU1NTZWxlY3RvciYgc2VsZWN0b3IsIFNlbGVjCiAKICAgICAgICAg
ICAgIHJldHVybiBmdW5jdGlvblR5cGU7CiAgICAgICAgIH0KKyAgICBjYXNlIENTU1NlbGVjdG9y
OjpQc2V1ZG9DbGFzc0xhbmc6CisgICAgICAgIHsKKyAgICAgICAgICAgIGNvbnN0IEF0b21pY1N0
cmluZyYgYXJndW1lbnQgPSBzZWxlY3Rvci5hcmd1bWVudCgpOworICAgICAgICAgICAgaWYgKGFy
Z3VtZW50LmlzRW1wdHkoKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gRnVuY3Rpb25UeXBlOjpD
YW5ub3RNYXRjaEFueXRoaW5nOworCisgICAgICAgICAgICBpZiAoIWZyYWdtZW50LmxhbmdGaWx0
ZXIpCisgICAgICAgICAgICAgICAgZnJhZ21lbnQubGFuZ0ZpbHRlciA9ICZhcmd1bWVudDsKKyAg
ICAgICAgICAgIGVsc2UgaWYgKCpmcmFnbWVudC5sYW5nRmlsdGVyICE9IGFyZ3VtZW50KSB7Cisg
ICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgYXJlIG11bHRpcGxlIGRlZmluaXRpb24sIHdlIG9u
bHkgY2FyZSBhYm91dCB0aGUgbW9zdCByZXN0cmljdGl2ZSBvbmUuCisgICAgICAgICAgICAgICAg
aWYgKGFyZ3VtZW50LnN0YXJ0c1dpdGgoKmZyYWdtZW50LmxhbmdGaWx0ZXIsIGZhbHNlKSkKKyAg
ICAgICAgICAgICAgICAgICAgZnJhZ21lbnQubGFuZ0ZpbHRlciA9ICZhcmd1bWVudDsKKyAgICAg
ICAgICAgICAgICBlbHNlIGlmIChmcmFnbWVudC5sYW5nRmlsdGVyLT5zdGFydHNXaXRoKGFyZ3Vt
ZW50LCBmYWxzZSkpCisgICAgICAgICAgICAgICAgICAgIHsgfSAvLyBUaGUgZXhpc3RpbmcgZmls
dGVyIGlzIG1vcmUgcmVzdHJpY3RpdmUuCisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gRnVuY3Rpb25UeXBlOjpDYW5ub3RNYXRjaEFueXRoaW5nOworICAg
ICAgICAgICAgfQorICAgICAgICAgICAgcmV0dXJuIEZ1bmN0aW9uVHlwZTo6U2ltcGxlU2VsZWN0
b3JDaGVja2VyOworICAgICAgICB9CiAKICAgICBkZWZhdWx0OgogICAgICAgICBicmVhazsKQEAg
LTE3NDcsNiArMTc2OSw4IEBAIHZvaWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpnZW5lcmF0ZUVs
ZW1lbnRNYXRjaGluZyhBc3NlbWJsZXI6Okp1bXBMaXN0JiBtYXRjaGluCiAgICAgICAgIGdlbmVy
YXRlRWxlbWVudE1hdGNoZXNOb3RQc2V1ZG9DbGFzcyhtYXRjaGluZ1Bvc3RUYWdOYW1lRmFpbHVy
ZUNhc2VzLCBmcmFnbWVudCk7CiAgICAgaWYgKCFmcmFnbWVudC5hbnlGaWx0ZXJzLmlzRW1wdHko
KSkKICAgICAgICAgZ2VuZXJhdGVFbGVtZW50TWF0Y2hlc0FueVBzZXVkb0NsYXNzKG1hdGNoaW5n
UG9zdFRhZ05hbWVGYWlsdXJlQ2FzZXMsIGZyYWdtZW50KTsKKyAgICBpZiAoZnJhZ21lbnQubGFu
Z0ZpbHRlcikKKyAgICAgICAgZ2VuZXJhdGVFbGVtZW50SXNJbkxhbmd1YWdlKG1hdGNoaW5nUG9z
dFRhZ05hbWVGYWlsdXJlQ2FzZXMsICpmcmFnbWVudC5sYW5nRmlsdGVyKTsKIH0KIAogdm9pZCBT
ZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlRWxlbWVudERhdGFNYXRjaGluZyhBc3NlbWJs
ZXI6Okp1bXBMaXN0JiBmYWlsdXJlQ2FzZXMsIGNvbnN0IFNlbGVjdG9yRnJhZ21lbnQmIGZyYWdt
ZW50KQpAQCAtMjMwOSw2ICsyMzMzLDE4IEBAIHZvaWQgU2VsZWN0b3JDb2RlR2VuZXJhdG9yOjpn
ZW5lcmF0ZUVsZW1lbnRJc0hvdmVyZWQoQXNzZW1ibGVyOjpKdW1wTGlzdCYgZmFpbHVyCiAgICAg
fQogfQogCit2b2lkIFNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVFbGVtZW50SXNJbkxh
bmd1YWdlKEFzc2VtYmxlcjo6SnVtcExpc3QmIGZhaWx1cmVDYXNlcywgY29uc3QgQXRvbWljU3Ry
aW5nJiBsYW5nRmlsdGVyKQoreworICAgIExvY2FsUmVnaXN0ZXJXaXRoUHJlZmVyZW5jZSBsYW5n
RmlsdGVyUmVnaXN0ZXIobV9yZWdpc3RlckFsbG9jYXRvciwgSlNDOjpHUFJJbmZvOjphcmd1bWVu
dEdQUjEpOworICAgIG1fYXNzZW1ibGVyLm1vdmUoQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKGxh
bmdGaWx0ZXIuaW1wbCgpKSwgbGFuZ0ZpbHRlclJlZ2lzdGVyKTsKKworICAgIEFzc2VtYmxlcjo6
UmVnaXN0ZXJJRCBlbGVtZW50QWRkcmVzcyA9IGVsZW1lbnRBZGRyZXNzUmVnaXN0ZXI7CisgICAg
RnVuY3Rpb25DYWxsIGZ1bmN0aW9uQ2FsbChtX2Fzc2VtYmxlciwgbV9yZWdpc3RlckFsbG9jYXRv
ciwgbV9zdGFja0FsbG9jYXRvciwgbV9mdW5jdGlvbkNhbGxzKTsKKyAgICBmdW5jdGlvbkNhbGwu
c2V0RnVuY3Rpb25BZGRyZXNzKG1hdGNoZXNMYW5nUHNldWRvQ2xhc3MpOworICAgIGZ1bmN0aW9u
Q2FsbC5zZXRUd29Bcmd1bWVudHMoZWxlbWVudEFkZHJlc3MsIGxhbmdGaWx0ZXJSZWdpc3Rlcik7
CisgICAgZmFpbHVyZUNhc2VzLmFwcGVuZChmdW5jdGlvbkNhbGwuY2FsbEFuZEJyYW5jaE9uQm9v
bGVhblJldHVyblZhbHVlKEFzc2VtYmxlcjo6WmVybykpOworfQorCiBzdGF0aWMgdm9pZCBzZXRM
YXN0Q2hpbGRTdGF0ZShFbGVtZW50KiBlbGVtZW50KQogewogICAgIGlmIChSZW5kZXJTdHlsZSog
c3R5bGUgPSBlbGVtZW50LT5yZW5kZXJTdHlsZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4
IDlkODY3NjMzOGVlZDJkOTc4N2VhZjAwNWMzN2EyN2YzNTg2YzFkZTMuLjcwY2QxZmUzZWVkMmRk
MDZkODZlOTFiNTM1NGI1YWE1YjFiZDRkYjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTIy
MDcsMjcgKzIyMDcsMjYgQEAgUmVnaW9uT3ZlcnNldFN0YXRlIEVsZW1lbnQ6OnJlZ2lvbk92ZXJz
ZXRTdGF0ZSgpIGNvbnN0CiAKIEF0b21pY1N0cmluZyBFbGVtZW50Ojpjb21wdXRlSW5oZXJpdGVk
TGFuZ3VhZ2UoKSBjb25zdAogewotICAgIGNvbnN0IE5vZGUqIG4gPSB0aGlzOwotICAgIEF0b21p
Y1N0cmluZyB2YWx1ZTsKKyAgICBpZiAoY29uc3QgRWxlbWVudERhdGEqIGVsZW1lbnREYXRhID0g
dGhpcy0+ZWxlbWVudERhdGEoKSkgeworICAgICAgICBpZiAoY29uc3QgQXR0cmlidXRlKiBhdHRy
aWJ1dGUgPSBlbGVtZW50RGF0YS0+ZmluZExhbmd1YWdlQXR0cmlidXRlKCkpCisgICAgICAgICAg
ICByZXR1cm4gYXR0cmlidXRlLT52YWx1ZSgpOworICAgIH0KKwogICAgIC8vIFRoZSBsYW5ndWFn
ZSBwcm9wZXJ0eSBpcyBpbmhlcml0ZWQsIHNvIHdlIGl0ZXJhdGUgb3ZlciB0aGUgcGFyZW50cyB0
byBmaW5kIHRoZSBmaXJzdCBsYW5ndWFnZS4KLSAgICBkbyB7Ci0gICAgICAgIGlmIChuLT5pc0Vs
ZW1lbnROb2RlKCkpIHsKLSAgICAgICAgICAgIGlmIChjb25zdCBFbGVtZW50RGF0YSogZWxlbWVu
dERhdGEgPSB0b0VsZW1lbnQobiktPmVsZW1lbnREYXRhKCkpIHsKLSAgICAgICAgICAgICAgICAv
LyBTcGVjOiB4bWw6bGFuZyB0YWtlcyBwcmVjZWRlbmNlIC0tIGh0dHA6Ly93d3cudzMub3JnL1RS
L3hodG1sMS8jQ183Ci0gICAgICAgICAgICAgICAgaWYgKGNvbnN0IEF0dHJpYnV0ZSogYXR0cmli
dXRlID0gZWxlbWVudERhdGEtPmZpbmRBdHRyaWJ1dGVCeU5hbWUoWE1MTmFtZXM6OmxhbmdBdHRy
KSkKLSAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBhdHRyaWJ1dGUtPnZhbHVlKCk7Ci0gICAg
ICAgICAgICAgICAgZWxzZSBpZiAoY29uc3QgQXR0cmlidXRlKiBhdHRyaWJ1dGUgPSBlbGVtZW50
RGF0YS0+ZmluZEF0dHJpYnV0ZUJ5TmFtZShIVE1MTmFtZXM6OmxhbmdBdHRyKSkKLSAgICAgICAg
ICAgICAgICAgICAgdmFsdWUgPSBhdHRyaWJ1dGUtPnZhbHVlKCk7CisgICAgY29uc3QgTm9kZSog
Y3VycmVudE5vZGUgPSB0aGlzOworICAgIHdoaWxlICgoY3VycmVudE5vZGUgPSBjdXJyZW50Tm9k
ZS0+cGFyZW50Tm9kZSgpKSkgeworICAgICAgICBpZiAoY3VycmVudE5vZGUtPmlzRWxlbWVudE5v
ZGUoKSkgeworICAgICAgICAgICAgaWYgKGNvbnN0IEVsZW1lbnREYXRhKiBlbGVtZW50RGF0YSA9
IHRvRWxlbWVudCgqY3VycmVudE5vZGUpLmVsZW1lbnREYXRhKCkpIHsKKyAgICAgICAgICAgICAg
ICBpZiAoY29uc3QgQXR0cmlidXRlKiBhdHRyaWJ1dGUgPSBlbGVtZW50RGF0YS0+ZmluZExhbmd1
YWdlQXR0cmlidXRlKCkpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBhdHRyaWJ1dGUtPnZh
bHVlKCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSBpZiAobi0+aXNEb2N1bWVudE5v
ZGUoKSkgeworICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnROb2RlLT5pc0RvY3VtZW50Tm9kZSgp
KSB7CiAgICAgICAgICAgICAvLyBjaGVja2luZyB0aGUgTUlNRSBjb250ZW50LWxhbmd1YWdlCi0g
ICAgICAgICAgICB2YWx1ZSA9IHRvRG9jdW1lbnQobiktPmNvbnRlbnRMYW5ndWFnZSgpOworICAg
ICAgICAgICAgcmV0dXJuIHRvRG9jdW1lbnQoY3VycmVudE5vZGUpLT5jb250ZW50TGFuZ3VhZ2Uo
KTsKICAgICAgICAgfQorICAgIH0KIAotICAgICAgICBuID0gbi0+cGFyZW50Tm9kZSgpOwotICAg
IH0gd2hpbGUgKG4gJiYgdmFsdWUuaXNOdWxsKCkpOwotCi0gICAgcmV0dXJuIHZhbHVlOworICAg
IHJldHVybiBudWxsQXRvbTsKIH0KIAogTG9jYWxlJiBFbGVtZW50Ojpsb2NhbGUoKSBjb25zdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnREYXRhLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50RGF0YS5jcHAKaW5kZXggM2MyYWUzZjliZmY5Yjc5YmFkMDgzMmNm
MjA1YzlmYzQ1OWUzZTdjOC4uYWNmMTc1NDkzOWYyZmRlZDM4Njk5NDViZDA4NGM4MWZhN2M0OThi
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnREYXRhLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudERhdGEuY3BwCkBAIC0yNyw3ICsyNyw5IEBACiAjaW5j
bHVkZSAiRWxlbWVudERhdGEuaCIKIAogI2luY2x1ZGUgIkF0dHIuaCIKKyNpbmNsdWRlICJIVE1M
TmFtZXMuaCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnRpZXMuaCIKKyNpbmNsdWRlICJYTUxOYW1l
cy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTIxOCw1ICsyMjAsMjQgQEAgQXR0cmli
dXRlKiBVbmlxdWVFbGVtZW50RGF0YTo6ZmluZEF0dHJpYnV0ZUJ5TmFtZShjb25zdCBRdWFsaWZp
ZWROYW1lJiBuYW1lKQogICAgIHJldHVybiBudWxscHRyOwogfQogCitjb25zdCBBdHRyaWJ1dGUq
IEVsZW1lbnREYXRhOjpmaW5kTGFuZ3VhZ2VBdHRyaWJ1dGUoKSBjb25zdAoreworICAgIEFTU0VS
VChYTUxOYW1lczo6bGFuZ0F0dHIubG9jYWxOYW1lKCkgPT0gSFRNTE5hbWVzOjpsYW5nQXR0ci5s
b2NhbE5hbWUoKSk7CisKKyAgICBjb25zdCBBdHRyaWJ1dGUqIGF0dHJpYnV0ZXMgPSBhdHRyaWJ1
dGVCYXNlKCk7CisgICAgLy8gU3BlYzogeG1sOmxhbmcgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIGh0
bWw6bGFuZyAtLSBodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvI0NfNworICAgIGNvbnN0IEF0
dHJpYnV0ZSogbGFuZ3VhZ2VBdHRyaWJ1dGUgPSBudWxscHRyOworICAgIGZvciAodW5zaWduZWQg
aSA9IDAsIGNvdW50ID0gbGVuZ3RoKCk7IGkgPCBjb3VudDsgKytpKSB7CisgICAgICAgIGNvbnN0
IFF1YWxpZmllZE5hbWUmIG5hbWUgPSBhdHRyaWJ1dGVzW2ldLm5hbWUoKTsKKyAgICAgICAgaWYg
KG5hbWUubG9jYWxOYW1lKCkgIT0gSFRNTE5hbWVzOjpsYW5nQXR0ci5sb2NhbE5hbWUoKSkKKyAg
ICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBpZiAobmFtZS5uYW1lc3BhY2VVUkkoKSA9PSBY
TUxOYW1lczo6bGFuZ0F0dHIubmFtZXNwYWNlVVJJKCkpCisgICAgICAgICAgICByZXR1cm4gJmF0
dHJpYnV0ZXNbaV07CisgICAgICAgIGlmIChuYW1lLm5hbWVzcGFjZVVSSSgpID09IEhUTUxOYW1l
czo6bGFuZ0F0dHIubmFtZXNwYWNlVVJJKCkpCisgICAgICAgICAgICBsYW5ndWFnZUF0dHJpYnV0
ZSA9ICZhdHRyaWJ1dGVzW2ldOworICAgIH0KKyAgICByZXR1cm4gbGFuZ3VhZ2VBdHRyaWJ1dGU7
Cit9CisKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnREYXRhLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudERhdGEuaAppbmRleCA5ODYwMjllNzE2NThiNjE2
OWJmZmQ4YTdjMTFmYmIxZjY4ZjcyZWViLi4wMzcxOTVkZjhlZmQ5ZWIyNGQ0NDQ2MGJkYjllOGYz
ZTZiODU3YTRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudERhdGEuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudERhdGEuaApAQCAtMTA1LDYgKzEwNSw3IEBA
IHB1YmxpYzoKICAgICB1bnNpZ25lZCBmaW5kQXR0cmlidXRlSW5kZXhCeU5hbWUoY29uc3QgUXVh
bGlmaWVkTmFtZSYpIGNvbnN0OwogICAgIHVuc2lnbmVkIGZpbmRBdHRyaWJ1dGVJbmRleEJ5TmFt
ZShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUsIGJvb2wgc2hvdWxkSWdub3JlQXR0cmlidXRlQ2Fz
ZSkgY29uc3Q7CiAgICAgdW5zaWduZWQgZmluZEF0dHJpYnV0ZUluZGV4QnlOYW1lRm9yQXR0cmli
dXRlTm9kZShjb25zdCBBdHRyKiwgYm9vbCBzaG91bGRJZ25vcmVBdHRyaWJ1dGVDYXNlID0gZmFs
c2UpIGNvbnN0OworICAgIGNvbnN0IEF0dHJpYnV0ZSogZmluZExhbmd1YWdlQXR0cmlidXRlKCkg
Y29uc3Q7CiAKICAgICBib29sIGhhc0lEKCkgY29uc3QgeyByZXR1cm4gIW1faWRGb3JTdHlsZVJl
c29sdXRpb24uaXNOdWxsKCk7IH0KICAgICBib29sIGhhc0NsYXNzKCkgY29uc3QgeyByZXR1cm4g
IW1fY2xhc3NOYW1lcy5pc0VtcHR5KCk7IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhMTdmNDc3OWI4NzA2NTM4OTFjYTg2
M2VjOGRjNTEyYTY0ZTEyNDk4Li5mMzcyZTEwMzNjZmEyZDJkZDYzZTk4OTBkYmNlOWNhMTU2Y2Yy
ZDJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTQtMDYtMTQgIEJlbmphbWluIFBvdWxhaW4g
IDxiZW5qYW1pbkB3ZWJraXQub3JnPgorCisgICAgICAgIENTUyBKSVQ6IGFkZCBzdXBwb3J0IGZv
ciB0aGUgOmxhbmcoKSBwc2V1ZG8gY2xhc3MKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzMzkxMworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogZmFzdC9zZWxlY3RvcnMvbGFuZy1jb25mbGljdC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2VsZWN0b3JzL2xhbmctY29uZmxpY3QuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9zZWxlY3RvcnMvbGFuZy1lbXB0eS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2VsZWN0b3JzL2xhbmctZW1wdHkuaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC9zZWxlY3RvcnMvbGFuZy1zcGVjaWZpY2l0eS1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2VsZWN0b3JzL2xhbmctc3BlY2lmaWNpdHkteG1s
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9zZWxlY3RvcnMvbGFuZy1zcGVj
aWZpY2l0eS14bWwueGh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3Qvc2VsZWN0b3JzL2xhbmct
c3BlY2lmaWNpdHkuaHRtbDogQWRkZWQuCisKIDIwMTQtMDYtMTQgIEZyw6lkw6lyaWMgV2FuZyAg
PGZyZWQud2FuZ0BmcmVlLmZyPgogCiAgICAgICAgIERyYXcgcmFkaWNhbHMgd2l0aCBnbHlwaHMg
Zm9yIGJldHRlciByZW5kZXJpbmcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0
b3JzL2xhbmctY29uZmxpY3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3Rv
cnMvbGFuZy1jb25mbGljdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmZiNTJhZjBjOWZiMjYz
NGU4ZDQ0MTQ0ZmJhNmFkZjYxMTI3YjZhNwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2VsZWN0b3JzL2xhbmctY29uZmxpY3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTIg
QEAKK1ZlcmlmeSBzZWxlY3RvcnMgd2l0aCBjb25mbGljdGluZyA6bGFuZygpLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6
bGFuZyhmcik6bGFuZyhlbikiKS5sZW5ndGggaXMgMAorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVj
dG9yQWxsKCI6bGFuZyhlbik6bGFuZyhmcikiKS5sZW5ndGggaXMgMAorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKSkuY29sb3IgaXMgInJnYigw
LCAwLCAwKSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9sYW5nLWNvbmZsaWN0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9sYW5nLWNvbmZsaWN0Lmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzc3ZmI1YWNmN2JjOWY1MGE1YTcxNWQ4NGM2MDZkOWQ5ZTI5MjYzYgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2xhbmctY29uZmxpY3QuaHRt
bApAQCAtMCwwICsxLDM1IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHls
ZT4KKyogeworICAgIGNvbG9yOiByZ2IoMCwgMCwgMCk7Cit9Cis6bGFuZyhmcik6bGFuZyhlbikg
eworICAgIGNvbG9yOiByZ2IoMSwgMiwgMyk7Cit9CisKKzpsYW5nKGVuKTpsYW5nKGZyKSB7Cisg
ICAgY29sb3I6IHJnYig0LCA1LCA2KTsKK30KKzwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKyAg
ICA8ZGl2IHN0eWxlPSJkaXNwbGF5Om5vbmUiPgorICAgICAgICA8YT4KKyAgICAgICAgICAgIDxi
PgorICAgICAgICAgICAgICAgIDxjIGlkPSJ0YXJnZXQiPjwvYz4KKyAgICAgICAgICAgIDwvYj4K
KyAgICAgICAgPC9hPgorICAgIDwvZGl2PgorPC9ib2R5PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9u
KCdWZXJpZnkgc2VsZWN0b3JzIHdpdGggY29uZmxpY3RpbmcgOmxhbmcoKS4nKTsKKworc2hvdWxk
QmUoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpsYW5nKGZyKTpsYW5nKGVuKSIpLmxlbmd0
aCcsICcwJyk7CitzaG91bGRCZSgnZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmxhbmcoZW4p
OmxhbmcoZnIpIikubGVuZ3RoJywgJzAnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29t
cHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0IikpLmNvbG9yJywgJ3Jn
YigwLCAwLCAwKScpOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pz
LXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3NlbGVjdG9ycy9sYW5nLWVtcHR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zh
c3Qvc2VsZWN0b3JzL2xhbmctZW1wdHktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdmNzZkMTYw
MWYwNTczNDE3NjA2OTVjMzY0YTQ4OTc4YjI0YWZiZmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9sYW5nLWVtcHR5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDEyIEBACitWZXJpZnkgZW1wdHkgOmxhbmcoKSBzZWxlY3RvcnMuCisKK09uIHN1Y2Nlc3MsIHlv
dSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNU
IENPTVBMRVRFIi4KKworCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpsYW5nKCki
KS5sZW5ndGggdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2VwdGlv
biAxMi4KK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmxhbmcoKSAqIikubGVuZ3Ro
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQ
QVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldDEiKSku
Y29sb3IgaXMgInJnYigwLCAwLCAwKSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9y
cy9sYW5nLWVtcHR5Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9sYW5nLWVtcHR5
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uYmQ2MGQyNDM2ZTdlZGY0YjYwYzQ4YzNkYWM3ODJlZWFhMTEwNzk1
MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2xhbmctZW1w
dHkuaHRtbApAQCAtMCwwICsxLDM1IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4K
KzxzdHlsZT4KKyogeworICAgIGNvbG9yOiByZ2IoMCwgMCwgMCk7Cit9Cis6bGFuZygpIHsKKyAg
ICBjb2xvcjogcmdiKDEsIDIsIDMpOworfQorCis6bGFuZygpICogeworICAgIGNvbG9yOiByZ2Io
NCwgNSwgNik7Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+CisgICAgPGRpdiBzdHlsZT0i
ZGlzcGxheTpub25lIj4KKyAgICAgICAgPGE+CisgICAgICAgICAgICA8Yj4KKyAgICAgICAgICAg
ICAgICA8YyBpZD0idGFyZ2V0MSI+PC9jPgorICAgICAgICAgICAgPC9iPgorICAgICAgICA8L2E+
CisgICAgPC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1ZlcmlmeSBlbXB0
eSA6bGFuZygpIHNlbGVjdG9ycy4nKTsKKworc2hvdWxkVGhyb3coJ2RvY3VtZW50LnF1ZXJ5U2Vs
ZWN0b3JBbGwoIjpsYW5nKCkiKS5sZW5ndGgnKTsKK3Nob3VsZFRocm93KCdkb2N1bWVudC5xdWVy
eVNlbGVjdG9yQWxsKCI6bGFuZygpICoiKS5sZW5ndGgnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0MSIpKS5j
b2xvcicsICdyZ2IoMCwgMCwgMCknKTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvbGFuZy1zcGVjaWZpY2l0eS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L3NlbGVjdG9ycy9sYW5nLXNwZWNpZmljaXR5LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kZDM2YzhjNTMzYzY5NDJlZmIwZTcxYTZhMTAxOTg2YjRiZGZjYTNhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvbGFuZy1zcGVjaWZp
Y2l0eS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNiBAQAorVmVyaWZ5IHNlbGVjdG9yIHNwZWNp
ZnlpbmcgbXVsdGlwbGUgOmxhbmcoKSBwc2V1ZG8gY2xhc3MuCisKK09uIHN1Y2Nlc3MsIHlvdSB3
aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENP
TVBMRVRFIi4KKworCitIVE1MIGxhbmcgb25seQorUEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9y
QWxsKCI6bGFuZyhmcik6bGFuZyhmci1iZSk6bGFuZyhmcikgI3RhcmdldDEiKS5sZW5ndGggaXMg
MQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQx
IikpLmNvbG9yIGlzICJyZ2IoMSwgMiwgMykiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JB
bGwoIjpsYW5nKGZyKTpsYW5nKGZyLWNhKSAjdGFyZ2V0MiIpLmxlbmd0aCBpcyAxCitQQVNTIGdl
dENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldDIiKSkuY29sb3Ig
aXMgInJnYig0LCA1LCA2KSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmxhbmco
ZnIpOmxhbmcoZnItY2gpICN0YXJnZXQzIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0MyIpKS5jb2xvciBpcyAicmdiKDcs
IDgsIDkpIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2xhbmctc3BlY2lmaWNp
dHkteG1sLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2xhbmctc3Bl
Y2lmaWNpdHkteG1sLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MzAyNTg3OWFmYTRmN2UwYzIw
MzMxZWU5ZDU5MmU0MDY0ZThiZGU0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9zZWxlY3RvcnMvbGFuZy1zcGVjaWZpY2l0eS14bWwtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MzAgQEAKK1ZlcmlmeSBzZWxlY3RvciBzcGVjaWZ5aW5nIG11bHRpcGxlIDpsYW5nKCkgcHNldWRv
IGNsYXNzLgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworSFRNTCBsYW5nIG9ubHkK
K1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmxhbmcoZnIpOmxhbmcoZnItYmUpOmxh
bmcoZnIpICN0YXJnZXQxIikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0MSIpKS5jb2xvciBpcyAicmdiKDEsIDIsIDMpIgor
UEFTUyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6bGFuZyhmcik6bGFuZyhmci1jYSkgI3Rh
cmdldDIiKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0YXJnZXQyIikpLmNvbG9yIGlzICJyZ2IoNCwgNSwgNikiCitQQVNTIGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpsYW5nKGZyKTpsYW5nKGZyLWNoKSAjdGFyZ2V0MyIpLmxl
bmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRhcmdldDMiKSkuY29sb3IgaXMgInJnYig3LCA4LCA5KSIKK1hNTCBsYW5nIG9ubHkKK1BBU1Mg
ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmxhbmcoZXMpOmxhbmcoZXMtYXIpOmxhbmcoZXMp
ICN0YXJnZXQ0IikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGFyZ2V0NCIpKS5jb2xvciBpcyAicmdiKDEwLCAxMSwgMTIpIgorUEFT
UyBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6bGFuZyhlcyk6bGFuZyhlcy1jbykgI3Rhcmdl
dDUiKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0YXJnZXQ1IikpLmNvbG9yIGlzICJyZ2IoMTMsIDE0LCAxNSkiCitQQVNTIGRvY3Vt
ZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpsYW5nKGVzKTpsYW5nKGVzLW14KSAjdGFyZ2V0NiIpLmxl
bmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo
InRhcmdldDYiKSkuY29sb3IgaXMgInJnYigxNiwgMTcsIDE4KSIKK1hNTCBhbmQgSFRNTCBsYW5n
CitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpsYW5nKHhtbCk6bGFuZyh4bWwtbGFu
ZzEpOmxhbmcoeG1sKSAjdGFyZ2V0NyIpLmxlbmd0aCBpcyAxCitQQVNTIGdldENvbXB1dGVkU3R5
bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldDciKSkuY29sb3IgaXMgInJnYigxOSwg
MjAsIDIxKSIKK1BBU1MgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmxhbmcoeG1sKTpsYW5n
KHhtbC1sYW5nMikgI3RhcmdldDgiKS5sZW5ndGggaXMgMQorUEFTUyBnZXRDb21wdXRlZFN0eWxl
KGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQ4IikpLmNvbG9yIGlzICJyZ2IoMjIsIDIz
LCAyNCkiCitQQVNTIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpsYW5nKHhtbCk6bGFuZyh4
bWwtbGFuZzMpICN0YXJnZXQ5IikubGVuZ3RoIGlzIDEKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0OSIpKS5jb2xvciBpcyAicmdiKDI1LCAyNiwg
MjcpIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2xhbmctc3BlY2lmaWNpdHkt
eG1sLnhodG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvbGFuZy1zcGVjaWZpY2l0eS14
bWwueGh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uOGNiYWYwZDRhMzc5MTE5MDgwNTdkYmI3NWZkMmExMmFiOTQ3
YjU0MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2xhbmct
c3BlY2lmaWNpdHkteG1sLnhodG1sCkBAIC0wLDAgKzEsMTM0IEBACis8aHRtbCB4bWxucz0iaHR0
cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHN0eWxlPgorW3N0eWxlPSJkaXNw
bGF5Om5vbmUiXSAqIHsKKyAgICBjb2xvcjogcmdiKDAsIDAsIDApOworICAgIGJhY2tncm91bmQt
Y29sb3I6IHJnYigwLCAwLCAwKTsKK30KKzpsYW5nKGZyKTpsYW5nKGZyLWJlKTpsYW5nKGZyKSAj
dGFyZ2V0MSB7CisgICAgY29sb3I6IHJnYigxLCAyLCAzKTsKK30KKzpsYW5nKGZyKTpsYW5nKGZy
LWNhKSAjdGFyZ2V0MiB7CisgICAgY29sb3I6IHJnYig0LCA1LCA2KTsKK30KKzpsYW5nKGZyLWNo
KTpsYW5nKGZyKSAjdGFyZ2V0MyB7CisgICAgY29sb3I6IHJnYig3LCA4LCA5KTsKK30KKworOmxh
bmcoZXMpOmxhbmcoZXMtYXIpOmxhbmcoZXMpICN0YXJnZXQ0IHsKKyAgICBjb2xvcjogcmdiKDEw
LCAxMSwgMTIpOworfQorOmxhbmcoZXMpOmxhbmcoZXMtY28pICN0YXJnZXQ1IHsKKyAgICBjb2xv
cjogcmdiKDEzLCAxNCwgMTUpOworfQorOmxhbmcoZXMtbXgpOmxhbmcoZXMpICN0YXJnZXQ2IHsK
KyAgICBjb2xvcjogcmdiKDE2LCAxNywgMTgpOworfQorCis6bGFuZyh4bWwpOmxhbmcoeG1sLWxh
bmcxKTpsYW5nKHhtbCkgI3RhcmdldDcgeworICAgIGNvbG9yOiByZ2IoMTksIDIwLCAyMSk7Cit9
Cis6bGFuZyh4bWwpOmxhbmcoeG1sLWxhbmcyKSAjdGFyZ2V0OCB7CisgICAgY29sb3I6IHJnYigy
MiwgMjMsIDI0KTsKK30KKzpsYW5nKHhtbC1sYW5nMyk6bGFuZyh4bWwpICN0YXJnZXQ5IHsKKyAg
ICBjb2xvcjogcmdiKDI1LCAyNiwgMjcpOworfQorCisvKiBOb25lIG9mIHRob3NlIHNob3VsZCBt
YXRjaC4gKi8KKzpsYW5nKGh0bWwpOmxhbmcoaHRtbC1sYW5nKTpsYW5nKGh0bWwpICogeworICAg
IGJhY2tncm91bmQtY29sb3I6IHJnYigxLCAxLCAxKTsKK30KKzpsYW5nKGh0bWwpOmxhbmcoaHRt
bC1sYW5nKSAqIHsKKyAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMSwgMSwgMSk7Cit9Cis6bGFu
ZyhodG1sLWxhbmcpOmxhbmcoaHRtbCkgKiB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDEs
IDEsIDEpOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorICAgIDxkaXYgc3R5bGU9ImRp
c3BsYXk6bm9uZSI+CisgICAgICAgIDwhLS0gSFRNTCBsYW5nIGNhc2VzLiAtLT4KKyAgICAgICAg
PGEgbGFuZz0iRlItQkUiPgorICAgICAgICAgICAgPGI+CisgICAgICAgICAgICAgICAgPGMgaWQ9
InRhcmdldDEiPjwvYz4KKyAgICAgICAgICAgIDwvYj4KKyAgICAgICAgPC9hPgorICAgICAgICA8
YSBsYW5nPSJGUi1DQSI+CisgICAgICAgICAgICA8Yj4KKyAgICAgICAgICAgICAgICA8YyBpZD0i
dGFyZ2V0MiI+PC9jPgorICAgICAgICAgICAgPC9iPgorICAgICAgICA8L2E+CisgICAgICAgIDxh
IGxhbmc9IkZSLUNIIj4KKyAgICAgICAgICAgIDxiPgorICAgICAgICAgICAgICAgIDxjIGlkPSJ0
YXJnZXQzIj48L2M+CisgICAgICAgICAgICA8L2I+CisgICAgICAgIDwvYT4KKworICAgICAgICA8
IS0tIFhNTCBsYW5nIGNhc2VzLiAtLT4KKyAgICAgICAgPGEgeG1sOmxhbmc9ImVzLWFyIj4KKyAg
ICAgICAgICAgIDxiPgorICAgICAgICAgICAgICAgIDxjIGlkPSJ0YXJnZXQ0Ij48L2M+CisgICAg
ICAgICAgICA8L2I+CisgICAgICAgIDwvYT4KKyAgICAgICAgPGEgeG1sOmxhbmc9ImVzLWNvIj4K
KyAgICAgICAgICAgIDxiPgorICAgICAgICAgICAgICAgIDxjIGlkPSJ0YXJnZXQ1Ij48L2M+Cisg
ICAgICAgICAgICA8L2I+CisgICAgICAgIDwvYT4KKyAgICAgICAgPGEgeG1sOmxhbmc9ImVzLW14
Ij4KKyAgICAgICAgICAgIDxiPgorICAgICAgICAgICAgICAgIDxjIGlkPSJ0YXJnZXQ2Ij48L2M+
CisgICAgICAgICAgICA8L2I+CisgICAgICAgIDwvYT4KKworICAgICAgICA8IS0tIFhNTCArIEhU
TUwgbGFuZyBjYXNlcy4gLS0+CisgICAgICAgIDxhIHhtbDpsYW5nPSJ4bWwtbGFuZzEiIGxhbmc9
Imh0bWwtbGFuZyI+CisgICAgICAgICAgICA8Yj4KKyAgICAgICAgICAgICAgICA8YyBpZD0idGFy
Z2V0NyI+PC9jPgorICAgICAgICAgICAgPC9iPgorICAgICAgICA8L2E+CisgICAgICAgIDxhIHht
bDpsYW5nPSJ4bWwtbGFuZzIiIGxhbmc9Imh0bWwtbGFuZyI+CisgICAgICAgICAgICA8Yj4KKyAg
ICAgICAgICAgICAgICA8YyBpZD0idGFyZ2V0OCI+PC9jPgorICAgICAgICAgICAgPC9iPgorICAg
ICAgICA8L2E+CisgICAgICAgIDxhIHhtbDpsYW5nPSJ4bWwtbGFuZzMiIGxhbmc9Imh0bWwtbGFu
ZyI+CisgICAgICAgICAgICA8Yj4KKyAgICAgICAgICAgICAgICA8YyBpZD0idGFyZ2V0OSI+PC9j
PgorICAgICAgICAgICAgPC9iPgorICAgICAgICA8L2E+CisgICAgPC9kaXY+Cis8L2JvZHk+Cis8
c2NyaXB0PgorZGVzY3JpcHRpb24oJ1ZlcmlmeSBzZWxlY3RvciBzcGVjaWZ5aW5nIG11bHRpcGxl
IDpsYW5nKCkgcHNldWRvIGNsYXNzLicpOworCitkZWJ1ZygiSFRNTCBsYW5nIG9ubHkiKQorc2hv
dWxkQmUoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpsYW5nKGZyKTpsYW5nKGZyLWJlKTps
YW5nKGZyKSAjdGFyZ2V0MSIpLmxlbmd0aCcsICcxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
J2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldDEiKSkuY29s
b3InLCAncmdiKDEsIDIsIDMpJyk7CitzaG91bGRCZSgnZG9jdW1lbnQucXVlcnlTZWxlY3RvckFs
bCgiOmxhbmcoZnIpOmxhbmcoZnItY2EpICN0YXJnZXQyIikubGVuZ3RoJywgJzEnKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGFyZ2V0MiIpKS5jb2xvcicsICdyZ2IoNCwgNSwgNiknKTsKK3Nob3VsZEJlKCdkb2N1bWVu
dC5xdWVyeVNlbGVjdG9yQWxsKCI6bGFuZyhmcik6bGFuZyhmci1jaCkgI3RhcmdldDMiKS5sZW5n
dGgnLCAnMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQzIikpLmNvbG9yJywgJ3JnYig3LCA4LCA5KScpOwor
CitkZWJ1ZygiWE1MIGxhbmcgb25seSIpCitzaG91bGRCZSgnZG9jdW1lbnQucXVlcnlTZWxlY3Rv
ckFsbCgiOmxhbmcoZXMpOmxhbmcoZXMtYXIpOmxhbmcoZXMpICN0YXJnZXQ0IikubGVuZ3RoJywg
JzEnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgidGFyZ2V0NCIpKS5jb2xvcicsICdyZ2IoMTAsIDExLCAxMiknKTsKK3No
b3VsZEJlKCdkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6bGFuZyhlcyk6bGFuZyhlcy1jbykg
I3RhcmdldDUiKS5sZW5ndGgnLCAnMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21w
dXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQ1IikpLmNvbG9yJywgJ3Jn
YigxMywgMTQsIDE1KScpOworc2hvdWxkQmUoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjps
YW5nKGVzKTpsYW5nKGVzLW14KSAjdGFyZ2V0NiIpLmxlbmd0aCcsICcxJyk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRh
cmdldDYiKSkuY29sb3InLCAncmdiKDE2LCAxNywgMTgpJyk7CisKK2RlYnVnKCJYTUwgYW5kIEhU
TUwgbGFuZyIpCitzaG91bGRCZSgnZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmxhbmcoeG1s
KTpsYW5nKHhtbC1sYW5nMSk6bGFuZyh4bWwpICN0YXJnZXQ3IikubGVuZ3RoJywgJzEnKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGFyZ2V0NyIpKS5jb2xvcicsICdyZ2IoMTksIDIwLCAyMSknKTsKK3Nob3VsZEJlKCdk
b2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6bGFuZyh4bWwpOmxhbmcoeG1sLWxhbmcyKSAjdGFy
Z2V0OCIpLmxlbmd0aCcsICcxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2dldENvbXB1dGVk
U3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldDgiKSkuY29sb3InLCAncmdiKDIy
LCAyMywgMjQpJyk7CitzaG91bGRCZSgnZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgiOmxhbmco
eG1sKTpsYW5nKHhtbC1sYW5nMykgI3RhcmdldDkiKS5sZW5ndGgnLCAnMScpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
YXJnZXQ5IikpLmNvbG9yJywgJ3JnYigyNSwgMjYsIDI3KScpOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2xhbmctc3BlY2lmaWNp
dHkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2VsZWN0b3JzL2xhbmctc3BlY2lmaWNpdHkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5kMjA2Y2Y4OTA1NTExZTM2MTk4Yjk3MmM0ZmM4MjExMjAxN2Q2NWI2Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zZWxlY3RvcnMvbGFuZy1zcGVjaWZp
Y2l0eS5odG1sCkBAIC0wLDAgKzEsNDggQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPHN0eWxlPgorOmxhbmcoZnIpOmxhbmcoZnItYmUpOmxhbmcoZnIpICN0YXJnZXQxIHsKKyAg
ICBjb2xvcjogcmdiKDEsIDIsIDMpOworfQorOmxhbmcoZnIpOmxhbmcoZnItY2EpICN0YXJnZXQy
IHsKKyAgICBjb2xvcjogcmdiKDQsIDUsIDYpOworfQorOmxhbmcoZnItY2gpOmxhbmcoZnIpICN0
YXJnZXQzIHsKKyAgICBjb2xvcjogcmdiKDcsIDgsIDkpOworfQorPC9zdHlsZT4KKzwvaGVhZD4K
Kzxib2R5PgorICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6bm9uZSI+CisgICAgICAgIDxhIGxhbmc9
IkZSLUJFIj4KKyAgICAgICAgICAgIDxiPgorICAgICAgICAgICAgICAgIDxjIGlkPSJ0YXJnZXQx
Ij48L2M+CisgICAgICAgICAgICA8L2I+CisgICAgICAgIDwvYT4KKyAgICAgICAgPGEgbGFuZz0i
RlItQ0EiPgorICAgICAgICAgICAgPGI+CisgICAgICAgICAgICAgICAgPGMgaWQ9InRhcmdldDIi
PjwvYz4KKyAgICAgICAgICAgIDwvYj4KKyAgICAgICAgPC9hPgorICAgICAgICA8YSBsYW5nPSJG
Ui1DSCI+CisgICAgICAgICAgICA8Yj4KKyAgICAgICAgICAgICAgICA8YyBpZD0idGFyZ2V0MyI+
PC9jPgorICAgICAgICAgICAgPC9iPgorICAgICAgICA8L2E+CisgICAgPC9kaXY+Cis8L2JvZHk+
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1ZlcmlmeSBzZWxlY3RvciBzcGVjaWZ5aW5nIG11bHRp
cGxlIDpsYW5nKCkgcHNldWRvIGNsYXNzLicpOworCitkZWJ1ZygiSFRNTCBsYW5nIG9ubHkiKQor
c2hvdWxkQmUoJ2RvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIjpsYW5nKGZyKTpsYW5nKGZyLWJl
KTpsYW5nKGZyKSAjdGFyZ2V0MSIpLmxlbmd0aCcsICcxJyk7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2dldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldDEiKSku
Y29sb3InLCAncmdiKDEsIDIsIDMpJyk7CitzaG91bGRCZSgnZG9jdW1lbnQucXVlcnlTZWxlY3Rv
ckFsbCgiOmxhbmcoZnIpOmxhbmcoZnItY2EpICN0YXJnZXQyIikubGVuZ3RoJywgJzEnKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgidGFyZ2V0MiIpKS5jb2xvcicsICdyZ2IoNCwgNSwgNiknKTsKK3Nob3VsZEJlKCdkb2N1
bWVudC5xdWVyeVNlbGVjdG9yQWxsKCI6bGFuZyhmcik6bGFuZyhmci1jaCkgI3RhcmdldDMiKS5s
ZW5ndGgnLCAnMScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdnZXRDb21wdXRlZFN0eWxlKGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQzIikpLmNvbG9yJywgJ3JnYig3LCA4LCA5KScp
OworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5q
cyI+PC9zY3JpcHQ+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="257620"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>