<?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>29114</bug_id>
          
          <creation_ts>2009-09-09 17:55:53 -0700</creation_ts>
          <short_desc>JS and ObjC binding dependencies not taken into account by DerivedSources.make</short_desc>
          <delta_ts>2022-02-05 13:02:55 -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>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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>28831</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Cameron McCormack (:heycam)">heycam</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>146041</commentid>
    <comment_count>0</comment_count>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2009-09-09 17:55:53 -0700</bug_when>
    <thetext>Since the Objective C bindings essentially flatten multiple inheritance in the generated DOM*.mm files, there are dependencies on ancestor IDL files that aren&apos;t noticed by DerivedSources.make.  For example, the SVGAnimationElement interface inheritance hierarchy looks like:

  SVGAnimationElement
   |
   +--SVGElement
   |   |
   |   +--Element
   |       |
   |       +-- ...
   |
   +--SVGTests
   |
   +--SVGExternalResourcesRequired
   |
   +--ElementTimeControl

All of the attributes and operations in SVGTests, SVGExternalResourcesRequired and ElementTimeControl will be implemented in SVGAnimationElement.mm, but make doesn&apos;t know that SVGAnimationElement.mm depends on SVGTests.idl, SVGExternalResourcesRequired.idl and ElementTimeControl.idl.

Thus, if a patch touches ElementTimeControl.idl, for example, the build will break unless a clean is done first (or something else that forces the bindings to be regenerated, such as touching CodeGenerator.pm).

This probably affects the V8 bindings too, but I haven&apos;t looked closely enough to be sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146098</commentid>
    <comment_count>1</comment_count>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2009-09-10 00:22:15 -0700</bug_when>
    <thetext>Same for the JS bindings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146099</commentid>
    <comment_count>2</comment_count>
      <attachid>39327</attachid>
    <who name="Cameron McCormack (:heycam)">heycam</who>
    <bug_when>2009-09-10 00:24:55 -0700</bug_when>
    <thetext>Created attachment 39327
Patch v1

This patch makes DerivedSources.make use automatically generated dependency information à la http://make.paulandlesley.org/autodep.html#advanced to ensure that changes to multiply inherited IDL interfaces (such as ElementTimeControl in the example above) cause the JS and ObJC binding classes to be regenerated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146310</commentid>
    <comment_count>3</comment_count>
      <attachid>39327</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-10 13:17:44 -0700</bug_when>
    <thetext>Comment on attachment 39327
Patch v1

Wow.  That&apos;s just awesome.

It would be nice to see an example .deps file, but this looks great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146339</commentid>
    <comment_count>4</comment_count>
      <attachid>39327</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-10 14:34:07 -0700</bug_when>
    <thetext>Comment on attachment 39327
Patch v1

Clearing flags on attachment: 39327

Committed r48266: &lt;http://trac.webkit.org/changeset/48266&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146341</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-10 14:34:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39327</attachid>
            <date>2009-09-10 00:24:55 -0700</date>
            <delta_ts>2009-09-10 14:34:07 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>29114-v1.patch</filename>
            <type>text/plain</type>
            <size>14354</size>
            <attacher name="Cameron McCormack (:heycam)">heycam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODI0NikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMDktMDktMTAgIENhbWVyb24gTWNDb3JtYWNrICA8Y2FtQG1jYy5p
ZC5hdT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBN
YWtlIGJpbmRpbmdzIGdlbmVyYXRvcnMgbW9yZSBhd2FyZSBvZiBJREwgZGVwZW5kZW5jaWVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yOTExNAorCisg
ICAgICAgIE1ha2UgdGhlIEpTIGFuZCBPYmpDIGJpbmRpbmdzIGdlbmVyYXRvcnMgYWJsZSB0byBv
dXRwdXQgZGVwZW5kZW5jeQorICAgICAgICBydWxlcyBmb3IgRGVyaXZlZFNvdXJjZXMubWFrZSB0
byBjb25zdW1lLiAgVGhlc2UgcnVsZXMgbWFrZSBhIGdpdmVuCisgICAgICAgIGdlbmVyYXRlZCBi
aW5kaW5nIGNsYXNzIGZpbGUgaGVhZGVyLCBKU1doYXRldmVyLmgsIGRlcGVuZCBvbiBXaGF0ZXZl
cidzCisgICAgICAgIGFuY2VzdG9yIGludGVyZmFjZXMuCisKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5tYWtlOiBQYXNzIC0td3JpdGUtZGVwZW5kZW5jaWVzIHRvIGdlbmVyYXRlLWJpbmRpbmdz
LnBsCisgICAgICAgIHdoZW4gZ2VuZXJhdGluZyBKUyBhbmQgT2JqQyBiaW5kaW5ncy4gIEluY2x1
ZGUgZGVwZW5kZW5jeSBmaWVzIHRoYXQgYXJlCisgICAgICAgIGdlbmVyYXRlZCBkdWUgdG8gdGhh
dC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG06IE1ha2UKKyAg
ICAgICAgQWRkTWV0aG9kc0NvbnN0YW50c0FuZEF0dHJpYnV0ZXNGcm9tUGFyZW50Q2xhc3NlcyBh
Y2N1bXVsYXRlIGEgbGlzdCBvZgorICAgICAgICB0aGUgYW5jZXN0b3IgaW50ZXJmYWNlcyB0aGF0
IHdlcmUgdmlzaXRlZC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JK
Uy5wbTogT3B0aW9uYWxseSB3cml0ZSBvdXQgYSBkZXBlbmRlbmN5CisgICAgICAgIGZpbGUuCisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yT2JqQy5wbTogRGl0dG8uCisg
ICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbDogQWRkIGEgLS13
cml0ZS1kZXBlbmRlbmNpZXMKKyAgICAgICAgb3B0aW9uLgorCiAyMDA5LTA5LTA5ICBDaHJpcyBG
bGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAgQVggbm90aWZpY2F0aW9u
cyBzaG91bGQgYmUgYW4gRU5VTSB0eXBlIGluc3RlYWQgb2Ygc3RyaW5ncwpJbmRleDogV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQkocmV2aXNpb24gNDgyMzYpCisrKyBXZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UJ
KHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAjIENvcHlyaWdodCAoQykgMjAwNiwgMjAw
NywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAjIENvcHlyaWdodCAoQykg
MjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2VpbmlnQGdtYWlsLmNvbT4gCisjIENvcHlyaWdodCAo
QykgMjAwOSBDYW1lcm9uIE1jQ29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMKICMgUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtNDE4LDggKzQxOSwxMCBAQCBET01fQ0xBU1NFUyA9IFwKIAogLlBI
T05ZIDogYWxsCiAKK0pTX0RPTV9IRUFERVJTPSQoZmlsdGVyLW91dCBKU0V2ZW50TGlzdGVuZXIu
aCBKU0V2ZW50VGFyZ2V0LmgsJChET01fQ0xBU1NFUzolPUpTJS5oKSkKKwogYWxsIDogXAotICAg
ICQoZmlsdGVyLW91dCBKU0V2ZW50TGlzdGVuZXIuaCBKU0V2ZW50VGFyZ2V0LmgsJChET01fQ0xB
U1NFUzolPUpTJS5oKSkgXAorICAgICQoSlNfRE9NX0hFQURFUlMpIFwKICAgICBcCiAgICAgSlNK
YXZhU2NyaXB0Q2FsbEZyYW1lLmggXAogICAgIFwKQEAgLTcwOSw3ICs3MTIsNyBAQCBlbmRpZgog
IyBKYXZhU2NyaXB0IGJpbmRpbmdzCiAKIEdFTkVSQVRFX0JJTkRJTkdTID0gcGVybCAtSSAkKFdl
YkNvcmUpL2JpbmRpbmdzL3NjcmlwdHMgJChXZWJDb3JlKS9iaW5kaW5ncy9zY3JpcHRzL2dlbmVy
YXRlLWJpbmRpbmdzLnBsIFwKLSAgICAtLWluY2x1ZGUgZG9tIC0taW5jbHVkZSBodG1sIC0taW5j
bHVkZSBjc3MgLS1pbmNsdWRlIHBhZ2UgLS1pbmNsdWRlIG5vdGlmaWNhdGlvbnMgLS1pbmNsdWRl
IHhtbCAtLWluY2x1ZGUgc3ZnIC0tb3V0cHV0RGlyIC4KKyAgICAtLWluY2x1ZGUgZG9tIC0taW5j
bHVkZSBodG1sIC0taW5jbHVkZSBjc3MgLS1pbmNsdWRlIHBhZ2UgLS1pbmNsdWRlIG5vdGlmaWNh
dGlvbnMgLS1pbmNsdWRlIHhtbCAtLWluY2x1ZGUgc3ZnIC0td3JpdGUtZGVwZW5kZW5jaWVzIC0t
b3V0cHV0RGlyIC4KIAogR0VORVJBVEVfQklORElOR1NfU0NSSVBUUyA9IFwKICAgICBiaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0gXApAQCAtNzIxLDEzICs3MjQsMTcgQEAgR0VORVJB
VEVfQklORElOR1NfU0NSSVBUUyA9IFwKIEpTJS5oIDogJS5pZGwgJChHRU5FUkFURV9CSU5ESU5H
U19TQ1JJUFRTKSBiaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQogCSQoR0VORVJB
VEVfQklORElOR1MpIC0tZGVmaW5lcyAiJChGRUFUVVJFX0RFRklORVMpIExBTkdVQUdFX0pBVkFT
Q1JJUFQiIC0tZ2VuZXJhdG9yIEpTICQ8CiAKKy1pbmNsdWRlICQoSlNfRE9NX0hFQURFUlM6Lmg9
LmRlcCkKKwogIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogIyBNYWMtc3BlY2lmaWMgcnVs
ZXMKIAogaWZlcSAoJChPUyksTUFDT1MpCiAKLWFsbCA6ICQoZmlsdGVyLW91dCBET01ET01XaW5k
b3cuaCBET01NaW1lVHlwZS5oIERPTVBsdWdpbi5oLCQoRE9NX0NMQVNTRVM6JT1ET00lLmgpKQor
T0JKQ19ET01fSEVBREVSUz0kKGZpbHRlci1vdXQgRE9NRE9NV2luZG93LmggRE9NTWltZVR5cGUu
aCBET01QbHVnaW4uaCwkKERPTV9DTEFTU0VTOiU9RE9NJS5oKSkKKworYWxsIDogJChPQkpDX0RP
TV9IRUFERVJTKQogCiBhbGwgOiBDaGFyc2V0RGF0YS5jcHAgV2ViQ29yZS5leHAKIApAQCAtNzcz
LDYgKzc4MCw4IEBAIFdlYkNvcmUuZXhwIDogV2ViQ29yZS5iYXNlLmV4cCAkKFdFQkNPUkUKIERP
TSUuaCA6ICUuaWRsICQoR0VORVJBVEVfQklORElOR1NfU0NSSVBUUykgYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yT2JqQy5wbSBiaW5kaW5ncy9vYmpjL1B1YmxpY0RPTUludGVyZmFjZXMu
aAogCSQoR0VORVJBVEVfQklORElOR1MpIC0tZGVmaW5lcyAiJChGRUFUVVJFX0RFRklORVMpIExB
TkdVQUdFX09CSkVDVElWRV9DIiAtLWdlbmVyYXRvciBPYmpDICQ8CiAKKy1pbmNsdWRlICQoT0JK
Q19ET01fSEVBREVSUzouaD0uZGVwKQorCiAjIC0tLS0tLS0tCiAKIGVuZGlmCkluZGV4OiBXZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQkocmV2aXNpb24gNDgyMzYpCisr
KyBXZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQkod29ya2luZyBjb3B5
KQpAQCAtNCw2ICs0LDcgQEAKICMgQ29weXJpZ2h0IChDKSAyMDA1IE5pa29sYXMgWmltbWVybWFu
biA8d2lsZGZveEBrZGUub3JnPgogIyBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8
c2FtLndlaW5pZ0BnbWFpbC5jb20+CiAjIENvcHlyaWdodCAoQykgMjAwNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1jQ29ybWFj
ayA8Y2FtQG1jYy5pZC5hdT4KICMgCiAjIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI5LDYgKzMwLDcgQEAgbXkg
JHVzZU91dHB1dERpciA9ICIiOwogbXkgJHVzZURpcmVjdG9yaWVzID0gIiI7CiBteSAkdXNlTGF5
ZXJPblRvcCA9IDA7CiBteSAkcHJlcHJvY2Vzc29yOworbXkgJHdyaXRlRGVwZW5kZW5jaWVzID0g
MDsKIAogbXkgJGNvZGVHZW5lcmF0b3IgPSAwOwogCkBAIC03Miw2ICs3NCw3IEBAIHN1YiBuZXcK
ICAgICAkdXNlT3V0cHV0RGlyID0gc2hpZnQ7CiAgICAgJHVzZUxheWVyT25Ub3AgPSBzaGlmdDsK
ICAgICAkcHJlcHJvY2Vzc29yID0gc2hpZnQ7CisgICAgJHdyaXRlRGVwZW5kZW5jaWVzID0gc2hp
ZnQ7CiAKICAgICBibGVzcygkcmVmZXJlbmNlLCAkb2JqZWN0KTsKICAgICByZXR1cm4gJHJlZmVy
ZW5jZTsKQEAgLTk1LDcgKzk4LDcgQEAgc3ViIFByb2Nlc3NEb2N1bWVudAogCiAgICAgIyBEeW5h
bWljYWxseSBsb2FkIGV4dGVybmFsIGNvZGUgZ2VuZXJhdGlvbiBwZXJsIG1vZHVsZQogICAgIHJl
cXVpcmUgJGlmYWNlTmFtZSAuICIucG0iOwotICAgICRjb2RlR2VuZXJhdG9yID0gJGlmYWNlTmFt
ZS0+bmV3KCRvYmplY3QsICR1c2VPdXRwdXREaXIsICR1c2VMYXllck9uVG9wLCAkcHJlcHJvY2Vz
c29yKTsKKyAgICAkY29kZUdlbmVyYXRvciA9ICRpZmFjZU5hbWUtPm5ldygkb2JqZWN0LCAkdXNl
T3V0cHV0RGlyLCAkdXNlTGF5ZXJPblRvcCwgJHByZXByb2Nlc3NvciwgJHdyaXRlRGVwZW5kZW5j
aWVzKTsKICAgICB1bmxlc3MgKGRlZmluZWQoJGNvZGVHZW5lcmF0b3IpKSB7CiAgICAgICAgIG15
ICRjbGFzc2VzID0gJHVzZURvY3VtZW50LT5jbGFzc2VzOwogICAgICAgICBmb3JlYWNoIG15ICRj
bGFzcyAoQCRjbGFzc2VzKSB7CkBAIC0xNTMsMTEgKzE1NiwxNCBAQCBzdWIgRmluZFBhcmVudHNS
ZWN1cnNpdmVseQogCiBzdWIgQWRkTWV0aG9kc0NvbnN0YW50c0FuZEF0dHJpYnV0ZXNGcm9tUGFy
ZW50Q2xhc3NlcwogewotICAgICMgRm9yIHRoZSBwYXNzZWQgaW50ZXJmYWNlLCByZWN1cnNpdmVs
eSBwYXJzZSBhbGwgcGFyZW50Ci0gICAgIyBJRExzIGluIG9yZGVyIHRvIGZpbmQgb3V0IGFsbCBp
bmhlcml0ZWQgcHJvcGVydGllcy9tZXRob2RzLgorICAgICMgRm9yIHRoZSBpbnRlcmZhY2UgcGFz
c2VkIGluLCByZWN1cnNpdmVseSBwYXJzZSBhbGwgcGFyZW50IElETHMgaW4gb3JkZXIgdG8KKyAg
ICAjIGZpbmQgb3V0IGFsbCBpbmhlcml0ZWQgcHJvcGVydGllcy9tZXRob2RzIGFuZCBhZGQgdGhl
bSBpbiB0byAkZGF0YU5vZGUuCisgICAgIyBBbiBhcnJheSByZWZlcmVuY2UgY2FuIGJlIHBhc3Nl
ZCBpbiBhcyAkcmVzdWx0IHRvIGNhcHR1cmUgdGhlIG5hbWVzIG9mCisgICAgIyBhbGwgb2YgdGhl
IHBhcmVudCBpbnRlcmZhY2UgbmFtZXMgdmlzaXRlZC4KIAogICAgIG15ICRvYmplY3QgPSBzaGlm
dDsKICAgICBteSAkZGF0YU5vZGUgPSBzaGlmdDsKKyAgICBteSAkcmVzdWx0ID0gc2hpZnQ7CiAK
ICAgICBteSBAcGFyZW50cyA9IEB7JGRhdGFOb2RlLT5wYXJlbnRzfTsKICAgICBteSAkcGFyZW50
c01heCA9IEB7JGRhdGFOb2RlLT5wYXJlbnRzfTsKQEAgLTE3NSw2ICsxODEsOCBAQCBzdWIgQWRk
TWV0aG9kc0NvbnN0YW50c0FuZEF0dHJpYnV0ZXNGcm9tCiAKICAgICAgICAgbXkgJGludGVyZmFj
ZSA9ICRvYmplY3QtPlN0cmlwTW9kdWxlKCRfKTsKIAorICAgICAgICBwdXNoKEAkcmVzdWx0LCAk
XykgaWYgZGVmaW5lZCgkcmVzdWx0KTsKKwogICAgICAgICAjIFN0ZXAgIzE6IEZpbmQgdGhlIElE
TCBmaWxlIGFzc29jaWF0ZWQgd2l0aCAnaW50ZXJmYWNlJwogICAgICAgICAkZW5kQ29uZGl0aW9u
ID0gMDsKICAgICAgICAgJGZvdW5kRmlsZW5hbWUgPSAiIjsKQEAgLTE5Miw3ICsyMDAsNyBAQCBz
dWIgQWRkTWV0aG9kc0NvbnN0YW50c0FuZEF0dHJpYnV0ZXNGcm9tCiAKICAgICAgICAgICAgIGZv
cmVhY2ggbXkgJGNsYXNzIChAeyRkb2N1bWVudC0+Y2xhc3Nlc30pIHsKICAgICAgICAgICAgICAg
ICAjIFN0ZXAgIzM6IEVudGVyIHJlY3Vyc2l2ZSBwYXJlbnQgc2VhcmNoCi0gICAgICAgICAgICAg
ICAgQWRkTWV0aG9kc0NvbnN0YW50c0FuZEF0dHJpYnV0ZXNGcm9tUGFyZW50Q2xhc3Nlcygkb2Jq
ZWN0LCAkY2xhc3MpOworICAgICAgICAgICAgICAgIEFkZE1ldGhvZHNDb25zdGFudHNBbmRBdHRy
aWJ1dGVzRnJvbVBhcmVudENsYXNzZXMoJG9iamVjdCwgJGNsYXNzLCAkcmVzdWx0KTsKIAogICAg
ICAgICAgICAgICAgICMgU3RlcCAjNDogQ29sbGVjdCBjb25zdGFudHMgJiBmdW5jdGlvbnMgJiBh
dHRyaWJ1dGVzIG9mIHRoaXMgcGFyZW50LWNsYXNzCiAgICAgICAgICAgICAgICAgbXkgJGNvbnN0
YW50c01heCA9IEB7JGNsYXNzLT5jb25zdGFudHN9OwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCShyZXZpc2lvbiA0ODIzNikKKysrIFdlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0JKHdvcmtpbmcgY29weSkKQEAgLTQs
NiArNCw3IEBACiAjIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBTYW11ZWwgV2VpbmlnIDxzYW1A
d2Via2l0Lm9yZz4KICMgQ29weXJpZ2h0IChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3YgPGFw
QHdlYmtpdC5vcmc+CiAjIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9u
IE1jQ29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMgCiAjIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICMgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTI2LDYgKzI3
LDcgQEAgdXNlIEZpbGU6OnN0YXQ7CiAKIG15ICRtb2R1bGUgPSAiIjsKIG15ICRvdXRwdXREaXIg
PSAiIjsKK215ICR3cml0ZURlcGVuZGVuY2llcyA9IDA7CiAKIG15IEBoZWFkZXJDb250ZW50SGVh
ZGVyID0gKCk7CiBteSBAaGVhZGVyQ29udGVudCA9ICgpOwpAQCAtMzQsNiArMzYsNyBAQCBteSAl
aGVhZGVySW5jbHVkZXMgPSAoKTsKIG15IEBpbXBsQ29udGVudEhlYWRlciA9ICgpOwogbXkgQGlt
cGxDb250ZW50ID0gKCk7CiBteSAlaW1wbEluY2x1ZGVzID0gKCk7CitteSBAZGVwc0NvbnRlbnQg
PSAoKTsKIAogIyBEZWZhdWx0IC5oIHRlbXBsYXRlCiBteSAkaGVhZGVyVGVtcGxhdGUgPSA8PCAi
RU9GIjsKQEAgLTY2LDYgKzY5LDkgQEAgc3ViIG5ldwogCiAgICAgJGNvZGVHZW5lcmF0b3IgPSBz
aGlmdDsKICAgICAkb3V0cHV0RGlyID0gc2hpZnQ7CisgICAgc2hpZnQ7ICMgJHVzZUxheWVyT25U
b3AKKyAgICBzaGlmdDsgIyAkcHJlcHJvY2Vzc29yCisgICAgJHdyaXRlRGVwZW5kZW5jaWVzID0g
c2hpZnQ7CiAKICAgICBibGVzcygkcmVmZXJlbmNlLCAkb2JqZWN0KTsKICAgICByZXR1cm4gJHJl
ZmVyZW5jZTsKQEAgLTEwMCw5ICsxMDYsMTYgQEAgc3ViIEdlbmVyYXRlSW50ZXJmYWNlCiAgICAg
IyBPcGVuIGZpbGVzIGZvciB3cml0aW5nCiAgICAgbXkgJGhlYWRlckZpbGVOYW1lID0gIiRvdXRw
dXREaXIvSlMkbmFtZS5oIjsKICAgICBteSAkaW1wbEZpbGVOYW1lID0gIiRvdXRwdXREaXIvSlMk
bmFtZS5jcHAiOworICAgIG15ICRkZXBzRmlsZU5hbWUgPSAiJG91dHB1dERpci9KUyRuYW1lLmRl
cCI7CisKKyAgICAjIFJlbW92ZSBvbGQgZGVwZW5kZW5jeSBmaWxlLgorICAgIHVubGluaygkZGVw
c0ZpbGVOYW1lKTsKIAogICAgIG9wZW4oJElNUEwsICI+JGltcGxGaWxlTmFtZSIpIHx8IGRpZSAi
Q291bGRuJ3Qgb3BlbiBmaWxlICRpbXBsRmlsZU5hbWUiOwogICAgIG9wZW4oJEhFQURFUiwgIj4k
aGVhZGVyRmlsZU5hbWUiKSB8fCBkaWUgIkNvdWxkbid0IG9wZW4gZmlsZSAkaGVhZGVyRmlsZU5h
bWUiOworICAgIGlmIChAZGVwc0NvbnRlbnQpIHsKKyAgICAgICAgb3BlbigkREVQUywgIj4kZGVw
c0ZpbGVOYW1lIikgfHwgZGllICJDb3VsZG4ndCBvcGVuIGZpbGUgJGRlcHNGaWxlTmFtZSI7Cisg
ICAgfQogfQogCiAjIFBhcmFtczogJ2lkbERvY3VtZW50JyBzdHJ1Y3QKQEAgLTQ0OSwxMSArNDYy
LDEyIEBAIHN1YiBHZW5lcmF0ZUhlYWRlcgogICAgIG15ICRpbnRlcmZhY2VOYW1lID0gJGRhdGFO
b2RlLT5uYW1lOwogICAgIG15ICRjbGFzc05hbWUgPSAiSlMkaW50ZXJmYWNlTmFtZSI7CiAgICAg
bXkgJGltcGxDbGFzc05hbWUgPSAkaW50ZXJmYWNlTmFtZTsKKyAgICBteSBAYW5jZXN0b3JJbnRl
cmZhY2VOYW1lcyA9ICgpOwogCiAgICAgIyBXZSBvbmx5IHN1cHBvcnQgbXVsdGlwbGUgcGFyZW50
cyB3aXRoIFNWRyAoZm9yIG5vdykuCiAgICAgaWYgKEB7JGRhdGFOb2RlLT5wYXJlbnRzfSA+IDEp
IHsKICAgICAgICAgZGllICJBIGNsYXNzIGNhbid0IGhhdmUgbW9yZSB0aGFuIG9uZSBwYXJlbnQi
IHVubGVzcyAkaW50ZXJmYWNlTmFtZSA9fiAvU1ZHLzsKLSAgICAgICAgJGNvZGVHZW5lcmF0b3It
PkFkZE1ldGhvZHNDb25zdGFudHNBbmRBdHRyaWJ1dGVzRnJvbVBhcmVudENsYXNzZXMoJGRhdGFO
b2RlKTsKKyAgICAgICAgJGNvZGVHZW5lcmF0b3ItPkFkZE1ldGhvZHNDb25zdGFudHNBbmRBdHRy
aWJ1dGVzRnJvbVBhcmVudENsYXNzZXMoJGRhdGFOb2RlLCBcQGFuY2VzdG9ySW50ZXJmYWNlTmFt
ZXMpOwogICAgIH0KIAogICAgIG15ICRoYXNMZWdhY3lQYXJlbnQgPSAkZGF0YU5vZGUtPmV4dGVu
ZGVkQXR0cmlidXRlcy0+eyJMZWdhY3lQYXJlbnQifTsKQEAgLTgyNiw2ICs4NDAsMTIgQEAgc3Vi
IEdlbmVyYXRlSGVhZGVyCiAgICAgcHVzaChAaGVhZGVyQ29udGVudCwgIlxufSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZVxuXG4iKTsKICAgICBwdXNoKEBoZWFkZXJDb250ZW50LCAiI2VuZGlmIC8vICR7
Y29uZGl0aW9uYWxTdHJpbmd9XG5cbiIpIGlmICRjb25kaXRpb25hbDsKICAgICBwdXNoKEBoZWFk
ZXJDb250ZW50LCAiI2VuZGlmXG4iKTsKKworICAgICMgLSBHZW5lcmF0ZSBkZXBlbmRlbmNpZXMu
CisgICAgaWYgKCR3cml0ZURlcGVuZGVuY2llcyAmJiBAYW5jZXN0b3JJbnRlcmZhY2VOYW1lcykg
eworICAgICAgICBwdXNoKEBkZXBzQ29udGVudCwgIiRjbGFzc05hbWUuaCA6ICIsIGpvaW4oIiAi
LCBtYXAgeyAiJF8uaWRsIiB9IEBhbmNlc3RvckludGVyZmFjZU5hbWVzKSwgIlxuIik7CisgICAg
ICAgIHB1c2goQGRlcHNDb250ZW50LCBtYXAgeyAiJF8uaWRsIDpcbiIgfSBAYW5jZXN0b3JJbnRl
cmZhY2VOYW1lcyk7IAorICAgIH0KIH0KIAogc3ViIEdlbmVyYXRlSW1wbGVtZW50YXRpb24KQEAg
LTIxNjQsNiArMjE4NCwxNSBAQCBzdWIgV3JpdGVEYXRhCiAgICAgICAgIEBoZWFkZXJDb250ZW50
ID0gKCk7CiAgICAgICAgICVoZWFkZXJJbmNsdWRlcyA9ICgpOwogICAgIH0KKworICAgIGlmIChk
ZWZpbmVkKCRERVBTKSkgeworICAgICAgICAjIFdyaXRlIGRlcGVuZGVuY3kgZmlsZS4KKyAgICAg
ICAgcHJpbnQgJERFUFMgQGRlcHNDb250ZW50OworICAgICAgICBjbG9zZSgkREVQUyk7CisgICAg
ICAgIHVuZGVmKCRERVBTKTsKKworICAgICAgICBAZGVwc0NvbnRlbnQgPSAoKTsKKyAgICB9CiB9
CiAKIHN1YiBjb25zdHJ1Y3RvckZvcgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JPYmpDLnBtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9yT2JqQy5wbQkocmV2aXNpb24gNDgyMzYpCisrKyBXZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvck9iakMucG0JKHdvcmtpbmcgY29weSkKQEAgLTQsNiAr
NCw3IEBACiAjIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBTYW11ZWwgV2VpbmlnIDxzYW1Ad2Vi
a2l0Lm9yZz4KICMgQ29weXJpZ2h0IChDKSAyMDA2IEFsZXhleSBQcm9za3VyeWFrb3YgPGFwQHdl
YmtpdC5vcmc+CiAjIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjIENvcHlyaWdodCAoQykgMjAwOSBDYW1lcm9uIE1j
Q29ybWFjayA8Y2FtQG1jYy5pZC5hdT4KICMKICMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogIyBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjgsNiArMjksNyBA
QCB1c2UgRmlsZTo6c3RhdDsKICMgR2xvYmFsIFZhcmlhYmxlcwogbXkgJG1vZHVsZSA9ICIiOwog
bXkgJG91dHB1dERpciA9ICIiOworbXkgJHdyaXRlRGVwZW5kZW5jaWVzID0gMDsKIG15ICVwdWJs
aWNJbnRlcmZhY2VzID0gKCk7CiBteSAkbmV3UHVibGljQ2xhc3MgPSAwOwogbXkgJGludGVyZmFj
ZUF2YWlsYWJpbGl0eVZlcnNpb24gPSAiIjsKQEAgLTQ5LDYgKzUxLDcgQEAgbXkgQGludGVybmFs
SGVhZGVyQ29udGVudCA9ICgpOwogbXkgQGltcGxDb250ZW50SGVhZGVyID0gKCk7CiBteSBAaW1w
bENvbnRlbnQgPSAoKTsKIG15ICVpbXBsSW5jbHVkZXMgPSAoKTsKK215IEBkZXBzQ29udGVudCA9
ICgpOwogCiAjIEhhc2hlcwogbXkgJXByb3RvY29sVHlwZUhhc2ggPSAoIlhQYXRoTlNSZXNvbHZl
ciIgPT4gMSwgIkV2ZW50TGlzdGVuZXIiID0+IDEsICJFdmVudFRhcmdldCIgPT4gMSwgIk5vZGVG
aWx0ZXIiID0+IDEsCkBAIC0xOTQsNiArMTk3LDkgQEAgc3ViIG5ldwogCiAgICAgJGNvZGVHZW5l
cmF0b3IgPSBzaGlmdDsKICAgICAkb3V0cHV0RGlyID0gc2hpZnQ7CisgICAgc2hpZnQ7ICMgJHVz
ZUxheWVyT25Ub3AKKyAgICBzaGlmdDsgIyAkcHJlcHJvY2Vzc29yCisgICAgJHdyaXRlRGVwZW5k
ZW5jaWVzID0gc2hpZnQ7CiAKICAgICBibGVzcygkcmVmZXJlbmNlLCAkb2JqZWN0KTsKICAgICBy
ZXR1cm4gJHJlZmVyZW5jZTsKQEAgLTk3Niw4ICs5ODIsMTAgQEAgc3ViIEdlbmVyYXRlSW1wbGVt
ZW50YXRpb24KICAgICBteSAkb2JqZWN0ID0gc2hpZnQ7CiAgICAgbXkgJGRhdGFOb2RlID0gc2hp
ZnQ7CiAKKyAgICBteSBAYW5jZXN0b3JJbnRlcmZhY2VOYW1lcyA9ICgpOworCiAgICAgaWYgKEB7
JGRhdGFOb2RlLT5wYXJlbnRzfSA+IDEpIHsKLSAgICAgICAgJGNvZGVHZW5lcmF0b3ItPkFkZE1l
dGhvZHNDb25zdGFudHNBbmRBdHRyaWJ1dGVzRnJvbVBhcmVudENsYXNzZXMoJGRhdGFOb2RlKTsK
KyAgICAgICAgJGNvZGVHZW5lcmF0b3ItPkFkZE1ldGhvZHNDb25zdGFudHNBbmRBdHRyaWJ1dGVz
RnJvbVBhcmVudENsYXNzZXMoJGRhdGFOb2RlLCBcQGFuY2VzdG9ySW50ZXJmYWNlTmFtZXMpOwog
ICAgIH0KIAogICAgIG15ICRpbnRlcmZhY2VOYW1lID0gJGRhdGFOb2RlLT5uYW1lOwpAQCAtMTU0
Myw2ICsxNTUxLDEyIEBAIHN1YiBHZW5lcmF0ZUltcGxlbWVudGF0aW9uCiAKICAgICAjIC0gRW5k
IHRoZSBpZmRlZiBjb25kaXRpb25hbCBpZiBuZWNlc3NhcnkKICAgICBwdXNoKEBpbXBsQ29udGVu
dCwgIlxuI2VuZGlmIC8vICR7Y29uZGl0aW9uYWxTdHJpbmd9XG4iKSBpZiAkY29uZGl0aW9uYWw7
CisKKyAgICAjIC0gR2VuZXJhdGUgZGVwZW5kZW5jaWVzLgorICAgIGlmICgkd3JpdGVEZXBlbmRl
bmNpZXMgJiYgQGFuY2VzdG9ySW50ZXJmYWNlTmFtZXMpIHsKKyAgICAgICAgcHVzaChAZGVwc0Nv
bnRlbnQsICIkY2xhc3NOYW1lLmggOiAiLCBqb2luKCIgIiwgbWFwIHsgIiRfLmlkbCIgfSBAYW5j
ZXN0b3JJbnRlcmZhY2VOYW1lcyksICJcbiIpOworICAgICAgICBwdXNoKEBkZXBzQ29udGVudCwg
bWFwIHsgIiRfLmlkbCA6XG4iIH0gQGFuY2VzdG9ySW50ZXJmYWNlTmFtZXMpOyAKKyAgICB9CiB9
CiAKICMgSW50ZXJuYWwgaGVscGVyCkBAIC0xNTU2LDEyICsxNTcwLDE0IEBAIHN1YiBXcml0ZURh
dGEKICAgICBteSAkcHJpdmF0ZUhlYWRlckZpbGVOYW1lID0gIiRvdXRwdXREaXIvIiAuICRuYW1l
IC4gIlByaXZhdGUuaCI7CiAgICAgbXkgJGltcGxGaWxlTmFtZSA9ICIkb3V0cHV0RGlyLyIgLiAk
bmFtZSAuICIubW0iOwogICAgIG15ICRpbnRlcm5hbEhlYWRlckZpbGVOYW1lID0gIiRvdXRwdXRE
aXIvIiAuICRuYW1lIC4gIkludGVybmFsLmgiOworICAgIG15ICRkZXBzRmlsZU5hbWUgPSAiJG91
dHB1dERpci8iIC4gJG5hbWUgLiAiLmRlcCI7CiAKICAgICAjIFJlbW92ZSBvbGQgZmlsZXMuCiAg
ICAgdW5saW5rKCRoZWFkZXJGaWxlTmFtZSk7CiAgICAgdW5saW5rKCRwcml2YXRlSGVhZGVyRmls
ZU5hbWUpOwogICAgIHVubGluaygkaW1wbEZpbGVOYW1lKTsKICAgICB1bmxpbmsoJGludGVybmFs
SGVhZGVyRmlsZU5hbWUpOworICAgIHVubGluaygkZGVwc0ZpbGVOYW1lKTsKIAogICAgICMgV3Jp
dGUgcHVibGljIGhlYWRlci4KICAgICBvcGVuKEhFQURFUiwgIj4kaGVhZGVyRmlsZU5hbWUiKSBv
ciBkaWUgIkNvdWxkbid0IG9wZW4gZmlsZSAkaGVhZGVyRmlsZU5hbWUiOwpAQCAtMTYyNCw2ICsx
NjQwLDE0IEBAIHN1YiBXcml0ZURhdGEKIAogICAgICAgIEBpbnRlcm5hbEhlYWRlckNvbnRlbnQg
PSAoKTsKICAgICB9CisKKyAgICAjIFdyaXRlIGRlcGVuZGVuY3kgZmlsZS4KKyAgICBpZiAoQGRl
cHNDb250ZW50KSB7CisgICAgICAgIG9wZW4oREVQUywgIj4kZGVwc0ZpbGVOYW1lIikgb3IgZGll
ICJDb3VsZG4ndCBvcGVuIGZpbGUgJGRlcHNGaWxlTmFtZSI7CisgICAgICAgIHByaW50IERFUFMg
QGRlcHNDb250ZW50OworICAgICAgICBjbG9zZShERVBTKTsKKyAgICAgICAgQGRlcHNDb250ZW50
ID0gKCk7CisgICAgfQogfQogCiAxOwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL2dl
bmVyYXRlLWJpbmRpbmdzLnBsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbAkocmV2aXNpb24gNDgyMzYpCisrKyBXZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwJKHdvcmtpbmcgY29weSkKQEAgLTQyLDEy
ICs0MiwxNCBAQCBteSAkb3V0cHV0RGlyZWN0b3J5OwogbXkgJGdlbmVyYXRvcjsKIG15ICRkZWZp
bmVzOwogbXkgJHByZXByb2Nlc3NvcjsKK215ICR3cml0ZURlcGVuZGVuY2llczsKIAogR2V0T3B0
aW9ucygnaW5jbHVkZT1zQCcgPT4gXEBpZGxEaXJlY3RvcmllcywKICAgICAgICAgICAgJ291dHB1
dERpcj1zJyA9PiBcJG91dHB1dERpcmVjdG9yeSwKICAgICAgICAgICAgJ2dlbmVyYXRvcj1zJyA9
PiBcJGdlbmVyYXRvciwKICAgICAgICAgICAgJ2RlZmluZXM9cycgPT4gXCRkZWZpbmVzLAotICAg
ICAgICAgICAncHJlcHJvY2Vzc29yPXMnID0+IFwkcHJlcHJvY2Vzc29yKTsKKyAgICAgICAgICAg
J3ByZXByb2Nlc3Nvcj1zJyA9PiBcJHByZXByb2Nlc3NvciwKKyAgICAgICAgICAgJ3dyaXRlLWRl
cGVuZGVuY2llcycgPT4gXCR3cml0ZURlcGVuZGVuY2llcyk7CiAKIG15ICRpZGxGaWxlID0gJEFS
R1ZbMF07CiAKQEAgLTY1LDUgKzY3LDUgQEAgbXkgJHBhcnNlciA9IElETFBhcnNlci0+bmV3KDEp
OwogbXkgJGRvY3VtZW50ID0gJHBhcnNlci0+UGFyc2UoJGlkbEZpbGUsICRkZWZpbmVzLCAkcHJl
cHJvY2Vzc29yKTsKIAogIyBHZW5lcmF0ZSBkZXNpcmVkIG91dHB1dCBmb3IgZ2l2ZW4gSURMIGZp
bGUuCi1teSAkY29kZUdlbiA9IENvZGVHZW5lcmF0b3ItPm5ldyhcQGlkbERpcmVjdG9yaWVzLCAk
Z2VuZXJhdG9yLCAkb3V0cHV0RGlyZWN0b3J5LCAwLCAkcHJlcHJvY2Vzc29yKTsKK215ICRjb2Rl
R2VuID0gQ29kZUdlbmVyYXRvci0+bmV3KFxAaWRsRGlyZWN0b3JpZXMsICRnZW5lcmF0b3IsICRv
dXRwdXREaXJlY3RvcnksIDAsICRwcmVwcm9jZXNzb3IsICR3cml0ZURlcGVuZGVuY2llcyk7CiAk
Y29kZUdlbi0+UHJvY2Vzc0RvY3VtZW50KCRkb2N1bWVudCwgJGRlZmluZXMpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>