From c9c6aadc8599b8b3392d4c5dbc6b7c9ba9673e8d Mon Sep 17 00:00:00 2001 From: Patrick Linskey Date: Wed, 11 Jun 2008 23:48:33 +0000 Subject: [PATCH] OPENJPA-417. Merged r653081 and r653085. git-svn-id: https://svn.apache.org/repos/asf/openjpa/trunk@666906 13f79535-47bb-0310-9956-ffa450edef68 --- .../doc/manual/img/appid-hierarchy.graffle | 949 +++++++++++ .../src/doc/manual/img/basic-coll.graffle | 564 +++++++ .../src/doc/manual/img/embedded-coll.graffle | 751 +++++++++ .../src/doc/manual/img/enhancement.graffle | 593 +++++++ .../manual/img/inher-superclass-table.graffle | 556 +++++++ .../src/doc/manual/img/inher-tpc.graffle | 655 ++++++++ .../src/doc/manual/img/inv-key-coll.graffle | 649 ++++++++ .../src/doc/manual/img/joins-constant.graffle | 1473 +++++++++++++++++ .../doc/manual/img/secondary-table.graffle | 568 +++++++ .../src/doc/manual/img/sqlquery-model.graffle | 574 +++++++ .../src/doc/manual/img/string-rel-map.graffle | 773 +++++++++ .../src/doc/manual/img/string-rel-map.png | Bin 0 -> 46145 bytes .../src/doc/manual/ref_guide_mapping.xml | 120 ++ 13 files changed, 8225 insertions(+) create mode 100644 openjpa-project/src/doc/manual/img/appid-hierarchy.graffle create mode 100644 openjpa-project/src/doc/manual/img/basic-coll.graffle create mode 100644 openjpa-project/src/doc/manual/img/embedded-coll.graffle create mode 100644 openjpa-project/src/doc/manual/img/enhancement.graffle create mode 100644 openjpa-project/src/doc/manual/img/inher-superclass-table.graffle create mode 100644 openjpa-project/src/doc/manual/img/inher-tpc.graffle create mode 100644 openjpa-project/src/doc/manual/img/inv-key-coll.graffle create mode 100644 openjpa-project/src/doc/manual/img/joins-constant.graffle create mode 100644 openjpa-project/src/doc/manual/img/secondary-table.graffle create mode 100755 openjpa-project/src/doc/manual/img/sqlquery-model.graffle create mode 100644 openjpa-project/src/doc/manual/img/string-rel-map.graffle create mode 100644 openjpa-project/src/doc/manual/img/string-rel-map.png diff --git a/openjpa-project/src/doc/manual/img/appid-hierarchy.graffle b/openjpa-project/src/doc/manual/img/appid-hierarchy.graffle new file mode 100644 index 000000000..5d6d4bc3e --- /dev/null +++ b/openjpa-project/src/doc/manual/img/appid-hierarchy.graffle @@ -0,0 +1,949 @@ + + + + + + CanvasColor + + w + 1 + + ColumnAlign + 0 + ColumnSpacing + 36 + GraphDocumentVersion + 4 + GraphicsList + + + Class + LineGraphic + Head + + ID + 7 + + ID + 14 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {238.5, 207} + {238.5, 184} + + Style + + stroke + + HeadArrow + Arrow + LineType + 2 + TailArrow + 0 + + + Tail + + ID + 8 + + + + Class + LineGraphic + Head + + ID + 6 + + ID + 13 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {238.5, 144} + {238.5, 121} + + Style + + stroke + + HeadArrow + Arrow + LineType + 2 + TailArrow + 0 + + + Tail + + ID + 7 + + + + Class + LineGraphic + Head + + ID + 5 + + ID + 12 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {238.5, 81} + {238.5, 58} + + Style + + stroke + + HeadArrow + Arrow + LineType + 2 + TailArrow + 0 + + + Tail + + ID + 6 + + + + Class + LineGraphic + Head + + ID + 1 + + ID + 11 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {85.5, 81} + {85.5, 58} + + Style + + stroke + + HeadArrow + Arrow + LineType + 2 + TailArrow + 0 + + + Tail + + ID + 2 + + + + Class + LineGraphic + Head + + ID + 2 + + ID + 10 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {85.5, 144} + {85.5, 121} + + Style + + stroke + + HeadArrow + Arrow + LineType + 2 + TailArrow + 0 + + + Tail + + ID + 3 + + + + Class + LineGraphic + Head + + ID + 3 + + ID + 9 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {85.5, 207} + {85.5, 184} + + Style + + stroke + + HeadArrow + Arrow + LineType + 2 + TailArrow + 0 + + + Tail + + ID + 4 + + + + Bounds + {{171, 207}, {135, 38}} + Class + MultiTextGraphic + FitText + Vertical + Flow + Resize + ID + 8 + ListOrientation + Vertical + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientCenter + {-0.294118, -0.264706} + + + TextList + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 ManagerId} + + + Align + 0 + + + Align + 0 + + + TextPlacement + 0 + + + Bounds + {{171, 144}, {135, 40}} + Class + MultiTextGraphic + FitText + Vertical + Flow + Resize + ID + 7 + ListOrientation + Vertical + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientCenter + {-0.294118, -0.264706} + + + TextList + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 FullTimeEmployeeId} + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\fs24 \cf0 - empId: long} + + + Align + 0 + + + TextPlacement + 0 + + + Bounds + {{171, 81}, {135, 40}} + Class + MultiTextGraphic + FitText + Vertical + Flow + Resize + ID + 6 + ListOrientation + Vertical + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientCenter + {-0.294118, -0.264706} + + + TextList + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-BoldOblique;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\i\b\fs24 \cf2 EmployeeId} + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\fs24 \cf0 - userName: String} + + + Align + 0 + + + TextPlacement + 0 + + + Bounds + {{171, 18}, {135, 40}} + Class + MultiTextGraphic + FitText + Vertical + Flow + Resize + ID + 5 + ListOrientation + Vertical + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientCenter + {-0.294118, -0.264706} + + + TextList + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-BoldOblique;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\i\b\fs24 \cf2 PersonId} + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\fs24 \cf0 - ssn: String} + + + Align + 0 + + + TextPlacement + 0 + + + Bounds + {{27, 207}, {117, 38}} + Class + MultiTextGraphic + FitText + Vertical + Flow + Resize + ID + 4 + ListOrientation + Vertical + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientCenter + {-0.294118, -0.264706} + + + TextList + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 Manager} + + + Align + 0 + + + Align + 0 + + + TextPlacement + 0 + + + Bounds + {{27, 144}, {117, 40}} + Class + MultiTextGraphic + FitText + Vertical + Flow + Resize + ID + 3 + ListOrientation + Vertical + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientCenter + {-0.294118, -0.264706} + + + TextList + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 FullTimeEmployee} + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\fs24 \cf0 - empId: long} + + + Align + 0 + + + TextPlacement + 0 + + + Bounds + {{27, 81}, {117, 40}} + Class + MultiTextGraphic + FitText + Vertical + Flow + Resize + ID + 2 + ListOrientation + Vertical + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientCenter + {-0.294118, -0.264706} + + + TextList + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-BoldOblique;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\i\b\fs24 \cf2 Employee} + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\fs24 \cf0 - userName: String} + + + Align + 0 + + + TextPlacement + 0 + + + Bounds + {{27, 18}, {117, 40}} + Class + MultiTextGraphic + FitText + Vertical + Flow + Resize + ID + 1 + ListOrientation + Vertical + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientCenter + {-0.294118, -0.264706} + + + TextList + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-BoldOblique;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\i\b\fs24 \cf2 Person} + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\fs24 \cf0 - ssn: String} + + + Align + 0 + + + TextPlacement + 0 + + + GridInfo + + MinorGridColor + + a + 0.3 + w + 0.666667 + + SnapsToGrid + YES + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + IsPalette + NO + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + ChildOrdering + 0 + + LinksVisible + NO + MagnetsVisible + NO + Orientation + 2 + PageBreaks + YES + PageSetup + + BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE + hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT + dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE + mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQJk + gQMYhpKEmZkZTlNQcmludFJldmVyc2VPcmllbnRhdGlvboaShISECE5TTnVtYmVyAJ2b + hJeXAIaShJmZFE5TVmVydGljYWxQYWdpbmF0aW9uhpKEoZuilwCGkoSZmRROU1ZlcnRp + Y2FsbHlDZW50ZXJlZIaShKGbopcBhpKEmZkOTlNQTVBhZ2VGb3JtYXSGkoSEhAZOU0Rh + dGEAlJeBHbCEB1s3NjAwY108P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt + OCI/Pgo8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZSBDb21wdXRlci8vRFRE + IFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5 + TGlzdC0xLjAuZHRkIj4KPHBsaXN0IHZlcnNpb249IjEuMCI+CjxkaWN0PgoJPGtleT5j + b20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxk + aWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJ + PHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5j + b20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJ + PGRpY3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpv + bnRhbFJlczwva2V5PgoJCQkJPHJlYWw+NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5w + cmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDA1LTAyLTExVDAxOjA4OjM3Wjwv + ZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tl + eT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJ + PC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0 + aW9uPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3Jl + YXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3Ry + aW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4K + CQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZv + cm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+CgkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0 + cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwNS0w + Mi0xMVQwMTowODozN1o8L2RhdGU+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2Rp + Y3Q+CgkJPC9hcnJheT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VG + b3JtYXQuUE1TY2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5n + bWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVt + QXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQuUGFnZUZvcm1hdC5QTVNjYWxpbmc8L2tleT4KCQkJCTxyZWFsPjE8L3JlYWw+ + CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDA1 + LTAyLTExVDAxOjA4OjM3WjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwv + ZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFn + ZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20u + YXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJCQk8cmVh + bD43MjwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8 + L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5n + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJ + CTxkYXRlPjIwMDUtMDItMTFUMDE6MDg6MzdaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50 + ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBs + ZS5wcmludC5QYWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8ZGljdD4K + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJp + bmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0 + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsU2Nh + bGluZzwva2V5PgoJCQkJPHJlYWw+MTwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0 + Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIwMDUtMDItMTFUMDE6MDg6MzdaPC9kYXRl + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJ + CQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2Rp + Y3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5zdWJUaWNrZXQucGFwZXJfaW5mb190aWNr + ZXQ8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQu + UE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+ + CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAu + MDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJCQkJCQk8cmVhbD41NzY8L3Jl + YWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQu + Y2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2Vy + PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8 + L2tleT4KCQkJCQk8ZGF0ZT4yMDA1LTAyLTEzVDA4OjEzOjQ0WjwvZGF0ZT4KCQkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGlu + dGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+ + CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUFkanVzdGVkUGFwZXJS + ZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5j + cmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwv + c3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9r + ZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCQkJCTxhcnJheT4K + CQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJCQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJ + CTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJlYWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJy + YXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJ + CQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRh + dGU+MjAwNS0wMi0xM1QwODoxMzo0NFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVn + ZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5QTVBhcGVyTmFtZTwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNUGFwZXJO + YW1lPC9rZXk+CgkJCQkJPHN0cmluZz5uYS1sZXR0ZXI8L3N0cmluZz4KCQkJCQk8a2V5 + PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5j + b20uYXBwbGUucHJpbnQucG0uUG9zdFNjcmlwdDwvc3RyaW5nPgoJCQkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMy0w + Ny0wMVQxNzo0OTozNlo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8 + L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYWdlUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1 + c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3Jl + YWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJ + CQkJCQk8cmVhbD41NzY8L3JlYWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBw + bGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDA1LTAyLTExVDAxOjA4 + OjM3WjwvZGF0ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVG + bGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJ + PC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv + LlBNVW5hZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5nPmNvbS5hcHBs + ZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1c3RlZFBhcGVy + UmVjdDwva2V5PgoJCQkJCTxhcnJheT4KCQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJ + CQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJCTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJl + YWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJyYXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwNS0wMi0xMVQwMTowODozN1o8L2Rh + dGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5 + PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+ + CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1Q + YXBlck5hbWU8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnQucG0uUG9z + dFNjcmlwdDwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRl + bUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1QYXBlck5hbWU8L2tleT4KCQkJCQk8c3Ry + aW5nPlVTIExldHRlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludC5wbS5Q + b3N0U2NyaXB0PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0 + Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAzLTA3LTAxVDE3OjQ5OjM2WjwvZGF0 + ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+ + CgkJCQkJPGludGVnZXI+MTwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4K + CQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LkFQSVZlcnNpb248 + L2tleT4KCQk8c3RyaW5nPjAwLjIwPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0LnByaXZhdGVMb2NrPC9rZXk+CgkJPGZhbHNlLz4KCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQudHlwZTwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50LlBhcGVySW5mb1RpY2tldDwvc3RyaW5nPgoJPC9kaWN0PgoJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tleT4KCTxzdHJpbmc+MDAuMjA8L3N0 + cmluZz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5wcml2YXRlTG9jazwva2V5 + PgoJPGZhbHNlLz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC50eXBlPC9rZXk+ + Cgk8c3RyaW5nPmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0VGlja2V0PC9zdHJpbmc+ + CjwvZGljdD4KPC9wbGlzdD4KhpKEmZkPTlNQcmludEFsbFBhZ2VzhpKgkoSZmQtOU1Bh + cGVyTmFtZYaShJmZCW5hLWxldHRlcoaShJmZFU5TSG9yaXpvbmFsUGFnaW5hdGlvboaS + hKGbopcAhpKEmZkWTlNIb3Jpem9udGFsbHlDZW50ZXJlZIaSppKEmZkJTlNQcmludGVy + hpKEhIQJTlNQcmludGVyAJSShJmZASCGhpKEmZkITlNDb3BpZXOGkoShm6KXAYaShJmZ + D05TU2NhbGluZ0ZhY3RvcoaShKGbhIQBZqEBhpKEmZkNTlNSaWdodE1hcmdpboaShKGb + uKEkhpKEmZkOTlNCb3R0b21NYXJnaW6GkoShm7ihJIaShJmZDE5TTGVmdE1hcmdpboaS + hKGbuKEkhpKEmZkLTlNUb3BNYXJnaW6GkoShm7ihJIaShJmZCk5TTGFzdFBhZ2WGkoSh + m6KXgn////+GkoSZmQtOU0ZpcnN0UGFnZYaShKGbopcBhpKEmZkNTlNPcmllbnRhdGlv + boaShKGbopcAhoaG + + ReadOnly + NO + RowAlign + 0 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + NO + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + Frame + {{219, 37}, {618, 746}} + ShowRuler + + ShowStatusBar + + VisibleRegion + {{-31, 1}, {603, 648}} + Zoom + 1 + + + diff --git a/openjpa-project/src/doc/manual/img/basic-coll.graffle b/openjpa-project/src/doc/manual/img/basic-coll.graffle new file mode 100644 index 000000000..32e2e2aa6 --- /dev/null +++ b/openjpa-project/src/doc/manual/img/basic-coll.graffle @@ -0,0 +1,564 @@ + + + + + + CanvasColor + + w + 1 + + ColumnAlign + 1 + ColumnSpacing + 36 + GraphDocumentVersion + 4 + GraphicsList + + + Class + LineGraphic + ID + 45 + Points + + {387, 279} + {405, 279} + {405, 225} + {378, 225} + + Style + + stroke + + HeadArrow + FilledArrow + Pattern + 2 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 44 + Points + + {234, 252} + {270, 306} + + Style + + stroke + + HeadArrow + FilledArrow + Pattern + 1 + TailArrow + 0 + + + + + Bounds + {{270, 252}, {117, 63}} + Class + ShapedGraphic + ID + 43 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientColor + + b + 0 + g + 0 + r + 0.501961 + + + stroke + + Cap + 0 + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 \ul \ulc0 ART_SUBS\ + +\f1\b0 \ulnone ART_ID: BIGINT\ +ORD: INTEGER\ +SUBTITLE: VARCHAR} + + + + Class + LineGraphic + ID + 42 + Points + + {234, 234} + {270, 225} + + Style + + stroke + + HeadArrow + FilledArrow + Pattern + 1 + TailArrow + 0 + + + + + Bounds + {{270, 198}, {108, 36}} + Class + ShapedGraphic + ID + 41 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientColor + + b + 0 + g + 0 + r + 0.501961 + + + stroke + + Cap + 0 + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 \ul \ulc0 ART\ + +\f1\b0 \ulnone ID: BIGINT} + + + + Bounds + {{81, 214}, {153, 54}} + Class + MultiTextGraphic + FitText + Vertical + Flow + Resize + ID + 40 + ListOrientation + Vertical + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientCenter + {-0.294118, -0.264706} + + + TextList + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 Article} + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\fs24 \cf0 - id: long\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f1\b \cf0 - subtitles: List<String>} + + + Align + 0 + + + TextPlacement + 0 + + + Bounds + {{72, 189}, {342, 135}} + Class + ShapedGraphic + ID + 39 + Shape + Rectangle + Style + + fill + + Color + + a + 0.2 + b + 0.4 + g + 1 + r + 1 + + + + Text + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs24 \cf2 org.mag} + + TextPlacement + 0 + + + GridInfo + + ShowsGrid + YES + SnapsToGrid + YES + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + IsPalette + NO + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + ChildOrdering + 0 + + LinksVisible + NO + MagnetsVisible + NO + Orientation + 2 + PageBreaks + YES + PageSetup + + BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE + hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT + dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE + mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQJk + gQMYhpKEmZkZTlNQcmludFJldmVyc2VPcmllbnRhdGlvboaShISECE5TTnVtYmVyAJ2b + hJeXAIaShJmZFE5TVmVydGljYWxQYWdpbmF0aW9uhpKEoZuilwCGkoSZmRROU1ZlcnRp + Y2FsbHlDZW50ZXJlZIaShKGbopcBhpKEmZkOTlNQTVBhZ2VGb3JtYXSGkoSEhAZOU0Rh + dGEAlJeBHa2EB1s3NTk3Y108P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt + OCI/Pgo8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZSBDb21wdXRlci8vRFRE + IFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5 + TGlzdC0xLjAuZHRkIj4KPHBsaXN0IHZlcnNpb249IjEuMCI+CjxkaWN0PgoJPGtleT5j + b20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxk + aWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJ + PHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5j + b20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJ + PGRpY3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpv + bnRhbFJlczwva2V5PgoJCQkJPHJlYWw+NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5w + cmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDAzLTAxLTI0VDE2OjI4OjU0Wjwv + ZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tl + eT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJ + PC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0 + aW9uPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3Jl + YXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3Ry + aW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4K + CQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZv + cm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+CgkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0 + cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwMy0w + MS0yNFQxNjoyODo1NFo8L2RhdGU+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2Rp + Y3Q+CgkJPC9hcnJheT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VG + b3JtYXQuUE1TY2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5n + bWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVt + QXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQuUGFnZUZvcm1hdC5QTVNjYWxpbmc8L2tleT4KCQkJCTxyZWFsPjE8L3JlYWw+ + CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDAz + LTAxLTI0VDE2OjI4OjU0WjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwv + ZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFn + ZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20u + YXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJCQk8cmVh + bD43MjwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8 + L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5n + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJ + CTxkYXRlPjIwMDMtMDEtMjRUMTY6Mjg6NTRaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50 + ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBs + ZS5wcmludC5QYWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8ZGljdD4K + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJp + bmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0 + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsU2Nh + bGluZzwva2V5PgoJCQkJPHJlYWw+MTwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0 + Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIwMDMtMDEtMjRUMTY6Mjg6NTRaPC9kYXRl + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJ + CQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2Rp + Y3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5zdWJUaWNrZXQucGFwZXJfaW5mb190aWNr + ZXQ8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQu + UE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+ + CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAu + MDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJCQkJCQk8cmVhbD41NzY8L3Jl + YWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQu + Y2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2Vy + PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8 + L2tleT4KCQkJCQk8ZGF0ZT4yMDA1LTAzLTA1VDA2OjMzOjQ5WjwvZGF0ZT4KCQkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGlu + dGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+ + CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUFkanVzdGVkUGFwZXJS + ZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5j + cmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwv + c3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9r + ZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCQkJCTxhcnJheT4K + CQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJCQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJ + CTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJlYWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJy + YXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJ + CQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRh + dGU+MjAwNS0wMy0wNVQwNjozMzo0OVo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVn + ZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5QTVBhcGVyTmFtZTwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNUGFwZXJO + YW1lPC9rZXk+CgkJCQkJPHN0cmluZz5uYS1sZXR0ZXI8L3N0cmluZz4KCQkJCQk8a2V5 + PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5j + b20uYXBwbGUucHJpbnQucG0uUG9zdFNjcmlwdDwvc3RyaW5nPgoJCQkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMC0w + Ny0yOFQyMjo1NzowNFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8 + L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYWdlUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1 + c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3Jl + YWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJ + CQkJCQk8cmVhbD41NzY8L3JlYWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBw + bGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAzLTAxLTI0VDE2OjI4 + OjU0WjwvZGF0ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVG + bGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJ + PC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv + LlBNVW5hZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5nPmNvbS5hcHBs + ZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1c3RlZFBhcGVy + UmVjdDwva2V5PgoJCQkJCTxhcnJheT4KCQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJ + CQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJCTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJl + YWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJyYXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMy0wMS0yNFQxNjoyODo1NFo8L2Rh + dGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5 + PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+ + CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1Q + YXBlck5hbWU8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnQucG0uUG9z + dFNjcmlwdDwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRl + bUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1QYXBlck5hbWU8L2tleT4KCQkJCQk8c3Ry + aW5nPkxldHRlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0 + U2NyaXB0PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1v + ZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAwLTA3LTI4VDIyOjU3OjA0WjwvZGF0ZT4K + CQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJ + CQkJPGludGVnZXI+MTwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8 + L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tl + eT4KCQk8c3RyaW5nPjAwLjIwPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJpbnQu + dGlja2V0LnByaXZhdGVMb2NrPC9rZXk+CgkJPGZhbHNlLz4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQudHlwZTwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mb1RpY2tldDwvc3RyaW5nPgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tleT4KCTxzdHJpbmc+MDAuMjA8L3N0cmlu + Zz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5wcml2YXRlTG9jazwva2V5PgoJ + PGZhbHNlLz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC50eXBlPC9rZXk+Cgk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0VGlja2V0PC9zdHJpbmc+Cjwv + ZGljdD4KPC9wbGlzdD4KhpKEmZkPTlNQcmludEFsbFBhZ2VzhpKgkoSZmQtOU1BhcGVy + TmFtZYaShJmZBkxldHRlcoaShJmZFU5TSG9yaXpvbmFsUGFnaW5hdGlvboaShKGbopcA + hpKEmZkWTlNIb3Jpem9udGFsbHlDZW50ZXJlZIaSppKEmZkJTlNQcmludGVyhpKEhIQJ + TlNQcmludGVyAJSShJmZDkludGVybmFsIE1vZGVthoaShJmZCE5TQ29waWVzhpKEoZui + lwGGkoSZmQ9OU1NjYWxpbmdGYWN0b3KGkoShm4SEAWahAYaShJmZDU5TUmlnaHRNYXJn + aW6GkoShm7ihAIaShJmZDk5TQm90dG9tTWFyZ2luhpKEoZu4oQCGkoSZmQxOU0xlZnRN + YXJnaW6GkoShm7ihAIaShJmZC05TVG9wTWFyZ2luhpKEoZu4oQCGkoSZmQpOU0xhc3RQ + YWdlhpKEoZuil4J/////hpKEmZkLTlNGaXJzdFBhZ2WGkoShm6KXAYaShJmZDU5TT3Jp + ZW50YXRpb26GkoShm6KXAIaGhg== + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + Frame + {{259, 0}, {591, 832}} + ShowRuler + + ShowStatusBar + + VisibleRegion + {{0, 0}, {576, 734}} + Zoom + 1 + + + diff --git a/openjpa-project/src/doc/manual/img/embedded-coll.graffle b/openjpa-project/src/doc/manual/img/embedded-coll.graffle new file mode 100644 index 000000000..2cbe1ca0f --- /dev/null +++ b/openjpa-project/src/doc/manual/img/embedded-coll.graffle @@ -0,0 +1,751 @@ + + + + + + CanvasColor + + w + 1 + + ColumnAlign + 1 + ColumnSpacing + 36 + GraphDocumentVersion + 4 + GraphicsList + + + Class + LineGraphic + ID + 23 + Points + + {414, 198} + {396, 198} + {396, 135} + {180, 135} + + Style + + stroke + + HeadArrow + FilledArrow + Pattern + 2 + TailArrow + 0 + + + + + Class + LineGraphic + Head + + ID + 21 + Info + 1 + + ID + 22 + Points + + {135, 182} + {135, 154} + + Style + + stroke + + HeadArrow + FilledArrow + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 13 + + + + Bounds + {{90, 109}, {90, 45}} + Class + ShapedGraphic + ID + 21 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientColor + + b + 0 + g + 0 + r + 0.501961 + + + stroke + + Cap + 0 + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 \ul \ulc0 COMP\ + +\f1\b0 \ulnone CID: BIGINT} + + + + Class + LineGraphic + ID + 20 + Points + + {378, 252} + {414, 243} + + Style + + stroke + + HeadArrow + FilledArrow + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 19 + Points + + {378, 242} + {414, 233} + + Style + + stroke + + HeadArrow + FilledArrow + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 18 + Points + + {378, 224} + {414, 215} + + Style + + stroke + + HeadArrow + FilledArrow + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 17 + Points + + {378, 215} + {414, 206} + + Style + + stroke + + HeadArrow + FilledArrow + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 16 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {234, 206} + {270, 206} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 2 + TailArrow + 0 + + + + + Bounds + {{414, 162}, {108, 99}} + Class + ShapedGraphic + ID + 15 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientColor + + b + 0 + g + 0 + r + 0.501961 + + + stroke + + Cap + 0 + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 \ul \ulc0 COMP_ADDRS\ + +\f1\b0 \ulnone COMP_ID: BIGINT\ +STREET: VARCHAR\ +CITY: VARCHAR\ +STATE: CHAR(2)\ +ZIP: VARCHAR} + + + + Bounds + {{270, 195}, {108, 82}} + Class + MultiTextGraphic + FitText + Vertical + Flow + Resize + ID + 14 + ListOrientation + Vertical + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientCenter + {-0.294118, -0.264706} + GradientColor + + b + 0.701961 + g + 0.701961 + r + 0.701961 + + + + TextList + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 Address} + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\fs24 \cf0 - street: String\ +- city: String\ +- state: String\ +- zip: String} + + + Align + 0 + + + TextPlacement + 0 + + + Bounds + {{36, 182}, {198, 40}} + Class + MultiTextGraphic + FitText + Vertical + Flow + Resize + ID + 13 + ListOrientation + Vertical + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientCenter + {-0.294118, -0.264706} + + + TextList + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 Company} + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\fs24 \cf0 - addresses: Collection<Address>} + + + Align + 0 + + + TextPlacement + 0 + + + Bounds + {{27, 90}, {504, 198}} + Class + ShapedGraphic + ID + 12 + Shape + Rectangle + Style + + fill + + Color + + a + 0.2 + b + 0.4 + g + 1 + r + 1 + + + + Text + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs24 \cf2 org.mag.pub} + + TextPlacement + 0 + + + GridInfo + + ShowsGrid + YES + SnapsToGrid + YES + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + IsPalette + NO + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + ChildOrdering + 0 + + LinksVisible + NO + MagnetsVisible + NO + Orientation + 2 + PageBreaks + YES + PageSetup + + BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE + hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT + dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE + mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQJk + gQMYhpKEmZkZTlNQcmludFJldmVyc2VPcmllbnRhdGlvboaShISECE5TTnVtYmVyAJ2b + hJeXAIaShJmZFE5TVmVydGljYWxQYWdpbmF0aW9uhpKEoZuilwCGkoSZmRROU1ZlcnRp + Y2FsbHlDZW50ZXJlZIaShKGbopcBhpKEmZkOTlNQTVBhZ2VGb3JtYXSGkoSEhAZOU0Rh + dGEAlJeBHa2EB1s3NTk3Y108P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt + OCI/Pgo8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZSBDb21wdXRlci8vRFRE + IFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5 + TGlzdC0xLjAuZHRkIj4KPHBsaXN0IHZlcnNpb249IjEuMCI+CjxkaWN0PgoJPGtleT5j + b20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxk + aWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJ + PHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5j + b20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJ + PGRpY3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpv + bnRhbFJlczwva2V5PgoJCQkJPHJlYWw+NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5w + cmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDAzLTAxLTI0VDE2OjI4OjU0Wjwv + ZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tl + eT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJ + PC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0 + aW9uPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3Jl + YXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3Ry + aW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4K + CQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZv + cm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+CgkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0 + cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwMy0w + MS0yNFQxNjoyODo1NFo8L2RhdGU+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2Rp + Y3Q+CgkJPC9hcnJheT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VG + b3JtYXQuUE1TY2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5n + bWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVt + QXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQuUGFnZUZvcm1hdC5QTVNjYWxpbmc8L2tleT4KCQkJCTxyZWFsPjE8L3JlYWw+ + CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDAz + LTAxLTI0VDE2OjI4OjU0WjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwv + ZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFn + ZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20u + YXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJCQk8cmVh + bD43MjwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8 + L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5n + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJ + CTxkYXRlPjIwMDMtMDEtMjRUMTY6Mjg6NTRaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50 + ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBs + ZS5wcmludC5QYWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8ZGljdD4K + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJp + bmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0 + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsU2Nh + bGluZzwva2V5PgoJCQkJPHJlYWw+MTwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0 + Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIwMDMtMDEtMjRUMTY6Mjg6NTRaPC9kYXRl + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJ + CQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2Rp + Y3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5zdWJUaWNrZXQucGFwZXJfaW5mb190aWNr + ZXQ8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQu + UE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+ + CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAu + MDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJCQkJCQk8cmVhbD41NzY8L3Jl + YWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQu + Y2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2Vy + PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8 + L2tleT4KCQkJCQk8ZGF0ZT4yMDA1LTAzLTA1VDA0OjEwOjM3WjwvZGF0ZT4KCQkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGlu + dGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+ + CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUFkanVzdGVkUGFwZXJS + ZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5j + cmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwv + c3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9r + ZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCQkJCTxhcnJheT4K + CQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJCQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJ + CTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJlYWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJy + YXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJ + CQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRh + dGU+MjAwNS0wMy0wNVQwNDoxMDozN1o8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVn + ZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5QTVBhcGVyTmFtZTwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNUGFwZXJO + YW1lPC9rZXk+CgkJCQkJPHN0cmluZz5uYS1sZXR0ZXI8L3N0cmluZz4KCQkJCQk8a2V5 + PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5j + b20uYXBwbGUucHJpbnQucG0uUG9zdFNjcmlwdDwvc3RyaW5nPgoJCQkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMC0w + Ny0yOFQyMjo1NzowNFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8 + L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYWdlUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1 + c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3Jl + YWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJ + CQkJCQk8cmVhbD41NzY8L3JlYWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBw + bGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAzLTAxLTI0VDE2OjI4 + OjU0WjwvZGF0ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVG + bGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJ + PC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv + LlBNVW5hZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5nPmNvbS5hcHBs + ZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1c3RlZFBhcGVy + UmVjdDwva2V5PgoJCQkJCTxhcnJheT4KCQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJ + CQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJCTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJl + YWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJyYXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMy0wMS0yNFQxNjoyODo1NFo8L2Rh + dGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5 + PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+ + CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1Q + YXBlck5hbWU8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnQucG0uUG9z + dFNjcmlwdDwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRl + bUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1QYXBlck5hbWU8L2tleT4KCQkJCQk8c3Ry + aW5nPkxldHRlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0 + U2NyaXB0PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1v + ZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAwLTA3LTI4VDIyOjU3OjA0WjwvZGF0ZT4K + CQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJ + CQkJPGludGVnZXI+MTwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8 + L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tl + eT4KCQk8c3RyaW5nPjAwLjIwPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJpbnQu + dGlja2V0LnByaXZhdGVMb2NrPC9rZXk+CgkJPGZhbHNlLz4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQudHlwZTwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mb1RpY2tldDwvc3RyaW5nPgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tleT4KCTxzdHJpbmc+MDAuMjA8L3N0cmlu + Zz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5wcml2YXRlTG9jazwva2V5PgoJ + PGZhbHNlLz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC50eXBlPC9rZXk+Cgk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0VGlja2V0PC9zdHJpbmc+Cjwv + ZGljdD4KPC9wbGlzdD4KhpKEmZkPTlNQcmludEFsbFBhZ2VzhpKgkoSZmQtOU1BhcGVy + TmFtZYaShJmZBkxldHRlcoaShJmZFU5TSG9yaXpvbmFsUGFnaW5hdGlvboaShKGbopcA + hpKEmZkWTlNIb3Jpem9udGFsbHlDZW50ZXJlZIaSppKEmZkJTlNQcmludGVyhpKEhIQJ + TlNQcmludGVyAJSShJmZDkludGVybmFsIE1vZGVthoaShJmZCE5TQ29waWVzhpKEoZui + lwGGkoSZmQ9OU1NjYWxpbmdGYWN0b3KGkoShm4SEAWahAYaShJmZDU5TUmlnaHRNYXJn + aW6GkoShm7ihAIaShJmZDk5TQm90dG9tTWFyZ2luhpKEoZu4oQCGkoSZmQxOU0xlZnRN + YXJnaW6GkoShm7ihAIaShJmZC05TVG9wTWFyZ2luhpKEoZu4oQCGkoSZmQpOU0xhc3RQ + YWdlhpKEoZuil4J/////hpKEmZkLTlNGaXJzdFBhZ2WGkoShm6KXAYaShJmZDU5TT3Jp + ZW50YXRpb26GkoShm6KXAIaGhg== + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + Frame + {{224, -5}, {591, 832}} + ShowRuler + + ShowStatusBar + + VisibleRegion + {{0, 0}, {576, 734}} + Zoom + 1 + + + diff --git a/openjpa-project/src/doc/manual/img/enhancement.graffle b/openjpa-project/src/doc/manual/img/enhancement.graffle new file mode 100644 index 000000000..e4e8da0c6 --- /dev/null +++ b/openjpa-project/src/doc/manual/img/enhancement.graffle @@ -0,0 +1,593 @@ + + + + + + CanvasColor + + w + 1 + + ColumnAlign + 0 + ColumnSpacing + 36 + GraphDocumentVersion + 4 + GraphicsList + + + Class + LineGraphic + Head + + ID + 11 + + ID + 16 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {445.583, 80.9999} + {445.696, 124.044} + {328.696, 124.044} + {319.5, 73.9125} + + Style + + stroke + + Cap + 0 + HeadArrow + FilledArrow + Join + 0 + LineType + 2 + TailArrow + 0 + + + Tail + + ID + 12 + + + + Class + LineGraphic + Head + + ID + 12 + + ID + 15 + Points + + {369, 49.5} + {405, 49.5} + + Style + + stroke + + Cap + 0 + HeadArrow + FilledArrow + Join + 0 + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 11 + Info + 3 + + + + Class + LineGraphic + Head + + ID + 11 + + ID + 14 + Points + + {234, 49.5} + {270, 49.5} + + Style + + stroke + + Cap + 0 + HeadArrow + FilledArrow + Join + 0 + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 10 + + + + Class + LineGraphic + Head + + ID + 10 + + ID + 13 + Points + + {117, 49.5} + {153, 49.5} + + Style + + stroke + + Cap + 0 + HeadArrow + FilledArrow + Join + 0 + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 9 + Info + 3 + + + + Bounds + {{405, 18}, {81, 63}} + Class + ShapedGraphic + ID + 12 + Shape + Circle + Style + + fill + + FillType + 3 + GradientColor + + b + 0 + g + 0 + r + 0.501961 + + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf0 enhancer} + + + + Bounds + {{270, 18}, {99, 63}} + Class + ShapedGraphic + ID + 11 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + DocumentShape + Style + + fill + + FillType + 2 + GradientAngle + 304 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 Magazine.class} + + + + Bounds + {{153, 18}, {81, 63}} + Class + ShapedGraphic + ID + 10 + Shape + Circle + Style + + fill + + FillType + 3 + GradientColor + + b + 0 + g + 0 + r + 0.501961 + + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue0;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 javac/jikes} + + + + Bounds + {{18, 18}, {99, 63}} + Class + ShapedGraphic + ID + 9 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + DocumentShape + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientColor + + b + 0.6 + g + 0.6 + r + 0.6 + + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 Magazine.java} + + + + GridInfo + + SnapsToGrid + YES + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + IsPalette + NO + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + ChildOrdering + 0 + + LinksVisible + NO + MagnetsVisible + NO + Orientation + 2 + PageBreaks + YES + PageSetup + + BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE + hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT + dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE + mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQJk + gQMYhpKEmZkZTlNQcmludFJldmVyc2VPcmllbnRhdGlvboaShISECE5TTnVtYmVyAJ2b + hJeXAIaShJmZFE5TVmVydGljYWxQYWdpbmF0aW9uhpKEoZuilwCGkoSZmRROU1ZlcnRp + Y2FsbHlDZW50ZXJlZIaShKGbopcBhpKEmZkOTlNQTVBhZ2VGb3JtYXSGkoSEhAZOU0Rh + dGEAlJeBHa2EB1s3NTk3Y108P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt + OCI/Pgo8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZSBDb21wdXRlci8vRFRE + IFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5 + TGlzdC0xLjAuZHRkIj4KPHBsaXN0IHZlcnNpb249IjEuMCI+CjxkaWN0PgoJPGtleT5j + b20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxk + aWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJ + PHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5j + b20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJ + PGRpY3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpv + bnRhbFJlczwva2V5PgoJCQkJPHJlYWw+NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5w + cmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDAzLTAyLTI1VDIxOjMwOjA3Wjwv + ZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tl + eT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJ + PC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0 + aW9uPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3Jl + YXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3Ry + aW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4K + CQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZv + cm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+CgkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0 + cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwMy0w + Mi0yNVQyMTozMDowN1o8L2RhdGU+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2Rp + Y3Q+CgkJPC9hcnJheT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VG + b3JtYXQuUE1TY2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5n + bWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVt + QXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQuUGFnZUZvcm1hdC5QTVNjYWxpbmc8L2tleT4KCQkJCTxyZWFsPjE8L3JlYWw+ + CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDAz + LTAyLTI1VDIxOjMwOjA3WjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwv + ZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFn + ZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20u + YXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJCQk8cmVh + bD43MjwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8 + L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5n + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJ + CTxkYXRlPjIwMDMtMDItMjVUMjE6MzA6MDdaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50 + ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBs + ZS5wcmludC5QYWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8ZGljdD4K + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJp + bmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0 + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsU2Nh + bGluZzwva2V5PgoJCQkJPHJlYWw+MTwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0 + Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIwMDMtMDItMjVUMjE6MzA6MDdaPC9kYXRl + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJ + CQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2Rp + Y3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5zdWJUaWNrZXQucGFwZXJfaW5mb190aWNr + ZXQ8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQu + UE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+ + CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAu + MDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJCQkJCQk8cmVhbD41NzY8L3Jl + YWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQu + Y2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2Vy + PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8 + L2tleT4KCQkJCQk8ZGF0ZT4yMDA1LTAyLTExVDA4OjE3OjI1WjwvZGF0ZT4KCQkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGlu + dGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+ + CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUFkanVzdGVkUGFwZXJS + ZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5j + cmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwv + c3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9r + ZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCQkJCTxhcnJheT4K + CQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJCQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJ + CTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJlYWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJy + YXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJ + CQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRh + dGU+MjAwNS0wMi0xMVQwODoxNzoyNVo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVn + ZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5QTVBhcGVyTmFtZTwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNUGFwZXJO + YW1lPC9rZXk+CgkJCQkJPHN0cmluZz5uYS1sZXR0ZXI8L3N0cmluZz4KCQkJCQk8a2V5 + PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5j + b20uYXBwbGUucHJpbnQucG0uUG9zdFNjcmlwdDwvc3RyaW5nPgoJCQkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMC0w + Ny0yOFQyMjo1NzowNFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8 + L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYWdlUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1 + c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3Jl + YWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJ + CQkJCQk8cmVhbD41NzY8L3JlYWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBw + bGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAzLTAyLTI1VDIxOjMw + OjA3WjwvZGF0ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVG + bGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJ + PC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv + LlBNVW5hZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5nPmNvbS5hcHBs + ZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1c3RlZFBhcGVy + UmVjdDwva2V5PgoJCQkJCTxhcnJheT4KCQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJ + CQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJCTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJl + YWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJyYXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMy0wMi0yNVQyMTozMDowN1o8L2Rh + dGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5 + PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+ + CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1Q + YXBlck5hbWU8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnQucG0uUG9z + dFNjcmlwdDwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRl + bUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1QYXBlck5hbWU8L2tleT4KCQkJCQk8c3Ry + aW5nPkxldHRlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0 + U2NyaXB0PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1v + ZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAwLTA3LTI4VDIyOjU3OjA0WjwvZGF0ZT4K + CQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJ + CQkJPGludGVnZXI+MTwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8 + L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tl + eT4KCQk8c3RyaW5nPjAwLjIwPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJpbnQu + dGlja2V0LnByaXZhdGVMb2NrPC9rZXk+CgkJPGZhbHNlLz4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQudHlwZTwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mb1RpY2tldDwvc3RyaW5nPgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tleT4KCTxzdHJpbmc+MDAuMjA8L3N0cmlu + Zz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5wcml2YXRlTG9jazwva2V5PgoJ + PGZhbHNlLz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC50eXBlPC9rZXk+Cgk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0VGlja2V0PC9zdHJpbmc+Cjwv + ZGljdD4KPC9wbGlzdD4KhpKEmZkPTlNQcmludEFsbFBhZ2VzhpKgkoSZmQtOU1BhcGVy + TmFtZYaShJmZCW5hLWxldHRlcoaShJmZFU5TSG9yaXpvbmFsUGFnaW5hdGlvboaShKGb + opcAhpKEmZkWTlNIb3Jpem9udGFsbHlDZW50ZXJlZIaSppKEmZkJTlNQcmludGVyhpKE + hIQJTlNQcmludGVyAJSShJmZASCGhpKEmZkITlNDb3BpZXOGkoShm6KXAYaShJmZD05T + U2NhbGluZ0ZhY3RvcoaShKGbhIQBZqEBhpKEmZkNTlNSaWdodE1hcmdpboaShKGbuKEk + hpKEmZkOTlNCb3R0b21NYXJnaW6GkoShm7ihJIaShJmZDE5TTGVmdE1hcmdpboaShKGb + uKEkhpKEmZkLTlNUb3BNYXJnaW6GkoShm7ihJIaShJmZCk5TTGFzdFBhZ2WGkoShm6KX + gn////+GkoSZmQtOU0ZpcnN0UGFnZYaShKGbopcBhpKEmZkNTlNPcmllbnRhdGlvboaS + hKGbopcAhoaG + + ReadOnly + NO + RowAlign + 0 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + NO + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + Frame + {{246, -69}, {555, 797}} + ShowRuler + + ShowStatusBar + + VisibleRegion + {{0, 1}, {540, 699}} + Zoom + 1 + + + diff --git a/openjpa-project/src/doc/manual/img/inher-superclass-table.graffle b/openjpa-project/src/doc/manual/img/inher-superclass-table.graffle new file mode 100644 index 000000000..99680bf8f --- /dev/null +++ b/openjpa-project/src/doc/manual/img/inher-superclass-table.graffle @@ -0,0 +1,556 @@ + + + + + + CanvasColor + + w + 1 + + ColumnAlign + 1 + ColumnSpacing + 36 + GraphDocumentVersion + 4 + GraphicsList + + + Class + LineGraphic + Head + + ID + 75 + + ID + 80 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {81, 432} + {81, 390} + + Style + + stroke + + HeadArrow + Arrow + LineType + 2 + TailArrow + 0 + + + Tail + + ID + 78 + + + + Class + LineGraphic + Head + + ID + 77 + Position + 0.90594518184661865 + + ID + 79 + OrthogonalBarAutomatic + + OrthogonalBarPosition + 2 + Points + + {126, 439.143} + {144, 433} + {156.127, 409.5} + + Style + + stroke + + HeadArrow + 0 + LineType + 2 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 78 + + + + Bounds + {{36, 432}, {90, 45}} + Class + ShapedGraphic + ID + 78 + Shape + Rectangle + Style + + fill + + FillType + 2 + GradientAngle + 304 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 Lifetime\ +Subscription} + + + + Class + LineGraphic + Head + + ID + 76 + + ID + 77 + OrthogonalBarAutomatic + + OrthogonalBarPosition + 6 + Points + + {126, 383.056} + {162, 409.5} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 2 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 75 + + + + Bounds + {{162, 378}, {81, 63}} + Class + ShapedGraphic + ID + 76 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientColor + + b + 0 + g + 0 + r + 0.501961 + + + stroke + + Cap + 0 + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 \ul \ulc0 CNTRCT.\ +SUB\ + +\f1\b0 \ulnone ID: BIGINT} + + + + Bounds + {{36, 345}, {90, 45}} + Class + ShapedGraphic + ID + 75 + Shape + Rectangle + Style + + fill + + FillType + 2 + GradientAngle + 304 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 Subscription} + + + + Bounds + {{27, 324}, {225, 162}} + Class + ShapedGraphic + ID + 74 + Shape + Rectangle + Style + + fill + + Color + + a + 0.2 + b + 0.4 + g + 1 + r + 1 + + + + Text + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs24 \cf2 org.mag.subscribe} + + TextPlacement + 0 + + + GridInfo + + ShowsGrid + YES + SnapsToGrid + YES + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + IsPalette + NO + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + ChildOrdering + 0 + + LinksVisible + NO + MagnetsVisible + NO + Orientation + 2 + PageBreaks + YES + PageSetup + + BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE + hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT + dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE + mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQJk + gQMYhpKEmZkZTlNQcmludFJldmVyc2VPcmllbnRhdGlvboaShISECE5TTnVtYmVyAJ2b + hJeXAIaShJmZFE5TVmVydGljYWxQYWdpbmF0aW9uhpKEoZuilwCGkoSZmRROU1ZlcnRp + Y2FsbHlDZW50ZXJlZIaShKGbopcBhpKEmZkOTlNQTVBhZ2VGb3JtYXSGkoSEhAZOU0Rh + dGEAlJeBHa2EB1s3NTk3Y108P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt + OCI/Pgo8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZSBDb21wdXRlci8vRFRE + IFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5 + TGlzdC0xLjAuZHRkIj4KPHBsaXN0IHZlcnNpb249IjEuMCI+CjxkaWN0PgoJPGtleT5j + b20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxk + aWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJ + PHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5j + b20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJ + PGRpY3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpv + bnRhbFJlczwva2V5PgoJCQkJPHJlYWw+NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5w + cmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDAzLTAxLTI0VDE2OjI4OjU0Wjwv + ZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tl + eT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJ + PC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0 + aW9uPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3Jl + YXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3Ry + aW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4K + CQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZv + cm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+CgkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0 + cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwMy0w + MS0yNFQxNjoyODo1NFo8L2RhdGU+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2Rp + Y3Q+CgkJPC9hcnJheT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VG + b3JtYXQuUE1TY2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5n + bWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVt + QXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQuUGFnZUZvcm1hdC5QTVNjYWxpbmc8L2tleT4KCQkJCTxyZWFsPjE8L3JlYWw+ + CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDAz + LTAxLTI0VDE2OjI4OjU0WjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwv + ZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFn + ZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20u + YXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJCQk8cmVh + bD43MjwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8 + L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5n + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJ + CTxkYXRlPjIwMDMtMDEtMjRUMTY6Mjg6NTRaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50 + ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBs + ZS5wcmludC5QYWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8ZGljdD4K + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJp + bmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0 + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsU2Nh + bGluZzwva2V5PgoJCQkJPHJlYWw+MTwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0 + Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIwMDMtMDEtMjRUMTY6Mjg6NTRaPC9kYXRl + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJ + CQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2Rp + Y3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5zdWJUaWNrZXQucGFwZXJfaW5mb190aWNr + ZXQ8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQu + UE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+ + CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAu + MDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJCQkJCQk8cmVhbD41NzY8L3Jl + YWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQu + Y2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2Vy + PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8 + L2tleT4KCQkJCQk8ZGF0ZT4yMDA1LTAzLTAxVDA3OjUyOjQ3WjwvZGF0ZT4KCQkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGlu + dGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+ + CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUFkanVzdGVkUGFwZXJS + ZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5j + cmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwv + c3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9r + ZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCQkJCTxhcnJheT4K + CQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJCQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJ + CTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJlYWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJy + YXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJ + CQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRh + dGU+MjAwNS0wMy0wMVQwNzo1Mjo0N1o8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVn + ZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5QTVBhcGVyTmFtZTwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNUGFwZXJO + YW1lPC9rZXk+CgkJCQkJPHN0cmluZz5uYS1sZXR0ZXI8L3N0cmluZz4KCQkJCQk8a2V5 + PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5j + b20uYXBwbGUucHJpbnQucG0uUG9zdFNjcmlwdDwvc3RyaW5nPgoJCQkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMC0w + Ny0yOFQyMjo1NzowNFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8 + L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYWdlUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1 + c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3Jl + YWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJ + CQkJCQk8cmVhbD41NzY8L3JlYWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBw + bGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAzLTAxLTI0VDE2OjI4 + OjU0WjwvZGF0ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVG + bGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJ + PC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv + LlBNVW5hZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5nPmNvbS5hcHBs + ZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1c3RlZFBhcGVy + UmVjdDwva2V5PgoJCQkJCTxhcnJheT4KCQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJ + CQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJCTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJl + YWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJyYXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMy0wMS0yNFQxNjoyODo1NFo8L2Rh + dGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5 + PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+ + CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1Q + YXBlck5hbWU8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnQucG0uUG9z + dFNjcmlwdDwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRl + bUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1QYXBlck5hbWU8L2tleT4KCQkJCQk8c3Ry + aW5nPkxldHRlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0 + U2NyaXB0PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1v + ZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAwLTA3LTI4VDIyOjU3OjA0WjwvZGF0ZT4K + CQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJ + CQkJPGludGVnZXI+MTwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8 + L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tl + eT4KCQk8c3RyaW5nPjAwLjIwPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJpbnQu + dGlja2V0LnByaXZhdGVMb2NrPC9rZXk+CgkJPGZhbHNlLz4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQudHlwZTwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mb1RpY2tldDwvc3RyaW5nPgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tleT4KCTxzdHJpbmc+MDAuMjA8L3N0cmlu + Zz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5wcml2YXRlTG9jazwva2V5PgoJ + PGZhbHNlLz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC50eXBlPC9rZXk+Cgk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0VGlja2V0PC9zdHJpbmc+Cjwv + ZGljdD4KPC9wbGlzdD4KhpKEmZkPTlNQcmludEFsbFBhZ2VzhpKgkoSZmQtOU1BhcGVy + TmFtZYaShJmZBkxldHRlcoaShJmZFU5TSG9yaXpvbmFsUGFnaW5hdGlvboaShKGbopcA + hpKEmZkWTlNIb3Jpem9udGFsbHlDZW50ZXJlZIaSppKEmZkJTlNQcmludGVyhpKEhIQJ + TlNQcmludGVyAJSShJmZDkludGVybmFsIE1vZGVthoaShJmZCE5TQ29waWVzhpKEoZui + lwGGkoSZmQ9OU1NjYWxpbmdGYWN0b3KGkoShm4SEAWahAYaShJmZDU5TUmlnaHRNYXJn + aW6GkoShm7ihAIaShJmZDk5TQm90dG9tTWFyZ2luhpKEoZu4oQCGkoSZmQxOU0xlZnRN + YXJnaW6GkoShm7ihAIaShJmZC05TVG9wTWFyZ2luhpKEoZu4oQCGkoSZmQpOU0xhc3RQ + YWdlhpKEoZuil4J/////hpKEmZkLTlNGaXJzdFBhZ2WGkoShm6KXAYaShJmZDU5TT3Jp + ZW50YXRpb26GkoShm6KXAIaGhg== + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + Frame + {{240, -2}, {591, 832}} + ShowRuler + + ShowStatusBar + + VisibleRegion + {{0, 0}, {576, 734}} + Zoom + 1 + + + diff --git a/openjpa-project/src/doc/manual/img/inher-tpc.graffle b/openjpa-project/src/doc/manual/img/inher-tpc.graffle new file mode 100644 index 000000000..c67d55a5c --- /dev/null +++ b/openjpa-project/src/doc/manual/img/inher-tpc.graffle @@ -0,0 +1,655 @@ + + + + + + CanvasColor + + w + 1 + + ColumnAlign + 1 + ColumnSpacing + 36 + GraphDocumentVersion + 4 + GraphicsList + + + Class + LineGraphic + ID + 7 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {162, 198} + {198, 198} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 2 + Pattern + 1 + TailArrow + 0 + + + + + Bounds + {{72, 171}, {90, 54}} + Class + MultiTextGraphic + FitText + Vertical + Flow + Resize + ID + 6 + ListOrientation + Vertical + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientCenter + {-0.294118, -0.264706} + GradientColor + + b + 0.701961 + g + 0.701961 + r + 0.701961 + + + + TextList + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 Tabloid} + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\fs24 \cf0 - data: Object\ +...} + + + Align + 0 + + + TextPlacement + 0 + + + Bounds + {{72, 72}, {90, 68}} + Class + MultiTextGraphic + FitText + Vertical + Flow + Resize + ID + 5 + ListOrientation + Vertical + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientCenter + {-0.294118, -0.264706} + GradientColor + + b + 0.701961 + g + 0.701961 + r + 0.701961 + + + + TextList + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 Magazine} + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\fs24 \cf0 - isbn: String\ +- title: String\ +...} + + + Align + 0 + + + TextPlacement + 0 + + + Class + LineGraphic + ID + 4 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {162, 108} + {198, 108} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 2 + Pattern + 1 + TailArrow + 0 + + + + + Bounds + {{198, 164.5}, {99, 81}} + Class + ShapedGraphic + ID + 3 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientColor + + b + 0 + g + 0 + r + 0.501961 + + + stroke + + Cap + 0 + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 \ul \ulc0 TABLOID\ + +\f1\b0 \ulnone ISBN: VARCHAR\ +TITLE: VARCHAR\ +...\ +TAB_DATA: BLOB} + + + + Bounds + {{198, 72.5}, {99, 62.5}} + Class + ShapedGraphic + ID + 2 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientColor + + b + 0 + g + 0 + r + 0.501961 + + + stroke + + Cap + 0 + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 \ul \ulc0 MAG\ + +\f1\b0 \ulnone ISBN: VARCHAR\ +TITLE: VARCHAR\ +...} + + + + Bounds + {{63, 45}, {243, 207}} + Class + ShapedGraphic + ID + 1 + Shape + Rectangle + Style + + fill + + Color + + a + 0.2 + b + 0.4 + g + 1 + r + 1 + + + + Text + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs24 \cf2 org.mag} + + TextPlacement + 0 + + + GridInfo + + ShowsGrid + YES + SnapsToGrid + YES + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + IsPalette + NO + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + ChildOrdering + 0 + + LinksVisible + NO + MagnetsVisible + NO + ModificationDate + 2005-09-26 11:52:17 -0500 + Modifier + Abe White + Orientation + 2 + PageBreaks + YES + PageSetup + + BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE + hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT + dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE + mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQJk + gQMYhpKEmZkZTlNQcmludFJldmVyc2VPcmllbnRhdGlvboaShISECE5TTnVtYmVyAJ2b + hJeXAIaShJmZFE5TVmVydGljYWxQYWdpbmF0aW9uhpKEoZuilwCGkoSZmRROU1ZlcnRp + Y2FsbHlDZW50ZXJlZIaShKGbopcBhpKEmZkOTlNQTVBhZ2VGb3JtYXSGkoSEhAZOU0Rh + dGEAlJeBHa2EB1s3NTk3Y108P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt + OCI/Pgo8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZSBDb21wdXRlci8vRFRE + IFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5 + TGlzdC0xLjAuZHRkIj4KPHBsaXN0IHZlcnNpb249IjEuMCI+CjxkaWN0PgoJPGtleT5j + b20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxk + aWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJ + PHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5j + b20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJ + PGRpY3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpv + bnRhbFJlczwva2V5PgoJCQkJPHJlYWw+NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5w + cmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDAzLTAxLTI0VDE2OjI4OjU0Wjwv + ZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tl + eT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJ + PC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0 + aW9uPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3Jl + YXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3Ry + aW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4K + CQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZv + cm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+CgkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0 + cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwMy0w + MS0yNFQxNjoyODo1NFo8L2RhdGU+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2Rp + Y3Q+CgkJPC9hcnJheT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VG + b3JtYXQuUE1TY2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5n + bWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVt + QXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQuUGFnZUZvcm1hdC5QTVNjYWxpbmc8L2tleT4KCQkJCTxyZWFsPjE8L3JlYWw+ + CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDAz + LTAxLTI0VDE2OjI4OjU0WjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwv + ZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFn + ZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20u + YXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJCQk8cmVh + bD43MjwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8 + L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5n + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJ + CTxkYXRlPjIwMDMtMDEtMjRUMTY6Mjg6NTRaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50 + ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBs + ZS5wcmludC5QYWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8ZGljdD4K + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJp + bmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0 + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsU2Nh + bGluZzwva2V5PgoJCQkJPHJlYWw+MTwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0 + Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIwMDMtMDEtMjRUMTY6Mjg6NTRaPC9kYXRl + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJ + CQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2Rp + Y3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5zdWJUaWNrZXQucGFwZXJfaW5mb190aWNr + ZXQ8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQu + UE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+ + CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAu + MDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJCQkJCQk8cmVhbD41NzY8L3Jl + YWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQu + Y2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2Vy + PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8 + L2tleT4KCQkJCQk8ZGF0ZT4yMDA1LTA5LTI2VDE2OjUxOjAwWjwvZGF0ZT4KCQkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGlu + dGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+ + CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUFkanVzdGVkUGFwZXJS + ZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5j + cmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwv + c3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9r + ZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCQkJCTxhcnJheT4K + CQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJCQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJ + CTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJlYWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJy + YXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJ + CQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRh + dGU+MjAwNS0wOS0yNlQxNjo1MTowMFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVn + ZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5QTVBhcGVyTmFtZTwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNUGFwZXJO + YW1lPC9rZXk+CgkJCQkJPHN0cmluZz5uYS1sZXR0ZXI8L3N0cmluZz4KCQkJCQk8a2V5 + PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5j + b20uYXBwbGUucHJpbnQucG0uUG9zdFNjcmlwdDwvc3RyaW5nPgoJCQkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMC0w + Ny0yOFQyMjo1NzowNFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8 + L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYWdlUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1 + c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3Jl + YWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJ + CQkJCQk8cmVhbD41NzY8L3JlYWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBw + bGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAzLTAxLTI0VDE2OjI4 + OjU0WjwvZGF0ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVG + bGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJ + PC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv + LlBNVW5hZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5nPmNvbS5hcHBs + ZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1c3RlZFBhcGVy + UmVjdDwva2V5PgoJCQkJCTxhcnJheT4KCQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJ + CQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJCTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJl + YWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJyYXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMy0wMS0yNFQxNjoyODo1NFo8L2Rh + dGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5 + PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+ + CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1Q + YXBlck5hbWU8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnQucG0uUG9z + dFNjcmlwdDwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRl + bUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1QYXBlck5hbWU8L2tleT4KCQkJCQk8c3Ry + aW5nPkxldHRlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0 + U2NyaXB0PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1v + ZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAwLTA3LTI4VDIyOjU3OjA0WjwvZGF0ZT4K + CQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJ + CQkJPGludGVnZXI+MTwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8 + L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tl + eT4KCQk8c3RyaW5nPjAwLjIwPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJpbnQu + dGlja2V0LnByaXZhdGVMb2NrPC9rZXk+CgkJPGZhbHNlLz4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQudHlwZTwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mb1RpY2tldDwvc3RyaW5nPgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tleT4KCTxzdHJpbmc+MDAuMjA8L3N0cmlu + Zz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5wcml2YXRlTG9jazwva2V5PgoJ + PGZhbHNlLz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC50eXBlPC9rZXk+Cgk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0VGlja2V0PC9zdHJpbmc+Cjwv + ZGljdD4KPC9wbGlzdD4KhpKEmZkPTlNQcmludEFsbFBhZ2VzhpKgkoSZmQtOU1BhcGVy + TmFtZYaShJmZCW5hLWxldHRlcoaShJmZFU5TSG9yaXpvbmFsUGFnaW5hdGlvboaShKGb + opcAhpKEmZkWTlNIb3Jpem9udGFsbHlDZW50ZXJlZIaSppKEmZkJTlNQcmludGVyhpKE + hIQJTlNQcmludGVyAJSShJmZASCGhpKEmZkITlNDb3BpZXOGkoShm6KXAYaShJmZD05T + U2NhbGluZ0ZhY3RvcoaShKGbhIQBZqEBhpKEmZkNTlNSaWdodE1hcmdpboaShKGbuKEA + hpKEmZkOTlNCb3R0b21NYXJnaW6GkoShm7ihAIaShJmZDE5TTGVmdE1hcmdpboaShKGb + uKEAhpKEmZkLTlNUb3BNYXJnaW6GkoShm7ihAIaShJmZCk5TTGFzdFBhZ2WGkoShm6KX + gn////+GkoSZmQtOU0ZpcnN0UGFnZYaShKGbopcBhpKEmZkNTlNPcmllbnRhdGlvboaS + hKGbopcAhoaG + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + Frame + {{319, -1}, {591, 832}} + ShowRuler + + ShowStatusBar + + VisibleRegion + {{0, 0}, {576, 734}} + Zoom + 1 + + + diff --git a/openjpa-project/src/doc/manual/img/inv-key-coll.graffle b/openjpa-project/src/doc/manual/img/inv-key-coll.graffle new file mode 100644 index 000000000..977a2e84b --- /dev/null +++ b/openjpa-project/src/doc/manual/img/inv-key-coll.graffle @@ -0,0 +1,649 @@ + + + + + + CanvasColor + + w + 1 + + ColumnAlign + 1 + ColumnSpacing + 36 + GraphDocumentVersion + 4 + GraphicsList + + + Class + LineGraphic + ID + 9 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {153, 324} + {225, 324} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 2 + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 8 + Points + + {189, 261} + {225, 351} + + Style + + stroke + + HeadArrow + FilledArrow + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 7 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {189, 252} + {225, 252} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 2 + Pattern + 1 + TailArrow + 0 + + + + + Bounds + {{54, 312}, {99, 45}} + Class + ShapedGraphic + ID + 6 + Shape + Rectangle + Style + + fill + + FillType + 2 + GradientAngle + 304 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 LineItem} + + + + Bounds + {{18, 242}, {171, 40}} + Class + MultiTextGraphic + FitText + Vertical + Flow + Resize + ID + 5 + ListOrientation + Vertical + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientCenter + {-0.294118, -0.264706} + GradientColor + + b + 0.701961 + g + 0.701961 + r + 0.701961 + + + + TextList + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 Subscription} + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\fs24 \cf0 - items: Collection<LineItem>} + + + Align + 0 + + + TextPlacement + 0 + + + Class + LineGraphic + ID + 4 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {333, 351} + {351, 351} + {351, 279} + {333, 279} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 2 + Pattern + 2 + TailArrow + 0 + + + + + Bounds + {{225, 309}, {108, 51}} + Class + ShapedGraphic + ID + 3 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientColor + + b + 0 + g + 0 + r + 0.501961 + + + stroke + + Cap + 0 + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 \ul \ulc0 CNTRCT.\ +LINE_ITEM +\f1\b0 \ulnone \ +SUB_ID: BIGINT} + + + + Bounds + {{225, 237}, {108, 51}} + Class + ShapedGraphic + ID + 2 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientColor + + b + 0 + g + 0 + r + 0.501961 + + + stroke + + Cap + 0 + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 \ul \ulc0 CNTRCT.\ +SUB\ + +\f1\b0 \ulnone ID: BIGINT} + + + + Bounds + {{9, 218}, {351, 151}} + Class + ShapedGraphic + ID + 1 + Shape + Rectangle + Style + + fill + + Color + + a + 0.2 + b + 0.4 + g + 1 + r + 1 + + + + Text + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs24 \cf2 org.mag.subscribe} + + TextPlacement + 0 + + + GridInfo + + ShowsGrid + YES + SnapsToGrid + YES + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + IsPalette + NO + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + LinksVisible + NO + MagnetsVisible + NO + Orientation + 2 + PageBreaks + YES + PageSetup + + BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE + hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT + dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE + mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQJk + gQMYhpKEmZkZTlNQcmludFJldmVyc2VPcmllbnRhdGlvboaShISECE5TTnVtYmVyAJ2b + hJeXAIaShJmZFE5TVmVydGljYWxQYWdpbmF0aW9uhpKEoZuilwCGkoSZmRROU1ZlcnRp + Y2FsbHlDZW50ZXJlZIaShKGbopcBhpKEmZkOTlNQTVBhZ2VGb3JtYXSGkoSEhAZOU0Rh + dGEAlJeBHa2EB1s3NTk3Y108P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt + OCI/Pgo8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZSBDb21wdXRlci8vRFRE + IFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5 + TGlzdC0xLjAuZHRkIj4KPHBsaXN0IHZlcnNpb249IjEuMCI+CjxkaWN0PgoJPGtleT5j + b20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxk + aWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJ + PHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5j + b20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJ + PGRpY3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpv + bnRhbFJlczwva2V5PgoJCQkJPHJlYWw+NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5w + cmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDAzLTAxLTI0VDE2OjI4OjU0Wjwv + ZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tl + eT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJ + PC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0 + aW9uPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3Jl + YXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3Ry + aW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4K + CQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZv + cm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+CgkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0 + cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwMy0w + MS0yNFQxNjoyODo1NFo8L2RhdGU+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2Rp + Y3Q+CgkJPC9hcnJheT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VG + b3JtYXQuUE1TY2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5n + bWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVt + QXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQuUGFnZUZvcm1hdC5QTVNjYWxpbmc8L2tleT4KCQkJCTxyZWFsPjE8L3JlYWw+ + CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDAz + LTAxLTI0VDE2OjI4OjU0WjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwv + ZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFn + ZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20u + YXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJCQk8cmVh + bD43MjwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8 + L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5n + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJ + CTxkYXRlPjIwMDMtMDEtMjRUMTY6Mjg6NTRaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50 + ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBs + ZS5wcmludC5QYWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8ZGljdD4K + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJp + bmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0 + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsU2Nh + bGluZzwva2V5PgoJCQkJPHJlYWw+MTwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0 + Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIwMDMtMDEtMjRUMTY6Mjg6NTRaPC9kYXRl + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJ + CQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2Rp + Y3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5zdWJUaWNrZXQucGFwZXJfaW5mb190aWNr + ZXQ8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQu + UE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+ + CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAu + MDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJCQkJCQk8cmVhbD41NzY8L3Jl + YWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQu + Y2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2Vy + PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8 + L2tleT4KCQkJCQk8ZGF0ZT4yMDA1LTAzLTA1VDIzOjQ1OjIzWjwvZGF0ZT4KCQkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGlu + dGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+ + CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUFkanVzdGVkUGFwZXJS + ZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5j + cmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwv + c3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9r + ZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCQkJCTxhcnJheT4K + CQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJCQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJ + CTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJlYWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJy + YXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJ + CQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRh + dGU+MjAwNS0wMy0wNVQyMzo0NToyM1o8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVn + ZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5QTVBhcGVyTmFtZTwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNUGFwZXJO + YW1lPC9rZXk+CgkJCQkJPHN0cmluZz5uYS1sZXR0ZXI8L3N0cmluZz4KCQkJCQk8a2V5 + PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5j + b20uYXBwbGUucHJpbnQucG0uUG9zdFNjcmlwdDwvc3RyaW5nPgoJCQkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMC0w + Ny0yOFQyMjo1NzowNFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8 + L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYWdlUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1 + c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3Jl + YWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJ + CQkJCQk8cmVhbD41NzY8L3JlYWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBw + bGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAzLTAxLTI0VDE2OjI4 + OjU0WjwvZGF0ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVG + bGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJ + PC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv + LlBNVW5hZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5nPmNvbS5hcHBs + ZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1c3RlZFBhcGVy + UmVjdDwva2V5PgoJCQkJCTxhcnJheT4KCQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJ + CQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJCTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJl + YWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJyYXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMy0wMS0yNFQxNjoyODo1NFo8L2Rh + dGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5 + PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+ + CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1Q + YXBlck5hbWU8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnQucG0uUG9z + dFNjcmlwdDwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRl + bUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1QYXBlck5hbWU8L2tleT4KCQkJCQk8c3Ry + aW5nPkxldHRlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0 + U2NyaXB0PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1v + ZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAwLTA3LTI4VDIyOjU3OjA0WjwvZGF0ZT4K + CQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJ + CQkJPGludGVnZXI+MTwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8 + L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tl + eT4KCQk8c3RyaW5nPjAwLjIwPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJpbnQu + dGlja2V0LnByaXZhdGVMb2NrPC9rZXk+CgkJPGZhbHNlLz4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQudHlwZTwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mb1RpY2tldDwvc3RyaW5nPgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tleT4KCTxzdHJpbmc+MDAuMjA8L3N0cmlu + Zz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5wcml2YXRlTG9jazwva2V5PgoJ + PGZhbHNlLz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC50eXBlPC9rZXk+Cgk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0VGlja2V0PC9zdHJpbmc+Cjwv + ZGljdD4KPC9wbGlzdD4KhpKEmZkPTlNQcmludEFsbFBhZ2VzhpKgkoSZmQtOU1BhcGVy + TmFtZYaShJmZBkxldHRlcoaShJmZFU5TSG9yaXpvbmFsUGFnaW5hdGlvboaShKGbopcA + hpKEmZkWTlNIb3Jpem9udGFsbHlDZW50ZXJlZIaSppKEmZkJTlNQcmludGVyhpKEhIQJ + TlNQcmludGVyAJSShJmZDkludGVybmFsIE1vZGVthoaShJmZCE5TQ29waWVzhpKEoZui + lwGGkoSZmQ9OU1NjYWxpbmdGYWN0b3KGkoShm4SEAWahAYaShJmZDU5TUmlnaHRNYXJn + aW6GkoShm7ihAIaShJmZDk5TQm90dG9tTWFyZ2luhpKEoZu4oQCGkoSZmQxOU0xlZnRN + YXJnaW6GkoShm7ihAIaShJmZC05TVG9wTWFyZ2luhpKEoZu4oQCGkoSZmQpOU0xhc3RQ + YWdlhpKEoZuil4J/////hpKEmZkLTlNGaXJzdFBhZ2WGkoShm6KXAYaShJmZDU5TT3Jp + ZW50YXRpb26GkoShm6KXAIaGhg== + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + Frame + {{234, 0}, {591, 832}} + ShowRuler + + ShowStatusBar + + VisibleRegion + {{0, 0}, {576, 734}} + Zoom + 1 + + + diff --git a/openjpa-project/src/doc/manual/img/joins-constant.graffle b/openjpa-project/src/doc/manual/img/joins-constant.graffle new file mode 100644 index 000000000..bd443a550 --- /dev/null +++ b/openjpa-project/src/doc/manual/img/joins-constant.graffle @@ -0,0 +1,1473 @@ + + + + + + CanvasColor + + w + 1 + + ColumnAlign + 1 + ColumnSpacing + 36 + GraphDocumentVersion + 4 + GraphicsList + + + Class + LineGraphic + ID + 14 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {261, 207} + {270, 207} + {270, 270} + {288, 270} + + Style + + stroke + + Color + + b + 0.513726 + g + 0.729412 + r + 0.682353 + + HeadArrow + FilledArrow + HeadScale + 0.75 + LineType + 2 + TailArrow + 0 + Width + 3 + + + + + Class + LineGraphic + ID + 13 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {360, 99} + {405, 99} + {405, 117} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 2 + Pattern + 2 + TailArrow + 0 + + + Tail + + ID + 11 + Info + 2 + + + + Class + LineGraphic + ID + 12 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {261, 171} + {288, 171} + + Style + + stroke + + Color + + b + 0.513726 + g + 0.729412 + r + 0.682353 + + HeadArrow + FilledArrow + HeadScale + 0.75 + LineType + 2 + TailArrow + 0 + Width + 3 + + + + + Class + LineGraphic + ID + 11 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {189, 117} + {189, 99} + {360, 99} + {360, 117} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 2 + Pattern + 2 + TailArrow + 0 + + + + + Bounds + {{71, 118}, {406, 170}} + Class + ShapedGraphic + ID + 10 + ImageID + 3 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + + GridInfo + + ShowsGrid + YES + SnapsToGrid + YES + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 4 + Images + + + Extension + pdf + ID + 3 + RawData + + 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 + kZ4zox/9XJfyyIEB8TT1/d6Z+X4T0eCF81H0mKK+XEtlM0fGcV0i + uH5RCvJFSW3RqdUsoc5vAB6bnqlgAxVsF88U7LMWw0WL7+6seJ9r + 2vPaWP3Sb4PcC1ujSFxN0A4tWSkyDxfvA/0Pi7fbFm8v3IUXqkZz + 6q79jlBlHo6XlEX6e7/PkxeAAt4Lg6E+mejPIePqcwjJwKNhX17H + DWH/Vh2i/wOGBa2nCmVuZHN0cmVhbQplbmRvYmoKMSAwIG9iagoy + NjY0CmVuZG9iago1IDAgb2JqCjw8IC9UeXBlIC9QYWdlIC9QYXJl + bnQgNiAwIFIgL1Jlc291cmNlcyA3IDAgUiAvQ29udGVudHMgMiAw + IFIgL01lZGlhQm94ClsgMCAwIDQwNS4zIDE2OS4zIF0gPj4KZW5k + b2JqCjcgMCBvYmoKPDwgL1Byb2NTZXQgWyAvUERGIC9UZXh0IC9J + bWFnZUIgL0ltYWdlQyAvSW1hZ2VJIF0gL0NvbG9yU3BhY2UgPDwg + L0NzMQozIDAgUiAvQ3MyIDQgMCBSID4+IC9Gb250IDw8IC9GMS4w + IDggMCBSID4+IC9YT2JqZWN0IDw8IC9JbTEgOSAwIFIKPj4gL0V4 + dEdTdGF0ZSA8PCAvR3MxIDEwIDAgUiAvR3MyIDExIDAgUiA+PiA+ + PgplbmRvYmoKOSAwIG9iago8PCAvTGVuZ3RoIDEyIDAgUiAvVHlw + ZSAvWE9iamVjdCAvU3VidHlwZSAvSW1hZ2UgL1dpZHRoIDUxMiAv + SGVpZ2h0CjEyOCAvQ29sb3JTcGFjZSA0IDAgUiAvQml0c1BlckNv + bXBvbmVudCA4IC9GaWx0ZXIgL0ZsYXRlRGVjb2RlID4+CnN0cmVh + bQp42tWdidte13XVKUNLKaVQoMzQFigllAImDQECFJqWNE1DCVAC + lDKVMIVSpgIFimZ5kp140ixZk2c7g2cNsS3ZsuzIThNb1mRJlmVZ + HtPYlqzJkrjv3e+97zpn77XPPvf91Ae+5z7fn7DPetde+7dm/bpf + N6v5vumbZn/TN8369b9+dvP9ht8wp/l+428cfb/pNzXf3G/+5tH3 + Ld8y71u+Ze5v/s3zmu9bv3X+t37rvN/yW+Y337d924Jv+7b5v/W3 + Lmi+b//2hd/+7Qt+229b2Hzf8R3Nd+lv/+2j73f8jua77Du/c/T9 + zt/ZfJf/rt81+n73726+K77ru0bf7/k9zXfl7/29o+/3/b7mW/T7 + f//o+wN/oPmu+oN/cPT9oT/UfFf/4T88+v7IH2m+z3z3d4++7/me + 5vvs937v6Pujf7T5rvljf2z0/fE/3nzXft/3jb8/8Seu+/7vH31/ + 8k823/XN9773Xf+n/lTz3dB8P/ADN/zpP918i5vvB39w8Z/5M823 + pPn+7J9d8uf+XPMtbb5LLln65/988y1rvve/f9kP/VDzLW++D3xg + +V/4C823ovk++MEVf/EvNt/K5vtLf2nlX/7Lzbeq+T70oVV/5a80 + 3+rm+6t/dfVf+2vNd2Pz/fAP3/jX/7p8a/7G3xh9P/Ijaz/84TUf + /nDzf+2P/ui6H/3RtT/2Y+v+5t9svvXN/498ZH3z/fiPb/jxH1// + 0Y9uaL6f+ImbfuInNnzsYzc130/+5M0/+ZM3ffzjNzff3/pbzXfL + T/3U6Pvbf7v5bv3EJ0bf3/k7zXfb3/27o+/v/b3mu/2nf3r0/f2/ + 33x3fPKTo+8f/IPmu/Mf/sPR94/+UfPd9TM/M/r+8T9uvs/97M+O + vn/yT5rv8//0n46+f/bPmu8L//yfj75/8S+a74s/93Oj71/+y+a7 + +1OfGn3/6l813z3/+l+Pvn/zb5rv3n/7b0ffv/t3zXffpz89+v79 + v2+++3/+50fff/gPzffAL/zC6PuP/7H5HvxP/2n0/ef/3Hwb/8t/ + GX3/9b8236Zf/MXR99/+W/Nt/u//ffT9j//RfFt+6ZdG3//8n833 + pf/1v0bf//7fzffQL//y6Ps//6f5Hp4166FZsx6ePbv5HpkzZ/TN + nTv65s3b2nzz5zfftgULti5YsG3hwuZ79NJLt1166aOXXdZ8j11+ + +aOXX/7YFVc03/Yrr3zsyiu3L1rUfI9fddX2q656/OqrR99nPrOj + +T772dF3zTVPNN+1146+6657svmuv3703XDDl5tv8eLRt2TJzuZb + unT0LVv2VPMtXz76Vqx4uvlWrhx9q1Z9pflWrx59N974K823Zs3o + W7v2q823bt3oW7/+a823YcPou+mmZ+S7+eZnbrnl2ea79Vb5dt12 + 267bb5fvuTvueO7OO+Xbfddduz/3Ofn2fP7ze77wBfn2fvGLe+++ + W75999yz79575dt/3337779fvucfeOD5Bx+U78DGjQc2bZLv4ObN + B7dske/Ql7506KGH5Hvh4YcPPfLIC+13eOvW0bdt2+FHH22+F5vv + scea78j27S8+/viR9ntpx44jO3a89MQTzXf0ySdfevLJo1/+cvO9 + vHPn0Z07X37qqdH39NPHmu8rXxl9v/IrrzTfV786+r72tVeb75ln + Rt+zz77WfLt2jb7nnnu9+XbvHn179rzRfHv3jr59+95svv37R9/z + z3+9+Q4cGH0HD/5q8x06NPpeeOEbzXf48Oh78cW3mu/IkdH30ktv + N9/Ro6Pv5Zffab5jx0bfK68cb75XXx19r712ovlef330vfHGu833 + 5puj7+tfP9l8v/qro+8b3zjVfG+9Nfrefvt0873zzug7fvxM8504 + Mfreffds8508OfpOnXqv+U6fHn1nzpxrvrNnR997751vvnPnRt/5 + 8xfOn58F878f/rO7+T+3Gf7p/J/Xzv/R8G+egHb+L2jn/4J2/o+G + f/MEtPP/0mb4d/P/smb4d/P/8mb4w/y/Aub/lTD/F8H8vwrm/9Uw + /z8D8/+zMP+vgfl/bT//m+EP8388/Nv5Px7+7fxvhv8NzfBv5/94 + +Lfzvxn+S5rh387/ZvgvbYZ/O/+b4b+sGf7t/G+G//Jm+Lfzvxn+ + K5rh387/ZvivbIZ/O/+b4b+qGf79/G+Gfzv/1+Dw/5EfkeE/mvzN + /G+Gfzv/m+G/vmb43wLD/1Yy/G//f3L430eG/wP98G/+w/Df2M3/ + ZvJv6uZ/M/k3d/O/mfxbuvnfTP4v9fO/mfzytcP/4W7+b22+dP5v + a+f/o+38f7Sd/481T0Az/Nv5v715Aprh387/x5snoBn+7fzf0Xzd + /H+i+WD+P9nN/y83H8z/nTD/n4L5/zTM/6/A/P8VmP9fhfn/NZj/ + k+F/883PwvwfDf9u/o+Gfzf/m+H/XDf/m+G/u5v/zfDf083/Zvjv + 7eZ/M/z3dfO/Gf77u/nfDP/nu/nfDP8D3fxvhv/Bfv4//HAz//vh + /4IM/23bXoTh/+L27c3874f/S6XhfwyG/ysw/F/9/2r4vwvD/yQM + /1My/N95pxn+p2H4n5H53w7/szL/2+H/nsz/dvifk/nf/vXzfzz8 + 288R//NA/M/vxP/8bvgvkOEv878d/mP9L+Jf5r+If5n/7fAf6/92 + +Pf6fxHo/6tA/18N+v8zqf4Pzf/v//5rYf5fB+L/+kz8d/N/Mcz/ + pTD/l8H8Xw7zfwXM/5Uw/1fB/F/dzf8bYf6j+Bf934v/fv6vg/k/ + egJg/t8E8//mkvi/rXkCLPF/R/MEdPP/zuYJ6Ob/Xc0T0M3/zzVP + AJv/8gTI/JcnQOZ/87+f/83/fv43//v53/zvnoD7Qf8/0LwC3RPw + IOj/sfhvn4BNov9F/Iv+F/Ev+l/Ev+j/VvyP9b+I/1b/j8W/6H9L + /G/rxP+2bvg/CsNfxP/2Xvy3+n8s/mX+i/iX+S/DX/S/iH+Z/zL8 + Qf8/Bfr/adD/X0n1f3D+fw3E/zMw/58F8b8LxT/M/z0w//fC/N8H + 838/zP/nYf4fgPk/0f/N8O/m/wvp/D/czf9M/Pfz/wjM/9Hwh/n/ + co34b4b/q938b4b/a938b4b/6938b4b/G938b4b/m938b4b/1835 + f/jwZP4fOTKZ/0ePNvP/bZn/x4418/8dmf+vvtrM/+My/19/vZn/ + J7on4CTo/1Og/0/3+l/Ef6f/J+L/5MmJ+D99eiL+z56diP9z5y6M + HoALIv5R/6P/MzfwBCyAJ2BhJ/7HT4CYP63+v1TMn/YJGIt/pv/R + /BH9L+Jf9L+If9H/Mvy/+7s/m/o/2fy/ph3+qP+vF/+n1f83yBPQ + 6v/F8gQ45o81/4v6fyXM/1Uw/zP9fyPo/37+Z/ofzZ9+/m+A+X8T + zP9G/99cMn8a/X8b0//yE0D0v/wEEP0vPwGa4Z8+AZn+/0I7/8fD + v/3Gw7/9xsO//bLhf1+9+VPU/2Px3+n/3v8Zmz/yBIj4L+n/baD/ + HzOfABH/ov8/85mJ/yPiX54AEf/dE5DrfzR/RP/L8Bf9L8O/nf/N + 5P8Kn/9fRf0v4h/8n13NE9Dp/+eaJyDV/9T8IfPf1P/Pw/w/APP/ + UDr/D3Xz/wWY/y+K/2PpfzR/+vl/FOZ/M/xfBv1/rGT+vM70f/sE + jPV/+wSM9X/7BMj8/wY+AUr/v4X6v/0JMBr+3U+A0fDvfwJMZ/5M + /B8R/53+n/g/Iv47/X8h1f+zLP1vmj9j/0f0v/g/ov87/7/X/5eC + /4/+T/8EjPS/DP/v+q6J+YP6vzV/xk9Aa/5Q/S/DX+a/DH+Z/535 + f508Ab3+F/PH8n8WF/2f979/6Uzrf9P/mZj/Jf/npoD/cwvo//H8 + lydA5v9P//RE/3/yk2X9L09AP/ybnwAy/9snYOz/yBMQ93/kCcD5 + L09AO//HT0A7//EJSMz/gP5/qPlfqf/R/O/9n7H+F/9Hhj/6PyL+ + U/+n9/+fBP+/mfwT/1/EP+p/MX/kCRDzh+j/ZvJP/H8R/+38H4t/ + 7f/I8Cf+z27f/2mH/15X/x9I5//BdP4fLOn/F4n+f4nrf9P/OZb6 + P69k+l+eAJn/7RMw1v/tE1DQ//IEaP9HngDxf9qfACPxX/J/xuJf + ngD0f1r9P/Z/Wv2f+D/tEzAxf8L6v5X/F3z/334CxPwX/S/iX54A + XP72T0A3/C+1/J+J/hfzJ+7/y/CX+S/iX54AWf5O5/97/g8uf3H+ + 4/I31f+rYvr/xnT+V/k/TP/n/o/8BBD9L0+Ar/+1/y9PQD/8G/0f + 8f/lCej8n3vA/7kX/J+J/4/+zy/8gvg/E/MH/Z9W/+MTgMvfsfi3 + /P+HAv5//wRsSy2g3v8Z6/9W/I+fgNb/Qf3P/J+x/y/in/g/Bf9f + hr/sf2X5K/pflr8z6v8n/g8uf3H+4/KX+D8HLP3P/P/DxP8/kvr/ + Rf8n0f+yAhD93z4B2v8p+P/yBNT6/+0T8A74P8fB/zkB/s9Y/4P/ + Mxr+3U+A0fDP/B/R/+L/oP8Py1/T/7/QrgA8/1/2vzL8v/mbJ+Gf + Vv/P9/V/u/9d2Pk/k/CP7H87/+cK8H8m/n87/FH/X4X+f+f/oP5H + /+eaPv8j4R89/zH8I/Nfhr/M/x/8Qb3/XSoWUKX/s1Ltf1en85/p + /zXc/1lv+T/Z/jfxf+QJSPe/nv8vT0Bv/rRf2f9H/yei/9sn4N7O + /xH9f29p/4v6f6M8ASr8MzZ/xP+Zwv8f+z+t/t8qw1/8H67/cf9r + +j9PgP/zZMD/MfS/+P+rVkX9fwn/6PmP4R+Z/zL8Zf6L+K/x//eB + /t8P8//5Kfz/TP+/aPk/L0X8H1kBq/3va2T/+4Y8Ab350z0BzP9v + hn//BDTD/xuW/jf2v/IEiP6P+z/i/4P+x/DPGQz/dD8BHP//gu// + i/kvT4CIf63/u/xn7v+j/yPmD+Q/k/xP5/9cAf5P7v93/k+e/+n8 + //j+97ps/5v6/6j/l8gKgPj/Ef9nRcn/GaL/5Qlg+195AmT+yxMQ + 9//lCWD+P+Z/tP+P/k+7/P1Ct/+1/X/u/0z8/5//+Qf6J8Dy/x/M + 9r+i/9H/sfI/Y/On5P+PxT/qf9n/pvr/Ucf/Z/tflf8Zmz/K/0n8 + f9H/Ev6E/A/6/1+F/OfX0vxnHv7E/S/o/13E/0H/X+d/9qfzn+n/ + Wv+f7X9fEguI5X/kCRD9L09AIPw51v/yBDD/H/M/4P/LE2Dof9z/ + gv+v/Z/jkP85gf4P7n+J/38a97+dBZSFPwfmf2T/2+n/uan/3/s/ + GP5H/b/Q9P/b4X9Zyf/J8z+4/7X8/5H+Z/5/t//N/f+I/yPmj5X/ + ZPkfX/+vcvX/jQH9b4T/5QmI+/+f+ESu/+UnQKv/72D5n27/y/z/ + PP8T83/ucfwf1P+S/0H/J9X/G7Pwv6v/H5pO/+f7Xyv/w/KfO4j/ + 8yTJ//Tzvxn+5fyPDH/l/+P+V/T/M+7+d3f/E6CZ/634312Z/2H5 + z1r//3DQ/5EnINX/pv8z9v/lCUD9LyvgLv/zhpX/wf0v+v9j/a/z + P8r/kfzPcXkCXP/npDwBvfnf/wRA/0fpfwz/nw3o//OW/4/6f66p + /yX/0/k/8838f5r/ZPmfK+D+C/2fif8vy1+d/2T+P/o/6f7X9v+t + /OcNlfnPZab+l+Ef1v9ruP5fO9T/8fz/bv87JP+P+l/vf3H+x/wf + zP/o/e/9Xfgz2f9i/lPEf6f/Nzn6vzN/ivn/TP9P9r+Q/0f/J38C + TP2f+j9PFPM/Mv/l+Cvu/+v8Jx5/af+fHX9V5j/3af0v4r/G/38h + tv89Mjj/Cf4/7n8j/j/6P4n+B/9/7P9g/oftf+P+D+p/9H9Q/2P+ + X+n/JP8Dx1+F/I88Aaj/O/9ncv8lwx/2v2b+k+V/mP+zCPa/V6X3 + v1db/v+Q/W99/sf2f2T4l/yfov9fzv/LE1DK/7P8Z+b/F45/5SeA + 9v9/5mei/j/m/z/1qS92T0Aw/3Mf7H9z/0ftf5P8P+p/ffwr+99K + /e/sfyfHv3L/1Q9/0/9P8z9PWvmfZviX8//E/x/7P2T/K/l/zH/6 + +R/Z/+7pfgJ4918i/on/8/xM5P/H+l+eAHL/5eQ/zfwPu//C/M8b + 4P/j/pf5/0n+h/g/4/wnu/8C/2f8BIj+R/+H7X+1/hf/pxP/+f1v + 5//P5vq/fwLY/nc+3/8m979a/4v5Y91/sfz/1Sn/oZD/t/a/1/bm + v+//YP7fyn+a/s/yWP5zFcz/1SX9P3kCOPwh93/kCUD9L09ACf6Q + 7X/vKN3/ev6/df+L+f98/ys/AVz/x9j/yhOA+l/y/5j/FP2P+99K + /39rOvwn/g/Jf26H/e/j4P8Y+X91/5Xc/7L8P/H/p9r/6vwn5v+1 + /hfxb/k/+0v5n0Nq/h8q3f8ekSfAuv+1859iAaH+lyeA7H8T/S8W + kHv/leR/iP/fi/+i/j/ePgHvyhPQ5X/ezfa/cP+F+c8zoP8x/5Pk + PzsLKIM/nEf+A9P//v5X/H/0f7T+T+9/y/wHzP+g/sf9b2v+hPL/ + fP9rz38R/0z/i/i3/J8V6fxfQfz/Afe/1P+RnwDo/+D+V/x/yP/c + gvNf5z/1/nd6/x/9n+4JsP1/ff/V3f96+99W/G/U9794/9Xq/y3D + 9D/6P8h/kPtfnf+U/I/Afzr93/s/T+j7347/MNH/Ov+D+h/z/wL/ + Ifn/8fFXYP+7S+9/Vf5H/P+9zRNA8p9s/+vk/2fm/leeAPR/cP/b + 5X+OmfwHyH8a+X+d/wz4/2/JE4D+P+Z/uifAzn9q/yey/+30P+b/ + 8f6r1//nUv2f+z+M/0P2v8n9V+f/2PwHuf+18j/Z/dcVmP/x/f+U + /2PnP3H+p/e/Ov95fXb/q/1/Ef8R/gPC35T+XxXz/9fU8h/kJ8Aw + /gPsfxP+QyT/499/6f2v5f9M/H/kP3T6P/f/rf2vmf9n+p/5/4n+ + 1/tf5D90+j/n/zD+Q/8EVOV/fP9f9H/Kf/P4P7D/NfI/mP9k/r+I + /0D+Z7+IfzX/i/yf4P2v7f/IE6D8nxD/QZ4Avf+VJyDs/xv3Xzr/ + 34r/d3r4Qzr/5SfASaX/8f5L73/Ppve/Ef2f338x/o+l/+dn+c/O + /1lo5n+U/r8M4Z8W/43xf2z/P93/5v4/3/9eF/T/u/znkkD+U/I/ + K1P9v7KS/7M2lv9fX8N/sO9/Y/dfdf5/mv/U+9+7Ff8hz//o+1/M + /1j5z41W/n9z6v9vqdL/8+aZ91/J/hf4D8z/2SH8z07/74Dh/0R2 + /9Xp/yH+f+X+tyL/4+Y/B/N/DtXn/yP8n6Pk/qvK/4/cfxX8f5b/ + 9Pe/eP+l979d/mfi/zD+D+b/+/Bnlv+U/I/of+b/c/1v+z8A/0zC + n9r/R/0P/v+Vfv4n5T/Y/j/ufzv//xqT/9Dlf3T+/4bA/rec/5nC + /2f+j6P/i/Dnyf5XngDNf8D8J/If5Amo8f+H3P9i/kcsIH3/xfa/ + GP6J8N+I/2/wP5H/ID8BrOGf3f8a8Gft/6P+1/4/y/9E8v+4/wX/ + 39j/6vyPpf93D87/cP7Pwcr8f4T/8zLJfxr6v30CsvxPPv+R/6Du + v5j/r/M/FflP9H/k/pfxf2D/e1rff7X5n7M+/yHN/wT1/1zkP1v3 + vwvZE1Cf/7my2//a+X/u/9v+Tzz/k/r/iwP3vxP9/8EPLh/q/9v8 + txYBXeS/Mf7nLcX8p9b/3f430/93lfg/Hv8T/X+e/7k34//I/Rfm + /8n+1/B/OP/5oSr+J/LfdP4z1f+PEf1v8p9D+Z9ly3Y6+X/l/yf5 + /wD/YWz+6P2vhH8C+U+D/9MO//0zpP/7JyCi/48G+A+vyhPg53/g + /pfxnyP5/7flCQjcf53w77/E/0H+Z2T/C/6/wX9L+T8R/W/7P8j/ + SfmfyH+Y5P+z4W/yHzj/B/kPzP/H/e+12P9S3P9a/Ody/tPi/6xU + 83+w/mf+T5T/0+1/y/xn5L/p/A/jf1r+/yT/0+1/v0jyP/co/yfn + f5L974Oa/yP+T4T/Rvg/Bv8T4Z+o/y3/H/e/k/yP1v+6/KWW/4/8 + T/D/k/vfYftfEf88/7/Huf8i/J+Lzf9n/LeJ/w/8h0L+R93/Jvkf + eQIi+f9K/sNx5f8kx7/yBPThH7L/zfjPqP/fI/q/Kv+T+z+g/+db + +1/b/2f9L3j/y/g/Kf8h6v93+1/t/6D/f/3g+98PfKDo/0zj/9v+ + z0c+MtH/H/2o7f98/OPM/8/7X7r9r+3/p/wfu//F4j/H/Z/8/gtX + ABj+7CygjT3/szf/w/o/yv/U/OdO/28r8t9g/2v4/67/M/b/Lf7P + 0w7/0/f/3f2vmf8073/3svkv5g+5/63S/y/E8z/yBPj3v+0TEOp/ + Se9/c/2P+X+X/zMN/w3h/wn/X/N/yP3vmZL+z/x/zP8b+R/J/yP/ + Td9/cf+H9X95/J+I/i/5/9H7387/sfn//P5X5z9N/sOKKfI/0+j/ + m3sLiPn/sv/t8p9e/4vO/6T7X8//1/wfn/+MEVDN/7f2v4P7X0L8 + fxz+uP+N8N8g/8nyP5T/XNn/VfD/3f2vmD/PMv5/2P8J8n+Y/s/y + /4cD+p+VP078H53/1/pfngCX/5nlf2z+Z5z/4+d/RP/j/ZfO/yv9 + H+l/MfV/kP9j8h/y/i+9/9X3v8T/SfgP0/j/sfuvMv/T938Y/7m0 + /43wP28s8d+c8t+bWP6/5P+X739T/v9E/zP/H/2f1P/37r90/yPj + v3X732L/Y8Z/zvt/4/of858+/w3zn5j/7/ifO0r+T+b/e/df2v8H + /T/mv7n3X5j/CeU/ff6z0v8HBuX/X7Dynxn/8yWn/6V9Amj/C/Kf + 4/e/rP+R5f91/rOd/2+r/hef/5AggND/6fa/p7n+P0v0P+b/i/yf + OWb+J+V/TvhvmP/U/B+2/7X8H4//z/x/vP/i+99rVf+X3f+r738v + uSTe/+v7/6uH+v/rCP+H8d+i5e/o/2j+c+r/f65/AuL8nwj/DfnP + +v4X/R+9/2X6H/KfWwL+f5L/kfxnp/+3Ov1fePzl83/Y/tfP/7j5 + z8T/x/6XCP/B5//D/e9uyP/v8fe/3P8/wPlvhy5m/rPQ/6Lz/+n9 + b7H/i/H/x/e/cAJc4P/L/tfP/7D9L9P/WP4uT0AN/wf73/P8j+b/ + CP/B5/9g/4vu/4L8/6J4/5fmv2n+Z/3974T/PHX/b9L/IsO/xv9P + /B/Cf95Qmf+/1ep/Qf+nrP99/5/n/+37r+4ngN7/3m/yP638J/If + tqRPQMb/+VLV/a/m/2P/r+K/Jfe//Qo4vf9l919G/t/Nf1L/X/M/ + A/vfwfx/p//d0P8i/mv8/xdT/nPR/2H976/4979W/j/a/1ub/9f5 + H+b/qPy/wf/B/q/0/us9ov/PE/4/+v/5/Zfuf0f+p/R/lfg/l5v9 + X4r/f6Xm/6f852j/L+t/1PzPGv7bMsJ/8/x/MX8G+/8p/y33f/z7 + X+T/YP6f+T+Y/0nz/2X/n/s/3v2X5n9q/hvmP/H+C/2flP+A/v+W + Gv8/uf/V/P9O/5v8t4T/A+Z/wv/U/e8R/r/y/8fi37//DfM/d1X6 + //vC/LeDov8l/J/m/w/F+1/aJ4D6P3D/a+j/9gl4Nc3/F/t/3yT7 + X/T/x/2/LP/D8p86/8P4D+r+95Tifyb3v5L/Qf8H/P9zVv4nyv/X + TwDy/1P/h+V/LjP7v1L+W87/RP5bDf8zz3/6+X+V/1zs3//+0A+x + +6+Vbv5/VaX/vxb4b8b+N+X/O/yfW9n9L/L/Mf9v7X/L/r+V//li + 5f0X2/8+YPZ/af6n9D8S/T+BP7j3v0z/5/kf3f+Ly1/S/4v97w7/ + 387/M/8H9r+0/0X1/yb73y7/meX/d7P+F4H/uPz/wf7/4ZT/5vk/ + 7RPA8p/I/3klkv/B/L/uf8H9r+7/dfn/tfmfd639r93/pe9/cf9L + /P8Llfx/yv+09r95/t/yf+z8D+f/2/2/qf/v9T9a/V+2/z+j/k+t + /x/h/2yovP+N8D/L/Idh/r/mf5byP/eZ/P/O/9nI+f+biP7fovtf + 4vwfov8fJfe/Bv9T9f9i/ifh/6T8tyL/v3D/pfe/7fDX/Ae//33w + /e+ByvvfafI/RwP8/2n4D4n/I09AoP+X8f8r8j+a/4b+D+H/m/r/ + XGX+Zw65/8r2v0b+E/sfVf/vZQH/x9j/xvz/eP7/erf/Mc5/MPnP + jP+zajr+z7oS//9m6H/0/H+r/yV6/1Xi/6P/g/2P8f7fsv8D+n8j + 0f9bAAGU+P/Cf4vzf4D/gPlPzP9k/b/bYfg/nuV/MP+P/V8q/2Ps + f1X+P9T/Up//N/n/e/37r5ngfzr5/wj/uZj/N/hvqv8F8/+s/yvx + fxj/P+z/YP7nBN5/kfw/8p9PB/R/4v/r/i/e/4v7X5v/md7/5vtf + 3f+L4R/F/0H/p5D/9P1/xn+eqf7H979/aYn/HNH/Ef8/0v+V+z9W + /r/s/yP/mfW/RPx/vf9l/E/Nf9b8T81/kyeA7X/T/i/b/wf9H+L/ + pPy3bRn8wb//Zfl/3f+u+P/If2D8f/T/8f5X739r8z94/8X4/3tr + +P9M/x8K9D9W8x9I/p/2PwL/Gfk/bwT8f8r/wf2v4n9S/g+cAKP+ + P1na/7L8z3uZ/9/1/0b7vzT/J+V/4v3vwrT/ZaHO/+v7X9//4fwH + 5v+X778w/9/tf2/I+h+7/OfiKfL/K2r8/xun4z9vCPT/9vl/5D+w + /I/d/1Lr/+v+R/T/df5H8x86/jPmP3P/BxFwaf/vZrP/K6D/2f0v + 8h8e9e9/rfy/yX/7cpr/MfOf6P8w/3+s/wP3X0n/C+5/sf9R5z/F + /yf5f/F/nlfz//mh+j/If3ipxH9g+X/W/8L0/9j/Qf5nxP/X/Af0 + /7H/nfE/Wf4zvf9C/jP+BDiX8j97/c/4Pxn/H+9/Gf/T6P/C/S/j + /6v7r4T/ZuU/Pf3P8//XBPL/Ov+D/n+U/6b738X8qff/K/jPfP87 + JP+P/n+3//X0f+f/5P1fPv+tdP+V+z/6/pf1v+v8v+b/E/1P739x + /5vef3n3vyz/r/jPNP8D/j/6PzT/U8l/Y/rf4D9X9r8n+l/Ef5j/ + U/R/nP1vkf8Z4T8k/r/e/0b8H5L/fBv8n3eU/5PsfxX/zeA/g/+D + 5r/O/7+nn4AI/yfd/8417391/zvsfwv8f3b/pfsfrf732vvffvg7 + /o/mP0T4b5H+96r8zxqS/8/1P/R/Mf7nzV3+0+b/t/7/bZH+R4v/ + Jk/ARP+z/hfN/xfzR+d/8CcA479h/l/vf5H/D/yHLZX5n5D+D+x/ + s/y/yf/B/A/1f1D/A/+T8t/Y/a/K/0/Pf6D5/9b8mUb/Hy71vx+F + /q8C/9Pqf7T9f9b/CPy3ZP+r+Q/M/+/Ef89/PiFPQMT/Cex/z+r7 + X67/Gf8H+Z/Z/neuvv9N+f95/lPzPxX//wrs/2L9L8z/Z/1fmv+Z + 9n9Nwj9x/kN3/4v8n+USAbX6v1ZMl/+J9P8O9P/T/sdy/qf1/+/y + 9X+J/z/hf1r+T97/q/nP1v3vg2b+s1L/O/e/Jv//UZ3/1/lPdv+r + 8//u/Vey/4X8p3H/pfP/+v4L9r/PaP6z4j88p/of9f0v1f+y/OX5 + z+r8D+Q/Xwrc/x6TJ8DP/8Tuv8r+v5v/KeQ/1f3XCZL/p/e/Vv+j + qf/Pp/r/vMX/nyMWEOj/OYT/M4/1v2P+k/D/I/dfVP/7/V9p/j/X + /3z/e73D/+/y/+X8j4j/Ev9z1Uz0/9r+/8c+5vn/hP95G+l/udPv + f+f+f9n/GZr/Z/e/G53+d93/Ven/b9P5T/f+dzvsfxP/P+3/MvM/ + 6P9Q/a/9fxn+jP9Wu//V97+Q/xf9v6+vgA/z/w/MLP+T3f/q/t9I + /yPh/7zp3//6/b+CgMD+d83/J/0vJ1n/u/g/qv+l0P+I/V86/+P6 + /3P1/Zfa/5r3v/nwt/I/Zf5zq/+vqs3/RPpffP6Plf/x+r9E/PP9 + r6//18T4Dzb/WfM/ff//E59g/H+W/7f3v9z/x/0v8j+R/2bf//L8 + v77/tfk/jP9c6//r/D/ef1n8H+z/tfmfgf4v5D+H9H/k/pf1v6j8 + /654/kfvf13+/0HO/4nkf4z8f/sEHCX5n4L/H8n/uP2Phv5n/OcA + /z/hv5H8/8nS/hfzn2ez/kfs/7XyP+j/z+b5H3P/O5/sf8v5f93/ + rvnPrP8x3v+F+R/0/9/3vuuy/L8Mf2v/6/X/Av9heYn/6fv/Ef5z + Mf+f83/g/vcW0v9l9r/n9786/6/1f6T/veT/TPI/af/X5P5L+l/0 + /vcXf9Hrf6zV/+n979as/0vp/yT/yfn/jP9s9r8w/g/z/+n+F/M/ + 6P/L8Ef9z+5/rfz/3hj/Yfr8/xGe/wn1/+L9L8v/AP+N8p8h/0/7 + vyL9727+54S7/036Xwj//z35CWDp/3Nm/ift/52T5f+J/p+n+1/S + /q8s/3+pxX9g/k+e/2f8n1L/V1T/x/nPqP87/oOZ/6z1/yP9L5H+ + 98j9r63/U/4z7n/Z/W+5/wXznxH/R+f/0f9n+9+I/kf4c2X+H/X/ + tvT+a+L/IP+T9X8h/y3Af0b+D/I/mf8f6v9i+Z84/xn1P/AfGP/t + +Zm4/2X5H4f/9vLQ+98Q/1nzP9snAPP/yP/U/s87jP/Q6n/0f7D8 + 0ej/LfW/2/wHnv+ZnfF/SP/vfM3/xP4vnf/H/I/Of6b3XxH+80j/ + d/5P2f/v9r8R/nPV/e8ycv97MfR/hP/A+P+1+Z+o/xPnv+H9l+5/ + 1PlPlf95gN3/wv1Xof8xnv/R/B/d/4vmP/Dfkvtf2P/i/W+i/1n+ + J5L/h/4Xmv8n+99Q/1e8/3Em9D/j/0T63538T9X97+ss/wP5f8Z/ + i+R/0P8Z8x8Y/03zH9T975nK/vdzOv8j91+W/s/5Dxb/f37Gf0Dx + b/E/Wf4n8/+L/Ocy/0fyP7H7r+sJ/3+x6//Y+Z96/1/z35L7L5// + xvif8gQMzf8g/7PMf/b731P+293u/Vd2Aja+/0L/J+1/2ZSeAKP+ + x/6XLUT/R/p/8yfA7H9h+p/c/xb4z+j/+/l/1P+M/9+K/2T/i/0v + iv+5m9x/7U31P+5/98X4Dwcq/X+T/0b9H3kCFP+hNv9T2/9I77/Y + /a+b/2H9j4X7X9H/gf5HP/8j+f/ZFv9/rpn/YfnP1P/J8z+W/3Ol + w//x+78Y/4f1f8Xy//b9lwz/+P2Xpf9Xl/T/xP/58Icz/2cd7H/X + l/KfWf7f3P9G+P82/5n5/zr/afHfvPw/639n+9+U/1DU/9X5n5T/ + sw363z3/v8v/PD44/wP8T+Q/GP4/4/+w/q9p9P/F7P8y/H95Akj/ + b6T/0cj/d/zncv8jyf8w/mfCf9D9Xyr/b/S/wP73XaL/Tyv+M+U/ + yBOg+W8p/8fx/+cw/r/Ff8v2vwX+J+Y/4/dfrP+L97/U5X/S/OeS + mvxnkP+5yuL/OPnPdSX+z8zwP1P+T+7/W/dfkfzP8Ptf5v+7+f9N + 2v/H/W/c/4f8f9b/Ptn/BvrfWf7fyf/sLPr/Iv5r8//x+R/If/7a + 9P+W7794/uflqvtfyP+8ofk/bv9Xof8d8z9h/n9e/pj6/6cI//mM + lf/J779q8j/2/leegNL978LK/I/H/7Hyn3X+f5f/uda8/yL8/1r/ + f0WA/1mn/7n/X+Z/uv7/rST/Y95/sf537/6X8d8i91/wBPT+T4KA + Vvrfzv/o+69B97/If0j2v5df/mip/z3L/0fzPx3/Oc//a/4n6X+n + /H+V/3kW859u/kfz//eV+G/T6H/G/6ntf3T8f8z/vO7o//YJMPg/ + /v1vpf/zrjwBxP/pfwIU73+T/E/Kf0D/3+H/zPH7v1T/I+O/Gfl/ + nv/J+9+1/4/8h5r+32tc/rPkf6438/+V/n+E/7kq4P8791/rpuH/ + xPvfxf+3+D92/t/vf2H9j9z/8fgPkf4XxX/o9f9DWAHm+P9x/Y/+ + D9P/Ov9P8j+U/xO5//X5Py7/eWz+D+X/R/R/Lf8zyH9+qYr/I09A + nP8f4P/4/Lfk/ivO/yT5f53/PG3p//cc/ltt/gf5D8j/h/yncf+b + 8t+c/E+F/4P8N+7/l/mfMf5zmf/m5j9N/udqzv9fE+z/9f0fdf97 + s9//leZ/bs/6v2r8/5z/lvo/cgKG919e/qfLf2L+X+c/H3Tvf7ek + +9/M/39owP0vy3+K/6P5D8j/6fL/O6z+F9b/RfmfxP9P+M/+/jfO + f/b5PyL+1fzfH7j/mhn+j/Z/9P0v6f/C/E+y/4X+r8z/L+b/Df+f + +D/vsPuvSP8X4z8j/6ek/xn/Zw7v/5pn5T+d/t+FyP+08j+XB/k/ + Nf4/7n+x/3Gi/6X8S/Offf6/DP+O/79spvn/jP9c6/+w/Gck/8P4 + z3cR/hv6/1H+W4n/7Pe/PFC8/8X+L0v/T/rfS/zPvv9la5r/3Jbl + Pzv9/1gw/6/6XxL9T/hvtf4/5b+5/GeD/9MOf4P/I+J/ivznwaH9 + XxH/J5T/h/wP2/9G/H/j/rd9AvryL4f/rPu/IvyfU/79r+x/S/rf + 6f+are9/sf9F9X/Nx/4Xi//A8j/If/b4PzPl/9f2v8T4n5H7r8H5 + /3Xm/S/P/7D858T/T/tfJvpf8x90/6/Of07X/xLJ/9yv7n83qvtf + 9H+w/2XzUP2f9b9sJfxn7H/f7uT/Ff8f+1+ayZ/3f6n8J/X/Sf9v + nP/8rOI/RPjPmv+zz+1/1/vfuv5fff8b4T+w/i/V/57tf1837391 + /of5/yr/+Y48AdP4P6T/97TO/yv9f07p/wup/z/L9P9x/6vuv+ap + 5W9y/6vz/6X8z0T/Y/5f6/94/6+1/2X9v8h/i/j/Vfy3Afl/yv+X + nwDh+6+bLf+f3f9O9D+7/033v2X/vyb/M+E/pPvfCP954v+Q/t+I + /sf8D7v/yva/0ftfxf9n+R+D/xDn/0T4/9D/G8n/YP9jiP/P+W8z + pv/lCbD0f7n/F/gPr5L+l9dZ/gf4P7j/TfgPfv9LOP9j7H/j/GfU + /+L/lPx/7P9C/ucc3v+Y3H9Z9795/h/9H9T/Ov/D+T/5/S/j/2P+ + k/n/Xf6H8X+mzP/U9n+tma7/C++/zPynff8r+j+e/4nwfxj/M+X/ + T/x/7H9n+c8u/1PMf2b9v1tmQv9vJf2PmP/M7n+j/H/d/0vyn7X+ + f8J/0P1fiv885v9j/xfR/3sI/79q/zuD/b+T/nd5Avz+L8L/xP4X + o/8L8z/x/L/qf9H97zT/g/l/lf9h+c9C/6/K/19Q/b9zUv7/ZP+L + /r/a/87X978p/wH5P5j/ZPdfrP/Xzv+0wz/I/7T5Dxb/Z7L/tfL/ + 7P53+VD9f2M9/z9y/3VLd/9Vzv+z+1/O/7Hz/8z/T/U/8j/H4c8s + /4Mr4E7/P1Dsf8EnAPR/dv87uf8i/r+h//3+d+Q/s/y/7v9S97/s + /ity/1vL//T5P88F8v9m/ieS/6zu/4X731D+U/f/tk8A4/+E/P8A + /0fzH95y+98N/gP6P3ACUOD/AP8teQJ0+Vfc/3f739n+1+x/dPT/ + Fb7+1/yfkv8/8X/w/hf7X5D/MKz/vf7+a6D/397/VvF/GP/5VpP/ + 1uZ/bmf5H5//yfL/8f6XOP+f3f92+n9jZ/5s8vU/hj/F//H1v+7/ + Qv9f+z/d8N9O+n9Z/5fHfxb/H+9/Yf/L8v/G/S/mP3H/G+h/3z1N + /2ON/2/k/9X9L8v/sPxnhP+T5X+Q//mm2f+F/o/m/6j738T/x/y/ + vv8l/H/Kf1b6H8u/Mv3P+P/o/zv9X4n+9+9/Wf5fzH///hfvv9D/ + 8fM/Vv4f8z9D+P/M/9H5Hwn/TMH/jPr/tfznGcr/FP3/L/RPgN7/ + svx/ev9V5L8Z978+/0Hf/+IT0Op/1v/1COv/Av6D4f+w/i+V/8H9 + 75M+/7nT/0+D//90Kf+v779Y/rN2/4v5n+T+1+X/D/D/C/tfpf+P + Rvx/nv9h/V9vBPn/Pv9H8998/g/jv+n7X9T/rP+rdP872+z/Rf4P + LH+z/W/0/lf3v0fuv3D/m/a/l/t/S/mf6/rlL8//LM7mv8B/eP5H + /J+V/fxvj38j/V9rAv1f6wL977n/j/x/n/+T8h/uqOr/SvnPOv8f + 3f9++tN6/+vd/2L+B/P/mP9M9f9k+TtI/yf9j+n9r93/pfn/uP9l + +U+W/+n8/374j+c/4/9E/B8Z/vH+3xL/Z3+s/72Y/4nkP7P7LzP/ + aeT/3fwP7n/fBP+n0P+l+M/x/P9x7f+E739Ps/w/5j+B/3bO4v/b + +l/4P1r/Y/8L5j9T/2eS/0f+f5r/Qf6zd/+l/X/M/6T+f87/Sftf + PP4D4//MhP8T1/9rp+H/tPdfff7zlsr7X1v/6/5f7f+n/Odo/4us + ALT/E+P/aP/H7v/V/S+g/2v9/4z/afJ/kv4vzP+T/t/k/gv4/0b+ + v/P/vfyn5v/E+18I/8fsf9lXz/+cRv+/GPR/8P5L8z9J/qeW/2n4 + /4H+lzH/TZ4A1f8+gb9Z+9+k/93f/yr9j/xn0f8XlP8/y9L/czL9 + j/2P/v0v5v81/wf5D/r+S/U/LpqO/39NoP8X+T839Ptfq/9R8z+X + kf3vjOR/prn/cvx/s/+3nP9P+f+e/1/K/0z2v4z/jP4Pu/9V+1/K + fwD/v0L/a/4D+j/s/ivt/9ph5n8C/k9y/0v8f6P/MZD/f4b0P2L+ + 57lA/yPjv5n8zxm8/y36P8fq+39fC/IfdP6T+f/T+D+i/9H/wf4v + kv88Q/R/3/9i8z9V/n+21f81yv+z/kdy/2vk/xX/P7n/ivc/xvj/ + 9v43zf/4/k+k/3dm9b/Pf0jyP/IE8P4vz/9H/Y/5z27/6/E/S/5/ + 3v+i778Y/xPvv7D/sbT/tftfNP9f6f+C/6/5z4T/n4d/Mv4/8j+R + /2DlP79s9T9m/V+m/p+G/8P8f53/3zMT/S/B/E/Z/5EnwOW/HSPz + P9H/mP9k/AfY/zL/H/vfk/tf5L/F+3/J/W+//z09VP/7+R/W/0X7 + Hy3+s83/5/tfJ/9J8z++/8/5D0P6Hy+5pNj/G+l/ifB/1hT3v2n/ + O7v/Yvn/Wx3+zzD+v+5/1Pq/iwCV8z8s/y/5T/R/5AnQ+r/L/2y2 + 9P+Y/x/W/yH+j/kEmPz/zv/x7r/E/+f5f9P/T/L/cf5DvP9RxL+e + /3L8W+p/7P3/Q6r/MZL/L/a/s/5HzP/j/pf2fwXyn8z/L+j/7gko + 5n/Q/xkf/3b3v3n/b6f/z2T9L5D/Ef1/nul/1/8v5j8XpPvfhSz/ + P+z+i/e/ePn/OP+f9X+x/a+l/3P/R5a/gf4Xh/+ztub+a0OR/5zm + /2/rn4DI/a/u/7L8f5v/g/y3tP/Fy/+k/s/95P437/9C/gPe/3b9 + v3X+P+5/df+j7n/X/GeW/1f+D/Kfd6b5/6dmLv9P8z+E/8P4zyH+ + v5j/4f7HGeH/FPI/2P/i5n+w/5fef8X9f9z/Ev/neMT/Yfe/1v2X + zf/HJyCW/5mTlX/5/H+8/2X6373/Mvx/zX/2738x/8/9n3L+v+t/ + HNz/Xux/uTGd/0H9b95/Tfx/eQJK/J/M/7+d8X+s/l/G/8/zn6X7 + L5b/8flv9v433v8V1/8Y/sEnQN9/Kf5Ppv9z/o/yfxj/jeV/nvb9 + //j+F/nPKv/zHPQ/Uv8H+t/j+v8g1/8O/6d4/zv2f9ongPF/Xo3n + f5j+d/1/9H+M/q/2CRiHf5T/k/S/S/8L9j9q/0eeAMz/sP4v7H+0 + +P9e/kf3P4r/g/kfcv9b5P8M5z+L/9/tfz3+P+//vS7If+vuf5dA + /n9poP9xRU3/o6P/x/nPH/sxlv+Z1v9n+Z9a/r/Of5b4bzr/M8l/ + Mv9H3/9CBXyh/9f1/wv6H/kPmv+j+x/d/H92//Wk6f+w/W8g/x/K + f7L8j/Z/9P2v4n/uC/v/hwbc/4r+lycgnf9V/J9X/P4vzX+I8N+0 + /tfzX/v/jP+m9b/iP4sFND7+1U8A7n9T/T/xfzj/Zw7p/8L+l3kZ + /If1/9bmf1j+3+I/DMv/X1vc//L8Z8T/Gdz/6PE/O/6Dk/8J3f+W + +G8e/7/b/zL/3+Z//tzPjY9/B/CfS/2/DxL9P+H/T5f/eSTz//vw + p9n/Iv6P6H+e/98B919POP3vLv8H9b/f//tVGf79T4DY/tfof3T9 + n2H857r+r0D/+9GI/x/pf4H7X8Z/jvv/sgJO+l8i/e/h/t+i/rfv + vxT/38z/ePlPfAJY/6/O/0fyP/z+N+L/2/wHi/+Z8/91/nO6/M80 + +n9Nrf/T8d9uCvj/t3L+G+r/O638f53/X+P/3Ef8n/uz/Kfa/7L8 + p+n/P5Te/xb6f5X+36bvv9T+t5D/V/dfkf73CP+zwH+G/M8zsP99 + VuU/L1L/45T9X979l+h/eQLC/n+S/5QnwOK/vVnj/4/vv3T+P3z/ + dULlf7L9b85/bp+As+n+N/f/Nf8hzf/MKt7/6vwn5n+s+99Lef9X + gf/c6v9Fpf4X5v9H+Q/s/ovkf5YE+P/LZ8j/X8v7Hw3/h93/Mv8/ + 5f/Y/Dd1/3unzv+I/8/yP9z/uTvA/2H9j/b9b3r/tSmQ/ynq/0d0 + /sfvf8T+Lwx/pvn/J0r5H8r/wfzPqlVPzwT/DfP/tf2PGf9/38XW + /4T/M9b/rP/R8v9z/a/4PwX+s+b/EP2P+U/G/2f3Xwn/J93/niru + f5X+P0f0f+L/+Pwflf8s8N/S/pfLqvjPTP/H/P9h+1/J/2j+8+Je + /Kf8h0j/14qh+f81wfxPl/+P8v8t/s/tmf9P8v/m/dfn+ycgvf+1 + +Q+p/4P3X5P+97T/xcv/a/5PRP+L/xPw/6n+9/Ofav/L+J+Z/o/2 + f6n8D/LfEv+f7X8J/4H2f2n/v8R/qN3/Hppm/ysrgDD/J9H/pP+L + 5f8p/4f1v5P8D97/Gv6P7n/py1/U/tfmf2L/r4Q/Nf9Z8j+4/xXx + n/L/8/2vvv/i/b/Y/xjk/1D+s9X/Poz/f23W/xjmfy6J+z86//mh + D9Xe/w7M/4T5n8b+l+V/4vx/zn/L+38j+f/uCWD3vxsD/H/kv+X8 + /1r9r/n/5P436f/C/D/yP8n9L/IfCvtfzP/H9X+E/wD6f2z+uPz/ + UP5TxH+A/2Pq/yNT9D9m+X9v/8vyP8r/of2/mP9h+f/I/lf8f/F/ + 4P43mP+c9H9x/T/xf5j/r/q/5ln9X+z+F/OfyP/J+t8p/4fl/zX/ + s4b/b+t/vP8K7H+Xsvn/wQ8un4n+31r+Tx3/P+1/9Pj/rP+x8/9Z + /4vv/5T9f8j/3G/1/07EP/Z/4f2v7v+SCJDw32r1P/KfGf8fjr+2 + 6/tfzf8E/o/T//UUuf/9SrD/Ee6/Iv3vuyr731n/V6T/5aCl/9n9 + l8N/fsnc/xL+f8Z/M/kPb8D8x/xPBf8nkv8h978nkP9G9L/R/6v3 + v7r/K/X/0f9B/7/c/6X7f8n+18z/oP9T5v/o/H+3/y3n/7v974T/ + w/e/g++/xifALv95ZeX9L9P/wfxPgf+Z5n/w/hf3v+j/I//B5j+z + /hfu/+j+r0n/Y4z/rPmfGf8fn4BM/38pqP9L/IfHyP4X8z87svyP + u/9N/H92/6v9/wj/k/AfnlX6f7z/7fL/u2P5n30d/3l/jP8W0f+H + A/n/Yv7zFVkBMP9f539I/p/y/zX/E/vfwf95m+R/9P1XL/7t+y8r + /5/vfzX/n+V/5P7L7/+V/S/o/4T/Zt3/LiT8n8vT/M8VrP9d978M + y/9z/1/n/9H/x/zPUtP/Ufdfvf+/sp7/7+j/tbr/K+1/v4nf/1bx + f3D/i/5/rf+T5/8Z/7/zf9D8t++/fP4b+j8l/R+8/2X5T9T/7P7X + 6P/V/E/GfyP5H+x/D/n/OP+1/6/4D8H+xz2E/9Dr/+c1/zlw/3Wo + tP81+r/kCQjkP49F+G+6/xHvf7X+J/2PRv+v4r9Nwj+p/6P5nwb/ + mfX/6v1vSf+z/M9sh/9T4r9l/S8Lff3v5n+Y/1/F/7f5Pyn/2eO/ + WfzPpX34p7T/XTnT/b9R/2do/1e2/70z0v+i97/a/2f8Z+7/3Af3 + X/cr/0fr/40Z/1/x31D/h/L/ZP+b8P/J/W/i/2v+v3v/leT/kf8A + +U/m/9P+X5//6e5/kf+W8J/V/RfL/zw/VP/X+j+M/8b4PzT/Q/L/ + Y/9/GP8T/R+d/2f8f6v/65TJf9b7Xzz+Vfr/Qsr/x/zPHLj/xf4v + h/9s3P+m/Aeb/5/6P3b+p97/9/j/Mf6zyX9YwvM/Zv5/RaX/H+n/ + Kvs/Lf//Jp3/R/0f8/+9/W+t/5/m/+/O/P9I/1d8/5vyH/r97xbM + f0b4nyT/uY3wf5IVANP/2P/r8x9k+AP/86m0/8v0/+P8Z+b/V/Hf + 9gb6f03979z/1vKfGf//mJ//UfyHzP83+98j/r/R/+L2/1L+j/Z/ + Ov6z3f+i9P9Z5D/U+P+T/t+0/yui/xdm/Y9W/gf5P3j/ld3/Lir5 + /8h/9vn/jP8Q6X9c7Pg/kf4v5f/X8n/WDb7/0vl/uP+9zer/KvMf + WP8j5v9j/Ld7+58AXf7n3oz/kPKfsfzL4f9v4vnPKv+f6n/g/6P/ + j/e/hv/v5n+ayf+kxX9D/x/znwn/Afk/rv8z3v+K+Cf5H3b/u7vU + /75/uv6XF2aE/yZPAOp/nf/3+190/gf7f5n+1/n/AP/tHd//0f1f + mP9n+18r/znc/0/7vxz+j9n/i/wH5H9eTvyfcv+77n/E/hff/9f9 + X7X8Z3L/tWw6/n+R/7O22P+u7r8M/5/d/7L7L85/YP0vOf+f8Z/j + 97+a/8P4b7z/fXNX/sj0f4H/ifw3n/+p+c8u/zOY/9lp5T+fBv4z + 7f/S/e8R/R/of9lj3X9l/J/a/pdDAf7zi47/4/Y/Fu5/Ff/Z0P+K + /0Dz/27/79tK/4+Pfxn/H/M/2P+o979yAqzyn+dS/Y/5/6D/P1fz + /1P+j93/m/IfLjX5b+n915VV/Y+6/8XnP7D7Lyv/w/j/Wv8vT+f/ + cu7/rJyC/7PW4v+vr+f/V/Df0v3vXeb978/+LOO/Rfsfff8HT8DY + /S/rf3f5zxX8H93/SPKfj6X3v9sd/n/n/5j3X4b/r/KfofwP3n+5 + /P9n4/z/ev0f6X95Ic5/Q//H5f8z/z/Cf2P3v1/3+f/K/2H9L/79 + 1wnM/3RPQN7/rvlvbv6T6f/zhP8zR/N/0vzn/GL/r9L/hv+D+h/z + Pzz/yfz/Yf3v1zv5H+b/z3T/VzX/X56AMP/zFiv/g/x/u/+93v+P + 5j99/qe1//Xuf/39r8V/qMv/Y/+juv9K/B95AtD/0fxPyP884ed/ + uuG/0+S/BfL/X+ufgFj/l9//bvL/905x/3so4P8z/T9+AsL9j8cI + /+E1eQLQ/2+fgCT/P33/r8//1/dfZP/L7n/PsP73gP8fyv+U+P+s + /zf3/7vwT8Z/qPB/Yvl/zX+2+3/f977rAvzP3v937r8i/AeW/1kd + 5/+n/GfW/5vf/1r5f6//Eflvw/z/ev6/nf9k+1/sf4zkP3X/S/z+ + F/U/wt+s/Kfd/5Xm//P9bzz/A/lPev8b5j9H8j9M/yf+T8f/H8D/ + OTjg/rd9Agr8fzf/H+l/zPz/Iv/ByP/X7n/R/yH8z5Oa/5bmP89Y + +v8c8h/0/S/4/7OI/8/6v+b5/b8s/6P7X/T9F8t/1ub/Nf8ztv81 + +f8XW/9n+Z81Vv4/8//X+/nPj3/czv+3/S+36v4XxX8r5P/j/r/F + f9P8H+S/3a/yn5P9b3cCrO+/NP/B5j/H+Z9K/28j+c/k/gv8H5b/ + x/sv1v9S8P8D/Gdj/yv3v7r/Uec/Sf9LJP+5v5T/d/q/TP7Pizr/ + b/Ef8vy/PAGB/hen/+vNIv8/4v+r+993OvE/4b/JE8D4/8r/Mfpf + 2P1XgP9v5n/mmPdfPP/p5f9J/0uB/8z9f5b/z/OfPv/Zyn/eEOT/ + t+Y/3v/W+v9M/68N8B+8+9+O/8D4/17+k+X/Lf5/2f/37391/qfb + /95n3n+B//Ogz//0+19q9X+6/534P5r/g/w3K/9v8v+z/E/O/9f8 + B9L/Fdr/Av8H+Z8V/H/gvxn8H8V/eH6G9D/b/9r8N+A/JP6/n/8Z + xP8v8B/8+1/m/7D7L/B/zqj+d9n/vocnAFz/I/9/Fs//FPKf/P43 + 7//C/I/mv8n9l+5/ifn/jP8zuf/y+Z8/8ANs/2vzH3j/10T/y/Af + 5P+vqcr/sP5H1/83+98Z/6Eu/2/x/3P+G8v/pP7PA/0KIN3/bjT3 + v6n+d/pfHpIVcMn/N/e/if/j85/d/P8Tgf537P99Svs/M5v/h/0v + 5f+34r+K/x/R/4fq+989/pub/6/gP7v97+j/G/tf5D8o/4f1PzL/ + 55Q8Aaz/l+U/S/r/fNr/O8vy//P9r85/Avzf6P/txH/O/4z0v1v9 + j0P8f77/1f6/5j+j/l8SuP8y+W8rSf9Xr//XxPa/mP/P+9+7/L/D + /7zFz//E9r8e/4f1/7L+x5j/Y+5/HwT/p9D/3oU/q/z/rZD/3Eru + vwz/R/f/pvn/nP9v5X92lvifmP9M7n/Xrp3c/8b3vxH/v5T/31d/ + /yv6/wW3/7GY/0/4bzr/3+n/Mv8h3f+a91+F/kd4Air6H0n+x9n/ + Zve/pwP97+9h+Tv0vyf3X63+n5Py/7P971zw/2n/C/o/oP9N/mfO + f9b8t9b/T+5/a/n/mv/M+r/C/Idg/+OKSv8/0v++ntx/VfH/I/w3 + dv/F/P+8/xeeAMf/sfM/Ov/p739Z//sv/dLmfv9L9D/N/8P91zZ2 + /0X4P8h/YPn/JwL8H+P+S/d/RfKfiv/zDNx/Pcv63xX/gfHf9kf2 + v+3wP1DT/xLsf/f8/4j+9/lvcP/F+t8N/j/6/zr/U+v/wP73NNv/ + Cv9B97+o/q++/z2//9L+f7r/zfM/nf7P+3+R/8b4P5r/Vpv/ifB/ + +P63zP9X+c+lgf6vFfX8n9Xx/veI/6P5n939160m/yHc/3VXKf9v + 5z8Z/83P/7D8J+b/0/znpiz/2VlAF1X/P8r4n9j/S/L/hv+j9r+R + /q+E/+byP/X+V/v/hv4n918D+h8PBvjPkfz/kUD/r5H/t/jPrzn3 + X4r/Zuh/lf/X+c+3OvH/Nuc/G/kfOQGw9r95BIjkP5MnoDN/UP8j + /x/9f9b/lfs/nf53+n8x/5Pk/y3+c87/tPhvUf9/2P63y3/a/OdL + LllSyv8sj/B/ZPiH9X/Z/0nvf4P+v5H/afkPCf/f2v96/n/E/5EV + gJ//ifW/s/3vZpP/FtD/Bv+H8Z+x/xfvf9X+l+X/kf9j5D+R/+Py + Pw3+G+H/X4z+d33/6/A/D1yE/kfn/pf5/0P6X/T+V54Azf/B/hfm + /8gKwM//4P1vpP895f+cjen/80T/z2H6H/0f0P9m/+9C0v/L8j95 + /hP7H7vhj/3vZf5/N/+v6c2fmv0v4z8vC+f/a/M/Nwb6v4r+z5D8 + fw3/rcz/R/4z+j+Y/y/lf3T/e57/9Pe/+AQI/60y/5OUv2D+E5e/ + sP+l97+a/x/3f/z+l2H5f+z/IvyHbP8b5P/v7/j/E/+nHf7i/x/k + /S9Z/nNG/J9I/j/U/1Lr/7v5n1D/F8n/YP7/lLX/PUP0/4T/3Ir/ + c+D/X1D+/2zu/6P+n2fy/zn/Oef/WPkflv9k/Y85/yHC/+H8h8j+ + d3j/4xT+v+f/QP9vRf5f8j94/2vx/+8w+c88/5/nPzX/J9L/hfy3 + +P0v7H83BfR/5P43eQIw/A/6/1Fy/5v0/3L+Z85/VvwH4/6X5X+m + 6H/ZVcl/2OPqfz//H+E/v1Dl/5D+Xyf/P/H/of/XuP+K979H+M/6 + /tfP/4D/cwr6v07D/veM4v8Y/E+u//P7L63/0/xPtv9FBNAC4D8v + tO6/cv1v5X/Y/Rf6/zb/zec/MP4zu/8NzP+lbP+b9j+uCOd/UP+v + jdz/pvyfnP+g+x9R/3P+M+t/vxP634f4/9Pxf3L/39r/brT6v7L+ + X/kJ8FCY//9Ixn/T/B/0f1D/6/y/yv8Y918q/8n4/4n/g/zP8P73 + 2Rna//b3v0H+f7H/pZD/wfvfjv9j3v8eY/l/3v/4eqn/HfmftP9F + 8x/A/3m7xP+x+19Y/5fe/5L8p9b/F7j/P+n/xfAn7n+R/4P+D5b/ + Sv7f4v+g/3N5oP9rpP/x/kv7/5z/Zve/1Nz/Lu7hP5L/bP0fo/9L + 9T9Oo//z/pfS/a/n/6D+B/6zmf9h/k+u/0v+v/Z/NP/Zyf/cp+9/ + Nf8/5X/m/e+M/+zyP5P73/T+a5t5/0X2v0b/r+Z/8vuv/P7X3/+6 + /b9fbef/M/0TYPIf4vtf5P+34n/vUP5bdf6n8v73Zeb/yxNQ2/+o + +D/o/9P+9zD/53gP/3f4P7r/i+l/xn+u9f/T/q+52f2Xxf+x+Q9p + /gf3v1ek91+Y/1yE/r/mPzD/f2b3v7H+r+Vu/nOV2/9b9P9t/ifn + /7D8562B/keW/7T1P/f/bf+H8X+k/7F+//sgyX9usvgPyRMQv/+V + /A+7/yL3v0n/F/g/Y/5/PP/j5z9d/9/I/7v9j8b8B/7D7hr/h+V/ + DtTnfyL732L/o5P/fw36H23+M/B/DP3v+//a/yH8H6b/E/6P6n93 + +J/If8D8T53/z/Q/4/+o+9+Fw/q/eP7H9v8x/8Puv/z7X+E/Y/9X + 2P9n/OcZ9P+L978b4P7Xzn+y/E/a/4j8B9b/Xvb/U//n7uYJ4P3v + 3v0v8h8Y/9nif262+A9M/xf4n0r/s/svev+L+R/N/8f7r3D+p8L/ + l+Ev+j9w/7VL8/8r+c9+/+/Bmc7/s/vfl+P5n3D/o8F/YP6/9n9U + /j/J/5D7X7P/Jb//tfrfPf4z8f9n+/6/u/+db+1/8/y/7n+P+T9l + /1/zf/j+1+9/Kd//pvn/5bz/ZUXg/nd1Zf8Lu/917r8w/39LnP+f + 8n+y/M/nfP9f9793/r/2f3r//16//zfl/2xMI6AZ/3MT4T9sqen/ + ovofIkCP6f5Hff8r+X/M/6j9b5L/Ife/Ef/f4P/MbP+jn/9B/0fE + v8t/Phjw/4v73+T+l/Cfjfx/Kf/D/P9i/zvlf6L/T/rfT0T8H8V/ + FgvorOJ/ntX+f38C7Pr/mf6f4+c/uf/D+D/5/tfqf7+S+D+e/8/5 + n9eE8z9l/k+4//di5H+c/GeR/+zlf/z7r3r/3+a/Wf7PPZ3/Y+b/ + kf+j+x89/ucg/9/R/1sV/FPzf7z7X5f/n+R/gP/G+P9j/1/1f1H+ + j97/qv4X3P9q/k9F/kfCPzOU/6nyf6j/D/lPmv/x+1/i/H/gP4z5 + Pyz/afk/Qf7PKZ3/j/c/Ev9/FvH/5/r5z5T/vCC7/y31f7H+95z/ + bPEf6vx/nf8X8R/hP9fwH5aX+P+1/v/aoP9j9f9m/n8h/6P7f/38 + D85/zf9n+U/i/2T3v/eb/M90//ugw/+0+l+G6/8A/3k72f8m/B/i + /7D+xyz/X77/0vwfwv98JpL/1P5/2v8e7P8y8/+R/E8t/w35P5j/ + fIX3v0f6X94Y0P/r5z+R/6DynydY/6+1/z1j9j8i/0Hz3/T9r+r/ + nW31f80z+f8p/3lhLP9/Gbv/Kvk/ef878n+s+y/M//j8/+uz/nfk + P6T5n2H8hxnx/+3970c/mvOfS/2Pef5H5//F/9f8n9T//3z/BKT5 + T+b/5Pz/9P7rvoz/bOX/H3D4P4P0P/r/Gf//EbP/hfT/ov/zuM7/ + Y/5H7X+T/A/z/6fh/2v+g9//ou9/Nf9N5X/2zbT/X8F/U/e/L8f5 + n6X+F5v/Sfj/yP8M8d8g/+P0/2b73z78c5rzP88y/rOl/2fx/I+h + /3X+BxCgvfi39X/q/7D+94z/toj1v6P+Z/dfLP/f8T+Z/sf737r7 + r/D97+rp+t/XW/dfNwf4D47/f4fV/4v975j/j/s/X5yh/t8Hzf2v + zn/q/E96/yv6/+HOAvL5PzT/j/df4P9sx+Vvmv83+f9J/idw/0v7 + v/z+X//+C/kP7v6X8n/0/e90+Z9Q/zvcf73s+/9+/of3v0z0vzwB + rv+v+Z+CgE74P1r/K/5DRf9vp//PZPlPS//b+Z9W/M+y/P/8/svK + /yP/OeN/Jv4/8D8T/pvf/47+v9b/Jf4/7n8n8M80/+P3P5bn/wc+ + YPo/Ky6S/u/6f9n9101O/n+a/E+c/8/zn1H+v77/Vf0vG6ECZpz/ + wftfzP9Y/H/0/x+u4n9C/h/9/0z/by/l/5/Q/Ocu/7MT/P+nzP5f + 6H/x8/+R+6/I/lf3/+7D/l8xfwL8/1r9b/e/B/p/L0r+J5D/j+c/ + ZQVM8z/h/S/rfz+L/Y+Z+aPyP73+n6P7f1n/C+E/G/x/xv/U+R/C + f078/27/6/V/+fxPi/9j+v+LLf7/hP+D91+p/l8ZyP/cGNf/5P6L + 9n8x/x/7v7r9L+P/TPQ/8n8i+X///jfO/9H5f33/i/rfuv81+38x + /1/Q//1PAKv/d3z/q/z/5P4X8/+E/2Dkf7r7351Z/l/lP5P735nN + /yv9v7dfAZT4Dxf1/vdIoP+X+v/Q/4X97+z+y+D/RPL/lf6Pyf95 + F/hvJ/n9r/D/z+IToO9/9ROg+x+1/4/+D+t/cfvfF1r9v57/E/D/ + r2b8n9r8P9//3tD5P5n/X8v/z/W/LH/5/jeS/1kXuf/S/Y/yBOj+ + L8z/pPvfafk/jP+c+j/3KP9nHP7M+G9i/ncW0Ma0/8Xg/3f+/2al + /x9S/b+e/u+G/9Zs/+vy37az/D/J/zD/5ym//0X5/6H+R+X/JPkf + yP8z/vOkArK+/7cq/8PufyP5H+Q/jPW/yn++mvo/Zv9LLf+n0P/u + +j/Y/3KS5f/TJyDP/+D9F+Z/LP1/wdL/Sf8X+j+p/s/9H93/nvIf + Lk39n8vA/zH5P9n9F/a/XIX6H/P/3P+/ppj/7/a/Wf5/Mbv/DfR/ + rUj7Hxn/M9L/XuR/bgj4/7cG/P9c/+v7X7//N57/TPX/fSr/b/s/ + rP8F8z/C/9f8N8L/d/T/Iyb/Qfc/Kv4b+j8G/9/yf3L+s+r/Tfwf + dv/r898q8z/PsftfEf9q/rP9bzH/P03/VwX/X+1/Mf9D9b++/630 + /yP8z+NW/v9dh/+A+r97Aib9v9j/jvtf8f91/6OIf93/y/S/9n98 + /pvO/8f9H+X/X+3f/6b971H+D/o/xP9fErj/reV/rub8n9r+3w3D + /P80/zPR/4r/eVeJ/5/ff6H/LyfAeP+l/f90/3sf8X9w/2v3vyD/ + k/T/RvQ/5v/x/msb4/9r/c/6vzr/54mA//OUk/9X+U+///drIv4j + +Z/w/de+XzP+D+c/e/6P8v+p/of8D+5/I/z/kP8P91/M//f5/yd7 + +AO5/z0LPwHs/a/qfz9f0v+Z/z/X6v+18z+p/5Pf/8bvv9L+36uK + /b8x/vNE/5fuv2rzP8tL/v+qyv73dbH7X5P/UM7/6/6vOP8z9f/9 + /vcy/5PzH/D+9wHY/5r9j5sI/8Hh/z9Uyv/X8t8e5/2/O6ruv4j/ + n/g/0P+F+f+Q/6P2v7ummP/7AvN/rP/b4T9T97+5/lf8h1f0/lf1 + f7H9r3H/6/r/hf53n//p8x8C+98zYP6ctfhv2P9+Iet/t/T/nIz/ + Y/X/2v5Puv+N8n86/3+R0/9V8v/t/a/f/0L8/8Uz1//I8j+ra/T/ + epL/tO+/XP/f6P/C/KfP/7T8/5z/FvN/0P+/18z/aP2v9r/4BET0 + f9b/xfT/I5b+j/DfjP4vS/8/WXP/hf5/sv8l/s8Y/jmI/0Dvf9vh + j/nPvYT/vJ/1P8ryd+r+L5v/k95/Vfn/tfxPlv+v7X85IU+Avv/F + /ked/8T8P/I/if5/z9L/5zP+m+7/Ff+H8X+Q/0z2v5T/Se6/zP6X + ReD/Xz3A/6+//2L9v0sy/kOX/1lW4v/U+v/l/pePfMTJ/yT+P/R/ + Vfv/Fv/nLsL/yfnPvP9FLKBJ/yP2/37603r/m/M/0/vfTdn+N73/ + 2jzU/+/1/zbe//tY/wQo/hvz//P8p3X/tdPiPzD+58D+Fz//o+6/ + duv7r3r/p9j/ddj1f4r3X0d5/9ex0v2Xw//x7r90/y/6/4P6X06w + /i+8/5L8v+7/DfCfz8HwH/s/zP8X/4fo/3lW/9dCk/8Wz//4/B+m + //38f+n+a5L/F/HP+D8i/mP+zwz6/+vS/pd1Nfxnx/83+D/yE4D1 + f+H9V8n/H9L/wvP/ef+j2v9u1E9ATP8/HOR/Yv/vpZfm/Df0f/T9 + L+v/9e+/Bvn/1fl/N//zXCn/g/N/H8//P1+Z/6niPxv8z7D/b+Q/ + sf/X9f8Z/8fnvxXyPwh/C+9/z7AngPCf0f839X+W/zf0f38CVup/ + X2j1/zr3X2b/F97/Xh3w/9n+1+b/R/x/K/9p+z8y/GP9X07+fw3J + /wfzPzfV8n8Y/9/q/835D77/j/6Pn/+ffv+r9P/mQP6nwP/B/D/2 + v7v8t+06/6/4n87915cd/qfr/xv9v+D/a/5DpP9R93/tUfzP/Tj/ + Zfij/hfxz/P/h6bZ/8buf3P+gzwBEf4/6f/F/Gch/w/+D+N/Ho/3 + v6v+39N9+Ceg/9H/d/g/yf0v6/8C87/Y/x7N/3Tin/k/Vw3O/+v8 + Zz3/bUkl/22a/q9Q/29t/xfL/7D+L83/0fy3eP8v63/B+9+0/30M + fzD5P+n+F/n/jP9s+v8F/a/gbxn/wb7/Av+nwP93+c9j/0f3f0X4 + D5H+9xnd/5r8B1P/H1L3X0P6f+UJ8POfqv+X8R+o/6/5P2r/6/f/ + vtWHfxz+J97/Ev/nlOb/6Ptf5P8o/38Mf4jnf/D+VyJAeP+L91+W + /4Pmf5b/uWwY/2eY/8/9n0j/l/g/SyH/uczN/xf5P6uI/+Pp/yn6 + v5L8P97/Duv/5f7/F/onwOL/T/Kf7P5L7n99/kOE/5Pef10M/R/l + /yP/R/P/A/mfRP9r/5/xHxj/p5L//5ziPxj3v7D/nab/vbb/90hN + /jPJ/8P9L/X/ef4n1/+R/P8g/yfZ/4r/r/mfaP5o/qe+/8L+R87/ + yfz/5P7Lyn/ON+9/Vf7fzP9E7r/s/kc//8/4D7z/cXD/V7H/EfX/ + ap7/9Pp/Gf8t3v/F8j/I/0H/X93/3lXy/+3735j/g/2Pk/1v5//c + H+x/RP5nK/4T/Z/yP78U4P8/YvJ/NP9f8d+S/i/gP+yo7H+P9H+N + 9T/uf0X8a/4D7H+fUf5/df4/3P8b4T8M7v89Gu//Zf0vmP9E/9/t + /6L8fz//g/l/zX+A+1/q/0D/Y3L/pfn/mv+A/Y9u/9ds7P/C+y+f + /6Puf5P8v5X/Yf1feP+V97/X9/9ek91/cf4P7n+j+U/gvy2P8T/N + /OeNAf/H0f8brPznLf0TgP5/vP/Luv9l/n/O/5kJ/0fr/9z/8fn/ + wH/DJyCi/7dq/j/mf/T9F/L/Wf6f9b+j/tf+fzf8nzL5b37+3+1/ + wfsvg/8A97/If94TyP9U6f8B/b/F+1/kP7wS4D8b/E/3/pfx/xP+ + c6D/1+C/Mf9H738V/9/o/3X1/3mr/9fR/yb/M7//wv4vyP+b/Oes + //0Klv+syf/H+T/XmfzPuP+f8t9WpPPf4X+umtn+35b/b/Af5AmI + 539Y/1d6/xXh/6D/k/f/ov7n+Z/I/te8/0ryn90KGMtfHP2P/P9H + Ivkfzf9R/e8s//8E478h/4fwPyv8//j+t5L/6eR/yvdfKv9Ztf8t + 8N/c/t9C/of1f7n+fyH/z/KfAf9H3/8a/k+n/+39Lz4Byv+/YPV/ + zc76f638J8v/LDT7vzD/n+Z/WP/7Ish/1vr/w/pfLmr/48pY/vPG + 2v5fvP+K+P9M/0P+x8z/2/3vNfx/1P93Z/2PJf2f89+Q/2zxH0z9 + /6Up9H92/5v3vyD/R/d/Yf4f+f9+//sg/7/A/5/C//f7f/fz+f/8 + dP7/4VL/F+W/of8fyf/7+R/F/0f/n+b//fsv2P8eV/n/hP+v9r+n + sP8X8z9w/3VWwz9T/W/2/85h/b9p/tPO/6T973n/V/YEFPu/hvr/ + bP9bd/+b9n8tVfyfpW7+ZyXX/6tmpP+3vf9a7/Ofef7Hu//S/P80 + /2nzH9L+r0j+H/u/0P/P+c+x/e9Gov9z/oPi/zwU4P8n/B+d/0H/ + B/P/uv8X778Y/1P7/5j/cf1/zP9T/jPL/7TDf1ck/ynwT+7/7A/c + fx2cov+3lv92jPc/2vkfzf/37391/l/zH7D/HfkP4P/T/Cfrf1T7 + X1P/Z/2/56z8z+zi/W+a/3T0/wK//yvlf0bzP7X+f3z/2+X/Z3L/ + q/lvH/rQSrL/XT1D/H/G/zTz/7X5z9z/1/vfeP9vjf+D/e+Y/5yU + v+j9L9x/bZ5O/9v8T5b/Qf6b9v91+Qu7/8X8D/o/yH8m/n/F/a+7 + /x2Lf33/5fb/RvifVf6/0/97pNT/SPP/kfxPxP/X/Ld4/2/Y/3lX + 89/kCdD3X8L/0fwHrv/z+y/d/4X+T2/+O/e/qv+X5v+R/6b7v9D/ + j9z/8v5fv/9F+//e/S/P/y//tez/sva/0f4vnf9E/hvvf8f8f9n/ + t/S/nf9M77/uDex/HyT7X5P/ZuQ/w/4/hj8N/qfO/yD/GfP/mP8h + /V+M/2Pw31z/P77/fQb5n3j/6/r/Ov+5t5L/WeX/h/a/5P4r5P/X + 5n/i/r/f/4L5T+Q/C/+ncv97muh/g/+G4R83/4P8z1D/o/Z/eP9v + NP9j8d+uzvq/4vyfbv87zf1XxP9ZUcP/dPq/1kT6f5n/0/W/MP4P + 4795+1+r/7ec/2f5T97/qPOf5v4X9f9Gkv8c738H6X98ArD/1+j/ + 0vxnP//v+j9Z//tTVv5zmP+f7H+R/0P4z8/F77+w/1HCP+j/w/1v + lf9f2P+2T8BRnv8x/f9C/0tv/pD+36+X/P+35AmI5D/V/dcE/lNz + /3smkv8U8c/6v8D/z/T/hP/j9z9q/4f5/yr/f0Ul/7mg/y3/55rK + +6/FcP+1ZCb2v1Pe/w6+/7q5vv/d5D94/E8//8/yn+n9l9//cr/p + /3T6f1O/Ao7cf9Xk//P+X4v/ZvOf/f4vxf9H/4f2v0P+cyr/H/wf + 1P/j+a/6v3z+w0XN/yT7X9L/xfg/Tv/vKzX9j7X+v87/0PvfXvyb + /Y/g/0yOv8z7X93/rvu/wP83+78w/zPH7P9KnwCb/6/2v4z/mfDf + dP6H9/+y/nfG/8n73yP9L4z/fMklS8z7Xxn+Kv8f5H+uLvE/I/0v + G6r8f53/7PI/rP+9vP+N83+4/8P4/+X9b6r/N82g/sf8fy3/ucv/ + 7Cj1f2X6f6fp/7P+94j/j/4P7n9V/ifZ/5L8fyT/M+z+93C9/4P5 + z6MB/s8r3P9/3ep/ZPe/Ff2/Wv8r/8fsf3zX8X8Y/8fV/1n/73ni + /7P+X4S/zTP5/5j/TP0flv9h/o/n//v972n+f5L/TPP/uv9xSP9L + yn9e4d5/zZT+Hz8Bsfsv+/5X899K91+5/sf9L+P/8/svzX/W/S92 + /p/d/7L8z/T+P+b/4/znQP4/2f/G7399/39Q/6/2fzT/n+b/Cf/f + 3P86/Ody/2+g/+Vl0v+C97+vMv4P9H8V8v96/0v6f9+WJ6CW/+P2 + f51i+9+Y/5/p//O+/4/8H53/BP7P/O74i+U/8/vfUv9X5v9fpfmf + 4v90/v/I/xnG/8H8TyT/H+l/6fI/K4b6/2uC/S/k/gv5n8X8v81/ + Zvof+W+R/l/W/2jlf+51/B///lf3v2v+A/Lf4vkfzP9r/a/9H9H/ + PP9v5z/J/Vfi/7D+L/T/kf/p5v+fgfzns3r/q/j/hv8j5k9l/9e0 + /B/X/zkayP8b/r/u/8L+X83/xP3vMP6Pyv8c78V/6v/o/Odptv/F + /i/S/3Ke9X8x/x/NH33/heIf+Z+s/zfS/1Xqf2H+f+7/sPxn6f6r + N39M/7+Y/zH1/yp+/1XH/5QnoOT/TCygGP/Tvv/65Cdz/pu+//Lz + nyX/B/P/6P/k/S/x+195Anz9L/5Ppf53+n9N/jPl/2v+p/J/vhzw + fwr8H+n/cvk/Cf+B+P90/wv5/70B/sPM8H/q+39N/mdy/yU/ASz+ + 2+sO/9PlP4T4P4KAJv4P6v++AgD3v6fI/W++/yX6/5zV/8X0/xzS + /zUfLSBy/3spz//g/dcV1v3XomL+E/P/qf+v+T8s/6/7X4bl/5dN + wX9YHen/Bf4/63/ZUOP/Y/7Ty/9b+9/I/Zfd/2Xtf23/R/M/tf+D + 97+d/7NZ9b9sHqr/s/wPDv9tVv4T978J/Bnz/5r/j/wfvP9V/k+I + /+P2v8wA/8HN/8f73w9x/j/T/4n/I0+A9n+g/5H1/xr5T3f/a/j/ + rP9X3X8V+D+4/9X+D+j/4P4X+T8m/9ng/yD/mej/Ob7+T/lvC8z+ + L8n/WPn/cv+X7v/t/P9p+P+R/S/6P/7972D+Q4T/WfZ/Ivmf1P/P + 9b/l/0fvvxj/n93/6vwn3n9h/h/9f/R/SvvfXP8j/M3V/4z/n/T/ + +vw35P+4/M+k/8v3fxj/s5L/U+A/kP4X3P8a/GeS/9kfyP9E9b88 + Ab7/o/ofWf8X7X8h91+M/1nBf9D3vxL+RP8f8j9J/yPmP2H/2+c/ + sf/xjKP/Yfl7zur/svM/vP8r579h/lP3f/n3v6X+r0WO/4/+Tyz/ + n+9/I/1fuv9Rhn/J/1lR4j9E+D/r6vM/N9Xwf24n/Ad2/xXJ/8fz + P/dY/If7LP6P3f+OFcCa/6mfgKH6f6uT/1T3v4/r/D/r/0X+j+J/ + Iv8hxP/H+y+f/0P6f3ep/P9Y/Fv7372O/pfwP+f/BPX/4aH+T6b/ + jwX7X1T/I+v/mor/5uZ/3rXyPyfT/P/E/Df3v2n/IyKAGP9ntpn/ + SfOfeP/F8j8LMv4b439a/J/a/q/8/ovzf2z+c3r/Ze9/Y/7/spr+ + l9r7X4//Bvtf2v/V3X/l/M/S/S+7/4r4/+X+91r/p0PAMf7bRkv/ + byb6n/F/Iv4/8j/Z/e92nf+X/A/hPzD+f0X/b8T/J/nPZ5H/jPkf + zH/2EdCi/wP3XwfS+X8g0P/7QsT/ifHfbP+f5T9T/pt3/+vyH5L+ + X/R//P2vvv8i+1/q//j+v9L/F9L731k8/zPXuv9C/x/zPwsz/jPJ + /5v9X7n+Z/xPnf9P77+m3f/K/O/4b3X5H9L/O9b/Iv4D/n+E/7+h + fwLQ/5EnoKb/l/n/d/ZPQJr/HMJ/+9SnBAE9yf9g/jPN//j3vw+Y + +199/4X8T9n/CgJumvyP4n+y+1/0f2j+n+V/dP9juP/XyH+6/S/G + /rfEf5iS/8zyn8X7X+r/AP8h4b9p/n+k/0X7/yn/5+sl/x/z/2P+ + Wzz/r/j/4/sveQLI/vc06P8z2v9v57+p/5H/j/1fs7P+X/0E+Px/ + zX/G/L++/2X85xL/097/lvz/CP9T+z/a/8/9HzF/WP+viP+p+T+1 + /k80/6P9f8b/9/1/nv+su/+CFUB2//uguv/N8p+bGP9hmP9f4n96 + +1+t/7n/4/U/sv5f1P/o/+P+N+7/4/zn+c899fdfSf5HzJ+w/vf4 + zx3/odj/yPg/ofwP6/+qzX9K/3v7BFD/H/M/ov8j/b+o/7Pj357/ + yfx/pf/n6P7f0v53vun/6/y/lf+5nOR/8v2vf/8b8f8j+Z+0/9fv + /1pm9X9F9r+rZpD/b+V/HP7/LRb/Ldf/4P/fafH/y/of/R+//9Hv + /0r9nzH8wfT/O/9nM56ATaf/H9H8f9X/y+5/E/8f8//Y/4v97/z+ + y+P/y/An/r/2f4z8j+p/1/lPzX+YPv+T6f/a/i+W/3Huf03+f0X+ + R/n/Sf4TnoBh/g/mf04Q/vPJLv+P91+nzfyn6v8d7P/PLeY/U/7/ + QpP/xvmfdv4H+Q+x+9+c/4P5z0j/e5r/YfvfCf+B7H8vEv9zbU3+ + 5+YA/8fW/63/b+Y/Wf+77f+n/s+k/4v1P2r+s9z/6vw/rICz/Gfe + /zVI/2f+/yOZ/k/D/87973aW/0/zPzb/mfS/IP854v9H+h91/mdX + oP93j+Z/tsN/X6D/ZUj+B/e/qv/9pXj/b4n/lvMf3PvfQv+v5n+6 + /s9x5v/o/H96Amb3v/fHv5b+P2/x/9H/n23m/2X/C/7/fIv/vKCY + /4/3v1v5T3b/6+1/rfxnnP+5eFD/+8p6/o/H/6+9/9L5/5/6qVt5 + /+Ptfv6f3f+K/mf8B8v/0fxnM/8Tuv8l+c+Z0v9bdf6f3X+p+1/k + P2f+f97/qO+/0v7HnZb/w/z/UP+Xy/8p8B8w/6/uf7X/c8Dt/xL9 + /0I4/xPl/7RPQHL/q/kPuv9F8x/c/L9x/8X4b+0ToPkP7yj+f9L/ + wva/qf4397/vpfy3fAVs8f9nm/2/ev8LCCCj/wX73/vwp+r/quU/ + R/x/m/+P/E8Z/nz/ez3J/8vwz+Y/8t+WXQT+p3P/td7qf5z4Px/7 + GPIfovxP5L+V9r92/0vq/5f5z3H/J3L/q/k/mv+A+v+Xf7nc/4v8 + Nz//w+5/Nf8H+Q/8/mun0//o5v/p/Vdl/8uA/H/E/zkQ4z9U9X8d + jfA/5QkI8x+S/D/e/2r/X+U/E/6z3/8S6X/X/S8p/y1/AgL+f7IC + 9vU/9j/KEwDD3/B/sP9d/H8r/5P3v0D+x7j/kvxPxP+P6X9v/yvD + v8v/aP/f5n+S/P8Kfv9V5H+ujfE/1wf6v27x73/j+98a/9/nvzH/ + 517l/4z6vyL3v/79l8V/K+t/5L9B/mcby/+Q/W+W/99RvP9i/Dfs + /wrwf8b+P9n/Jvkflf9M+A/Y/0X4n5r/o/e/B8P9j7b/E+M/m/lP + lv9n919Z/v9Ns/8L7r8Y/1n3P4byP+j/W/vfU4H851nT/5f9r87/ + tOJ/lqX/5zj6H/0fxn/A5S/cfxX5P8h/jvr/kf3vNP5/jf8zw/rf + 2v9uGND/Fel/9O+/6v1/5L9h/p/xf7z8v/Z/kP9j3X95/Ge3/xfz + n5n+t/M/aP4H7n9D+R/g/yT9X8T/L+Q/df5H739V/ifb/+6Zuf2v + ef8V4T8fCfCfQ/x/sv+l+R/i/xv8H8V/Zvx/nf8Z85/lCWD9v6z/ + UZa/6v4r6X9M8z//F6Y79z0KZW5kc3RyZWFtCmVuZG9iagoxMiAw + IG9iagoyNjEwNgplbmRvYmoKMTAgMCBvYmoKPDwgL1R5cGUgL0V4 + dEdTdGF0ZSAvY2EgMCA+PgplbmRvYmoKMTEgMCBvYmoKPDwgL1R5 + cGUgL0V4dEdTdGF0ZSAvY2EgMSA+PgplbmRvYmoKMTQgMCBvYmoK + PDwgL0xlbmd0aCAxMyAwIFIgL04gMSAvRmlsdGVyIC9GbGF0ZURl + Y29kZSA+PgpzdHJlYW0KeNqVU01rE1EUvTNW3IQqoqV09ZZFkjB+ + LKy7mKRp0hJjmqIRQceZl2Sa+fLNJJrQVTduRLsSF24Ef0CXLrpw + UehGUSjVX+CifoAodCmemYnJ2CrqhffemfvOvffc+xiisXXVdU2Z + EVm2LwrVTP1q/Ro78oZkGqcEwVTNczOVykKAbcfmdMD23pIUnNup + IBf9nx3WuafhfIHl3PFdn0hSgE+0a9UscA54XHNF4K8Bz+meZgE/ + ITp0fBAb2MkCt7kwNFYQao9VhNMwzLjWv93/kwWzidC3y2HP0sRL + rSO6g2tJekXk87t+8JF13J4wmi2fnZ6ZOc9S7IyinGUZTIizrGO5 + HZ8LVrS1dJKppslCqscE97jocj1Nltn52dtRrAS3lxZxThPJH7iX + H2DJ1dXcPPA5+Cd0nssDX4B/s2HMFoHTWJsNMbuE8xT8zPCLtcgv + b9hmeSHyyyXbKV8CToLz2PUvVoHxDvJ9r7uYH+T5uqyWKjgnwCm1 + nfmAMwmO32/VrgAfg/9mv5UtR37pO9XJJE4G2dhtYjRHKgmysKuU + IhfYoQbuDfAMKoQsDq9BHrXBLwC/D7EaZhpFmFSJ4YC5i9jdMPY2 + dcCNopGpTKtJZV35pDxT3imflR3lKdDHtanOtOs+erAqbhja64df + kC+oPMoXqWADVVFmDRX/pNLHnb1PYwbLpCa81nAO3iBChUoPUR1w + g4ypeEcNe21qyOsRCxTye+W9WHU+1DmqfSvM3w61dUOGhz0T0xC9 + Q9TdMm5HasHeWtmYjFfdGXt+fTuxtbJvNno43WzYTx/MgzOKv40z + rNfEcoZs/tuJavH6v+TB3/oDn7HwUQplbmRzdHJlYW0KZW5kb2Jq + CjEzIDAgb2JqCjYzMQplbmRvYmoKMyAwIG9iagpbIC9JQ0NCYXNl + ZCAxNCAwIFIgXQplbmRvYmoKMTYgMCBvYmoKPDwgL0xlbmd0aCAx + NSAwIFIgL04gMyAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJl + YW0KeNp9kk9IFFEcx7+zJUKsBWUmUvBOtgdXBu1gHYzd9W/Ktqxr + pgiyzr7ZHZ2dnd7MbiUeQoguQdYxuljRSTqGBw8dAg8RgmJdIugo + GQSCl5DtNzO77ojagzfvM7//v997QF0obZp6gAF5wxbJ/ii7Oz7B + 6jdQhwYEQSutWGYkkRh2mWxxZO19heScm+Hj9f9dDYISAhJVgMas + x9ccnvZ4wOH7tmkTTzqs5NIZYpO4TaSSMeJXxGezPp72cYZbCvEy + 8U3FFBQnkCIeKClZJ+YOsWxkNIPkl4m7MpaSJybfwFNnFl6Z9hDQ + fQU49bkmm7CA5XfApdaaLNQMXBwDVjprst2kOx+pad1SOztckRSM + AnU/yuXdVqD+BbD/vFz++7pc3n9DOb4DH3WlKEqVGUnSF8Drw12N + /dzgQlOYc18JUVA1nftGerza69eLR/Ulq3QSezNxVxewRPcwdgYY + egy8/AlcfQ9c+AAkGoDUdQQeobpt/sDNEyuYD4WWzdmsQ5Y7WNg5 + OlmEXghnsULeLNpcsEFDaW9jaV1nrqnFBLe4KPFMO/J6sdrvOdpB + boyO0EnzCqjc6q2wNJNJ99DdoJ14I8N7ep13Qbyoan2DzoXQ/qSK + vlGPpfOaPZjyONBt6PHhCsMoxG97MbFj2tFkNb5VGumtymfStxJ0 + tpD8xmxhyLFpIt/QXC415rGUmsvF4hVexTh0cGgw6GuAIYl+RBGG + CYECVNJoZKGRlLs2gtjC7LGWOhI+ZqTfJp9t1+ceiuTteN1BNI6F + toMITP4m/5a35CX5rfxrsaUYqmkWxJSmrD/7Q3GdzNW4FW2lJi++ + QnkjpNWRJWn+oCfLV6mvOtVYbKlFcnLwJ/E9X5fclymMaTfSrJup + 5Oos+kZ82U6aHtmuza8213JtnV6Z3AyuzR+aVeFIV/ygq8P/NTu/ + P/8HzbABaAplbmRzdHJlYW0KZW5kb2JqCjE1IDAgb2JqCjcwNgpl + bmRvYmoKNCAwIG9iagpbIC9JQ0NCYXNlZCAxNiAwIFIgXQplbmRv + YmoKMTcgMCBvYmoKPDwgL0xlbmd0aCAxOCAwIFIgL0xlbmd0aDEg + ODAyOCAvRmlsdGVyIC9GbGF0ZURlY29kZSA+PgpzdHJlYW0KeNq9 + OXl8VNXV59y3zpJkZjKTWTKZJcNMJgkkZIOERBhiNpZQJC4JGkyA + QIggASECCkbLIosUpSx1p1ZkUTME1EEKRYof2OJWq1ZqrVaw/tqm + 2n7BqjhvvvPeBMTvZ3/fr/98782995x775x7z7lnuzOAAGCEXuAg + MmtBe3dJTmOEes4AoGVWzxLffdvG+gj+EICbOad77oJPat7+GECo + ITx77vzlc36z4dEAgNwJYD7T2dE++9wPbKcBXKVEY1QndRh/JZgJ + n0/4sM4FS5Z1vKGzEL6F8GvnL5zVXrC4uI3wc4QPX9C+rFuezLIB + Mk2E+25tX9BxXWfHnYSPJDy7e+FtS/BR9gTh1xI+uXtxR/ewe4qn + E/447ecI9SGo/KgcAYrwHz/IOF64skOUZB3oVciQJJsCqQBppkvj + Zgv8fz/p1v9ktnAcTMJRCAu94OILwQuQeI/KWbVVrkt8IpwCk7Ig + 8Q+ukiYfVgtTxlXBcbgPHoI+EGEPwWGYATvhFeyCw3gTHIJ30AMF + pDM8xGAynMFE4k2YAz+j+UvgBGyDAySoMCwAG41uxmBiBeERgmfC + 6sRPYRiUw1o4ChVEdTMMJPYmDtLoNLgO9sF++v6vMcAO8OmJZxPn + QIZriOZqGnkzMTnRBxYYDtUwlXpXwzEMcmcTneCAStrdw/AY7IKX + 4G94Dx5KdCZ6Em8kPgJGo25oonclHsKPuD5+beLhxF8SCkkiDHm0 + ahtshSeIfh+9x0l9avEWXIJbcRuLsHvYIX6NYFfiJIdcqKe3ARbC + vSSBw3AS/glf4WfMwZm4JdzLibLEf5OOTCIuVU46oIfedfRuJp6O + oIgj8Wqciivxx7gN32J57DrWzG5ny9gn3BTuJm459xZ/G98vbBJ2 + igblQuJI4lTibbBDFtwIi2EVcXcC3oBB+Bo5ouXGIFZiNc6gtxcf + YodxFx5mU/E4vsH24R/xY/wMLzKBGZmN5bMlbCvbz06w17h53Dbu + J9wfuQv8WIEJu4TzYlD6vTJTWa+8lqhMfJT4kryADH46mWqYAjdD + O3HbDaVwF3HxDL19dGon4WV4RXs/RjcMwJckBfIV6MJibKR3Cv4A + 5+A8fBRfpPeYtpcvGB0E0zEzszM3a2Iz2QLWy95mvVwml8dN5KZz + ffSe5t7hLnIXeYFP5218PT8BNvEL+Afp3c3v4fv514UKYawwRbhe + 6BXWC5u4WcKbwjviKnGz2C9+Jn4uhaXJ0kJpE53OK6SzL33HDHgc + RrsvhlthFtbgTNhOp7EL22EDaddsvJf22A3hRCu3iqtnI0kbjsEd + pK0PwkpYz90EuxK/4/bBu6Qpqh/rhaf4asgSdtDp3APkmSK5ebnh + nFBwWCDb7/N6styZLqfDnmGzplvMphSjQa+TJVHgOYYwvDZQ1+aL + htqifCjQ0DBCxQPt1NF+RUdb1Edddd+dE/W1adN8350ZoZlz/tfM + SHJm5PJMNPmqoGrEcF9twBd9tSbgi+H0a5oJvq8m0OKLDmhwowZv + 0eAUgv1++oKv1tFZ44tim682WtfTuaG2rYbIHVZDhH7EcNVhRMCg + Eo7C1e0rOx3UqDNqo65ATW3UGajRxrhgbfvs6NRrmmtrMv3+Fuqj + rmnNtMaI4fPUfcJG4+zA7I2xCMxsU6H2m5qjXHtLlLWptMz5UXug + Jmpfcd7xLXoJqt10xWCUBevaOzbUkQg2NiTRNhVr30TYpCYfkWVr + WpqjuGZoE+oeu2qS2+0I1KpdbV2+qC5QHejc0NVGwoVpzf2uiKs2 + 0F7TEoWpzf3OiFNDRgw/7FhV6SfuD48YP2K82lb6HauS7Z9/mOz/ + zXGDNu/kh9ROmnZZAKiuFJhA+4z6ZmmLBGiz5WrVUQ4bZpXTNHpa + kNicR/u5OspIZ7hgVAhOaI/2Nl3aRmdNcnNtXTX9OqdL5aGtuoXm + t20wjaFlaL4p4NtwAegIAwN/+25P+1CPGDRdABVUD/qyrtD4JbhH + E4y6nCPQqZ5vT+0QHnDUXtFBuCoadc9Ra7R40tRmf9TXQh2kLoy8 + MwiFFIs4kGBsxC+IhWQQvFTIgV7gCzmOuXSiVIjglHX3+mfd4cjP + nzJY1RivmmL6oqrRFK+CcVXxKrUUjSwx+805VHbxm2Pf/Ek4+vXV + Mb7x4kHQ1okk3uPdwk5II8+/KGJfJ2CdbCtLE9xlUoqlnFvoKDd4 + 6rNMPScdvx2ID8C4gXEDRSOvXh4phcyUEAZdIV1QCGWkOsJgBUsY + M2WCTCJBdqMtjOmMKqfeHQYzT1U+PZh/6bkbWsGeYTZJzO/LCZlL + R1v8llHmUhbIZmarPaOEi9zZdsMq5U+KsmreuB4s27B72TOPbS1s + eFbYef6AckZ5/xfK3z88gpWDfVj39fkvcdogVipvK3/4/Zpfa+kJ + eV9gbwsPkJcOHJAxhiURI89LRl7aLoC+XqcydfLteAWMGzf4atHI + 9LKxOLrEHDCf/OWDoc3HuS82pLfs/vpW7guNFhkx7xEegWzYHZky + iq/jbxBuybrVs8KzGtcxOU+e7rzFeafzTvdzTgGyMY13pzr9ktvJ + IwjetLTsdH1ZuuDzLvVnG/13SeUZC7NTc9Lu9pZnD6sPJIU7OGC6 + MHAueWwDZktFocVegdRaKirMVEGrJnY37zQGzSGDJTUMOqtEwuVT + TPowyjaqSL4mEw6JdpRlHI4aPaqsNBTIlkQpQLC/2GKzSmIaitTh + t/knrnnp+N2l07avPFwf4l/gqpdi+IuPl9c9t35m+WwXl/pN7mG0 + dC+cVNZ0y8qtmyatOdLzhvLFE0+vqO+YPKrohq59mlyKSH9cwoNQ + BCcj3gnGphEdubNGLM1dOkLcHsJJcr7ekW9N4b4qspalkCMNRKzm + MtNdKSlFmWXDBKmsKMWxPafGHMOJkTR9ecFC5s313c3lsJL64iuk + QrWmeCSUwfgnpgGTKh9VNppIRhWOdIZAJ4SygtkhEbgw8Jw8ksTh + DnjD4Ao6wsijROIqpMrjzySZhTI1YSWV0VSlSexukhm28qysJIN0 + rzgpOFEq82BJ8RViLFXFmKGKUfKgzQoBzDj/c2O47oXNTz+3yxJM + d4cyOsYv3tlxqDYk9EduRdvvP68fXrfoLuWfX+ag/fTGcYt2Lvtx + D+JjHPOVb7llybLqFY93n/7l4dXTSrK8B3pfVZSkXdKdgC8UHiYo + BW6KZOuYXk5Bxo5ZRFFiIgqSTLmNpGdLDcJnnFHiuRjan8PtKfLT + +hg2HxTS6lM1CV4YrIqfUzWc9MpcoUmNPhXrCvL5laaX04pGolmH + Zn8ZlphLbAEze1Ipw9fim9iWnW+9RWnR+vjtioAzotzmb25+RPmp + ujcOPOSbriLfxCjZN8DZyNQGbMZO5O7ldvA79Xv1MV1ML4b1CJIo + IpN1Oqr0IAm4CTneZ9XrgxbqswpCkLhBg0HgdHpeFNDAkAPmkeQY + tkR0lAKIOj0nELYnYklJsdtdwqP4qN5pTNnl3zSDPJ5zyqCjMR53 + TqntqPmkrsYB4+zk8sgJqqyOU1lNWk8hcbvSNOma5ih/PDPKn2xZ + V+AY6uCogzvZkj80d52pqkqiQmJpbSV9MGB6CQY4PxdAbvMfB9Z8 + xGxnt8WPPHaGbWHTVeFws76+GmNKg+apd5BceIL0lMuH4Z5I+fSU + 6eYu1pXSZV7BbvdLE1IazCxL9qbx3nSSYY7ssTODJ0fmizLnpRUF + XHk6WzCc4czNi+HNB/09c6506o2aEcQ1I4h/q/wWh0uQnUExJDn4 + fBRccj4pNmr6TBygprk5oYDffAXI+X32pAZnJNtcZCdX1d26tPoe + 5RF85oUpRT+avFJZ+kt2O7IFkR/kNi4qn9WyRvkgvpWbGhj9oy3F + bqUiPr3r6psfH+ONXxTSH7zx9o0thTn5o9r2br7tadKK6YmzwiLh + PGV8HjgQqcwUduB2gfOil78H1wnr04UmmVubZTbbxDFZnHGMTedh + Ho+TK2KVpiKzy6crcjq9vl3+rqQAGgeG2CfOSZGTfsCUjEJjwG0P + podSg5khQ4auGFKspmK0mNNMkpswAbhiRMZzeoexGNIsVMkusZjc + AVWa+ZuqVOtP1poXIBcgoz1QgIFsMJssqumPLiF3qUUoE9l+gPdg + qfmE/+X+95QL//js/duu8pxwPdCnvJuAZ88//SLWh4Xzytkjm3cr + rysvK4ryi70t93/6yNGHXsWnsfaNP2m2/STpySzSkxS6b82NeNeZ + t1tYsWzwpDHw2GW5KN3lSgmmOp2ud/w965MyiGsyUBUgrjEewgxz + 0BYSJUHiJU5ikiDqTTJxm0GVzmIoRslKGbzm4fJUvoIqJ2o8MLFL + KmC2SoyO/o2O8UsmVrrS3vuH8thp1oSFT21rfkhZG+/bZ8tZ2LKx + qR7NWHBxp5D+7gnlzb8cVfo1v99H/mkf8aCDiohD8vC8jvMgXVtk + 8RZ0GTg5CE69IYY3HPRve3+IBU2NVV9UpSkxRVyKQWa1BPq4i9+c + YW/GC08JRw8p1X3x2eoaD5OcptAaBngxskIUgkKO3CA1S7cL93I7 + uRhdgf4sGXZzu3kmCGE5V7dH9xUTSCCyoON+y1AQRFmWdIyFOS5o + oQ2KqsOhLoHXqRXHJFEnC4zX8xwyvSTKt4h3iJ+KnOhKQX3QAORo + 6ABmXLZC5xTTJ63kZKrIyVRp0dleIa9rLMgXyJOqLoU3TZq2bMXL + JrlKJg8Cixe14qLW9BIz+nXoR8kcePgEO4Pp8UfYEiUeV/56Qjga + L2Vn4tFvtrKPPlI03VDl+qXmQ6zQHimbZ5xnWW5cYeEbrM3WTusK + Ky/JHrPJpMfUNFXeepmJFiOvs1qLeFdGmo7EbsuIoYHEvv5KscfN + tGFV9PEqEwmfGqSEojVdi2UiaUQANN/gp8DXx7ad/PydD5TiU1zv + surblCW4ae1TwtE/nH46Ed/KHx7jVbjFW9S9HqLzWabpQA78OGKR + UiZgg9CCzcI8YbZ1mSBnHKGLvBMy0R2pDvh9oTbLIstSK2fxeK1u + G+f3ZFj5kGVY0AM6XabkMbCQO1P2BW3eYAZXlDYv05Urh4I5emc4 + 9x3/tu86w8GB39KrHUU8yU6FOZkuqV68ldp81YVj8bc+r1j1dWrQ + 9iK5PbuNbLwQQ9pggKvf9MTiq+YorlNsz54Fry+Yef0NgsQZLAWD + eiNvlGZXrFAqT3Hu7gceqfAoeraraEZ89Z6SwOLel6/NrbP606uu + v7ClKDO+gXTWT+f3CslEgtKIC0UPSIyXdRS74CLjggJ/UXTKavCa + YhpsVGPyoBa81JNpVHN1VK2BwjH/imL+lWIWjvZ9/U8htS+ZzwYB + pEVE24jXR7bJOlwmLdctM6zDtbxQj5NYDdfAN8rV+vXyOv1pdoo7 + JZ02GJsNc6VOw3q2llsrrTf8hG3ntkkPGvay3dyT0j5DGpmDXjY4 + 5Qz9DZJokHk9GxuuDQtByjIgaDQadDxyBsYJolEACuIGTpJTiRly + N2sjMscP6plusNcAuNboTNlMbJGNqDG5osJFZahJxudkdLZrhkNG + M7CuYGDStOWHdHTfp4zlwUiaRXXVAseLkk7W6WW1T09my1E3GA3r + Vppk1ciEfFm1Ntn0LTLpmuUHkWyBvvE8keOJiEZQp5OT9BCQEQXZ + dFwrJmFF3CGfdGjASvkkSX1xa+siaF2crsMS+mBAhwGMow0n/w4n + o+2ssupN5Rll/5tKr3D04nX8frV8fTV/4uJYOg2EPLKDUs1P/TzS + HcZRrJ7dwN3Az+Xm8j1smXwvHZAhxzCajRbK5U5BYBzlOapHEmRJ + 1kmUBJGn0hEYtOgNeoaMw6AFwMAE2UDsS6L6YwhlQiDrRR7UXjp7 + SedK4ZBcVAyNB/2bh9KhRsdJ0xTnF9Qk7V3Nh6qqzEMyzyfuhXVD + jemKhpwVBT5/IMm+yjy6PmepSvpXeDsuGVDSmfAvZQn7B/mq11hx + vDSexm6ifGda4n3tl6c0qIQq+EOkPG8k6k2GTKM7p6TBNE/XZZIq + ZItRx2UWS8N0WSZjVmU+K8itfKGSVRbnBS0mSZDdOdl2dww3RAL2 + LK+Uk1VgYFllhiqpqsptlXLz9gxzjc3MdU9Myyl3XjX257iDDOww + boehzGBQyw3OxU9ezg3GDQyoGa5dcwIFAwUDWsZrT2ZL4VGjbdmA + ziCOSvODw5Pphwyf1Y/+bBjN/ODKsvvJAKmCZHJwxcVgWIaaC1yF + qahdn2zfuVuNpTsCuRezVb04jLalUvaQE8pRm1BZ6ajR6Zi6eMrN + Ldv9ncULZhY14aGxNuMPV9xX6dfvEf71xNGepfag0WPOGx5qzcvQ + jX7tzm1HX9yx4fXpwyfsvt/mFlNT3IVzcb483DHipqbJeU3/9VBD + w874Dnc2x60xitWBSEPXc/du+1k6nlN9ck/iAz4onAAz5V7dkYLd + 0lPud91ctpzmYQKAPUuQzHpPlsFgzZFdPleBqQBzwUzp1jr/0dZL + LvbcuaFsY0AVqZkyaE16DkuGqM8QrSG06KmySfYQpus8oWSWoYqJ + Yp0qCovZyjQJ2ALDhu5RNvVC39NX+bO20199cXbFtcUVu9mc+++/ + 747DofoTwon4XxuvUQaUQUWJVgYa16/89NjeD55/c8eMA5rfW82d + wOnCrylfGhHJ0M2WIJCCaeSFZJjNleqcqfMbkv50gIJD0ps2UnQg + s06lG1qGne416ing9NEVlNC+M3uxsEDXVScapLOv3H4klejv4w5h + r5aPEX0iLs2WNfpCqW62DM7UWdOS9KviA5fox98n+uljkbjLCZSV + qJFlX5J813zeouuqlVTyvQdTYOg/FnjOHv3hzWlVFxBlDT92fcfa + y60n8Z6kZsxAsRQv/b0CIOYquQCyV9mnHJQGL49cemzCKdjF3wYR + KieH2iIqpcL14KGyg8anU3mS/xj6CH+YSh/hhwj3S/dBkPA8mj+N + Sg+egtVU1Ft9KfwUTuO1DNgUdpabwf2dn8rfw38jTBPeF/XiO9I0 + 2S2vlZ+XP9F2ZIMminY3gkjaZ6I3n6LUp9hOOGpcWIb2LdIYTKye + On58U35Dx/yejiXzZrVrOY/2JDqg43v/lLGpf+NQNmSDDLDDMIqC + Ico3cqEASqAMRsMY8j41UAvPwwvjHdCLu2ELlcepcDAPN8JyKuup + /IQKfxnaS+Uwbuzn5ciLuBxcODFi4L3XWp1eh97g/U0MxUOPet9z + fHyEEpgU+Aid/SmgG6/Hx/ExmA1efBKCuAIaIIwPHsyd722job3Q + TaWXCqfViHv7PcXeYzgcgjzSd0Lg4fF575+LRnjPF8UY9ntP5MR4 + al7yEBZJ8x7PetT7i6y53mNU9ieH9uXG1O/szZrv3eqhsNbvfSAr + hjRwf7JZmkVffd67IHe7d3aRNj55e4zt7/dW0Pj1EYN3VLnfW5Z1 + zluYE5OR8BFZk715Ra96h2Vp03xENBgxe91ZW71jaMiTVZszhsoR + 3IcPQR4+1B+c6H2RQGL34ITc8u0xvONgQ7goGMMVkVEN4e25DTnB + 3MneYG5dTg7B15+WVks3SuOlYilfCkshyS9lSlbZIpvkVNko62XK + OGL4dP84r3gE98M4Esv+g7IoCzF8ljr5I/iM1vnMCzIvMxlkayzx + 4SFVj6wx3H/IpEIEPC9qkBjDZw4mu56JeHkV4rUBE1NrljQjhjKD + iRDF+2IirMnoGecYZxlrrqir+XdV23fq/H//ODArun1SU3N0X1ZL + tFgFElktlwfz/69nyVKqOqrz8ykTOtjT3TVH+0k6UNtBpS26safT + Ee2d6fMd6Ooe+r091DZzVqfatndEuwMdNdGuQI3vQM+c7xmeow73 + BGoOwJzaa5sPzIl01PT3RHq0X+MPzqxe3PqdtdZfXmtx9fcQq1aJ + LVbXmtn6PcOt6vBMda1Wda1Wda2ZkZnaWiqftfOaqm9bQtrpq503 + yRcNN0UnXDO9Oeprb6mJ4W7qrFkK/wMUoqdDCmVuZHN0cmVhbQpl + bmRvYmoKMTggMCBvYmoKNTk1OAplbmRvYmoKMTkgMCBvYmoKPDwg + L1R5cGUgL0ZvbnREZXNjcmlwdG9yIC9Bc2NlbnQgNzcwIC9DYXBI + ZWlnaHQgMCAvRGVzY2VudCAtMjMwIC9GbGFncwozMiAvRm9udEJC + b3ggWyAtMTY3IC00NDcgOTk1IDEwMjYgXSAvRm9udE5hbWUgL0pC + UEFBUytIZWx2ZXRpY2EgL0l0YWxpY0FuZ2xlCjAgL1N0ZW1WIDAg + L01heFdpZHRoIDEwMTUgL0ZvbnRGaWxlMiAxNyAwIFIgPj4KZW5k + b2JqCjIwIDAgb2JqClsgNTU2IDU1NiA1NTYgNTU2IDU1NiA3MjIg + NzIyIDcyMiA3MjIgNzIyIDcyMiA3MjIgNzIyIDcyMiA3MjIgNzIy + IDcyMgo2NjcgNjY3IDcyMiA3MjIgNzIyIDYxMSA3MjIgNzIyIDcy + MiA3MjIgNjY3IDcyMiA3MjIgNzIyIDcyMiA2NjcgNzIyCjcyMiA3 + MjIgNjExIDcyMiA3MjIgOTQ0IDY2NyA3MjIgNzIyIDcyMiA3MjIg + NzIyIDcyMiA3MjIgNzIyIDU1NiA1NTYKNzIyIDcyMiA3MjIgNzIy + IDcyMiA3MjIgNzIyIDcyMiA3MjIgNzIyIDcyMiA3MjIgNzIyIDcy + MiA3MjIgNzIyIDcyMgo3MjIgNzIyIDcyMiA3MjIgNzIyIDcyMiA3 + MjIgNzIyIDcyMiA3MjIgNzIyIDcyMiA3MjIgNzIyIDcyMiA3MjIg + NzIyCjcyMiA3MjIgNzIyIDcyMiA3MjIgNzIyIDcyMiA3MjIgNzIy + IDcyMiA3MjIgNzIyIDcyMiA3MjIgNzIyIDcyMiA3MjIKNzIyIDcy + MiA3MjIgNzIyIDcyMiA3MjIgNzIyIDcyMiA3MjIgNzIyIDcyMiA3 + MjIgNzIyIDcyMiA3MjIgNzIyIDcyMgo3MjIgNzIyIDcyMiA3MjIg + NzIyIDcyMiA3MjIgNzIyIDcyMiA3MjIgNzIyIDcyMiA3MjIgNzIy + IDcyMiA3MjIgNzIyCjcyMiA3MjIgNzIyIDcyMiA3MjIgNzIyIDcy + MiA3MjIgNzIyIDcyMiA3MjIgNzIyIDcyMiA3MjIgNzIyIDcyMiA3 + MjIKNzIyIDcyMiA3MjIgNzIyIDcyMiA3MjIgNzIyIDcyMiA3MjIg + NzIyIDcyMiAyMjIgMjIyIF0KZW5kb2JqCjggMCBvYmoKPDwgL1R5 + cGUgL0ZvbnQgL1N1YnR5cGUgL1RydWVUeXBlIC9CYXNlRm9udCAv + SkJQQUFTK0hlbHZldGljYSAvRm9udERlc2NyaXB0b3IKMTkgMCBS + IC9XaWR0aHMgMjAgMCBSIC9GaXJzdENoYXIgNDggL0xhc3RDaGFy + IDIxMyAvRW5jb2RpbmcgL01hY1JvbWFuRW5jb2RpbmcKPj4KZW5k + b2JqCjYgMCBvYmoKPDwgL1R5cGUgL1BhZ2VzIC9Db3VudCAxIC9L + aWRzIFsgNSAwIFIgXSA+PgplbmRvYmoKMjEgMCBvYmoKPDwgL1R5 + cGUgL0NhdGFsb2cgL1BhZ2VzIDYgMCBSIC9WZXJzaW9uIC8xLjQg + Pj4KZW5kb2JqCjIyIDAgb2JqCjw8IC9DcmVhdGlvbkRhdGUgKEQ6 + MjAwNTAzMTAxNDU4NDYtMDYnMDAnKSAvTW9kRGF0ZSAoRDoyMDA1 + MDMxMDE0NTg0Ni0wNicwMCcpCi9Qcm9kdWNlciAoTWFjIE9TIFgg + MTAuMy44IFF1YXJ0eiBQREZDb250ZXh0KSA+PgplbmRvYmoKMjMg + MCBvYmoKWyA8MGExOTM5NjA2YjA0YmUzMTM1ODIzYWIwOGQ2YmNj + Mzg+IDwwYTE5Mzk2MDZiMDRiZTMxMzU4MjNhYjA4ZDZiY2MzOD4K + XQplbmRvYmoKeHJlZgowIDI0CjAwMDAwMDAwMDAgNjU1MzUgZiAK + MDAwMDAwMjc2MCAwMDAwMCBuIAowMDAwMDAwMDIyIDAwMDAwIG4g + CjAwMDAwMzAyMDcgMDAwMDAgbiAKMDAwMDAzMTA1MCAwMDAwMCBu + IAowMDAwMDAyNzgwIDAwMDAwIG4gCjAwMDAwMzgyMjQgMDAwMDAg + biAKMDAwMDAwMjg5MCAwMDAwMCBuIAowMDAwMDM4MDUwIDAwMDAw + IG4gCjAwMDAwMDMwOTAgMDAwMDAgbiAKMDAwMDAyOTM4NSAwMDAw + MCBuIAowMDAwMDI5NDMwIDAwMDAwIG4gCjAwMDAwMjkzNjMgMDAw + MDAgbiAKMDAwMDAzMDE4NyAwMDAwMCBuIAowMDAwMDI5NDc1IDAw + MDAwIG4gCjAwMDAwMzEwMzAgMDAwMDAgbiAKMDAwMDAzMDI0MyAw + MDAwMCBuIAowMDAwMDMxMDg2IDAwMDAwIG4gCjAwMDAwMzcxMzQg + MDAwMDAgbiAKMDAwMDAzNzE1NSAwMDAwMCBuIAowMDAwMDM3MzY2 + IDAwMDAwIG4gCjAwMDAwMzgyODMgMDAwMDAgbiAKMDAwMDAzODM0 + NyAwMDAwMCBuIAowMDAwMDM4NDkwIDAwMDAwIG4gCnRyYWlsZXIK + PDwgL1NpemUgMjQgL1Jvb3QgMjEgMCBSIC9JbmZvIDIyIDAgUiAv + SUQgMjMgMCBSID4+CnN0YXJ0eHJlZgozODU4MAolJUVPRgo= + + + + IsPalette + NO + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + LinksVisible + NO + MagnetsVisible + NO + Orientation + 2 + PageBreaks + YES + PageSetup + + BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE + hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT + dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE + mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQJk + gQMYhpKEmZkZTlNQcmludFJldmVyc2VPcmllbnRhdGlvboaShISECE5TTnVtYmVyAJ2b + hJeXAIaShJmZFE5TVmVydGljYWxQYWdpbmF0aW9uhpKEoZuilwCGkoSZmRROU1ZlcnRp + Y2FsbHlDZW50ZXJlZIaShKGbopcBhpKEmZkOTlNQTVBhZ2VGb3JtYXSGkoSEhAZOU0Rh + dGEAlJeBHa2EB1s3NTk3Y108P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt + OCI/Pgo8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZSBDb21wdXRlci8vRFRE + IFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5 + TGlzdC0xLjAuZHRkIj4KPHBsaXN0IHZlcnNpb249IjEuMCI+CjxkaWN0PgoJPGtleT5j + b20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxk + aWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJ + PHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5j + b20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJ + PGRpY3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpv + bnRhbFJlczwva2V5PgoJCQkJPHJlYWw+NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5w + cmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDAzLTAxLTI0VDE2OjI4OjU0Wjwv + ZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tl + eT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJ + PC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0 + aW9uPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3Jl + YXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3Ry + aW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4K + CQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZv + cm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+CgkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0 + cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwMy0w + MS0yNFQxNjoyODo1NFo8L2RhdGU+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2Rp + Y3Q+CgkJPC9hcnJheT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VG + b3JtYXQuUE1TY2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5n + bWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVt + QXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQuUGFnZUZvcm1hdC5QTVNjYWxpbmc8L2tleT4KCQkJCTxyZWFsPjE8L3JlYWw+ + CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDAz + LTAxLTI0VDE2OjI4OjU0WjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwv + ZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFn + ZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20u + YXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJCQk8cmVh + bD43MjwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8 + L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5n + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJ + CTxkYXRlPjIwMDMtMDEtMjRUMTY6Mjg6NTRaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50 + ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBs + ZS5wcmludC5QYWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8ZGljdD4K + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJp + bmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0 + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsU2Nh + bGluZzwva2V5PgoJCQkJPHJlYWw+MTwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0 + Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIwMDMtMDEtMjRUMTY6Mjg6NTRaPC9kYXRl + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJ + CQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2Rp + Y3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5zdWJUaWNrZXQucGFwZXJfaW5mb190aWNr + ZXQ8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQu + UE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+ + CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAu + MDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJCQkJCQk8cmVhbD41NzY8L3Jl + YWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQu + Y2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2Vy + PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8 + L2tleT4KCQkJCQk8ZGF0ZT4yMDA1LTAzLTEwVDIwOjQ2OjM0WjwvZGF0ZT4KCQkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGlu + dGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+ + CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUFkanVzdGVkUGFwZXJS + ZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5j + cmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwv + c3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9r + ZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCQkJCTxhcnJheT4K + CQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJCQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJ + CTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJlYWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJy + YXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJ + CQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRh + dGU+MjAwNS0wMy0xMFQyMDo0NjozNFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVn + ZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5QTVBhcGVyTmFtZTwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNUGFwZXJO + YW1lPC9rZXk+CgkJCQkJPHN0cmluZz5uYS1sZXR0ZXI8L3N0cmluZz4KCQkJCQk8a2V5 + PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5j + b20uYXBwbGUucHJpbnQucG0uUG9zdFNjcmlwdDwvc3RyaW5nPgoJCQkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMC0w + Ny0yOFQyMjo1NzowNFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8 + L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYWdlUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1 + c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3Jl + YWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJ + CQkJCQk8cmVhbD41NzY8L3JlYWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBw + bGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAzLTAxLTI0VDE2OjI4 + OjU0WjwvZGF0ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVG + bGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJ + PC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv + LlBNVW5hZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5nPmNvbS5hcHBs + ZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1c3RlZFBhcGVy + UmVjdDwva2V5PgoJCQkJCTxhcnJheT4KCQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJ + CQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJCTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJl + YWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJyYXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMy0wMS0yNFQxNjoyODo1NFo8L2Rh + dGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5 + PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+ + CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1Q + YXBlck5hbWU8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnQucG0uUG9z + dFNjcmlwdDwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRl + bUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1QYXBlck5hbWU8L2tleT4KCQkJCQk8c3Ry + aW5nPkxldHRlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0 + U2NyaXB0PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1v + ZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAwLTA3LTI4VDIyOjU3OjA0WjwvZGF0ZT4K + CQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJ + CQkJPGludGVnZXI+MTwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8 + L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tl + eT4KCQk8c3RyaW5nPjAwLjIwPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJpbnQu + dGlja2V0LnByaXZhdGVMb2NrPC9rZXk+CgkJPGZhbHNlLz4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQudHlwZTwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mb1RpY2tldDwvc3RyaW5nPgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tleT4KCTxzdHJpbmc+MDAuMjA8L3N0cmlu + Zz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5wcml2YXRlTG9jazwva2V5PgoJ + PGZhbHNlLz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC50eXBlPC9rZXk+Cgk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0VGlja2V0PC9zdHJpbmc+Cjwv + ZGljdD4KPC9wbGlzdD4KhpKEmZkPTlNQcmludEFsbFBhZ2VzhpKgkoSZmQtOU1BhcGVy + TmFtZYaShJmZBkxldHRlcoaShJmZFU5TSG9yaXpvbmFsUGFnaW5hdGlvboaShKGbopcA + hpKEmZkWTlNIb3Jpem9udGFsbHlDZW50ZXJlZIaSppKEmZkJTlNQcmludGVyhpKEhIQJ + TlNQcmludGVyAJSShJmZDkludGVybmFsIE1vZGVthoaShJmZCE5TQ29waWVzhpKEoZui + lwGGkoSZmQ9OU1NjYWxpbmdGYWN0b3KGkoShm4SEAWahAYaShJmZDU5TUmlnaHRNYXJn + aW6GkoShm7ihAIaShJmZDk5TQm90dG9tTWFyZ2luhpKEoZu4oQCGkoSZmQxOU0xlZnRN + YXJnaW6GkoShm7ihAIaShJmZC05TVG9wTWFyZ2luhpKEoZu4oQCGkoSZmQpOU0xhc3RQ + YWdlhpKEoZuil4J/////hpKEmZkLTlNGaXJzdFBhZ2WGkoShm6KXAYaShJmZDU5TT3Jp + ZW50YXRpb26GkoShm6KXAIaGhg== + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + Frame + {{254, 0}, {591, 832}} + ShowRuler + + ShowStatusBar + + VisibleRegion + {{0, 0}, {576, 734}} + Zoom + 1 + + + diff --git a/openjpa-project/src/doc/manual/img/secondary-table.graffle b/openjpa-project/src/doc/manual/img/secondary-table.graffle new file mode 100644 index 000000000..a992fb423 --- /dev/null +++ b/openjpa-project/src/doc/manual/img/secondary-table.graffle @@ -0,0 +1,568 @@ + + + + + + CanvasColor + + w + 1 + + ColumnAlign + 1 + ColumnSpacing + 36 + GraphDocumentVersion + 4 + GraphicsList + + + Class + LineGraphic + ID + 7 + Points + + {252, 306} + {270, 306} + {270, 252} + {252, 252} + + Style + + stroke + + HeadArrow + FilledArrow + Pattern + 2 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 6 + Points + + {135, 270} + {153, 315} + + Style + + stroke + + HeadArrow + FilledArrow + Pattern + 1 + TailArrow + 0 + + + + + Bounds + {{153, 279}, {98, 45}} + Class + ShapedGraphic + ID + 5 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientColor + + b + 0 + g + 0 + r + 0.501961 + + + stroke + + Cap + 0 + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 \ul \ulc0 ART_DATA\ + +\f1\b0 \ulnone ART_ID: BIGINT\ +CONTENT: BLOB} + + + + Class + LineGraphic + ID + 4 + Points + + {135, 256} + {171, 252} + + Style + + stroke + + HeadArrow + FilledArrow + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 3 + + + + Bounds + {{27, 235}, {108, 54}} + Class + MultiTextGraphic + FitText + Vertical + Flow + Resize + ID + 3 + ListOrientation + Vertical + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientCenter + {-0.294118, -0.264706} + + + TextList + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 Article} + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\fs24 \cf0 - id: long\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f1\b \cf0 - content: byte[]} + + + Align + 0 + + + TextPlacement + 0 + + + Bounds + {{170, 221}, {82, 40}} + Class + ShapedGraphic + ID + 2 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientColor + + b + 0 + g + 0 + r + 0.501961 + + + stroke + + Cap + 0 + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 \ul \ulc0 ART\ + +\f1\b0 \ulnone ID: BIGINT} + + + + Bounds + {{18, 216}, {243, 126}} + Class + ShapedGraphic + ID + 1 + Shape + Rectangle + Style + + fill + + Color + + a + 0.2 + b + 0.4 + g + 1 + r + 1 + + + + Text + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs24 \cf2 org.mag} + + TextPlacement + 0 + + + GridInfo + + ShowsGrid + YES + SnapsToGrid + YES + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + IsPalette + NO + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + ChildOrdering + 0 + + LinksVisible + NO + MagnetsVisible + NO + Orientation + 2 + PageBreaks + YES + PageSetup + + BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE + hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT + dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE + mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQJk + gQMYhpKEmZkZTlNQcmludFJldmVyc2VPcmllbnRhdGlvboaShISECE5TTnVtYmVyAJ2b + hJeXAIaShJmZFE5TVmVydGljYWxQYWdpbmF0aW9uhpKEoZuilwCGkoSZmRROU1ZlcnRp + Y2FsbHlDZW50ZXJlZIaShKGbopcBhpKEmZkOTlNQTVBhZ2VGb3JtYXSGkoSEhAZOU0Rh + dGEAlJeBHa2EB1s3NTk3Y108P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt + OCI/Pgo8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZSBDb21wdXRlci8vRFRE + IFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5 + TGlzdC0xLjAuZHRkIj4KPHBsaXN0IHZlcnNpb249IjEuMCI+CjxkaWN0PgoJPGtleT5j + b20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxk + aWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJ + PHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5j + b20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJ + PGRpY3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpv + bnRhbFJlczwva2V5PgoJCQkJPHJlYWw+NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5w + cmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDAzLTAxLTI0VDE2OjI4OjU0Wjwv + ZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tl + eT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJ + PC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0 + aW9uPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3Jl + YXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3Ry + aW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4K + CQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZv + cm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+CgkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0 + cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwMy0w + MS0yNFQxNjoyODo1NFo8L2RhdGU+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2Rp + Y3Q+CgkJPC9hcnJheT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VG + b3JtYXQuUE1TY2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5n + bWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVt + QXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQuUGFnZUZvcm1hdC5QTVNjYWxpbmc8L2tleT4KCQkJCTxyZWFsPjE8L3JlYWw+ + CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDAz + LTAxLTI0VDE2OjI4OjU0WjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwv + ZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFn + ZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20u + YXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJCQk8cmVh + bD43MjwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8 + L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5n + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJ + CTxkYXRlPjIwMDMtMDEtMjRUMTY6Mjg6NTRaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50 + ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBs + ZS5wcmludC5QYWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8ZGljdD4K + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJp + bmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0 + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsU2Nh + bGluZzwva2V5PgoJCQkJPHJlYWw+MTwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0 + Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIwMDMtMDEtMjRUMTY6Mjg6NTRaPC9kYXRl + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJ + CQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2Rp + Y3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5zdWJUaWNrZXQucGFwZXJfaW5mb190aWNr + ZXQ8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQu + UE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+ + CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAu + MDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJCQkJCQk8cmVhbD41NzY8L3Jl + YWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQu + Y2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2Vy + PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8 + L2tleT4KCQkJCQk8ZGF0ZT4yMDA1LTAzLTA1VDA1OjU1OjIzWjwvZGF0ZT4KCQkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGlu + dGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+ + CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUFkanVzdGVkUGFwZXJS + ZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5j + cmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwv + c3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9r + ZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCQkJCTxhcnJheT4K + CQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJCQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJ + CTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJlYWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJy + YXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJ + CQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRh + dGU+MjAwNS0wMy0wNVQwNTo1NToyM1o8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVn + ZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5QTVBhcGVyTmFtZTwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNUGFwZXJO + YW1lPC9rZXk+CgkJCQkJPHN0cmluZz5uYS1sZXR0ZXI8L3N0cmluZz4KCQkJCQk8a2V5 + PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5j + b20uYXBwbGUucHJpbnQucG0uUG9zdFNjcmlwdDwvc3RyaW5nPgoJCQkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMC0w + Ny0yOFQyMjo1NzowNFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8 + L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYWdlUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1 + c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3Jl + YWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJ + CQkJCQk8cmVhbD41NzY8L3JlYWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBw + bGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAzLTAxLTI0VDE2OjI4 + OjU0WjwvZGF0ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVG + bGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJ + PC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv + LlBNVW5hZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5nPmNvbS5hcHBs + ZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1c3RlZFBhcGVy + UmVjdDwva2V5PgoJCQkJCTxhcnJheT4KCQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJ + CQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJCTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJl + YWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJyYXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMy0wMS0yNFQxNjoyODo1NFo8L2Rh + dGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5 + PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+ + CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1Q + YXBlck5hbWU8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnQucG0uUG9z + dFNjcmlwdDwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRl + bUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1QYXBlck5hbWU8L2tleT4KCQkJCQk8c3Ry + aW5nPkxldHRlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0 + U2NyaXB0PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1v + ZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAwLTA3LTI4VDIyOjU3OjA0WjwvZGF0ZT4K + CQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJ + CQkJPGludGVnZXI+MTwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8 + L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tl + eT4KCQk8c3RyaW5nPjAwLjIwPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJpbnQu + dGlja2V0LnByaXZhdGVMb2NrPC9rZXk+CgkJPGZhbHNlLz4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQudHlwZTwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mb1RpY2tldDwvc3RyaW5nPgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tleT4KCTxzdHJpbmc+MDAuMjA8L3N0cmlu + Zz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5wcml2YXRlTG9jazwva2V5PgoJ + PGZhbHNlLz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC50eXBlPC9rZXk+Cgk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0VGlja2V0PC9zdHJpbmc+Cjwv + ZGljdD4KPC9wbGlzdD4KhpKEmZkPTlNQcmludEFsbFBhZ2VzhpKgkoSZmQtOU1BhcGVy + TmFtZYaShJmZBkxldHRlcoaShJmZFU5TSG9yaXpvbmFsUGFnaW5hdGlvboaShKGbopcA + hpKEmZkWTlNIb3Jpem9udGFsbHlDZW50ZXJlZIaSppKEmZkJTlNQcmludGVyhpKEhIQJ + TlNQcmludGVyAJSShJmZDkludGVybmFsIE1vZGVthoaShJmZCE5TQ29waWVzhpKEoZui + lwGGkoSZmQ9OU1NjYWxpbmdGYWN0b3KGkoShm4SEAWahAYaShJmZDU5TUmlnaHRNYXJn + aW6GkoShm7ihAIaShJmZDk5TQm90dG9tTWFyZ2luhpKEoZu4oQCGkoSZmQxOU0xlZnRN + YXJnaW6GkoShm7ihAIaShJmZC05TVG9wTWFyZ2luhpKEoZu4oQCGkoSZmQpOU0xhc3RQ + YWdlhpKEoZuil4J/////hpKEmZkLTlNGaXJzdFBhZ2WGkoShm6KXAYaShJmZDU5TT3Jp + ZW50YXRpb26GkoShm6KXAIaGhg== + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + Frame + {{228, 258}, {436, 574}} + ShowRuler + + ShowStatusBar + + VisibleRegion + {{0, 0}, {421, 476}} + Zoom + 1 + + + diff --git a/openjpa-project/src/doc/manual/img/sqlquery-model.graffle b/openjpa-project/src/doc/manual/img/sqlquery-model.graffle new file mode 100755 index 000000000..0db9dcaab --- /dev/null +++ b/openjpa-project/src/doc/manual/img/sqlquery-model.graffle @@ -0,0 +1,574 @@ + + + + + + CanvasColor + + w + 1 + + ColumnAlign + 0 + ColumnSpacing + 36 + GraphDocumentVersion + 4 + GraphicsList + + + Class + LineGraphic + ID + 14 + Points + + {173, 84} + {227, 84} + + Style + + stroke + + Cap + 0 + HeadArrow + FilledArrow + Join + 0 + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 13 + Points + + {172, 96} + {226, 96} + + Style + + stroke + + Cap + 0 + HeadArrow + FilledArrow + Join + 0 + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 12 + Points + + {172, 58} + {226, 58} + + Style + + stroke + + Cap + 0 + HeadArrow + FilledArrow + Join + 0 + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 11 + Points + + {172, 70} + {226, 70} + + Style + + stroke + + Cap + 0 + HeadArrow + FilledArrow + Join + 0 + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + + + Bounds + {{225, 18}, {81, 108}} + Class + ShapedGraphic + ID + 10 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientColor + + b + 0 + g + 0 + r + 0.501961 + + + stroke + + Cap + 0 + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 \ul \ulc0 MAG\ulnone \ + +\f1\b0 ISBN\ +TITLE\ +PRICE\ +COPIES\ +VERS} + + + + Bounds + {{36, 36}, {135, 82}} + Class + MultiTextGraphic + FitText + Vertical + Flow + Resize + ID + 9 + ListOrientation + Vertical + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientCenter + {-0.294118, -0.264706} + GradientColor + + b + 0.701961 + g + 0.701961 + r + 0.701961 + + + + TextList + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 Magazine} + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\fs24 \cf0 - isbn: String\ +- title: String\ +- price: double\ +- copiesSold: int} + + + Align + 0 + + + TextPlacement + 0 + + + Bounds + {{27, 18}, {153, 108}} + Class + ShapedGraphic + ID + 8 + Shape + Rectangle + Style + + fill + + Color + + a + 0.2 + b + 0.4 + g + 1 + r + 1 + + + + Text + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs24 \cf2 org.mag} + + TextPlacement + 0 + + + GridInfo + + ShowsGrid + YES + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + IsPalette + NO + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + ChildOrdering + 0 + + LinksVisible + NO + MagnetsVisible + NO + Orientation + 2 + PageBreaks + YES + PageSetup + + BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE + hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT + dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE + mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQJk + gQMYhpKEmZkZTlNQcmludFJldmVyc2VPcmllbnRhdGlvboaShISECE5TTnVtYmVyAJ2b + hJeXAIaShJmZFE5TVmVydGljYWxQYWdpbmF0aW9uhpKEoZuilwCGkoSZmRROU1ZlcnRp + Y2FsbHlDZW50ZXJlZIaShKGbopcBhpKEmZkOTlNQTVBhZ2VGb3JtYXSGkoSEhAZOU0Rh + dGEAlJeBHbCEB1s3NjAwY108P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt + OCI/Pgo8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZSBDb21wdXRlci8vRFRE + IFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5 + TGlzdC0xLjAuZHRkIj4KPHBsaXN0IHZlcnNpb249IjEuMCI+CjxkaWN0PgoJPGtleT5j + b20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxk + aWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJ + PHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5j + b20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJ + PGRpY3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpv + bnRhbFJlczwva2V5PgoJCQkJPHJlYWw+NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5w + cmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDA0LTA2LTI0VDIzOjA4OjM0Wjwv + ZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tl + eT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJ + PC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0 + aW9uPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3Jl + YXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3Ry + aW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4K + CQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZv + cm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+CgkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0 + cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwNC0w + Ni0yNFQyMzowODozNFo8L2RhdGU+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2Rp + Y3Q+CgkJPC9hcnJheT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VG + b3JtYXQuUE1TY2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5n + bWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVt + QXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQuUGFnZUZvcm1hdC5QTVNjYWxpbmc8L2tleT4KCQkJCTxyZWFsPjE8L3JlYWw+ + CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDA0 + LTA2LTI0VDIzOjA4OjM0WjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwv + ZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFn + ZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20u + YXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJCQk8cmVh + bD43MjwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8 + L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5n + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJ + CTxkYXRlPjIwMDQtMDYtMjRUMjM6MDg6MzRaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50 + ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBs + ZS5wcmludC5QYWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8ZGljdD4K + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJp + bmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0 + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsU2Nh + bGluZzwva2V5PgoJCQkJPHJlYWw+MTwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0 + Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIwMDQtMDYtMjRUMjM6MDg6MzRaPC9kYXRl + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJ + CQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2Rp + Y3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5zdWJUaWNrZXQucGFwZXJfaW5mb190aWNr + ZXQ8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQu + UE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+ + CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAu + MDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJCQkJCQk8cmVhbD41NzY8L3Jl + YWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQu + Y2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2Vy + PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8 + L2tleT4KCQkJCQk8ZGF0ZT4yMDA1LTAzLTAzVDE4OjA5OjM0WjwvZGF0ZT4KCQkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGlu + dGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+ + CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUFkanVzdGVkUGFwZXJS + ZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5j + cmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwv + c3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9r + ZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCQkJCTxhcnJheT4K + CQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJCQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJ + CTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJlYWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJy + YXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJ + CQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRh + dGU+MjAwNS0wMy0wM1QxODowOTozNFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVn + ZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5QTVBhcGVyTmFtZTwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNUGFwZXJO + YW1lPC9rZXk+CgkJCQkJPHN0cmluZz5uYS1sZXR0ZXI8L3N0cmluZz4KCQkJCQk8a2V5 + PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5j + b20uYXBwbGUucHJpbnQucG0uUG9zdFNjcmlwdDwvc3RyaW5nPgoJCQkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMy0w + Ny0wMVQxNzo0OTozNlo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8 + L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYWdlUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1 + c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3Jl + YWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJ + CQkJCQk8cmVhbD41NzY8L3JlYWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBw + bGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDA0LTA2LTI0VDIzOjA4 + OjM0WjwvZGF0ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVG + bGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJ + PC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv + LlBNVW5hZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5nPmNvbS5hcHBs + ZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1c3RlZFBhcGVy + UmVjdDwva2V5PgoJCQkJCTxhcnJheT4KCQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJ + CQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJCTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJl + YWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJyYXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwNC0wNi0yNFQyMzowODozNFo8L2Rh + dGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5 + PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+ + CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1Q + YXBlck5hbWU8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnQucG0uUG9z + dFNjcmlwdDwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRl + bUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1QYXBlck5hbWU8L2tleT4KCQkJCQk8c3Ry + aW5nPlVTIExldHRlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludC5wbS5Q + b3N0U2NyaXB0PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0 + Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAzLTA3LTAxVDE3OjQ5OjM2WjwvZGF0 + ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+ + CgkJCQkJPGludGVnZXI+MTwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4K + CQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LkFQSVZlcnNpb248 + L2tleT4KCQk8c3RyaW5nPjAwLjIwPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0LnByaXZhdGVMb2NrPC9rZXk+CgkJPGZhbHNlLz4KCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQudHlwZTwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50LlBhcGVySW5mb1RpY2tldDwvc3RyaW5nPgoJPC9kaWN0PgoJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tleT4KCTxzdHJpbmc+MDAuMjA8L3N0 + cmluZz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5wcml2YXRlTG9jazwva2V5 + PgoJPGZhbHNlLz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC50eXBlPC9rZXk+ + Cgk8c3RyaW5nPmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0VGlja2V0PC9zdHJpbmc+ + CjwvZGljdD4KPC9wbGlzdD4KhpKEmZkPTlNQcmludEFsbFBhZ2VzhpKgkoSZmQtOU1Bh + cGVyTmFtZYaShJmZBkxldHRlcoaShJmZFU5TSG9yaXpvbmFsUGFnaW5hdGlvboaShKGb + opcAhpKEmZkWTlNIb3Jpem9udGFsbHlDZW50ZXJlZIaSppKEmZkJTlNQcmludGVyhpKE + hIQJTlNQcmludGVyAJSShJmZDkludGVybmFsIE1vZGVthoaShJmZCE5TQ29waWVzhpKE + oZuilwGGkoSZmQ9OU1NjYWxpbmdGYWN0b3KGkoShm4SEAWahAYaShJmZDU5TUmlnaHRN + YXJnaW6GkoShm7ihJIaShJmZDk5TQm90dG9tTWFyZ2luhpKEoZu4oSSGkoSZmQxOU0xl + ZnRNYXJnaW6GkoShm7ihJIaShJmZC05TVG9wTWFyZ2luhpKEoZu4oSSGkoSZmQpOU0xh + c3RQYWdlhpKEoZuil4J/////hpKEmZkLTlNGaXJzdFBhZ2WGkoShm6KXAYaShJmZDU5T + T3JpZW50YXRpb26GkoShm6KXAIaGhg== + + ReadOnly + NO + RowAlign + 0 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + NO + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + Frame + {{521, -47}, {555, 797}} + ShowRuler + + ShowStatusBar + + VisibleRegion + {{0, 3}, {540, 699}} + Zoom + 1 + + + diff --git a/openjpa-project/src/doc/manual/img/string-rel-map.graffle b/openjpa-project/src/doc/manual/img/string-rel-map.graffle new file mode 100644 index 000000000..eeeabac28 --- /dev/null +++ b/openjpa-project/src/doc/manual/img/string-rel-map.graffle @@ -0,0 +1,773 @@ + + + + + + CanvasColor + + w + 1 + + ColumnAlign + 1 + ColumnSpacing + 36 + GraphDocumentVersion + 4 + GraphicsList + + + Bounds + {{117, 319}, {99, 45}} + Class + ShapedGraphic + ID + 13 + Shape + Rectangle + Style + + fill + + FillType + 2 + GradientAngle + 303 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 Author} + + + + Class + LineGraphic + ID + 12 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {405, 288} + {423, 288} + {423, 351} + {396, 351} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 2 + Pattern + 2 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 11 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {405, 261} + {423, 261} + {423, 198} + {396, 198} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 2 + Pattern + 2 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 10 + Points + + {261, 216} + {288, 279} + + Style + + stroke + + HeadArrow + FilledArrow + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 9 + Points + + {216, 342} + {288, 342} + + Style + + stroke + + HeadArrow + FilledArrow + Pattern + 1 + TailArrow + 0 + + + + + Class + LineGraphic + ID + 8 + OrthogonalBarAutomatic + + OrthogonalBarPosition + -1 + Points + + {261, 198} + {288, 198} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 2 + Pattern + 1 + TailArrow + 0 + + + + + Bounds + {{288, 234}, {117, 63}} + Class + ShapedGraphic + ID + 7 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientColor + + b + 0 + g + 0 + r + 0.501961 + + + stroke + + Cap + 0 + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 \ul \ulc0 ART_AUTHS\ + +\f1\b0 \ulnone ART_ID: BIGINT\ +LNAME: VARCHAR\ +AUTH_ID: INTEGER64} + + + + Bounds + {{288, 323}, {108, 37}} + Class + ShapedGraphic + ID + 6 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientColor + + b + 0 + g + 0 + r + 0.501961 + + + stroke + + Cap + 0 + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 \ul \ulc0 AUTH\ + +\f1\b0 \ulnone AID: INTEGER64} + + + + Bounds + {{288, 171}, {108, 37}} + Class + ShapedGraphic + ID + 5 + Magnets + + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Shape + Cylinder + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientColor + + b + 0 + g + 0 + r + 0.501961 + + + stroke + + Cap + 0 + Join + 0 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs20 \cf0 \ul \ulc0 ART\ + +\f1\b0 \ulnone ID: BIGINT} + + + + Bounds + {{72, 180}, {189, 54}} + Class + MultiTextGraphic + FitText + Vertical + Flow + Resize + ID + 4 + ListOrientation + Vertical + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-1, 0} + + Style + + fill + + FillType + 2 + GradientAngle + 304 + GradientCenter + {-0.294118, -0.264706} + GradientColor + + b + 0.701961 + g + 0.701961 + r + 0.701961 + + + + TextList + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\b\fs24 \cf2 Article} + + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\fs24 \cf0 - id: long\ +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f1\b \cf0 - authors: Map<String,Author>} + + + Align + 0 + + + TextPlacement + 0 + + + Bounds + {{63, 162}, {369, 144}} + Class + ShapedGraphic + ID + 3 + Shape + Rectangle + Style + + fill + + Color + + a + 0.2 + b + 0.4 + g + 1 + r + 1 + + + + Text + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs24 \cf2 org.mag} + + TextPlacement + 0 + + + Bounds + {{63, 315}, {369, 72}} + Class + ShapedGraphic + ID + 2 + Shape + Rectangle + Style + + fill + + Color + + a + 0.2 + b + 0.4 + g + 1 + r + 1 + + + + Text + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf102 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;\red0\green0\blue128;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural + +\f0\b\fs24 \cf2 org.mag.pub} + + TextPlacement + 2 + + + GridInfo + + ShowsGrid + YES + SnapsToGrid + YES + + GuidesLocked + NO + GuidesVisible + YES + HPages + 1 + ImageCounter + 1 + IsPalette + NO + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + LinksVisible + NO + MagnetsVisible + NO + Orientation + 2 + PageBreaks + YES + PageSetup + + BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE + hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT + dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE + mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQJk + gQMYhpKEmZkZTlNQcmludFJldmVyc2VPcmllbnRhdGlvboaShISECE5TTnVtYmVyAJ2b + hJeXAIaShJmZFE5TVmVydGljYWxQYWdpbmF0aW9uhpKEoZuilwCGkoSZmRROU1ZlcnRp + Y2FsbHlDZW50ZXJlZIaShKGbopcBhpKEmZkOTlNQTVBhZ2VGb3JtYXSGkoSEhAZOU0Rh + dGEAlJeBHa2EB1s3NTk3Y108P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJVVEYt + OCI/Pgo8IURPQ1RZUEUgcGxpc3QgUFVCTElDICItLy9BcHBsZSBDb21wdXRlci8vRFRE + IFBMSVNUIDEuMC8vRU4iICJodHRwOi8vd3d3LmFwcGxlLmNvbS9EVERzL1Byb3BlcnR5 + TGlzdC0xLjAuZHRkIj4KPHBsaXN0IHZlcnNpb249IjEuMCI+CjxkaWN0PgoJPGtleT5j + b20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxk + aWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJ + PHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5j + b20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJ + PGRpY3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpv + bnRhbFJlczwva2V5PgoJCQkJPHJlYWw+NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5w + cmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDAzLTAxLTI0VDE2OjI4OjU0Wjwv + ZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tl + eT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJ + PC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0 + aW9uPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3Jl + YXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3Ry + aW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4K + CQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZv + cm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+CgkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0 + cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwMy0w + MS0yNFQxNjoyODo1NFo8L2RhdGU+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2Rp + Y3Q+CgkJPC9hcnJheT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VG + b3JtYXQuUE1TY2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5n + bWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVt + QXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQuUGFnZUZvcm1hdC5QTVNjYWxpbmc8L2tleT4KCQkJCTxyZWFsPjE8L3JlYWw+ + CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDAz + LTAxLTI0VDE2OjI4OjU0WjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRp + Y2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwv + ZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFn + ZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20u + YXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJCQk8cmVh + bD43MjwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8 + L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5n + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJ + CTxkYXRlPjIwMDMtMDEtMjRUMTY6Mjg6NTRaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50 + ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBs + ZS5wcmludC5QYWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8ZGljdD4K + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJp + bmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0 + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsU2Nh + bGluZzwva2V5PgoJCQkJPHJlYWw+MTwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0 + Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIwMDMtMDEtMjRUMTY6Mjg6NTRaPC9kYXRl + PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJ + CQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2Rp + Y3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5zdWJUaWNrZXQucGFwZXJfaW5mb190aWNr + ZXQ8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQu + UE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnBy + aW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+ + CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAu + MDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJCQkJCQk8cmVhbD41NzY8L3Jl + YWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQu + Y2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2Vy + PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8 + L2tleT4KCQkJCQk8ZGF0ZT4yMDA1LTAzLTA2VDAxOjMyOjU2WjwvZGF0ZT4KCQkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGlu + dGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+ + CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUFkanVzdGVkUGFwZXJS + ZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5j + cmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwv + c3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9r + ZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCQkJCTxhcnJheT4K + CQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJCQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJ + CTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJlYWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJy + YXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJ + CQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRh + dGU+MjAwNS0wMy0wNlQwMTozMjo1Nlo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVn + ZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5QTVBhcGVyTmFtZTwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNUGFwZXJO + YW1lPC9rZXk+CgkJCQkJPHN0cmluZz5uYS1sZXR0ZXI8L3N0cmluZz4KCQkJCQk8a2V5 + PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5j + b20uYXBwbGUucHJpbnQucG0uUG9zdFNjcmlwdDwvc3RyaW5nPgoJCQkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMC0w + Ny0yOFQyMjo1NzowNFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8 + L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYWdlUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJ + PGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1 + c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3Jl + YWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+NzM0PC9yZWFsPgoJ + CQkJCQk8cmVhbD41NzY8L3JlYWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBw + bGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAzLTAxLTI0VDE2OjI4 + OjU0WjwvZGF0ZT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVG + bGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJ + PC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv + LlBNVW5hZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3RyaW5nPmNvbS5hcHBs + ZS5wcmludC5wbS5Qb3N0U2NyaXB0PC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJ + CQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1c3RlZFBhcGVy + UmVjdDwva2V5PgoJCQkJCTxhcnJheT4KCQkJCQkJPHJlYWw+LTE4PC9yZWFsPgoJCQkJ + CQk8cmVhbD4tMTg8L3JlYWw+CgkJCQkJCTxyZWFsPjc3NDwvcmVhbD4KCQkJCQkJPHJl + YWw+NTk0PC9yZWFsPgoJCQkJCTwvYXJyYXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwMy0wMS0yNFQxNjoyODo1NFo8L2Rh + dGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5 + PgoJCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+ + CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1Q + YXBlck5hbWU8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnQucG0uUG9z + dFNjcmlwdDwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRl + bUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1QYXBlck5hbWU8L2tleT4KCQkJCQk8c3Ry + aW5nPkxldHRlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludC5wbS5Qb3N0 + U2NyaXB0PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1v + ZERhdGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDAwLTA3LTI4VDIyOjU3OjA0WjwvZGF0ZT4K + CQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJ + CQkJPGludGVnZXI+MTwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8 + L2RpY3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tl + eT4KCQk8c3RyaW5nPjAwLjIwPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJpbnQu + dGlja2V0LnByaXZhdGVMb2NrPC9rZXk+CgkJPGZhbHNlLz4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQudHlwZTwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50 + LlBhcGVySW5mb1RpY2tldDwvc3RyaW5nPgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0LkFQSVZlcnNpb248L2tleT4KCTxzdHJpbmc+MDAuMjA8L3N0cmlu + Zz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5wcml2YXRlTG9jazwva2V5PgoJ + PGZhbHNlLz4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC50eXBlPC9rZXk+Cgk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0VGlja2V0PC9zdHJpbmc+Cjwv + ZGljdD4KPC9wbGlzdD4KhpKEmZkPTlNQcmludEFsbFBhZ2VzhpKgkoSZmQtOU1BhcGVy + TmFtZYaShJmZBkxldHRlcoaShJmZFU5TSG9yaXpvbmFsUGFnaW5hdGlvboaShKGbopcA + hpKEmZkWTlNIb3Jpem9udGFsbHlDZW50ZXJlZIaSppKEmZkJTlNQcmludGVyhpKEhIQJ + TlNQcmludGVyAJSShJmZDkludGVybmFsIE1vZGVthoaShJmZCE5TQ29waWVzhpKEoZui + lwGGkoSZmQ9OU1NjYWxpbmdGYWN0b3KGkoShm4SEAWahAYaShJmZDU5TUmlnaHRNYXJn + aW6GkoShm7ihAIaShJmZDk5TQm90dG9tTWFyZ2luhpKEoZu4oQCGkoSZmQxOU0xlZnRN + YXJnaW6GkoShm7ihAIaShJmZC05TVG9wTWFyZ2luhpKEoZu4oQCGkoSZmQpOU0xhc3RQ + YWdlhpKEoZuil4J/////hpKEmZkLTlNGaXJzdFBhZ2WGkoShm6KXAYaShJmZDU5TT3Jp + ZW50YXRpb26GkoShm6KXAIaGhg== + + ReadOnly + NO + RowAlign + 1 + RowSpacing + 36 + SheetTitle + Canvas 1 + SmartAlignmentGuidesActive + YES + SmartDistanceGuidesActive + YES + UseEntirePage + + VPages + 1 + WindowInfo + + CurrentSheet + 0 + Frame + {{233, -55}, {591, 832}} + ShowRuler + + ShowStatusBar + + VisibleRegion + {{0, 0}, {576, 734}} + Zoom + 1 + + + diff --git a/openjpa-project/src/doc/manual/img/string-rel-map.png b/openjpa-project/src/doc/manual/img/string-rel-map.png new file mode 100644 index 0000000000000000000000000000000000000000..0dc8a3809ab50a6b8d4baac53cb0061421b43097 GIT binary patch literal 46145 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 literal 0 HcmV?d00001 diff --git a/openjpa-project/src/doc/manual/ref_guide_mapping.xml b/openjpa-project/src/doc/manual/ref_guide_mapping.xml index 02551e25a..b5b2a2ad5 100644 --- a/openjpa-project/src/doc/manual/ref_guide_mapping.xml +++ b/openjpa-project/src/doc/manual/ref_guide_mapping.xml @@ -2681,6 +2681,126 @@ em.persist(o1); +

+ Key Columns + + KeyColumn + mapping metadata + + + Key columns serve the same role for map keys as the element + columns described in + serve for + collection elements. OpenJPA's + + org.apache.openjpa.persistence.jdbc.KeyColumn + annotation represents a map key. To map custom + multi-column keys, use the + + org.apache.openjpa.persistence.jdbc.KeyColumns + annotation, whose value is an array of KeyColumns. + + + A KeyColumn always resides in + a container table, so it does not have the table + property of a standard Column. Otherwise, the + KeyColumn and standard Column + annotations are equivalent. See + in the JPA + Overview for a review of the Column annotation. + +
+
+ Key Join Columns + + KeyJoinColumn + mapping metadata + + + Key join columns are equivalent to standard JPA + join columns, except that they represent a join to a map key entity rather than a direct relation. You represent + a key join column with OpenJPA's + + org.apache.openjpa.persistence.jdbc.KeyJoinColumn annotation. To declare a compound join, enclose an + array of KeyJoinColumns in the + + org.apache.openjpa.persistence.jdbc.KeyJoinColumns + annotation. + + + A KeyJoinColumn always resides in + a container table, so it does not have the table property + of a standard JoinColumn. Like XJoinColumns above, + KeyJoinColumns can reference a linked field + rather than a static linked column. Otherwise, the KeyJoinColumn + and standard JoinColumn annotations are equivalent. See + in the JPA + Overview for a review of the JoinColumn annotation. + +
+
+ Key Embedded Mapping + + KeyEmbeddedMapping + mapping metadata + + + The + + org.apache.openjpa.persistence.jdbc.KeyEmbeddedMapping + annotation allows you to map your map field's embedded + key type to your container table. This annotation has exactly + the same properties as the + EmbeddedMapping annotation described + above. + +
+
+ Examples + + + + + + + + Map mapping in OpenJPA uses the same principles you saw in + collection mapping. The example below maps the + Article.authors map according to the diagram above. + + + String Key, Entity Value Map Mapping + +package org.mag.pub; + +import org.apache.openjpa.persistence.*; +import org.apache.openjpa.persistence.jdbc.*; + +@Entity +@Table(name="AUTH") +@DataStoreIdColumn(name="AID" columnDefinition="INTEGER64") +public class Author { + ... +} + +package org.mag; + +@Entity +@Table(name="ART") +public class Article { + @Id private long id; + + @PersistentMap + @ContainerTable(name="ART_AUTHS", joinColumns=@XJoinColumn(name="ART_ID")) + @KeyColumn(name="LNAME") + @ElementJoinColumn(name="AUTH_ID") + private Map<String,Author> authors; + + ... +} + + +
Mapping Limitations