From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Pirotte Newsgroups: gmane.lisp.guile.bugs Subject: Re: module system / (oop goops) / :duplicates (merge-generics) / bug? Date: Mon, 29 Aug 2011 23:56:18 -0300 Message-ID: <20110829235618.0a283a9f@rascar> References: <20110705183229.6f779a6b@rascar> <87vcvfcrjc.fsf@gnu.org> <20110706162244.2bf4b90a@rascar> <87ipre48zj.fsf@pobox.com> <20110707132659.2cee382d@rascar> <87box54xjg.fsf@pobox.com> <20110708140559.6ed55cd9@rascar> <87tyav3h7q.fsf@pobox.com> <20110709120816.0827236b@rascar> <87aack3jif.fsf@pobox.com> <20110711222555.4bd45679@rascar> <87bovngf01.fsf@pobox.com> <20110819024043.74a4d71e@rascar> <20110829140518.4ad0c46a@rascar> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/sv5O2q0FgqrYA/HHCl92Z7V" X-Trace: dough.gmane.org 1314673002 31194 80.91.229.12 (30 Aug 2011 02:56:42 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 30 Aug 2011 02:56:42 +0000 (UTC) Cc: bug-guile@gnu.org, Ludovic =?UTF-8?B?Q291cnQ=?= =?UTF-8?B?w6hz?= To: David Pirotte Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Tue Aug 30 04:56:37 2011 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1QyEVA-0002PH-TQ for guile-bugs@m.gmane.org; Tue, 30 Aug 2011 04:56:37 +0200 Original-Received: from localhost ([::1]:41037 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QyEVA-000557-FM for guile-bugs@m.gmane.org; Mon, 29 Aug 2011 22:56:36 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:44721) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QyEV7-00053E-VZ for bug-guile@gnu.org; Mon, 29 Aug 2011 22:56:35 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QyEV6-00028s-Pc for bug-guile@gnu.org; Mon, 29 Aug 2011 22:56:33 -0400 Original-Received: from maximusconfessor.all2all.org ([62.58.108.13]:57207) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QyEV6-00028k-9f; Mon, 29 Aug 2011 22:56:32 -0400 Original-Received: from localhost (unknown [192.168.0.2]) by maximusconfessor.all2all.org (Postfix) with ESMTP id E5FB1A04C320; Tue, 30 Aug 2011 04:56:29 +0200 (CEST) Original-Received: from maximusconfessor.all2all.org ([192.168.0.1]) by localhost (maximusconfessor.all2all.org [192.168.0.2]) (amavisd-new, port 10024) with ESMTP id y2mxG8fRMUbh; Tue, 30 Aug 2011 04:36:50 +0200 (CEST) Original-Received: from rascar (unknown [189.60.180.75]) by maximusconfessor.all2all.org (Postfix) with ESMTPSA id 827E6A04C313; Tue, 30 Aug 2011 04:56:21 +0200 (CEST) In-Reply-To: <20110829140518.4ad0c46a@rascar> X-Mailer: Claws Mail 3.7.9 (GTK+ 2.24.4; i486-pc-linux-gnu) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 62.58.108.13 X-BeenThere: bug-guile@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.bugs:5800 Archived-At: --MP_/sv5O2q0FgqrYA/HHCl92Z7V Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi again, I reply to myself too :) I realized while I was in a cafe without internet :) that I forgot to attac= h a [simplified] glade file. I took this 'opportunity' to edit both mg-wgtk-3 a= nd mg-wgtk-4 so that there is one global to change to perform in these 2 files= ... So I decided to attach the all example set again, and the glade file, to fa= cilitate the work of who ever would like to try and debug ...=20 -> 'you' may forget the previous email, use the attachments of this one and the text below Sorry about this, Cheers, David ;; -- Le Mon, 29 Aug 2011 14:05:18 -0300, David Pirotte a =C3=A9crit : > Hi Andy, > Ludovic, >=20 > > > I fixed it! > >=20 > > Thank you very much! The examples I sent earlier now all work, but I st= ill have a > > problem ... >=20 > I finally could reproduce the problem and wrote an example you can run 'i= n the cafe > without internet' :) [hopefully]=20 >=20 > in addition to the comments here below, please note that these examples > further differs from previous 'versions' I sent in the passed in the sen= se > that they now also use (gnome glade) >=20 > If you drop the attached somewhere in your %load-path, then you can try t= he > following 2 tests, one which [here] produces a segfault and the other whi= ch > works fine. The only 'important' difference between these 2 tests is expr= essed by > diff mg-wgtk-0 mg-wgtk-1: >=20 > mg-wgtk-0 defines and export an additional slot which is named glade-file > [which is then used by mg-wgtk-3 ...] >=20 > This should or crash guile or produce an error [the behavior of guile its= elf is not > systematic [here], but it always 'fails': >=20 > mg-wgtk-3 uses mg-wgtk-0 > mg-wgtk-2 >=20 > guile-gnome-2 > (use-modules (mg-wgtk-3)) > (letstry) > -> Top level dialog: #< a2bbbc0> > Printing dialog: Segmentation fault >=20 >=20 > This will work fine: >=20 > mg-wgtk-4 uses mg-wgtk-1 > mg-wgtk-2 > guile-gnome-2 > (use-modules (mg-wgtk-4)) > (letstry) > -> Top level dialog: #< 8b86c30> > Printing dialog: #< 8b89110> >=20 >=20 > Many thanks, > David >=20 >=20 --MP_/sv5O2q0FgqrYA/HHCl92Z7V Content-Type: text/x-scheme Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=mg-wgtk-0.scm (define-module (mg-wgtk-0) :use-module (oop goops) :use-module (gnome gobject) :use-module (gnome glade) :use-module (gnome gtk) :export ( glade-file dialog make-tl-widget )) (define-class () (glade-file :accessor glade-file :init-keyword :glade-file :init-value #f) (dialog :accessor dialog :init-keyword :dialog :init-value #f)) (define (make-tl-widget glade-f) (let* ((xmlc (glade-xml-new glade-f #f "kise")) (tl-widget (make :glade-file glade-f ;; :xml-code xmlc :dialog (get-widget xmlc "kise")))) tl-widget)) --MP_/sv5O2q0FgqrYA/HHCl92Z7V Content-Type: text/x-scheme Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=mg-wgtk-1.scm (define-module (mg-wgtk-1) :use-module (oop goops) :use-module (gnome gobject) :use-module (gnome glade) :use-module (gnome gtk) :export ( dialog make-tl-widget )) (define-class () (dialog :accessor dialog :init-keyword :dialog :init-value #f)) (define (make-tl-widget glade-f) (let* ((xmlc (glade-xml-new glade-f #f "kise")) (tl-widget (make :dialog (get-widget xmlc "kise")))) tl-widget)) --MP_/sv5O2q0FgqrYA/HHCl92Z7V Content-Type: text/x-scheme Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=mg-wgtk-2.scm (define-module (mg-wgtk-2) :use-module (oop goops) :use-module (gnome gobject) :use-module (gnome glade) :use-module (gnome gtk) :export ( dialog make-p-widget )) (define-class () ;; (xml-code :accessor xml-code :init-keyword :xml-code :init-value #f) (dialog :accessor dialog :init-keyword :dialog :init-value #f)) (define (make-p-widget parent glade-f) (let* ((xmlc (glade-xml-new glade-f #f "kp/dialog")) (p-widget (make ;; :xml-code xmlc :dialog (get-widget xmlc "kp/dialog")))) p-widget)) --MP_/sv5O2q0FgqrYA/HHCl92Z7V Content-Type: text/x-scheme Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=mg-wgtk-3.scm (define-module (mg-wgtk-3) :use-module (ice-9 format) :use-module (oop goops) :use-module (gnome gobject) :use-module (gnome gtk) :use-module (mg-wgtk-0) :use-module (mg-wgtk-2) :duplicates (merge-generics replace warn-override-core warn last) :export (letstry )) ;; you'll have to edit this before to run, according ;; to where you will have saved 'kise.exa.glade' (define *glade-file* "/usr/alto/projects/kise/glade/kise.exa.glade") (define (letstry) (let* ((tl (make-tl-widget *glade-file*)) (p (make-p-widget (dialog tl) (glade-file tl)))) (format #t "Top level dialog: ~S~%" (dialog tl)) (format #t "Printing dialog: ~S~%" (dialog p)))) #! (use-modules (macros push)) (push! "/usr/local/share/guile/alto/2.0/tests" %load-path) (use-modules (mg-wgtk-3)) (letstry) ;;; ;;; 2. using glade in mg-gtk-2 as well ;;; (use-modules (mg-wgtk-3)) ,m (mg-wgtk-3) (define tl (make-tl-widget *glade-file*)) (define p (make-p-widget (dialog tl) (glade-file tl))) (dialog tl) (dialog p) !# --MP_/sv5O2q0FgqrYA/HHCl92Z7V Content-Type: text/x-scheme Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename=mg-wgtk-4.scm (define-module (mg-wgtk-4) :use-module (ice-9 format) :use-module (oop goops) :use-module (gnome gobject) :use-module (gnome gtk) :use-module (mg-wgtk-1) :use-module (mg-wgtk-2) :duplicates (merge-generics replace warn-override-core warn last) :export (letstry )) ;; you'll have to edit this before to run, according ;; to where you will have saved 'kise.exa.glade' (define *glade-file* "/usr/alto/projects/kise/glade/kise.exa.glade") (define (letstry) (let* ((tl (make-tl-widget *glade-file*)) (p (make-p-widget (dialog tl) *glade-file*))) (format #t "Top level dialog: ~S~%" (dialog tl)) (format #t "Printing dialog: ~S~%" (dialog p)))) #! (use-modules (macros push)) (push! "/usr/local/share/guile/alto/2.0/tests" %load-path) (use-modules (mg-wgtk-4)) (letstry) ;;; ;;; ;;; (use-modules (mg-wgtk-4)) ,m (mg-wgtk-4) (define tl (make-tl-widget *glade-file*)) (define p (make-p-widget (dialog tl) *glade-file*)) (dialog tl) (dialog p) !# --MP_/sv5O2q0FgqrYA/HHCl92Z7V Content-Type: application/x-glade Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=kise.exa.glade PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxnbGFkZS1pbnRlcmZhY2U+CiAgPCEtLSBpbnRlcmZhY2Ut cmVxdWlyZXMgZ3RrKyAyLjYgLS0+CiAgPCEtLSBpbnRlcmZhY2UtbmFtaW5nLXBvbGljeSB0b3Bs ZXZlbC1jb250ZXh0dWFsIC0tPgogIDx3aWRnZXQgY2xhc3M9Ikd0a1dpbmRvdyIgaWQ9Imtpc2Ui PgogICAgPHByb3BlcnR5IG5hbWU9InRpdGxlIiB0cmFuc2xhdGFibGU9InllcyI+S2lzJiN4RTk7 PC9wcm9wZXJ0eT4KICAgIDxwcm9wZXJ0eSBuYW1lPSJ0eXBlX2hpbnQiPmRpYWxvZzwvcHJvcGVy dHk+CiAgICA8Y2hpbGQ+CiAgICAgIDx3aWRnZXQgY2xhc3M9Ikd0a1ZCb3giIGlkPSJ2Ym94NSI+ CiAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3BlcnR5PgogICAgICAg IDxwcm9wZXJ0eSBuYW1lPSJvcmllbnRhdGlvbiI+dmVydGljYWw8L3Byb3BlcnR5PgogICAgICAg IDxjaGlsZD4KICAgICAgICAgIDx3aWRnZXQgY2xhc3M9Ikd0a01lbnVCYXIiIGlkPSJraXNlL21l bnViYXIiPgogICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVy dHk+CiAgICAgICAgICAgIDxjaGlsZD4KICAgICAgICAgICAgICA8d2lkZ2V0IGNsYXNzPSJHdGtN ZW51SXRlbSIgaWQ9Im1lbnVpdGVtMSI+CiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0i dmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0i bGFiZWwiIHRyYW5zbGF0YWJsZT0ieWVzIj5fRmlsZTwvcHJvcGVydHk+CiAgICAgICAgICAgICAg ICA8cHJvcGVydHkgbmFtZT0idXNlX3VuZGVybGluZSI+VHJ1ZTwvcHJvcGVydHk+CiAgICAgICAg ICAgICAgPC93aWRnZXQ+CiAgICAgICAgICAgIDwvY2hpbGQ+CiAgICAgICAgICAgIDxjaGlsZD4K ICAgICAgICAgICAgICA8d2lkZ2V0IGNsYXNzPSJHdGtNZW51SXRlbSIgaWQ9Im1lbnVpdGVtMiI+ CiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+ CiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibGFiZWwiIHRyYW5zbGF0YWJsZT0ieWVz Ij5fRWRpdDwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idXNlX3Vu ZGVybGluZSI+VHJ1ZTwvcHJvcGVydHk+CiAgICAgICAgICAgICAgPC93aWRnZXQ+CiAgICAgICAg ICAgIDwvY2hpbGQ+CiAgICAgICAgICAgIDxjaGlsZD4KICAgICAgICAgICAgICA8d2lkZ2V0IGNs YXNzPSJHdGtNZW51SXRlbSIgaWQ9Im1lbnVpdGVtMyI+CiAgICAgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0ibGFiZWwiIHRyYW5zbGF0YWJsZT0ieWVzIj5fVmlldzwvcHJvcGVydHk+CiAgICAg ICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idXNlX3VuZGVybGluZSI+VHJ1ZTwvcHJvcGVydHk+ CiAgICAgICAgICAgICAgPC93aWRnZXQ+CiAgICAgICAgICAgIDwvY2hpbGQ+CiAgICAgICAgICAg IDxjaGlsZD4KICAgICAgICAgICAgICA8d2lkZ2V0IGNsYXNzPSJHdGtNZW51SXRlbSIgaWQ9Im1l bnVpdGVtNCI+CiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwv cHJvcGVydHk+CiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibGFiZWwiIHRyYW5zbGF0 YWJsZT0ieWVzIj5fSGVscDwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFt ZT0idXNlX3VuZGVybGluZSI+VHJ1ZTwvcHJvcGVydHk+CiAgICAgICAgICAgICAgPC93aWRnZXQ+ CiAgICAgICAgICAgIDwvY2hpbGQ+CiAgICAgICAgICA8L3dpZGdldD4KICAgICAgICAgIDxwYWNr aW5nPgogICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iZXhwYW5kIj5GYWxzZTwvcHJvcGVydHk+ CiAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJwb3NpdGlvbiI+MDwvcHJvcGVydHk+CiAgICAg ICAgICA8L3BhY2tpbmc+CiAgICAgICAgPC9jaGlsZD4KICAgICAgICA8Y2hpbGQ+CiAgICAgICAg ICA8cGxhY2Vob2xkZXIvPgogICAgICAgIDwvY2hpbGQ+CiAgICAgICAgPGNoaWxkPgogICAgICAg ICAgPHBsYWNlaG9sZGVyLz4KICAgICAgICA8L2NoaWxkPgogICAgICAgIDxjaGlsZD4KICAgICAg ICAgIDxwbGFjZWhvbGRlci8+CiAgICAgICAgPC9jaGlsZD4KICAgICAgICA8Y2hpbGQ+CiAgICAg ICAgICA8cGxhY2Vob2xkZXIvPgogICAgICAgIDwvY2hpbGQ+CiAgICAgIDwvd2lkZ2V0PgogICAg PC9jaGlsZD4KICA8L3dpZGdldD4KICA8d2lkZ2V0IGNsYXNzPSJHdGtEaWFsb2ciIGlkPSJrcC9k aWFsb2ciPgogICAgPHByb3BlcnR5IG5hbWU9InRpdGxlIiB0cmFuc2xhdGFibGU9InllcyI+UHJp bnRpbmc8L3Byb3BlcnR5PgogICAgPHByb3BlcnR5IG5hbWU9InJlc2l6YWJsZSI+RmFsc2U8L3By b3BlcnR5PgogICAgPHByb3BlcnR5IG5hbWU9InR5cGVfaGludCI+ZGlhbG9nPC9wcm9wZXJ0eT4K ICAgIDxjaGlsZCBpbnRlcm5hbC1jaGlsZD0idmJveCI+CiAgICAgIDx3aWRnZXQgY2xhc3M9Ikd0 a1ZCb3giIGlkPSJkaWFsb2ctdmJveDE4Ij4KICAgICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJs ZSI+VHJ1ZTwvcHJvcGVydHk+CiAgICAgICAgPHByb3BlcnR5IG5hbWU9Im9yaWVudGF0aW9uIj52 ZXJ0aWNhbDwvcHJvcGVydHk+CiAgICAgICAgPGNoaWxkPgogICAgICAgICAgPHBsYWNlaG9sZGVy Lz4KICAgICAgICA8L2NoaWxkPgogICAgICAgIDxjaGlsZCBpbnRlcm5hbC1jaGlsZD0iYWN0aW9u X2FyZWEiPgogICAgICAgICAgPHdpZGdldCBjbGFzcz0iR3RrSEJ1dHRvbkJveCIgaWQ9ImRpYWxv Zy1hY3Rpb25fYXJlYTE4Ij4KICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRy dWU8L3Byb3BlcnR5PgogICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibGF5b3V0X3N0eWxlIj5l bmQ8L3Byb3BlcnR5PgogICAgICAgICAgICA8Y2hpbGQ+CiAgICAgICAgICAgICAgPHdpZGdldCBj bGFzcz0iR3RrQnV0dG9uIiBpZD0ia3AvY2FuY2VsX2J0Ij4KICAgICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJsYWJlbCI+Z3RrLWNhbmNlbDwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICA8 cHJvcGVydHkgbmFtZT0icmVzcG9uc2VfaWQiPi02PC9wcm9wZXJ0eT4KICAgICAgICAgICAgICAg IDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KICAgICAgICAgICAgICAg IDxwcm9wZXJ0eSBuYW1lPSJjYW5fZm9jdXMiPlRydWU8L3Byb3BlcnR5PgogICAgICAgICAgICAg ICAgPHByb3BlcnR5IG5hbWU9ImNhbl9kZWZhdWx0Ij5UcnVlPC9wcm9wZXJ0eT4KICAgICAgICAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJyZWNlaXZlc19kZWZhdWx0Ij5UcnVlPC9wcm9wZXJ0eT4K ICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ1c2Vfc3RvY2siPlRydWU8L3Byb3BlcnR5 PgogICAgICAgICAgICAgIDwvd2lkZ2V0PgogICAgICAgICAgICAgIDxwYWNraW5nPgogICAgICAg ICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImV4cGFuZCI+RmFsc2U8L3Byb3BlcnR5PgogICAgICAg ICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImZpbGwiPkZhbHNlPC9wcm9wZXJ0eT4KICAgICAgICAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJwb3NpdGlvbiI+MDwvcHJvcGVydHk+CiAgICAgICAgICAg ICAgPC9wYWNraW5nPgogICAgICAgICAgICA8L2NoaWxkPgogICAgICAgICAgICA8Y2hpbGQ+CiAg ICAgICAgICAgICAgPHdpZGdldCBjbGFzcz0iR3RrQnV0dG9uIiBpZD0ia3AvcHJpbnRfYnQiPgog ICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImxhYmVsIj5ndGstcHJpbnQ8L3Byb3BlcnR5 PgogICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InJlc3BvbnNlX2lkIj4tNTwvcHJvcGVy dHk+CiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVy dHk+CiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iY2FuX2ZvY3VzIj5UcnVlPC9wcm9w ZXJ0eT4KICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJjYW5fZGVmYXVsdCI+VHJ1ZTwv cHJvcGVydHk+CiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0icmVjZWl2ZXNfZGVmYXVs dCI+VHJ1ZTwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idXNlX3N0 b2NrIj5UcnVlPC9wcm9wZXJ0eT4KICAgICAgICAgICAgICA8L3dpZGdldD4KICAgICAgICAgICAg ICA8cGFja2luZz4KICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJleHBhbmQiPkZhbHNl PC9wcm9wZXJ0eT4KICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJmaWxsIj5GYWxzZTwv cHJvcGVydHk+CiAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0icG9zaXRpb24iPjE8L3By b3BlcnR5PgogICAgICAgICAgICAgIDwvcGFja2luZz4KICAgICAgICAgICAgPC9jaGlsZD4KICAg ICAgICAgIDwvd2lkZ2V0PgogICAgICAgICAgPHBhY2tpbmc+CiAgICAgICAgICAgIDxwcm9wZXJ0 eSBuYW1lPSJleHBhbmQiPkZhbHNlPC9wcm9wZXJ0eT4KICAgICAgICAgICAgPHByb3BlcnR5IG5h bWU9InBhY2tfdHlwZSI+ZW5kPC9wcm9wZXJ0eT4KICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9 InBvc2l0aW9uIj4wPC9wcm9wZXJ0eT4KICAgICAgICAgIDwvcGFja2luZz4KICAgICAgICA8L2No aWxkPgogICAgICA8L3dpZGdldD4KICAgIDwvY2hpbGQ+CiAgPC93aWRnZXQ+CjwvZ2xhZGUtaW50 ZXJmYWNlPgo= --MP_/sv5O2q0FgqrYA/HHCl92Z7V--