[Foundation-discuss] Foundation Update

Jeffrey Altman jaltman@auristor.com
Thu, 21 Apr 2016 20:19:29 -0400


This is a cryptographically signed message in MIME format.

--------------ms000405050907020105080302
Content-Type: multipart/mixed;
 boundary="------------080609060706020309000501"

This is a multi-part message in MIME format.
--------------080609060706020309000501
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Stephen,

response inline...

On 4/21/2016 2:02 PM, Stephan Wiesand wrote:
> Jeffrey,
>=20
> On Apr 18, 2016, at 17:06 , Jeffrey Altman wrote:
>=20
>> On 4/18/2016 9:03 AM, Dave Botsch wrote:
>>> =C2=A7 Release Managers
>>>
>>>
>>> The OpenAFS Release Managers, or Gatekeepers,=20
>>
>> David,
>>
>> As we have discussed privately many times before, the term "Gatekeeper=
"
>> and "Elder" have special meanings within the OpenAFS community dating
>> back to the formation of the unincorporated association.
>=20
> I agree on the terminology used in Dave's mail being problematic at bes=
t.
>=20
> Your reply is confusing me even more though.

I apologize if my poor use of English confused you.
>=20
>> Elders can be thought of as non-technical board members much as the
>> OpenAFS Foundation Board members are today.
>=20
> I thought there are no more OpenAFS Elders.

That there are no longer any individuals actively operating under that
title does not change the meaning of the term.  Those that have been
Elders in the past were Elders.  Those that were Gatekeepers were
Gatekeepers.  The meaning of the term has not changed simply because
people retired or otherwise stopped fulfilling the role.

>> Gatekeepers can be thought of as C* level officers who not only are
>> responsible for day-to-day operations, technical direction, contract
>> negotiations, staff supervision, etc.
>=20
> Let's keep in mind that there's only a single gatekeeper left - you.

And one day there will be none.  That doesn't alter the definition of
the term or the role.

>>  Gatekeepers are also Elders.
>=20
> How does that match the fact that you stepped down as an Elder but rema=
ined a Gatekeeper?

As I indicated in my e-mail to the community at the time, the conflicts
of interest were too great and it was not possible for me to continue to
function in the role of Elder.  I was becoming physically ill due to the
stress caused by putting the interests of the OpenAFS Community before
my family, my company, my employees, and my customers.  The alternative
was to walk away from OpenAFS entirely.  Renouncing the Elder hat was
not a perfect solution but the best that could be done.

>> Security Officers were appointed by Gatekeepers and report to the
>> Gatekeepers.  Security decisions are not made outside of the technical=

>> direction of the project.
>>
>> Release Managers were appointed by Gatekeepers and report to the
>> Gatekeepers.
>=20
> I note the use of past tense in both statements, as opposed to the stat=
ements above. So a Gatekeeper is still an Elder but no longer appoints Se=
curity Officers or Release Managers?

As the last Gatekeeper and someone who renounced the Elder role, not so
much an Elder.

Ben Kaduk was appointed Security Officer by the Gatekeeper in the
absence of any other volunteers qualified to do the job.

>=20
>>  Release Managers have responsibility for a specific
>> release branch.  In particular the stable branches.  The development
>> branch (aka "master") was controlled by the "Gatekeepers".
>=20
> Was?

Yes.  The "master" branch is now controlled by Ben Kaduk, a Guardian
appointed by the Gatekeepers before Daria's resignation.

>=20
> To begin with, to my knowledge the Council of Elders disbanded itself, =
after you resigned from it. Thus it's surprising to see the Elders show u=
p here at all.

While I appreciate that Roman Mitz believes he disbanded the Elders, the
fact is that all actions affecting the status of the Council of Elders
require a 2/3 majority of sitting members. Quoting from the document
that served as the Charter for OpenAFS

'=E2=80=A2 Council members will have indefinite terms, with voluntary
resignations accepted at any time. All votes affecting the Council
require a 2/3 majority. Changes in the Council structure and composition
require a 2/3 vote. If a Council member changes affiliations, he or she
has the option to resign, depending on anticipated interest in OpenAFS.
Any Council member may be eliminated, at any time, with a 2/3 majority
of the Council, including the Council member whose membership is under
question. As a courtesy, Council members should notify other members of
a change in job/affiliation."

Unless Harald Barth, Ali Ferguson, Todd deSantis and Daria Brashear
resigned the Elders before Roman did, and I am unaware of any public
statement to that effect, it is not legally possible for one member of
the Elders to disband it.  Simply put, without a 2/3 agreement of the
sitting Elders, including those that refuse to do anything, they cannot
be removed.

That isn't to say that the Elders are not dead from inaction. As Daria
points out

"we failed to properly assign succession. we became moribund without
ever technically dissolving ourselves. still, we are dead. D E D dead."

> In addition, it was my perception that before this the Gatekeepers repo=
rted to the Elders,=20
> not the other way around.

That was true until January 26th 2006 when the Council of Elders voted
to reorganize itself to recognize the reality that Daria and myself
performed the vast majority of the work that the Elders were supposed to
be doing.

> Unfortunately I have no idea what the Council of Elders intended to giv=
e way to. I really hope it was not you as the sole Gatekeeper.

As Roman said, "The point was to try to enable anyone with *any*
interest in all in pushing forward OpenAFS to make some decisions and
get some things done in a framework that is closer to an =E2=80=9Cofficia=
l=E2=80=9D
organization, and potentially have some real entity for other
corporations/organizations to deal with."

>> The OpenAFS Foundation and its Board does not report into this hierarc=
hy
>> and it is expected that the Board will take responsibility for raising=

>> money and spending those funds to support the developer and end user
>> community.  Although the OpenAFS Foundation has an agreement with IBM =
to
>> use the "OpenAFS" registered mark which is property of IBM, it must be=

>> noted that the OpenAFS Foundation's powers are limited.
>>
>> * The Foundation does not own the OpenAFS source code, documentation
>>   or other intellectual property.
>=20
> Who does? The gatekeeper?

Well, that is complicated by the fact that IBM never transferred
ownership of any of its intellectual property when it released the
OpenAFS source code via IBM DeveloperWorks on 31 October 2000.  Instead
it licensed the source code under the IBM Public License 1.0.  For
starters, all of the initial code is owned by IBM.

Then things begin to get very murky indeed.  The Council of Elders
legally became an Unincorporated Association on 26 October 2000.
Shortly after the source code release, patches that Transarc/IBM source
code licensees had in their private repositories began to be submitted
and merged.  There were no records kept as to whether or not the
institutions that owned the contributed code gave authorization.  Nor
were the contributions committed in the name of the institution.  In
many cases the contributions came without copyright statements but since
the changes were modifying IBM Public License 1.0 licensed source code
there was no provision for a claim of copyright.  The only valid
copyright statement when the source code file is licensed under the
IPL10 is

    Copyright (C) 1996, 1999 International Business Machines
    Corporation and others.  All Rights Reserved.

However, according to the laws of many countries copyright remains with
the author unless explicit contracts are in place stating assignment and
even then, the author might still have rights.

This is further complicated by the fact that contributions have always
been merged in the name of an individual with no statement of legal
association to the actual copyright holder (often that person's employer
or one of the employer's customers.)

As Daria wrote, "That was a flaw with the model we had. No one. The code
was owned by the contributor and subject to the license they assigned.
So, you can't take your ball and go home, because you agreed to assign
the rights you did.

"But it's still your code."

In case that is not clear, what it means is that there is no one owner
of the code.  Not IBM, not the Gatekeepers, not the Foundation, not anyon=
e.

Compare this to Eclipse and the Eclipse Foundation that IBM formed less
than twelve months after OpenAFS with a very similar license to the
IBMPL10.  IBM incorporated an organization, it assigned the copyrights
and trademarks to that organization, and then funded it and staffed it.
 Since the initial incorporation of the Eclipse Foundation there have
been at least two changes to the license terms under which the code is
distributed.  This is possible because the Eclipse Foundation owned the
code and would not accept contributions except from individuals and
organizations that agreed to assign copyright to the Eclipse Foundation.

>> * The Foundation does not own nor manage the development
>>   infrastructure including Git, Gerrit, web, mail, rt, buildbot, ...
>=20
> Who does? The gatekeeper?

The infrastructure is owned by those that contribute the hardware, the
software, administer the systems, and pay the maintenance expenses.

When git, gerrit, jabber, etc. had to be removed from Stanford
University the Foundation was asked to take over responsibility and they
declined.  Those functions as well as the buildbot master are now hosted
by MIT.  Jeff Hutzelman and Chaskiel Grundman provide the majority of
the remaining infrastructure as they have since the beginning of OpenAFS.=


>> * The Foundation neither has the ability to grant nor remove
>>   permissions that individuals have in the aforementioned
>>   infrastructure.
>=20
> I really hope that's not true. The foundation is the last entity comman=
ding any resources=20

That is a bit insulting considering. Although I and AuriStor, Inc. have
significantly curtailed our contributions, we still step up to put out
the fires.

> and intending to use them to foster OpenAFS' future. It must be able to=
 appoint individuals for work on the project *and* grant them permissions=
 to actually get something done.

Granting access to someone else's infrastructure cannot be done by the
Foundation.  If the owners of the infrastructure trust the individuals
that volunteer, they will grant access upon request. Would DESY grant
the Foundation the right to assign "root" access to DESY owned systems?

I've never had the privilege of granting access to any OpenAFS
infrastructure that wasn't hosted by my companies.  The fact that the
Buildbot Master was hosted by AuriStor, Inc. was a huge problem because
it meant that no one that worked for a competitor was allowed to have
access to it.  Getting it off the AuriStor, Inc. network took years.

> The org chart as outlined by you above would make you the one and only =
person to take important decisions in the project, and tie the hands of t=
he foundation.  All my hope for the future of OpenAFS would be lost.

You misunderstand that chart because you misunderstand the role of a
Gatekeeper.  The Gatekeeper has never had any powers beyond those that
followed her or him were willing to project.  The Gatekeepers did not
own the source code but the gatekeepers were the most prolific
contributors by far

  https://www.openhub.net/p/openafs/contributors

They did the vast majority of the work of getting out releases, of
fixing bugs when no one else would, of responding to mailing list
e-mails, and RT issues.  They traveled the globe meeting with end user
organizations and presenting at conferences to evangelize OpenAFS.

Anyone that didn't want to follow the Gatekeepers didn't have to. The
code could be forked at any time to create your own project. No one is
stopping anyone from contributing to OpenAFS.  Certainly not me.

My biggest concern at the moment is that Ben Kaduk, who works for an
organization that doesn't even use AFS, is doing a tremendous amount of
work but is not being compensated for his efforts.  The primary
beneficiaries of his efforts are large well off institutions that either
save or earn significant sums as a result.

I know that you serve in your role as Release Manager because you love
OpenAFS but you also do it because your employer pays you to do so as
part of your job description.

> OpenAFS obviously needs changes to survive. Including changes in govern=
ance. Urgently.

I disagree. The corporate status of the OpenAFS Foundation has never
been the road block to success.  The road block has been the lack of
spending by end user organizations to fund the developers that wanted to
work on their behalf.

I tell this story over and over again.  Prior to the release of OpenAFS
in 2000 there were many organizations that were paying license fees to
IBM. Some academic institutions have told me they were paying high five
and low six figure sums.  A conservative estimate is that $5 million a
year was being spent on licensing fees in 1999. After the release of
OpenAFS all of that money disappeared into the "cost savings" bucket at
end user institutions.  Three years later, a total of $105,000 was
contributed to the OpenAFS Elders in 2003 by three institutions:

  https://www.usenix.org/legacy/about/press_afs.html

For $1 million a year in funding everything that was on the OpenAFS Wish
List could have been built over the last fifteen years.

The problem is not with the governance of the community.  Its not that
there was no legal entity to contribute to.  USENIX had been accepting
tax deductible contributions since 11 February 2003.  Sine Nomine
Associates, LinuxBox, Secure Endpoints Inc. and AuriStor, Inc. have all
accepted funded contracts for work over the years.

The problems were financial and legal. The lack of clear legal ownership
of the intellectual property.  The inability of the Council of Elders to
grant rights to Apple or Microsoft or anyone else that might want to
incorporate OpenAFS into their commercial product.  The lack of clarity
in the legal status of the institutional contributions that prevent the
issuance of insurance policies in case of patent or copyright violation
claims.

Then in 2007 the Gatekeepers and Elders were told by the high energy
physics community (specifically the U.S. Dept of Energy and CERN) that
OpenAFS could not be funded by grants because no one was legally allowed
to write a grant.  Instead, we would have to build a product that
competed with commercial storage systems and sell it.  That led to the
incorporation of AuriStor, Inc. and the issuance of a SBIR
Commercialization Grant from the U.S. Dept of Energy.  As part of
accepting that grant I pledged to the U.S. Government the following:

  "I, Jeffrey Altman, indicate my willingness to forgo my $xxxxxx a year
   salary in order to support bringing "YFS, a high performance global
   file system that is backward compatible with AFS" to market if Grant
   DE-FG02-0BERB5057 Phase II is completed successfully and no other
   funding sources are available.

   "I believe that the future of data usage on the Internet will be
   permanently altered by the success of this product. I will do
   anything legal to see it through to the marketplace."

The SBIR funding and other funds that AuriStor, Inc. raised produced the
largest number of contributions to OpenAFS in the history of the
project. AuriStor, Inc. funded outside contributors who wrote protocol
specifications and code. The vast majority of what will become OpenAFS
1.8 was developed prior to February 2012 with that funding.  When the
grants ran out and no one would buy the product, I and AuriStor, Inc.
pushed on.  I have fulfilled my pledge in spades.

Leadership, code authors, support infrastructure, and licenses to
required development tools are not cheap.  In the end, its the end user
community that has to pay for them.  If not in the form of grants then
in the form of licenses after the fact.  There are no leprechauns hiding
pots of gold at the feet of rainbows; I've looked.  If the end user
community cannot write grants and will not pay for licenses, the writing
is on the wall.  The incorporation of the OpenAFS Foundation is not
going to make a bit of difference.

As you know, CERN announced its intention to phase out AFS at the Fall
2015 HEPiX conference.  Fermilab is shutting their cell down in a little
more than a week.  They follow in the footsteps of the closure of the
world's largest AFS cell at Pictage and others before them  Many sites
have no intention of shutting down AFS but have instead decided to let
it run without intervention.  If the end users are unhappy, perhaps they
will migrate to one of the many other storage services that the same
institutions are paying for such as Box, Dropbox, OneDrive, and
OwnCloud.  In many cases institutions have found themselves paying for
three or four non-interoperable storage solutions simultaneously.

For AFS deployments to recover and begin to grow again, end user
institutions have to encourage developers to work on the project on a
full time professional basis.  That could be as an external contractor
or as a full time employee. It could be through purchasing software
licenses or support contracts.  The OpenAFS community is in the mess its
in because the vast majority of institutions contribute nothing and have
not since 2000.  A 20 year old can live on Ramen noodles.  A 30 year old
can live on beer and tequila.  I'm turning 50 on Sunday. My family and
my employees and their families live on stuff that is purchased with mone=
y.

We both know that what the community wants is the AuriStor File System
code base for free.  The problem is that nearly a million developer
hours have been invested in its development.  More than 500,000 lines of
code have been written to replace IBM derived code.  In the end someone
has to pay for that work and to sustain its development. Even if
AuriStor, Inc. was to give it all away tomorrow, someone would still
have to find somewhere between $2 and $4 million a year for ten years to
maintain it and complete the vision.

If there is an entity that is willing to fund the next ten years of
future development and would like to turn the product into a global
public good, lets talk.  All that is required is a very large check or a
pot of leprechaun gold.

Returning to the point of this thread.  I didn't say that the Foundation
Board could not assign titles to individuals.  In fact I said that it
explicitly does have that ability.  Its just that those titles by
themselves do not convey power. In an open source project, influence and
trust is earned by writing code, performing reviews, etc.  Naming Ben as
Technical Leader and Security Officer is easy and safe because (a) he is
already serving in those roles, (b) is trusted by the community, and (c)
is supported by the old guard.  What will be much more difficult is
naming individuals that to positions when those named have no history of
substantial contributions to the project.

Sincerely,

Jeffrey Altman




--------------080609060706020309000501
Content-Type: text/x-vcard; charset=utf-8;
 name="jaltman.vcf"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment;
 filename="jaltman.vcf"

begin:vcard
fn:Jeffrey Altman
n:Altman;Jeffrey
org:AuriStor, Inc.
adr:Suite 6B;;255 West 94Th Street;New York;New York;10025-6985;United St=
ates
email;internet:jaltman@auristor.com
title:Founder and CEO
tel;work:+1-212-769-9018
note;quoted-printable:LinkedIn: https://www.linkedin.com/in/jeffreyaltman=
=3D0D=3D0A=3D
	Skype: jeffrey.e.altman=3D0D=3D0A=3D
=09
url:https://www.auristor.com/
version:2.1
end:vcard


--------------080609060706020309000501--

--------------ms000405050907020105080302
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="smime.p7s"
Content-Description: S/MIME Cryptographic Signature

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCC
DEkwggYFMIIE7aADAgECAhAxSdDYnMC0s7K+ddH7ywANMA0GCSqGSIb3DQEBCwUAMIGmMQsw
CQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNVBAsTFlN5
bWFudGVjIFRydXN0IE5ldHdvcmsxHjAcBgNVBAsTFVBlcnNvbmEgTm90IFZhbGlkYXRlZDE3
MDUGA1UEAxMuU3ltYW50ZWMgQ2xhc3MgMSBJbmRpdmlkdWFsIFN1YnNjcmliZXIgQ0EgLSBH
NTAeFw0xNTExMDEwMDAwMDBaFw0xNjExMDEyMzU5NTlaMIGnMS4wLAYDVQQDDCVQZXJzb25h
IE5vdCBWYWxpZGF0ZWQgLSAxNDQ2NDA0MDI1NjI1MSMwIQYJKoZIhvcNAQkBFhRqYWx0bWFu
QGF1cmlzdG9yLmNvbTEPMA0GA1UECwwGUy9NSU1FMR4wHAYDVQQLDBVQZXJzb25hIE5vdCBW
YWxpZGF0ZWQxHzAdBgNVBAsMFlN5bWFudGVjIFRydXN0IE5ldHdvcmswggEiMA0GCSqGSIb3
DQEBAQUAA4IBDwAwggEKAoIBAQC2cv6bENZULsb1FNyEBI47G2kA7Rogocg5u0qnQuDMCCNH
DnXkI62H2z/464AS8AGp4FcZIdvCPYp0POFlOl2XEiyA59FEDi+s3b33nLrnVOa4esw2NFBi
ZvwHvniUjgwWSUcS5V5+VhXeIKBL1U1NtMtB2XEVnc72RiQZB3KqzlS9GUvtSTdmCc6ULD/t
P009yCsBqY6NR/nug5NtUja2N+xUC2l8coYU1ingj/M4+fT8KcSq5t8laj0E+3X9ZPYlN9in
L364hXB1b+EHfxp0F0wZdsCapkEKV2VN16S1Ee5rccJIMaAJxrybK7NdI36Es/XqWlQzSeVN
wUYdwejrAgMBAAGjggIqMIICJjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIFoDAgBgNV
HSUBAf8EFjAUBggrBgEFBQcDBAYIKwYBBQUHAwIwHQYDVR0OBBYEFInhroYG7TrlBeOJmwRc
a0rfA3jtMB8GA1UdEQQYMBaBFGphbHRtYW5AYXVyaXN0b3IuY29tMGwGA1UdIARlMGMwYQYL
YIZIAYb4RQEHFwEwUjAmBggrBgEFBQcCARYaaHR0cDovL3d3dy5zeW1hdXRoLmNvbS9jcHMw
KAYIKwYBBQUHAgIwHBoaaHR0cDovL3d3dy5zeW1hdXRoLmNvbS9ycGEwXQYDVR0fBFYwVDBS
oFCgToZMaHR0cDovL3BraS1jcmwuc3ltYXV0aC5jb20vY2FfNTdkZTdhMjM4ZDQ1ZDhkNGZj
NzFmOGE1YzZiODFjOTMvTGF0ZXN0Q1JMLmNybDBOBggrBgEFBQcBAQRCMEAwPgYIKwYBBQUH
MAKGMmh0dHA6Ly9jYWNlci5zeW1hdXRoLmNvbS9tcGtpL3N5bWNjMWluZHN1YmNhZzUuY3J0
MB8GA1UdIwQYMBaAFGcZtj2lebszYNgtU9OMCT0HrBhwMCsGCmCGSAGG+EUBEAMEHTAbBhJg
hkgBhvhFARABAgIEAa3ukhMWBTEwOTIyMDkGCmCGSAGG+EUBEAUEKzApAgEAFiRhSFIwY0hN
Nkx5OXdhMmt0Y21FdWMzbHRZWFYwYUM1amIyMD0wDQYJKoZIhvcNAQELBQADggEBAHhpoe3z
j0uxbWFz4Q7F2KyRJTgREbQ+imVv3ibbd2uvnckJ+vTNJuFoaORXKTt3B8TUT8rBTwXm35D5
K4DOrKMVS0iyR9PDobLpjQM8FcIGUdbGWeZZq/1zoWhi3RtFNzZaSKXjwiQUUWYTZUE7rUmj
qu7fiACksPAAdyG12FJtk1pdVByqmaFC75/z2Qs/jVjyySpy2SRg8wlpqM2h8tl9SGska/BT
gXLHJMhKrHQvBi+9Xo3MrmJA5Z3f5vcheoOAoM5/ScHBUXWDG0+NnEIb340By0adU823pF9c
K4gxI0ZJNID+eaT0XCqg47QFOZYZUlm3s4rDi1l1iPIHekwwggY8MIIFJKADAgECAhAHAqIa
hbhLZZ4YCm7m9aNlMA0GCSqGSIb3DQEBCwUAMIHKMQswCQYDVQQGEwJVUzEXMBUGA1UEChMO
VmVyaVNpZ24sIEluYy4xHzAdBgNVBAsTFlZlcmlTaWduIFRydXN0IE5ldHdvcmsxOjA4BgNV
BAsTMShjKSAxOTk5IFZlcmlTaWduLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkx
RTBDBgNVBAMTPFZlcmlTaWduIENsYXNzIDEgUHVibGljIFByaW1hcnkgQ2VydGlmaWNhdGlv
biBBdXRob3JpdHkgLSBHMzAeFw0xNTEwMDEwMDAwMDBaFw0yNTA5MzAyMzU5NTlaMIGmMQsw
CQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNVBAsTFlN5
bWFudGVjIFRydXN0IE5ldHdvcmsxHjAcBgNVBAsTFVBlcnNvbmEgTm90IFZhbGlkYXRlZDE3
MDUGA1UEAxMuU3ltYW50ZWMgQ2xhc3MgMSBJbmRpdmlkdWFsIFN1YnNjcmliZXIgQ0EgLSBH
NTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANb7DTFJIsAMuu9OLRe4tDDlNNKs
Ce7JiQBd9K4TEbMTjlXPIhioIAam/SXLaJS0oIKQDm6WkkTuFbm07PrPeT1p1Jwf3CCaDijV
DbXGnjrx1GUZwIQzTY7aivHWJ7kDoNH6KJyCk2z3DYV9W+lOmWL+k0LS7j6zcVeGl0bL3w3h
xoRasw2P9fQQigVdn2hG7AiwWEKC9r4tEEamJAsn/pgUU4OTgtvqwD9PolhhtUtyaRJfM1n2
+bNMAGTOhcWGkgxuHOsoz3GpkKl0mXQk60jhDl1oEqgBZujumrIv+D3Nt3gkzqVgfOgWPUnx
B7ozvjIrwmejFsdvwNJalATCa0UCAwEAAaOCAj4wggI6MDcGCCsGAQUFBwEBBCswKTAnBggr
BgEFBQcwAYYbaHR0cDovL3BraS1vY3NwLnN5bWF1dGguY29tMBIGA1UdEwEB/wQIMAYBAf8C
AQAwbAYDVR0gBGUwYzBhBgtghkgBhvhFAQcXATBSMCYGCCsGAQUFBwIBFhpodHRwOi8vd3d3
LnN5bWF1dGguY29tL2NwczAoBggrBgEFBQcCAjAcGhpodHRwOi8vd3d3LnN5bWF1dGguY29t
L3JwYTAvBgNVHR8EKDAmMCSgIqAghh5odHRwOi8vcy5zeW1jYi5jb20vcGNhMS1nMy5jcmww
DgYDVR0PAQH/BAQDAgEGMCkGA1UdEQQiMCCkHjAcMRowGAYDVQQDExFTeW1hbnRlY1BLSS0y
LTIxNzAdBgNVHQ4EFgQUZxm2PaV5uzNg2C1T04wJPQesGHAwgfEGA1UdIwSB6TCB5qGB0KSB
zTCByjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZW
ZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMTk5OSBWZXJpU2lnbiwgSW5j
LiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAx
IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5IC0gRzOCEQCLW3VWhFSF
CwDPrzhIzrGkMA0GCSqGSIb3DQEBCwUAA4IBAQBGGeQndTu+r+LaohRgjx5EkIFpK2NJNY3p
drqfmI8TgdfL/GUb+A5j3pQodPvjb9jJKnoOVKaDrilK9itR/T04ErvdY0X7ZMw+VIZ/TkJt
I7cdC/36zA2OkzXK5UX5zy9/eT1jGMdHI0r2qRQArX5ZVRqJJ9uUoJE4xv5AlaNg9l24yMUW
7ZxmaRRGEErKcCpv0VDgJhrTUrRHcotF0r0DuaXc2QjzkKt0cKvKoE7wwE7k4L5PkBFgJwwr
HN/nbMp1tCXnkUiqkrRRdV8pm0cXHL3J6s91rXUjz/LF31qrt2vKu7heq9WjcNRo8xd6mwug
FDz76IFWaOjPXXxzuC68MYIEYjCCBF4CAQEwgbswgaYxCzAJBgNVBAYTAlVTMR0wGwYDVQQK
ExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1c3QgTmV0d29y
azEeMBwGA1UECxMVUGVyc29uYSBOb3QgVmFsaWRhdGVkMTcwNQYDVQQDEy5TeW1hbnRlYyBD
bGFzcyAxIEluZGl2aWR1YWwgU3Vic2NyaWJlciBDQSAtIEc1AhAxSdDYnMC0s7K+ddH7ywAN
MA0GCWCGSAFlAwQCAQUAoIICdzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3
DQEJBTEPFw0xNjA0MjIwMDE5MjlaMC8GCSqGSIb3DQEJBDEiBCCJx86rH+X0aSrB6M045DRo
X+GQNAMP31L6Kj7bWiNN1DBsBgkqhkiG9w0BCQ8xXzBdMAsGCWCGSAFlAwQBKjALBglghkgB
ZQMEAQIwCgYIKoZIhvcNAwcwDgYIKoZIhvcNAwICAgCAMA0GCCqGSIb3DQMCAgFAMAcGBSsO
AwIHMA0GCCqGSIb3DQMCAgEoMIHMBgkrBgEEAYI3EAQxgb4wgbswgaYxCzAJBgNVBAYTAlVT
MR0wGwYDVQQKExRTeW1hbnRlYyBDb3Jwb3JhdGlvbjEfMB0GA1UECxMWU3ltYW50ZWMgVHJ1
c3QgTmV0d29yazEeMBwGA1UECxMVUGVyc29uYSBOb3QgVmFsaWRhdGVkMTcwNQYDVQQDEy5T
eW1hbnRlYyBDbGFzcyAxIEluZGl2aWR1YWwgU3Vic2NyaWJlciBDQSAtIEc1AhAxSdDYnMC0
s7K+ddH7ywANMIHOBgsqhkiG9w0BCRACCzGBvqCBuzCBpjELMAkGA1UEBhMCVVMxHTAbBgNV
BAoTFFN5bWFudGVjIENvcnBvcmF0aW9uMR8wHQYDVQQLExZTeW1hbnRlYyBUcnVzdCBOZXR3
b3JrMR4wHAYDVQQLExVQZXJzb25hIE5vdCBWYWxpZGF0ZWQxNzA1BgNVBAMTLlN5bWFudGVj
IENsYXNzIDEgSW5kaXZpZHVhbCBTdWJzY3JpYmVyIENBIC0gRzUCEDFJ0NicwLSzsr510fvL
AA0wDQYJKoZIhvcNAQEBBQAEggEAUD2J7UCkUO8HSS4fVQTr008qsf3dQhTTx89SDaARgnHS
dy5N7qzKkd67oVhbNS0lfDUMLqtdNi2oxEXQCDp+BI6EhbX89oyvKxoI5Ak7se6zmXwobszg
UXyAqWSMqatVKvWgAMhpI4D9ZXHdYQmtX1kEFMztPRj+/XoclxjM8tn0v07g+TTG4jUw79a7
9iDiyv8rlILbN8zFT00cG1S1NMU2m9ZSjkYQ/q6MbX4Z5apXYDxXLCap2Qg03wdvyIbWgy7g
NXfvEw+PY0icKSoSKQJtX3i1l31KAuTTwKGCHj+1cLNRkBgjvXcWl8Qx7pP7Q+tUyrLOH1N9
UXCqUHdA9wAAAAAAAA==
--------------ms000405050907020105080302--