X-Original-To: pgsql-docs-postgresql.org@localhost.postgresql.org Received: from localhost (mx1.hub.org [200.46.208.251]) by postgresql.org (Postfix) with ESMTP id 5A5CB9F94EA; Tue, 23 May 2006 10:14:41 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.208.251]) (amavisd-new, port 10024) with ESMTP id 65061-09; Tue, 23 May 2006 10:14:33 -0300 (ADT) X-Greylist: from auto-whitelisted by SQLgrey- X-Greylist: from auto-whitelisted by SQLgrey- Received: from sand2.gxn.net (sand2.gxn.net [195.147.249.208]) by postgresql.org (Postfix) with ESMTP id 33F239F946D; Tue, 23 May 2006 10:14:33 -0300 (ADT) Received: from [62.232.55.118] (helo=[192.168.0.2]) by sand2.gxn.net with esmtp (Exim 4.50) id 1FiWjt-0006ox-BW; Tue, 23 May 2006 14:15:57 +0100 Subject: Re: Proposed doc-patch: Identifying the Current WAL file From: Simon Riggs To: Bruce Momjian , pgsql-patches@postgresql.org Cc: Tom Lane , Richard Huxton , pgsql-docs@postgresql.org In-Reply-To: <1145197325.3273.37.camel@localhost.localdomain> References: <200604152020.k3FKKjM20502@candle.pha.pa.us> <1145197325.3273.37.camel@localhost.localdomain> Content-Type: multipart/mixed; boundary="=-mzXsialxO6TVRWE+kGoY" Date: Tue, 23 May 2006 14:14:27 +0100 Message-Id: <1148390067.2646.806.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.6.1 (2.6.1-1.fc5.2) X-Virus-Scanned: Maia Mailguard 1.0.1 X-Archive-Number: 200605/38 X-Sequence-Number: 3565 --=-mzXsialxO6TVRWE+kGoY Content-Type: text/plain Content-Transfer-Encoding: 7bit On Sun, 2006-04-16 at 15:22 +0100, Simon Riggs wrote: > On Sat, 2006-04-15 at 16:20 -0400, Bruce Momjian wrote: > > Simon Riggs wrote: > > > On Sat, 2006-04-15 at 12:24 -0400, Bruce Momjian wrote: > > > > And if we can't provide one, should we supply an SQL function > > > > to return the current WAL name? > > > > > > I'll do this. Just give me a few days to get my feet under the new desk. > > > I know its well past time I sorted this and a few other things out. > > > > If we get some mechanism to write those partial WAL files, we might not > > need the ability to identify the current WAL file, and because a new > > function is going to require an initdb, I am thinking we can't get this > > done until 8.2 anyway, so Simon, please come up with a plan to finish > > the missing PITR pieces. I am getting tired of trying to explain > > workarounds to PITR users, especially when the workarounds are not easy. > For 8.0. and 8.1 users, I'd suggest we release an external function as a > contrib module, so that we don't compromise reliability and not force an > initdb for them. With docs, of course. > > I suggest we have two functions: > 1. pg_xlog_file_from_offset(text) > This allows the output of pg_stop_backup to be formatted into a > filename, so it would be used like this: > select pg_xlog_file_from_offset(pg_stop_backup()); Patch to implement this as a contrib module enclosed. No main manual doc patch yet, awaiting review. -- Simon Riggs EnterpriseDB http://www.enterprisedb.com --=-mzXsialxO6TVRWE+kGoY Content-Disposition: attachment; filename=pg_xlogfile.tar Content-Type: application/x-tar; name=pg_xlogfile.tar Content-Transfer-Encoding: base64 Y29udHJpYi9wZ194bG9nZmlsZS8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA3NTUAMDAwMDc2 NAAwMDAwNzY2ADAwMDAwMDAwMDAwADEwNDM0NjA1MDAzADAxNDc1MAAgNQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHNyaWdncwAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAcG9zdGdyZXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABj b250cmliL3BnX3hsb2dmaWxlL3BnX3hsb2dmaWxlLmMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAwNzY0 ADAwMDA3NjYAMDAwMDAwMDI0MjAAMTA0MzQ2MDQwMTcAMDE3NDE1ACAwAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAc3JpZ2dzAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAABwb3N0Z3JlcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC8q LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogKgogKiBwZ194bG9nZmlsZS5jCiAqCSAgZGlzcGxheSB4bG9nIGZp bGVuYW1lLCBnaXZlbiBhbiB4bG9nIG9mZnNldC4KICoKICotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAqLwoj aW5jbHVkZSAicG9zdGdyZXMuaCIKI2luY2x1ZGUgImZ1bmNhcGkuaCIKI2luY2x1ZGUgImNhdGFs b2cvcGdfdHlwZS5oIgojaW5jbHVkZSAiYWNjZXNzL3hsb2dfaW50ZXJuYWwuaCIKI2luY2x1ZGUg InV0aWxzL2J1aWx0aW5zLmgiCgpEYXR1bQkJcGdfeGxvZ2ZpbGVfZnJvbV9vZmZzZXQoUEdfRlVO Q1RJT05fQVJHUyk7CgpQR19GVU5DVElPTl9JTkZPX1YxKHBnX3hsb2dmaWxlX2Zyb21fb2Zmc2V0 KTsKRGF0dW0KcGdfeGxvZ2ZpbGVfZnJvbV9vZmZzZXQoUEdfRlVOQ1RJT05fQVJHUykKewoJdGV4 dAkgICAqb2Zmc2V0ID0gUEdfR0VUQVJHX1RFWFRfUCgwKTsKCWNoYXIJICAgKm9mZnNldHN0cjsK CXVpbnQzMgkJeGxvZ2lkOwkJCQoJdWludDMyCQl4cmVjb2ZmOwkJCgl1aW50MzIJCXhsb2dzZWc7 CglYTG9nUmVjUHRyCW9mZnNldHBvaW50OwoJY2hhcgkJeGxvZ2ZpbGVuYW1lW01BWEZOQU1FTEVO XTsKCgl0ZXh0CSAgICpyZXN1bHQ7CgoJb2Zmc2V0c3RyID0gRGF0dW1HZXRDU3RyaW5nKERpcmVj dEZ1bmN0aW9uQ2FsbDEodGV4dG91dCwKCQkJCQkJCQkJCQkJIFBvaW50ZXJHZXREYXR1bShvZmZz ZXQpKSk7CgoJaWYgKHNzY2FuZihvZmZzZXRzdHIsICIlWC8lWCIsICZ4bG9naWQsICZ4cmVjb2Zm KSAhPSAyKQogICAgCWVyZXBvcnQoRVJST1IsCgkJCQkoZXJyY29kZShFUlJDT0RFX0RBVEFfRVhD RVBUSU9OKSwKCQkJCSBlcnJtc2coImNvdWxkIG5vdCBwYXJzZSB4bG9nIG9mZnNldCBcIiVzXCIi LAoJCQkJCQlvZmZzZXRzdHIpKSk7CgogICAgb2Zmc2V0cG9pbnQueGxvZ2lkID0geGxvZ2lkOwog ICAgb2Zmc2V0cG9pbnQueHJlY29mZiA9IHhyZWNvZmY7CgoJWExCeXRlVG9TZWcob2Zmc2V0cG9p bnQsIHhsb2dpZCwgeGxvZ3NlZyk7CglYTG9nRmlsZU5hbWUoeGxvZ2ZpbGVuYW1lLCBUaGlzVGlt ZUxpbmVJRCwgeGxvZ2lkLCB4bG9nc2VnKTsKCglyZXN1bHQgPSBEYXR1bUdldFRleHRQKERpcmVj dEZ1bmN0aW9uQ2FsbDEodGV4dGluLAoJCQkJCQkJCQkJIENTdHJpbmdHZXREYXR1bSh4bG9nZmls ZW5hbWUpKSk7CgoJUEdfUkVUVVJOX1RFWFRfUChyZXN1bHQpOwp9CgAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGNvbnRy aWIvcGdfeGxvZ2ZpbGUvUkVBRE1FLnBnX3hsb2dmaWxlAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDA3NjQAMDAw MDc2NgAwMDAwMDAwMTM1NwAxMDQzNDYwNDM0MwAwMjAxNDIAIDAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABzcmlnZ3MAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAHBvc3RncmVzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcGdfeGxv Z2ZpbGUKLS0tLS0tLS0tLS0KICAgIAogICAgQWxsb3dzIHVzZXIgdG8gZmluZCBvdXQgdGhlIGN1 cnJlbnQgeGxvZyBmaWxlbmFtZSwgZ2l2ZW4gYW4geGxvZwogICAgb2Zmc2V0LCBzdWNoIGFzIGlz IHJldHVybmVkIGJ5IHBnX3N0b3BfYmFja3VwKCkuCgogICAgZS5nLiAgICAKCiAgICBwb3N0Z3Jl cz0jIHNlbGVjdCBwZ19zdGFydF9iYWNrdXAoJ2xhYmVsX2dvZXNfaGVyZScpOwogICAgIHBnX3N0 YXJ0X2JhY2t1cAogICAgLS0tLS0tLS0tLS0tLS0tLS0KICAgICAwL0Q0NDQ1QjgKICAgICgxIHJv dykKCiAgICBwb3N0Z3Jlcz0jIHNlbGVjdCBwZ194bG9nZmlsZV9mcm9tX29mZnNldChwZ19zdG9w X2JhY2t1cCgpKTsKICAgICBwZ194bG9nZmlsZV9mcm9tX29mZnNldAogICAgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KICAgICAwMDAwMDAwMTAwMDAwMDAwMDAwMDAwMEQKICAgICgxIHJvdykK CgpJbnN0YWxsYXRpb24KLS0tLS0tLS0tLS0tCgogIEJ1aWxkIGFuZCBpbnN0YWxsIHRoZSBtYWlu IFBvc3RncmVzcWwgc291cmNlLCB0aGVuIHRoaXMgY29udHJpYiBtb2R1bGU6CgogICQgY2QgY29u dHJpYi9wZ194bG9nZmlsZQogICQgZ21ha2UKICAkIGdtYWtlIGluc3RhbGwKCgogIFRvIHJlZ2lz dGVyIHRoZSBmdW5jdGlvbnM6CgogICQgcHNxbCAtZCA8ZGF0YWJhc2U+IC1mIHBnX3hsb2dmaWxl LnNxbAoKQXV0aG9yCi0tLS0tLQoKICAqIFNpbW9uIFJpZ2dzIDxzaW1vbkAybmRxdWFkcmFudC5j b20+CgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGNvbnRyaWIv cGdfeGxvZ2ZpbGUvdW5pbnN0YWxsX3BnX3hsb2dmaWxlLnNxbAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwMDAwNjQ0ADAwMDA3NjQAMDAwMDc2 NgAwMDAwMDAwMDIxMQAxMDQzNDYwNDYwNQAwMjIwNjIAIDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAdXN0YXIgIABzcmlnZ3MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAHBvc3RncmVzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALS0gQWRqdXN0 IHRoaXMgc2V0dGluZyB0byBjb250cm9sIHdoZXJlIHRoZSBvYmplY3RzIGdldCBjcmVhdGVkLgpT RVQgc2VhcmNoX3BhdGggPSBwdWJsaWM7CgpEUk9QIEZVTkNUSU9OIHBnX3hsb2dmaWxlX2Zyb21f b2Zmc2V0KFRFWFQpOwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABjb250cmliL3Bn X3hsb2dmaWxlL3BnX3hsb2dmaWxlLnNxbC5pbgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwMDY0NAAwMDAwNzY0ADAwMDA3NjYA MDAwMDAwMDA1NzMAMTA0MzQ1NzMzMTUAMDIwNDE0ACAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAHVzdGFyICAAc3JpZ2dzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AABwb3N0Z3JlcwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC0tIEFkanVzdCB0 aGlzIHNldHRpbmcgdG8gY29udHJvbCB3aGVyZSB0aGUgb2JqZWN0cyBnZXQgY3JlYXRlZC4KQkVH SU47ClNFVCBzZWFyY2hfcGF0aCA9IHB1YmxpYzsKCi0tIFJlZ2lzdGVyIHRoZSBmdW5jdGlvbnMK Q1JFQVRFIE9SIFJFUExBQ0UgRlVOQ1RJT04gcGdfeGxvZ2ZpbGVfZnJvbV9vZmZzZXQoVEVYVCkK UkVUVVJOUyBURVhUCkFTICdNT0RVTEVfUEFUSE5BTUUnLCAncGdfeGxvZ2ZpbGVfZnJvbV9vZmZz ZXQnCkxBTkdVQUdFIEM7CgoKLS0gRG9uJ3Qgd2FudCB0aGVzZSB0byBiZSBhdmFpbGFibGUgYXQg cHVibGljLgpSRVZPS0UgQUxMIE9OIEZVTkNUSU9OIHBnX3hsb2dmaWxlX2Zyb21fb2Zmc2V0KFRF WFQpIEZST00gUFVCTElDOwoKQ09NTUlUOwoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY29udHJpYi9wZ194 bG9nZmlsZS9NYWtlZmlsZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAwMDA2NDQAMDAwMDc2NAAwMDAwNzY2ADAw MDAwMDAwNTUwADEwNDM0NTc3NTEzADAxNjQyNgAgMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAB1c3RhciAgAHNyaWdncwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA cG9zdGdyZXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjIAoKTU9EVUxFX2Jp ZyA9IHBnX3hsb2dmaWxlCk9CSlMJPSBwZ194bG9nZmlsZS5vCgpEQVRBX2J1aWx0ID0gcGdfeGxv Z2ZpbGUuc3FsIApEQVRBID0gdW5pbnN0YWxsX3BnX3hsb2dmaWxlLnNxbCAKRE9DUyA9IFJFQURN RS5wZ194bG9nZmlsZQoKaWZkZWYgVVNFX1BHWFMKUEdYUyA6PSAkKHNoZWxsIHBnX2NvbmZpZyAt LXBneHMpCmluY2x1ZGUgJChQR1hTKQplbHNlCnN1YmRpciA9IGNvbnRyaWIvcGdfeGxvZ2ZpbGUK dG9wX2J1aWxkZGlyID0gLi4vLi4KaW5jbHVkZSAkKHRvcF9idWlsZGRpcikvc3JjL01ha2VmaWxl Lmdsb2JhbAppbmNsdWRlICQodG9wX3NyY2RpcikvY29udHJpYi9jb250cmliLWdsb2JhbC5tawpl bmRpZgoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA== --=-mzXsialxO6TVRWE+kGoY--