<?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>71938</bug_id>
          
          <creation_ts>2011-11-09 11:09:46 -0800</creation_ts>
          <short_desc>Remove [CanBeConstructed] IDL from CodeGenerators</short_desc>
          <delta_ts>2011-11-09 17:41:46 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</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>
          
          <blocked>71832</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>dominicc</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>499162</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-11-09 11:09:46 -0800</bug_when>
    <thetext>Now no IDL files are using [CanBeConstructed] IDL. We can safely remove [CanBeConstructed] IDL from CodeGenerator{JS,V8}.pm.

This change will remove [CanBeConstructed] IDL completely from WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499439</commentid>
    <comment_count>1</comment_count>
      <attachid>114385</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-11-09 16:07:34 -0800</bug_when>
    <thetext>Created attachment 114385
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499527</commentid>
    <comment_count>2</comment_count>
      <attachid>114385</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-09 17:41:41 -0800</bug_when>
    <thetext>Comment on attachment 114385
Patch

Clearing flags on attachment: 114385

Committed r99793: &lt;http://trac.webkit.org/changeset/99793&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499528</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-09 17:41:46 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114385</attachid>
            <date>2011-11-09 16:07:34 -0800</date>
            <delta_ts>2011-11-09 17:41:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71938-20111109160733.patch</filename>
            <type>text/plain</type>
            <size>16482</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk3NzcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxODRlMmZlZjgyMDg5YzMx
YmZmMmZiMzg5NTY2ZjIzY2ViMWRiZDBhLi4wYjlkN2NiN2VlMmQ1ZDAzOWFmNjI4NTE2ODgzNDE4
NWY3MzJhNDNiIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMjUgQEAKIDIwMTEtMTEtMDkgIEtlbnRh
cm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCisgICAgICAgIFJlbW92ZSBbQ2FuQmVD
b25zdHJ1Y3RlZF0gSURMIGZyb20gQ29kZUdlbmVyYXRvcntKUyxWOH0ucG0KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTM4CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm93IG5vIElETCBmaWxlcyBhcmUg
dXNpbmcgW0NhbkJlQ29uc3RydWN0ZWRdIElETC4KKyAgICAgICAgV2UgY2FuIHNhZmVseSByZW1v
dmUgW0NhbkJlQ29uc3RydWN0ZWRdIElETCBmcm9tIENvZGVHZW5lcmF0b3J7SlMsVjh9LnBtLgor
CisgICAgICAgIE5vIHRlc3RzLiBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCisKKyAgICAgICAgKiBi
aW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbTogUmVtb3ZlZCBbQ2FuQmVDb25zdHJ1
Y3RlZF0tcmVsYXRlZCBjb2RlLgorICAgICAgICAoR2VuZXJhdGVDb25zdHJ1Y3RvckRlY2xhcmF0
aW9uKToKKyAgICAgICAgKEdlbmVyYXRlQ29uc3RydWN0b3JEZWZpbml0aW9uKToKKyAgICAgICAg
KiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JWOC5wbTogRGl0dG8uCisgICAgICAgIChH
ZW5lcmF0ZUltcGxlbWVudGF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VGVzdEludGVyZmFjZS5pZGw6IFJlbW92ZWQgW0NhbkJlQ29uc3RydWN0ZWRdLgorICAgICAgICAq
IGJpbmRpbmdzL3Y4L1Y4UHJveHkuaDogUmVtb3ZlZCBWOFByb3h5Ojpjb25zdHJ1Y3RET01PYmpl
Y3QgYW5kIFY4UHJveHk6OmNvbnN0cnVjdERPTU9iamVjdFdpdGhTY3JpcHRFeGVjdXRpb25Db250
ZXh0LCB3aGljaCBoYWQgYmVlbiB1c2VkIG9ubHkgYnkgW0NhbkJlQ29uc3RydWN0ZWRdLgorCisy
MDExLTExLTA5ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKwogICAgICAg
ICBVbnJldmlld2VkLCByZWJhc2VsaW5lIHJ1bi1iaW5kaW5ncy10ZXN0cyByZXN1bHRzLgogCiAg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE5hbWVkQ29uc3RydWN0b3Iu
Y3BwOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3JKUy5wbQppbmRleCAyODE4MzI4YjcyNDFiM2I2NjllODcwMDYwY2Q3NWRmMjkyM2FmOTkwLi40
NzZmOTgzMTc5ZjkxMjYyZDJmNDFhMDhjZWY4YmY4NWI0N2IwNmMxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpAQCAtMzE5MSw3
ICszMTkxLDcgQEAgc3ViIEdlbmVyYXRlQ29uc3RydWN0b3JEZWNsYXJhdGlvbgogICAgIG15ICRk
YXRhTm9kZSA9IHNoaWZ0OwogCiAgICAgbXkgJGNvbnN0cnVjdG9yQ2xhc3NOYW1lID0gIiR7Y2xh
c3NOYW1lfUNvbnN0cnVjdG9yIjsKLSAgICBteSAkY2FuQ29uc3RydWN0ID0gJGRhdGFOb2RlLT5l
eHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2FuQmVDb25zdHJ1Y3RlZCJ9IHx8ICRkYXRhTm9kZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnN0cnVjdG9yIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiSlNDdXN0b21Db25zdHJ1Y3RvciJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRB
dHRyaWJ1dGVzLT57IkN1c3RvbUNvbnN0cnVjdG9yIn07CisgICAgbXkgJGNhbkNvbnN0cnVjdCA9
ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnN0cnVjdG9yIn0gfHwgJGRhdGFO
b2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiSlNDdXN0b21Db25zdHJ1Y3RvciJ9IHx8ICRkYXRh
Tm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUNvbnN0cnVjdG9yIn07CiAgICAgbXkg
JGNhbGxXaXRoID0gJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2FsbFdpdGgifTsK
IAogICAgIHB1c2goQCRvdXRwdXRBcnJheSwgImNsYXNzICR7Y29uc3RydWN0b3JDbGFzc05hbWV9
IDogcHVibGljIERPTUNvbnN0cnVjdG9yT2JqZWN0IHtcbiIpOwpAQCAtMzI2OSw2NiArMzI2OSw1
NSBAQCBzdWIgR2VuZXJhdGVDb25zdHJ1Y3RvckRlZmluaXRpb24KICAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICIgICAgcmV0dXJuIGdldFN0YXRpY1ZhbHVlRGVzY3JpcHRvcjwke2NvbnN0cnVjdG9y
Q2xhc3NOYW1lfSwgSlNET01XcmFwcGVyPihleGVjLCAmJHtjb25zdHJ1Y3RvckNsYXNzTmFtZX1U
YWJsZSwgc3RhdGljX2Nhc3Q8JHtjb25zdHJ1Y3RvckNsYXNzTmFtZX0qPihvYmplY3QpLCBwcm9w
ZXJ0eU5hbWUsIGRlc2NyaXB0b3IpO1xuIik7CiAgICAgcHVzaChAJG91dHB1dEFycmF5LCAifVxu
XG4iKTsKIAotICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDYW5CZUNv
bnN0cnVjdGVkIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uc3RydWN0
b3IifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJKU0N1c3RvbUNvbnN0cnVj
dG9yIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tQ29uc3RydWN0
b3IifSkgeworICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb25zdHJ1
Y3RvciJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkpTQ3VzdG9tQ29uc3Ry
dWN0b3IifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0b21Db25zdHJ1
Y3RvciJ9KSB7CiAgICAgICAgIGlmICghKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkpTQ3VzdG9tQ29uc3RydWN0b3IifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJDdXN0b21Db25zdHJ1Y3RvciJ9KSkgewogICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5
LCAiRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCAke2NvbnN0cnVjdG9yQ2xhc3NOYW1lfTo6
Y29uc3RydWN0JHtjbGFzc05hbWV9KEV4ZWNTdGF0ZSogZXhlYylcbiIpOwogICAgICAgICAgICAg
cHVzaChAJG91dHB1dEFycmF5LCAie1xuIik7CiAKICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRB
cnJheSwgIiAgICAke2NvbnN0cnVjdG9yQ2xhc3NOYW1lfSoganNDb25zdHJ1Y3RvciA9IHN0YXRp
Y19jYXN0PCR7Y29uc3RydWN0b3JDbGFzc05hbWV9Kj4oZXhlYy0+Y2FsbGVlKCkpO1xuIik7CiAK
LSAgICAgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb25zdHJ1
Y3RvciJ9KSB7Ci0gICAgICAgICAgICAgICAgbXkgJGZ1bmN0aW9uID0gJGRhdGFOb2RlLT5jb25z
dHJ1Y3RvcjsKLSAgICAgICAgICAgICAgICBteSBAY29uc3RydWN0b3JBcmdMaXN0OworICAgICAg
ICAgICAgbXkgJGZ1bmN0aW9uID0gJGRhdGFOb2RlLT5jb25zdHJ1Y3RvcjsKKyAgICAgICAgICAg
IG15IEBjb25zdHJ1Y3RvckFyZ0xpc3Q7CiAKLSAgICAgICAgICAgICAgICAkaW1wbEluY2x1ZGVz
eyI8cnVudGltZS9FcnJvci5oPiJ9ID0gMTsKKyAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7Ijxy
dW50aW1lL0Vycm9yLmg+In0gPSAxOwogCi0gICAgICAgICAgICAgICAgR2VuZXJhdGVBcmd1bWVu
dHNDb3VudENoZWNrKCRvdXRwdXRBcnJheSwgJGZ1bmN0aW9uLCAkZGF0YU5vZGUpOworICAgICAg
ICAgICAgR2VuZXJhdGVBcmd1bWVudHNDb3VudENoZWNrKCRvdXRwdXRBcnJheSwgJGZ1bmN0aW9u
LCAkZGF0YU5vZGUpOwogCi0gICAgICAgICAgICAgICAgaWYgKEB7JGZ1bmN0aW9uLT5yYWlzZXNF
eGNlcHRpb25zfSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb25zdHJ1Y3Rv
clJhaXNlc0V4Y2VwdGlvbiJ9KSB7Ci0gICAgICAgICAgICAgICAgICAgICRpbXBsSW5jbHVkZXN7
IkV4Y2VwdGlvbkNvZGUuaCJ9ID0gMTsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1
dEFycmF5LCAiICAgIEV4Y2VwdGlvbkNvZGUgZWMgPSAwO1xuIik7Ci0gICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgaWYgKEB7JGZ1bmN0aW9uLT5yYWlzZXNFeGNlcHRpb25zfSB8fCAkZGF0
YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb25zdHJ1Y3RvclJhaXNlc0V4Y2VwdGlvbiJ9
KSB7CisgICAgICAgICAgICAgICAgJGltcGxJbmNsdWRlc3siRXhjZXB0aW9uQ29kZS5oIn0gPSAx
OworICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBFeGNlcHRpb25Db2Rl
IGVjID0gMDtcbiIpOworICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgIyBGb3Igbm93
LCB3ZSBkbyBub3Qgc3VwcG9ydCBTVkcgY29uc3RydWN0b3JzLgotICAgICAgICAgICAgICAgICMg
V2UgZG8gbm90IGFsc28gc3VwcG9ydCBhIGNvbnN0cnVjdG9yIFtPcHRpb25hbF0gYXJndW1lbnQg
d2l0aG91dCBDYWxsV2l0aERlZmF1bHRWYWx1ZQotICAgICAgICAgICAgICAgICMgbm9yIENhbGxX
aXRoTnVsbFZhbHVlLgotICAgICAgICAgICAgICAgIG15ICRudW1QYXJhbWV0ZXJzID0gQHskZnVu
Y3Rpb24tPnBhcmFtZXRlcnN9OwotICAgICAgICAgICAgICAgIG15ICgkZHVtbXksICRwYXJhbUlu
ZGV4KSA9IEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrKCRvdXRwdXRBcnJheSwgJGZ1bmN0aW9uLCAk
ZGF0YU5vZGUsICRudW1QYXJhbWV0ZXJzLCAkaW50ZXJmYWNlTmFtZSwgImNvbnN0cnVjdG9yQ2Fs
bGJhY2siLCB1bmRlZiwgdW5kZWYsIHVuZGVmKTsKLQotICAgICAgICAgICAgICAgIGlmICgkZGF0
YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDYWxsV2l0aCJ9ICYmICRkYXRhTm9kZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkNhbGxXaXRoIn0gZXEgIlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQi
KSB7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQGNvbnN0cnVjdG9yQXJnTGlzdCwgImNvbnRl
eHQiKTsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQgPSBqc0NvbnN0cnVjdG9yLT5zY3JpcHRFeGVjdXRp
b25Db250ZXh0KCk7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5
LCAiICAgIGlmICghY29udGV4dClcbiIpOwotICAgICAgICAgICAgICAgICAgICBwdXNoKEAkb3V0
cHV0QXJyYXksICIgICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlUmVmZXJl
bmNlRXJyb3IoZXhlYywgXCIke2ludGVyZmFjZU5hbWV9IGNvbnN0cnVjdG9yIGFzc29jaWF0ZWQg
ZG9jdW1lbnQgaXMgdW5hdmFpbGFibGVcIikpO1xuIik7Ci0gICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgIyBGb3Igbm93LCB3ZSBkbyBub3Qgc3VwcG9ydCBTVkcgY29uc3RydWN0b3JzLgor
ICAgICAgICAgICAgIyBXZSBkbyBub3QgYWxzbyBzdXBwb3J0IGEgY29uc3RydWN0b3IgW09wdGlv
bmFsXSBhcmd1bWVudCB3aXRob3V0IENhbGxXaXRoRGVmYXVsdFZhbHVlCisgICAgICAgICAgICAj
IG5vciBDYWxsV2l0aE51bGxWYWx1ZS4KKyAgICAgICAgICAgIG15ICRudW1QYXJhbWV0ZXJzID0g
QHskZnVuY3Rpb24tPnBhcmFtZXRlcnN9OworICAgICAgICAgICAgbXkgKCRkdW1teSwgJHBhcmFt
SW5kZXgpID0gR2VuZXJhdGVQYXJhbWV0ZXJzQ2hlY2soJG91dHB1dEFycmF5LCAkZnVuY3Rpb24s
ICRkYXRhTm9kZSwgJG51bVBhcmFtZXRlcnMsICRpbnRlcmZhY2VOYW1lLCAiY29uc3RydWN0b3JD
YWxsYmFjayIsIHVuZGVmLCB1bmRlZiwgdW5kZWYpOworCisgICAgICAgICAgICBpZiAoJGRhdGFO
b2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ2FsbFdpdGgifSAmJiAkZGF0YU5vZGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJDYWxsV2l0aCJ9IGVxICJTY3JpcHRFeGVjdXRpb25Db250ZXh0Iikg
eworICAgICAgICAgICAgICAgIHB1c2goQGNvbnN0cnVjdG9yQXJnTGlzdCwgImNvbnRleHQiKTsK
KyAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgU2NyaXB0RXhlY3V0aW9u
Q29udGV4dCogY29udGV4dCA9IGpzQ29uc3RydWN0b3ItPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KTtcbiIpOworICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICBpZiAoIWNv
bnRleHQpXG4iKTsKKyAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgICAg
IHJldHVybiB0aHJvd1ZNRXJyb3IoZXhlYywgY3JlYXRlUmVmZXJlbmNlRXJyb3IoZXhlYywgXCIk
e2ludGVyZmFjZU5hbWV9IGNvbnN0cnVjdG9yIGFzc29jaWF0ZWQgZG9jdW1lbnQgaXMgdW5hdmFp
bGFibGVcIikpO1xuIik7CisgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICBteSAkaW5k
ZXggPSAwOwotICAgICAgICAgICAgICAgIGZvcmVhY2ggbXkgJHBhcmFtZXRlciAoQHskZnVuY3Rp
b24tPnBhcmFtZXRlcnN9KSB7Ci0gICAgICAgICAgICAgICAgICAgIGxhc3QgaWYgJGluZGV4IGVx
ICRwYXJhbUluZGV4OwotICAgICAgICAgICAgICAgICAgICBwdXNoKEBjb25zdHJ1Y3RvckFyZ0xp
c3QsICRwYXJhbWV0ZXItPm5hbWUpOwotICAgICAgICAgICAgICAgICAgICAkaW5kZXgrKzsKLSAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICBteSAkaW5kZXggPSAwOworICAgICAgICAgICAg
Zm9yZWFjaCBteSAkcGFyYW1ldGVyIChAeyRmdW5jdGlvbi0+cGFyYW1ldGVyc30pIHsKKyAgICAg
ICAgICAgICAgICBsYXN0IGlmICRpbmRleCBlcSAkcGFyYW1JbmRleDsKKyAgICAgICAgICAgICAg
ICBwdXNoKEBjb25zdHJ1Y3RvckFyZ0xpc3QsICRwYXJhbWV0ZXItPm5hbWUpOworICAgICAgICAg
ICAgICAgICRpbmRleCsrOworICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgaWYgKCRk
YXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnN0cnVjdG9yUmFpc2VzRXhjZXB0aW9u
In0pIHsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAY29uc3RydWN0b3JBcmdMaXN0LCAiZWMi
KTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgbXkgJGNvbnN0cnVjdG9yQXJn
ID0gam9pbigiLCAiLCBAY29uc3RydWN0b3JBcmdMaXN0KTsKLSAgICAgICAgICAgICAgICBwdXNo
KEAkb3V0cHV0QXJyYXksICIgICAgUmVmUHRyPCR7aW50ZXJmYWNlTmFtZX0+IG9iamVjdCA9ICR7
aW50ZXJmYWNlTmFtZX06OmNyZWF0ZSgke2NvbnN0cnVjdG9yQXJnfSk7XG4iKTsKLSAgICAgICAg
ICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uc3RydWN0b3JS
YWlzZXNFeGNlcHRpb24ifSkgewotICAgICAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJy
YXksICIgICAgaWYgKGVjKSB7XG4iKTsKLSAgICAgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1
dEFycmF5LCAiICAgICAgICBzZXRET01FeGNlcHRpb24oZXhlYywgZWMpO1xuIik7Ci0gICAgICAg
ICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgcmV0dXJuIEpTVmFsdWU6
OmVuY29kZShKU1ZhbHVlKCkpO1xuIik7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQCRvdXRw
dXRBcnJheSwgIiAgICB9XG4iKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgICAgIG15ICRjb25zdHJ1Y3RvckFyZyA9ICIiOwotICAgICAgICAg
ICAgICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDYWxsV2l0aCJ9IGFu
ZCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDYWxsV2l0aCJ9IGVxICJTY3JpcHRF
eGVjdXRpb25Db250ZXh0IikgewotICAgICAgICAgICAgICAgICAgICAkY29uc3RydWN0b3JBcmcg
PSAiY29udGV4dCI7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAg
ICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0ID0gc3RhdGljX2Nhc3Q8JHtjb25zdHJ1
Y3RvckNsYXNzTmFtZX0qPihleGVjLT5jYWxsZWUoKSktPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KTtcbiIpOwotICAgICAgICAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAgaWYg
KCFjb250ZXh0KVxuIik7Ci0gICAgICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwg
IiAgICAgICAgcmV0dXJuIHRocm93Vk1FcnJvcihleGVjLCBjcmVhdGVSZWZlcmVuY2VFcnJvcihl
eGVjLCBcIiR7aW50ZXJmYWNlTmFtZX0gY29uc3RydWN0b3IgYXNzb2NpYXRlZCBkb2N1bWVudCBp
cyB1bmF2YWlsYWJsZVwiKSk7XG4iKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIFJlZlB0cjwke2ludGVyZmFjZU5hbWV9PiBvYmpl
Y3QgPSAke2ludGVyZmFjZU5hbWV9OjpjcmVhdGUoJHtjb25zdHJ1Y3RvckFyZ30pO1xuIik7Cisg
ICAgICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uc3RydWN0
b3JSYWlzZXNFeGNlcHRpb24ifSkgeworICAgICAgICAgICAgICAgIHB1c2goQGNvbnN0cnVjdG9y
QXJnTGlzdCwgImVjIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBteSAkY29uc3RydWN0
b3JBcmcgPSBqb2luKCIsICIsIEBjb25zdHJ1Y3RvckFyZ0xpc3QpOworICAgICAgICAgICAgcHVz
aChAJG91dHB1dEFycmF5LCAiICAgIFJlZlB0cjwke2ludGVyZmFjZU5hbWV9PiBvYmplY3QgPSAk
e2ludGVyZmFjZU5hbWV9OjpjcmVhdGUoJHtjb25zdHJ1Y3RvckFyZ30pO1xuIik7CisgICAgICAg
ICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uc3RydWN0b3JSYWlz
ZXNFeGNlcHRpb24ifSkgeworICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAg
ICBpZiAoZWMpIHtcbiIpOworICAgICAgICAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJheSwgIiAg
ICAgICAgc2V0RE9NRXhjZXB0aW9uKGV4ZWMsIGVjKTtcbiIpOworICAgICAgICAgICAgICAgIHB1
c2goQCRvdXRwdXRBcnJheSwgIiAgICAgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU1ZhbHVl
KCkpO1xuIik7CisgICAgICAgICAgICAgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIH1cbiIp
OwogICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICIgICAg
cmV0dXJuIEpTVmFsdWU6OmVuY29kZShhc09iamVjdCh0b0pTKGV4ZWMsIGpzQ29uc3RydWN0b3It
Pmdsb2JhbE9iamVjdCgpLCBvYmplY3QuZ2V0KCkpKSk7XG4iKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvclY4LnBtIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KaW5kZXggMjNiOGY5NmQ4
ZThkMGE3NTEwMDFiNGIxNGY2NDAxOTgxY2RlNDFiMC4uYjMzMzk4MjU3MzM0MDczNmNiZjYxNDZj
NzM3ZjcxOTRjOTYyZmJhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yVjgucG0KQEAgLTM5Myw3ICszOTMsNyBAQCBFTkQKICAgICAgICAg
fQogICAgIH0KIAotICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0
b21Db25zdHJ1Y3RvciJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4Q3Vz
dG9tQ29uc3RydWN0b3IifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDYW5C
ZUNvbnN0cnVjdGVkIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uc3Ry
dWN0b3IifSkgeworICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDdXN0
b21Db25zdHJ1Y3RvciJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4Q3Vz
dG9tQ29uc3RydWN0b3IifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb25z
dHJ1Y3RvciJ9KSB7CiAgICAgICAgIHB1c2goQGhlYWRlckNvbnRlbnQsIDw8RU5EKTsKICAgICBz
dGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVjdG9yQ2FsbGJhY2soY29uc3Qgdjg6
OkFyZ3VtZW50cyYpOwogRU5ECkBAIC0yMjg2LDI2ICsyMjg2LDkgQEAgRU5ECiAKICAgICBwdXNo
KEBpbXBsQ29udGVudERlY2xzLCAifSAvLyBuYW1lc3BhY2UgJHtpbnRlcmZhY2VOYW1lfUludGVy
bmFsXG5cbiIpOwogCi0gICAgIyBJbiBuYW1lc3BhY2UgV2ViQ29yZSwgYWRkIGdlbmVyYXRlZCBp
bXBsZW1lbnRhdGlvbiBmb3IgJ0NhbkJlQ29uc3RydWN0ZWQnLgotICAgIGlmICgkZGF0YU5vZGUt
PmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDYW5CZUNvbnN0cnVjdGVkIn0gJiYgISRkYXRhTm9kZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkN1c3RvbUNvbnN0cnVjdG9yIn0gJiYgISRkYXRhTm9kZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlY4Q3VzdG9tQ29uc3RydWN0b3IifSAmJiAhJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29uc3RydWN0b3IifSkgewotICAgICAgICBteSAkdjhD
b25zdHJ1Y3RGdW5jdGlvbjsKLSAgICAgICAgbXkgJGNhbGxXaXRoID0gJGRhdGFOb2RlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiQ2FsbFdpdGgifTsKLSAgICAgICAgaWYgKCRjYWxsV2l0aCBhbmQg
JGNhbGxXaXRoIGVxICJTY3JpcHRFeGVjdXRpb25Db250ZXh0IikgewotICAgICAgICAgICAgJHY4
Q29uc3RydWN0RnVuY3Rpb24gPSAiY29uc3RydWN0RE9NT2JqZWN0V2l0aFNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQiOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgJHY4Q29uc3RydWN0RnVu
Y3Rpb24gPSAiY29uc3RydWN0RE9NT2JqZWN0IjsKLSAgICAgICAgfQotICAgICAgICBwdXNoKEBp
bXBsQ29udGVudCwgPDxFTkQpOwotdjg6OkhhbmRsZTx2ODo6VmFsdWU+ICR7Y2xhc3NOYW1lfTo6
Y29uc3RydWN0b3JDYWxsYmFjayhjb25zdCB2ODo6QXJndW1lbnRzJiBhcmdzKQotewotICAgIElO
Q19TVEFUUygiRE9NLiR7aW50ZXJmYWNlTmFtZX0uQ29udHJ1Y3RvciIpOwotICAgIHJldHVybiBW
OFByb3h5Ojoke3Y4Q29uc3RydWN0RnVuY3Rpb259PCRpbnRlcmZhY2VOYW1lPihhcmdzLCAmaW5m
byk7Ci19Ci0KLUVORAotICAgIH0gZWxzaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57Ik5hbWVkQ29uc3RydWN0b3IifSAmJiAhKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IlY4Q3VzdG9tQ29uc3RydWN0b3IifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJDdXN0b21Db25zdHJ1Y3RvciJ9KSkgeworICAgIGlmICgkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJOYW1lZENvbnN0cnVjdG9yIn0gJiYgISgkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJWOEN1c3RvbUNvbnN0cnVjdG9yIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tQ29uc3RydWN0b3IifSkpIHsKICAgICAgICAgR2VuZXJhdGVO
YW1lZENvbnN0cnVjdG9yQ2FsbGJhY2soJGRhdGFOb2RlLT5jb25zdHJ1Y3RvciwgJGRhdGFOb2Rl
LCAkaW50ZXJmYWNlTmFtZSk7Ci0gICAgfSBlbHNpZiAoKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRy
aWJ1dGVzLT57IkNhbkJlQ29uc3RydWN0ZWQifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmli
dXRlcy0+eyJDb25zdHJ1Y3RvciJ9KSAmJiAhKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVz
LT57IlY4Q3VzdG9tQ29uc3RydWN0b3IifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRl
cy0+eyJDdXN0b21Db25zdHJ1Y3RvciJ9KSkgeworICAgIH0gZWxzaWYgKCRkYXRhTm9kZS0+ZXh0
ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnN0cnVjdG9yIn0gJiYgISgkZGF0YU5vZGUtPmV4dGVuZGVk
QXR0cmlidXRlcy0+eyJWOEN1c3RvbUNvbnN0cnVjdG9yIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiQ3VzdG9tQ29uc3RydWN0b3IifSkpIHsKICAgICAgICAgR2VuZXJhdGVD
b25zdHJ1Y3RvckNhbGxiYWNrKCRkYXRhTm9kZS0+Y29uc3RydWN0b3IsICRkYXRhTm9kZSwgJGlu
dGVyZmFjZU5hbWUpOwogICAgIH0KIApAQCAtMjM3OSw3ICsyMzYyLDcgQEAgRU5ECiAgICAgVU5V
U0VEX1BBUkFNKGRlZmF1bHRTaWduYXR1cmUpOyAvLyBJbiBzb21lIGNhc2VzLCBpdCB3aWxsIG5v
dCBiZSB1c2VkLgogRU5ECiAKLSAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiQ2FuQmVDb25zdHJ1Y3RlZCJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkN1c3RvbUNvbnN0cnVjdG9yIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
VjhDdXN0b21Db25zdHJ1Y3RvciJ9IHx8ICRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IkNvbnN0cnVjdG9yIn0pIHsKKyAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiQ3VzdG9tQ29uc3RydWN0b3IifSB8fCAkZGF0YU5vZGUtPmV4dGVuZGVkQXR0cmlidXRlcy0+
eyJWOEN1c3RvbUNvbnN0cnVjdG9yIn0gfHwgJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMt
PnsiQ29uc3RydWN0b3IifSkgewogICAgICAgICBwdXNoKEBpbXBsQ29udGVudCwgPDxFTkQpOwog
ICAgIGRlc2MtPlNldENhbGxIYW5kbGVyKFY4JHtpbnRlcmZhY2VOYW1lfTo6Y29uc3RydWN0b3JD
YWxsYmFjayk7CiBFTkQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9UZXN0SW50ZXJmYWNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9UZXN0SW50ZXJmYWNlLmlkbAppbmRleCA1MzNjNWU3ZDAwNjY2MjljZGRiOTVlNTI3
Y2RlMGRiZmEzN2ViNmM0Li4yYjA1NGE4MjNjNmEzNWRiNzdlODEwOGJjZjgwZDUxMmI4NDQyNGIw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdElu
dGVyZmFjZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rl
c3RJbnRlcmZhY2UuaWRsCkBAIC0zMiw3ICszMiw2IEBAIG1vZHVsZSB0ZXN0IHsKICAgICBpbnRl
cmZhY2UgWwogICAgICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgICAgIENvbmRpdGlvbmFsPUNv
bmRpdGlvbjF8Q29uZGl0aW9uMiwKLSAgICAgICAgQ2FuQmVDb25zdHJ1Y3RlZCwKICAgICAgICAg
Q2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dCwKICAgICAgICAgQ29uc3RydWN0b3IoaW4g
RE9NU3RyaW5nIHN0cjEsIGluIFtPcHRpb25hbD1DYWxsV2l0aERlZmF1bHRWYWx1ZV0gRE9NU3Ry
aW5nIHN0cjIpLAogICAgICAgICBDb25zdHJ1Y3RvclJhaXNlc0V4Y2VwdGlvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhQcm94eS5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvVjhQcm94eS5oCmluZGV4IDQ1ZjJjZTZhMmY4YWMxZmE1NjQ0OWQ4N2I2YTU4
NzliZTBiYTIwZDEuLjA5YjhhOTcyODhkNjhlOGRjNDA1NWYwN2Y5YzcyOWQyNWE1YTQxZWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4UHJveHkuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFByb3h5LmgKQEAgLTI1MSwxMiArMjUxLDYgQEAgbmFt
ZXNwYWNlIFdlYkNvcmUgewogICAgICAgICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRo
cm93VHlwZUVycm9yKCk7CiAgICAgICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdGhy
b3dTeW50YXhFcnJvcigpOwogCi0gICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotICAgICAg
ICBzdGF0aWMgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IGNvbnN0cnVjdERPTU9iamVjdChjb25zdCB2
ODo6QXJndW1lbnRzJiwgV3JhcHBlclR5cGVJbmZvKik7Ci0KLSAgICAgICAgdGVtcGxhdGUgPHR5
cGVuYW1lIFQ+Ci0gICAgICAgIHN0YXRpYyB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gY29uc3RydWN0
RE9NT2JqZWN0V2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29uc3Qgdjg6OkFyZ3VtZW50cyYs
IFdyYXBwZXJUeXBlSW5mbyopOwotCiAgICAgICAgIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gY29u
dGV4dCgpOwogICAgICAgICB2ODo6TG9jYWw8djg6OkNvbnRleHQ+IG1haW5Xb3JsZENvbnRleHQo
KTsKIApAQCAtMzM3LDQxICszMzEsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIElz
b2xhdGVkV29ybGRTZWN1cml0eU9yaWdpbk1hcCBtX2lzb2xhdGVkV29ybGRTZWN1cml0eU9yaWdp
bnM7CiAgICAgfTsKIAotICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPgotICAgIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiBWOFByb3h5Ojpjb25zdHJ1Y3RET01PYmplY3QoY29uc3Qgdjg6OkFyZ3VtZW50
cyYgYXJncywgV3JhcHBlclR5cGVJbmZvKiB0eXBlKQotICAgIHsKLSAgICAgICAgaWYgKCFhcmdz
LklzQ29uc3RydWN0Q2FsbCgpKQotICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoVjhQcm94
eTo6VHlwZUVycm9yLCAiRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFz
IGEgZnVuY3Rpb24uIik7Ci0KLSAgICAgICAgLy8gTm90ZTogaXQncyBPSyB0byBsZXQgdGhpcyBS
ZWZQdHIgZ28gb3V0IG9mIHNjb3BlIGJlY2F1c2Ugd2UgYWxzbyBjYWxsCi0gICAgICAgIC8vIFNl
dERPTVdyYXBwZXIoKSwgd2hpY2ggZWZmZWN0aXZlbHkgaG9sZHMgYSByZWZlcmVuY2UgdG8gb2Jq
LgotICAgICAgICBSZWZQdHI8VD4gb2JqID0gVDo6Y3JlYXRlKCk7Ci0gICAgICAgIFY4RE9NV3Jh
cHBlcjo6c2V0RE9NV3JhcHBlcihhcmdzLkhvbGRlcigpLCB0eXBlLCBvYmouZ2V0KCkpOwotICAg
ICAgICBvYmotPnJlZigpOwotICAgICAgICBWOERPTVdyYXBwZXI6OnNldEpTV3JhcHBlckZvckRP
TU9iamVjdChvYmouZ2V0KCksIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+OjpOZXcoYXJncy5I
b2xkZXIoKSkpOwotICAgICAgICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKLSAgICB9Ci0KLSAgICB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVD4KLSAgICB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gVjhQcm94eTo6
Y29uc3RydWN0RE9NT2JqZWN0V2l0aFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoY29uc3Qgdjg6OkFy
Z3VtZW50cyYgYXJncywgV3JhcHBlclR5cGVJbmZvKiB0eXBlKQotICAgIHsKLSAgICAgICAgaWYg
KCFhcmdzLklzQ29uc3RydWN0Q2FsbCgpKQotICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3Io
VjhQcm94eTo6VHlwZUVycm9yLCAiIik7Ci0KLSAgICAgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCA9IGdldFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsKLSAgICAgICAgaWYgKCFj
b250ZXh0KQotICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoVjhQcm94eTo6UmVmZXJlbmNl
RXJyb3IsICIiKTsKLQotICAgICAgICAvLyBOb3RlOiBpdCdzIE9LIHRvIGxldCB0aGlzIFJlZlB0
ciBnbyBvdXQgb2Ygc2NvcGUgYmVjYXVzZSB3ZSBhbHNvIGNhbGwKLSAgICAgICAgLy8gU2V0RE9N
V3JhcHBlcigpLCB3aGljaCBlZmZlY3RpdmVseSBob2xkcyBhIHJlZmVyZW5jZSB0byBvYmouCi0g
ICAgICAgIFJlZlB0cjxUPiBvYmogPSBUOjpjcmVhdGUoY29udGV4dCk7Ci0gICAgICAgIFY4RE9N
V3JhcHBlcjo6c2V0RE9NV3JhcHBlcihhcmdzLkhvbGRlcigpLCB0eXBlLCBvYmouZ2V0KCkpOwot
ICAgICAgICBvYmotPnJlZigpOwotICAgICAgICBWOERPTVdyYXBwZXI6OnNldEpTV3JhcHBlckZv
ckRPTU9iamVjdChvYmouZ2V0KCksIHY4OjpQZXJzaXN0ZW50PHY4OjpPYmplY3Q+OjpOZXcoYXJn
cy5Ib2xkZXIoKSkpOwotICAgICAgICByZXR1cm4gYXJncy5Ib2xkZXIoKTsKLSAgICB9Ci0KLQog
ICAgIHY4OjpMb2NhbDx2ODo6Q29udGV4dD4gdG9WOENvbnRleHQoU2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCosIGNvbnN0IFdvcmxkQ29udGV4dEhhbmRsZSYgd29ybGRDb250ZXh0KTsKIAogICAgIC8v
IFVzZWQgYnkgYW4gaW50ZXJjZXB0b3IgY2FsbGJhY2sgdGhhdCBpdCBoYXNuJ3QgZm91bmQgYW55
dGhpbmcgdG8K
</data>

          </attachment>
      

    </bug>

</bugzilla>