From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-lf1-x12c.google.com ([2a00:1450:4864:20::12c]) by metis.ext.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.89) (envelope-from ) id 1gXl9o-00043N-SR for ptxdist@pengutronix.de; Fri, 14 Dec 2018 11:57:25 +0100 Received: by mail-lf1-x12c.google.com with SMTP id u18so3908038lff.10 for ; Fri, 14 Dec 2018 02:57:24 -0800 (PST) MIME-Version: 1.0 References: <8511997be26a8a2cfc65ed9474a88c67ec60c5d8.camel@allegion.com> <32c088272d5a50407d115813b258d6f2a4edcf05.camel@allegion.com> In-Reply-To: <32c088272d5a50407d115813b258d6f2a4edcf05.camel@allegion.com> From: Andreas Friesen Date: Fri, 14 Dec 2018 11:57:11 +0100 Message-ID: Subject: Re: [ptxdist] How to create multiple packages, which contain same filename ? List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Content-Type: multipart/mixed; boundary="===============0177937707==" Errors-To: ptxdist-bounces@pengutronix.de Sender: "ptxdist" To: ptxdist@pengutronix.de --===============0177937707== Content-Type: multipart/alternative; boundary="000000000000c05c05057cf94b06" --000000000000c05c05057cf94b06 Content-Type: text/plain; charset="UTF-8" Hi Florian, I added some randomized sleeps to *.install rules. It works for now, but its realy ugly. Best Regards, Andreas. Am Di., 11. Dez. 2018 um 12:14 Uhr schrieb Baeuerle, Florian < Florian.Baeuerle@allegion.com>: > Hi Andreas, > > maybe you can confirm if this assumption is correct: > > You are using image packages with your collections to create rootfs images > for > your three different variants. > > If so, then this probably the root cause: > > ptxdist has this "nfsroot" feature. By default, it installs everything into > $build/root. This is a bit problematic when using image packages, because > it > will install all your variant packages in parallel. This leads to races > where > variant-1 wants to install and chmod a file, but shortly before variant-1's > targetinstall wants to chmod the file, variant-2 replaces it. > > Additionally, the content of the nfsroot are not really predictable. > > There is currently no option to disable nfsroot (wouldn't be a problem > anyway, > because for image packages you can have an nfsroot for each root image you > create). I want to submit a patch (well, at some point...). > > If you just need a short workaround, you can place sleeps into your image > packages .targetinstall stages (That's what I do). > > variant-1: no sleeping > variant-2: sleep 1 > variant-3: sleep 2 > > It's just an ugly workaround and it can still fail. > > Feel free to go ahead and submit a patch, proposal #1 or #2 to fix the > issue > probably have chance to get accepted: > https://www.mail-archive.com/ptxdist@pengutronix.de/msg13614.html > > > Best Regards > Florian > > Am Dienstag, den 11.12.2018, 11:59 +0100 schrieb Andreas Friesen: > > Hi Florian, > > > > ptxdist reports me after workspace clean this error (see below). This is > > always first targetinstall one of the above mentioned packages. The > build > > order seems to be random. > > After repetition of "ptxdist go -j -q " is the build OK. Who create > /boot in > > root ? Or witch /boot is meant ? What is wrong ? > > > > ------------------------------------- > > > > > > > > target: fpgaimage-cx27c.targetinstall > > > > > > > > ------------------------------------- > > > > > > > > > > > > > > > > install_init: preparing for image creation of 'fpgaimage-cx27c'... > > > > > > > > .... > > > > > xpkg_finish: creating opkg package ... > > > > > > > > > > > > > > > > install file: > > > > > > > > > src=ptx-multi/projectroot/lib/firmware/fpga_complete/soc_system_cx27c.rbf > > > > > > > > dst=/boot/fpgaimage.rbf > > > > > > > > owner=0 > > > > > > > > group=0 > > > > > > > > permissions=0755 > > > > > > > > > > > > > > > > chmod: cannot access > '/home/friesen/quantumx/projects/ppc/ptx-multi/platform- > > soc/root/boot/fpgaimage.rbf': No such file or directory > > > > > Error: install_file failed! > > > > > > > > > > > > > > > > xpkg_finish: failed. > > > > > > > > > > > > > > > > > /home/friesen/quantumx/projects/ppc/ptx-multi/rules/fpgaimage-cx27c.make:12: > > recipe for target > '/home/friesen/quantumx/projects/ppc/ptx-multi/platform- > > soc/state/fpgaimage-cx27c.targetinstall' failed > > make: *** [/home/friesen/quantumx/projects/ppc/ptx-multi/platform- > > soc/state/fpgaimage-cx27c.targetinstall] Error 1 > > > > > make: *** Waiting for unfinished jobs.... > > > > > > > > > > > > > > > Am Di., 11. Dez. 2018 um 09:58 Uhr schrieb Baeuerle, Florian < > > Florian.Baeuerle@allegion.com>: > > > Hi Andreas, > > > > > > this use case is supported by ptxdist, actually quite exactly as you > planned > > > it. > > > > > > You will eventually run into this issue: > > > > > > https://www.mail-archive.com/ptxdist@pengutronix.de/msg13611.html > > > > > > But probably only if you use image packages for creating your three > rootfses > > > at > > > the same time (saves a lot of build time btw). > > > > > > > > > Best Regards > > > Florian > > > > > > Am Donnerstag, den 06.12.2018, 12:49 +0100 schrieb Andreas Friesen: > > > > Hello everyone, > > > > > > > > we've got many module types, each module type builds on same > platform. I > > > > would like create a generic barebox environment for all module types. > > > > > > > > My problem is, that ptxdist don't like packages, which contain same > > > filename. > > > > My plan was to create several packages : > > > > > > > > - firmware-Type-A.ipkg (contains /boot/{fpga.bin,platform.dtb) > > > > - firmware-Type-B.ipkg (contains /boot/{fpga.bin,platform.dtb) > > > > - firmware-Type-C.ipkg (contains /boot/{fpga.bin,platform.dtb) > > > > > > > > And each module install via" collection" the respective package. > > > > > > > > What can I do ? I would like to avoid having foreign components in > the > > > > firmware package. > > > > > > > > Regards, > > > > Andreas Friesen > > > > _______________________________________________ > > > > ptxdist mailing list > > > > ptxdist@pengutronix.de > > > _______________________________________________ > > > ptxdist mailing list > > > ptxdist@pengutronix.de > > > > _______________________________________________ > > ptxdist mailing list > > ptxdist@pengutronix.de > _______________________________________________ > ptxdist mailing list > ptxdist@pengutronix.de --000000000000c05c05057cf94b06 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+PGRpdj5IaSBGbG9yaWFuLDwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+ SSBhZGRlZCBzb21lIHJhbmRvbWl6ZWQgc2xlZXBzIHRvICouaW5zdGFsbCBydWxlcy7CoCBJdCB3 b3JrcyBmb3Igbm93LCBidXQgaXRzIHJlYWx5IHVnbHkuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRp dj5CZXN0IFJlZ2FyZHMsPC9kaXY+PGRpdj5BbmRyZWFzLjxicj48L2Rpdj48L2Rpdj48YnI+PGRp diBjbGFzcz0iZ21haWxfcXVvdGUiPjxkaXYgZGlyPSJsdHIiPkFtIERpLiwgMTEuIERlei4gMjAx OCB1bSAxMjoxNMKgVWhyIHNjaHJpZWIgQmFldWVybGUsIEZsb3JpYW4gJmx0OzxhIGhyZWY9Im1h aWx0bzpGbG9yaWFuLkJhZXVlcmxlQGFsbGVnaW9uLmNvbSI+Rmxvcmlhbi5CYWV1ZXJsZUBhbGxl Z2lvbi5jb208L2E+Jmd0Ozo8YnI+PC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3Rl IiBzdHlsZT0ibWFyZ2luOjBweCAwcHggMHB4IDAuOGV4O2JvcmRlci1sZWZ0OjFweCBzb2xpZCBy Z2IoMjA0LDIwNCwyMDQpO3BhZGRpbmctbGVmdDoxZXgiPkhpIEFuZHJlYXMsPGJyPg0KPGJyPg0K bWF5YmUgeW91IGNhbiBjb25maXJtIGlmIHRoaXMgYXNzdW1wdGlvbiBpcyBjb3JyZWN0Ojxicj4N Cjxicj4NCllvdSBhcmUgdXNpbmcgaW1hZ2UgcGFja2FnZXMgd2l0aCB5b3VyIGNvbGxlY3Rpb25z IHRvIGNyZWF0ZSByb290ZnMgaW1hZ2VzIGZvcjxicj4NCnlvdXIgdGhyZWUgZGlmZmVyZW50IHZh cmlhbnRzLjxicj4NCjxicj4NCklmIHNvLCB0aGVuIHRoaXMgcHJvYmFibHkgdGhlIHJvb3QgY2F1 c2U6PGJyPg0KPGJyPg0KcHR4ZGlzdCBoYXMgdGhpcyAmcXVvdDtuZnNyb290JnF1b3Q7IGZlYXR1 cmUuIEJ5IGRlZmF1bHQsIGl0IGluc3RhbGxzIGV2ZXJ5dGhpbmcgaW50bzxicj4NCiRidWlsZC9y b290LiBUaGlzIGlzIGEgYml0IHByb2JsZW1hdGljIHdoZW4gdXNpbmcgaW1hZ2UgcGFja2FnZXMs IGJlY2F1c2UgaXQ8YnI+DQp3aWxsIGluc3RhbGwgYWxsIHlvdXIgdmFyaWFudCBwYWNrYWdlcyBp biBwYXJhbGxlbC4gVGhpcyBsZWFkcyB0byByYWNlcyB3aGVyZTxicj4NCnZhcmlhbnQtMSB3YW50 cyB0byBpbnN0YWxsIGFuZCBjaG1vZCBhIGZpbGUsIGJ1dCBzaG9ydGx5IGJlZm9yZSB2YXJpYW50 LTEmIzM5O3M8YnI+DQp0YXJnZXRpbnN0YWxsIHdhbnRzIHRvIGNobW9kIHRoZSBmaWxlLCB2YXJp YW50LTIgcmVwbGFjZXMgaXQuPGJyPg0KPGJyPg0KQWRkaXRpb25hbGx5LCB0aGUgY29udGVudCBv ZiB0aGUgbmZzcm9vdCBhcmUgbm90IHJlYWxseSBwcmVkaWN0YWJsZS48YnI+DQo8YnI+DQpUaGVy ZSBpcyBjdXJyZW50bHkgbm8gb3B0aW9uIHRvIGRpc2FibGUgbmZzcm9vdCAod291bGRuJiMzOTt0 IGJlIGEgcHJvYmxlbSBhbnl3YXksPGJyPg0KYmVjYXVzZSBmb3IgaW1hZ2UgcGFja2FnZXMgeW91 IGNhbiBoYXZlIGFuIG5mc3Jvb3QgZm9yIGVhY2ggcm9vdCBpbWFnZSB5b3U8YnI+DQpjcmVhdGUp LiBJIHdhbnQgdG8gc3VibWl0IGEgcGF0Y2ggKHdlbGwsIGF0IHNvbWUgcG9pbnQuLi4pLjxicj4N Cjxicj4NCklmIHlvdSBqdXN0IG5lZWQgYSBzaG9ydCB3b3JrYXJvdW5kLCB5b3UgY2FuIHBsYWNl IHNsZWVwcyBpbnRvIHlvdXIgaW1hZ2U8YnI+DQpwYWNrYWdlcyAudGFyZ2V0aW5zdGFsbCBzdGFn ZXMgKFRoYXQmIzM5O3Mgd2hhdCBJIGRvKS48YnI+DQo8YnI+DQp2YXJpYW50LTE6IG5vIHNsZWVw aW5nPGJyPg0KdmFyaWFudC0yOiBzbGVlcCAxPGJyPg0KdmFyaWFudC0zOiBzbGVlcCAyPGJyPg0K PGJyPg0KSXQmIzM5O3MganVzdCBhbiB1Z2x5IHdvcmthcm91bmQgYW5kIGl0IGNhbiBzdGlsbCBm YWlsLjxicj4NCjxicj4NCkZlZWwgZnJlZSB0byBnbyBhaGVhZCBhbmQgc3VibWl0IGEgcGF0Y2gs IHByb3Bvc2FsICMxIG9yICMyIHRvIGZpeCB0aGUgaXNzdWU8YnI+DQpwcm9iYWJseSBoYXZlIGNo YW5jZSB0byBnZXQgYWNjZXB0ZWQ6PGJyPg0KPGEgaHJlZj0iaHR0cHM6Ly93d3cubWFpbC1hcmNo aXZlLmNvbS9wdHhkaXN0QHBlbmd1dHJvbml4LmRlL21zZzEzNjE0Lmh0bWwiIHJlbD0ibm9yZWZl cnJlciIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vd3d3Lm1haWwtYXJjaGl2ZS5jb20vcHR4ZGlz dEBwZW5ndXRyb25peC5kZS9tc2cxMzYxNC5odG1sPC9hPjxicj4NCjxicj4NCjxicj4NCkJlc3Qg UmVnYXJkczxicj4NCkZsb3JpYW48YnI+DQo8YnI+DQpBbSBEaWVuc3RhZywgZGVuIDExLjEyLjIw MTgsIDExOjU5ICswMTAwIHNjaHJpZWIgQW5kcmVhcyBGcmllc2VuOjxicj4NCiZndDsgSGkgRmxv cmlhbiw8YnI+DQomZ3Q7IDxicj4NCiZndDsgcHR4ZGlzdCByZXBvcnRzIG1lIGFmdGVyIHdvcmtz cGFjZSBjbGVhbiB0aGlzIGVycm9yIChzZWUgYmVsb3cpLiBUaGlzIGlzPGJyPg0KJmd0OyBhbHdh eXMgZmlyc3QgdGFyZ2V0aW5zdGFsbMKgIG9uZSBvZiB0aGUgYWJvdmUgbWVudGlvbmVkIHBhY2th Z2VzLiBUaGUgYnVpbGQ8YnI+DQomZ3Q7IG9yZGVyIHNlZW1zIHRvIGJlIHJhbmRvbS48YnI+DQom Z3Q7IEFmdGVyIHJlcGV0aXRpb24gb2YgJnF1b3Q7cHR4ZGlzdCBnbyAtaiAtcSAmcXVvdDsgaXMg dGhlIGJ1aWxkIE9LLsKgIFdobyBjcmVhdGUgL2Jvb3QgaW48YnI+DQomZ3Q7IHJvb3QgPyBPciB3 aXRjaCAvYm9vdMKgIGlzIG1lYW50ID/CoCBXaGF0IGlzIHdyb25nID8gPGJyPg0KJmd0OyA8YnI+ DQomZ3Q7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS3CoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDxicj4NCiZn dDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgPGJyPg0KJmd0O8KgIHRhcmdldDog ZnBnYWltYWdlLWN4MjdjLnRhcmdldGluc3RhbGzCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCA8YnI+DQomZ3Q7wqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgPGJyPg0KJmd0O8KgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS3CoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgPGJyPg0KJmd0OyBpbnN0YWxsX2luaXQ6wqAgwqBwcmVwYXJpbmcgZm9yIGltYWdl IGNyZWF0aW9uIG9mICYjMzk7ZnBnYWltYWdlLWN4MjdjJiMzOTsuLi7CoCDCoCDCoCDCoCDCoDxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgPGJyPg0KJmd0OyAu Li4uwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA8 YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA8YnI+DQomZ3Q7IHhwa2df ZmluaXNoOsKgIMKgIGNyZWF0aW5nIG9wa2cgcGFja2FnZSAuLi7CoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDxicj4NCiZndDvCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCA8YnI+DQom Z3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgPGJyPg0KJmd0O8KgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDxicj4N CiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCA8YnI+DQomZ3Q7IGluc3RhbGwgZmlsZTrCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDxicj4NCiZndDvCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCA8YnI+DQom Z3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA8YnI+DQomZ3Q7wqAgwqBzcmM9cHR4LW11bHRpL3By b2plY3Ryb290L2xpYi9maXJtd2FyZS9mcGdhX2NvbXBsZXRlL3NvY19zeXN0ZW1fY3gyN2MucmJm wqAgwqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPGJyPg0K Jmd0O8KgIMKgIMKgZHN0PS9ib290L2ZwZ2FpbWFnZS5yYmbCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA8YnI+DQomZ3Q7wqAg wqAgwqAgwqBvd25lcj0wwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA8 YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPGJyPg0KJmd0O8Kg IMKgIMKgIMKgIMKgZ3JvdXA9MMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDxicj4NCiZndDvC oCDCoCDCoCDCoCDCoCDCoHBlcm1pc3Npb25zPTA3NTXCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDxicj4N CiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgPGJyPg0KJmd0O8KgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDxi cj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgPGJyPg0KJmd0OyBj aG1vZDogY2Fubm90IGFjY2VzcyAmIzM5Oy9ob21lL2ZyaWVzZW4vcXVhbnR1bXgvcHJvamVjdHMv cHBjL3B0eC1tdWx0aS9wbGF0Zm9ybS08YnI+DQomZ3Q7IHNvYy9yb290L2Jvb3QvZnBnYWltYWdl LnJiZiYjMzk7OiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5wqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgPGJyPg0KJmd0 OyBFcnJvcjogaW5zdGFsbF9maWxlIGZhaWxlZCHCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDxicj4NCiZn dDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA8YnI+DQomZ3Q7wqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgPGJyPg0K Jmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCA8YnI+DQomZ3Q7IHhwa2df ZmluaXNoOiBmYWlsZWQuwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA8YnI+DQomZ3Q7wqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg PGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDxicj4NCiZndDvCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCA8YnI+DQomZ3Q7 wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDxicj4NCiZndDsgL2hvbWUvZnJp ZXNlbi9xdWFudHVteC9wcm9qZWN0cy9wcGMvcHR4LW11bHRpL3J1bGVzL2ZwZ2FpbWFnZS1jeDI3 Yy5tYWtlOjEyOjxicj4NCiZndDsgcmVjaXBlIGZvciB0YXJnZXQgJiMzOTsvaG9tZS9mcmllc2Vu L3F1YW50dW14L3Byb2plY3RzL3BwYy9wdHgtbXVsdGkvcGxhdGZvcm0tPGJyPg0KJmd0OyBzb2Mv c3RhdGUvZnBnYWltYWdlLWN4MjdjLnRhcmdldGluc3RhbGwmIzM5OyBmYWlsZWTCoCDCoCDCoCDC oCDCoCDCoDxicj4NCiZndDsgbWFrZTogKioqIFsvaG9tZS9mcmllc2VuL3F1YW50dW14L3Byb2pl Y3RzL3BwYy9wdHgtbXVsdGkvcGxhdGZvcm0tPGJyPg0KJmd0OyBzb2Mvc3RhdGUvZnBnYWltYWdl LWN4MjdjLnRhcmdldGluc3RhbGxdIEVycm9yIDHCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCA8YnI+DQomZ3Q7IG1ha2U6ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpv YnMuLi4uwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqA8YnI+DQomZ3Q7wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgPGJyPg0KJmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgPGJyPg0K Jmd0O8KgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIDxicj4NCiZndDvCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoDxicj4NCiZndDsgPGJyPg0KJmd0OyBBbSBEaS4sIDExLiBEZXouIDIwMTggdW0gMDk6 NTggVWhyIHNjaHJpZWIgQmFldWVybGUsIEZsb3JpYW4gJmx0Ozxicj4NCiZndDsgPGEgaHJlZj0i bWFpbHRvOkZsb3JpYW4uQmFldWVybGVAYWxsZWdpb24uY29tIiB0YXJnZXQ9Il9ibGFuayI+Rmxv cmlhbi5CYWV1ZXJsZUBhbGxlZ2lvbi5jb208L2E+Jmd0Ozo8YnI+DQomZ3Q7ICZndDsgSGkgQW5k cmVhcyw8YnI+DQomZ3Q7ICZndDsgPGJyPg0KJmd0OyAmZ3Q7IHRoaXMgdXNlIGNhc2UgaXMgc3Vw cG9ydGVkIGJ5IHB0eGRpc3QsIGFjdHVhbGx5IHF1aXRlIGV4YWN0bHkgYXMgeW91IHBsYW5uZWQ8 YnI+DQomZ3Q7ICZndDsgaXQuPGJyPg0KJmd0OyAmZ3Q7IDxicj4NCiZndDsgJmd0OyBZb3Ugd2ls bCBldmVudHVhbGx5IHJ1biBpbnRvIHRoaXMgaXNzdWU6PGJyPg0KJmd0OyAmZ3Q7IDxicj4NCiZn dDsgJmd0OyA8YSBocmVmPSJodHRwczovL3d3dy5tYWlsLWFyY2hpdmUuY29tL3B0eGRpc3RAcGVu Z3V0cm9uaXguZGUvbXNnMTM2MTEuaHRtbCIgcmVsPSJub3JlZmVycmVyIiB0YXJnZXQ9Il9ibGFu ayI+aHR0cHM6Ly93d3cubWFpbC1hcmNoaXZlLmNvbS9wdHhkaXN0QHBlbmd1dHJvbml4LmRlL21z ZzEzNjExLmh0bWw8L2E+PGJyPg0KJmd0OyAmZ3Q7IDxicj4NCiZndDsgJmd0OyBCdXQgcHJvYmFi bHkgb25seSBpZiB5b3UgdXNlIGltYWdlIHBhY2thZ2VzIGZvciBjcmVhdGluZyB5b3VyIHRocmVl IHJvb3Rmc2VzPGJyPg0KJmd0OyAmZ3Q7IGF0PGJyPg0KJmd0OyAmZ3Q7IHRoZSBzYW1lIHRpbWUg KHNhdmVzIGEgbG90IG9mIGJ1aWxkIHRpbWUgYnR3KS48YnI+DQomZ3Q7ICZndDsgPGJyPg0KJmd0 OyAmZ3Q7IDxicj4NCiZndDsgJmd0OyBCZXN0IFJlZ2FyZHM8YnI+DQomZ3Q7ICZndDsgRmxvcmlh bjxicj4NCiZndDsgJmd0OyA8YnI+DQomZ3Q7ICZndDsgQW0gRG9ubmVyc3RhZywgZGVuIDA2LjEy LjIwMTgsIDEyOjQ5ICswMTAwIHNjaHJpZWIgQW5kcmVhcyBGcmllc2VuOjxicj4NCiZndDsgJmd0 OyAmZ3Q7IEhlbGxvIGV2ZXJ5b25lLDxicj4NCiZndDsgJmd0OyAmZ3Q7IDxicj4NCiZndDsgJmd0 OyAmZ3Q7IHdlJiMzOTt2ZSBnb3QgbWFueSBtb2R1bGUgdHlwZXMsIGVhY2ggbW9kdWxlIHR5cGXC oCBidWlsZHMgb24gc2FtZSBwbGF0Zm9ybS4gSTxicj4NCiZndDsgJmd0OyAmZ3Q7IHdvdWxkIGxp a2UgY3JlYXRlIGEgZ2VuZXJpYyBiYXJlYm94IGVudmlyb25tZW50IGZvciBhbGwgbW9kdWxlIHR5 cGVzLjxicj4NCiZndDsgJmd0OyAmZ3Q7IDxicj4NCiZndDsgJmd0OyAmZ3Q7IE15IHByb2JsZW0g aXMsIHRoYXQgcHR4ZGlzdMKgIGRvbiYjMzk7dCBsaWtlIHBhY2thZ2VzLCB3aGljaCBjb250YWlu IHNhbWU8YnI+DQomZ3Q7ICZndDsgZmlsZW5hbWUuPGJyPg0KJmd0OyAmZ3Q7ICZndDsgTXkgcGxh biB3YXMgdG8gY3JlYXRlIHNldmVyYWwgcGFja2FnZXMgOiA8YnI+DQomZ3Q7ICZndDsgJmd0OyA8 YnI+DQomZ3Q7ICZndDsgJmd0OyAtIGZpcm13YXJlLVR5cGUtQS5pcGtnIChjb250YWlucyAvYm9v dC97ZnBnYS5iaW4scGxhdGZvcm0uZHRiKTxicj4NCiZndDsgJmd0OyAmZ3Q7IC0gZmlybXdhcmUt VHlwZS1CLmlwa2cgKGNvbnRhaW5zwqAgL2Jvb3Qve2ZwZ2EuYmluLHBsYXRmb3JtLmR0Yik8YnI+ DQomZ3Q7ICZndDsgJmd0OyAtIGZpcm13YXJlLVR5cGUtQy5pcGtnIChjb250YWluc8KgIC9ib290 L3tmcGdhLmJpbixwbGF0Zm9ybS5kdGIpPGJyPg0KJmd0OyAmZ3Q7ICZndDsgPGJyPg0KJmd0OyAm Z3Q7ICZndDsgQW5kIGVhY2ggbW9kdWxlIGluc3RhbGwgdmlhJnF1b3Q7IGNvbGxlY3Rpb24mcXVv dDsgdGhlIHJlc3BlY3RpdmUgcGFja2FnZS48YnI+DQomZ3Q7ICZndDsgJmd0OyA8YnI+DQomZ3Q7 ICZndDsgJmd0OyBXaGF0IGNhbiBJIGRvID8gSSB3b3VsZCBsaWtlIHRvIGF2b2lkIGhhdmluZyBm b3JlaWduIGNvbXBvbmVudHMgaW4gdGhlPGJyPg0KJmd0OyAmZ3Q7ICZndDsgZmlybXdhcmUgcGFj a2FnZS48YnI+DQomZ3Q7ICZndDsgJmd0OyA8YnI+DQomZ3Q7ICZndDsgJmd0OyBSZWdhcmRzLDxi cj4NCiZndDsgJmd0OyAmZ3Q7IEFuZHJlYXMgRnJpZXNlbjxicj4NCiZndDsgJmd0OyAmZ3Q7IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPg0KJmd0OyAm Z3Q7ICZndDsgcHR4ZGlzdCBtYWlsaW5nIGxpc3Q8YnI+DQomZ3Q7ICZndDsgJmd0OyA8YSBocmVm PSJtYWlsdG86cHR4ZGlzdEBwZW5ndXRyb25peC5kZSIgdGFyZ2V0PSJfYmxhbmsiPnB0eGRpc3RA cGVuZ3V0cm9uaXguZGU8L2E+PGJyPg0KJmd0OyAmZ3Q7IF9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fPGJyPg0KJmd0OyAmZ3Q7IHB0eGRpc3QgbWFpbGluZyBs aXN0PGJyPg0KJmd0OyAmZ3Q7IDxhIGhyZWY9Im1haWx0bzpwdHhkaXN0QHBlbmd1dHJvbml4LmRl IiB0YXJnZXQ9Il9ibGFuayI+cHR4ZGlzdEBwZW5ndXRyb25peC5kZTwvYT48YnI+DQomZ3Q7IDxi cj4NCiZndDsgX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188 YnI+DQomZ3Q7IHB0eGRpc3QgbWFpbGluZyBsaXN0PGJyPg0KJmd0OyA8YSBocmVmPSJtYWlsdG86 cHR4ZGlzdEBwZW5ndXRyb25peC5kZSIgdGFyZ2V0PSJfYmxhbmsiPnB0eGRpc3RAcGVuZ3V0cm9u aXguZGU8L2E+PGJyPg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX188YnI+DQpwdHhkaXN0IG1haWxpbmcgbGlzdDxicj4NCjxhIGhyZWY9Im1haWx0bzpwdHhk aXN0QHBlbmd1dHJvbml4LmRlIiB0YXJnZXQ9Il9ibGFuayI+cHR4ZGlzdEBwZW5ndXRyb25peC5k ZTwvYT48L2Jsb2NrcXVvdGU+PC9kaXY+DQo= --000000000000c05c05057cf94b06-- --===============0177937707== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KcHR4ZGlzdCBt YWlsaW5nIGxpc3QKcHR4ZGlzdEBwZW5ndXRyb25peC5kZQ== --===============0177937707==--