diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.swagger-codegen-ignore b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.swagger-codegen-ignore
new file mode 100644
index 00000000..c5fa491b
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.swagger-codegen-ignore
@@ -0,0 +1,23 @@
+# Swagger Codegen Ignore
+# Generated by swagger-codegen https://github.com/swagger-api/swagger-codegen
+
+# Use this file to prevent files from being overwritten by the generator.
+# The patterns follow closely to .gitignore or .dockerignore.
+
+# As an example, the C# client generator defines ApiClient.cs.
+# You can make changes and tell Swagger Codgen to ignore just this file by uncommenting the following line:
+#ApiClient.cs
+
+# You can match any string of characters against a directory, file or extension with a single asterisk (*):
+#foo/*/qux
+# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux
+
+# You can recursively match patterns against a directory, file or extension with a double asterisk (**):
+#foo/**/qux
+# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux
+
+# You can also negate patterns with an exclamation (!).
+# For example, you can ignore all files in a docs folder with the file extension .md:
+#docs/*.md
+# Then explicitly reverse the ignore rule for a single file:
+#!docs/README.md
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.swagger-codegen/VERSION b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.swagger-codegen/VERSION
new file mode 100644
index 00000000..10bbf276
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.swagger-codegen/VERSION
@@ -0,0 +1 @@
+3.0.34
\ No newline at end of file
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/FileContentIndex/2f5a82e8-f590-41e8-8a22-1bba6db20fdf.vsidx b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/FileContentIndex/2f5a82e8-f590-41e8-8a22-1bba6db20fdf.vsidx
new file mode 100644
index 00000000..46fb29e4
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/FileContentIndex/2f5a82e8-f590-41e8-8a22-1bba6db20fdf.vsidx differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/FileContentIndex/954cd6ab-e0a5-4c26-8c1c-21fbfff2590e.vsidx b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/FileContentIndex/954cd6ab-e0a5-4c26-8c1c-21fbfff2590e.vsidx
new file mode 100644
index 00000000..42524ad0
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/FileContentIndex/954cd6ab-e0a5-4c26-8c1c-21fbfff2590e.vsidx differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/FileContentIndex/9f0deb0a-62e8-4fc7-a557-fdc8fe16b969.vsidx b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/FileContentIndex/9f0deb0a-62e8-4fc7-a557-fdc8fe16b969.vsidx
new file mode 100644
index 00000000..4cf14d88
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/FileContentIndex/9f0deb0a-62e8-4fc7-a557-fdc8fe16b969.vsidx differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/FileContentIndex/d6844acc-234b-4992-8d2d-a42e86b79a6d.vsidx b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/FileContentIndex/d6844acc-234b-4992-8d2d-a42e86b79a6d.vsidx
new file mode 100644
index 00000000..af21a4c0
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/FileContentIndex/d6844acc-234b-4992-8d2d-a42e86b79a6d.vsidx differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/FileContentIndex/d9ec9a86-6880-431f-996d-b5b3b8a49a5a.vsidx b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/FileContentIndex/d9ec9a86-6880-431f-996d-b5b3b8a49a5a.vsidx
new file mode 100644
index 00000000..2d22fd5d
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/FileContentIndex/d9ec9a86-6880-431f-996d-b5b3b8a49a5a.vsidx differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/v17/.wsuo b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/v17/.wsuo
new file mode 100644
index 00000000..6ed5d575
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/v17/.wsuo differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/v17/DocumentLayout.backup.json b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/v17/DocumentLayout.backup.json
new file mode 100644
index 00000000..09638ca4
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/v17/DocumentLayout.backup.json
@@ -0,0 +1,85 @@
+{
+ "Version": 1,
+ "WorkspaceRootPath": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\",
+ "Documents": [
+ {
+ "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\XsdHelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:src\\IO.Swagger\\Models\\XsdHelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\Example.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:src\\IO.Swagger\\Models\\Example.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Controllers\\CustomersCustomersApi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:src\\IO.Swagger\\Controllers\\CustomersCustomersApi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ }
+ ],
+ "DocumentGroupContainers": [
+ {
+ "Orientation": 0,
+ "VerticalTabListWidth": 256,
+ "DocumentGroups": [
+ {
+ "DockedWidth": 200,
+ "SelectedChildIndex": 2,
+ "Children": [
+ {
+ "$type": "Document",
+ "DocumentIndex": 1,
+ "Title": "XsdHelper.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\XsdHelper.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Models\\XsdHelper.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\XsdHelper.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Models\\XsdHelper.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T05:20:29.422Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 2,
+ "Title": "Example.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\Example.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Models\\Example.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\Example.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Models\\Example.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T05:20:24.033Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 0,
+ "Title": "CustomersAddressesApi.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs",
+ "ViewState": "AgIAADoAAAAAAAAAAAAAAEgAAAAQAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T05:19:54.972Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 3,
+ "Title": "CustomersCustomersApi.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Controllers\\CustomersCustomersApi.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Controllers\\CustomersCustomersApi.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Controllers\\CustomersCustomersApi.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Controllers\\CustomersCustomersApi.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T05:19:51.988Z"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/v17/DocumentLayout.json b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/v17/DocumentLayout.json
new file mode 100644
index 00000000..09638ca4
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/GeneratedCSharpAPI_NEW_2/v17/DocumentLayout.json
@@ -0,0 +1,85 @@
+{
+ "Version": 1,
+ "WorkspaceRootPath": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\",
+ "Documents": [
+ {
+ "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\XsdHelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:src\\IO.Swagger\\Models\\XsdHelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\Example.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:src\\IO.Swagger\\Models\\Example.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Controllers\\CustomersCustomersApi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:src\\IO.Swagger\\Controllers\\CustomersCustomersApi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ }
+ ],
+ "DocumentGroupContainers": [
+ {
+ "Orientation": 0,
+ "VerticalTabListWidth": 256,
+ "DocumentGroups": [
+ {
+ "DockedWidth": 200,
+ "SelectedChildIndex": 2,
+ "Children": [
+ {
+ "$type": "Document",
+ "DocumentIndex": 1,
+ "Title": "XsdHelper.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\XsdHelper.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Models\\XsdHelper.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\XsdHelper.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Models\\XsdHelper.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T05:20:29.422Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 2,
+ "Title": "Example.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\Example.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Models\\Example.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\Example.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Models\\Example.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T05:20:24.033Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 0,
+ "Title": "CustomersAddressesApi.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs",
+ "ViewState": "AgIAADoAAAAAAAAAAAAAAEgAAAAQAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T05:19:54.972Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 3,
+ "Title": "CustomersCustomersApi.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Controllers\\CustomersCustomersApi.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Controllers\\CustomersCustomersApi.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Controllers\\CustomersCustomersApi.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Controllers\\CustomersCustomersApi.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T05:19:51.988Z"
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/DesignTimeBuild/.dtbcache.v2 b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/DesignTimeBuild/.dtbcache.v2
new file mode 100644
index 00000000..ea57ed7e
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/DesignTimeBuild/.dtbcache.v2 differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/FileContentIndex/0807358e-7a93-4a2c-bbee-d62d985a4e95.vsidx b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/FileContentIndex/0807358e-7a93-4a2c-bbee-d62d985a4e95.vsidx
new file mode 100644
index 00000000..21cc59af
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/FileContentIndex/0807358e-7a93-4a2c-bbee-d62d985a4e95.vsidx differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/FileContentIndex/0f7fc61f-f713-4221-b790-c2556d57d0d6.vsidx b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/FileContentIndex/0f7fc61f-f713-4221-b790-c2556d57d0d6.vsidx
new file mode 100644
index 00000000..46fb29e4
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/FileContentIndex/0f7fc61f-f713-4221-b790-c2556d57d0d6.vsidx differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/FileContentIndex/40e594fa-2233-4e25-a742-7c5590147e5e.vsidx b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/FileContentIndex/40e594fa-2233-4e25-a742-7c5590147e5e.vsidx
new file mode 100644
index 00000000..5bbc3d19
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/FileContentIndex/40e594fa-2233-4e25-a742-7c5590147e5e.vsidx differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/FileContentIndex/c2911e31-1f15-4a96-be3c-53d5a8271715.vsidx b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/FileContentIndex/c2911e31-1f15-4a96-be3c-53d5a8271715.vsidx
new file mode 100644
index 00000000..9185fa09
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/FileContentIndex/c2911e31-1f15-4a96-be3c-53d5a8271715.vsidx differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/FileContentIndex/d4078be0-e41d-4833-932c-30c471685122.vsidx b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/FileContentIndex/d4078be0-e41d-4833-932c-30c471685122.vsidx
new file mode 100644
index 00000000..49ca7377
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/FileContentIndex/d4078be0-e41d-4833-932c-30c471685122.vsidx differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/config/applicationhost.config b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/config/applicationhost.config
new file mode 100644
index 00000000..0c698af3
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/config/applicationhost.config
@@ -0,0 +1,1035 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/v17/.futdcache.v2 b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/v17/.futdcache.v2
new file mode 100644
index 00000000..2a97a537
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/v17/.futdcache.v2 differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/v17/.suo b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/v17/.suo
new file mode 100644
index 00000000..cb79a27d
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/v17/.suo differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/v17/.wsuo b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/v17/.wsuo
new file mode 100644
index 00000000..6ac88f13
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/v17/.wsuo differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/v17/DocumentLayout.backup.json b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/v17/DocumentLayout.backup.json
new file mode 100644
index 00000000..97a6b016
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/v17/DocumentLayout.backup.json
@@ -0,0 +1,251 @@
+{
+ "Version": 1,
+ "WorkspaceRootPath": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\",
+ "Documents": [
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\models\\xsd.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\models\\xsd.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\controllers\\customersaddressesapi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\controllers\\customersaddressesapi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\models\\xsdhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\models\\xsdhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\models\\example.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\models\\example.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\attributes\\validatemodelstateattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\attributes\\validatemodelstateattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\models\\createcustomeraddressnew.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\models\\createcustomeraddressnew.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\models\\address.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\models\\address.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\filters\\generatepathparamsvalidationfilter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\filters\\generatepathparamsvalidationfilter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\dockerfile||{8B382828-6202-11D1-8870-0000F87579D2}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\dockerfile||{8B382828-6202-11D1-8870-0000F87579D2}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\.gitignore||{3B902123-F8A7-4915-9F01-361F908088D0}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\.gitignore||{3B902123-F8A7-4915-9F01-361F908088D0}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\models\\class.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\models\\class.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ }
+ ],
+ "DocumentGroupContainers": [
+ {
+ "Orientation": 0,
+ "VerticalTabListWidth": 256,
+ "DocumentGroups": [
+ {
+ "DockedWidth": 200,
+ "SelectedChildIndex": 0,
+ "Children": [
+ {
+ "$type": "Document",
+ "DocumentIndex": 0,
+ "Title": "xsd.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\xsd.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Models\\xsd.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\xsd.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Models\\xsd.cs",
+ "ViewState": "AgIAAFIAAAAAAAAAAAA9wIMAAAAxAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-29T10:52:08.916Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 3,
+ "Title": "Startup.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Startup.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Startup.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Startup.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Startup.cs",
+ "ViewState": "AgIAADMAAAAAAAAAAAAEwDwAAAAUAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T15:03:07.191Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 2,
+ "Title": "XsdHelper.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\XsdHelper.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Models\\XsdHelper.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\XsdHelper.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Models\\XsdHelper.cs",
+ "ViewState": "AgIAAC4AAAAAAAAAAAAEwDoAAAAIAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T13:22:44.838Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 9,
+ "Title": "Dockerfile",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Dockerfile",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Dockerfile",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Dockerfile",
+ "RelativeToolTip": "src\\IO.Swagger\\Dockerfile",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
+ "WhenOpened": "2024-09-27T09:50:04.551Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 10,
+ "Title": "appsettings.json",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\appsettings.json",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\appsettings.json",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\appsettings.json",
+ "RelativeToolTip": "src\\IO.Swagger\\appsettings.json",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+ "WhenOpened": "2024-09-27T09:49:14.096Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 11,
+ "Title": ".gitignore",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\.gitignore",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\.gitignore",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\.gitignore",
+ "RelativeToolTip": "src\\IO.Swagger\\.gitignore",
+ "ViewState": "AgIAAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
+ "WhenOpened": "2024-09-27T09:48:47.753Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 8,
+ "Title": "GeneratePathParamsValidationFilter.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Filters\\GeneratePathParamsValidationFilter.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Filters\\GeneratePathParamsValidationFilter.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Filters\\GeneratePathParamsValidationFilter.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Filters\\GeneratePathParamsValidationFilter.cs",
+ "ViewState": "AgIAAE8AAAAAAAAAAAAewBoAAAAQAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T08:25:13.914Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 5,
+ "Title": "ValidateModelStateAttribute.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Attributes\\ValidateModelStateAttribute.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Attributes\\ValidateModelStateAttribute.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Attributes\\ValidateModelStateAttribute.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Attributes\\ValidateModelStateAttribute.cs",
+ "ViewState": "AgIAAAgAAAAAAAAAAAApwBMAAAAIAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T09:46:09.291Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 12,
+ "Title": "launchSettings.json",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Properties\\launchSettings.json",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Properties\\launchSettings.json",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Properties\\launchSettings.json",
+ "RelativeToolTip": "src\\IO.Swagger\\Properties\\launchSettings.json",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAUAAAAVAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+ "WhenOpened": "2024-09-27T09:25:35.079Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 13,
+ "Title": "Class.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\Class.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Models\\Class.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\Class.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Models\\Class.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAIAAAAWAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T08:19:24.182Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 7,
+ "Title": "Address.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\Address.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Models\\Address.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\Address.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Models\\Address.cs",
+ "ViewState": "AgIAABkAAAAAAAAAAAAkwCMAAAAbAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T06:59:58.458Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 6,
+ "Title": "CreateCustomerAddressNEW.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\CreateCustomerAddressNEW.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Models\\CreateCustomerAddressNEW.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\CreateCustomerAddressNEW.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Models\\CreateCustomerAddressNEW.cs",
+ "ViewState": "AgIAANIAAAAAAAAAAAAUwNwAAAAlAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T04:30:10.373Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 4,
+ "Title": "Example.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\Example.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Models\\Example.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\Example.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Models\\Example.cs",
+ "ViewState": "AgIAAG0AAAAAAAAAAAAEwHcAAABkAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-26T10:01:14.975Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 1,
+ "Title": "CustomersAddressesApi.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs",
+ "ViewState": "AgIAACwAAAAAAAAAAAAvwF8AAAAIAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-26T03:26:59.471Z",
+ "EditorCaption": ""
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/v17/DocumentLayout.json b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/v17/DocumentLayout.json
new file mode 100644
index 00000000..9ddded3f
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/IO.Swagger/v17/DocumentLayout.json
@@ -0,0 +1,251 @@
+{
+ "Version": 1,
+ "WorkspaceRootPath": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\",
+ "Documents": [
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\controllers\\customersaddressesapi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\controllers\\customersaddressesapi.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\models\\xsd.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\models\\xsd.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\models\\xsdhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\models\\xsdhelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\startup.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\models\\example.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\models\\example.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\attributes\\validatemodelstateattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\attributes\\validatemodelstateattribute.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\models\\createcustomeraddressnew.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\models\\createcustomeraddressnew.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\models\\address.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\models\\address.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\filters\\generatepathparamsvalidationfilter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\filters\\generatepathparamsvalidationfilter.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\dockerfile||{8B382828-6202-11D1-8870-0000F87579D2}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\dockerfile||{8B382828-6202-11D1-8870-0000F87579D2}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\appsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\.gitignore||{3B902123-F8A7-4915-9F01-361F908088D0}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\.gitignore||{3B902123-F8A7-4915-9F01-361F908088D0}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\properties\\launchsettings.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|c:\\users\\saikhat\\downloads\\generatedcsharpapi_new_2\\src\\io.swagger\\models\\class.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}|src\\IO.Swagger\\IO.Swagger.csproj|solutionrelative:src\\io.swagger\\models\\class.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ }
+ ],
+ "DocumentGroupContainers": [
+ {
+ "Orientation": 0,
+ "VerticalTabListWidth": 256,
+ "DocumentGroups": [
+ {
+ "DockedWidth": 200,
+ "SelectedChildIndex": 13,
+ "Children": [
+ {
+ "$type": "Document",
+ "DocumentIndex": 1,
+ "Title": "xsd.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\xsd.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Models\\xsd.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\xsd.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Models\\xsd.cs",
+ "ViewState": "AgIAALAAAAAAAAAAAAAEwLwAAAAIAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-29T10:52:08.916Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 3,
+ "Title": "Startup.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Startup.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Startup.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Startup.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Startup.cs",
+ "ViewState": "AgIAADMAAAAAAAAAAAAEwDwAAAAUAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T15:03:07.191Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 2,
+ "Title": "XsdHelper.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\XsdHelper.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Models\\XsdHelper.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\XsdHelper.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Models\\XsdHelper.cs",
+ "ViewState": "AgIAAC4AAAAAAAAAAAAEwDoAAAAIAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T13:22:44.838Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 9,
+ "Title": "Dockerfile",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Dockerfile",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Dockerfile",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Dockerfile",
+ "RelativeToolTip": "src\\IO.Swagger\\Dockerfile",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
+ "WhenOpened": "2024-09-27T09:50:04.551Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 10,
+ "Title": "appsettings.json",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\appsettings.json",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\appsettings.json",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\appsettings.json",
+ "RelativeToolTip": "src\\IO.Swagger\\appsettings.json",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+ "WhenOpened": "2024-09-27T09:49:14.096Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 11,
+ "Title": ".gitignore",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\.gitignore",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\.gitignore",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\.gitignore",
+ "RelativeToolTip": "src\\IO.Swagger\\.gitignore",
+ "ViewState": "AgIAAFQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001001|",
+ "WhenOpened": "2024-09-27T09:48:47.753Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 8,
+ "Title": "GeneratePathParamsValidationFilter.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Filters\\GeneratePathParamsValidationFilter.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Filters\\GeneratePathParamsValidationFilter.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Filters\\GeneratePathParamsValidationFilter.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Filters\\GeneratePathParamsValidationFilter.cs",
+ "ViewState": "AgIAAE8AAAAAAAAAAAAewBoAAAAQAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T08:25:13.914Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 5,
+ "Title": "ValidateModelStateAttribute.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Attributes\\ValidateModelStateAttribute.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Attributes\\ValidateModelStateAttribute.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Attributes\\ValidateModelStateAttribute.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Attributes\\ValidateModelStateAttribute.cs",
+ "ViewState": "AgIAAAgAAAAAAAAAAAApwBMAAAAIAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T09:46:09.291Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 12,
+ "Title": "launchSettings.json",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Properties\\launchSettings.json",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Properties\\launchSettings.json",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Properties\\launchSettings.json",
+ "RelativeToolTip": "src\\IO.Swagger\\Properties\\launchSettings.json",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAUAAAAVAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|",
+ "WhenOpened": "2024-09-27T09:25:35.079Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 13,
+ "Title": "Class.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\Class.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Models\\Class.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\Class.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Models\\Class.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAIAAAAWAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T08:19:24.182Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 7,
+ "Title": "Address.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\Address.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Models\\Address.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\Address.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Models\\Address.cs",
+ "ViewState": "AgIAABkAAAAAAAAAAAAkwCMAAAAbAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T06:59:58.458Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 6,
+ "Title": "CreateCustomerAddressNEW.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\CreateCustomerAddressNEW.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Models\\CreateCustomerAddressNEW.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\CreateCustomerAddressNEW.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Models\\CreateCustomerAddressNEW.cs",
+ "ViewState": "AgIAANIAAAAAAAAAAAAUwNwAAAAlAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-27T04:30:10.373Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 4,
+ "Title": "Example.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\Example.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Models\\Example.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Models\\Example.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Models\\Example.cs",
+ "ViewState": "AgIAAG0AAAAAAAAAAAAEwHcAAABkAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-26T10:01:14.975Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 0,
+ "Title": "CustomersAddressesApi.cs",
+ "DocumentMoniker": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs",
+ "RelativeDocumentMoniker": "src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs",
+ "ToolTip": "C:\\Users\\saikhat\\Downloads\\GeneratedCSharpAPI_NEW_2\\src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs",
+ "RelativeToolTip": "src\\IO.Swagger\\Controllers\\CustomersAddressesApi.cs",
+ "ViewState": "AgIAAFUAAAAAAAAAAAAEwF8AAAAIAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2024-09-26T03:26:59.471Z",
+ "EditorCaption": ""
+ }
+ ]
+ }
+ ]
+ }
+ ]
+}
\ No newline at end of file
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/ProjectEvaluation/io.swagger.metadata.v9.bin b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/ProjectEvaluation/io.swagger.metadata.v9.bin
new file mode 100644
index 00000000..5d0c52a4
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/ProjectEvaluation/io.swagger.metadata.v9.bin differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/ProjectEvaluation/io.swagger.projects.v9.bin b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/ProjectEvaluation/io.swagger.projects.v9.bin
new file mode 100644
index 00000000..4522d0ab
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/ProjectEvaluation/io.swagger.projects.v9.bin differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/ProjectEvaluation/io.swagger.strings.v9.bin b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/ProjectEvaluation/io.swagger.strings.v9.bin
new file mode 100644
index 00000000..280e9926
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/ProjectEvaluation/io.swagger.strings.v9.bin differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/VSWorkspaceState.json b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/VSWorkspaceState.json
new file mode 100644
index 00000000..0249c5d2
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/VSWorkspaceState.json
@@ -0,0 +1,9 @@
+{
+ "ExpandedNodes": [
+ "",
+ "\\src\\IO.Swagger",
+ "\\src\\IO.Swagger\\Controllers"
+ ],
+ "SelectedNode": "\\IO.Swagger.sln",
+ "PreviewInSolutionExplorer": false
+}
\ No newline at end of file
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/slnx.sqlite b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/slnx.sqlite
new file mode 100644
index 00000000..1e3b1a79
Binary files /dev/null and b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/.vs/slnx.sqlite differ
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/IO.Swagger.sln b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/IO.Swagger.sln
new file mode 100644
index 00000000..5bbedccb
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/IO.Swagger.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.11.35303.130
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IO.Swagger", "src\IO.Swagger\IO.Swagger.csproj", "{5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {5E6CDAC7-C448-415A-A8F2-2BC36E6A57BB}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {015242C4-8532-40E4-A5C8-CC60B75724A4}
+ EndGlobalSection
+EndGlobal
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/NuGet.Config b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/NuGet.Config
new file mode 100644
index 00000000..dcee3824
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/NuGet.Config
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/README.md b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/README.md
new file mode 100644
index 00000000..595a6255
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/README.md
@@ -0,0 +1,25 @@
+# IO.Swagger - ASP.NET Core 2.0 Server
+
+Authorize.Net REST API
+
+## Run
+
+Linux/OS X:
+
+```
+sh build.sh
+```
+
+Windows:
+
+```
+build.bat
+```
+
+## Run in Docker
+
+```
+cd src/IO.Swagger
+docker build -t io.swagger .
+docker run -p 5000:5000 io.swagger
+```
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/build.bat b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/build.bat
new file mode 100644
index 00000000..2e041233
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/build.bat
@@ -0,0 +1,9 @@
+:: Generated by: https://github.com/swagger-api/swagger-codegen.git
+::
+
+@echo off
+
+dotnet restore src\IO.Swagger
+dotnet build src\IO.Swagger
+echo Now, run the following to start the project: dotnet run -p src\IO.Swagger\IO.Swagger.csproj --launch-profile web.
+echo.
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/build.sh b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/build.sh
new file mode 100644
index 00000000..ce6063a2
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/build.sh
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+#
+# Generated by: https://github.com/swagger-api/swagger-codegen.git
+#
+
+dotnet restore src/IO.Swagger/ && \
+ dotnet build src/IO.Swagger/ && \
+ echo "Now, run the following to start the project: dotnet run -p src/IO.Swagger/IO.Swagger.csproj --launch-profile web"
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/.gitignore b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/.gitignore
new file mode 100644
index 00000000..848f7baa
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/.gitignore
@@ -0,0 +1,208 @@
+PID
+
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+
+# User-specific files
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+build/
+bld/
+bin/
+[Oo]bj/
+
+# Visual Studio 2015 cache/options directory
+.vs/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUNIT
+*.VisualState.xml
+TestResult.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# DNX
+project.lock.json
+artifacts/
+
+*_i.c
+*_p.c
+*_i.h
+*.ilk
+*.meta
+*.obj
+*.pch
+*.pdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opensdf
+*.sdf
+*.cachefile
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# JustCode is a .NET coding add-in
+.JustCode
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# TODO: Comment the next line if you want to checkin your web deploy settings
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# NuGet Packages
+*.nupkg
+# The packages folder can be ignored because of Package Restore
+**/packages/*
+# except build/, which is used as an MSBuild target.
+!**/packages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/packages/repositories.config
+
+# Windows Azure Build Output
+csx/
+*.build.csdef
+
+# Windows Store app package directory
+AppPackages/
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!*.[Cc]ache/
+
+# Others
+ClientBin/
+[Ss]tyle[Cc]op.*
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.pfx
+*.publishsettings
+node_modules/
+bower_components/
+orleans.codegen.cs
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+
+# SQL Server files
+*.mdf
+*.ldf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Attributes/ValidateModelStateAttribute.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Attributes/ValidateModelStateAttribute.cs
new file mode 100644
index 00000000..07cfabe8
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Attributes/ValidateModelStateAttribute.cs
@@ -0,0 +1,61 @@
+using System.ComponentModel.DataAnnotations;
+using System.Reflection;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.AspNetCore.Mvc.Controllers;
+using Microsoft.AspNetCore.Mvc.Filters;
+using Microsoft.AspNetCore.Mvc.ModelBinding;
+
+namespace IO.Swagger.Attributes
+{
+ ///
+ /// Model state validation attribute
+ ///
+ public class ValidateModelStateAttribute : ActionFilterAttribute
+ {
+ ///
+ /// Called before the action method is invoked
+ ///
+ ///
+ public override void OnActionExecuting(ActionExecutingContext context)
+ {
+ // Per https://blog.markvincze.com/how-to-validate-action-parameters-with-dataannotation-attributes/
+ var descriptor = context.ActionDescriptor as ControllerActionDescriptor;
+ if (descriptor != null)
+ {
+ foreach (var parameter in descriptor.MethodInfo.GetParameters())
+ {
+ object args = null;
+ if (context.ActionArguments.ContainsKey(parameter.Name))
+ {
+ args = context.ActionArguments[parameter.Name];
+ }
+
+ ValidateAttributes(parameter, args, context.ModelState);
+ }
+ }
+
+ if (!context.ModelState.IsValid)
+ {
+ context.Result = new BadRequestObjectResult(context.ModelState);
+ }
+ }
+
+ private void ValidateAttributes(ParameterInfo parameter, object args, ModelStateDictionary modelState)
+ {
+ foreach (var attributeData in parameter.CustomAttributes)
+ {
+ var attributeInstance = parameter.GetCustomAttribute(attributeData.AttributeType);
+
+ var validationAttribute = attributeInstance as ValidationAttribute;
+ if (validationAttribute != null)
+ {
+ var isValid = validationAttribute.IsValid(args);
+ if (!isValid)
+ {
+ modelState.AddModelError(parameter.Name, validationAttribute.FormatErrorMessage(parameter.Name));
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/CreditsApi.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/CreditsApi.cs
new file mode 100644
index 00000000..9c6734a7
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/CreditsApi.cs
@@ -0,0 +1,61 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Collections.Generic;
+using Microsoft.AspNetCore.Mvc;
+using Swashbuckle.AspNetCore.Annotations;
+using Swashbuckle.AspNetCore.SwaggerGen;
+using Newtonsoft.Json;
+using System.ComponentModel.DataAnnotations;
+using IO.Swagger.Attributes;
+using IO.Swagger.Security;
+using Microsoft.AspNetCore.Authorization;
+using IO.Swagger.Models;
+
+namespace IO.Swagger.Controllers
+{
+ ///
+ ///
+ ///
+ [ApiController]
+ public class CreditsApiController : ControllerBase
+ {
+ ///
+ /// Process a Credit Transaction
+ ///
+ /// Create a credit transaction that is not related to a previous transaction. To refund a previous transaction, use `/payments/{paymentId}/refunds` instead.
+ ///
+ /// The value to provide in the Authorization header of ANET API request
+ /// OK
+ /// Internal Server Error
+ [HttpPost]
+ [Route("//v1/credits/")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("CreateCredit")]
+ [SwaggerResponse(statusCode: 200, type: typeof(Payment), description: "OK")]
+ [SwaggerResponse(statusCode: 500, type: typeof(ErrorResponse), description: "Internal Server Error")]
+ public virtual IActionResult CreateCredit([FromBody]CreditRequest body, [FromHeader][Required()]string authorization)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(Payment));
+
+ //TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(500, default(ErrorResponse));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"submitTimeUTC\" : \"submitTimeUTC\",\r\n \"clientReferenceInformation\" : {\r\n \"code\" : \"code\"\r\n },\r\n \"processorInformation\" : {\r\n \"approvalCode\" : \"approvalCode\",\r\n \"cardVerification\" : {\r\n \"resultCode\" : \"resultCode\"\r\n },\r\n \"consumerAuthenticationResponse\" : {\r\n \"code\" : \"code\"\r\n },\r\n \"avs\" : {\r\n \"code\" : \"code\"\r\n }\r\n },\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"orderInformation\" : {\r\n \"lineItems\" : [ {\r\n \"unitPrice\" : \"unitPrice\",\r\n \"productCode\" : \"productCode\",\r\n \"quantity\" : 0.8008281904610115,\r\n \"productName\" : \"productName\"\r\n }, {\r\n \"unitPrice\" : \"unitPrice\",\r\n \"productCode\" : \"productCode\",\r\n \"quantity\" : 0.8008281904610115,\r\n \"productName\" : \"productName\"\r\n } ],\r\n \"billTo\" : \"\",\r\n \"description\" : \"description\",\r\n \"invoiceDetails\" : {\r\n \"taxable\" : true,\r\n \"purchaseOrderNumber\" : \"purchaseOrderNumber\"\r\n },\r\n \"amountDetails\" : {\r\n \"totalAmount\" : \"totalAmount\",\r\n \"freightAmount\" : \"freightAmount\",\r\n \"authorizedAmount\" : \"authorizedAmount\",\r\n \"currency\" : \"currency\",\r\n \"taxAmount\" : \"taxAmount\",\r\n \"dutyAmount\" : \"dutyAmount\"\r\n },\r\n \"shipTo\" : \"\"\r\n },\r\n \"id\" : \"id\",\r\n \"fraudInformation\" : {\r\n \"fraudFilterList\" : [ {\r\n \"name\" : \"name\",\r\n \"action\" : \"action\"\r\n }, {\r\n \"name\" : \"name\",\r\n \"action\" : \"action\"\r\n } ],\r\n \"fraudAction\" : \"fraudAction\"\r\n },\r\n \"paymentInformation\" : {\r\n \"bankAccount\" : {\r\n \"eCheckType\" : \"eCheckType\",\r\n \"routingNumber\" : \"routingNumber\",\r\n \"nameOnAccount\" : \"nameOnAccount\",\r\n \"checkNumber\" : \"checkNumber\",\r\n \"accountType\" : \"accountType\",\r\n \"bankName\" : \"bankName\",\r\n \"accountNumber\" : \"accountNumber\"\r\n },\r\n \"tokenizedCard\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"cryptogram\" : \"cryptogram\"\r\n },\r\n \"card\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"securityCode\" : \"securityCode\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"type\" : \"type\"\r\n },\r\n \"fluidData\" : {\r\n \"descriptor\" : \"descriptor\",\r\n \"value\" : \"value\",\r\n \"key\" : \"key\"\r\n },\r\n \"customer\" : {\r\n \"paymentMethodId\" : \"paymentMethodId\",\r\n \"customerId\" : \"customerId\"\r\n },\r\n \"validate\" : true\r\n },\r\n \"followUpResponse\" : {\r\n \"errorMessage\" : \"errorMessage\",\r\n \"customer\" : {\r\n \"paymentMethodId\" : \"paymentMethodId\",\r\n \"customerId\" : \"customerId\"\r\n }\r\n },\r\n \"status\" : \"status\"\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(Payment); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/CustomersAddressesApi.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/CustomersAddressesApi.cs
new file mode 100644
index 00000000..4259f39d
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/CustomersAddressesApi.cs
@@ -0,0 +1,213 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Collections.Generic;
+using Microsoft.AspNetCore.Mvc;
+using Swashbuckle.AspNetCore.Annotations;
+using Swashbuckle.AspNetCore.SwaggerGen;
+using Newtonsoft.Json;
+using System.ComponentModel.DataAnnotations;
+using IO.Swagger.Attributes;
+using IO.Swagger.Security;
+using Microsoft.AspNetCore.Authorization;
+using IO.Swagger.Models;
+using System.IO;
+using System.Xml.Serialization;
+using System.Xml;
+using System.Net.Http;
+using System.Text;
+using System.Threading.Tasks;
+using System.Security.Cryptography.X509Certificates;
+
+namespace IO.Swagger.Controllers
+{
+ ///
+ ///
+ ///
+ [ApiController]
+ //[Route("api/[controller]")]
+ public class CustomersAddressesApiController : ControllerBase
+ {
+ ///
+ /// Create A Customer Address
+ ///
+ /// Create an address associated with a customer profile.
+ /// Contains address information.
+ /// Unique identifier of the customer profile, which was returned in the original transaction response.
+ /// OK
+ /// Address not created
+ /// Unexpected error.
+ [HttpPost]
+ //[Route("/v1/customers/{customerId}/addresses")]
+ [Route("/v1/customers/{customerId}/addresses")]
+ //[Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("CreateCustomerAddress")]
+ [SwaggerResponse(statusCode: 200, type: typeof(Address), description: "OK")]
+ [SwaggerResponse(statusCode: 404, type: typeof(ErrorResponse), description: "Address not created")]
+ [SwaggerResponse(statusCode: 0, type: typeof(ErrorResponse), description: "Unexpected error.")]
+ public virtual IActionResult CreateCustomerAddress([FromBody]CreateCustomerAddressNEW body, [FromRoute][Required]string customerId= "924517851")
+ {
+ try
+ {
+ // Step 1: Convert the C# object to a JSON string using XsdHelper
+ XsdHelper xsdHelper = new XsdHelper();
+ string jsonString = xsdHelper.ConvertObjectToJson(body);
+
+ // Step 2: Convert JSON string to XML using XsdHelper
+ string xmlRequest = xsdHelper.ConvertJsonToXml(jsonString);
+
+ // Step 3: Send the XML request to the SOAP service
+ Example example1 = new Example();
+ xsd xsd= new xsd();
+
+ //string result = await xsd.SendSoapRequest(soapRequestXml, "path/to/your/schema.xsd");
+
+ var jsonResponseTask = xsd.SendSoapRequestxsd(xmlRequest);
+
+ //var jsonResponseTask = example1.SendSoapRequest(xmlRequest);
+ jsonResponseTask.Wait();
+
+ // Step 4: Capture the JSON response
+ string jsonResponse = jsonResponseTask.Result;
+
+
+ // Step 5: Deserialize JSON response into Address object
+ var addressResponse = !string.IsNullOrWhiteSpace(jsonResponse)
+ ? JsonConvert.DeserializeObject(jsonResponse)
+ : default(Address);
+
+ // Return the response, either OK (200) with the address object or a 404 error
+ return new ObjectResult(addressResponse);
+
+ }
+ catch (Exception ex)
+ {
+ // Handle unexpected errors and return a 500 status code
+ return StatusCode(500, new ErrorResponse { Message = $"Unexpected error: {ex.Message}" });
+ }
+ }
+
+
+
+
+ //-------------------------------------------------------------------------------------
+
+ ///
+ /// Delete a Customer Address
+ ///
+ /// Deletes an address associated with a customer profile.
+ /// Unique identifier of the customer profile.
+ /// Unique identifier of the address.
+ /// OK
+ [HttpDelete]
+ [Route("//v1/customers/{customerId}/addresses/{addressId}")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("DeleteAddress")]
+ public virtual IActionResult DeleteAddress([FromRoute][Required]string customerId, [FromRoute][Required]string addressId)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200);
+
+ throw new NotImplementedException();
+ }
+
+ ///
+ /// Get All Customer Addresses
+ ///
+ /// Get a list of all addresses associated with one customer profile.
+ /// Unique identifier of the customer profile, from the original profile creation response.
+ /// The number of the page to return results from. For example, if limit is set to 100, and offset is set to 2, the function will return 100 transactions starting with the transaction that would otherwise be the transaction numbered 101 in the result set. Accepted values are 1-100000.
+ /// The number of transactions per page. Accepted values are 1-1000.
+ /// OK
+ [HttpGet]
+ [Route("//v1/customers/{customerId}/addresses")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("GetAllCustomerAddresses")]
+ [SwaggerResponse(statusCode: 200, type: typeof(AddressCollection), description: "OK")]
+ public virtual IActionResult GetAllCustomerAddresses([FromRoute][Required]string customerId, [FromQuery]int? offset, [FromQuery]int? limit)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(AddressCollection));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"_embedded\" : {\r\n \"addresses\" : [ {\r\n \"firstName\" : \"firstName\",\r\n \"lastName\" : \"lastName\",\r\n \"default\" : true,\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"id\" : \"id\"\r\n }, {\r\n \"firstName\" : \"firstName\",\r\n \"lastName\" : \"lastName\",\r\n \"default\" : true,\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"id\" : \"id\"\r\n } ]\r\n },\r\n \"totalAddresses\" : 0\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(AddressCollection); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+
+ ///
+ /// Get A Customer Address
+ ///
+ /// Get a customer address.
+ /// Unique identifier of the customer profile.
+ /// Unique identifier of the address.
+ /// OK
+ [HttpGet]
+ [Route("//v1/customers/{customerId}/addresses/{addressId}")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("GetCustomerAddress")]
+ [SwaggerResponse(statusCode: 200, type: typeof(Address), description: "OK")]
+ public virtual IActionResult GetCustomerAddress([FromRoute][Required]string customerId, [FromRoute][Required]string addressId)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(Address));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"default\" : true,\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"baseAddress\" : {\r\n \"country\" : \"country\",\r\n \"firstName\" : \"firstName\",\r\n \"lastName\" : \"lastName\",\r\n \"phoneNumber\" : \"phoneNumber\",\r\n \"address1\" : \"address1\",\r\n \"postalCode\" : \"postalCode\",\r\n \"locality\" : \"locality\",\r\n \"company\" : \"company\",\r\n \"administrativeArea\" : \"administrativeArea\"\r\n },\r\n \"id\" : \"id\"\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(Address); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+
+ ///
+ /// Update A Customer Address
+ ///
+ /// Update an address associated with a customer profile.
+ /// Contains the address information.
+ /// Unique identifier of the customer profile.
+ /// Unique identifier of the address.
+ /// OK
+ /// Address not updated
+ /// Unexpected error.
+ [HttpPut]
+ [Route("//v1/customers/{customerId}/addresses/{addressId}")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("UpdateCustomerAddress")]
+ [SwaggerResponse(statusCode: 200, type: typeof(Address), description: "OK")]
+ [SwaggerResponse(statusCode: 404, type: typeof(ErrorResponse), description: "Address not updated")]
+ [SwaggerResponse(statusCode: 0, type: typeof(ErrorResponse), description: "Unexpected error.")]
+ public virtual IActionResult UpdateCustomerAddress([FromBody]CreateCustomerAddress body, [FromRoute][Required]string customerId, [FromRoute][Required]string addressId)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(Address));
+
+ //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(404, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(0, default(ErrorResponse));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"default\" : true,\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"baseAddress\" : {\r\n \"country\" : \"country\",\r\n \"firstName\" : \"firstName\",\r\n \"lastName\" : \"lastName\",\r\n \"phoneNumber\" : \"phoneNumber\",\r\n \"address1\" : \"address1\",\r\n \"postalCode\" : \"postalCode\",\r\n \"locality\" : \"locality\",\r\n \"company\" : \"company\",\r\n \"administrativeArea\" : \"administrativeArea\"\r\n },\r\n \"id\" : \"id\"\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(Address); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/CustomersCustomersApi.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/CustomersCustomersApi.cs
new file mode 100644
index 00000000..59756796
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/CustomersCustomersApi.cs
@@ -0,0 +1,110 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Collections.Generic;
+using Microsoft.AspNetCore.Mvc;
+using Swashbuckle.AspNetCore.Annotations;
+using Swashbuckle.AspNetCore.SwaggerGen;
+using Newtonsoft.Json;
+using System.ComponentModel.DataAnnotations;
+using IO.Swagger.Attributes;
+using IO.Swagger.Security;
+using Microsoft.AspNetCore.Authorization;
+using IO.Swagger.Models;
+
+namespace IO.Swagger.Controllers
+{
+ ///
+ ///
+ ///
+ [ApiController]
+ public class CustomersCustomersApiController : ControllerBase
+ {
+ ///
+ /// Delete a Customer Profile
+ ///
+ /// Deletes a customer profile.
+ /// Unique identifier of the customer profile, from the original profile-creation response.
+ /// OK
+ [HttpDelete]
+ [Route("//v1/customers/{customerId}")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("DeleteCustomer")]
+ public virtual IActionResult DeleteCustomer([FromRoute][Required]string customerId)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200);
+
+ throw new NotImplementedException();
+ }
+
+ ///
+ /// Get A Customer
+ ///
+ /// Get the details of a single customer profile.
+ /// Unique identifier of the customer profile, from the original profile-creation response.
+ /// OK
+ [HttpGet]
+ [Route("//v1/customers/{customerId}")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("GetCustomer")]
+ [SwaggerResponse(statusCode: 200, type: typeof(Customer), description: "OK")]
+ public virtual IActionResult GetCustomer([FromRoute][Required]string customerId)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(Customer));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"identifier\" : {\r\n \"reference\" : \"reference\",\r\n \"email\" : \"email\"\r\n },\r\n \"_links\" : { },\r\n \"description\" : \"description\",\r\n \"id\" : \"id\"\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(Customer); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+
+ ///
+ /// Update A Customer Profile
+ ///
+ /// Updates a customer profile.
+ /// Contains the updated information.
+ /// Unique identifier of the customer profile, from the original profile-creation response.
+ /// OK
+ /// Customer not updated
+ /// Unexpected error.
+ [HttpPut]
+ [Route("//v1/customers/{customerId}")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("UpdateCustomer")]
+ [SwaggerResponse(statusCode: 200, type: typeof(Customer), description: "OK")]
+ [SwaggerResponse(statusCode: 404, type: typeof(ErrorResponse), description: "Customer not updated")]
+ [SwaggerResponse(statusCode: 0, type: typeof(ErrorResponse), description: "Unexpected error.")]
+ public virtual IActionResult UpdateCustomer([FromBody]CreateCustomerAndPaymentMethod body, [FromRoute][Required]string customerId)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(Customer));
+
+ //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(404, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(0, default(ErrorResponse));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"identifier\" : {\r\n \"reference\" : \"reference\",\r\n \"email\" : \"email\"\r\n },\r\n \"_links\" : { },\r\n \"description\" : \"description\",\r\n \"id\" : \"id\"\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(Customer); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/CustomersPaymentMethodsApi.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/CustomersPaymentMethodsApi.cs
new file mode 100644
index 00000000..3dada9ec
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/CustomersPaymentMethodsApi.cs
@@ -0,0 +1,176 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Collections.Generic;
+using Microsoft.AspNetCore.Mvc;
+using Swashbuckle.AspNetCore.Annotations;
+using Swashbuckle.AspNetCore.SwaggerGen;
+using Newtonsoft.Json;
+using System.ComponentModel.DataAnnotations;
+using IO.Swagger.Attributes;
+using IO.Swagger.Security;
+using Microsoft.AspNetCore.Authorization;
+using IO.Swagger.Models;
+
+namespace IO.Swagger.Controllers
+{
+ ///
+ ///
+ ///
+ [ApiController]
+ public class CustomersPaymentMethodsApiController : ControllerBase
+ {
+ ///
+ /// Create A Payment Method
+ ///
+ /// Create and payment method associated with a customer profile.
+ /// This object creates a payment method associated with a payment profile.
+ /// Unique identifier of the customer profile, from the original profile-creation response.
+ /// OK
+ /// PaymentMethod not created
+ /// Unexpected error.
+ [HttpPost]
+ [Route("//v1/customers/{customerId}/paymentmethods")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("CreatePaymentMethod")]
+ [SwaggerResponse(statusCode: 200, type: typeof(PaymentMethod), description: "OK")]
+ [SwaggerResponse(statusCode: 404, type: typeof(ErrorResponse), description: "PaymentMethod not created")]
+ [SwaggerResponse(statusCode: 0, type: typeof(ErrorResponse), description: "Unexpected error.")]
+ public virtual IActionResult CreatePaymentMethod([FromBody]CreatePaymentMethod body, [FromRoute][Required]string customerId)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(PaymentMethod));
+
+ //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(404, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(0, default(ErrorResponse));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"default\" : true,\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"billTo\" : {\r\n \"country\" : \"country\",\r\n \"firstName\" : \"firstName\",\r\n \"lastName\" : \"lastName\",\r\n \"phoneNumber\" : \"phoneNumber\",\r\n \"address1\" : \"address1\",\r\n \"postalCode\" : \"postalCode\",\r\n \"locality\" : \"locality\",\r\n \"company\" : \"company\",\r\n \"administrativeArea\" : \"administrativeArea\"\r\n },\r\n \"id\" : \"id\",\r\n \"paymentInformation\" : {\r\n \"bankAccount\" : {\r\n \"eCheckType\" : \"eCheckType\",\r\n \"routingNumber\" : \"routingNumber\",\r\n \"nameOnAccount\" : \"nameOnAccount\",\r\n \"checkNumber\" : \"checkNumber\",\r\n \"accountType\" : \"accountType\",\r\n \"bankName\" : \"bankName\",\r\n \"accountNumber\" : \"accountNumber\"\r\n },\r\n \"tokenizedCard\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"cryptogram\" : \"cryptogram\"\r\n },\r\n \"card\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"securityCode\" : \"securityCode\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"type\" : \"type\"\r\n },\r\n \"fluidData\" : {\r\n \"descriptor\" : \"descriptor\",\r\n \"value\" : \"value\",\r\n \"key\" : \"key\"\r\n },\r\n \"customer\" : {\r\n \"paymentMethodId\" : \"paymentMethodId\",\r\n \"customerId\" : \"customerId\"\r\n },\r\n \"validate\" : true\r\n }\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(PaymentMethod); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+
+ ///
+ /// Delete a Customer Payment Method
+ ///
+ /// Deletes a payment method from a payment profile.
+ /// Unique identifier of the customer profile.
+ /// Unique identifier of the payment method.
+ /// OK
+ [HttpDelete]
+ [Route("//v1/customers/{customerId}/paymentmethods/{paymentMethodId}")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("DeletePaymentmethod")]
+ public virtual IActionResult DeletePaymentmethod([FromRoute][Required]string customerId, [FromRoute][Required]string paymentMethodId)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200);
+
+ throw new NotImplementedException();
+ }
+
+ ///
+ /// Get a Customer Payment Method
+ ///
+ /// Get the payment method for a sinlge customer profile.
+ /// Unique identifier of the customer profile.
+ /// Unique identifier of the payment method.
+ /// OK
+ [HttpGet]
+ [Route("//v1/customers/{customerId}/paymentmethods/{paymentMethodId}")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("GetCustomerPaymentMethod")]
+ [SwaggerResponse(statusCode: 200, type: typeof(PaymentMethod), description: "OK")]
+ public virtual IActionResult GetCustomerPaymentMethod([FromRoute][Required]string customerId, [FromRoute][Required]string paymentMethodId)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(PaymentMethod));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"default\" : true,\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"billTo\" : {\r\n \"country\" : \"country\",\r\n \"firstName\" : \"firstName\",\r\n \"lastName\" : \"lastName\",\r\n \"phoneNumber\" : \"phoneNumber\",\r\n \"address1\" : \"address1\",\r\n \"postalCode\" : \"postalCode\",\r\n \"locality\" : \"locality\",\r\n \"company\" : \"company\",\r\n \"administrativeArea\" : \"administrativeArea\"\r\n },\r\n \"id\" : \"id\",\r\n \"paymentInformation\" : {\r\n \"bankAccount\" : {\r\n \"eCheckType\" : \"eCheckType\",\r\n \"routingNumber\" : \"routingNumber\",\r\n \"nameOnAccount\" : \"nameOnAccount\",\r\n \"checkNumber\" : \"checkNumber\",\r\n \"accountType\" : \"accountType\",\r\n \"bankName\" : \"bankName\",\r\n \"accountNumber\" : \"accountNumber\"\r\n },\r\n \"tokenizedCard\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"cryptogram\" : \"cryptogram\"\r\n },\r\n \"card\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"securityCode\" : \"securityCode\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"type\" : \"type\"\r\n },\r\n \"fluidData\" : {\r\n \"descriptor\" : \"descriptor\",\r\n \"value\" : \"value\",\r\n \"key\" : \"key\"\r\n },\r\n \"customer\" : {\r\n \"paymentMethodId\" : \"paymentMethodId\",\r\n \"customerId\" : \"customerId\"\r\n },\r\n \"validate\" : true\r\n }\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(PaymentMethod); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+
+ ///
+ /// Get Customer Payment Methods
+ ///
+ /// Get a list of payment methods associated with a customer profile.
+ /// Unique identifier of the customer profile, returned in the response to the request that created the profile.
+ /// The number of the page to return results from. For example, if limit is set to 100, and offset is set to 2, the function will return 100 transactions starting with the transaction that would otherwise be the transaction numbered 101 in the result set. Accepted values are 1-100000.
+ /// The number of transactions per page. Accepted values are 1-1000.
+ /// OK
+ [HttpGet]
+ [Route("//v1/customers/{customerId}/paymentmethods")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("GetCustomerPaymentMethods")]
+ [SwaggerResponse(statusCode: 200, type: typeof(PaymentMethodCollection), description: "OK")]
+ public virtual IActionResult GetCustomerPaymentMethods([FromRoute][Required]string customerId, [FromQuery]int? offset, [FromQuery]int? limit)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(PaymentMethodCollection));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"_embedded\" : {\r\n \"paymentMethods\" : [ {\r\n \"default\" : true,\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"id\" : \"id\",\r\n \"paymentInformation\" : {\r\n \"bankAccount\" : {\r\n \"eCheckType\" : \"eCheckType\",\r\n \"routingNumber\" : \"routingNumber\",\r\n \"nameOnAccount\" : \"nameOnAccount\",\r\n \"checkNumber\" : \"checkNumber\",\r\n \"accountType\" : \"accountType\",\r\n \"bankName\" : \"bankName\",\r\n \"accountNumber\" : \"accountNumber\"\r\n },\r\n \"tokenizedCard\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"cryptogram\" : \"cryptogram\"\r\n },\r\n \"card\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"securityCode\" : \"securityCode\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"type\" : \"type\"\r\n },\r\n \"fluidData\" : {\r\n \"descriptor\" : \"descriptor\",\r\n \"value\" : \"value\",\r\n \"key\" : \"key\"\r\n },\r\n \"customer\" : {\r\n \"paymentMethodId\" : \"paymentMethodId\",\r\n \"customerId\" : \"customerId\"\r\n },\r\n \"validate\" : true\r\n }\r\n }, {\r\n \"default\" : true,\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"id\" : \"id\",\r\n \"paymentInformation\" : {\r\n \"bankAccount\" : {\r\n \"eCheckType\" : \"eCheckType\",\r\n \"routingNumber\" : \"routingNumber\",\r\n \"nameOnAccount\" : \"nameOnAccount\",\r\n \"checkNumber\" : \"checkNumber\",\r\n \"accountType\" : \"accountType\",\r\n \"bankName\" : \"bankName\",\r\n \"accountNumber\" : \"accountNumber\"\r\n },\r\n \"tokenizedCard\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"cryptogram\" : \"cryptogram\"\r\n },\r\n \"card\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"securityCode\" : \"securityCode\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"type\" : \"type\"\r\n },\r\n \"fluidData\" : {\r\n \"descriptor\" : \"descriptor\",\r\n \"value\" : \"value\",\r\n \"key\" : \"key\"\r\n },\r\n \"customer\" : {\r\n \"paymentMethodId\" : \"paymentMethodId\",\r\n \"customerId\" : \"customerId\"\r\n },\r\n \"validate\" : true\r\n }\r\n } ]\r\n },\r\n \"totalPaymentMethods\" : 0\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(PaymentMethodCollection); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+
+ ///
+ /// Update a Customer Payment Method
+ ///
+ /// Update a payment method associated with a payment profile.
+ /// Contains the updated payment method information.
+ /// Unique identifier of the customer profile.
+ /// Unique identifier of the payment method.
+ /// OK
+ /// Payment Method not updated
+ /// Unexpected error.
+ [HttpPut]
+ [Route("//v1/customers/{customerId}/paymentmethods/{paymentMethodId}")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("UpdatePaymentMethod")]
+ [SwaggerResponse(statusCode: 200, type: typeof(PaymentMethod), description: "OK")]
+ [SwaggerResponse(statusCode: 404, type: typeof(ErrorResponse), description: "Payment Method not updated")]
+ [SwaggerResponse(statusCode: 0, type: typeof(ErrorResponse), description: "Unexpected error.")]
+ public virtual IActionResult UpdatePaymentMethod([FromBody]CreatePaymentMethod body, [FromRoute][Required]string customerId, [FromRoute][Required]string paymentMethodId)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(PaymentMethod));
+
+ //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(404, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(0, default(ErrorResponse));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"default\" : true,\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"billTo\" : {\r\n \"country\" : \"country\",\r\n \"firstName\" : \"firstName\",\r\n \"lastName\" : \"lastName\",\r\n \"phoneNumber\" : \"phoneNumber\",\r\n \"address1\" : \"address1\",\r\n \"postalCode\" : \"postalCode\",\r\n \"locality\" : \"locality\",\r\n \"company\" : \"company\",\r\n \"administrativeArea\" : \"administrativeArea\"\r\n },\r\n \"id\" : \"id\",\r\n \"paymentInformation\" : {\r\n \"bankAccount\" : {\r\n \"eCheckType\" : \"eCheckType\",\r\n \"routingNumber\" : \"routingNumber\",\r\n \"nameOnAccount\" : \"nameOnAccount\",\r\n \"checkNumber\" : \"checkNumber\",\r\n \"accountType\" : \"accountType\",\r\n \"bankName\" : \"bankName\",\r\n \"accountNumber\" : \"accountNumber\"\r\n },\r\n \"tokenizedCard\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"cryptogram\" : \"cryptogram\"\r\n },\r\n \"card\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"securityCode\" : \"securityCode\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"type\" : \"type\"\r\n },\r\n \"fluidData\" : {\r\n \"descriptor\" : \"descriptor\",\r\n \"value\" : \"value\",\r\n \"key\" : \"key\"\r\n },\r\n \"customer\" : {\r\n \"paymentMethodId\" : \"paymentMethodId\",\r\n \"customerId\" : \"customerId\"\r\n },\r\n \"validate\" : true\r\n }\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(PaymentMethod); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/CustomersProfilesApi.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/CustomersProfilesApi.cs
new file mode 100644
index 00000000..a4acf87e
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/CustomersProfilesApi.cs
@@ -0,0 +1,81 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Collections.Generic;
+using Microsoft.AspNetCore.Mvc;
+using Swashbuckle.AspNetCore.Annotations;
+using Swashbuckle.AspNetCore.SwaggerGen;
+using Newtonsoft.Json;
+using System.ComponentModel.DataAnnotations;
+using IO.Swagger.Attributes;
+using IO.Swagger.Security;
+using Microsoft.AspNetCore.Authorization;
+using IO.Swagger.Models;
+
+namespace IO.Swagger.Controllers
+{
+ ///
+ ///
+ ///
+ [ApiController]
+ public class CustomersProfilesApiController : ControllerBase
+ {
+ ///
+ /// Create A Customer Profile
+ ///
+ /// Create a new customer profile that contains a payment method.
+ /// Contains the information required to create a customer profile with an asociated payment method.
+ /// OK
+ [HttpPost]
+ [Route("//v1/customers")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("CreateCustomerAndPaymentMethod")]
+ [SwaggerResponse(statusCode: 200, type: typeof(Customer), description: "OK")]
+ public virtual IActionResult CreateCustomerAndPaymentMethod([FromBody]CreateCustomerAndPaymentMethod body)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(Customer));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"identifier\" : {\r\n \"reference\" : \"reference\",\r\n \"email\" : \"email\"\r\n },\r\n \"_links\" : { },\r\n \"description\" : \"description\",\r\n \"id\" : \"id\"\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(Customer); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+
+ ///
+ /// Get All Customer Profiles
+ ///
+ /// Get a list of all customer profiles associated with this Authorize.Net account.
+ /// The number of the page to return results from. For example, if limit is set to 100, and offset is set to 2, the function will return 100 transactions, beginning with the transaction that would otherwise be the transaction numbered 101 in the result set. Accepted values are 1-100000.
+ /// The number of transactions per page. Accepted values are 1-1000.
+ /// OK
+ [HttpGet]
+ [Route("//v1/customers")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("GetAllCustomers")]
+ [SwaggerResponse(statusCode: 200, type: typeof(CustomerCollection), description: "OK")]
+ public virtual IActionResult GetAllCustomers([FromQuery]int? offset, [FromQuery]int? limit)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(CustomerCollection));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"totalCustomers\" : 0,\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"_embedded\" : {\r\n \"customers\" : [ {\r\n \"identifier\" : {\r\n \"reference\" : \"reference\",\r\n \"email\" : \"email\"\r\n },\r\n \"_links\" : { },\r\n \"description\" : \"description\",\r\n \"id\" : \"id\"\r\n }, {\r\n \"identifier\" : {\r\n \"reference\" : \"reference\",\r\n \"email\" : \"email\"\r\n },\r\n \"_links\" : { },\r\n \"description\" : \"description\",\r\n \"id\" : \"id\"\r\n } ]\r\n }\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(CustomerCollection); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/PaymentsCapturesApi.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/PaymentsCapturesApi.cs
new file mode 100644
index 00000000..207d6f59
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/PaymentsCapturesApi.cs
@@ -0,0 +1,66 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Collections.Generic;
+using Microsoft.AspNetCore.Mvc;
+using Swashbuckle.AspNetCore.Annotations;
+using Swashbuckle.AspNetCore.SwaggerGen;
+using Newtonsoft.Json;
+using System.ComponentModel.DataAnnotations;
+using IO.Swagger.Attributes;
+using IO.Swagger.Security;
+using Microsoft.AspNetCore.Authorization;
+using IO.Swagger.Models;
+
+namespace IO.Swagger.Controllers
+{
+ ///
+ ///
+ ///
+ [ApiController]
+ public class PaymentsCapturesApiController : ControllerBase
+ {
+ ///
+ /// Cature a Payment Transaction
+ ///
+ /// Capture an authorization that was processed through Authorize.Net.
+ ///
+ /// The unique identifier of the authorization that you are capturing. The ID is returned in the original transaction response.
+ /// OK
+ /// Payment Not Found
+ /// Internal Server Error
+ [HttpPost]
+ [Route("//v1/payments/{paymentId}/captures")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("CapturePayment")]
+ [SwaggerResponse(statusCode: 200, type: typeof(Payment), description: "OK")]
+ [SwaggerResponse(statusCode: 404, type: typeof(ErrorResponse), description: "Payment Not Found")]
+ [SwaggerResponse(statusCode: 500, type: typeof(ErrorResponse), description: "Internal Server Error")]
+ public virtual IActionResult CapturePayment([FromBody]CaptureRequest body, [FromRoute][Required]string paymentId)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(Payment));
+
+ //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(404, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(500, default(ErrorResponse));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"submitTimeUTC\" : \"submitTimeUTC\",\r\n \"clientReferenceInformation\" : {\r\n \"code\" : \"code\"\r\n },\r\n \"processorInformation\" : {\r\n \"approvalCode\" : \"approvalCode\",\r\n \"cardVerification\" : {\r\n \"resultCode\" : \"resultCode\"\r\n },\r\n \"consumerAuthenticationResponse\" : {\r\n \"code\" : \"code\"\r\n },\r\n \"avs\" : {\r\n \"code\" : \"code\"\r\n }\r\n },\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"orderInformation\" : {\r\n \"lineItems\" : [ {\r\n \"unitPrice\" : \"unitPrice\",\r\n \"productCode\" : \"productCode\",\r\n \"quantity\" : 0.8008281904610115,\r\n \"productName\" : \"productName\"\r\n }, {\r\n \"unitPrice\" : \"unitPrice\",\r\n \"productCode\" : \"productCode\",\r\n \"quantity\" : 0.8008281904610115,\r\n \"productName\" : \"productName\"\r\n } ],\r\n \"billTo\" : \"\",\r\n \"description\" : \"description\",\r\n \"invoiceDetails\" : {\r\n \"taxable\" : true,\r\n \"purchaseOrderNumber\" : \"purchaseOrderNumber\"\r\n },\r\n \"amountDetails\" : {\r\n \"totalAmount\" : \"totalAmount\",\r\n \"freightAmount\" : \"freightAmount\",\r\n \"authorizedAmount\" : \"authorizedAmount\",\r\n \"currency\" : \"currency\",\r\n \"taxAmount\" : \"taxAmount\",\r\n \"dutyAmount\" : \"dutyAmount\"\r\n },\r\n \"shipTo\" : \"\"\r\n },\r\n \"id\" : \"id\",\r\n \"fraudInformation\" : {\r\n \"fraudFilterList\" : [ {\r\n \"name\" : \"name\",\r\n \"action\" : \"action\"\r\n }, {\r\n \"name\" : \"name\",\r\n \"action\" : \"action\"\r\n } ],\r\n \"fraudAction\" : \"fraudAction\"\r\n },\r\n \"paymentInformation\" : {\r\n \"bankAccount\" : {\r\n \"eCheckType\" : \"eCheckType\",\r\n \"routingNumber\" : \"routingNumber\",\r\n \"nameOnAccount\" : \"nameOnAccount\",\r\n \"checkNumber\" : \"checkNumber\",\r\n \"accountType\" : \"accountType\",\r\n \"bankName\" : \"bankName\",\r\n \"accountNumber\" : \"accountNumber\"\r\n },\r\n \"tokenizedCard\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"cryptogram\" : \"cryptogram\"\r\n },\r\n \"card\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"securityCode\" : \"securityCode\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"type\" : \"type\"\r\n },\r\n \"fluidData\" : {\r\n \"descriptor\" : \"descriptor\",\r\n \"value\" : \"value\",\r\n \"key\" : \"key\"\r\n },\r\n \"customer\" : {\r\n \"paymentMethodId\" : \"paymentMethodId\",\r\n \"customerId\" : \"customerId\"\r\n },\r\n \"validate\" : true\r\n },\r\n \"followUpResponse\" : {\r\n \"errorMessage\" : \"errorMessage\",\r\n \"customer\" : {\r\n \"paymentMethodId\" : \"paymentMethodId\",\r\n \"customerId\" : \"customerId\"\r\n }\r\n },\r\n \"status\" : \"status\"\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(Payment); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/PaymentsPaymentsApi.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/PaymentsPaymentsApi.cs
new file mode 100644
index 00000000..0d032554
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/PaymentsPaymentsApi.cs
@@ -0,0 +1,124 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Collections.Generic;
+using Microsoft.AspNetCore.Mvc;
+using Swashbuckle.AspNetCore.Annotations;
+using Swashbuckle.AspNetCore.SwaggerGen;
+using Newtonsoft.Json;
+using System.ComponentModel.DataAnnotations;
+using IO.Swagger.Attributes;
+using IO.Swagger.Security;
+using Microsoft.AspNetCore.Authorization;
+using IO.Swagger.Models;
+
+namespace IO.Swagger.Controllers
+{
+ ///
+ ///
+ ///
+ [ApiController]
+ public class PaymentsPaymentsApiController : ControllerBase
+ {
+ ///
+ /// Create a Payment Transaction
+ ///
+ /// Create a payment transaction. By default, this operation **authorizes and captures** the transaction. To only **authorize** it, set `paymentRequest.processingInformation.capture` to `false`.
+ ///
+ /// OK
+ /// Internal Server Error
+ [HttpPost]
+ [Route("//v1/payments/")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("CreatePayment")]
+ [SwaggerResponse(statusCode: 200, type: typeof(Payment), description: "OK")]
+ [SwaggerResponse(statusCode: 500, type: typeof(ErrorResponse), description: "Internal Server Error")]
+ public virtual IActionResult CreatePayment([FromBody]PaymentRequest body)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(Payment));
+
+ //TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(500, default(ErrorResponse));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"submitTimeUTC\" : \"submitTimeUTC\",\r\n \"clientReferenceInformation\" : {\r\n \"code\" : \"code\"\r\n },\r\n \"processorInformation\" : {\r\n \"approvalCode\" : \"approvalCode\",\r\n \"cardVerification\" : {\r\n \"resultCode\" : \"resultCode\"\r\n },\r\n \"consumerAuthenticationResponse\" : {\r\n \"code\" : \"code\"\r\n },\r\n \"avs\" : {\r\n \"code\" : \"code\"\r\n }\r\n },\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"orderInformation\" : {\r\n \"lineItems\" : [ {\r\n \"unitPrice\" : \"unitPrice\",\r\n \"productCode\" : \"productCode\",\r\n \"quantity\" : 0.8008281904610115,\r\n \"productName\" : \"productName\"\r\n }, {\r\n \"unitPrice\" : \"unitPrice\",\r\n \"productCode\" : \"productCode\",\r\n \"quantity\" : 0.8008281904610115,\r\n \"productName\" : \"productName\"\r\n } ],\r\n \"billTo\" : \"\",\r\n \"description\" : \"description\",\r\n \"invoiceDetails\" : {\r\n \"taxable\" : true,\r\n \"purchaseOrderNumber\" : \"purchaseOrderNumber\"\r\n },\r\n \"amountDetails\" : {\r\n \"totalAmount\" : \"totalAmount\",\r\n \"freightAmount\" : \"freightAmount\",\r\n \"authorizedAmount\" : \"authorizedAmount\",\r\n \"currency\" : \"currency\",\r\n \"taxAmount\" : \"taxAmount\",\r\n \"dutyAmount\" : \"dutyAmount\"\r\n },\r\n \"shipTo\" : \"\"\r\n },\r\n \"id\" : \"id\",\r\n \"fraudInformation\" : {\r\n \"fraudFilterList\" : [ {\r\n \"name\" : \"name\",\r\n \"action\" : \"action\"\r\n }, {\r\n \"name\" : \"name\",\r\n \"action\" : \"action\"\r\n } ],\r\n \"fraudAction\" : \"fraudAction\"\r\n },\r\n \"paymentInformation\" : {\r\n \"bankAccount\" : {\r\n \"eCheckType\" : \"eCheckType\",\r\n \"routingNumber\" : \"routingNumber\",\r\n \"nameOnAccount\" : \"nameOnAccount\",\r\n \"checkNumber\" : \"checkNumber\",\r\n \"accountType\" : \"accountType\",\r\n \"bankName\" : \"bankName\",\r\n \"accountNumber\" : \"accountNumber\"\r\n },\r\n \"tokenizedCard\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"cryptogram\" : \"cryptogram\"\r\n },\r\n \"card\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"securityCode\" : \"securityCode\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"type\" : \"type\"\r\n },\r\n \"fluidData\" : {\r\n \"descriptor\" : \"descriptor\",\r\n \"value\" : \"value\",\r\n \"key\" : \"key\"\r\n },\r\n \"customer\" : {\r\n \"paymentMethodId\" : \"paymentMethodId\",\r\n \"customerId\" : \"customerId\"\r\n },\r\n \"validate\" : true\r\n },\r\n \"followUpResponse\" : {\r\n \"errorMessage\" : \"errorMessage\",\r\n \"customer\" : {\r\n \"paymentMethodId\" : \"paymentMethodId\",\r\n \"customerId\" : \"customerId\"\r\n }\r\n },\r\n \"status\" : \"status\"\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(Payment); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+
+ ///
+ /// Get a List of Payments
+ ///
+ /// Get a list of payment transactions.
+ /// 1-100000. The number of the page to return results from. For example, if limit is set to 100, and offset is set to 2, the function will return 100 transactions starting with the transaction that would otherwise be the transaction numbered 101 in the result set.
+ /// 1-1000. The number of transactions per page.
+ ///
+ ///
+ ///
+ /// OK
+ [HttpGet]
+ [Route("//v1/payments/")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("GetAllPayments")]
+ [SwaggerResponse(statusCode: 200, type: typeof(PaymentCollection), description: "OK")]
+ public virtual IActionResult GetAllPayments([FromQuery]int? offset, [FromQuery]int? limit, [FromQuery]string batchId, [FromQuery]string customerId, [FromQuery]bool? unsettled)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(PaymentCollection));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"totalTransactions\" : 0,\r\n \"_link\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"_embedded\" : {\r\n \"payments\" : [ {\r\n \"submitTimeUTC\" : \"submitTimeUTC\",\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"id\" : \"id\",\r\n \"status\" : \"status\"\r\n }, {\r\n \"submitTimeUTC\" : \"submitTimeUTC\",\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"id\" : \"id\",\r\n \"status\" : \"status\"\r\n } ]\r\n }\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(PaymentCollection); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+
+ ///
+ /// Get the Details of a Payment Transaction
+ ///
+ /// Get the details of a payment transaction.
+ /// The unique identifier of the payment. Returned in the original transaction response.
+ /// OK
+ /// Payment Not Found
+ /// Internal Server Error
+ [HttpGet]
+ [Route("//v1/payments/{paymentId}")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("GetPayment")]
+ [SwaggerResponse(statusCode: 200, type: typeof(Payment), description: "OK")]
+ [SwaggerResponse(statusCode: 404, type: typeof(ErrorResponse), description: "Payment Not Found")]
+ [SwaggerResponse(statusCode: 500, type: typeof(ErrorResponse), description: "Internal Server Error")]
+ public virtual IActionResult GetPayment([FromRoute][Required]string paymentId)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(Payment));
+
+ //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(404, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(500, default(ErrorResponse));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"submitTimeUTC\" : \"submitTimeUTC\",\r\n \"clientReferenceInformation\" : {\r\n \"code\" : \"code\"\r\n },\r\n \"processorInformation\" : {\r\n \"approvalCode\" : \"approvalCode\",\r\n \"cardVerification\" : {\r\n \"resultCode\" : \"resultCode\"\r\n },\r\n \"consumerAuthenticationResponse\" : {\r\n \"code\" : \"code\"\r\n },\r\n \"avs\" : {\r\n \"code\" : \"code\"\r\n }\r\n },\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"orderInformation\" : {\r\n \"lineItems\" : [ {\r\n \"unitPrice\" : \"unitPrice\",\r\n \"productCode\" : \"productCode\",\r\n \"quantity\" : 0.8008281904610115,\r\n \"productName\" : \"productName\"\r\n }, {\r\n \"unitPrice\" : \"unitPrice\",\r\n \"productCode\" : \"productCode\",\r\n \"quantity\" : 0.8008281904610115,\r\n \"productName\" : \"productName\"\r\n } ],\r\n \"billTo\" : \"\",\r\n \"description\" : \"description\",\r\n \"invoiceDetails\" : {\r\n \"taxable\" : true,\r\n \"purchaseOrderNumber\" : \"purchaseOrderNumber\"\r\n },\r\n \"amountDetails\" : {\r\n \"totalAmount\" : \"totalAmount\",\r\n \"freightAmount\" : \"freightAmount\",\r\n \"authorizedAmount\" : \"authorizedAmount\",\r\n \"currency\" : \"currency\",\r\n \"taxAmount\" : \"taxAmount\",\r\n \"dutyAmount\" : \"dutyAmount\"\r\n },\r\n \"shipTo\" : \"\"\r\n },\r\n \"id\" : \"id\",\r\n \"fraudInformation\" : {\r\n \"fraudFilterList\" : [ {\r\n \"name\" : \"name\",\r\n \"action\" : \"action\"\r\n }, {\r\n \"name\" : \"name\",\r\n \"action\" : \"action\"\r\n } ],\r\n \"fraudAction\" : \"fraudAction\"\r\n },\r\n \"paymentInformation\" : {\r\n \"bankAccount\" : {\r\n \"eCheckType\" : \"eCheckType\",\r\n \"routingNumber\" : \"routingNumber\",\r\n \"nameOnAccount\" : \"nameOnAccount\",\r\n \"checkNumber\" : \"checkNumber\",\r\n \"accountType\" : \"accountType\",\r\n \"bankName\" : \"bankName\",\r\n \"accountNumber\" : \"accountNumber\"\r\n },\r\n \"tokenizedCard\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"cryptogram\" : \"cryptogram\"\r\n },\r\n \"card\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"securityCode\" : \"securityCode\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"type\" : \"type\"\r\n },\r\n \"fluidData\" : {\r\n \"descriptor\" : \"descriptor\",\r\n \"value\" : \"value\",\r\n \"key\" : \"key\"\r\n },\r\n \"customer\" : {\r\n \"paymentMethodId\" : \"paymentMethodId\",\r\n \"customerId\" : \"customerId\"\r\n },\r\n \"validate\" : true\r\n },\r\n \"followUpResponse\" : {\r\n \"errorMessage\" : \"errorMessage\",\r\n \"customer\" : {\r\n \"paymentMethodId\" : \"paymentMethodId\",\r\n \"customerId\" : \"customerId\"\r\n }\r\n },\r\n \"status\" : \"status\"\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(Payment); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/PaymentsRefundsApi.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/PaymentsRefundsApi.cs
new file mode 100644
index 00000000..b62735a9
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/PaymentsRefundsApi.cs
@@ -0,0 +1,66 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Collections.Generic;
+using Microsoft.AspNetCore.Mvc;
+using Swashbuckle.AspNetCore.Annotations;
+using Swashbuckle.AspNetCore.SwaggerGen;
+using Newtonsoft.Json;
+using System.ComponentModel.DataAnnotations;
+using IO.Swagger.Attributes;
+using IO.Swagger.Security;
+using Microsoft.AspNetCore.Authorization;
+using IO.Swagger.Models;
+
+namespace IO.Swagger.Controllers
+{
+ ///
+ ///
+ ///
+ [ApiController]
+ public class PaymentsRefundsApiController : ControllerBase
+ {
+ ///
+ /// Refund a Payment Transaction
+ ///
+ /// Refund a previously captured payment transaction by referencing its ID. To credit your customer's account without referencing a previous transaction, use `/credits` instead
+ ///
+ /// Unique identifier of the payment transaction that you are refunding. The ID is returned in the original transaction reponse.
+ /// OK
+ /// Payment Not Found
+ /// Internal Server Error
+ [HttpPost]
+ [Route("//v1/payments/{paymentId}/refunds")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("RefundPayment")]
+ [SwaggerResponse(statusCode: 200, type: typeof(Payment), description: "OK")]
+ [SwaggerResponse(statusCode: 404, type: typeof(ErrorResponse), description: "Payment Not Found")]
+ [SwaggerResponse(statusCode: 500, type: typeof(ErrorResponse), description: "Internal Server Error")]
+ public virtual IActionResult RefundPayment([FromBody]RefundRequest body, [FromRoute][Required]string paymentId)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(Payment));
+
+ //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(404, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(500, default(ErrorResponse));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"submitTimeUTC\" : \"submitTimeUTC\",\r\n \"clientReferenceInformation\" : {\r\n \"code\" : \"code\"\r\n },\r\n \"processorInformation\" : {\r\n \"approvalCode\" : \"approvalCode\",\r\n \"cardVerification\" : {\r\n \"resultCode\" : \"resultCode\"\r\n },\r\n \"consumerAuthenticationResponse\" : {\r\n \"code\" : \"code\"\r\n },\r\n \"avs\" : {\r\n \"code\" : \"code\"\r\n }\r\n },\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"orderInformation\" : {\r\n \"lineItems\" : [ {\r\n \"unitPrice\" : \"unitPrice\",\r\n \"productCode\" : \"productCode\",\r\n \"quantity\" : 0.8008281904610115,\r\n \"productName\" : \"productName\"\r\n }, {\r\n \"unitPrice\" : \"unitPrice\",\r\n \"productCode\" : \"productCode\",\r\n \"quantity\" : 0.8008281904610115,\r\n \"productName\" : \"productName\"\r\n } ],\r\n \"billTo\" : \"\",\r\n \"description\" : \"description\",\r\n \"invoiceDetails\" : {\r\n \"taxable\" : true,\r\n \"purchaseOrderNumber\" : \"purchaseOrderNumber\"\r\n },\r\n \"amountDetails\" : {\r\n \"totalAmount\" : \"totalAmount\",\r\n \"freightAmount\" : \"freightAmount\",\r\n \"authorizedAmount\" : \"authorizedAmount\",\r\n \"currency\" : \"currency\",\r\n \"taxAmount\" : \"taxAmount\",\r\n \"dutyAmount\" : \"dutyAmount\"\r\n },\r\n \"shipTo\" : \"\"\r\n },\r\n \"id\" : \"id\",\r\n \"fraudInformation\" : {\r\n \"fraudFilterList\" : [ {\r\n \"name\" : \"name\",\r\n \"action\" : \"action\"\r\n }, {\r\n \"name\" : \"name\",\r\n \"action\" : \"action\"\r\n } ],\r\n \"fraudAction\" : \"fraudAction\"\r\n },\r\n \"paymentInformation\" : {\r\n \"bankAccount\" : {\r\n \"eCheckType\" : \"eCheckType\",\r\n \"routingNumber\" : \"routingNumber\",\r\n \"nameOnAccount\" : \"nameOnAccount\",\r\n \"checkNumber\" : \"checkNumber\",\r\n \"accountType\" : \"accountType\",\r\n \"bankName\" : \"bankName\",\r\n \"accountNumber\" : \"accountNumber\"\r\n },\r\n \"tokenizedCard\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"cryptogram\" : \"cryptogram\"\r\n },\r\n \"card\" : {\r\n \"expirationYear\" : \"expirationYear\",\r\n \"number\" : \"number\",\r\n \"securityCode\" : \"securityCode\",\r\n \"expirationMonth\" : \"expirationMonth\",\r\n \"type\" : \"type\"\r\n },\r\n \"fluidData\" : {\r\n \"descriptor\" : \"descriptor\",\r\n \"value\" : \"value\",\r\n \"key\" : \"key\"\r\n },\r\n \"customer\" : {\r\n \"paymentMethodId\" : \"paymentMethodId\",\r\n \"customerId\" : \"customerId\"\r\n },\r\n \"validate\" : true\r\n },\r\n \"followUpResponse\" : {\r\n \"errorMessage\" : \"errorMessage\",\r\n \"customer\" : {\r\n \"paymentMethodId\" : \"paymentMethodId\",\r\n \"customerId\" : \"customerId\"\r\n }\r\n },\r\n \"status\" : \"status\"\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(Payment); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/WebhooksEventTypesApi.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/WebhooksEventTypesApi.cs
new file mode 100644
index 00000000..8d341db6
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/WebhooksEventTypesApi.cs
@@ -0,0 +1,64 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Collections.Generic;
+using Microsoft.AspNetCore.Mvc;
+using Swashbuckle.AspNetCore.Annotations;
+using Swashbuckle.AspNetCore.SwaggerGen;
+using Newtonsoft.Json;
+using System.ComponentModel.DataAnnotations;
+using IO.Swagger.Attributes;
+using IO.Swagger.Security;
+using Microsoft.AspNetCore.Authorization;
+using IO.Swagger.Models;
+
+namespace IO.Swagger.Controllers
+{
+ ///
+ ///
+ ///
+ [ApiController]
+ public class WebhooksEventTypesApiController : ControllerBase
+ {
+ ///
+ /// Get a List of All Event Types
+ ///
+ /// Returns a list of all Webhooks event types that you can enroll in.
+ /// OK
+ /// System Error.
+ /// Unexpected Error.
+ [HttpGet]
+ [Route("//v1/eventtypes")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("GetEventTypes")]
+ [SwaggerResponse(statusCode: 200, type: typeof(List), description: "OK")]
+ [SwaggerResponse(statusCode: 500, type: typeof(ErrorResponse), description: "System Error.")]
+ [SwaggerResponse(statusCode: 0, type: typeof(ErrorResponse), description: "Unexpected Error.")]
+ public virtual IActionResult GetEventTypes()
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(List));
+
+ //TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(500, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(0, default(ErrorResponse));
+ string exampleJson = null;
+ exampleJson = "[ {\r\n \"name\" : \"name\"\r\n}, {\r\n \"name\" : \"name\"\r\n} ]";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject>(exampleJson)
+ : default(List); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/WebhooksNotificationsApi.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/WebhooksNotificationsApi.cs
new file mode 100644
index 00000000..ffd4f961
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/WebhooksNotificationsApi.cs
@@ -0,0 +1,109 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Collections.Generic;
+using Microsoft.AspNetCore.Mvc;
+using Swashbuckle.AspNetCore.Annotations;
+using Swashbuckle.AspNetCore.SwaggerGen;
+using Newtonsoft.Json;
+using System.ComponentModel.DataAnnotations;
+using IO.Swagger.Attributes;
+using IO.Swagger.Security;
+using Microsoft.AspNetCore.Authorization;
+using IO.Swagger.Models;
+
+namespace IO.Swagger.Controllers
+{
+ ///
+ ///
+ ///
+ [ApiController]
+ public class WebhooksNotificationsApiController : ControllerBase
+ {
+ ///
+ /// Get a Notification
+ ///
+ /// Retreives the details of a single notification.
+ /// Unique identifier of the notification. The identifier was sent in the original notification.
+ /// OK
+ /// Not Found
+ /// System Error.
+ /// Unexpected Error.
+ [HttpGet]
+ [Route("//v1/notifications/{notificationsId}")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("GetNotification")]
+ [SwaggerResponse(statusCode: 200, type: typeof(GetNotificationResponse), description: "OK")]
+ [SwaggerResponse(statusCode: 404, type: typeof(ErrorResponse), description: "Not Found")]
+ [SwaggerResponse(statusCode: 500, type: typeof(ErrorResponse), description: "System Error.")]
+ [SwaggerResponse(statusCode: 0, type: typeof(ErrorResponse), description: "Unexpected Error.")]
+ public virtual IActionResult GetNotification([FromRoute][Required]string notificationsId)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(GetNotificationResponse));
+
+ //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(404, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(500, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(0, default(ErrorResponse));
+ string exampleJson = null;
+ exampleJson = "\"\"";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(GetNotificationResponse); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+
+ ///
+ /// Get Notification History
+ ///
+ /// Retreives the history of notifications for this account.
+ /// Filter by delivery status. Status include the following./n/n* Delivered/n/n* Failed
+ /// Only includes notifications after the specified date, in YYYY-MM-DD format.
+ /// Only includes notifications before specified date, in YYYY-MM-DD format.
+ /// The number of the page to return results from. For example, if limit is set to 100, and offset is set to 2, the function will return 100 transactions, beginning with the transaction that would otherwise be the transaction numbered 101 in the result set. Accepted values are 1-100000.
+ /// The number of transactions per page. Accepted values are 1-1000.
+ /// OK
+ /// System Error.
+ /// Unexpected Error.
+ [HttpGet]
+ [Route("//v1/notifications")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("GetNotifications")]
+ [SwaggerResponse(statusCode: 200, type: typeof(GetNotificationsResponse), description: "OK")]
+ [SwaggerResponse(statusCode: 500, type: typeof(ErrorResponse), description: "System Error.")]
+ [SwaggerResponse(statusCode: 0, type: typeof(ErrorResponse), description: "Unexpected Error.")]
+ public virtual IActionResult GetNotifications([FromQuery]string deliveryStatus, [FromQuery]string fromDate, [FromQuery]string toDate, [FromQuery]int? offset, [FromQuery]int? limit)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(GetNotificationsResponse));
+
+ //TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(500, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(0, default(ErrorResponse));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"notifications\" : [ {\r\n \"webhookId\" : \"webhookId\",\r\n \"notificationId\" : \"notificationId\",\r\n \"eventType\" : \"eventType\",\r\n \"deliveryStatus\" : \"deliveryStatus\",\r\n \"eventDate\" : \"eventDate\"\r\n }, {\r\n \"webhookId\" : \"webhookId\",\r\n \"notificationId\" : \"notificationId\",\r\n \"eventType\" : \"eventType\",\r\n \"deliveryStatus\" : \"deliveryStatus\",\r\n \"eventDate\" : \"eventDate\"\r\n } ]\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(GetNotificationsResponse); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/WebhooksPingsApi.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/WebhooksPingsApi.cs
new file mode 100644
index 00000000..595740c7
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/WebhooksPingsApi.cs
@@ -0,0 +1,64 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Collections.Generic;
+using Microsoft.AspNetCore.Mvc;
+using Swashbuckle.AspNetCore.Annotations;
+using Swashbuckle.AspNetCore.SwaggerGen;
+using Newtonsoft.Json;
+using System.ComponentModel.DataAnnotations;
+using IO.Swagger.Attributes;
+using IO.Swagger.Security;
+using Microsoft.AspNetCore.Authorization;
+using IO.Swagger.Models;
+
+namespace IO.Swagger.Controllers
+{
+ ///
+ ///
+ ///
+ [ApiController]
+ public class WebhooksPingsApiController : ControllerBase
+ {
+ ///
+ /// Ping A Webhook
+ ///
+ /// A test event is sent to the Webhook endpoint, in an inactive state.
+ /// Unique identifier of the webhook. The identifier was sent in the response to the webhook request.
+ /// OK
+ /// Not Found
+ /// System Error.
+ /// Unexpected Error.
+ [HttpPost]
+ [Route("//v1/webhooks/{webhookId}/pings")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("PingsWebhook")]
+ [SwaggerResponse(statusCode: 404, type: typeof(ErrorResponse), description: "Not Found")]
+ [SwaggerResponse(statusCode: 500, type: typeof(ErrorResponse), description: "System Error.")]
+ [SwaggerResponse(statusCode: 0, type: typeof(ErrorResponse), description: "Unexpected Error.")]
+ public virtual IActionResult PingsWebhook([FromRoute][Required]string webhookId)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200);
+
+ //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(404, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(500, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(0, default(ErrorResponse));
+
+ throw new NotImplementedException();
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/WebhooksWebhooksApi.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/WebhooksWebhooksApi.cs
new file mode 100644
index 00000000..5d8d5444
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Controllers/WebhooksWebhooksApi.cs
@@ -0,0 +1,229 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Collections.Generic;
+using Microsoft.AspNetCore.Mvc;
+using Swashbuckle.AspNetCore.Annotations;
+using Swashbuckle.AspNetCore.SwaggerGen;
+using Newtonsoft.Json;
+using System.ComponentModel.DataAnnotations;
+using IO.Swagger.Attributes;
+using IO.Swagger.Security;
+using Microsoft.AspNetCore.Authorization;
+using IO.Swagger.Models;
+
+namespace IO.Swagger.Controllers
+{
+ ///
+ ///
+ ///
+ [ApiController]
+ public class WebhooksWebhooksApiController : ControllerBase
+ {
+ ///
+ /// Create A Webhook
+ ///
+ /// Enroll in one or more type of event notification.
+ /// The payload which contains the details for enrolling in one or more webhooks.
+ /// OK
+ /// Invalid/Missing Data or Limit Reached
+ /// System Error.
+ /// Unexpected Error.
+ [HttpPost]
+ [Route("//v1/webhooks")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("CreateWebhook")]
+ [SwaggerResponse(statusCode: 200, type: typeof(GetWebhookResponse), description: "OK")]
+ [SwaggerResponse(statusCode: 400, type: typeof(ErrorResponse), description: "Invalid/Missing Data or Limit Reached")]
+ [SwaggerResponse(statusCode: 500, type: typeof(ErrorResponse), description: "System Error.")]
+ [SwaggerResponse(statusCode: 0, type: typeof(ErrorResponse), description: "Unexpected Error.")]
+ public virtual IActionResult CreateWebhook([FromBody]CreateWebhookBody body)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(GetWebhookResponse));
+
+ //TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(400, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(500, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(0, default(ErrorResponse));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"webhookId\" : \"webhookId\",\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"name\" : \"name\",\r\n \"eventTypes\" : [ \"eventTypes\", \"eventTypes\" ],\r\n \"url\" : \"url\",\r\n \"status\" : \"status\"\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(GetWebhookResponse); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+
+ ///
+ /// Delete A Webhook
+ ///
+ /// Delete an existing Webhook.
+ /// Unique identifier of the webhook. The identifier was sent in the response to the webhook request.
+ /// OK
+ /// Invalid Data
+ /// Not Found
+ /// System Error.
+ /// Unexpected Error.
+ [HttpDelete]
+ [Route("//v1/webhooks/{webhookId}")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("DeleteWebhook")]
+ [SwaggerResponse(statusCode: 400, type: typeof(ErrorResponse), description: "Invalid Data ")]
+ [SwaggerResponse(statusCode: 404, type: typeof(ErrorResponse), description: "Not Found")]
+ [SwaggerResponse(statusCode: 500, type: typeof(ErrorResponse), description: "System Error.")]
+ [SwaggerResponse(statusCode: 0, type: typeof(ErrorResponse), description: "Unexpected Error.")]
+ public virtual IActionResult DeleteWebhook([FromRoute][Required]string webhookId)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200);
+
+ //TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(400, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(404, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(500, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(0, default(ErrorResponse));
+
+ throw new NotImplementedException();
+ }
+
+ ///
+ /// Get a Webhook
+ ///
+ /// Retrieve THE details of an existing Webhook.
+ /// Unique identifier of the webhook. The identifier was sent in the response to the webhook request.
+ /// OK
+ /// Not Found
+ /// System Error.
+ /// Unexpected Error.
+ [HttpGet]
+ [Route("//v1/webhooks/{webhookId}")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("GetWebhook")]
+ [SwaggerResponse(statusCode: 200, type: typeof(GetWebhookResponse), description: "OK")]
+ [SwaggerResponse(statusCode: 404, type: typeof(ErrorResponse), description: "Not Found")]
+ [SwaggerResponse(statusCode: 500, type: typeof(ErrorResponse), description: "System Error.")]
+ [SwaggerResponse(statusCode: 0, type: typeof(ErrorResponse), description: "Unexpected Error.")]
+ public virtual IActionResult GetWebhook([FromRoute][Required]string webhookId)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(GetWebhookResponse));
+
+ //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(404, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(500, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(0, default(ErrorResponse));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"webhookId\" : \"webhookId\",\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"name\" : \"name\",\r\n \"eventTypes\" : [ \"eventTypes\", \"eventTypes\" ],\r\n \"url\" : \"url\",\r\n \"status\" : \"status\"\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(GetWebhookResponse); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+
+ ///
+ /// List My Webhooks
+ ///
+ /// Retrieve details of all existing Webhooks for this account.
+ /// OK
+ /// System Error.
+ /// Unexpected Error.
+ [HttpGet]
+ [Route("//v1/webhooks")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("GetWebhooks")]
+ [SwaggerResponse(statusCode: 200, type: typeof(List), description: "OK")]
+ [SwaggerResponse(statusCode: 500, type: typeof(ErrorResponse), description: "System Error.")]
+ [SwaggerResponse(statusCode: 0, type: typeof(ErrorResponse), description: "Unexpected Error.")]
+ public virtual IActionResult GetWebhooks()
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(List));
+
+ //TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(500, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(0, default(ErrorResponse));
+ string exampleJson = null;
+ exampleJson = "[ {\r\n \"webhookId\" : \"webhookId\",\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"name\" : \"name\",\r\n \"eventTypes\" : [ \"eventTypes\", \"eventTypes\" ],\r\n \"url\" : \"url\",\r\n \"status\" : \"status\"\r\n}, {\r\n \"webhookId\" : \"webhookId\",\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"name\" : \"name\",\r\n \"eventTypes\" : [ \"eventTypes\", \"eventTypes\" ],\r\n \"url\" : \"url\",\r\n \"status\" : \"status\"\r\n} ]";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject>(exampleJson)
+ : default(List); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+
+ ///
+ /// Update A Webhook
+ ///
+ /// Update the details of an existing webhook.
+ /// Contains the details to be updated.
+ /// Unique identifier of the webhook. The identifier was sent in the response to the webhook request.
+ /// OK
+ /// Invalid/Missing Data or Limit Reached
+ /// Not Found
+ /// System Error.
+ /// Unexpected Error.
+ [HttpPut]
+ [Route("//v1/webhooks/{webhookId}")]
+ [Authorize(AuthenticationSchemes = BasicAuthenticationHandler.SchemeName)]
+ [ValidateModelState]
+ [SwaggerOperation("UpdateWebhook")]
+ [SwaggerResponse(statusCode: 200, type: typeof(GetWebhookResponse), description: "OK")]
+ [SwaggerResponse(statusCode: 400, type: typeof(ErrorResponse), description: "Invalid/Missing Data or Limit Reached")]
+ [SwaggerResponse(statusCode: 404, type: typeof(ErrorResponse), description: "Not Found")]
+ [SwaggerResponse(statusCode: 500, type: typeof(ErrorResponse), description: "System Error.")]
+ [SwaggerResponse(statusCode: 0, type: typeof(ErrorResponse), description: "Unexpected Error.")]
+ public virtual IActionResult UpdateWebhook([FromBody]CreateWebhookBody body, [FromRoute][Required]string webhookId)
+ {
+ //TODO: Uncomment the next line to return response 200 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(200, default(GetWebhookResponse));
+
+ //TODO: Uncomment the next line to return response 400 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(400, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 404 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(404, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 500 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(500, default(ErrorResponse));
+
+ //TODO: Uncomment the next line to return response 0 or use other options such as return this.NotFound(), return this.BadRequest(..), ...
+ // return StatusCode(0, default(ErrorResponse));
+ string exampleJson = null;
+ exampleJson = "{\r\n \"webhookId\" : \"webhookId\",\r\n \"_links\" : {\r\n \"self\" : {\r\n \"method\" : \"method\",\r\n \"href\" : \"href\",\r\n \"title\" : \"title\"\r\n }\r\n },\r\n \"name\" : \"name\",\r\n \"eventTypes\" : [ \"eventTypes\", \"eventTypes\" ],\r\n \"url\" : \"url\",\r\n \"status\" : \"status\"\r\n}";
+
+ var example = exampleJson != null
+ ? JsonConvert.DeserializeObject(exampleJson)
+ : default(GetWebhookResponse); //TODO: Change the data returned
+ return new ObjectResult(example);
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Dockerfile b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Dockerfile
new file mode 100644
index 00000000..a22c4e17
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Dockerfile
@@ -0,0 +1,19 @@
+FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build-env
+WORKDIR /app
+
+ENV DOTNET_CLI_TELEMETRY_OPTOUT 1
+
+# copy csproj and restore as distinct layers
+COPY *.csproj ./
+RUN dotnet restore
+
+# copy everything else and build
+COPY . ./
+RUN dotnet publish -c Release -o out
+
+# build runtime image
+FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
+WORKDIR /app
+COPY --from=build-env /app/out .
+
+ENTRYPOINT ["dotnet", "IO.Swagger.dll"]
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Filters/BasePathFilter.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Filters/BasePathFilter.cs
new file mode 100644
index 00000000..c9d95d6d
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Filters/BasePathFilter.cs
@@ -0,0 +1,51 @@
+using System.Linq;
+using System.Text.RegularExpressions;
+using Swashbuckle.AspNetCore.Swagger;
+using Swashbuckle.AspNetCore.SwaggerGen;
+using Microsoft.OpenApi.Models;
+
+namespace IO.Swagger.Filters
+{
+ ///
+ /// BasePath Document Filter sets BasePath property of Swagger and removes it from the individual URL paths
+ ///
+ public class BasePathFilter : IDocumentFilter
+ {
+ ///
+ /// Constructor
+ ///
+ /// BasePath to remove from Operations
+ public BasePathFilter(string basePath)
+ {
+ BasePath = basePath;
+ }
+
+ ///
+ /// Gets the BasePath of the Swagger Doc
+ ///
+ /// The BasePath of the Swagger Doc
+ public string BasePath { get; }
+
+ ///
+ /// Apply the filter
+ ///
+ /// OpenApiDocument
+ /// FilterContext
+ public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
+ {
+ swaggerDoc.Servers.Add(new OpenApiServer() { Url = this.BasePath });
+
+ var pathsToModify = swaggerDoc.Paths.Where(p => p.Key.StartsWith(this.BasePath)).ToList();
+
+ foreach (var path in pathsToModify)
+ {
+ if (path.Key.StartsWith(this.BasePath))
+ {
+ string newKey = Regex.Replace(path.Key, $"^{this.BasePath}", string.Empty);
+ swaggerDoc.Paths.Remove(path.Key);
+ swaggerDoc.Paths.Add(newKey, path.Value);
+ }
+ }
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Filters/GeneratePathParamsValidationFilter.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Filters/GeneratePathParamsValidationFilter.cs
new file mode 100644
index 00000000..1845e56a
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Filters/GeneratePathParamsValidationFilter.cs
@@ -0,0 +1,96 @@
+using System.ComponentModel.DataAnnotations;
+using System.Linq;
+using Microsoft.AspNetCore.Mvc.Controllers;
+using Microsoft.OpenApi.Models;
+using Swashbuckle.AspNetCore.SwaggerGen;
+
+namespace IO.Swagger.Filters
+{
+ ///
+ /// Path Parameter Validation Rules Filter
+ ///
+ public class GeneratePathParamsValidationFilter : IOperationFilter
+ {
+ ///
+ /// Constructor
+ ///
+ /// Operation
+ /// OperationFilterContext
+ public void Apply(OpenApiOperation operation, OperationFilterContext context)
+ {
+ var pars = context.ApiDescription.ParameterDescriptions;
+
+ foreach (var par in pars)
+ {
+ var swaggerParam = operation.Parameters.SingleOrDefault(p => p.Name == par.Name);
+
+ var attributes = ((ControllerParameterDescriptor)par.ParameterDescriptor).ParameterInfo.CustomAttributes;
+
+ if (attributes != null && attributes.Count() > 0 && swaggerParam != null)
+ {
+ // Required - [Required]
+ var requiredAttr = attributes.FirstOrDefault(p => p.AttributeType == typeof(RequiredAttribute));
+ if (requiredAttr != null)
+ {
+ swaggerParam.Required = true;
+ }
+
+ // Regex Pattern [RegularExpression]
+ var regexAttr = attributes.FirstOrDefault(p => p.AttributeType == typeof(RegularExpressionAttribute));
+ if (regexAttr != null)
+ {
+ string regex = (string)regexAttr.ConstructorArguments[0].Value;
+ if (swaggerParam is OpenApiParameter)
+ {
+ ((OpenApiParameter)swaggerParam).Schema.Pattern = regex;
+ }
+ }
+
+ // String Length [StringLength]
+ int? minLenght = null, maxLength = null;
+ var stringLengthAttr = attributes.FirstOrDefault(p => p.AttributeType == typeof(StringLengthAttribute));
+ if (stringLengthAttr != null)
+ {
+ if (stringLengthAttr.NamedArguments.Count == 1)
+ {
+ minLenght = (int)stringLengthAttr.NamedArguments.Single(p => p.MemberName == "MinimumLength").TypedValue.Value;
+ }
+ maxLength = (int)stringLengthAttr.ConstructorArguments[0].Value;
+ }
+
+ var minLengthAttr = attributes.FirstOrDefault(p => p.AttributeType == typeof(MinLengthAttribute));
+ if (minLengthAttr != null)
+ {
+ minLenght = (int)minLengthAttr.ConstructorArguments[0].Value;
+ }
+
+ var maxLengthAttr = attributes.FirstOrDefault(p => p.AttributeType == typeof(MaxLengthAttribute));
+ if (maxLengthAttr != null)
+ {
+ maxLength = (int)maxLengthAttr.ConstructorArguments[0].Value;
+ }
+
+ if (swaggerParam is OpenApiParameter)
+ {
+ ((OpenApiParameter)swaggerParam).Schema.MinLength = minLenght;
+ ((OpenApiParameter)swaggerParam).Schema.MaxLength = maxLength;
+ }
+
+ // Range [Range]
+ var rangeAttr = attributes.FirstOrDefault(p => p.AttributeType == typeof(RangeAttribute));
+ if (rangeAttr != null)
+ {
+ int rangeMin = (int)rangeAttr.ConstructorArguments[0].Value;
+ int rangeMax = (int)rangeAttr.ConstructorArguments[1].Value;
+
+ if (swaggerParam is OpenApiParameter)
+ {
+ ((OpenApiParameter)swaggerParam).Schema.Minimum = rangeMin;
+ ((OpenApiParameter)swaggerParam).Schema.Maximum = rangeMax;
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/IO.Swagger.csproj b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/IO.Swagger.csproj
new file mode 100644
index 00000000..dc5bfe42
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/IO.Swagger.csproj
@@ -0,0 +1,21 @@
+
+
+ IO.Swagger
+ IO.Swagger
+ netcoreapp3.1
+ true
+ true
+ IO.Swagger
+ IO.Swagger
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Address.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Address.cs
new file mode 100644
index 00000000..191d965c
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Address.cs
@@ -0,0 +1,196 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+using System.Xml.Serialization;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class Address : IEquatable
+ {
+ ///
+ /// Unique identifier for an address.
+ ///
+ /// Unique identifier for an address.
+
+ [DataMember(Name="id")]
+ public string Id { get; set; }
+
+ ///
+ /// Setting this to `true` marks the address as the customer's default address.
+ ///
+ /// Setting this to `true` marks the address as the customer's default address.
+
+ [DataMember(Name="default")]
+ public bool? _Default { get; set; }
+
+ ///
+ /// Gets or Sets BaseAddress
+ ///
+
+ [DataMember(Name="baseAddress")]
+ public BaseAddress BaseAddress { get; set; }
+
+ ///
+ /// Gets or Sets Links
+ ///
+
+ [DataMember(Name="_links")]
+ public AddressLinks Links { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class Address {\n");
+ sb.Append(" Id: ").Append(Id).Append("\n");
+ sb.Append(" _Default: ").Append(_Default).Append("\n");
+ sb.Append(" BaseAddress: ").Append(BaseAddress).Append("\n");
+ sb.Append(" Links: ").Append(Links).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((Address)obj);
+ }
+
+ ///
+ /// Returns true if Address instances are equal
+ ///
+ /// Instance of Address to be compared
+ /// Boolean
+ public bool Equals(Address other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Id == other.Id ||
+ Id != null &&
+ Id.Equals(other.Id)
+ ) &&
+ (
+ _Default == other._Default ||
+ _Default != null &&
+ _Default.Equals(other._Default)
+ ) &&
+ (
+ BaseAddress == other.BaseAddress ||
+ BaseAddress != null &&
+ BaseAddress.Equals(other.BaseAddress)
+ ) &&
+ (
+ Links == other.Links ||
+ Links != null &&
+ Links.Equals(other.Links)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Id != null)
+ hashCode = hashCode * 59 + Id.GetHashCode();
+ if (_Default != null)
+ hashCode = hashCode * 59 + _Default.GetHashCode();
+ if (BaseAddress != null)
+ hashCode = hashCode * 59 + BaseAddress.GetHashCode();
+ if (Links != null)
+ hashCode = hashCode * 59 + Links.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(Address left, Address right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(Address left, Address right)
+ {
+ return !Equals(left, right);
+ }
+
+ //---------------------------------------------------
+
+ public static Address FromJson(string json)
+ {
+ return JsonConvert.DeserializeObject(json);
+ }
+
+ public string ToXml()
+ {
+ var xmlSerializer = new XmlSerializer(typeof(Address));
+ using (var stringWriter = new StringWriter())
+ {
+ xmlSerializer.Serialize(stringWriter, this);
+ return stringWriter.ToString();
+ }
+ }
+
+ public static Address FromXml(string xml)
+ {
+ var xmlSerializer = new XmlSerializer(typeof(Address));
+ using (var stringReader = new StringReader(xml))
+ {
+ return (Address)xmlSerializer.Deserialize(stringReader);
+ }
+ }
+ //---------------------------------------------------
+
+
+#pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/AddressCollection.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/AddressCollection.cs
new file mode 100644
index 00000000..090e3497
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/AddressCollection.cs
@@ -0,0 +1,151 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class AddressCollection : IEquatable
+ {
+ ///
+ /// Gets or Sets Links
+ ///
+
+ [DataMember(Name="_links")]
+ public CollectionLinks Links { get; set; }
+
+ ///
+ /// Gets or Sets Embedded
+ ///
+
+ [DataMember(Name="_embedded")]
+ public AddressList Embedded { get; set; }
+
+ ///
+ /// Total number of addresses.
+ ///
+ /// Total number of addresses.
+
+ [DataMember(Name="totalAddresses")]
+ public int? TotalAddresses { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class AddressCollection {\n");
+ sb.Append(" Links: ").Append(Links).Append("\n");
+ sb.Append(" Embedded: ").Append(Embedded).Append("\n");
+ sb.Append(" TotalAddresses: ").Append(TotalAddresses).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((AddressCollection)obj);
+ }
+
+ ///
+ /// Returns true if AddressCollection instances are equal
+ ///
+ /// Instance of AddressCollection to be compared
+ /// Boolean
+ public bool Equals(AddressCollection other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Links == other.Links ||
+ Links != null &&
+ Links.Equals(other.Links)
+ ) &&
+ (
+ Embedded == other.Embedded ||
+ Embedded != null &&
+ Embedded.Equals(other.Embedded)
+ ) &&
+ (
+ TotalAddresses == other.TotalAddresses ||
+ TotalAddresses != null &&
+ TotalAddresses.Equals(other.TotalAddresses)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Links != null)
+ hashCode = hashCode * 59 + Links.GetHashCode();
+ if (Embedded != null)
+ hashCode = hashCode * 59 + Embedded.GetHashCode();
+ if (TotalAddresses != null)
+ hashCode = hashCode * 59 + TotalAddresses.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(AddressCollection left, AddressCollection right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(AddressCollection left, AddressCollection right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/AddressLinks.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/AddressLinks.cs
new file mode 100644
index 00000000..6958e487
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/AddressLinks.cs
@@ -0,0 +1,135 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class AddressLinks : IEquatable
+ {
+ ///
+ /// Gets or Sets Self
+ ///
+
+ [DataMember(Name="self")]
+ public Link Self { get; set; }
+
+ ///
+ /// Gets or Sets Customer
+ ///
+
+ [DataMember(Name="customer")]
+ public Link Customer { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class AddressLinks {\n");
+ sb.Append(" Self: ").Append(Self).Append("\n");
+ sb.Append(" Customer: ").Append(Customer).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((AddressLinks)obj);
+ }
+
+ ///
+ /// Returns true if AddressLinks instances are equal
+ ///
+ /// Instance of AddressLinks to be compared
+ /// Boolean
+ public bool Equals(AddressLinks other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Self == other.Self ||
+ Self != null &&
+ Self.Equals(other.Self)
+ ) &&
+ (
+ Customer == other.Customer ||
+ Customer != null &&
+ Customer.Equals(other.Customer)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Self != null)
+ hashCode = hashCode * 59 + Self.GetHashCode();
+ if (Customer != null)
+ hashCode = hashCode * 59 + Customer.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(AddressLinks left, AddressLinks right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(AddressLinks left, AddressLinks right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/AddressList.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/AddressList.cs
new file mode 100644
index 00000000..f64d80b1
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/AddressList.cs
@@ -0,0 +1,120 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class AddressList : IEquatable
+ {
+ ///
+ /// Gets or Sets Addresses
+ ///
+
+ [DataMember(Name="addresses")]
+ public List Addresses { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class AddressList {\n");
+ sb.Append(" Addresses: ").Append(Addresses).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((AddressList)obj);
+ }
+
+ ///
+ /// Returns true if AddressList instances are equal
+ ///
+ /// Instance of AddressList to be compared
+ /// Boolean
+ public bool Equals(AddressList other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Addresses == other.Addresses ||
+ Addresses != null &&
+ Addresses.SequenceEqual(other.Addresses)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Addresses != null)
+ hashCode = hashCode * 59 + Addresses.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(AddressList left, AddressList right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(AddressList left, AddressList right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Addresses.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Addresses.cs
new file mode 100644
index 00000000..6c60da23
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Addresses.cs
@@ -0,0 +1,184 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class Addresses : IEquatable
+ {
+ ///
+ /// Unique identifier of the address.
+ ///
+ /// Unique identifier of the address.
+
+ [DataMember(Name="id")]
+ public string Id { get; set; }
+
+ ///
+ /// If the address is set as the default address for the profile, the value of this element is `true`.
+ ///
+ /// If the address is set as the default address for the profile, the value of this element is `true`.
+
+ [DataMember(Name="default")]
+ public bool? _Default { get; set; }
+
+ ///
+ /// First name of the customer associated with the address.
+ ///
+ /// First name of the customer associated with the address.
+
+ [DataMember(Name="firstName")]
+ public string FirstName { get; set; }
+
+ ///
+ /// Last name of the customer associated with the address.
+ ///
+ /// Last name of the customer associated with the address.
+
+ [DataMember(Name="lastName")]
+ public string LastName { get; set; }
+
+ ///
+ /// Gets or Sets Links
+ ///
+
+ [DataMember(Name="_links")]
+ public AddressLinks Links { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class Addresses {\n");
+ sb.Append(" Id: ").Append(Id).Append("\n");
+ sb.Append(" _Default: ").Append(_Default).Append("\n");
+ sb.Append(" FirstName: ").Append(FirstName).Append("\n");
+ sb.Append(" LastName: ").Append(LastName).Append("\n");
+ sb.Append(" Links: ").Append(Links).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((Addresses)obj);
+ }
+
+ ///
+ /// Returns true if Addresses instances are equal
+ ///
+ /// Instance of Addresses to be compared
+ /// Boolean
+ public bool Equals(Addresses other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Id == other.Id ||
+ Id != null &&
+ Id.Equals(other.Id)
+ ) &&
+ (
+ _Default == other._Default ||
+ _Default != null &&
+ _Default.Equals(other._Default)
+ ) &&
+ (
+ FirstName == other.FirstName ||
+ FirstName != null &&
+ FirstName.Equals(other.FirstName)
+ ) &&
+ (
+ LastName == other.LastName ||
+ LastName != null &&
+ LastName.Equals(other.LastName)
+ ) &&
+ (
+ Links == other.Links ||
+ Links != null &&
+ Links.Equals(other.Links)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Id != null)
+ hashCode = hashCode * 59 + Id.GetHashCode();
+ if (_Default != null)
+ hashCode = hashCode * 59 + _Default.GetHashCode();
+ if (FirstName != null)
+ hashCode = hashCode * 59 + FirstName.GetHashCode();
+ if (LastName != null)
+ hashCode = hashCode * 59 + LastName.GetHashCode();
+ if (Links != null)
+ hashCode = hashCode * 59 + Links.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(Addresses left, Addresses right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(Addresses left, Addresses right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/AllOforderInformationBillTo.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/AllOforderInformationBillTo.cs
new file mode 100644
index 00000000..9873e321
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/AllOforderInformationBillTo.cs
@@ -0,0 +1,105 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// billto address definition
+ ///
+ [DataContract]
+ public partial class AllOforderInformationBillTo : BaseAddress, IEquatable
+ {
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class AllOforderInformationBillTo {\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public new string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((AllOforderInformationBillTo)obj);
+ }
+
+ ///
+ /// Returns true if AllOforderInformationBillTo instances are equal
+ ///
+ /// Instance of AllOforderInformationBillTo to be compared
+ /// Boolean
+ public bool Equals(AllOforderInformationBillTo other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return false;
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(AllOforderInformationBillTo left, AllOforderInformationBillTo right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(AllOforderInformationBillTo left, AllOforderInformationBillTo right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/AllOforderInformationShipTo.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/AllOforderInformationShipTo.cs
new file mode 100644
index 00000000..f134acac
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/AllOforderInformationShipTo.cs
@@ -0,0 +1,105 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// shipTo address definition
+ ///
+ [DataContract]
+ public partial class AllOforderInformationShipTo : BaseAddress, IEquatable
+ {
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class AllOforderInformationShipTo {\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public new string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((AllOforderInformationShipTo)obj);
+ }
+
+ ///
+ /// Returns true if AllOforderInformationShipTo instances are equal
+ ///
+ /// Instance of AllOforderInformationShipTo to be compared
+ /// Boolean
+ public bool Equals(AllOforderInformationShipTo other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return false;
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(AllOforderInformationShipTo left, AllOforderInformationShipTo right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(AllOforderInformationShipTo left, AllOforderInformationShipTo right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/AmountDetail.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/AmountDetail.cs
new file mode 100644
index 00000000..6f47a15e
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/AmountDetail.cs
@@ -0,0 +1,201 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class AmountDetail : IEquatable
+ {
+ ///
+ /// This is the total amount of the payment and must include tax, shipping, tips, and any other charges. <br /><br /> Decimal, up to 15 digits with a decimal point. Do not use currency symbols. For example, 8.95.
+ ///
+ /// This is the total amount of the payment and must include tax, shipping, tips, and any other charges. <br /><br /> Decimal, up to 15 digits with a decimal point. Do not use currency symbols. For example, 8.95.
+ [Required]
+
+ [DataMember(Name="totalAmount")]
+ public string TotalAmount { get; set; }
+
+ ///
+ /// Currency of the transaction.
+ ///
+ /// Currency of the transaction.
+
+ [DataMember(Name="currency")]
+ public string Currency { get; set; }
+
+ ///
+ /// Amount of duty. The total transaction amount must include this value.
+ ///
+ /// Amount of duty. The total transaction amount must include this value.
+
+ [DataMember(Name="dutyAmount")]
+ public string DutyAmount { get; set; }
+
+ ///
+ /// Amount of tax. The total transaction amount must include this value.
+ ///
+ /// Amount of tax. The total transaction amount must include this value.
+
+ [DataMember(Name="taxAmount")]
+ public string TaxAmount { get; set; }
+
+ ///
+ /// Amount of the shipping charges. The total transaction amount must include this value.
+ ///
+ /// Amount of the shipping charges. The total transaction amount must include this value.
+
+ [DataMember(Name="freightAmount")]
+ public string FreightAmount { get; set; }
+
+ ///
+ /// Gets or Sets AuthorizedAmount
+ ///
+
+ [DataMember(Name="authorizedAmount")]
+ public string AuthorizedAmount { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class AmountDetail {\n");
+ sb.Append(" TotalAmount: ").Append(TotalAmount).Append("\n");
+ sb.Append(" Currency: ").Append(Currency).Append("\n");
+ sb.Append(" DutyAmount: ").Append(DutyAmount).Append("\n");
+ sb.Append(" TaxAmount: ").Append(TaxAmount).Append("\n");
+ sb.Append(" FreightAmount: ").Append(FreightAmount).Append("\n");
+ sb.Append(" AuthorizedAmount: ").Append(AuthorizedAmount).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((AmountDetail)obj);
+ }
+
+ ///
+ /// Returns true if AmountDetail instances are equal
+ ///
+ /// Instance of AmountDetail to be compared
+ /// Boolean
+ public bool Equals(AmountDetail other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ TotalAmount == other.TotalAmount ||
+ TotalAmount != null &&
+ TotalAmount.Equals(other.TotalAmount)
+ ) &&
+ (
+ Currency == other.Currency ||
+ Currency != null &&
+ Currency.Equals(other.Currency)
+ ) &&
+ (
+ DutyAmount == other.DutyAmount ||
+ DutyAmount != null &&
+ DutyAmount.Equals(other.DutyAmount)
+ ) &&
+ (
+ TaxAmount == other.TaxAmount ||
+ TaxAmount != null &&
+ TaxAmount.Equals(other.TaxAmount)
+ ) &&
+ (
+ FreightAmount == other.FreightAmount ||
+ FreightAmount != null &&
+ FreightAmount.Equals(other.FreightAmount)
+ ) &&
+ (
+ AuthorizedAmount == other.AuthorizedAmount ||
+ AuthorizedAmount != null &&
+ AuthorizedAmount.Equals(other.AuthorizedAmount)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (TotalAmount != null)
+ hashCode = hashCode * 59 + TotalAmount.GetHashCode();
+ if (Currency != null)
+ hashCode = hashCode * 59 + Currency.GetHashCode();
+ if (DutyAmount != null)
+ hashCode = hashCode * 59 + DutyAmount.GetHashCode();
+ if (TaxAmount != null)
+ hashCode = hashCode * 59 + TaxAmount.GetHashCode();
+ if (FreightAmount != null)
+ hashCode = hashCode * 59 + FreightAmount.GetHashCode();
+ if (AuthorizedAmount != null)
+ hashCode = hashCode * 59 + AuthorizedAmount.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(AmountDetail left, AmountDetail right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(AmountDetail left, AmountDetail right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/BankAccount.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/BankAccount.cs
new file mode 100644
index 00000000..2dcf529e
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/BankAccount.cs
@@ -0,0 +1,220 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// This object contains the customer's bank account payment information.
+ ///
+ [DataContract]
+ public partial class BankAccount : IEquatable
+ {
+ ///
+ /// The type of bank account used for the eCheck.Net transaction. The value of `accountType` must be valid for the `echeckType` value submitted. Valid values include: * `checking` * `savings` * `businessChecking`
+ ///
+ /// The type of bank account used for the eCheck.Net transaction. The value of `accountType` must be valid for the `echeckType` value submitted. Valid values include: * `checking` * `savings` * `businessChecking`
+
+ [DataMember(Name="accountType")]
+ public string AccountType { get; set; }
+
+ ///
+ /// The ABA routing number. Masked except for the last four digits. For example, XXXX0101. <br /><br /> Numeric, up to 9 digits.
+ ///
+ /// The ABA routing number. Masked except for the last four digits. For example, XXXX0101. <br /><br /> Numeric, up to 9 digits.
+ [Required]
+
+ [DataMember(Name="routingNumber")]
+ public string RoutingNumber { get; set; }
+
+ ///
+ /// The bank account number. Masked except for the last four digits. For example, XXXX0101. <br /><br /> Numeric, up to 17 digits.
+ ///
+ /// The bank account number. Masked except for the last four digits. For example, XXXX0101. <br /><br /> Numeric, up to 17 digits.
+ [Required]
+
+ [DataMember(Name="accountNumber")]
+ public string AccountNumber { get; set; }
+
+ ///
+ /// Name of the person who holds the bank account. <br /><br /> String, up to 22 characters.
+ ///
+ /// Name of the person who holds the bank account. <br /><br /> String, up to 22 characters.
+ [Required]
+
+ [DataMember(Name="nameOnAccount")]
+ public string NameOnAccount { get; set; }
+
+ ///
+ /// The type of eCheck transaction. Valid values include * `PPD` * `WEB` * `CCD` * `TEL` * `ARC` * `BOC`
+ ///
+ /// The type of eCheck transaction. Valid values include * `PPD` * `WEB` * `CCD` * `TEL` * `ARC` * `BOC`
+
+ [DataMember(Name="eCheckType")]
+ public string ECheckType { get; set; }
+
+ ///
+ /// Name of the bank to which the account belongs.
+ ///
+ /// Name of the bank to which the account belongs.
+
+ [DataMember(Name="bankName")]
+ public string BankName { get; set; }
+
+ ///
+ /// The number of the check. Do not send `checkNumber` unless `echeckType` is either `ARC` or `BOC`. <br /><br /> Numeric, up to 15 digits.
+ ///
+ /// The number of the check. Do not send `checkNumber` unless `echeckType` is either `ARC` or `BOC`. <br /><br /> Numeric, up to 15 digits.
+
+ [DataMember(Name="checkNumber")]
+ public string CheckNumber { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class BankAccount {\n");
+ sb.Append(" AccountType: ").Append(AccountType).Append("\n");
+ sb.Append(" RoutingNumber: ").Append(RoutingNumber).Append("\n");
+ sb.Append(" AccountNumber: ").Append(AccountNumber).Append("\n");
+ sb.Append(" NameOnAccount: ").Append(NameOnAccount).Append("\n");
+ sb.Append(" ECheckType: ").Append(ECheckType).Append("\n");
+ sb.Append(" BankName: ").Append(BankName).Append("\n");
+ sb.Append(" CheckNumber: ").Append(CheckNumber).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((BankAccount)obj);
+ }
+
+ ///
+ /// Returns true if BankAccount instances are equal
+ ///
+ /// Instance of BankAccount to be compared
+ /// Boolean
+ public bool Equals(BankAccount other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ AccountType == other.AccountType ||
+ AccountType != null &&
+ AccountType.Equals(other.AccountType)
+ ) &&
+ (
+ RoutingNumber == other.RoutingNumber ||
+ RoutingNumber != null &&
+ RoutingNumber.Equals(other.RoutingNumber)
+ ) &&
+ (
+ AccountNumber == other.AccountNumber ||
+ AccountNumber != null &&
+ AccountNumber.Equals(other.AccountNumber)
+ ) &&
+ (
+ NameOnAccount == other.NameOnAccount ||
+ NameOnAccount != null &&
+ NameOnAccount.Equals(other.NameOnAccount)
+ ) &&
+ (
+ ECheckType == other.ECheckType ||
+ ECheckType != null &&
+ ECheckType.Equals(other.ECheckType)
+ ) &&
+ (
+ BankName == other.BankName ||
+ BankName != null &&
+ BankName.Equals(other.BankName)
+ ) &&
+ (
+ CheckNumber == other.CheckNumber ||
+ CheckNumber != null &&
+ CheckNumber.Equals(other.CheckNumber)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (AccountType != null)
+ hashCode = hashCode * 59 + AccountType.GetHashCode();
+ if (RoutingNumber != null)
+ hashCode = hashCode * 59 + RoutingNumber.GetHashCode();
+ if (AccountNumber != null)
+ hashCode = hashCode * 59 + AccountNumber.GetHashCode();
+ if (NameOnAccount != null)
+ hashCode = hashCode * 59 + NameOnAccount.GetHashCode();
+ if (ECheckType != null)
+ hashCode = hashCode * 59 + ECheckType.GetHashCode();
+ if (BankName != null)
+ hashCode = hashCode * 59 + BankName.GetHashCode();
+ if (CheckNumber != null)
+ hashCode = hashCode * 59 + CheckNumber.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(BankAccount left, BankAccount right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(BankAccount left, BankAccount right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/BaseAddress.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/BaseAddress.cs
new file mode 100644
index 00000000..6a29a3ed
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/BaseAddress.cs
@@ -0,0 +1,250 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class BaseAddress : IEquatable
+ {
+ ///
+ /// Number/letter of the address, and the street name. Required if merchant would like to use the Address Verification Service security feature. Required when using GPN Canada or Worldpay Streamline Processing Platform. <br /><br />String, up to 60 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols.
+ ///
+ /// Number/letter of the address, and the street name. Required if merchant would like to use the Address Verification Service security feature. Required when using GPN Canada or Worldpay Streamline Processing Platform. <br /><br />String, up to 60 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols.
+ [Required]
+
+ [DataMember(Name="address1")]
+ public string Address1 { get; set; }
+
+ ///
+ /// The state or administrative area. Required only when using a European payment processor. <br /><br />String, up to 40 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols. For US states, use the USPS two-character abbreviation for the state.
+ ///
+ /// The state or administrative area. Required only when using a European payment processor. <br /><br />String, up to 40 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols. For US states, use the USPS two-character abbreviation for the state.
+
+ [DataMember(Name="administrativeArea")]
+ public string AdministrativeArea { get; set; }
+
+ ///
+ /// Name of the purchasing company, if any. <br /><br /> String, up to 50 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols.
+ ///
+ /// Name of the purchasing company, if any. <br /><br /> String, up to 50 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols.
+
+ [DataMember(Name="company")]
+ public string Company { get; set; }
+
+ ///
+ /// Country associated with the address. Required only when using a European payment processor. <br /><br />String, up to 60 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols. For international payment processors, use the ISO 3166 alpha-3 code for the country.
+ ///
+ /// Country associated with the address. Required only when using a European payment processor. <br /><br />String, up to 60 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols. For international payment processors, use the ISO 3166 alpha-3 code for the country.
+
+ [DataMember(Name="country")]
+ public string Country { get; set; }
+
+ ///
+ /// First name associated with customer's address. Required only when using a European payment processor. <br /><br />String, up to 50 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols.
+ ///
+ /// First name associated with customer's address. Required only when using a European payment processor. <br /><br />String, up to 50 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols.
+
+ [DataMember(Name="firstName")]
+ public string FirstName { get; set; }
+
+ ///
+ /// Last name associated with customer's address. Required only when using a European payment processor. <br /><br />String, up to 50 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols.
+ ///
+ /// Last name associated with customer's address. Required only when using a European payment processor. <br /><br />String, up to 50 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols.
+
+ [DataMember(Name="lastName")]
+ public string LastName { get; set; }
+
+ ///
+ /// City or town of the address. Required only when using a European payment processor. <br /><br />String, up to 40 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols.
+ ///
+ /// City or town of the address. Required only when using a European payment processor. <br /><br />String, up to 40 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols.
+
+ [DataMember(Name="locality")]
+ public string Locality { get; set; }
+
+ ///
+ /// Phone number associated with customer's address. <br /><br />String, up to 25 characters. For example, (123) 555-1234.
+ ///
+ /// Phone number associated with customer's address. <br /><br />String, up to 25 characters. For example, (123) 555-1234.
+
+ [DataMember(Name="phoneNumber")]
+ public string PhoneNumber { get; set; }
+
+ ///
+ /// The postal or ZIP code of the customer's billing address. Required if merchant would like to use the Address Verification Service security feature. Required when using GPN Canada or Worldpay Streamline Processing Platform. String, up to 20 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols.
+ ///
+ /// The postal or ZIP code of the customer's billing address. Required if merchant would like to use the Address Verification Service security feature. Required when using GPN Canada or Worldpay Streamline Processing Platform. String, up to 20 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols.
+
+ [DataMember(Name="postalCode")]
+ public string PostalCode { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class BaseAddress {\n");
+ sb.Append(" Address1: ").Append(Address1).Append("\n");
+ sb.Append(" AdministrativeArea: ").Append(AdministrativeArea).Append("\n");
+ sb.Append(" Company: ").Append(Company).Append("\n");
+ sb.Append(" Country: ").Append(Country).Append("\n");
+ sb.Append(" FirstName: ").Append(FirstName).Append("\n");
+ sb.Append(" LastName: ").Append(LastName).Append("\n");
+ sb.Append(" Locality: ").Append(Locality).Append("\n");
+ sb.Append(" PhoneNumber: ").Append(PhoneNumber).Append("\n");
+ sb.Append(" PostalCode: ").Append(PostalCode).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((BaseAddress)obj);
+ }
+
+ ///
+ /// Returns true if BaseAddress instances are equal
+ ///
+ /// Instance of BaseAddress to be compared
+ /// Boolean
+ public bool Equals(BaseAddress other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Address1 == other.Address1 ||
+ Address1 != null &&
+ Address1.Equals(other.Address1)
+ ) &&
+ (
+ AdministrativeArea == other.AdministrativeArea ||
+ AdministrativeArea != null &&
+ AdministrativeArea.Equals(other.AdministrativeArea)
+ ) &&
+ (
+ Company == other.Company ||
+ Company != null &&
+ Company.Equals(other.Company)
+ ) &&
+ (
+ Country == other.Country ||
+ Country != null &&
+ Country.Equals(other.Country)
+ ) &&
+ (
+ FirstName == other.FirstName ||
+ FirstName != null &&
+ FirstName.Equals(other.FirstName)
+ ) &&
+ (
+ LastName == other.LastName ||
+ LastName != null &&
+ LastName.Equals(other.LastName)
+ ) &&
+ (
+ Locality == other.Locality ||
+ Locality != null &&
+ Locality.Equals(other.Locality)
+ ) &&
+ (
+ PhoneNumber == other.PhoneNumber ||
+ PhoneNumber != null &&
+ PhoneNumber.Equals(other.PhoneNumber)
+ ) &&
+ (
+ PostalCode == other.PostalCode ||
+ PostalCode != null &&
+ PostalCode.Equals(other.PostalCode)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Address1 != null)
+ hashCode = hashCode * 59 + Address1.GetHashCode();
+ if (AdministrativeArea != null)
+ hashCode = hashCode * 59 + AdministrativeArea.GetHashCode();
+ if (Company != null)
+ hashCode = hashCode * 59 + Company.GetHashCode();
+ if (Country != null)
+ hashCode = hashCode * 59 + Country.GetHashCode();
+ if (FirstName != null)
+ hashCode = hashCode * 59 + FirstName.GetHashCode();
+ if (LastName != null)
+ hashCode = hashCode * 59 + LastName.GetHashCode();
+ if (Locality != null)
+ hashCode = hashCode * 59 + Locality.GetHashCode();
+ if (PhoneNumber != null)
+ hashCode = hashCode * 59 + PhoneNumber.GetHashCode();
+ if (PostalCode != null)
+ hashCode = hashCode * 59 + PostalCode.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(BaseAddress left, BaseAddress right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(BaseAddress left, BaseAddress right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Batch.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Batch.cs
new file mode 100644
index 00000000..7f38d2f5
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Batch.cs
@@ -0,0 +1,153 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Contains information about the batch that processed the transaction.
+ ///
+ [DataContract]
+ public partial class Batch : IEquatable
+ {
+ ///
+ /// The unique identifier of the batch.
+ ///
+ /// The unique identifier of the batch.
+
+ [DataMember(Name="batchID")]
+ public string BatchID { get; set; }
+
+ ///
+ /// Status of the batch. One of the following * `settledSuccessfully` * `settlementError` * `pendingSettlement`
+ ///
+ /// Status of the batch. One of the following * `settledSuccessfully` * `settlementError` * `pendingSettlement`
+
+ [DataMember(Name="settlementState")]
+ public string SettlementState { get; set; }
+
+ ///
+ /// Date and time when the batch was settled, expressed in Coordinated Universal Time. A T character separates the date from the time. For example, `YYYY-MM-DDThh:mm:ss`.
+ ///
+ /// Date and time when the batch was settled, expressed in Coordinated Universal Time. A T character separates the date from the time. For example, `YYYY-MM-DDThh:mm:ss`.
+
+ [DataMember(Name="settlmentTimeUTC")]
+ public string SettlmentTimeUTC { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class Batch {\n");
+ sb.Append(" BatchID: ").Append(BatchID).Append("\n");
+ sb.Append(" SettlementState: ").Append(SettlementState).Append("\n");
+ sb.Append(" SettlmentTimeUTC: ").Append(SettlmentTimeUTC).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((Batch)obj);
+ }
+
+ ///
+ /// Returns true if Batch instances are equal
+ ///
+ /// Instance of Batch to be compared
+ /// Boolean
+ public bool Equals(Batch other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ BatchID == other.BatchID ||
+ BatchID != null &&
+ BatchID.Equals(other.BatchID)
+ ) &&
+ (
+ SettlementState == other.SettlementState ||
+ SettlementState != null &&
+ SettlementState.Equals(other.SettlementState)
+ ) &&
+ (
+ SettlmentTimeUTC == other.SettlmentTimeUTC ||
+ SettlmentTimeUTC != null &&
+ SettlmentTimeUTC.Equals(other.SettlmentTimeUTC)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (BatchID != null)
+ hashCode = hashCode * 59 + BatchID.GetHashCode();
+ if (SettlementState != null)
+ hashCode = hashCode * 59 + SettlementState.GetHashCode();
+ if (SettlmentTimeUTC != null)
+ hashCode = hashCode * 59 + SettlmentTimeUTC.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(Batch left, Batch right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(Batch left, Batch right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/BuyerInformation.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/BuyerInformation.cs
new file mode 100644
index 00000000..85eabdb1
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/BuyerInformation.cs
@@ -0,0 +1,153 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class BuyerInformation : IEquatable
+ {
+ ///
+ /// The unique customer ID used to represent the customer associated with the transaction. If you use customer IDs, your solution should generate the customer ID and send it with your transaction requests. Authorize.Net does not generate customer IDs.Use alphanumeric characters only, without spaces, dashes, or other symbols.
+ ///
+ /// The unique customer ID used to represent the customer associated with the transaction. If you use customer IDs, your solution should generate the customer ID and send it with your transaction requests. Authorize.Net does not generate customer IDs.Use alphanumeric characters only, without spaces, dashes, or other symbols.
+
+ [DataMember(Name="merchantCustomerId")]
+ public string MerchantCustomerId { get; set; }
+
+ ///
+ /// Type of customer. Valid values are `individual` or `business`.
+ ///
+ /// Type of customer. Valid values are `individual` or `business`.
+
+ [DataMember(Name="customerType")]
+ public string CustomerType { get; set; }
+
+ ///
+ /// The customer's valid email address. For example, janedoe@example.com.
+ ///
+ /// The customer's valid email address. For example, janedoe@example.com.
+
+ [DataMember(Name="email")]
+ public string Email { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class BuyerInformation {\n");
+ sb.Append(" MerchantCustomerId: ").Append(MerchantCustomerId).Append("\n");
+ sb.Append(" CustomerType: ").Append(CustomerType).Append("\n");
+ sb.Append(" Email: ").Append(Email).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((BuyerInformation)obj);
+ }
+
+ ///
+ /// Returns true if BuyerInformation instances are equal
+ ///
+ /// Instance of BuyerInformation to be compared
+ /// Boolean
+ public bool Equals(BuyerInformation other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ MerchantCustomerId == other.MerchantCustomerId ||
+ MerchantCustomerId != null &&
+ MerchantCustomerId.Equals(other.MerchantCustomerId)
+ ) &&
+ (
+ CustomerType == other.CustomerType ||
+ CustomerType != null &&
+ CustomerType.Equals(other.CustomerType)
+ ) &&
+ (
+ Email == other.Email ||
+ Email != null &&
+ Email.Equals(other.Email)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (MerchantCustomerId != null)
+ hashCode = hashCode * 59 + MerchantCustomerId.GetHashCode();
+ if (CustomerType != null)
+ hashCode = hashCode * 59 + CustomerType.GetHashCode();
+ if (Email != null)
+ hashCode = hashCode * 59 + Email.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(BuyerInformation left, BuyerInformation right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(BuyerInformation left, BuyerInformation right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CaptureRequest.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CaptureRequest.cs
new file mode 100644
index 00000000..e3dba927
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CaptureRequest.cs
@@ -0,0 +1,165 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Model for CaptureRequest
+ ///
+ [DataContract]
+ public partial class CaptureRequest : IEquatable
+ {
+ ///
+ /// Gets or Sets OrderInformation
+ ///
+
+ [DataMember(Name="orderInformation")]
+ public OrderInformation OrderInformation { get; set; }
+
+ ///
+ /// Gets or Sets BuyerInformation
+ ///
+
+ [DataMember(Name="buyerInformation")]
+ public BuyerInformation BuyerInformation { get; set; }
+
+ ///
+ /// Gets or Sets DeviceInformation
+ ///
+
+ [DataMember(Name="deviceInformation")]
+ public DeviceInformation DeviceInformation { get; set; }
+
+ ///
+ /// Gets or Sets PointOfSaleInformation
+ ///
+
+ [DataMember(Name="pointOfSaleInformation")]
+ public PointOfSaleInformation PointOfSaleInformation { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class CaptureRequest {\n");
+ sb.Append(" OrderInformation: ").Append(OrderInformation).Append("\n");
+ sb.Append(" BuyerInformation: ").Append(BuyerInformation).Append("\n");
+ sb.Append(" DeviceInformation: ").Append(DeviceInformation).Append("\n");
+ sb.Append(" PointOfSaleInformation: ").Append(PointOfSaleInformation).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((CaptureRequest)obj);
+ }
+
+ ///
+ /// Returns true if CaptureRequest instances are equal
+ ///
+ /// Instance of CaptureRequest to be compared
+ /// Boolean
+ public bool Equals(CaptureRequest other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ OrderInformation == other.OrderInformation ||
+ OrderInformation != null &&
+ OrderInformation.Equals(other.OrderInformation)
+ ) &&
+ (
+ BuyerInformation == other.BuyerInformation ||
+ BuyerInformation != null &&
+ BuyerInformation.Equals(other.BuyerInformation)
+ ) &&
+ (
+ DeviceInformation == other.DeviceInformation ||
+ DeviceInformation != null &&
+ DeviceInformation.Equals(other.DeviceInformation)
+ ) &&
+ (
+ PointOfSaleInformation == other.PointOfSaleInformation ||
+ PointOfSaleInformation != null &&
+ PointOfSaleInformation.Equals(other.PointOfSaleInformation)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (OrderInformation != null)
+ hashCode = hashCode * 59 + OrderInformation.GetHashCode();
+ if (BuyerInformation != null)
+ hashCode = hashCode * 59 + BuyerInformation.GetHashCode();
+ if (DeviceInformation != null)
+ hashCode = hashCode * 59 + DeviceInformation.GetHashCode();
+ if (PointOfSaleInformation != null)
+ hashCode = hashCode * 59 + PointOfSaleInformation.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(CaptureRequest left, CaptureRequest right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(CaptureRequest left, CaptureRequest right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Card.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Card.cs
new file mode 100644
index 00000000..ecd391df
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Card.cs
@@ -0,0 +1,188 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// This object contains the customer's credit card payment information.
+ ///
+ [DataContract]
+ public partial class Card : IEquatable
+ {
+ ///
+ /// The customer's credit card number. <br /><br /> Numeric, 13-16 digits.
+ ///
+ /// The customer's credit card number. <br /><br /> Numeric, 13-16 digits.
+ [Required]
+
+ [DataMember(Name="number")]
+ public string Number { get; set; }
+
+ ///
+ /// Month that the card expires, in MM format.
+ ///
+ /// Month that the card expires, in MM format.
+ [Required]
+
+ [DataMember(Name="expirationMonth")]
+ public string ExpirationMonth { get; set; }
+
+ ///
+ /// Year that the card expires in YYYY format.
+ ///
+ /// Year that the card expires in YYYY format.
+ [Required]
+
+ [DataMember(Name="expirationYear")]
+ public string ExpirationYear { get; set; }
+
+ ///
+ /// Type of credit card. Valid values include: * `Visa` * `MasterCard` * `Discover` * `JCB` * `DinersClub`
+ ///
+ /// Type of credit card. Valid values include: * `Visa` * `MasterCard` * `Discover` * `JCB` * `DinersClub`
+
+ [DataMember(Name="type")]
+ public string Type { get; set; }
+
+ ///
+ /// The three or four digit code on the front or back of the card. <br /><br /> This field is required if the merchant would like to use the Card Code Verification (CCV) security feature.<br /><br /> Cardholder information must be stored securely and in accordance with the Payment Card Industry (PCI) Data Security Standard.
+ ///
+ /// The three or four digit code on the front or back of the card. <br /><br /> This field is required if the merchant would like to use the Card Code Verification (CCV) security feature.<br /><br /> Cardholder information must be stored securely and in accordance with the Payment Card Industry (PCI) Data Security Standard.
+
+ [DataMember(Name="securityCode")]
+ public string SecurityCode { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class Card {\n");
+ sb.Append(" Number: ").Append(Number).Append("\n");
+ sb.Append(" ExpirationMonth: ").Append(ExpirationMonth).Append("\n");
+ sb.Append(" ExpirationYear: ").Append(ExpirationYear).Append("\n");
+ sb.Append(" Type: ").Append(Type).Append("\n");
+ sb.Append(" SecurityCode: ").Append(SecurityCode).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((Card)obj);
+ }
+
+ ///
+ /// Returns true if Card instances are equal
+ ///
+ /// Instance of Card to be compared
+ /// Boolean
+ public bool Equals(Card other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Number == other.Number ||
+ Number != null &&
+ Number.Equals(other.Number)
+ ) &&
+ (
+ ExpirationMonth == other.ExpirationMonth ||
+ ExpirationMonth != null &&
+ ExpirationMonth.Equals(other.ExpirationMonth)
+ ) &&
+ (
+ ExpirationYear == other.ExpirationYear ||
+ ExpirationYear != null &&
+ ExpirationYear.Equals(other.ExpirationYear)
+ ) &&
+ (
+ Type == other.Type ||
+ Type != null &&
+ Type.Equals(other.Type)
+ ) &&
+ (
+ SecurityCode == other.SecurityCode ||
+ SecurityCode != null &&
+ SecurityCode.Equals(other.SecurityCode)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Number != null)
+ hashCode = hashCode * 59 + Number.GetHashCode();
+ if (ExpirationMonth != null)
+ hashCode = hashCode * 59 + ExpirationMonth.GetHashCode();
+ if (ExpirationYear != null)
+ hashCode = hashCode * 59 + ExpirationYear.GetHashCode();
+ if (Type != null)
+ hashCode = hashCode * 59 + Type.GetHashCode();
+ if (SecurityCode != null)
+ hashCode = hashCode * 59 + SecurityCode.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(Card left, Card right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(Card left, Card right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Class.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Class.cs
new file mode 100644
index 00000000..b591568b
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Class.cs
@@ -0,0 +1,8 @@
+namespace IO.Swagger.Models
+{
+ public class Class
+ {
+ public int Id { get; set; }
+ public string Name { get; set; }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ClientReferenceInformation.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ClientReferenceInformation.cs
new file mode 100644
index 00000000..47bc8d18
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ClientReferenceInformation.cs
@@ -0,0 +1,121 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class ClientReferenceInformation : IEquatable
+ {
+ ///
+ /// Client-generated order reference or tracking number. CyberSource recommends that you send a unique value for each transaction so that you can perform meaningful searches for the transaction.
+ ///
+ /// Client-generated order reference or tracking number. CyberSource recommends that you send a unique value for each transaction so that you can perform meaningful searches for the transaction.
+
+ [DataMember(Name="code")]
+ public string Code { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class ClientReferenceInformation {\n");
+ sb.Append(" Code: ").Append(Code).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((ClientReferenceInformation)obj);
+ }
+
+ ///
+ /// Returns true if ClientReferenceInformation instances are equal
+ ///
+ /// Instance of ClientReferenceInformation to be compared
+ /// Boolean
+ public bool Equals(ClientReferenceInformation other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Code == other.Code ||
+ Code != null &&
+ Code.Equals(other.Code)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Code != null)
+ hashCode = hashCode * 59 + Code.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(ClientReferenceInformation left, ClientReferenceInformation right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(ClientReferenceInformation left, ClientReferenceInformation right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CollectionLinks.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CollectionLinks.cs
new file mode 100644
index 00000000..47e2f0bb
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CollectionLinks.cs
@@ -0,0 +1,150 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class CollectionLinks : IEquatable
+ {
+ ///
+ /// Gets or Sets Self
+ ///
+
+ [DataMember(Name="self")]
+ public Link Self { get; set; }
+
+ ///
+ /// Gets or Sets Next
+ ///
+
+ [DataMember(Name="next")]
+ public Link Next { get; set; }
+
+ ///
+ /// Gets or Sets Previous
+ ///
+
+ [DataMember(Name="previous")]
+ public Link Previous { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class CollectionLinks {\n");
+ sb.Append(" Self: ").Append(Self).Append("\n");
+ sb.Append(" Next: ").Append(Next).Append("\n");
+ sb.Append(" Previous: ").Append(Previous).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((CollectionLinks)obj);
+ }
+
+ ///
+ /// Returns true if CollectionLinks instances are equal
+ ///
+ /// Instance of CollectionLinks to be compared
+ /// Boolean
+ public bool Equals(CollectionLinks other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Self == other.Self ||
+ Self != null &&
+ Self.Equals(other.Self)
+ ) &&
+ (
+ Next == other.Next ||
+ Next != null &&
+ Next.Equals(other.Next)
+ ) &&
+ (
+ Previous == other.Previous ||
+ Previous != null &&
+ Previous.Equals(other.Previous)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Self != null)
+ hashCode = hashCode * 59 + Self.GetHashCode();
+ if (Next != null)
+ hashCode = hashCode * 59 + Next.GetHashCode();
+ if (Previous != null)
+ hashCode = hashCode * 59 + Previous.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(CollectionLinks left, CollectionLinks right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(CollectionLinks left, CollectionLinks right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ConsumerAuthenticationInformation.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ConsumerAuthenticationInformation.cs
new file mode 100644
index 00000000..e1e03b13
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ConsumerAuthenticationInformation.cs
@@ -0,0 +1,137 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class ConsumerAuthenticationInformation : IEquatable
+ {
+ ///
+ /// The Cardholder Authentication Verification Value (CAVV) for a Visa transaction, or Accountholder Authentication Value (AVV)/ Universal Cardholder Authentication Field indicator (UCAF) for a Mastercard transaction. The cardholder authentication process generates the CAVV, AAV, or UCAF value prior to submitting the transaction. Invalid values will result in Response Reason Code 117. This field is currently supported through Chase Paymentech, FDMS Nashville, Global Payments and TSYS.
+ ///
+ /// The Cardholder Authentication Verification Value (CAVV) for a Visa transaction, or Accountholder Authentication Value (AVV)/ Universal Cardholder Authentication Field indicator (UCAF) for a Mastercard transaction. The cardholder authentication process generates the CAVV, AAV, or UCAF value prior to submitting the transaction. Invalid values will result in Response Reason Code 117. This field is currently supported through Chase Paymentech, FDMS Nashville, Global Payments and TSYS.
+
+ [DataMember(Name="cavv")]
+ public string Cavv { get; set; }
+
+ ///
+ /// The Electronic Commerce Indicator (ECI) value for a Visa transaction, or the Universal Cardholder Authentication Field indicator (UCAF) for a Mastercard transaction. The cardholder authentication process generates the ECI or UCAF value prior to submitting the transaction. Required only for payment requests processed through 3D Secure cardholder authentication programs, such as Visa Secure or SecureCode. Invalid values will result in Response Reason Code 116. This field is currently supported through Chase Paymentech, FDMS Nashville, Global Payments and TSYS.
+ ///
+ /// The Electronic Commerce Indicator (ECI) value for a Visa transaction, or the Universal Cardholder Authentication Field indicator (UCAF) for a Mastercard transaction. The cardholder authentication process generates the ECI or UCAF value prior to submitting the transaction. Required only for payment requests processed through 3D Secure cardholder authentication programs, such as Visa Secure or SecureCode. Invalid values will result in Response Reason Code 116. This field is currently supported through Chase Paymentech, FDMS Nashville, Global Payments and TSYS.
+
+ [DataMember(Name="eciRaw")]
+ public string EciRaw { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class ConsumerAuthenticationInformation {\n");
+ sb.Append(" Cavv: ").Append(Cavv).Append("\n");
+ sb.Append(" EciRaw: ").Append(EciRaw).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((ConsumerAuthenticationInformation)obj);
+ }
+
+ ///
+ /// Returns true if ConsumerAuthenticationInformation instances are equal
+ ///
+ /// Instance of ConsumerAuthenticationInformation to be compared
+ /// Boolean
+ public bool Equals(ConsumerAuthenticationInformation other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Cavv == other.Cavv ||
+ Cavv != null &&
+ Cavv.Equals(other.Cavv)
+ ) &&
+ (
+ EciRaw == other.EciRaw ||
+ EciRaw != null &&
+ EciRaw.Equals(other.EciRaw)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Cavv != null)
+ hashCode = hashCode * 59 + Cavv.GetHashCode();
+ if (EciRaw != null)
+ hashCode = hashCode * 59 + EciRaw.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(ConsumerAuthenticationInformation left, ConsumerAuthenticationInformation right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(ConsumerAuthenticationInformation left, ConsumerAuthenticationInformation right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreateCustomer.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreateCustomer.cs
new file mode 100644
index 00000000..bcc50938
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreateCustomer.cs
@@ -0,0 +1,136 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Model for CreateCustomer
+ ///
+ [DataContract]
+ public partial class CreateCustomer : IEquatable
+ {
+ ///
+ /// Gets or Sets Description
+ ///
+
+ [DataMember(Name="description")]
+ public string Description { get; set; }
+
+ ///
+ /// Gets or Sets Identifier
+ ///
+ [Required]
+
+ [DataMember(Name="identifier")]
+ public Identifier Identifier { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class CreateCustomer {\n");
+ sb.Append(" Description: ").Append(Description).Append("\n");
+ sb.Append(" Identifier: ").Append(Identifier).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((CreateCustomer)obj);
+ }
+
+ ///
+ /// Returns true if CreateCustomer instances are equal
+ ///
+ /// Instance of CreateCustomer to be compared
+ /// Boolean
+ public bool Equals(CreateCustomer other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Description == other.Description ||
+ Description != null &&
+ Description.Equals(other.Description)
+ ) &&
+ (
+ Identifier == other.Identifier ||
+ Identifier != null &&
+ Identifier.Equals(other.Identifier)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Description != null)
+ hashCode = hashCode * 59 + Description.GetHashCode();
+ if (Identifier != null)
+ hashCode = hashCode * 59 + Identifier.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(CreateCustomer left, CreateCustomer right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(CreateCustomer left, CreateCustomer right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreateCustomerAddress.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreateCustomerAddress.cs
new file mode 100644
index 00000000..75a1a7a3
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreateCustomerAddress.cs
@@ -0,0 +1,266 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Contains the information to create a customer address object.
+ ///
+ [DataContract]
+ public partial class CreateCustomerAddress : IEquatable
+ {
+ ///
+ /// The customer's street address.
+ ///
+ /// The customer's street address.
+ [Required]
+
+ [DataMember(Name="address1")]
+ public string Address1 { get; set; }
+
+ ///
+ /// State or administrative area of the customer's address.
+ ///
+ /// State or administrative area of the customer's address.
+
+ [DataMember(Name="administrativeArea")]
+ public string AdministrativeArea { get; set; }
+
+ ///
+ /// Name of the company associated with the customer's address, if any.
+ ///
+ /// Name of the company associated with the customer's address, if any.
+
+ [DataMember(Name="company")]
+ public string Company { get; set; }
+
+ ///
+ /// Country associated with the customer's address.
+ ///
+ /// Country associated with the customer's address.
+
+ [DataMember(Name="country")]
+ public string Country { get; set; }
+
+ ///
+ /// Setting this to `true` makes this address the customer's default address.
+ ///
+ /// Setting this to `true` makes this address the customer's default address.
+
+ [DataMember(Name="default")]
+ public bool? _Default { get; set; }
+
+ ///
+ /// First name associated with the customer's address.
+ ///
+ /// First name associated with the customer's address.
+
+ [DataMember(Name="firstName")]
+ public string FirstName { get; set; }
+
+ ///
+ /// Last name associated with the customer's address.
+ ///
+ /// Last name associated with the customer's address.
+
+ [DataMember(Name="lastName")]
+ public string LastName { get; set; }
+
+ ///
+ /// City or town name associated with the customer's address.
+ ///
+ /// City or town name associated with the customer's address.
+
+ [DataMember(Name="locality")]
+ public string Locality { get; set; }
+
+ ///
+ /// Phone number associated with the customer's address.
+ ///
+ /// Phone number associated with the customer's address.
+
+ [DataMember(Name="phoneNumber")]
+ public string PhoneNumber { get; set; }
+
+ ///
+ /// ZIP or postal code of the customer's address.
+ ///
+ /// ZIP or postal code of the customer's address.
+
+ [DataMember(Name="postalCode")]
+ public string PostalCode { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class CreateCustomerAddress {\n");
+ sb.Append(" Address1: ").Append(Address1).Append("\n");
+ sb.Append(" AdministrativeArea: ").Append(AdministrativeArea).Append("\n");
+ sb.Append(" Company: ").Append(Company).Append("\n");
+ sb.Append(" Country: ").Append(Country).Append("\n");
+ sb.Append(" _Default: ").Append(_Default).Append("\n");
+ sb.Append(" FirstName: ").Append(FirstName).Append("\n");
+ sb.Append(" LastName: ").Append(LastName).Append("\n");
+ sb.Append(" Locality: ").Append(Locality).Append("\n");
+ sb.Append(" PhoneNumber: ").Append(PhoneNumber).Append("\n");
+ sb.Append(" PostalCode: ").Append(PostalCode).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((CreateCustomerAddress)obj);
+ }
+
+ ///
+ /// Returns true if CreateCustomerAddress instances are equal
+ ///
+ /// Instance of CreateCustomerAddress to be compared
+ /// Boolean
+ public bool Equals(CreateCustomerAddress other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Address1 == other.Address1 ||
+ Address1 != null &&
+ Address1.Equals(other.Address1)
+ ) &&
+ (
+ AdministrativeArea == other.AdministrativeArea ||
+ AdministrativeArea != null &&
+ AdministrativeArea.Equals(other.AdministrativeArea)
+ ) &&
+ (
+ Company == other.Company ||
+ Company != null &&
+ Company.Equals(other.Company)
+ ) &&
+ (
+ Country == other.Country ||
+ Country != null &&
+ Country.Equals(other.Country)
+ ) &&
+ (
+ _Default == other._Default ||
+ _Default != null &&
+ _Default.Equals(other._Default)
+ ) &&
+ (
+ FirstName == other.FirstName ||
+ FirstName != null &&
+ FirstName.Equals(other.FirstName)
+ ) &&
+ (
+ LastName == other.LastName ||
+ LastName != null &&
+ LastName.Equals(other.LastName)
+ ) &&
+ (
+ Locality == other.Locality ||
+ Locality != null &&
+ Locality.Equals(other.Locality)
+ ) &&
+ (
+ PhoneNumber == other.PhoneNumber ||
+ PhoneNumber != null &&
+ PhoneNumber.Equals(other.PhoneNumber)
+ ) &&
+ (
+ PostalCode == other.PostalCode ||
+ PostalCode != null &&
+ PostalCode.Equals(other.PostalCode)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Address1 != null)
+ hashCode = hashCode * 59 + Address1.GetHashCode();
+ if (AdministrativeArea != null)
+ hashCode = hashCode * 59 + AdministrativeArea.GetHashCode();
+ if (Company != null)
+ hashCode = hashCode * 59 + Company.GetHashCode();
+ if (Country != null)
+ hashCode = hashCode * 59 + Country.GetHashCode();
+ if (_Default != null)
+ hashCode = hashCode * 59 + _Default.GetHashCode();
+ if (FirstName != null)
+ hashCode = hashCode * 59 + FirstName.GetHashCode();
+ if (LastName != null)
+ hashCode = hashCode * 59 + LastName.GetHashCode();
+ if (Locality != null)
+ hashCode = hashCode * 59 + Locality.GetHashCode();
+ if (PhoneNumber != null)
+ hashCode = hashCode * 59 + PhoneNumber.GetHashCode();
+ if (PostalCode != null)
+ hashCode = hashCode * 59 + PostalCode.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(CreateCustomerAddress left, CreateCustomerAddress right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(CreateCustomerAddress left, CreateCustomerAddress right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreateCustomerAddressNEW.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreateCustomerAddressNEW.cs
new file mode 100644
index 00000000..248614bb
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreateCustomerAddressNEW.cs
@@ -0,0 +1,254 @@
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ public class CreateCustomerAddressNEW
+ {
+ ///
+ /// The customer's street address.
+ ///
+ /// The customer's street address.
+ [Required]
+
+ [DataMember(Name = "address1")]
+ public string Address1 { get; set; }
+
+ ///
+ /// State or administrative area of the customer's address.
+ ///
+ /// State or administrative area of the customer's address.
+
+ [DataMember(Name = "administrativeArea")]
+ public string AdministrativeArea { get; set; }
+
+ ///
+ /// Name of the company associated with the customer's address, if any.
+ ///
+ /// Name of the company associated with the customer's address, if any.
+
+ [DataMember(Name = "company")]
+ public string Company { get; set; }
+
+ ///
+ /// Country associated with the customer's address.
+ ///
+ /// Country associated with the customer's address.
+
+ [DataMember(Name = "country")]
+ public string Country { get; set; }
+
+ ///
+ /// Setting this to `true` makes this address the customer's default address.
+ ///
+ /// Setting this to `true` makes this address the customer's default address.
+
+ [DataMember(Name = "default")]
+ public bool? _Default { get; set; }
+
+ ///
+ /// First name associated with the customer's address.
+ ///
+ /// First name associated with the customer's address.
+
+ [DataMember(Name = "firstName")]
+ public string FirstName { get; set; }
+
+ ///
+ /// Last name associated with the customer's address.
+ ///
+ /// Last name associated with the customer's address.
+
+ [DataMember(Name = "lastName")]
+ public string LastName { get; set; }
+
+ ///
+ /// City or town name associated with the customer's address.
+ ///
+ /// City or town name associated with the customer's address.
+
+ [DataMember(Name = "locality")]
+ public string Locality { get; set; }
+
+ ///
+ /// Phone number associated with the customer's address.
+ ///
+ /// Phone number associated with the customer's address.
+
+ [DataMember(Name = "phoneNumber")]
+ public string PhoneNumber { get; set; }
+
+ ///
+ /// ZIP or postal code of the customer's address.
+ ///
+ /// ZIP or postal code of the customer's address.
+
+ [DataMember(Name = "postalCode")]
+ public string PostalCode { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class CreateCustomerAddress {\n");
+ sb.Append(" Address1: ").Append(Address1).Append("\n");
+ sb.Append(" AdministrativeArea: ").Append(AdministrativeArea).Append("\n");
+ sb.Append(" Company: ").Append(Company).Append("\n");
+ sb.Append(" Country: ").Append(Country).Append("\n");
+ sb.Append(" _Default: ").Append(_Default).Append("\n");
+ sb.Append(" FirstName: ").Append(FirstName).Append("\n");
+ sb.Append(" LastName: ").Append(LastName).Append("\n");
+ sb.Append(" Locality: ").Append(Locality).Append("\n");
+ sb.Append(" PhoneNumber: ").Append(PhoneNumber).Append("\n");
+ sb.Append(" PostalCode: ").Append(PostalCode).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((CreateCustomerAddress)obj);
+ }
+
+ ///
+ /// Returns true if CreateCustomerAddress instances are equal
+ ///
+ /// Instance of CreateCustomerAddress to be compared
+ /// Boolean
+ public bool Equals(CreateCustomerAddress other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Address1 == other.Address1 ||
+ Address1 != null &&
+ Address1.Equals(other.Address1)
+ ) &&
+ (
+ AdministrativeArea == other.AdministrativeArea ||
+ AdministrativeArea != null &&
+ AdministrativeArea.Equals(other.AdministrativeArea)
+ ) &&
+ (
+ Company == other.Company ||
+ Company != null &&
+ Company.Equals(other.Company)
+ ) &&
+ (
+ Country == other.Country ||
+ Country != null &&
+ Country.Equals(other.Country)
+ ) &&
+ (
+ _Default == other._Default ||
+ _Default != null &&
+ _Default.Equals(other._Default)
+ ) &&
+ (
+ FirstName == other.FirstName ||
+ FirstName != null &&
+ FirstName.Equals(other.FirstName)
+ ) &&
+ (
+ LastName == other.LastName ||
+ LastName != null &&
+ LastName.Equals(other.LastName)
+ ) &&
+ (
+ Locality == other.Locality ||
+ Locality != null &&
+ Locality.Equals(other.Locality)
+ ) &&
+ (
+ PhoneNumber == other.PhoneNumber ||
+ PhoneNumber != null &&
+ PhoneNumber.Equals(other.PhoneNumber)
+ ) &&
+ (
+ PostalCode == other.PostalCode ||
+ PostalCode != null &&
+ PostalCode.Equals(other.PostalCode)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Address1 != null)
+ hashCode = hashCode * 59 + Address1.GetHashCode();
+ if (AdministrativeArea != null)
+ hashCode = hashCode * 59 + AdministrativeArea.GetHashCode();
+ if (Company != null)
+ hashCode = hashCode * 59 + Company.GetHashCode();
+ if (Country != null)
+ hashCode = hashCode * 59 + Country.GetHashCode();
+ if (_Default != null)
+ hashCode = hashCode * 59 + _Default.GetHashCode();
+ if (FirstName != null)
+ hashCode = hashCode * 59 + FirstName.GetHashCode();
+ if (LastName != null)
+ hashCode = hashCode * 59 + LastName.GetHashCode();
+ if (Locality != null)
+ hashCode = hashCode * 59 + Locality.GetHashCode();
+ if (PhoneNumber != null)
+ hashCode = hashCode * 59 + PhoneNumber.GetHashCode();
+ if (PostalCode != null)
+ hashCode = hashCode * 59 + PostalCode.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+#pragma warning disable 1591
+
+ public static bool operator ==(CreateCustomerAddressNEW left, CreateCustomerAddress right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(CreateCustomerAddressNEW left, CreateCustomerAddress right)
+ {
+ return !Equals(left, right);
+ }
+
+#pragma warning restore 1591
+ #endregion Operators
+ }
+}
+
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreateCustomerAndPaymentMethod.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreateCustomerAndPaymentMethod.cs
new file mode 100644
index 00000000..b77b658b
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreateCustomerAndPaymentMethod.cs
@@ -0,0 +1,152 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Contains the information to create a profile and an associated payment method.
+ ///
+ [DataContract]
+ public partial class CreateCustomerAndPaymentMethod : IEquatable
+ {
+ ///
+ /// Description of the customer or customer profile. Required only when no values for `merchantCustomerId` and `email` are submitted. 255-character maximum.
+ ///
+ /// Description of the customer or customer profile. Required only when no values for `merchantCustomerId` and `email` are submitted. 255-character maximum.
+
+ [DataMember(Name="description")]
+ public string Description { get; set; }
+
+ ///
+ /// Gets or Sets Identifier
+ ///
+ [Required]
+
+ [DataMember(Name="identifier")]
+ public Identifier Identifier { get; set; }
+
+ ///
+ /// Gets or Sets PaymentMethod
+ ///
+
+ [DataMember(Name="paymentMethod")]
+ public CreatePaymentMethod PaymentMethod { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class CreateCustomerAndPaymentMethod {\n");
+ sb.Append(" Description: ").Append(Description).Append("\n");
+ sb.Append(" Identifier: ").Append(Identifier).Append("\n");
+ sb.Append(" PaymentMethod: ").Append(PaymentMethod).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((CreateCustomerAndPaymentMethod)obj);
+ }
+
+ ///
+ /// Returns true if CreateCustomerAndPaymentMethod instances are equal
+ ///
+ /// Instance of CreateCustomerAndPaymentMethod to be compared
+ /// Boolean
+ public bool Equals(CreateCustomerAndPaymentMethod other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Description == other.Description ||
+ Description != null &&
+ Description.Equals(other.Description)
+ ) &&
+ (
+ Identifier == other.Identifier ||
+ Identifier != null &&
+ Identifier.Equals(other.Identifier)
+ ) &&
+ (
+ PaymentMethod == other.PaymentMethod ||
+ PaymentMethod != null &&
+ PaymentMethod.Equals(other.PaymentMethod)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Description != null)
+ hashCode = hashCode * 59 + Description.GetHashCode();
+ if (Identifier != null)
+ hashCode = hashCode * 59 + Identifier.GetHashCode();
+ if (PaymentMethod != null)
+ hashCode = hashCode * 59 + PaymentMethod.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(CreateCustomerAndPaymentMethod left, CreateCustomerAndPaymentMethod right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(CreateCustomerAndPaymentMethod left, CreateCustomerAndPaymentMethod right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreatePaymentMethod.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreatePaymentMethod.cs
new file mode 100644
index 00000000..0ed0224f
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreatePaymentMethod.cs
@@ -0,0 +1,167 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Contains information about a customer's payment method.
+ ///
+ [DataContract]
+ public partial class CreatePaymentMethod : IEquatable
+ {
+ ///
+ /// Unique identifier of the address associated with the payment method.
+ ///
+ /// Unique identifier of the address associated with the payment method.
+
+ [DataMember(Name="addressId")]
+ public string AddressId { get; set; }
+
+ ///
+ /// Gets or Sets BillTo
+ ///
+
+ [DataMember(Name="billTo")]
+ public BaseAddress BillTo { get; set; }
+
+ ///
+ /// Setting this to `true` sets this payment method as the default for this customer profile.
+ ///
+ /// Setting this to `true` sets this payment method as the default for this customer profile.
+
+ [DataMember(Name="default")]
+ public bool? _Default { get; set; }
+
+ ///
+ /// Gets or Sets PaymentInformation
+ ///
+
+ [DataMember(Name="paymentInformation")]
+ public PaymentInformation PaymentInformation { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class CreatePaymentMethod {\n");
+ sb.Append(" AddressId: ").Append(AddressId).Append("\n");
+ sb.Append(" BillTo: ").Append(BillTo).Append("\n");
+ sb.Append(" _Default: ").Append(_Default).Append("\n");
+ sb.Append(" PaymentInformation: ").Append(PaymentInformation).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((CreatePaymentMethod)obj);
+ }
+
+ ///
+ /// Returns true if CreatePaymentMethod instances are equal
+ ///
+ /// Instance of CreatePaymentMethod to be compared
+ /// Boolean
+ public bool Equals(CreatePaymentMethod other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ AddressId == other.AddressId ||
+ AddressId != null &&
+ AddressId.Equals(other.AddressId)
+ ) &&
+ (
+ BillTo == other.BillTo ||
+ BillTo != null &&
+ BillTo.Equals(other.BillTo)
+ ) &&
+ (
+ _Default == other._Default ||
+ _Default != null &&
+ _Default.Equals(other._Default)
+ ) &&
+ (
+ PaymentInformation == other.PaymentInformation ||
+ PaymentInformation != null &&
+ PaymentInformation.Equals(other.PaymentInformation)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (AddressId != null)
+ hashCode = hashCode * 59 + AddressId.GetHashCode();
+ if (BillTo != null)
+ hashCode = hashCode * 59 + BillTo.GetHashCode();
+ if (_Default != null)
+ hashCode = hashCode * 59 + _Default.GetHashCode();
+ if (PaymentInformation != null)
+ hashCode = hashCode * 59 + PaymentInformation.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(CreatePaymentMethod left, CreatePaymentMethod right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(CreatePaymentMethod left, CreatePaymentMethod right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreateWebhookBody.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreateWebhookBody.cs
new file mode 100644
index 00000000..c5933dbc
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreateWebhookBody.cs
@@ -0,0 +1,169 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Model for Create Webhook
+ ///
+ [DataContract]
+ public partial class CreateWebhookBody : IEquatable
+ {
+ ///
+ /// Contains details for the creation or update of a webhook.
+ ///
+ /// Contains details for the creation or update of a webhook.
+
+ [DataMember(Name="name")]
+ public string Name { get; set; }
+
+ ///
+ /// Callback URL for the webhook.
+ ///
+ /// Callback URL for the webhook.
+
+ [DataMember(Name="url")]
+ public string Url { get; set; }
+
+ ///
+ /// List of events that will trigger notifications for this webhook. For a complete list of event types, see the [Webhooks API Documentation](https://developer.authorize.net/api/reference/features/webhooks.html#Event_Types_and_Payloads) page.
+ ///
+ /// List of events that will trigger notifications for this webhook. For a complete list of event types, see the [Webhooks API Documentation](https://developer.authorize.net/api/reference/features/webhooks.html#Event_Types_and_Payloads) page.
+
+ [DataMember(Name="eventTypes")]
+ public List EventTypes { get; set; }
+
+ ///
+ /// New status of the Webhook.
+ ///
+ /// New status of the Webhook.
+
+ [DataMember(Name="status")]
+ public string Status { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class CreateWebhookBody {\n");
+ sb.Append(" Name: ").Append(Name).Append("\n");
+ sb.Append(" Url: ").Append(Url).Append("\n");
+ sb.Append(" EventTypes: ").Append(EventTypes).Append("\n");
+ sb.Append(" Status: ").Append(Status).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((CreateWebhookBody)obj);
+ }
+
+ ///
+ /// Returns true if CreateWebhookBody instances are equal
+ ///
+ /// Instance of CreateWebhookBody to be compared
+ /// Boolean
+ public bool Equals(CreateWebhookBody other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Name == other.Name ||
+ Name != null &&
+ Name.Equals(other.Name)
+ ) &&
+ (
+ Url == other.Url ||
+ Url != null &&
+ Url.Equals(other.Url)
+ ) &&
+ (
+ EventTypes == other.EventTypes ||
+ EventTypes != null &&
+ EventTypes.SequenceEqual(other.EventTypes)
+ ) &&
+ (
+ Status == other.Status ||
+ Status != null &&
+ Status.Equals(other.Status)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Name != null)
+ hashCode = hashCode * 59 + Name.GetHashCode();
+ if (Url != null)
+ hashCode = hashCode * 59 + Url.GetHashCode();
+ if (EventTypes != null)
+ hashCode = hashCode * 59 + EventTypes.GetHashCode();
+ if (Status != null)
+ hashCode = hashCode * 59 + Status.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(CreateWebhookBody left, CreateWebhookBody right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(CreateWebhookBody left, CreateWebhookBody right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreditRequest.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreditRequest.cs
new file mode 100644
index 00000000..10bf7f8d
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CreditRequest.cs
@@ -0,0 +1,180 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Model for CaptureRequest
+ ///
+ [DataContract]
+ public partial class CreditRequest : IEquatable
+ {
+ ///
+ /// Gets or Sets PaymentInformation
+ ///
+
+ [DataMember(Name="paymentInformation")]
+ public PaymentInformation PaymentInformation { get; set; }
+
+ ///
+ /// Gets or Sets OrderInformation
+ ///
+
+ [DataMember(Name="orderInformation")]
+ public OrderInformation OrderInformation { get; set; }
+
+ ///
+ /// Gets or Sets BuyerInformation
+ ///
+
+ [DataMember(Name="buyerInformation")]
+ public BuyerInformation BuyerInformation { get; set; }
+
+ ///
+ /// Gets or Sets DeviceInformation
+ ///
+
+ [DataMember(Name="deviceInformation")]
+ public DeviceInformation DeviceInformation { get; set; }
+
+ ///
+ /// Gets or Sets PointOfSaleInformation
+ ///
+
+ [DataMember(Name="pointOfSaleInformation")]
+ public PointOfSaleInformation PointOfSaleInformation { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class CreditRequest {\n");
+ sb.Append(" PaymentInformation: ").Append(PaymentInformation).Append("\n");
+ sb.Append(" OrderInformation: ").Append(OrderInformation).Append("\n");
+ sb.Append(" BuyerInformation: ").Append(BuyerInformation).Append("\n");
+ sb.Append(" DeviceInformation: ").Append(DeviceInformation).Append("\n");
+ sb.Append(" PointOfSaleInformation: ").Append(PointOfSaleInformation).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((CreditRequest)obj);
+ }
+
+ ///
+ /// Returns true if CreditRequest instances are equal
+ ///
+ /// Instance of CreditRequest to be compared
+ /// Boolean
+ public bool Equals(CreditRequest other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ PaymentInformation == other.PaymentInformation ||
+ PaymentInformation != null &&
+ PaymentInformation.Equals(other.PaymentInformation)
+ ) &&
+ (
+ OrderInformation == other.OrderInformation ||
+ OrderInformation != null &&
+ OrderInformation.Equals(other.OrderInformation)
+ ) &&
+ (
+ BuyerInformation == other.BuyerInformation ||
+ BuyerInformation != null &&
+ BuyerInformation.Equals(other.BuyerInformation)
+ ) &&
+ (
+ DeviceInformation == other.DeviceInformation ||
+ DeviceInformation != null &&
+ DeviceInformation.Equals(other.DeviceInformation)
+ ) &&
+ (
+ PointOfSaleInformation == other.PointOfSaleInformation ||
+ PointOfSaleInformation != null &&
+ PointOfSaleInformation.Equals(other.PointOfSaleInformation)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (PaymentInformation != null)
+ hashCode = hashCode * 59 + PaymentInformation.GetHashCode();
+ if (OrderInformation != null)
+ hashCode = hashCode * 59 + OrderInformation.GetHashCode();
+ if (BuyerInformation != null)
+ hashCode = hashCode * 59 + BuyerInformation.GetHashCode();
+ if (DeviceInformation != null)
+ hashCode = hashCode * 59 + DeviceInformation.GetHashCode();
+ if (PointOfSaleInformation != null)
+ hashCode = hashCode * 59 + PointOfSaleInformation.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(CreditRequest left, CreditRequest right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(CreditRequest left, CreditRequest right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Customer.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Customer.cs
new file mode 100644
index 00000000..6518faa8
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Customer.cs
@@ -0,0 +1,167 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Response information returned after the creation of a customer profile.
+ ///
+ [DataContract]
+ public partial class Customer : IEquatable
+ {
+ ///
+ /// Unique identifier of the customer profile.
+ ///
+ /// Unique identifier of the customer profile.
+
+ [DataMember(Name="id")]
+ public string Id { get; set; }
+
+ ///
+ /// Description of the customer.
+ ///
+ /// Description of the customer.
+
+ [DataMember(Name="description")]
+ public string Description { get; set; }
+
+ ///
+ /// Gets or Sets Identifier
+ ///
+
+ [DataMember(Name="identifier")]
+ public Identifier Identifier { get; set; }
+
+ ///
+ /// Gets or Sets Links
+ ///
+
+ [DataMember(Name="_links")]
+ public CustomerLinks Links { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class Customer {\n");
+ sb.Append(" Id: ").Append(Id).Append("\n");
+ sb.Append(" Description: ").Append(Description).Append("\n");
+ sb.Append(" Identifier: ").Append(Identifier).Append("\n");
+ sb.Append(" Links: ").Append(Links).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((Customer)obj);
+ }
+
+ ///
+ /// Returns true if Customer instances are equal
+ ///
+ /// Instance of Customer to be compared
+ /// Boolean
+ public bool Equals(Customer other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Id == other.Id ||
+ Id != null &&
+ Id.Equals(other.Id)
+ ) &&
+ (
+ Description == other.Description ||
+ Description != null &&
+ Description.Equals(other.Description)
+ ) &&
+ (
+ Identifier == other.Identifier ||
+ Identifier != null &&
+ Identifier.Equals(other.Identifier)
+ ) &&
+ (
+ Links == other.Links ||
+ Links != null &&
+ Links.Equals(other.Links)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Id != null)
+ hashCode = hashCode * 59 + Id.GetHashCode();
+ if (Description != null)
+ hashCode = hashCode * 59 + Description.GetHashCode();
+ if (Identifier != null)
+ hashCode = hashCode * 59 + Identifier.GetHashCode();
+ if (Links != null)
+ hashCode = hashCode * 59 + Links.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(Customer left, Customer right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(Customer left, Customer right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CustomerCollection.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CustomerCollection.cs
new file mode 100644
index 00000000..6341383e
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CustomerCollection.cs
@@ -0,0 +1,151 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class CustomerCollection : IEquatable
+ {
+ ///
+ /// Gets or Sets Links
+ ///
+
+ [DataMember(Name="_links")]
+ public CollectionLinks Links { get; set; }
+
+ ///
+ /// Gets or Sets Embedded
+ ///
+
+ [DataMember(Name="_embedded")]
+ public CustomerList Embedded { get; set; }
+
+ ///
+ /// Total number of customer profiles associated with tje Authorize.Net account that submitted the request.
+ ///
+ /// Total number of customer profiles associated with tje Authorize.Net account that submitted the request.
+
+ [DataMember(Name="totalCustomers")]
+ public int? TotalCustomers { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class CustomerCollection {\n");
+ sb.Append(" Links: ").Append(Links).Append("\n");
+ sb.Append(" Embedded: ").Append(Embedded).Append("\n");
+ sb.Append(" TotalCustomers: ").Append(TotalCustomers).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((CustomerCollection)obj);
+ }
+
+ ///
+ /// Returns true if CustomerCollection instances are equal
+ ///
+ /// Instance of CustomerCollection to be compared
+ /// Boolean
+ public bool Equals(CustomerCollection other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Links == other.Links ||
+ Links != null &&
+ Links.Equals(other.Links)
+ ) &&
+ (
+ Embedded == other.Embedded ||
+ Embedded != null &&
+ Embedded.Equals(other.Embedded)
+ ) &&
+ (
+ TotalCustomers == other.TotalCustomers ||
+ TotalCustomers != null &&
+ TotalCustomers.Equals(other.TotalCustomers)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Links != null)
+ hashCode = hashCode * 59 + Links.GetHashCode();
+ if (Embedded != null)
+ hashCode = hashCode * 59 + Embedded.GetHashCode();
+ if (TotalCustomers != null)
+ hashCode = hashCode * 59 + TotalCustomers.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(CustomerCollection left, CustomerCollection right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(CustomerCollection left, CustomerCollection right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CustomerLinks.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CustomerLinks.cs
new file mode 100644
index 00000000..39ad4edc
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CustomerLinks.cs
@@ -0,0 +1,150 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class CustomerLinks : IEquatable
+ {
+ ///
+ /// Gets or Sets Self
+ ///
+
+ [DataMember(Name="self")]
+ public Link Self { get; set; }
+
+ ///
+ /// Gets or Sets PaymentMethods
+ ///
+
+ [DataMember(Name="paymentMethods")]
+ public Link PaymentMethods { get; set; }
+
+ ///
+ /// Gets or Sets Addresses
+ ///
+
+ [DataMember(Name="addresses")]
+ public Link Addresses { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class CustomerLinks {\n");
+ sb.Append(" Self: ").Append(Self).Append("\n");
+ sb.Append(" PaymentMethods: ").Append(PaymentMethods).Append("\n");
+ sb.Append(" Addresses: ").Append(Addresses).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((CustomerLinks)obj);
+ }
+
+ ///
+ /// Returns true if CustomerLinks instances are equal
+ ///
+ /// Instance of CustomerLinks to be compared
+ /// Boolean
+ public bool Equals(CustomerLinks other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Self == other.Self ||
+ Self != null &&
+ Self.Equals(other.Self)
+ ) &&
+ (
+ PaymentMethods == other.PaymentMethods ||
+ PaymentMethods != null &&
+ PaymentMethods.Equals(other.PaymentMethods)
+ ) &&
+ (
+ Addresses == other.Addresses ||
+ Addresses != null &&
+ Addresses.Equals(other.Addresses)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Self != null)
+ hashCode = hashCode * 59 + Self.GetHashCode();
+ if (PaymentMethods != null)
+ hashCode = hashCode * 59 + PaymentMethods.GetHashCode();
+ if (Addresses != null)
+ hashCode = hashCode * 59 + Addresses.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(CustomerLinks left, CustomerLinks right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(CustomerLinks left, CustomerLinks right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CustomerList.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CustomerList.cs
new file mode 100644
index 00000000..8973c75e
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CustomerList.cs
@@ -0,0 +1,120 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class CustomerList : IEquatable
+ {
+ ///
+ /// Gets or Sets Customers
+ ///
+
+ [DataMember(Name="customers")]
+ public List Customers { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class CustomerList {\n");
+ sb.Append(" Customers: ").Append(Customers).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((CustomerList)obj);
+ }
+
+ ///
+ /// Returns true if CustomerList instances are equal
+ ///
+ /// Instance of CustomerList to be compared
+ /// Boolean
+ public bool Equals(CustomerList other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Customers == other.Customers ||
+ Customers != null &&
+ Customers.SequenceEqual(other.Customers)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Customers != null)
+ hashCode = hashCode * 59 + Customers.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(CustomerList left, CustomerList right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(CustomerList left, CustomerList right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CustomerPayment.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CustomerPayment.cs
new file mode 100644
index 00000000..cba079a7
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/CustomerPayment.cs
@@ -0,0 +1,138 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class CustomerPayment : IEquatable
+ {
+ ///
+ /// The ID of the customer profile. Required if you are using a customer profile as the source for payment or shipping information. <br /><br /> 20-character maximum.
+ ///
+ /// The ID of the customer profile. Required if you are using a customer profile as the source for payment or shipping information. <br /><br /> 20-character maximum.
+ [Required]
+
+ [DataMember(Name="customerId")]
+ public string CustomerId { get; set; }
+
+ ///
+ /// The payment profile ID of the customer profile. Designates the payment profile to use for payment and billing information.
+ ///
+ /// The payment profile ID of the customer profile. Designates the payment profile to use for payment and billing information.
+
+ [DataMember(Name="paymentMethodId")]
+ public string PaymentMethodId { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class CustomerPayment {\n");
+ sb.Append(" CustomerId: ").Append(CustomerId).Append("\n");
+ sb.Append(" PaymentMethodId: ").Append(PaymentMethodId).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((CustomerPayment)obj);
+ }
+
+ ///
+ /// Returns true if CustomerPayment instances are equal
+ ///
+ /// Instance of CustomerPayment to be compared
+ /// Boolean
+ public bool Equals(CustomerPayment other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ CustomerId == other.CustomerId ||
+ CustomerId != null &&
+ CustomerId.Equals(other.CustomerId)
+ ) &&
+ (
+ PaymentMethodId == other.PaymentMethodId ||
+ PaymentMethodId != null &&
+ PaymentMethodId.Equals(other.PaymentMethodId)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (CustomerId != null)
+ hashCode = hashCode * 59 + CustomerId.GetHashCode();
+ if (PaymentMethodId != null)
+ hashCode = hashCode * 59 + PaymentMethodId.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(CustomerPayment left, CustomerPayment right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(CustomerPayment left, CustomerPayment right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/DeviceInformation.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/DeviceInformation.cs
new file mode 100644
index 00000000..4a951e03
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/DeviceInformation.cs
@@ -0,0 +1,121 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class DeviceInformation : IEquatable
+ {
+ ///
+ /// IP address of customer initiating the transaction. If this value is not passed, it will default to 255.255.255.255. Required only when the merchant is using customer IP based AFDS filters. Up to 15 characters (no letters).
+ ///
+ /// IP address of customer initiating the transaction. If this value is not passed, it will default to 255.255.255.255. Required only when the merchant is using customer IP based AFDS filters. Up to 15 characters (no letters).
+
+ [DataMember(Name="ipAddress")]
+ public string IpAddress { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class DeviceInformation {\n");
+ sb.Append(" IpAddress: ").Append(IpAddress).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((DeviceInformation)obj);
+ }
+
+ ///
+ /// Returns true if DeviceInformation instances are equal
+ ///
+ /// Instance of DeviceInformation to be compared
+ /// Boolean
+ public bool Equals(DeviceInformation other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ IpAddress == other.IpAddress ||
+ IpAddress != null &&
+ IpAddress.Equals(other.IpAddress)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (IpAddress != null)
+ hashCode = hashCode * 59 + IpAddress.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(DeviceInformation left, DeviceInformation right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(DeviceInformation left, DeviceInformation right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ErrorDetails.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ErrorDetails.cs
new file mode 100644
index 00000000..dea53dd8
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ErrorDetails.cs
@@ -0,0 +1,137 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Error details object.
+ ///
+ [DataContract]
+ public partial class ErrorDetails : IEquatable
+ {
+ ///
+ /// Describes the error condition.
+ ///
+ /// Describes the error condition.
+
+ [DataMember(Name="message")]
+ public string Message { get; set; }
+
+ ///
+ /// Indicates the name of a parameter.
+ ///
+ /// Indicates the name of a parameter.
+
+ [DataMember(Name="location")]
+ public string Location { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class ErrorDetails {\n");
+ sb.Append(" Message: ").Append(Message).Append("\n");
+ sb.Append(" Location: ").Append(Location).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((ErrorDetails)obj);
+ }
+
+ ///
+ /// Returns true if ErrorDetails instances are equal
+ ///
+ /// Instance of ErrorDetails to be compared
+ /// Boolean
+ public bool Equals(ErrorDetails other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Message == other.Message ||
+ Message != null &&
+ Message.Equals(other.Message)
+ ) &&
+ (
+ Location == other.Location ||
+ Location != null &&
+ Location.Equals(other.Location)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Message != null)
+ hashCode = hashCode * 59 + Message.GetHashCode();
+ if (Location != null)
+ hashCode = hashCode * 59 + Location.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(ErrorDetails left, ErrorDetails right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(ErrorDetails left, ErrorDetails right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ErrorResponse.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ErrorResponse.cs
new file mode 100644
index 00000000..5dbc64b4
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ErrorResponse.cs
@@ -0,0 +1,185 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Model for Error Response
+ ///
+ [DataContract]
+ public partial class ErrorResponse : IEquatable
+ {
+ ///
+ /// Describes the error condition.
+ ///
+ /// Describes the error condition.
+ [Required]
+
+ [DataMember(Name="message")]
+ public string Message { get; set; }
+
+ ///
+ /// This is an enum field that describes the business errors returned by the server. The client can use this field to interpret errors returned by the server.
+ ///
+ /// This is an enum field that describes the business errors returned by the server. The client can use this field to interpret errors returned by the server.
+ [Required]
+
+ [DataMember(Name="reason")]
+ public string Reason { get; set; }
+
+ ///
+ /// Contains a URL link to general online documentation for this error.
+ ///
+ /// Contains a URL link to general online documentation for this error.
+
+ [DataMember(Name="informationLink")]
+ public string InformationLink { get; set; }
+
+ ///
+ /// Gets or Sets CorrelationId
+ ///
+
+ [DataMember(Name="correlationId")]
+ public Guid? CorrelationId { get; set; }
+
+ ///
+ /// Gets or Sets Details
+ ///
+
+ [DataMember(Name="details")]
+ public List Details { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class ErrorResponse {\n");
+ sb.Append(" Message: ").Append(Message).Append("\n");
+ sb.Append(" Reason: ").Append(Reason).Append("\n");
+ sb.Append(" InformationLink: ").Append(InformationLink).Append("\n");
+ sb.Append(" CorrelationId: ").Append(CorrelationId).Append("\n");
+ sb.Append(" Details: ").Append(Details).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((ErrorResponse)obj);
+ }
+
+ ///
+ /// Returns true if ErrorResponse instances are equal
+ ///
+ /// Instance of ErrorResponse to be compared
+ /// Boolean
+ public bool Equals(ErrorResponse other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Message == other.Message ||
+ Message != null &&
+ Message.Equals(other.Message)
+ ) &&
+ (
+ Reason == other.Reason ||
+ Reason != null &&
+ Reason.Equals(other.Reason)
+ ) &&
+ (
+ InformationLink == other.InformationLink ||
+ InformationLink != null &&
+ InformationLink.Equals(other.InformationLink)
+ ) &&
+ (
+ CorrelationId == other.CorrelationId ||
+ CorrelationId != null &&
+ CorrelationId.Equals(other.CorrelationId)
+ ) &&
+ (
+ Details == other.Details ||
+ Details != null &&
+ Details.SequenceEqual(other.Details)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Message != null)
+ hashCode = hashCode * 59 + Message.GetHashCode();
+ if (Reason != null)
+ hashCode = hashCode * 59 + Reason.GetHashCode();
+ if (InformationLink != null)
+ hashCode = hashCode * 59 + InformationLink.GetHashCode();
+ if (CorrelationId != null)
+ hashCode = hashCode * 59 + CorrelationId.GetHashCode();
+ if (Details != null)
+ hashCode = hashCode * 59 + Details.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(ErrorResponse left, ErrorResponse right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(ErrorResponse left, ErrorResponse right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/EventType.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/EventType.cs
new file mode 100644
index 00000000..ee3dc09c
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/EventType.cs
@@ -0,0 +1,120 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Name of the event type. For a complete list of event types, see the [Webhooks API Documentation](https://developer.authorize.net/api/reference/features/webhooks.html#Event_Types_and_Payloads) page.
+ ///
+ [DataContract]
+ public partial class EventType : IEquatable
+ {
+ ///
+ /// Gets or Sets Name
+ ///
+
+ [DataMember(Name="name")]
+ public string Name { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class EventType {\n");
+ sb.Append(" Name: ").Append(Name).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((EventType)obj);
+ }
+
+ ///
+ /// Returns true if EventType instances are equal
+ ///
+ /// Instance of EventType to be compared
+ /// Boolean
+ public bool Equals(EventType other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Name == other.Name ||
+ Name != null &&
+ Name.Equals(other.Name)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Name != null)
+ hashCode = hashCode * 59 + Name.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(EventType left, EventType right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(EventType left, EventType right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Example.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Example.cs
new file mode 100644
index 00000000..fe870bc8
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Example.cs
@@ -0,0 +1,249 @@
+using Newtonsoft.Json;
+using System.IO;
+using System.Net.Http;
+using System.Text;
+using System.Threading.Tasks;
+using System.Xml.Serialization;
+using System.Xml;
+using System;
+using Newtonsoft.Json.Linq;
+using System.Buffers.Text;
+using System.Collections.Generic;
+using System.Security.Policy;
+using System.Net.Http.Headers;
+using Microsoft.AspNetCore.Mvc;
+
+namespace IO.Swagger.Models
+{
+ public class Example
+ {
+
+ public string ConvertToSoapXml(CreateCustomerAddress address)
+ {
+ var xmlSerializer = new XmlSerializer(typeof(CreateCustomerAddress));
+ using (var stringWriter = new StringWriter())
+ using (var xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings { OmitXmlDeclaration = true }))
+ {
+ var ns = new XmlSerializerNamespaces();
+ ns.Add("cus", "http://example.com/customeraddress"); // Replace with your actual namespace
+ xmlSerializer.Serialize(xmlWriter, address, ns);
+ return stringWriter.ToString();
+
+ }
+ }
+
+ public string CreateSoapRequest(CreateCustomerAddress body)
+ {
+ string bodyXml = ConvertToSoapXml(body);
+
+ // Creating the full SOAP request
+ string soapRequest = $@"
+
+
+
+ {bodyXml}
+
+ ";
+
+ return soapRequest;
+ }
+
+ private static readonly HttpClient httpClient = new HttpClient();
+
+ //public async Task SendSoapRequest(string soapRequest)
+ //{
+ // // Authorize.Net API credentials
+ // string apiLoginID = "";
+ // string transactionKey = "";
+
+ // // Create the authorization value in base64
+ // string authValue = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{apiLoginID}:{transactionKey}"));
+
+ // // Set the Base URL for the Authorize.Net API
+ // httpClient.BaseAddress = new Uri("https://apitest.authorize.net");
+
+ // // Set the authorization header
+ // httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authValue);
+
+ // // Prepare the SOAP request content
+ // var httpContent = new StringContent(soapRequest, Encoding.UTF8, "text/xml");
+
+ // // The SOAP endpoint URL
+ // var soapServiceUrl = "https://apitest.authorize.net/xml/v1/customers/924517851/addresses";
+
+ // try
+ // {
+ // // Make the SOAP request
+ // var response = await httpClient.PostAsync(soapServiceUrl, httpContent);
+
+ // // Check if the response is successful
+ // if (response.IsSuccessStatusCode)
+ // {
+ // var result = await response.Content.ReadAsStringAsync();
+ // string jsonResult = ConvertXmlToJson(result);
+ // return jsonResult;
+ // }
+ // else
+ // {
+ // Console.WriteLine("Error in SOAP request: " + response.ReasonPhrase);
+ // return null;
+ // }
+ // }
+ // catch (Exception ex)
+ // {
+ // Console.WriteLine("Exception in SOAP request: " + ex.Message);
+ // return null;
+ // }
+ //}
+
+ //-----------------------------------
+ // HttpClient instance
+ //private static readonly HttpClient httpClient = new HttpClient();
+
+ public async Task SendSoapRequest(string soapRequest)
+ {
+ // Authorize.Net API credentials
+ string apiLoginID = ""; // Your actual API Login ID
+ string transactionKey = ""; // Your actual Transaction Key
+
+ // Create the authorization value in base64
+ string authValue = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{apiLoginID}:{transactionKey}"));
+
+ // Set the Base URL for the Authorize.Net API
+ httpClient.BaseAddress = new Uri("https://apitest.authorize.net");
+
+ // Set the Authorization header
+ httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authValue);
+
+ // The SOAP/REST API endpoint URL for the request
+ //string apiEndpoint = "/xml/v1/customers/924517851/addresses";
+ string apiEndpoint = "https://apitest.authorize.net/xml/v1/customers/924517851/addresses";
+
+ try
+ {
+ // Set up the content for the SOAP request
+ var httpContent = new StringContent(soapRequest, Encoding.UTF8, "text/xml");
+
+ // Send POST request
+ var response = await httpClient.PostAsync(apiEndpoint, httpContent);
+
+ // Check if the response is successful
+ if (response.IsSuccessStatusCode)
+ {
+ // Read the response content
+ string result = await response.Content.ReadAsStringAsync();
+
+ // Convert XML to JSON if needed (you may use the method provided in your codebase)
+ string jsonResult = ConvertXmlToJson(result); // Assuming you have a ConvertXmlToJson method
+ return jsonResult;
+ }
+ else
+ {
+ //Console.WriteLine("Error in the API request: " + response.ReasonPhrase);
+ //return null;
+ string jsonResult = ConvertXmlToJson(soapRequest); // Assuming you have a ConvertXmlToJson method
+ return jsonResult;
+ }
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("Exception occurred while calling the API: " + ex.Message);
+ return null;
+ }
+ }
+
+
+ public async Task SendSoapRequest_new(string soapRequest)
+ {
+ // Authorize.Net API credentials
+ string apiLoginID = ""; // Your actual API Login ID
+ string transactionKey = ""; // Your actual Transaction Key
+
+ // Create the authorization value in base64
+ string authValue = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{apiLoginID}:{transactionKey}"));
+
+ // Set the Base URL for the Authorize.Net API
+ httpClient.BaseAddress = new Uri("https://apitest.authorize.net");
+
+ // Clear existing headers to avoid any conflicts
+ httpClient.DefaultRequestHeaders.Clear();
+ httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authValue);
+
+ // The relative endpoint URL for the request
+ string apiEndpoint = "/xml/v1/customers/924517851/addresses";
+
+ try
+ {
+ // Set up the content for the SOAP request
+ var httpContent = new StringContent(soapRequest, Encoding.UTF8, "text/xml");
+
+ // Send POST request to the API
+ var response = await httpClient.PostAsync(apiEndpoint, httpContent);
+
+ // Check if the response is successful
+ if (response.IsSuccessStatusCode)
+ {
+ // Read the response content
+ string result = await response.Content.ReadAsStringAsync();
+
+ // Convert XML to JSON if needed (you may use the method provided in your codebase)
+ string jsonResult = ConvertXmlToJson(result); // Assuming you have a ConvertXmlToJson method
+ return jsonResult;
+ }
+ else
+ {
+ Console.WriteLine("Error in the API request: " + response.ReasonPhrase);
+ return null;
+ }
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("Exception occurred while calling the API: " + ex.Message);
+ return null;
+ }
+ }
+
+
+
+ //--------------------------------
+
+
+ //public async Task SendSoapRequest(CreateCustomerAddress body)
+ //{
+ // string soapRequest = CreateSoapRequest(body);
+ // using (var httpClient = new HttpClient())
+ // {
+ // var httpContent = new StringContent(soapRequest, Encoding.UTF8, "text/xml");
+
+ // // Replace with your actual SOAP endpoint URL
+ // var soapServiceUrl = "https://example.com/soap/endpoint";
+
+ // var response = await httpClient.PostAsync(soapServiceUrl, httpContent);
+
+ // if (response.IsSuccessStatusCode)
+ // {
+ // var result = await response.Content.ReadAsStringAsync();
+
+ // // Convert the XML result to JSON
+ // var jsonResult = ConvertXmlToJson(result);
+ // return jsonResult; // Return the JSON string
+ // }
+ // else
+ // {
+ // Console.WriteLine("Error in SOAP request: " + response.ReasonPhrase);
+ // return null; // Or handle errors as needed
+ // }
+ // }
+ //}
+
+ private string ConvertXmlToJson(string xml)
+ {
+ var xmlDoc = new XmlDocument();
+ xmlDoc.LoadXml(xml); // Load the XML string into XmlDocument
+
+ string jsonText = JsonConvert.SerializeXmlNode(xmlDoc, Newtonsoft.Json.Formatting.Indented);
+ return jsonText; // Return the JSON string
+ }
+
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/FluidData.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/FluidData.cs
new file mode 100644
index 00000000..128bf19e
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/FluidData.cs
@@ -0,0 +1,155 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// This object contains encrypted payment data that can be submitted in the following types of payments: * Authorize.Net Accept * Visa Checkout * Apple Pay * Android Pay
+ ///
+ [DataContract]
+ public partial class FluidData : IEquatable
+ {
+ ///
+ /// Only for Visa Checkout payments. This data is received from the JavaScript Visa Checkout integration's `encKey` field. <br /><br /> 128-character maximum.
+ ///
+ /// Only for Visa Checkout payments. This data is received from the JavaScript Visa Checkout integration's `encKey` field. <br /><br /> 128-character maximum.
+
+ [DataMember(Name="key")]
+ public string Key { get; set; }
+
+ ///
+ /// Specifies how the request should be processed. The value of `dataDescriptor` is based on the source of the value of `dataValue`. For example, for Accept, the value is `COMMON.ACCEPT.INAPP.PAYMENT`. <br /><br /> 128 characters.
+ ///
+ /// Specifies how the request should be processed. The value of `dataDescriptor` is based on the source of the value of `dataValue`. For example, for Accept, the value is `COMMON.ACCEPT.INAPP.PAYMENT`. <br /><br /> 128 characters.
+ [Required]
+
+ [DataMember(Name="descriptor")]
+ public string Descriptor { get; set; }
+
+ ///
+ /// Base64 encoded data that contains encrypted payment data. The payment gateway expects the encrypted payment data and meta data for the encryption keys. <br /><br /> 8192 characters.
+ ///
+ /// Base64 encoded data that contains encrypted payment data. The payment gateway expects the encrypted payment data and meta data for the encryption keys. <br /><br /> 8192 characters.
+ [Required]
+
+ [DataMember(Name="value")]
+ public string Value { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class FluidData {\n");
+ sb.Append(" Key: ").Append(Key).Append("\n");
+ sb.Append(" Descriptor: ").Append(Descriptor).Append("\n");
+ sb.Append(" Value: ").Append(Value).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((FluidData)obj);
+ }
+
+ ///
+ /// Returns true if FluidData instances are equal
+ ///
+ /// Instance of FluidData to be compared
+ /// Boolean
+ public bool Equals(FluidData other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Key == other.Key ||
+ Key != null &&
+ Key.Equals(other.Key)
+ ) &&
+ (
+ Descriptor == other.Descriptor ||
+ Descriptor != null &&
+ Descriptor.Equals(other.Descriptor)
+ ) &&
+ (
+ Value == other.Value ||
+ Value != null &&
+ Value.Equals(other.Value)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Key != null)
+ hashCode = hashCode * 59 + Key.GetHashCode();
+ if (Descriptor != null)
+ hashCode = hashCode * 59 + Descriptor.GetHashCode();
+ if (Value != null)
+ hashCode = hashCode * 59 + Value.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(FluidData left, FluidData right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(FluidData left, FluidData right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/FollowUpResponse.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/FollowUpResponse.cs
new file mode 100644
index 00000000..87d869d0
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/FollowUpResponse.cs
@@ -0,0 +1,136 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class FollowUpResponse : IEquatable
+ {
+ ///
+ /// This field is returned only if the transaction processed succesfully, but the follow-up action of creating a customer and/or payment profile failed.
+ ///
+ /// This field is returned only if the transaction processed succesfully, but the follow-up action of creating a customer and/or payment profile failed.
+
+ [DataMember(Name="errorMessage")]
+ public string ErrorMessage { get; set; }
+
+ ///
+ /// Gets or Sets Customer
+ ///
+
+ [DataMember(Name="customer")]
+ public CustomerPayment Customer { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class FollowUpResponse {\n");
+ sb.Append(" ErrorMessage: ").Append(ErrorMessage).Append("\n");
+ sb.Append(" Customer: ").Append(Customer).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((FollowUpResponse)obj);
+ }
+
+ ///
+ /// Returns true if FollowUpResponse instances are equal
+ ///
+ /// Instance of FollowUpResponse to be compared
+ /// Boolean
+ public bool Equals(FollowUpResponse other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ ErrorMessage == other.ErrorMessage ||
+ ErrorMessage != null &&
+ ErrorMessage.Equals(other.ErrorMessage)
+ ) &&
+ (
+ Customer == other.Customer ||
+ Customer != null &&
+ Customer.Equals(other.Customer)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (ErrorMessage != null)
+ hashCode = hashCode * 59 + ErrorMessage.GetHashCode();
+ if (Customer != null)
+ hashCode = hashCode * 59 + Customer.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(FollowUpResponse left, FollowUpResponse right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(FollowUpResponse left, FollowUpResponse right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/FraudFilter.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/FraudFilter.cs
new file mode 100644
index 00000000..09ca9d53
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/FraudFilter.cs
@@ -0,0 +1,137 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class FraudFilter : IEquatable
+ {
+ ///
+ /// Name of the fraud filter.
+ ///
+ /// Name of the fraud filter.
+
+ [DataMember(Name="name")]
+ public string Name { get; set; }
+
+ ///
+ /// Setting for the fraud filter. The `FDSFilterAction` setting is the most restrictive action setting. <br /> One of: * `reject` * `decline` * `hold` * `authAndHold` * `report`
+ ///
+ /// Setting for the fraud filter. The `FDSFilterAction` setting is the most restrictive action setting. <br /> One of: * `reject` * `decline` * `hold` * `authAndHold` * `report`
+
+ [DataMember(Name="action")]
+ public string Action { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class FraudFilter {\n");
+ sb.Append(" Name: ").Append(Name).Append("\n");
+ sb.Append(" Action: ").Append(Action).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((FraudFilter)obj);
+ }
+
+ ///
+ /// Returns true if FraudFilter instances are equal
+ ///
+ /// Instance of FraudFilter to be compared
+ /// Boolean
+ public bool Equals(FraudFilter other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Name == other.Name ||
+ Name != null &&
+ Name.Equals(other.Name)
+ ) &&
+ (
+ Action == other.Action ||
+ Action != null &&
+ Action.Equals(other.Action)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Name != null)
+ hashCode = hashCode * 59 + Name.GetHashCode();
+ if (Action != null)
+ hashCode = hashCode * 59 + Action.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(FraudFilter left, FraudFilter right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(FraudFilter left, FraudFilter right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/FraudInformation.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/FraudInformation.cs
new file mode 100644
index 00000000..0635e8da
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/FraudInformation.cs
@@ -0,0 +1,136 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Contains fraud information for a transaction.
+ ///
+ [DataContract]
+ public partial class FraudInformation : IEquatable
+ {
+ ///
+ /// Gets or Sets FraudFilterList
+ ///
+
+ [DataMember(Name="fraudFilterList")]
+ public List FraudFilterList { get; set; }
+
+ ///
+ /// The action applied to the transaction by the merchant's Advanced Fraud Detection Suite (AFDS) settings.<br /> When multiple filters apply to a transaction, we will take the most restrictive action. For example, if a transaction triggers two AFDS filters, and one filter returns hold while the other filter returns reject, we will reject the transaction instead of holding it. <br /> Actions include : <br /> * `reject` '“ Ignores the transaction outright, except for AFDS reporting. <br /><br /> * `decline` '“ Marks the transaction as declined but include it in the merchant's transaction reporting. <br /><br /> * `hold` – Holds the transaction for manual review, and do not authorize unless the merchant approves it. <br /><br /> * `authAndHold` – Submits the transaction for authorization, but hold it for manual review, and do not settle unless the merchant approves it. <br /><br /> * `report` – Records the filter action but take no other action.
+ ///
+ /// The action applied to the transaction by the merchant's Advanced Fraud Detection Suite (AFDS) settings.<br /> When multiple filters apply to a transaction, we will take the most restrictive action. For example, if a transaction triggers two AFDS filters, and one filter returns hold while the other filter returns reject, we will reject the transaction instead of holding it. <br /> Actions include : <br /> * `reject` '“ Ignores the transaction outright, except for AFDS reporting. <br /><br /> * `decline` '“ Marks the transaction as declined but include it in the merchant's transaction reporting. <br /><br /> * `hold` – Holds the transaction for manual review, and do not authorize unless the merchant approves it. <br /><br /> * `authAndHold` – Submits the transaction for authorization, but hold it for manual review, and do not settle unless the merchant approves it. <br /><br /> * `report` – Records the filter action but take no other action.
+
+ [DataMember(Name="fraudAction")]
+ public string FraudAction { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class FraudInformation {\n");
+ sb.Append(" FraudFilterList: ").Append(FraudFilterList).Append("\n");
+ sb.Append(" FraudAction: ").Append(FraudAction).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((FraudInformation)obj);
+ }
+
+ ///
+ /// Returns true if FraudInformation instances are equal
+ ///
+ /// Instance of FraudInformation to be compared
+ /// Boolean
+ public bool Equals(FraudInformation other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ FraudFilterList == other.FraudFilterList ||
+ FraudFilterList != null &&
+ FraudFilterList.SequenceEqual(other.FraudFilterList)
+ ) &&
+ (
+ FraudAction == other.FraudAction ||
+ FraudAction != null &&
+ FraudAction.Equals(other.FraudAction)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (FraudFilterList != null)
+ hashCode = hashCode * 59 + FraudFilterList.GetHashCode();
+ if (FraudAction != null)
+ hashCode = hashCode * 59 + FraudAction.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(FraudInformation left, FraudInformation right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(FraudInformation left, FraudInformation right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/GetNotificationResponse.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/GetNotificationResponse.cs
new file mode 100644
index 00000000..54a3ad3e
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/GetNotificationResponse.cs
@@ -0,0 +1,120 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Details of a single notification.
+ ///
+ [DataContract]
+ public partial class GetNotificationResponse : Notification, IEquatable
+ {
+ ///
+ /// Gets or Sets RetryLog
+ ///
+
+ [DataMember(Name="retryLog")]
+ public RetryLog RetryLog { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class GetNotificationResponse {\n");
+ sb.Append(" RetryLog: ").Append(RetryLog).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public new string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((GetNotificationResponse)obj);
+ }
+
+ ///
+ /// Returns true if GetNotificationResponse instances are equal
+ ///
+ /// Instance of GetNotificationResponse to be compared
+ /// Boolean
+ public bool Equals(GetNotificationResponse other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ RetryLog == other.RetryLog ||
+ RetryLog != null &&
+ RetryLog.Equals(other.RetryLog)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (RetryLog != null)
+ hashCode = hashCode * 59 + RetryLog.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(GetNotificationResponse left, GetNotificationResponse right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(GetNotificationResponse left, GetNotificationResponse right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/GetNotificationsResponse.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/GetNotificationsResponse.cs
new file mode 100644
index 00000000..3f01b283
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/GetNotificationsResponse.cs
@@ -0,0 +1,137 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// List of notifications.
+ ///
+ [DataContract]
+ public partial class GetNotificationsResponse : IEquatable
+ {
+ ///
+ /// Gets or Sets Links
+ ///
+ [Required]
+
+ [DataMember(Name="_links")]
+ public SelfLink Links { get; set; }
+
+ ///
+ /// Gets or Sets Notifications
+ ///
+ [Required]
+
+ [DataMember(Name="notifications")]
+ public List Notifications { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class GetNotificationsResponse {\n");
+ sb.Append(" Links: ").Append(Links).Append("\n");
+ sb.Append(" Notifications: ").Append(Notifications).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((GetNotificationsResponse)obj);
+ }
+
+ ///
+ /// Returns true if GetNotificationsResponse instances are equal
+ ///
+ /// Instance of GetNotificationsResponse to be compared
+ /// Boolean
+ public bool Equals(GetNotificationsResponse other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Links == other.Links ||
+ Links != null &&
+ Links.Equals(other.Links)
+ ) &&
+ (
+ Notifications == other.Notifications ||
+ Notifications != null &&
+ Notifications.SequenceEqual(other.Notifications)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Links != null)
+ hashCode = hashCode * 59 + Links.GetHashCode();
+ if (Notifications != null)
+ hashCode = hashCode * 59 + Notifications.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(GetNotificationsResponse left, GetNotificationsResponse right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(GetNotificationsResponse left, GetNotificationsResponse right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/GetWebhookResponse.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/GetWebhookResponse.cs
new file mode 100644
index 00000000..a56b7f4a
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/GetWebhookResponse.cs
@@ -0,0 +1,205 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Response model for get a Webhook
+ ///
+ [DataContract]
+ public partial class GetWebhookResponse : IEquatable
+ {
+ ///
+ /// Gets or Sets Links
+ ///
+ [Required]
+
+ [DataMember(Name="_links")]
+ public SelfLink Links { get; set; }
+
+ ///
+ /// Unique identifier of the notification. The identifier was sent in the original notification.
+ ///
+ /// Unique identifier of the notification. The identifier was sent in the original notification.
+ [Required]
+
+ [DataMember(Name="webhookId")]
+ public string WebhookId { get; set; }
+
+ ///
+ /// Label of the new Webhook.
+ ///
+ /// Label of the new Webhook.
+
+ [DataMember(Name="name")]
+ public string Name { get; set; }
+
+ ///
+ /// Unique identifier of the webhook. The identifier was sent in the response to the webhook request.
+ ///
+ /// Unique identifier of the webhook. The identifier was sent in the response to the webhook request.
+ [Required]
+
+ [DataMember(Name="status")]
+ public string Status { get; set; }
+
+ ///
+ /// Callback Url for the webhook.
+ ///
+ /// Callback Url for the webhook.
+ [Required]
+
+ [DataMember(Name="url")]
+ public string Url { get; set; }
+
+ ///
+ /// List of events that will trigger notifications for this webhook. For a complete list of event types, see the [Webhooks API Documentation](https://developer.authorize.net/api/reference/features/webhooks.html#Event_Types_and_Payloads) page.
+ ///
+ /// List of events that will trigger notifications for this webhook. For a complete list of event types, see the [Webhooks API Documentation](https://developer.authorize.net/api/reference/features/webhooks.html#Event_Types_and_Payloads) page.
+ [Required]
+
+ [DataMember(Name="eventTypes")]
+ public List EventTypes { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class GetWebhookResponse {\n");
+ sb.Append(" Links: ").Append(Links).Append("\n");
+ sb.Append(" WebhookId: ").Append(WebhookId).Append("\n");
+ sb.Append(" Name: ").Append(Name).Append("\n");
+ sb.Append(" Status: ").Append(Status).Append("\n");
+ sb.Append(" Url: ").Append(Url).Append("\n");
+ sb.Append(" EventTypes: ").Append(EventTypes).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((GetWebhookResponse)obj);
+ }
+
+ ///
+ /// Returns true if GetWebhookResponse instances are equal
+ ///
+ /// Instance of GetWebhookResponse to be compared
+ /// Boolean
+ public bool Equals(GetWebhookResponse other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Links == other.Links ||
+ Links != null &&
+ Links.Equals(other.Links)
+ ) &&
+ (
+ WebhookId == other.WebhookId ||
+ WebhookId != null &&
+ WebhookId.Equals(other.WebhookId)
+ ) &&
+ (
+ Name == other.Name ||
+ Name != null &&
+ Name.Equals(other.Name)
+ ) &&
+ (
+ Status == other.Status ||
+ Status != null &&
+ Status.Equals(other.Status)
+ ) &&
+ (
+ Url == other.Url ||
+ Url != null &&
+ Url.Equals(other.Url)
+ ) &&
+ (
+ EventTypes == other.EventTypes ||
+ EventTypes != null &&
+ EventTypes.SequenceEqual(other.EventTypes)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Links != null)
+ hashCode = hashCode * 59 + Links.GetHashCode();
+ if (WebhookId != null)
+ hashCode = hashCode * 59 + WebhookId.GetHashCode();
+ if (Name != null)
+ hashCode = hashCode * 59 + Name.GetHashCode();
+ if (Status != null)
+ hashCode = hashCode * 59 + Status.GetHashCode();
+ if (Url != null)
+ hashCode = hashCode * 59 + Url.GetHashCode();
+ if (EventTypes != null)
+ hashCode = hashCode * 59 + EventTypes.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(GetWebhookResponse left, GetWebhookResponse right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(GetWebhookResponse left, GetWebhookResponse right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Identifier.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Identifier.cs
new file mode 100644
index 00000000..4e16737b
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Identifier.cs
@@ -0,0 +1,135 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Model for Identifier
+ ///
+ [DataContract]
+ public partial class Identifier : IEquatable
+ {
+ ///
+ /// Gets or Sets Email
+ ///
+
+ [DataMember(Name="email")]
+ public string Email { get; set; }
+
+ ///
+ /// Gets or Sets Reference
+ ///
+
+ [DataMember(Name="reference")]
+ public string Reference { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class Identifier {\n");
+ sb.Append(" Email: ").Append(Email).Append("\n");
+ sb.Append(" Reference: ").Append(Reference).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((Identifier)obj);
+ }
+
+ ///
+ /// Returns true if Identifier instances are equal
+ ///
+ /// Instance of Identifier to be compared
+ /// Boolean
+ public bool Equals(Identifier other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Email == other.Email ||
+ Email != null &&
+ Email.Equals(other.Email)
+ ) &&
+ (
+ Reference == other.Reference ||
+ Reference != null &&
+ Reference.Equals(other.Reference)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Email != null)
+ hashCode = hashCode * 59 + Email.GetHashCode();
+ if (Reference != null)
+ hashCode = hashCode * 59 + Reference.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(Identifier left, Identifier right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(Identifier left, Identifier right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/InvoiceDetails.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/InvoiceDetails.cs
new file mode 100644
index 00000000..c04b4503
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/InvoiceDetails.cs
@@ -0,0 +1,137 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class InvoiceDetails : IEquatable
+ {
+ ///
+ /// The merchant-assigned purchase order number. The purchase order number must be created dynamically on the merchant's server and provided on a per-transaction basis. Up to 25 characters (no symbols).
+ ///
+ /// The merchant-assigned purchase order number. The purchase order number must be created dynamically on the merchant's server and provided on a per-transaction basis. Up to 25 characters (no symbols).
+
+ [DataMember(Name="purchaseOrderNumber")]
+ public string PurchaseOrderNumber { get; set; }
+
+ ///
+ /// Indicates whether this payment is exempt from tax.
+ ///
+ /// Indicates whether this payment is exempt from tax.
+
+ [DataMember(Name="taxable")]
+ public bool? Taxable { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class InvoiceDetails {\n");
+ sb.Append(" PurchaseOrderNumber: ").Append(PurchaseOrderNumber).Append("\n");
+ sb.Append(" Taxable: ").Append(Taxable).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((InvoiceDetails)obj);
+ }
+
+ ///
+ /// Returns true if InvoiceDetails instances are equal
+ ///
+ /// Instance of InvoiceDetails to be compared
+ /// Boolean
+ public bool Equals(InvoiceDetails other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ PurchaseOrderNumber == other.PurchaseOrderNumber ||
+ PurchaseOrderNumber != null &&
+ PurchaseOrderNumber.Equals(other.PurchaseOrderNumber)
+ ) &&
+ (
+ Taxable == other.Taxable ||
+ Taxable != null &&
+ Taxable.Equals(other.Taxable)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (PurchaseOrderNumber != null)
+ hashCode = hashCode * 59 + PurchaseOrderNumber.GetHashCode();
+ if (Taxable != null)
+ hashCode = hashCode * 59 + Taxable.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(InvoiceDetails left, InvoiceDetails right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(InvoiceDetails left, InvoiceDetails right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Items.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Items.cs
new file mode 100644
index 00000000..d97e8b1a
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Items.cs
@@ -0,0 +1,171 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class Items : IEquatable
+ {
+ ///
+ /// Item identification. 31-character maximum.
+ ///
+ /// Item identification. 31-character maximum.
+ [Required]
+
+ [DataMember(Name="productCode")]
+ public string ProductCode { get; set; }
+
+ ///
+ /// A short description of the item. 31-character maximum.
+ ///
+ /// A short description of the item. 31-character maximum.
+ [Required]
+
+ [DataMember(Name="productName")]
+ public string ProductName { get; set; }
+
+ ///
+ /// The number of items sold. Up to a maximum of four decimal places.
+ ///
+ /// The number of items sold. Up to a maximum of four decimal places.
+
+ [DataMember(Name="quantity")]
+ public decimal? Quantity { get; set; }
+
+ ///
+ /// Cost of an item per unit, excluding tax, freight, and duty. Up to a maximum of 2 decimal places.
+ ///
+ /// Cost of an item per unit, excluding tax, freight, and duty. Up to a maximum of 2 decimal places.
+
+ [DataMember(Name="unitPrice")]
+ public string UnitPrice { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class Items {\n");
+ sb.Append(" ProductCode: ").Append(ProductCode).Append("\n");
+ sb.Append(" ProductName: ").Append(ProductName).Append("\n");
+ sb.Append(" Quantity: ").Append(Quantity).Append("\n");
+ sb.Append(" UnitPrice: ").Append(UnitPrice).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((Items)obj);
+ }
+
+ ///
+ /// Returns true if Items instances are equal
+ ///
+ /// Instance of Items to be compared
+ /// Boolean
+ public bool Equals(Items other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ ProductCode == other.ProductCode ||
+ ProductCode != null &&
+ ProductCode.Equals(other.ProductCode)
+ ) &&
+ (
+ ProductName == other.ProductName ||
+ ProductName != null &&
+ ProductName.Equals(other.ProductName)
+ ) &&
+ (
+ Quantity == other.Quantity ||
+ Quantity != null &&
+ Quantity.Equals(other.Quantity)
+ ) &&
+ (
+ UnitPrice == other.UnitPrice ||
+ UnitPrice != null &&
+ UnitPrice.Equals(other.UnitPrice)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (ProductCode != null)
+ hashCode = hashCode * 59 + ProductCode.GetHashCode();
+ if (ProductName != null)
+ hashCode = hashCode * 59 + ProductName.GetHashCode();
+ if (Quantity != null)
+ hashCode = hashCode * 59 + Quantity.GetHashCode();
+ if (UnitPrice != null)
+ hashCode = hashCode * 59 + UnitPrice.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(Items left, Items right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(Items left, Items right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Link.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Link.cs
new file mode 100644
index 00000000..5b3e0a2e
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Link.cs
@@ -0,0 +1,153 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class Link : IEquatable
+ {
+ ///
+ /// URI of the linked resource.
+ ///
+ /// URI of the linked resource.
+
+ [DataMember(Name="href")]
+ public string Href { get; set; }
+
+ ///
+ /// Label of the linked resource.
+ ///
+ /// Label of the linked resource.
+
+ [DataMember(Name="title")]
+ public string Title { get; set; }
+
+ ///
+ /// HTTP method of the linked resource.
+ ///
+ /// HTTP method of the linked resource.
+
+ [DataMember(Name="method")]
+ public string Method { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class Link {\n");
+ sb.Append(" Href: ").Append(Href).Append("\n");
+ sb.Append(" Title: ").Append(Title).Append("\n");
+ sb.Append(" Method: ").Append(Method).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((Link)obj);
+ }
+
+ ///
+ /// Returns true if Link instances are equal
+ ///
+ /// Instance of Link to be compared
+ /// Boolean
+ public bool Equals(Link other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Href == other.Href ||
+ Href != null &&
+ Href.Equals(other.Href)
+ ) &&
+ (
+ Title == other.Title ||
+ Title != null &&
+ Title.Equals(other.Title)
+ ) &&
+ (
+ Method == other.Method ||
+ Method != null &&
+ Method.Equals(other.Method)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Href != null)
+ hashCode = hashCode * 59 + Href.GetHashCode();
+ if (Title != null)
+ hashCode = hashCode * 59 + Title.GetHashCode();
+ if (Method != null)
+ hashCode = hashCode * 59 + Method.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(Link left, Link right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(Link left, Link right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Log.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Log.cs
new file mode 100644
index 00000000..f5a06608
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Log.cs
@@ -0,0 +1,183 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class Log : IEquatable
+ {
+ ///
+ /// HTTP status code of the notification attempt.
+ ///
+ /// HTTP status code of the notification attempt.
+
+ [DataMember(Name="statusCode")]
+ public int? StatusCode { get; set; }
+
+ ///
+ /// Gets or Sets RetryStage
+ ///
+
+ [DataMember(Name="retryStage")]
+ public int? RetryStage { get; set; }
+
+ ///
+ /// Gets or Sets RetryCountInStage
+ ///
+
+ [DataMember(Name="retryCountInStage")]
+ public int? RetryCountInStage { get; set; }
+
+ ///
+ /// Date of the last retry.
+ ///
+ /// Date of the last retry.
+
+ [DataMember(Name="retryDate")]
+ public string RetryDate { get; set; }
+
+ ///
+ /// A message about the status.
+ ///
+ /// A message about the status.
+
+ [DataMember(Name="message")]
+ public string Message { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class Log {\n");
+ sb.Append(" StatusCode: ").Append(StatusCode).Append("\n");
+ sb.Append(" RetryStage: ").Append(RetryStage).Append("\n");
+ sb.Append(" RetryCountInStage: ").Append(RetryCountInStage).Append("\n");
+ sb.Append(" RetryDate: ").Append(RetryDate).Append("\n");
+ sb.Append(" Message: ").Append(Message).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((Log)obj);
+ }
+
+ ///
+ /// Returns true if Log instances are equal
+ ///
+ /// Instance of Log to be compared
+ /// Boolean
+ public bool Equals(Log other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ StatusCode == other.StatusCode ||
+ StatusCode != null &&
+ StatusCode.Equals(other.StatusCode)
+ ) &&
+ (
+ RetryStage == other.RetryStage ||
+ RetryStage != null &&
+ RetryStage.Equals(other.RetryStage)
+ ) &&
+ (
+ RetryCountInStage == other.RetryCountInStage ||
+ RetryCountInStage != null &&
+ RetryCountInStage.Equals(other.RetryCountInStage)
+ ) &&
+ (
+ RetryDate == other.RetryDate ||
+ RetryDate != null &&
+ RetryDate.Equals(other.RetryDate)
+ ) &&
+ (
+ Message == other.Message ||
+ Message != null &&
+ Message.Equals(other.Message)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (StatusCode != null)
+ hashCode = hashCode * 59 + StatusCode.GetHashCode();
+ if (RetryStage != null)
+ hashCode = hashCode * 59 + RetryStage.GetHashCode();
+ if (RetryCountInStage != null)
+ hashCode = hashCode * 59 + RetryCountInStage.GetHashCode();
+ if (RetryDate != null)
+ hashCode = hashCode * 59 + RetryDate.GetHashCode();
+ if (Message != null)
+ hashCode = hashCode * 59 + Message.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(Log left, Log right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(Log left, Log right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/MerchantDefinedInformation.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/MerchantDefinedInformation.cs
new file mode 100644
index 00000000..a5a124e7
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/MerchantDefinedInformation.cs
@@ -0,0 +1,137 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class MerchantDefinedInformation : IEquatable
+ {
+ ///
+ /// Item identification. 50-character maximum.
+ ///
+ /// Item identification. 50-character maximum.
+
+ [DataMember(Name="key")]
+ public string Key { get; set; }
+
+ ///
+ /// A short description of the item. 50-character maximum.
+ ///
+ /// A short description of the item. 50-character maximum.
+
+ [DataMember(Name="value")]
+ public string Value { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class MerchantDefinedInformation {\n");
+ sb.Append(" Key: ").Append(Key).Append("\n");
+ sb.Append(" Value: ").Append(Value).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((MerchantDefinedInformation)obj);
+ }
+
+ ///
+ /// Returns true if MerchantDefinedInformation instances are equal
+ ///
+ /// Instance of MerchantDefinedInformation to be compared
+ /// Boolean
+ public bool Equals(MerchantDefinedInformation other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Key == other.Key ||
+ Key != null &&
+ Key.Equals(other.Key)
+ ) &&
+ (
+ Value == other.Value ||
+ Value != null &&
+ Value.Equals(other.Value)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Key != null)
+ hashCode = hashCode * 59 + Key.GetHashCode();
+ if (Value != null)
+ hashCode = hashCode * 59 + Value.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(MerchantDefinedInformation left, MerchantDefinedInformation right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(MerchantDefinedInformation left, MerchantDefinedInformation right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Notification.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Notification.cs
new file mode 100644
index 00000000..d95e0f75
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Notification.cs
@@ -0,0 +1,206 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Notification Model
+ ///
+ [DataContract]
+ public partial class Notification : IEquatable
+ {
+ ///
+ /// Gets or Sets Links
+ ///
+ [Required]
+
+ [DataMember(Name="_links")]
+ public SelfLink Links { get; set; }
+
+ ///
+ /// Unique identifier of the notification
+ ///
+ /// Unique identifier of the notification
+ [Required]
+
+ [DataMember(Name="notificationId")]
+ public string NotificationId { get; set; }
+
+ ///
+ /// Current status of the notification.
+ ///
+ /// Current status of the notification.
+ [Required]
+
+ [DataMember(Name="deliveryStatus")]
+ public string DeliveryStatus { get; set; }
+
+ ///
+ /// Type of event that triggered the notification.
+ ///
+ /// Type of event that triggered the notification.
+ [Required]
+
+ [DataMember(Name="eventType")]
+ public string EventType { get; set; }
+
+ ///
+ /// Date and time of the notifications sent.
+ ///
+ /// Date and time of the notifications sent.
+ [Required]
+
+ [DataMember(Name="eventDate")]
+ public string EventDate { get; set; }
+
+ ///
+ /// Label of the Webhook.
+ ///
+ /// Label of the Webhook.
+ [Required]
+
+ [DataMember(Name="webhookId")]
+ public string WebhookId { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class Notification {\n");
+ sb.Append(" Links: ").Append(Links).Append("\n");
+ sb.Append(" NotificationId: ").Append(NotificationId).Append("\n");
+ sb.Append(" DeliveryStatus: ").Append(DeliveryStatus).Append("\n");
+ sb.Append(" EventType: ").Append(EventType).Append("\n");
+ sb.Append(" EventDate: ").Append(EventDate).Append("\n");
+ sb.Append(" WebhookId: ").Append(WebhookId).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((Notification)obj);
+ }
+
+ ///
+ /// Returns true if Notification instances are equal
+ ///
+ /// Instance of Notification to be compared
+ /// Boolean
+ public bool Equals(Notification other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Links == other.Links ||
+ Links != null &&
+ Links.Equals(other.Links)
+ ) &&
+ (
+ NotificationId == other.NotificationId ||
+ NotificationId != null &&
+ NotificationId.Equals(other.NotificationId)
+ ) &&
+ (
+ DeliveryStatus == other.DeliveryStatus ||
+ DeliveryStatus != null &&
+ DeliveryStatus.Equals(other.DeliveryStatus)
+ ) &&
+ (
+ EventType == other.EventType ||
+ EventType != null &&
+ EventType.Equals(other.EventType)
+ ) &&
+ (
+ EventDate == other.EventDate ||
+ EventDate != null &&
+ EventDate.Equals(other.EventDate)
+ ) &&
+ (
+ WebhookId == other.WebhookId ||
+ WebhookId != null &&
+ WebhookId.Equals(other.WebhookId)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Links != null)
+ hashCode = hashCode * 59 + Links.GetHashCode();
+ if (NotificationId != null)
+ hashCode = hashCode * 59 + NotificationId.GetHashCode();
+ if (DeliveryStatus != null)
+ hashCode = hashCode * 59 + DeliveryStatus.GetHashCode();
+ if (EventType != null)
+ hashCode = hashCode * 59 + EventType.GetHashCode();
+ if (EventDate != null)
+ hashCode = hashCode * 59 + EventDate.GetHashCode();
+ if (WebhookId != null)
+ hashCode = hashCode * 59 + WebhookId.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(Notification left, Notification right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(Notification left, Notification right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/OrderInformation.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/OrderInformation.cs
new file mode 100644
index 00000000..f139b257
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/OrderInformation.cs
@@ -0,0 +1,199 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class OrderInformation : IEquatable
+ {
+ ///
+ /// Gets or Sets AmountDetails
+ ///
+ [Required]
+
+ [DataMember(Name="amountDetails")]
+ public AmountDetail AmountDetails { get; set; }
+
+ ///
+ /// billto address definition
+ ///
+ /// billto address definition
+
+ [DataMember(Name="billTo")]
+ public AllOforderInformationBillTo BillTo { get; set; }
+
+ ///
+ /// shipTo address definition
+ ///
+ /// shipTo address definition
+
+ [DataMember(Name="shipTo")]
+ public AllOforderInformationShipTo ShipTo { get; set; }
+
+ ///
+ /// Gets or Sets LineItems
+ ///
+
+ [DataMember(Name="lineItems")]
+ public List LineItems { get; set; }
+
+ ///
+ /// Gets or Sets InvoiceDetails
+ ///
+
+ [DataMember(Name="invoiceDetails")]
+ public InvoiceDetails InvoiceDetails { get; set; }
+
+ ///
+ /// Contains information about the order.
+ ///
+ /// Contains information about the order.
+
+ [DataMember(Name="description")]
+ public string Description { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class OrderInformation {\n");
+ sb.Append(" AmountDetails: ").Append(AmountDetails).Append("\n");
+ sb.Append(" BillTo: ").Append(BillTo).Append("\n");
+ sb.Append(" ShipTo: ").Append(ShipTo).Append("\n");
+ sb.Append(" LineItems: ").Append(LineItems).Append("\n");
+ sb.Append(" InvoiceDetails: ").Append(InvoiceDetails).Append("\n");
+ sb.Append(" Description: ").Append(Description).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((OrderInformation)obj);
+ }
+
+ ///
+ /// Returns true if OrderInformation instances are equal
+ ///
+ /// Instance of OrderInformation to be compared
+ /// Boolean
+ public bool Equals(OrderInformation other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ AmountDetails == other.AmountDetails ||
+ AmountDetails != null &&
+ AmountDetails.Equals(other.AmountDetails)
+ ) &&
+ (
+ BillTo == other.BillTo ||
+ BillTo != null &&
+ BillTo.Equals(other.BillTo)
+ ) &&
+ (
+ ShipTo == other.ShipTo ||
+ ShipTo != null &&
+ ShipTo.Equals(other.ShipTo)
+ ) &&
+ (
+ LineItems == other.LineItems ||
+ LineItems != null &&
+ LineItems.SequenceEqual(other.LineItems)
+ ) &&
+ (
+ InvoiceDetails == other.InvoiceDetails ||
+ InvoiceDetails != null &&
+ InvoiceDetails.Equals(other.InvoiceDetails)
+ ) &&
+ (
+ Description == other.Description ||
+ Description != null &&
+ Description.Equals(other.Description)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (AmountDetails != null)
+ hashCode = hashCode * 59 + AmountDetails.GetHashCode();
+ if (BillTo != null)
+ hashCode = hashCode * 59 + BillTo.GetHashCode();
+ if (ShipTo != null)
+ hashCode = hashCode * 59 + ShipTo.GetHashCode();
+ if (LineItems != null)
+ hashCode = hashCode * 59 + LineItems.GetHashCode();
+ if (InvoiceDetails != null)
+ hashCode = hashCode * 59 + InvoiceDetails.GetHashCode();
+ if (Description != null)
+ hashCode = hashCode * 59 + Description.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(OrderInformation left, OrderInformation right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(OrderInformation left, OrderInformation right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Payment.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Payment.cs
new file mode 100644
index 00000000..eeceb6a2
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Payment.cs
@@ -0,0 +1,258 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// `Payment` is returned for a successful transaction.
+ ///
+ [DataContract]
+ public partial class Payment : IEquatable
+ {
+ ///
+ /// Gets or Sets Links
+ ///
+
+ [DataMember(Name="_links")]
+ public PaymentLinks Links { get; set; }
+
+ ///
+ /// Unique identifier for the transaction, generated by Authorize.Net. Reference this identifier in follow-up requests, such as a refund or GET request.
+ ///
+ /// Unique identifier for the transaction, generated by Authorize.Net. Reference this identifier in follow-up requests, such as a refund or GET request.
+
+ [DataMember(Name="id")]
+ public string Id { get; set; }
+
+ ///
+ /// Brief description of the status of the transaction. One of the folloiwng: * `AUTHORIZED` * `CAPTURED` * `INTERNAL_ERROR` * `REFUND_SETTLED` * `REFUND_INITIATED` * `approvedReview` * `DECLINED` * `FAILED` * `EXPIRED` * `failedReview` * `SETTLED` * `SETTLEMENT_ERROR` * `PENDING_REVIEW` * `VOIDED` * `FDSPendingReview` * `FDSAuthorizedPendingReview` * `returnedItem`
+ ///
+ /// Brief description of the status of the transaction. One of the folloiwng: * `AUTHORIZED` * `CAPTURED` * `INTERNAL_ERROR` * `REFUND_SETTLED` * `REFUND_INITIATED` * `approvedReview` * `DECLINED` * `FAILED` * `EXPIRED` * `failedReview` * `SETTLED` * `SETTLEMENT_ERROR` * `PENDING_REVIEW` * `VOIDED` * `FDSPendingReview` * `FDSAuthorizedPendingReview` * `returnedItem`
+
+ [DataMember(Name="status")]
+ public string Status { get; set; }
+
+ ///
+ /// Gets or Sets ClientReferenceInformation
+ ///
+
+ [DataMember(Name="clientReferenceInformation")]
+ public ClientReferenceInformation ClientReferenceInformation { get; set; }
+
+ ///
+ /// Gets or Sets ProcessorInformation
+ ///
+
+ [DataMember(Name="processorInformation")]
+ public ProcessorInformation ProcessorInformation { get; set; }
+
+ ///
+ /// The time that the transaction was submitted, in Coordinated Universal Time.
+ ///
+ /// The time that the transaction was submitted, in Coordinated Universal Time.
+
+ [DataMember(Name="submitTimeUTC")]
+ public string SubmitTimeUTC { get; set; }
+
+ ///
+ /// Gets or Sets OrderInformation
+ ///
+
+ [DataMember(Name="orderInformation")]
+ public OrderInformation OrderInformation { get; set; }
+
+ ///
+ /// Gets or Sets PaymentInformation
+ ///
+
+ [DataMember(Name="paymentInformation")]
+ public PaymentInformation PaymentInformation { get; set; }
+
+ ///
+ /// Gets or Sets FraudInformation
+ ///
+
+ [DataMember(Name="fraudInformation")]
+ public FraudInformation FraudInformation { get; set; }
+
+ ///
+ /// Gets or Sets FollowUpResponse
+ ///
+
+ [DataMember(Name="followUpResponse")]
+ public FollowUpResponse FollowUpResponse { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class Payment {\n");
+ sb.Append(" Links: ").Append(Links).Append("\n");
+ sb.Append(" Id: ").Append(Id).Append("\n");
+ sb.Append(" Status: ").Append(Status).Append("\n");
+ sb.Append(" ClientReferenceInformation: ").Append(ClientReferenceInformation).Append("\n");
+ sb.Append(" ProcessorInformation: ").Append(ProcessorInformation).Append("\n");
+ sb.Append(" SubmitTimeUTC: ").Append(SubmitTimeUTC).Append("\n");
+ sb.Append(" OrderInformation: ").Append(OrderInformation).Append("\n");
+ sb.Append(" PaymentInformation: ").Append(PaymentInformation).Append("\n");
+ sb.Append(" FraudInformation: ").Append(FraudInformation).Append("\n");
+ sb.Append(" FollowUpResponse: ").Append(FollowUpResponse).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((Payment)obj);
+ }
+
+ ///
+ /// Returns true if Payment instances are equal
+ ///
+ /// Instance of Payment to be compared
+ /// Boolean
+ public bool Equals(Payment other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Links == other.Links ||
+ Links != null &&
+ Links.Equals(other.Links)
+ ) &&
+ (
+ Id == other.Id ||
+ Id != null &&
+ Id.Equals(other.Id)
+ ) &&
+ (
+ Status == other.Status ||
+ Status != null &&
+ Status.Equals(other.Status)
+ ) &&
+ (
+ ClientReferenceInformation == other.ClientReferenceInformation ||
+ ClientReferenceInformation != null &&
+ ClientReferenceInformation.Equals(other.ClientReferenceInformation)
+ ) &&
+ (
+ ProcessorInformation == other.ProcessorInformation ||
+ ProcessorInformation != null &&
+ ProcessorInformation.Equals(other.ProcessorInformation)
+ ) &&
+ (
+ SubmitTimeUTC == other.SubmitTimeUTC ||
+ SubmitTimeUTC != null &&
+ SubmitTimeUTC.Equals(other.SubmitTimeUTC)
+ ) &&
+ (
+ OrderInformation == other.OrderInformation ||
+ OrderInformation != null &&
+ OrderInformation.Equals(other.OrderInformation)
+ ) &&
+ (
+ PaymentInformation == other.PaymentInformation ||
+ PaymentInformation != null &&
+ PaymentInformation.Equals(other.PaymentInformation)
+ ) &&
+ (
+ FraudInformation == other.FraudInformation ||
+ FraudInformation != null &&
+ FraudInformation.Equals(other.FraudInformation)
+ ) &&
+ (
+ FollowUpResponse == other.FollowUpResponse ||
+ FollowUpResponse != null &&
+ FollowUpResponse.Equals(other.FollowUpResponse)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Links != null)
+ hashCode = hashCode * 59 + Links.GetHashCode();
+ if (Id != null)
+ hashCode = hashCode * 59 + Id.GetHashCode();
+ if (Status != null)
+ hashCode = hashCode * 59 + Status.GetHashCode();
+ if (ClientReferenceInformation != null)
+ hashCode = hashCode * 59 + ClientReferenceInformation.GetHashCode();
+ if (ProcessorInformation != null)
+ hashCode = hashCode * 59 + ProcessorInformation.GetHashCode();
+ if (SubmitTimeUTC != null)
+ hashCode = hashCode * 59 + SubmitTimeUTC.GetHashCode();
+ if (OrderInformation != null)
+ hashCode = hashCode * 59 + OrderInformation.GetHashCode();
+ if (PaymentInformation != null)
+ hashCode = hashCode * 59 + PaymentInformation.GetHashCode();
+ if (FraudInformation != null)
+ hashCode = hashCode * 59 + FraudInformation.GetHashCode();
+ if (FollowUpResponse != null)
+ hashCode = hashCode * 59 + FollowUpResponse.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(Payment left, Payment right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(Payment left, Payment right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentCollection.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentCollection.cs
new file mode 100644
index 00000000..c34096c5
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentCollection.cs
@@ -0,0 +1,151 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Model for PaymentCollection
+ ///
+ [DataContract]
+ public partial class PaymentCollection : IEquatable
+ {
+ ///
+ /// Gets or Sets Link
+ ///
+
+ [DataMember(Name="_link")]
+ public CollectionLinks Link { get; set; }
+
+ ///
+ /// Gets or Sets Embedded
+ ///
+
+ [DataMember(Name="_embedded")]
+ public PaymentsList Embedded { get; set; }
+
+ ///
+ /// Total number of transactions returned.
+ ///
+ /// Total number of transactions returned.
+
+ [DataMember(Name="totalTransactions")]
+ public int? TotalTransactions { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class PaymentCollection {\n");
+ sb.Append(" Link: ").Append(Link).Append("\n");
+ sb.Append(" Embedded: ").Append(Embedded).Append("\n");
+ sb.Append(" TotalTransactions: ").Append(TotalTransactions).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((PaymentCollection)obj);
+ }
+
+ ///
+ /// Returns true if PaymentCollection instances are equal
+ ///
+ /// Instance of PaymentCollection to be compared
+ /// Boolean
+ public bool Equals(PaymentCollection other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Link == other.Link ||
+ Link != null &&
+ Link.Equals(other.Link)
+ ) &&
+ (
+ Embedded == other.Embedded ||
+ Embedded != null &&
+ Embedded.Equals(other.Embedded)
+ ) &&
+ (
+ TotalTransactions == other.TotalTransactions ||
+ TotalTransactions != null &&
+ TotalTransactions.Equals(other.TotalTransactions)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Link != null)
+ hashCode = hashCode * 59 + Link.GetHashCode();
+ if (Embedded != null)
+ hashCode = hashCode * 59 + Embedded.GetHashCode();
+ if (TotalTransactions != null)
+ hashCode = hashCode * 59 + TotalTransactions.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(PaymentCollection left, PaymentCollection right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(PaymentCollection left, PaymentCollection right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentInformation.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentInformation.cs
new file mode 100644
index 00000000..92d4698a
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentInformation.cs
@@ -0,0 +1,196 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// This object sets the method of payment for a transaction. There are four available payment instruments, shown below. |Payment Instrument | Description | |- -- --|- -- --| | `creditCard` | Contains the customer's credit card payment data. | | `BankAccount` | Contains the customer's banking information. | | `FluidData` | Contains enrypted payment data for use with the following tpyes of transactions - | | * Visa Checkout | | | * Authorize.Net Accept | | | * Apple Pay | | | * Android Pay | | `CustomerPayment` | Contains the Authorize.Net customer profile information necessary to create a payment transaction from stored payment data. |
+ ///
+ [DataContract]
+ public partial class PaymentInformation : IEquatable
+ {
+ ///
+ /// Gets or Sets Card
+ ///
+
+ [DataMember(Name="card")]
+ public Card Card { get; set; }
+
+ ///
+ /// Gets or Sets BankAccount
+ ///
+
+ [DataMember(Name="bankAccount")]
+ public BankAccount BankAccount { get; set; }
+
+ ///
+ /// Gets or Sets FluidData
+ ///
+
+ [DataMember(Name="fluidData")]
+ public FluidData FluidData { get; set; }
+
+ ///
+ /// Gets or Sets Customer
+ ///
+
+ [DataMember(Name="customer")]
+ public CustomerPayment Customer { get; set; }
+
+ ///
+ /// Gets or Sets TokenizedCard
+ ///
+
+ [DataMember(Name="tokenizedCard")]
+ public TokenizedCard TokenizedCard { get; set; }
+
+ ///
+ /// If the customer profile contains no payment data, this field should not be sent. Submitting this field with a value of `true` sends a $0 or $0.01 (depending on card type and processor) live transaction is processed for the card and then immediately voided. Address is required for cards that support $0 authorizations and will be validated along with card code if submitted. Submitting this field with a value of false, the card data is validated using simple mathematical checks to confirm that it appears to be valid. It is not a guarantee that the card is legitimate and customer data is not validated.
+ ///
+ /// If the customer profile contains no payment data, this field should not be sent. Submitting this field with a value of `true` sends a $0 or $0.01 (depending on card type and processor) live transaction is processed for the card and then immediately voided. Address is required for cards that support $0 authorizations and will be validated along with card code if submitted. Submitting this field with a value of false, the card data is validated using simple mathematical checks to confirm that it appears to be valid. It is not a guarantee that the card is legitimate and customer data is not validated.
+
+ [DataMember(Name="validate")]
+ public bool? Validate { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class PaymentInformation {\n");
+ sb.Append(" Card: ").Append(Card).Append("\n");
+ sb.Append(" BankAccount: ").Append(BankAccount).Append("\n");
+ sb.Append(" FluidData: ").Append(FluidData).Append("\n");
+ sb.Append(" Customer: ").Append(Customer).Append("\n");
+ sb.Append(" TokenizedCard: ").Append(TokenizedCard).Append("\n");
+ sb.Append(" Validate: ").Append(Validate).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((PaymentInformation)obj);
+ }
+
+ ///
+ /// Returns true if PaymentInformation instances are equal
+ ///
+ /// Instance of PaymentInformation to be compared
+ /// Boolean
+ public bool Equals(PaymentInformation other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Card == other.Card ||
+ Card != null &&
+ Card.Equals(other.Card)
+ ) &&
+ (
+ BankAccount == other.BankAccount ||
+ BankAccount != null &&
+ BankAccount.Equals(other.BankAccount)
+ ) &&
+ (
+ FluidData == other.FluidData ||
+ FluidData != null &&
+ FluidData.Equals(other.FluidData)
+ ) &&
+ (
+ Customer == other.Customer ||
+ Customer != null &&
+ Customer.Equals(other.Customer)
+ ) &&
+ (
+ TokenizedCard == other.TokenizedCard ||
+ TokenizedCard != null &&
+ TokenizedCard.Equals(other.TokenizedCard)
+ ) &&
+ (
+ Validate == other.Validate ||
+ Validate != null &&
+ Validate.Equals(other.Validate)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Card != null)
+ hashCode = hashCode * 59 + Card.GetHashCode();
+ if (BankAccount != null)
+ hashCode = hashCode * 59 + BankAccount.GetHashCode();
+ if (FluidData != null)
+ hashCode = hashCode * 59 + FluidData.GetHashCode();
+ if (Customer != null)
+ hashCode = hashCode * 59 + Customer.GetHashCode();
+ if (TokenizedCard != null)
+ hashCode = hashCode * 59 + TokenizedCard.GetHashCode();
+ if (Validate != null)
+ hashCode = hashCode * 59 + Validate.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(PaymentInformation left, PaymentInformation right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(PaymentInformation left, PaymentInformation right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentLinks.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentLinks.cs
new file mode 100644
index 00000000..43fe1e22
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentLinks.cs
@@ -0,0 +1,150 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class PaymentLinks : IEquatable
+ {
+ ///
+ /// Gets or Sets Self
+ ///
+
+ [DataMember(Name="self")]
+ public Link Self { get; set; }
+
+ ///
+ /// Gets or Sets Refund
+ ///
+
+ [DataMember(Name="refund")]
+ public Link Refund { get; set; }
+
+ ///
+ /// Gets or Sets Capture
+ ///
+
+ [DataMember(Name="capture")]
+ public Link Capture { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class PaymentLinks {\n");
+ sb.Append(" Self: ").Append(Self).Append("\n");
+ sb.Append(" Refund: ").Append(Refund).Append("\n");
+ sb.Append(" Capture: ").Append(Capture).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((PaymentLinks)obj);
+ }
+
+ ///
+ /// Returns true if PaymentLinks instances are equal
+ ///
+ /// Instance of PaymentLinks to be compared
+ /// Boolean
+ public bool Equals(PaymentLinks other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Self == other.Self ||
+ Self != null &&
+ Self.Equals(other.Self)
+ ) &&
+ (
+ Refund == other.Refund ||
+ Refund != null &&
+ Refund.Equals(other.Refund)
+ ) &&
+ (
+ Capture == other.Capture ||
+ Capture != null &&
+ Capture.Equals(other.Capture)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Self != null)
+ hashCode = hashCode * 59 + Self.GetHashCode();
+ if (Refund != null)
+ hashCode = hashCode * 59 + Refund.GetHashCode();
+ if (Capture != null)
+ hashCode = hashCode * 59 + Capture.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(PaymentLinks left, PaymentLinks right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(PaymentLinks left, PaymentLinks right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentMethod.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentMethod.cs
new file mode 100644
index 00000000..f02404ab
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentMethod.cs
@@ -0,0 +1,182 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Contains information about the method of payment.
+ ///
+ [DataContract]
+ public partial class PaymentMethod : IEquatable
+ {
+ ///
+ /// Unique identifier for the `paymentMethod` object in this transaction.
+ ///
+ /// Unique identifier for the `paymentMethod` object in this transaction.
+
+ [DataMember(Name="id")]
+ public string Id { get; set; }
+
+ ///
+ /// Setting this boolean to `true` marks this payment method as the default for this customer.
+ ///
+ /// Setting this boolean to `true` marks this payment method as the default for this customer.
+
+ [DataMember(Name="default")]
+ public bool? _Default { get; set; }
+
+ ///
+ /// Gets or Sets BillTo
+ ///
+
+ [DataMember(Name="billTo")]
+ public BaseAddress BillTo { get; set; }
+
+ ///
+ /// Gets or Sets PaymentInformation
+ ///
+
+ [DataMember(Name="paymentInformation")]
+ public PaymentInformation PaymentInformation { get; set; }
+
+ ///
+ /// Gets or Sets Links
+ ///
+
+ [DataMember(Name="_links")]
+ public PaymentMethodLinks Links { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class PaymentMethod {\n");
+ sb.Append(" Id: ").Append(Id).Append("\n");
+ sb.Append(" _Default: ").Append(_Default).Append("\n");
+ sb.Append(" BillTo: ").Append(BillTo).Append("\n");
+ sb.Append(" PaymentInformation: ").Append(PaymentInformation).Append("\n");
+ sb.Append(" Links: ").Append(Links).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((PaymentMethod)obj);
+ }
+
+ ///
+ /// Returns true if PaymentMethod instances are equal
+ ///
+ /// Instance of PaymentMethod to be compared
+ /// Boolean
+ public bool Equals(PaymentMethod other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Id == other.Id ||
+ Id != null &&
+ Id.Equals(other.Id)
+ ) &&
+ (
+ _Default == other._Default ||
+ _Default != null &&
+ _Default.Equals(other._Default)
+ ) &&
+ (
+ BillTo == other.BillTo ||
+ BillTo != null &&
+ BillTo.Equals(other.BillTo)
+ ) &&
+ (
+ PaymentInformation == other.PaymentInformation ||
+ PaymentInformation != null &&
+ PaymentInformation.Equals(other.PaymentInformation)
+ ) &&
+ (
+ Links == other.Links ||
+ Links != null &&
+ Links.Equals(other.Links)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Id != null)
+ hashCode = hashCode * 59 + Id.GetHashCode();
+ if (_Default != null)
+ hashCode = hashCode * 59 + _Default.GetHashCode();
+ if (BillTo != null)
+ hashCode = hashCode * 59 + BillTo.GetHashCode();
+ if (PaymentInformation != null)
+ hashCode = hashCode * 59 + PaymentInformation.GetHashCode();
+ if (Links != null)
+ hashCode = hashCode * 59 + Links.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(PaymentMethod left, PaymentMethod right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(PaymentMethod left, PaymentMethod right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentMethodCollection.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentMethodCollection.cs
new file mode 100644
index 00000000..b8bf65dc
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentMethodCollection.cs
@@ -0,0 +1,151 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class PaymentMethodCollection : IEquatable
+ {
+ ///
+ /// Gets or Sets Links
+ ///
+
+ [DataMember(Name="_links")]
+ public CollectionLinks Links { get; set; }
+
+ ///
+ /// Gets or Sets Embedded
+ ///
+
+ [DataMember(Name="_embedded")]
+ public PaymentMethodList Embedded { get; set; }
+
+ ///
+ /// Total number of payment methods for this transaction.
+ ///
+ /// Total number of payment methods for this transaction.
+
+ [DataMember(Name="totalPaymentMethods")]
+ public int? TotalPaymentMethods { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class PaymentMethodCollection {\n");
+ sb.Append(" Links: ").Append(Links).Append("\n");
+ sb.Append(" Embedded: ").Append(Embedded).Append("\n");
+ sb.Append(" TotalPaymentMethods: ").Append(TotalPaymentMethods).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((PaymentMethodCollection)obj);
+ }
+
+ ///
+ /// Returns true if PaymentMethodCollection instances are equal
+ ///
+ /// Instance of PaymentMethodCollection to be compared
+ /// Boolean
+ public bool Equals(PaymentMethodCollection other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Links == other.Links ||
+ Links != null &&
+ Links.Equals(other.Links)
+ ) &&
+ (
+ Embedded == other.Embedded ||
+ Embedded != null &&
+ Embedded.Equals(other.Embedded)
+ ) &&
+ (
+ TotalPaymentMethods == other.TotalPaymentMethods ||
+ TotalPaymentMethods != null &&
+ TotalPaymentMethods.Equals(other.TotalPaymentMethods)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Links != null)
+ hashCode = hashCode * 59 + Links.GetHashCode();
+ if (Embedded != null)
+ hashCode = hashCode * 59 + Embedded.GetHashCode();
+ if (TotalPaymentMethods != null)
+ hashCode = hashCode * 59 + TotalPaymentMethods.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(PaymentMethodCollection left, PaymentMethodCollection right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(PaymentMethodCollection left, PaymentMethodCollection right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentMethodLinks.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentMethodLinks.cs
new file mode 100644
index 00000000..54cd558b
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentMethodLinks.cs
@@ -0,0 +1,135 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class PaymentMethodLinks : IEquatable
+ {
+ ///
+ /// Gets or Sets Self
+ ///
+
+ [DataMember(Name="self")]
+ public Link Self { get; set; }
+
+ ///
+ /// Gets or Sets Customer
+ ///
+
+ [DataMember(Name="customer")]
+ public Link Customer { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class PaymentMethodLinks {\n");
+ sb.Append(" Self: ").Append(Self).Append("\n");
+ sb.Append(" Customer: ").Append(Customer).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((PaymentMethodLinks)obj);
+ }
+
+ ///
+ /// Returns true if PaymentMethodLinks instances are equal
+ ///
+ /// Instance of PaymentMethodLinks to be compared
+ /// Boolean
+ public bool Equals(PaymentMethodLinks other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Self == other.Self ||
+ Self != null &&
+ Self.Equals(other.Self)
+ ) &&
+ (
+ Customer == other.Customer ||
+ Customer != null &&
+ Customer.Equals(other.Customer)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Self != null)
+ hashCode = hashCode * 59 + Self.GetHashCode();
+ if (Customer != null)
+ hashCode = hashCode * 59 + Customer.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(PaymentMethodLinks left, PaymentMethodLinks right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(PaymentMethodLinks left, PaymentMethodLinks right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentMethodList.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentMethodList.cs
new file mode 100644
index 00000000..e43a2609
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentMethodList.cs
@@ -0,0 +1,120 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class PaymentMethodList : IEquatable
+ {
+ ///
+ /// Gets or Sets PaymentMethods
+ ///
+
+ [DataMember(Name="paymentMethods")]
+ public List PaymentMethods { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class PaymentMethodList {\n");
+ sb.Append(" PaymentMethods: ").Append(PaymentMethods).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((PaymentMethodList)obj);
+ }
+
+ ///
+ /// Returns true if PaymentMethodList instances are equal
+ ///
+ /// Instance of PaymentMethodList to be compared
+ /// Boolean
+ public bool Equals(PaymentMethodList other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ PaymentMethods == other.PaymentMethods ||
+ PaymentMethods != null &&
+ PaymentMethods.SequenceEqual(other.PaymentMethods)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (PaymentMethods != null)
+ hashCode = hashCode * 59 + PaymentMethods.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(PaymentMethodList left, PaymentMethodList right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(PaymentMethodList left, PaymentMethodList right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentMethods.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentMethods.cs
new file mode 100644
index 00000000..34684340
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentMethods.cs
@@ -0,0 +1,166 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class PaymentMethods : IEquatable
+ {
+ ///
+ /// Unique identifier for the `paymentMethods` object in this transaction.
+ ///
+ /// Unique identifier for the `paymentMethods` object in this transaction.
+
+ [DataMember(Name="id")]
+ public string Id { get; set; }
+
+ ///
+ /// Gets or Sets _Default
+ ///
+
+ [DataMember(Name="default")]
+ public bool? _Default { get; set; }
+
+ ///
+ /// Gets or Sets PaymentInformation
+ ///
+
+ [DataMember(Name="paymentInformation")]
+ public PaymentInformation PaymentInformation { get; set; }
+
+ ///
+ /// Gets or Sets Links
+ ///
+
+ [DataMember(Name="_links")]
+ public PaymentMethodLinks Links { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class PaymentMethods {\n");
+ sb.Append(" Id: ").Append(Id).Append("\n");
+ sb.Append(" _Default: ").Append(_Default).Append("\n");
+ sb.Append(" PaymentInformation: ").Append(PaymentInformation).Append("\n");
+ sb.Append(" Links: ").Append(Links).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((PaymentMethods)obj);
+ }
+
+ ///
+ /// Returns true if PaymentMethods instances are equal
+ ///
+ /// Instance of PaymentMethods to be compared
+ /// Boolean
+ public bool Equals(PaymentMethods other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Id == other.Id ||
+ Id != null &&
+ Id.Equals(other.Id)
+ ) &&
+ (
+ _Default == other._Default ||
+ _Default != null &&
+ _Default.Equals(other._Default)
+ ) &&
+ (
+ PaymentInformation == other.PaymentInformation ||
+ PaymentInformation != null &&
+ PaymentInformation.Equals(other.PaymentInformation)
+ ) &&
+ (
+ Links == other.Links ||
+ Links != null &&
+ Links.Equals(other.Links)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Id != null)
+ hashCode = hashCode * 59 + Id.GetHashCode();
+ if (_Default != null)
+ hashCode = hashCode * 59 + _Default.GetHashCode();
+ if (PaymentInformation != null)
+ hashCode = hashCode * 59 + PaymentInformation.GetHashCode();
+ if (Links != null)
+ hashCode = hashCode * 59 + Links.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(PaymentMethods left, PaymentMethods right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(PaymentMethods left, PaymentMethods right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentRequest.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentRequest.cs
new file mode 100644
index 00000000..422a7d20
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentRequest.cs
@@ -0,0 +1,225 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Payment Request object. Contains information about the payment transaction.
+ ///
+ [DataContract]
+ public partial class PaymentRequest : IEquatable
+ {
+ ///
+ /// Gets or Sets ClientReferenceInformation
+ ///
+
+ [DataMember(Name="clientReferenceInformation")]
+ public ClientReferenceInformation ClientReferenceInformation { get; set; }
+
+ ///
+ /// Gets or Sets ProcessingInformation
+ ///
+
+ [DataMember(Name="processingInformation")]
+ public ProcessingInformation ProcessingInformation { get; set; }
+
+ ///
+ /// Gets or Sets PaymentInformation
+ ///
+
+ [DataMember(Name="paymentInformation")]
+ public PaymentInformation PaymentInformation { get; set; }
+
+ ///
+ /// Gets or Sets OrderInformation
+ ///
+
+ [DataMember(Name="orderInformation")]
+ public OrderInformation OrderInformation { get; set; }
+
+ ///
+ /// Gets or Sets BuyerInformation
+ ///
+
+ [DataMember(Name="buyerInformation")]
+ public BuyerInformation BuyerInformation { get; set; }
+
+ ///
+ /// Gets or Sets DeviceInformation
+ ///
+
+ [DataMember(Name="deviceInformation")]
+ public DeviceInformation DeviceInformation { get; set; }
+
+ ///
+ /// Gets or Sets ConsumerAuthenticationInformation
+ ///
+
+ [DataMember(Name="consumerAuthenticationInformation")]
+ public ConsumerAuthenticationInformation ConsumerAuthenticationInformation { get; set; }
+
+ ///
+ /// Gets or Sets PointOfSaleInformation
+ ///
+
+ [DataMember(Name="pointOfSaleInformation")]
+ public PointOfSaleInformation PointOfSaleInformation { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class PaymentRequest {\n");
+ sb.Append(" ClientReferenceInformation: ").Append(ClientReferenceInformation).Append("\n");
+ sb.Append(" ProcessingInformation: ").Append(ProcessingInformation).Append("\n");
+ sb.Append(" PaymentInformation: ").Append(PaymentInformation).Append("\n");
+ sb.Append(" OrderInformation: ").Append(OrderInformation).Append("\n");
+ sb.Append(" BuyerInformation: ").Append(BuyerInformation).Append("\n");
+ sb.Append(" DeviceInformation: ").Append(DeviceInformation).Append("\n");
+ sb.Append(" ConsumerAuthenticationInformation: ").Append(ConsumerAuthenticationInformation).Append("\n");
+ sb.Append(" PointOfSaleInformation: ").Append(PointOfSaleInformation).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((PaymentRequest)obj);
+ }
+
+ ///
+ /// Returns true if PaymentRequest instances are equal
+ ///
+ /// Instance of PaymentRequest to be compared
+ /// Boolean
+ public bool Equals(PaymentRequest other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ ClientReferenceInformation == other.ClientReferenceInformation ||
+ ClientReferenceInformation != null &&
+ ClientReferenceInformation.Equals(other.ClientReferenceInformation)
+ ) &&
+ (
+ ProcessingInformation == other.ProcessingInformation ||
+ ProcessingInformation != null &&
+ ProcessingInformation.Equals(other.ProcessingInformation)
+ ) &&
+ (
+ PaymentInformation == other.PaymentInformation ||
+ PaymentInformation != null &&
+ PaymentInformation.Equals(other.PaymentInformation)
+ ) &&
+ (
+ OrderInformation == other.OrderInformation ||
+ OrderInformation != null &&
+ OrderInformation.Equals(other.OrderInformation)
+ ) &&
+ (
+ BuyerInformation == other.BuyerInformation ||
+ BuyerInformation != null &&
+ BuyerInformation.Equals(other.BuyerInformation)
+ ) &&
+ (
+ DeviceInformation == other.DeviceInformation ||
+ DeviceInformation != null &&
+ DeviceInformation.Equals(other.DeviceInformation)
+ ) &&
+ (
+ ConsumerAuthenticationInformation == other.ConsumerAuthenticationInformation ||
+ ConsumerAuthenticationInformation != null &&
+ ConsumerAuthenticationInformation.Equals(other.ConsumerAuthenticationInformation)
+ ) &&
+ (
+ PointOfSaleInformation == other.PointOfSaleInformation ||
+ PointOfSaleInformation != null &&
+ PointOfSaleInformation.Equals(other.PointOfSaleInformation)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (ClientReferenceInformation != null)
+ hashCode = hashCode * 59 + ClientReferenceInformation.GetHashCode();
+ if (ProcessingInformation != null)
+ hashCode = hashCode * 59 + ProcessingInformation.GetHashCode();
+ if (PaymentInformation != null)
+ hashCode = hashCode * 59 + PaymentInformation.GetHashCode();
+ if (OrderInformation != null)
+ hashCode = hashCode * 59 + OrderInformation.GetHashCode();
+ if (BuyerInformation != null)
+ hashCode = hashCode * 59 + BuyerInformation.GetHashCode();
+ if (DeviceInformation != null)
+ hashCode = hashCode * 59 + DeviceInformation.GetHashCode();
+ if (ConsumerAuthenticationInformation != null)
+ hashCode = hashCode * 59 + ConsumerAuthenticationInformation.GetHashCode();
+ if (PointOfSaleInformation != null)
+ hashCode = hashCode * 59 + PointOfSaleInformation.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(PaymentRequest left, PaymentRequest right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(PaymentRequest left, PaymentRequest right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Payments.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Payments.cs
new file mode 100644
index 00000000..a79941bf
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/Payments.cs
@@ -0,0 +1,168 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class Payments : IEquatable
+ {
+ ///
+ /// The unique identifier of the transaction. This is returned in the orginal transaction response.
+ ///
+ /// The unique identifier of the transaction. This is returned in the orginal transaction response.
+
+ [DataMember(Name="id")]
+ public string Id { get; set; }
+
+ ///
+ /// The time that the original transaction was submitted, in Coordinated Universal Time.
+ ///
+ /// The time that the original transaction was submitted, in Coordinated Universal Time.
+
+ [DataMember(Name="submitTimeUTC")]
+ public string SubmitTimeUTC { get; set; }
+
+ ///
+ /// Brief description of the status of the transaction. One of the folloiwng - * `authorizedPendingCapture` * `capturedPendingSettlement` * `communicationError` * `refundSettledSuccessfully` * `refundPendingSettlement` * `approvedReview` * `declined` * `couldNotVoid` * `expired` * `generalError` * `failedReview` * `settledSuccessfully` * `settlementError` * `underReview` * `voided` * `FDSPendingReview` * `FDSAuthorizedPendingReview` * `returnedItem`
+ ///
+ /// Brief description of the status of the transaction. One of the folloiwng - * `authorizedPendingCapture` * `capturedPendingSettlement` * `communicationError` * `refundSettledSuccessfully` * `refundPendingSettlement` * `approvedReview` * `declined` * `couldNotVoid` * `expired` * `generalError` * `failedReview` * `settledSuccessfully` * `settlementError` * `underReview` * `voided` * `FDSPendingReview` * `FDSAuthorizedPendingReview` * `returnedItem`
+
+ [DataMember(Name="status")]
+ public string Status { get; set; }
+
+ ///
+ /// Gets or Sets Links
+ ///
+
+ [DataMember(Name="_links")]
+ public SelfLink Links { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class Payments {\n");
+ sb.Append(" Id: ").Append(Id).Append("\n");
+ sb.Append(" SubmitTimeUTC: ").Append(SubmitTimeUTC).Append("\n");
+ sb.Append(" Status: ").Append(Status).Append("\n");
+ sb.Append(" Links: ").Append(Links).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((Payments)obj);
+ }
+
+ ///
+ /// Returns true if Payments instances are equal
+ ///
+ /// Instance of Payments to be compared
+ /// Boolean
+ public bool Equals(Payments other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Id == other.Id ||
+ Id != null &&
+ Id.Equals(other.Id)
+ ) &&
+ (
+ SubmitTimeUTC == other.SubmitTimeUTC ||
+ SubmitTimeUTC != null &&
+ SubmitTimeUTC.Equals(other.SubmitTimeUTC)
+ ) &&
+ (
+ Status == other.Status ||
+ Status != null &&
+ Status.Equals(other.Status)
+ ) &&
+ (
+ Links == other.Links ||
+ Links != null &&
+ Links.Equals(other.Links)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Id != null)
+ hashCode = hashCode * 59 + Id.GetHashCode();
+ if (SubmitTimeUTC != null)
+ hashCode = hashCode * 59 + SubmitTimeUTC.GetHashCode();
+ if (Status != null)
+ hashCode = hashCode * 59 + Status.GetHashCode();
+ if (Links != null)
+ hashCode = hashCode * 59 + Links.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(Payments left, Payments right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(Payments left, Payments right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentsList.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentsList.cs
new file mode 100644
index 00000000..a80dbc95
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PaymentsList.cs
@@ -0,0 +1,120 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class PaymentsList : IEquatable
+ {
+ ///
+ /// Gets or Sets Payments
+ ///
+
+ [DataMember(Name="payments")]
+ public List Payments { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class PaymentsList {\n");
+ sb.Append(" Payments: ").Append(Payments).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((PaymentsList)obj);
+ }
+
+ ///
+ /// Returns true if PaymentsList instances are equal
+ ///
+ /// Instance of PaymentsList to be compared
+ /// Boolean
+ public bool Equals(PaymentsList other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Payments == other.Payments ||
+ Payments != null &&
+ Payments.SequenceEqual(other.Payments)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Payments != null)
+ hashCode = hashCode * 59 + Payments.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(PaymentsList left, PaymentsList right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(PaymentsList left, PaymentsList right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PointOfSaleInformation.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PointOfSaleInformation.cs
new file mode 100644
index 00000000..7c3378f9
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/PointOfSaleInformation.cs
@@ -0,0 +1,121 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class PointOfSaleInformation : IEquatable
+ {
+ ///
+ /// Unique identifier of the terminal that processed the transaction. Useful for reporting.
+ ///
+ /// Unique identifier of the terminal that processed the transaction. Useful for reporting.
+
+ [DataMember(Name="terminalID")]
+ public string TerminalID { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class PointOfSaleInformation {\n");
+ sb.Append(" TerminalID: ").Append(TerminalID).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((PointOfSaleInformation)obj);
+ }
+
+ ///
+ /// Returns true if PointOfSaleInformation instances are equal
+ ///
+ /// Instance of PointOfSaleInformation to be compared
+ /// Boolean
+ public bool Equals(PointOfSaleInformation other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ TerminalID == other.TerminalID ||
+ TerminalID != null &&
+ TerminalID.Equals(other.TerminalID)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (TerminalID != null)
+ hashCode = hashCode * 59 + TerminalID.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(PointOfSaleInformation left, PointOfSaleInformation right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(PointOfSaleInformation left, PointOfSaleInformation right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ProcessingInformation.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ProcessingInformation.cs
new file mode 100644
index 00000000..f0e01030
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ProcessingInformation.cs
@@ -0,0 +1,184 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class ProcessingInformation : IEquatable
+ {
+ ///
+ /// Submit `true` to capture the the payment after it is successfully authorized.
+ ///
+ /// Submit `true` to capture the the payment after it is successfully authorized.
+
+ [DataMember(Name="capture")]
+ public bool? Capture { get; set; }
+
+ ///
+ /// The solution ID is generated by Authorize.Net and provided to the solution provider. Alphanumeric. 50-character maximum.
+ ///
+ /// The solution ID is generated by Authorize.Net and provided to the solution provider. Alphanumeric. 50-character maximum.
+
+ [DataMember(Name="paymentSolution")]
+ public string PaymentSolution { get; set; }
+
+ ///
+ /// Gets or Sets Batch
+ ///
+
+ [DataMember(Name="batch")]
+ public Batch Batch { get; set; }
+
+ ///
+ /// Indicates whether the payment is part of a subscription.
+ ///
+ /// Indicates whether the payment is part of a subscription.
+
+ [DataMember(Name="recurringBilling")]
+ public bool? RecurringBilling { get; set; }
+
+ ///
+ /// Follow up action to be taken once transaction is successful. Valid values are `CREATE_CUSTOMER_PROFILE` and `CREATE_CUSTOMER_PAYMENT_PROFILE`.
+ ///
+ /// Follow up action to be taken once transaction is successful. Valid values are `CREATE_CUSTOMER_PROFILE` and `CREATE_CUSTOMER_PAYMENT_PROFILE`.
+
+ [DataMember(Name="followUpAction")]
+ public string FollowUpAction { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class ProcessingInformation {\n");
+ sb.Append(" Capture: ").Append(Capture).Append("\n");
+ sb.Append(" PaymentSolution: ").Append(PaymentSolution).Append("\n");
+ sb.Append(" Batch: ").Append(Batch).Append("\n");
+ sb.Append(" RecurringBilling: ").Append(RecurringBilling).Append("\n");
+ sb.Append(" FollowUpAction: ").Append(FollowUpAction).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((ProcessingInformation)obj);
+ }
+
+ ///
+ /// Returns true if ProcessingInformation instances are equal
+ ///
+ /// Instance of ProcessingInformation to be compared
+ /// Boolean
+ public bool Equals(ProcessingInformation other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Capture == other.Capture ||
+ Capture != null &&
+ Capture.Equals(other.Capture)
+ ) &&
+ (
+ PaymentSolution == other.PaymentSolution ||
+ PaymentSolution != null &&
+ PaymentSolution.Equals(other.PaymentSolution)
+ ) &&
+ (
+ Batch == other.Batch ||
+ Batch != null &&
+ Batch.Equals(other.Batch)
+ ) &&
+ (
+ RecurringBilling == other.RecurringBilling ||
+ RecurringBilling != null &&
+ RecurringBilling.Equals(other.RecurringBilling)
+ ) &&
+ (
+ FollowUpAction == other.FollowUpAction ||
+ FollowUpAction != null &&
+ FollowUpAction.Equals(other.FollowUpAction)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Capture != null)
+ hashCode = hashCode * 59 + Capture.GetHashCode();
+ if (PaymentSolution != null)
+ hashCode = hashCode * 59 + PaymentSolution.GetHashCode();
+ if (Batch != null)
+ hashCode = hashCode * 59 + Batch.GetHashCode();
+ if (RecurringBilling != null)
+ hashCode = hashCode * 59 + RecurringBilling.GetHashCode();
+ if (FollowUpAction != null)
+ hashCode = hashCode * 59 + FollowUpAction.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(ProcessingInformation left, ProcessingInformation right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(ProcessingInformation left, ProcessingInformation right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ProcessorInformation.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ProcessorInformation.cs
new file mode 100644
index 00000000..cf12724b
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ProcessorInformation.cs
@@ -0,0 +1,166 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class ProcessorInformation : IEquatable
+ {
+ ///
+ /// Authorization or approval code.
+ ///
+ /// Authorization or approval code.
+
+ [DataMember(Name="approvalCode")]
+ public string ApprovalCode { get; set; }
+
+ ///
+ /// Gets or Sets Avs
+ ///
+
+ [DataMember(Name="avs")]
+ public ProcessorInformationAvs Avs { get; set; }
+
+ ///
+ /// Gets or Sets CardVerification
+ ///
+
+ [DataMember(Name="cardVerification")]
+ public ProcessorInformationCardVerification CardVerification { get; set; }
+
+ ///
+ /// Gets or Sets ConsumerAuthenticationResponse
+ ///
+
+ [DataMember(Name="consumerAuthenticationResponse")]
+ public ProcessorInformationConsumerAuthenticationResponse ConsumerAuthenticationResponse { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class ProcessorInformation {\n");
+ sb.Append(" ApprovalCode: ").Append(ApprovalCode).Append("\n");
+ sb.Append(" Avs: ").Append(Avs).Append("\n");
+ sb.Append(" CardVerification: ").Append(CardVerification).Append("\n");
+ sb.Append(" ConsumerAuthenticationResponse: ").Append(ConsumerAuthenticationResponse).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((ProcessorInformation)obj);
+ }
+
+ ///
+ /// Returns true if ProcessorInformation instances are equal
+ ///
+ /// Instance of ProcessorInformation to be compared
+ /// Boolean
+ public bool Equals(ProcessorInformation other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ ApprovalCode == other.ApprovalCode ||
+ ApprovalCode != null &&
+ ApprovalCode.Equals(other.ApprovalCode)
+ ) &&
+ (
+ Avs == other.Avs ||
+ Avs != null &&
+ Avs.Equals(other.Avs)
+ ) &&
+ (
+ CardVerification == other.CardVerification ||
+ CardVerification != null &&
+ CardVerification.Equals(other.CardVerification)
+ ) &&
+ (
+ ConsumerAuthenticationResponse == other.ConsumerAuthenticationResponse ||
+ ConsumerAuthenticationResponse != null &&
+ ConsumerAuthenticationResponse.Equals(other.ConsumerAuthenticationResponse)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (ApprovalCode != null)
+ hashCode = hashCode * 59 + ApprovalCode.GetHashCode();
+ if (Avs != null)
+ hashCode = hashCode * 59 + Avs.GetHashCode();
+ if (CardVerification != null)
+ hashCode = hashCode * 59 + CardVerification.GetHashCode();
+ if (ConsumerAuthenticationResponse != null)
+ hashCode = hashCode * 59 + ConsumerAuthenticationResponse.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(ProcessorInformation left, ProcessorInformation right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(ProcessorInformation left, ProcessorInformation right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ProcessorInformationAvs.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ProcessorInformationAvs.cs
new file mode 100644
index 00000000..bc7a5c90
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ProcessorInformationAvs.cs
@@ -0,0 +1,121 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class ProcessorInformationAvs : IEquatable
+ {
+ ///
+ /// Address Verification Service (AVS) response code. Indicates the result of the AVS filter. * `A` = Address (Street) matches, ZIP does not. * `B` = Address information not provided for AVS check. * `E` = AVS error. * `G` = Non-U.S. Card Issuing Bank. * `N` = No Match on Address (Street) or ZIP. * `P` = AVS not applicable for this transaction. * `R` = Retry — System unavailable or timed out. * `S` = Service not supported by issuer. * `U` = Address information is unavailable. * `W` = Nine digit ZIP matches, Address (Street) does not. * `X` = Address (Street) and nine digit ZIP match. * `Y` = Address (Street) and five digit ZIP match. * `Z` = Five digit ZIP matches, Address (Street) does not.
+ ///
+ /// Address Verification Service (AVS) response code. Indicates the result of the AVS filter. * `A` = Address (Street) matches, ZIP does not. * `B` = Address information not provided for AVS check. * `E` = AVS error. * `G` = Non-U.S. Card Issuing Bank. * `N` = No Match on Address (Street) or ZIP. * `P` = AVS not applicable for this transaction. * `R` = Retry — System unavailable or timed out. * `S` = Service not supported by issuer. * `U` = Address information is unavailable. * `W` = Nine digit ZIP matches, Address (Street) does not. * `X` = Address (Street) and nine digit ZIP match. * `Y` = Address (Street) and five digit ZIP match. * `Z` = Five digit ZIP matches, Address (Street) does not.
+
+ [DataMember(Name="code")]
+ public string Code { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class ProcessorInformationAvs {\n");
+ sb.Append(" Code: ").Append(Code).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((ProcessorInformationAvs)obj);
+ }
+
+ ///
+ /// Returns true if ProcessorInformationAvs instances are equal
+ ///
+ /// Instance of ProcessorInformationAvs to be compared
+ /// Boolean
+ public bool Equals(ProcessorInformationAvs other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Code == other.Code ||
+ Code != null &&
+ Code.Equals(other.Code)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Code != null)
+ hashCode = hashCode * 59 + Code.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(ProcessorInformationAvs left, ProcessorInformationAvs right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(ProcessorInformationAvs left, ProcessorInformationAvs right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ProcessorInformationCardVerification.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ProcessorInformationCardVerification.cs
new file mode 100644
index 00000000..10320369
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ProcessorInformationCardVerification.cs
@@ -0,0 +1,121 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class ProcessorInformationCardVerification : IEquatable
+ {
+ ///
+ /// Card code verification (CCV) response code. String, 1 character. Valid values include: * `M` - - CVV matched. * `N` - - CVV did not match. * `P` - - CVV was not processed. * `S` - - CVV should have been present but was not indicated. * `U` - - The issuer was unable to process the CVV check.
+ ///
+ /// Card code verification (CCV) response code. String, 1 character. Valid values include: * `M` - - CVV matched. * `N` - - CVV did not match. * `P` - - CVV was not processed. * `S` - - CVV should have been present but was not indicated. * `U` - - The issuer was unable to process the CVV check.
+
+ [DataMember(Name="resultCode")]
+ public string ResultCode { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class ProcessorInformationCardVerification {\n");
+ sb.Append(" ResultCode: ").Append(ResultCode).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((ProcessorInformationCardVerification)obj);
+ }
+
+ ///
+ /// Returns true if ProcessorInformationCardVerification instances are equal
+ ///
+ /// Instance of ProcessorInformationCardVerification to be compared
+ /// Boolean
+ public bool Equals(ProcessorInformationCardVerification other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ ResultCode == other.ResultCode ||
+ ResultCode != null &&
+ ResultCode.Equals(other.ResultCode)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (ResultCode != null)
+ hashCode = hashCode * 59 + ResultCode.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(ProcessorInformationCardVerification left, ProcessorInformationCardVerification right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(ProcessorInformationCardVerification left, ProcessorInformationCardVerification right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ProcessorInformationConsumerAuthenticationResponse.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ProcessorInformationConsumerAuthenticationResponse.cs
new file mode 100644
index 00000000..a410993d
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/ProcessorInformationConsumerAuthenticationResponse.cs
@@ -0,0 +1,121 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class ProcessorInformationConsumerAuthenticationResponse : IEquatable
+ {
+ ///
+ /// Cardholder authentication verification response code. **Note:** Mastercard transactions always return a null result for this element. Consequently, transaction details for Mastercard transactions do not contain CAVV results. String, 1 character. Valid values include: * Blank or not present - - CAVV not validated. * `0` - - CAVV was not validated because erroneous data was submitted. * `1` - - CAVV failed validation. * `2` - - CAVV passed validation. * `3` - - CAVV validation could not be performed; issuer attempt incomplete. * `4` - - CAVV validation could not be performed; issuer system error. * `5` - - Reserved for future use. * `6` - - Reserved for future use. * `7` - - CAVV failed validation, but the issuer is available. Valid for U.S.-issued card submitted to non-U.S acquirer. * `8` - - CAVV passed validation and the issuer is available. Valid for U.S.-issued card submitted to non-U.S. acquirer. * `9` - - CAVV failed validation and the issuer is unavailable. Valid for U.S.-issued card submitted to non-U.S acquirer. * `A` - - CAVV passed validation but the issuer unavailable. Valid for U.S.-issued card submitted to non-U.S acquirer. * `B` - - CAVV passed validation, information only, no liability shift.
+ ///
+ /// Cardholder authentication verification response code. **Note:** Mastercard transactions always return a null result for this element. Consequently, transaction details for Mastercard transactions do not contain CAVV results. String, 1 character. Valid values include: * Blank or not present - - CAVV not validated. * `0` - - CAVV was not validated because erroneous data was submitted. * `1` - - CAVV failed validation. * `2` - - CAVV passed validation. * `3` - - CAVV validation could not be performed; issuer attempt incomplete. * `4` - - CAVV validation could not be performed; issuer system error. * `5` - - Reserved for future use. * `6` - - Reserved for future use. * `7` - - CAVV failed validation, but the issuer is available. Valid for U.S.-issued card submitted to non-U.S acquirer. * `8` - - CAVV passed validation and the issuer is available. Valid for U.S.-issued card submitted to non-U.S. acquirer. * `9` - - CAVV failed validation and the issuer is unavailable. Valid for U.S.-issued card submitted to non-U.S acquirer. * `A` - - CAVV passed validation but the issuer unavailable. Valid for U.S.-issued card submitted to non-U.S acquirer. * `B` - - CAVV passed validation, information only, no liability shift.
+
+ [DataMember(Name="code")]
+ public string Code { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class ProcessorInformationConsumerAuthenticationResponse {\n");
+ sb.Append(" Code: ").Append(Code).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((ProcessorInformationConsumerAuthenticationResponse)obj);
+ }
+
+ ///
+ /// Returns true if ProcessorInformationConsumerAuthenticationResponse instances are equal
+ ///
+ /// Instance of ProcessorInformationConsumerAuthenticationResponse to be compared
+ /// Boolean
+ public bool Equals(ProcessorInformationConsumerAuthenticationResponse other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Code == other.Code ||
+ Code != null &&
+ Code.Equals(other.Code)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Code != null)
+ hashCode = hashCode * 59 + Code.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(ProcessorInformationConsumerAuthenticationResponse left, ProcessorInformationConsumerAuthenticationResponse right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(ProcessorInformationConsumerAuthenticationResponse left, ProcessorInformationConsumerAuthenticationResponse right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/RefundRequest.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/RefundRequest.cs
new file mode 100644
index 00000000..9dd944fa
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/RefundRequest.cs
@@ -0,0 +1,180 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Model for RefundRequest
+ ///
+ [DataContract]
+ public partial class RefundRequest : IEquatable
+ {
+ ///
+ /// Gets or Sets PaymentInformation
+ ///
+
+ [DataMember(Name="paymentInformation")]
+ public PaymentInformation PaymentInformation { get; set; }
+
+ ///
+ /// Gets or Sets OrderInformation
+ ///
+
+ [DataMember(Name="orderInformation")]
+ public OrderInformation OrderInformation { get; set; }
+
+ ///
+ /// Gets or Sets BuyerInformation
+ ///
+
+ [DataMember(Name="buyerInformation")]
+ public BuyerInformation BuyerInformation { get; set; }
+
+ ///
+ /// Gets or Sets DeviceInformation
+ ///
+
+ [DataMember(Name="deviceInformation")]
+ public DeviceInformation DeviceInformation { get; set; }
+
+ ///
+ /// Gets or Sets PointOfSaleInformation
+ ///
+
+ [DataMember(Name="pointOfSaleInformation")]
+ public PointOfSaleInformation PointOfSaleInformation { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class RefundRequest {\n");
+ sb.Append(" PaymentInformation: ").Append(PaymentInformation).Append("\n");
+ sb.Append(" OrderInformation: ").Append(OrderInformation).Append("\n");
+ sb.Append(" BuyerInformation: ").Append(BuyerInformation).Append("\n");
+ sb.Append(" DeviceInformation: ").Append(DeviceInformation).Append("\n");
+ sb.Append(" PointOfSaleInformation: ").Append(PointOfSaleInformation).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((RefundRequest)obj);
+ }
+
+ ///
+ /// Returns true if RefundRequest instances are equal
+ ///
+ /// Instance of RefundRequest to be compared
+ /// Boolean
+ public bool Equals(RefundRequest other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ PaymentInformation == other.PaymentInformation ||
+ PaymentInformation != null &&
+ PaymentInformation.Equals(other.PaymentInformation)
+ ) &&
+ (
+ OrderInformation == other.OrderInformation ||
+ OrderInformation != null &&
+ OrderInformation.Equals(other.OrderInformation)
+ ) &&
+ (
+ BuyerInformation == other.BuyerInformation ||
+ BuyerInformation != null &&
+ BuyerInformation.Equals(other.BuyerInformation)
+ ) &&
+ (
+ DeviceInformation == other.DeviceInformation ||
+ DeviceInformation != null &&
+ DeviceInformation.Equals(other.DeviceInformation)
+ ) &&
+ (
+ PointOfSaleInformation == other.PointOfSaleInformation ||
+ PointOfSaleInformation != null &&
+ PointOfSaleInformation.Equals(other.PointOfSaleInformation)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (PaymentInformation != null)
+ hashCode = hashCode * 59 + PaymentInformation.GetHashCode();
+ if (OrderInformation != null)
+ hashCode = hashCode * 59 + OrderInformation.GetHashCode();
+ if (BuyerInformation != null)
+ hashCode = hashCode * 59 + BuyerInformation.GetHashCode();
+ if (DeviceInformation != null)
+ hashCode = hashCode * 59 + DeviceInformation.GetHashCode();
+ if (PointOfSaleInformation != null)
+ hashCode = hashCode * 59 + PointOfSaleInformation.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(RefundRequest left, RefundRequest right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(RefundRequest left, RefundRequest right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/RetryLog.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/RetryLog.cs
new file mode 100644
index 00000000..86b2fef5
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/RetryLog.cs
@@ -0,0 +1,121 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ /// Logging information about notification retries.
+ ///
+ [DataContract]
+ public partial class RetryLog : IEquatable
+ {
+ ///
+ /// Gets or Sets Logs
+ ///
+ [Required]
+
+ [DataMember(Name="logs")]
+ public List Logs { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class RetryLog {\n");
+ sb.Append(" Logs: ").Append(Logs).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((RetryLog)obj);
+ }
+
+ ///
+ /// Returns true if RetryLog instances are equal
+ ///
+ /// Instance of RetryLog to be compared
+ /// Boolean
+ public bool Equals(RetryLog other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Logs == other.Logs ||
+ Logs != null &&
+ Logs.SequenceEqual(other.Logs)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Logs != null)
+ hashCode = hashCode * 59 + Logs.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(RetryLog left, RetryLog right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(RetryLog left, RetryLog right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/SelfLink.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/SelfLink.cs
new file mode 100644
index 00000000..69264263
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/SelfLink.cs
@@ -0,0 +1,120 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class SelfLink : IEquatable
+ {
+ ///
+ /// Gets or Sets Self
+ ///
+
+ [DataMember(Name="self")]
+ public Link Self { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class SelfLink {\n");
+ sb.Append(" Self: ").Append(Self).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((SelfLink)obj);
+ }
+
+ ///
+ /// Returns true if SelfLink instances are equal
+ ///
+ /// Instance of SelfLink to be compared
+ /// Boolean
+ public bool Equals(SelfLink other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Self == other.Self ||
+ Self != null &&
+ Self.Equals(other.Self)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Self != null)
+ hashCode = hashCode * 59 + Self.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(SelfLink left, SelfLink right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(SelfLink left, SelfLink right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/TokenizedCard.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/TokenizedCard.cs
new file mode 100644
index 00000000..63c50aa2
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/TokenizedCard.cs
@@ -0,0 +1,173 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.Linq;
+using System.IO;
+using System.Text;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.ComponentModel.DataAnnotations;
+using System.Runtime.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ ///
+ ///
+ ///
+ [DataContract]
+ public partial class TokenizedCard : IEquatable
+ {
+ ///
+ /// The credit card token.
+ ///
+ /// The credit card token.
+ [Required]
+
+ [DataMember(Name="number")]
+ public string Number { get; set; }
+
+ ///
+ /// The token's expiration month in MM format. Use the value of the token's expiration date, not the card's expiration date.
+ ///
+ /// The token's expiration month in MM format. Use the value of the token's expiration date, not the card's expiration date.
+ [Required]
+
+ [DataMember(Name="expirationMonth")]
+ public string ExpirationMonth { get; set; }
+
+ ///
+ /// The token's expiration year in YYYY format. Use the value of the token's expiration date, not the card's expiration date.
+ ///
+ /// The token's expiration year in YYYY format. Use the value of the token's expiration date, not the card's expiration date.
+ [Required]
+
+ [DataMember(Name="expirationYear")]
+ public string ExpirationYear { get; set; }
+
+ ///
+ /// Set this to the value of the cryptogram received from the token provider. This field confirms that the payment data is tokenized, and it must be submitted when the credit card number is a tokenized credit card.
+ ///
+ /// Set this to the value of the cryptogram received from the token provider. This field confirms that the payment data is tokenized, and it must be submitted when the credit card number is a tokenized credit card.
+ [Required]
+
+ [DataMember(Name="cryptogram")]
+ public string Cryptogram { get; set; }
+
+ ///
+ /// Returns the string presentation of the object
+ ///
+ /// String presentation of the object
+ public override string ToString()
+ {
+ var sb = new StringBuilder();
+ sb.Append("class TokenizedCard {\n");
+ sb.Append(" Number: ").Append(Number).Append("\n");
+ sb.Append(" ExpirationMonth: ").Append(ExpirationMonth).Append("\n");
+ sb.Append(" ExpirationYear: ").Append(ExpirationYear).Append("\n");
+ sb.Append(" Cryptogram: ").Append(Cryptogram).Append("\n");
+ sb.Append("}\n");
+ return sb.ToString();
+ }
+
+ ///
+ /// Returns the JSON string presentation of the object
+ ///
+ /// JSON string presentation of the object
+ public string ToJson()
+ {
+ return JsonConvert.SerializeObject(this, Formatting.Indented);
+ }
+
+ ///
+ /// Returns true if objects are equal
+ ///
+ /// Object to be compared
+ /// Boolean
+ public override bool Equals(object obj)
+ {
+ if (ReferenceEquals(null, obj)) return false;
+ if (ReferenceEquals(this, obj)) return true;
+ return obj.GetType() == GetType() && Equals((TokenizedCard)obj);
+ }
+
+ ///
+ /// Returns true if TokenizedCard instances are equal
+ ///
+ /// Instance of TokenizedCard to be compared
+ /// Boolean
+ public bool Equals(TokenizedCard other)
+ {
+ if (ReferenceEquals(null, other)) return false;
+ if (ReferenceEquals(this, other)) return true;
+
+ return
+ (
+ Number == other.Number ||
+ Number != null &&
+ Number.Equals(other.Number)
+ ) &&
+ (
+ ExpirationMonth == other.ExpirationMonth ||
+ ExpirationMonth != null &&
+ ExpirationMonth.Equals(other.ExpirationMonth)
+ ) &&
+ (
+ ExpirationYear == other.ExpirationYear ||
+ ExpirationYear != null &&
+ ExpirationYear.Equals(other.ExpirationYear)
+ ) &&
+ (
+ Cryptogram == other.Cryptogram ||
+ Cryptogram != null &&
+ Cryptogram.Equals(other.Cryptogram)
+ );
+ }
+
+ ///
+ /// Gets the hash code
+ ///
+ /// Hash code
+ public override int GetHashCode()
+ {
+ unchecked // Overflow is fine, just wrap
+ {
+ var hashCode = 41;
+ // Suitable nullity checks etc, of course :)
+ if (Number != null)
+ hashCode = hashCode * 59 + Number.GetHashCode();
+ if (ExpirationMonth != null)
+ hashCode = hashCode * 59 + ExpirationMonth.GetHashCode();
+ if (ExpirationYear != null)
+ hashCode = hashCode * 59 + ExpirationYear.GetHashCode();
+ if (Cryptogram != null)
+ hashCode = hashCode * 59 + Cryptogram.GetHashCode();
+ return hashCode;
+ }
+ }
+
+ #region Operators
+ #pragma warning disable 1591
+
+ public static bool operator ==(TokenizedCard left, TokenizedCard right)
+ {
+ return Equals(left, right);
+ }
+
+ public static bool operator !=(TokenizedCard left, TokenizedCard right)
+ {
+ return !Equals(left, right);
+ }
+
+ #pragma warning restore 1591
+ #endregion Operators
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/XsdHelper.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/XsdHelper.cs
new file mode 100644
index 00000000..db6017a9
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/XsdHelper.cs
@@ -0,0 +1,103 @@
+using System;
+using System.IO;
+using System.Xml;
+using System.Xml.Serialization;
+using Newtonsoft.Json;
+
+namespace IO.Swagger.Models
+{
+ public class XsdHelper
+ {
+ ///
+ /// Serializes a C# object to XML based on the generated XSD class.
+ ///
+ /// Type of object to serialize.
+ /// The object to serialize.
+ /// XML representation of the object.
+ //public string SerializeToXml(T objectToSerialize)
+ //{
+ // if (objectToSerialize == null)
+ // throw new ArgumentNullException(nameof(objectToSerialize));
+
+ // XmlSerializer serializer = new XmlSerializer(typeof(T));
+
+ // using (StringWriter textWriter = new StringWriter())
+ // {
+ // serializer.Serialize(textWriter, objectToSerialize);
+ // return textWriter.ToString();
+ // }
+ //}
+ ///
+ /// Converts a JSON string to a C# object.
+ ///
+ /// The type of object to convert to.
+ /// JSON data to convert.
+ /// Deserialized C# object.
+ //public T ConvertJsonToCSharpObject(string jsonData)
+ //{
+ // if (string.IsNullOrEmpty(jsonData))
+ // throw new ArgumentNullException(nameof(jsonData));
+
+ // return JsonConvert.DeserializeObject(jsonData);
+ //}
+
+ ///
+ /// Converts a C# object to a JSON string.
+ ///
+ /// The type of object to convert.
+ /// The C# object to convert.
+ /// JSON string representation.
+ //public string ConvertObjectToJson(T objectToConvert)
+ //{
+ // if (objectToConvert == null)
+ // throw new ArgumentNullException(nameof(objectToConvert));
+
+ // //return JsonConvert.SerializeObject(objectToConvert);
+ // return JsonConvert.DeserializeObject(objectToConvert);
+ //}
+ public string ConvertObjectToJson(T objectToConvert)
+ {
+ if (objectToConvert == null)
+ throw new ArgumentNullException(nameof(objectToConvert));
+
+ // Serialize the object to JSON
+ return JsonConvert.SerializeObject(objectToConvert);
+ }
+
+ // Method to convert C# object to JSON string
+ public string FirstConvertObjectToJson(T obj)
+ {
+ return JsonConvert.SerializeObject(obj, (Newtonsoft.Json.Formatting)System.Xml.Formatting.Indented);
+ }
+
+ // Method to convert JSON string to XML string
+ public string ConvertJsonToXml(string json)
+ {
+ XmlDocument doc = JsonConvert.DeserializeXmlNode(json, "Root");
+ return doc.OuterXml;
+ }
+
+ public string ToXml()
+ {
+ var xmlSerializer = new XmlSerializer(typeof(Address));
+ using (var stringWriter = new StringWriter())
+ {
+ xmlSerializer.Serialize(stringWriter, this);
+ return stringWriter.ToString();
+ }
+ }
+
+ public static Address FromXml(string xml)
+ {
+ var xmlSerializer = new XmlSerializer(typeof(Address));
+ using (var stringReader = new StringReader(xml))
+ {
+ return (Address)xmlSerializer.Deserialize(stringReader);
+ }
+ }
+ public static Address FromJson(string json)
+ {
+ return JsonConvert.DeserializeObject(json);
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/xsd.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/xsd.cs
new file mode 100644
index 00000000..1771fcb0
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Models/xsd.cs
@@ -0,0 +1,191 @@
+using System.Net.Http.Headers;
+using System.Net.Http;
+using System.Text;
+using System.Threading.Tasks;
+using System;
+using System.Xml;
+using System.Xml.Schema;
+
+using Newtonsoft.Json;
+using System.IO;
+namespace IO.Swagger.Models
+{
+ public class xsd
+ {
+ public async Task SendSoapRequest(string soapRequest, string xsdFilePath= "C:/Temp/New.xsd")
+ {
+ // Authorize.Net API credentials
+ string apiLoginID = ""; // Your actual API Login ID
+ string transactionKey = ""; // Your actual Transaction Key
+
+ // Create the authorization value in base64
+ string authValue = Convert.ToBase64String(Encoding.UTF8.GetBytes($"{apiLoginID}:{transactionKey}"));
+
+ // Set the Base URL for the Authorize.Net API
+ using (var httpClient = new HttpClient())
+ {
+ httpClient.BaseAddress = new Uri("https://apitest.authorize.net");
+
+ // Set the Authorization header
+ httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", authValue);
+
+ // The SOAP/REST API endpoint URL for the request
+ string apiEndpoint = "https://apitest.authorize.net/xml/v1/customers/924517851/addresses";
+
+ //Validate the SOAP request XML against the XSD schema
+ if (!ValidateXmlAgainstXsd(soapRequest, xsdFilePath))
+ {
+ Console.WriteLine("XML validation failed against the XSD schema.");
+ return "XML validation failed.";
+ }
+
+ try
+ {
+ // Set up the content for the SOAP request
+ var httpContent = new StringContent(soapRequest, Encoding.UTF8, "text/xml");
+
+ // Send POST request
+ var response = await httpClient.PostAsync(apiEndpoint, httpContent);
+
+ // Check if the response is successful
+ if (response.IsSuccessStatusCode)
+ {
+ // Read the response content
+ string result = await response.Content.ReadAsStringAsync();
+
+ // Convert XML to JSON if needed (you may use the method provided in your codebase)
+ string jsonResult = ConvertXmlToJson(result); // Assuming you have a ConvertXmlToJson method
+ return jsonResult;
+ }
+ else
+ {
+ Console.WriteLine("Error in the API request: " + response.ReasonPhrase);
+ return null;
+ }
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("Exception occurred while calling the API: " + ex.Message);
+ return null;
+ }
+ }
+ }
+
+ private string ConvertXmlToJson(string xml)
+ {
+ var xmlDoc = new XmlDocument();
+ xmlDoc.LoadXml(xml); // Load the XML string into XmlDocument
+
+ string jsonText = JsonConvert.SerializeXmlNode(xmlDoc, Newtonsoft.Json.Formatting.Indented);
+ return jsonText; // Return the JSON string
+ }
+
+ public bool ValidateXmlAgainstXsd(string xmlContent, string xsdFilePath)
+ {
+ try
+ {
+ XmlSchemaSet schema = new XmlSchemaSet();
+
+ // Specify the targetNamespace that matches your XSD
+ string targetNamespace = "AnetApi/xml/v1/schema/AnetApiSchema.xsd";
+ schema.Add(targetNamespace, xsdFilePath); // Load XSD file with the correct targetNamespace
+
+ XmlReaderSettings settings = new XmlReaderSettings();
+ settings.Schemas.Add(schema);
+ settings.ValidationType = ValidationType.Schema;
+
+ settings.ValidationEventHandler += (sender, args) =>
+ {
+ Console.WriteLine($"Validation error: {args.Message}");
+ };
+
+ using (StringReader stringReader = new StringReader(xmlContent))
+ using (XmlReader reader = XmlReader.Create(stringReader, settings))
+ {
+ while (reader.Read()) { } // Perform validation
+ }
+
+ return true;
+ }
+ catch (XmlException ex)
+ {
+ Console.WriteLine("XML Exception: " + ex.Message);
+ return false;
+ }
+ catch (Exception ex)
+ {
+ Console.WriteLine("Exception during XML validation: " + ex.Message);
+ return false;
+ }
+ }
+
+
+ public async Task SendSoapRequestxsd(string soapRequest)
+ {
+ string[] paths = { "C:/Temp" };
+ // Ensure the directory path where the XSD file will be placed
+ string directoryPath = Path.Combine(paths);
+
+
+
+ // Check if the directory exists, if not, create it
+ if (!Directory.Exists(directoryPath))
+ {
+ Directory.CreateDirectory(directoryPath);
+ }
+
+ // Define the full path to the XSD file
+ //string xsdPath = Path.Combine(directoryPath, "out.xsd");
+ string xsdPath = "C:/Temp/New.xsd";
+
+ // Check if the XSD file doesn't exist, create it
+ if (!File.Exists(xsdPath))
+ {
+ string xsdContent = @"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ ";
+
+ // Write the XSD content to the file
+ File.WriteAllText(xsdPath, xsdContent);
+ }
+
+ // Assuming SendSoapRequest is already implemented and accepts two parameters: XML request and XSD path
+ string result = await SendSoapRequest(soapRequest, xsdPath);
+
+ // Return the result
+ return result;
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Program.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Program.cs
new file mode 100644
index 00000000..ae409c1e
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Program.cs
@@ -0,0 +1,29 @@
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.AspNetCore;
+
+namespace IO.Swagger
+{
+ ///
+ /// Program
+ ///
+ public class Program
+ {
+ ///
+ /// Main
+ ///
+ ///
+ public static void Main(string[] args)
+ {
+ CreateWebHostBuilder(args).Build().Run();
+ }
+
+ ///
+ /// Create the web host builder.
+ ///
+ ///
+ /// IWebHostBuilder
+ public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
+ WebHost.CreateDefaultBuilder(args)
+ .UseStartup();
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Properties/launchSettings.json b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Properties/launchSettings.json
new file mode 100644
index 00000000..5bb6f829
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Properties/launchSettings.json
@@ -0,0 +1,36 @@
+{
+ "iisSettings": {
+ "windowsAuthentication": false,
+ "anonymousAuthentication": true,
+ "iisExpress": {
+ "applicationUrl": "http://localhost:50352/",
+ "sslPort": 0
+ }
+ },
+ "profiles": {
+ "IIS Express": {
+ "commandName": "IISExpress",
+ "launchBrowser": true,
+ "launchUrl": "swagger/",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "web": {
+ "commandName": "Project",
+ "launchBrowser": true,
+ "launchUrl": "swagger",
+ "applicationUrl": "https://localhost:5001;http://localhost:5000",
+ "environmentVariables": {
+ "ASPNETCORE_ENVIRONMENT": "Development"
+ }
+ },
+ "Docker": {
+ "commandName": "Docker",
+ "launchBrowser": true,
+ "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}/swagger",
+ "publishAllPorts": true,
+ "useSSL": true
+ }
+ }
+}
\ No newline at end of file
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Security/BasicAuthenticationHandler.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Security/BasicAuthenticationHandler.cs
new file mode 100644
index 00000000..d0169a76
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Security/BasicAuthenticationHandler.cs
@@ -0,0 +1,60 @@
+using System;
+using System.Net.Http.Headers;
+using System.Security.Claims;
+using System.Text;
+using System.Text.Encodings.Web;
+using System.Threading.Tasks;
+using Microsoft.AspNetCore.Authentication;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Options;
+
+namespace IO.Swagger.Security
+{
+ ///
+ /// class to handle basic authentication.
+ ///
+ public class BasicAuthenticationHandler : AuthenticationHandler
+ {
+ ///
+ /// scheme name for authentication handler.
+ ///
+ public const string SchemeName = "Basic";
+
+ public BasicAuthenticationHandler(IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder, ISystemClock clock) : base(options, logger, encoder, clock)
+ {
+ }
+
+ ///
+ /// verify that require authorization header exists and handle decode data.
+ ///
+ protected override async Task HandleAuthenticateAsync()
+ {
+ if (!Request.Headers.ContainsKey("Authorization"))
+ {
+ return AuthenticateResult.Fail("Missing Authorization Header");
+ }
+ try
+ {
+ var authHeader = AuthenticationHeaderValue.Parse(Request.Headers["Authorization"]);
+ var credentialBytes = Convert.FromBase64String(authHeader.Parameter);
+ var credentials = Encoding.UTF8.GetString(credentialBytes).Split(':');
+ var username = credentials[0];
+ var password = credentials[1];
+ }
+ catch
+ {
+ return AuthenticateResult.Fail("Invalid Authorization Header");
+ }
+
+ var claims = new[] {
+ new Claim(ClaimTypes.NameIdentifier, "changeme"),
+ new Claim(ClaimTypes.Name, "changeme"),
+ };
+ var identity = new ClaimsIdentity(claims, Scheme.Name);
+ var principal = new ClaimsPrincipal(identity);
+ var ticket = new AuthenticationTicket(principal, Scheme.Name);
+
+ return AuthenticateResult.Success(ticket);
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Startup.cs b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Startup.cs
new file mode 100644
index 00000000..5c288934
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/Startup.cs
@@ -0,0 +1,147 @@
+/*
+ * Authorize.Net REST API
+ *
+ * Authorize.Net REST API
+ *
+ * OpenAPI spec version: 1.0
+ *
+ * Generated by: https://github.com/swagger-api/swagger-codegen.git
+ */
+using System;
+using System.IO;
+using Microsoft.AspNetCore.Authentication;
+using Microsoft.AspNetCore.Builder;
+using Microsoft.AspNetCore.Hosting;
+using Microsoft.Extensions.Configuration;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Hosting;
+using Microsoft.Extensions.Logging;
+using Microsoft.OpenApi.Models;
+using Newtonsoft.Json.Converters;
+using Newtonsoft.Json.Serialization;
+using Swashbuckle.AspNetCore.Swagger;
+using Swashbuckle.AspNetCore.SwaggerGen;
+using IO.Swagger.Filters;
+using IO.Swagger.Security;
+using Microsoft.AspNetCore.Mvc.NewtonsoftJson;
+
+namespace IO.Swagger
+{
+ ///
+ /// Startup
+ ///
+ public class Startup
+ {
+ private readonly IWebHostEnvironment _hostingEnv;
+
+ private IConfiguration Configuration { get; }
+
+ ///
+ /// Constructor
+ ///
+ ///
+ ///
+ public Startup(IWebHostEnvironment env, IConfiguration configuration)
+ {
+ _hostingEnv = env;
+ Configuration = configuration;
+ }
+
+ ///
+ /// This method gets called by the runtime. Use this method to add services to the container.
+ ///
+ ///
+ public void ConfigureServices(IServiceCollection services)
+ {
+ // Add framework services.
+ services
+ .AddMvc(options =>
+ {
+ options.InputFormatters.RemoveType();
+ options.OutputFormatters.RemoveType();
+ })
+ .AddNewtonsoftJson(opts =>
+ {
+ opts.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
+ opts.SerializerSettings.Converters.Add(new StringEnumConverter(new CamelCaseNamingStrategy()));
+ })
+ .AddXmlSerializerFormatters();
+
+ services.AddAuthentication(BasicAuthenticationHandler.SchemeName)
+ .AddScheme(BasicAuthenticationHandler.SchemeName, null);
+
+
+ services
+ .AddSwaggerGen(c =>
+ {
+ c.SwaggerDoc("1.0", new OpenApiInfo
+ {
+ Version = "1.0",
+ Title = "Authorize.Net REST API",
+ Description = "Authorize.Net REST API (ASP.NET Core 3.1)",
+ Contact = new OpenApiContact()
+ {
+ Name = "developer_feedback@authorize.net",
+ Url = new Uri("https://github.com/swagger-api/swagger-codegen/"),
+ Email = ""
+ },
+ TermsOfService = new Uri("http://localhost:50352/")
+ });
+ c.CustomSchemaIds(type => type.FullName);
+ c.IncludeXmlComments($"{AppContext.BaseDirectory}{Path.DirectorySeparatorChar}{_hostingEnv.ApplicationName}.xml");
+ // Sets the basePath property in the Swagger document generated
+ c.DocumentFilter("/");
+
+ // Include DataAnnotation attributes on Controller Action parameters as Swagger validation rules (e.g required, pattern, ..)
+ // Use [ValidateModelState] on Actions to actually validate it in C# as well!
+ c.OperationFilter();
+ });
+ }
+
+ ///
+ /// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
+ ///
+ ///
+ ///
+ ///
+ public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
+ {
+ app.UseRouting();
+
+ //TODO: Uncomment this if you need wwwroot folder
+ // app.UseStaticFiles();
+
+ app.UseAuthorization();
+
+ app.UseSwagger();
+ app.UseSwaggerUI(c =>
+ {
+ //TODO: Either use the SwaggerGen generated Swagger contract (generated from C# classes)
+ c.SwaggerEndpoint("/swagger/1.0/swagger.json", "Authorize.Net REST API");
+
+ //TODO: Or alternatively use the original Swagger contract that's included in the static files
+ // c.SwaggerEndpoint("/swagger-original.json", "Authorize.Net REST API Original");
+ });
+
+ //TODO: Use Https Redirection
+ // app.UseHttpsRedirection();
+
+ app.UseEndpoints(endpoints =>
+ {
+ endpoints.MapControllers();
+ });
+
+ if (env.IsDevelopment())
+ {
+ app.UseDeveloperExceptionPage();
+ }
+ else
+ {
+ //TODO: Enable production exception handling (https://docs.microsoft.com/en-us/aspnet/core/fundamentals/error-handling)
+ app.UseExceptionHandler("/Error");
+
+ app.UseHsts();
+ }
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/appsettings.json b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/appsettings.json
new file mode 100644
index 00000000..c6af7d9b
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/appsettings.json
@@ -0,0 +1,10 @@
+{
+ "Logging": {
+ "IncludeScopes": false,
+ "LogLevel": {
+ "Default": "Information",
+ "System": "Information",
+ "Microsoft": "Information"
+ }
+ }
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/web.config b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/web.config
new file mode 100644
index 00000000..6250eaf4
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/web.config
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/wwwroot/README.md b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/wwwroot/README.md
new file mode 100644
index 00000000..6a0b7847
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/wwwroot/README.md
@@ -0,0 +1,42 @@
+# Welcome to ASP.NET 5 Preview
+
+We've made some big updates in this release, so it’s **important** that you spend a few minutes to learn what’s new.
+
+ASP.NET 5 has been rearchitected to make it **lean** and **composable**. It's fully **open source** and available on [GitHub](http://go.microsoft.com/fwlink/?LinkID=517854).
+Your new project automatically takes advantage of modern client-side utilities like [Bower](http://go.microsoft.com/fwlink/?LinkId=518004) and [npm](http://go.microsoft.com/fwlink/?LinkId=518005) (to add client-side libraries) and [Gulp](http://go.microsoft.com/fwlink/?LinkId=518007) (for client-side build and automation tasks).
+
+We hope you enjoy the new capabilities in ASP.NET 5 and Visual Studio 2015.
+The ASP.NET Team
+
+### You've created a new ASP.NET 5 project. [Learn what's new](http://go.microsoft.com/fwlink/?LinkId=518016)
+
+### This application consists of:
+* Sample pages using ASP.NET MVC 6
+* [Gulp](http://go.microsoft.com/fwlink/?LinkId=518007) and [Bower](http://go.microsoft.com/fwlink/?LinkId=518004) for managing client-side resources
+* Theming using [Bootstrap](http://go.microsoft.com/fwlink/?LinkID=398939)
+
+#### NEW CONCEPTS
+* [The 'wwwroot' explained](http://go.microsoft.com/fwlink/?LinkId=518008)
+* [Configuration in ASP.NET 5](http://go.microsoft.com/fwlink/?LinkId=518012)
+* [Dependency Injection](http://go.microsoft.com/fwlink/?LinkId=518013)
+* [Razor TagHelpers](http://go.microsoft.com/fwlink/?LinkId=518014)
+* [Manage client packages using Gulp](http://go.microsoft.com/fwlink/?LinkID=517849)
+* [Develop on different platforms](http://go.microsoft.com/fwlink/?LinkID=517850)
+
+#### CUSTOMIZE APP
+* [Add Controllers and Views](http://go.microsoft.com/fwlink/?LinkID=398600)
+* [Add Data using EntityFramework](http://go.microsoft.com/fwlink/?LinkID=398602)
+* [Add Authentication using Identity](http://go.microsoft.com/fwlink/?LinkID=398603)
+* [Add real time support using SignalR](http://go.microsoft.com/fwlink/?LinkID=398606)
+* [Add Class library](http://go.microsoft.com/fwlink/?LinkID=398604)
+* [Add Web APIs with MVC 6](http://go.microsoft.com/fwlink/?LinkId=518009)
+* [Add client packages using Bower](http://go.microsoft.com/fwlink/?LinkID=517848)
+
+#### DEPLOY
+* [Run your app locally](http://go.microsoft.com/fwlink/?LinkID=517851)
+* [Run your app on ASP.NET Core 5](http://go.microsoft.com/fwlink/?LinkID=517852)
+* [Run commands in your 'project.json'](http://go.microsoft.com/fwlink/?LinkID=517853)
+* [Publish to Microsoft Azure Web Sites](http://go.microsoft.com/fwlink/?LinkID=398609)
+* [Publish to the file system](http://go.microsoft.com/fwlink/?LinkId=518019)
+
+We would love to hear your [feedback](http://go.microsoft.com/fwlink/?LinkId=518015)
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/wwwroot/index.html b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/wwwroot/index.html
new file mode 100644
index 00000000..cde1f2f9
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/wwwroot/index.html
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/wwwroot/swagger-original.json b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/wwwroot/swagger-original.json
new file mode 100644
index 00000000..e671635b
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/wwwroot/swagger-original.json
@@ -0,0 +1,3978 @@
+{
+ "openapi" : "3.0.1",
+ "info" : {
+ "title" : "Authorize.Net REST API",
+ "description" : "Authorize.Net REST API",
+ "contact" : {
+ "name" : "developer_feedback@authorize.net"
+ },
+ "version" : "1.0"
+ },
+ "servers" : [ {
+ "url" : "https://api.authorize.net/"
+ } ],
+ "paths" : {
+ "/v1/customers" : {
+ "get" : {
+ "tags" : [ "customers-profiles" ],
+ "summary" : "Get All Customer Profiles",
+ "description" : "Get a list of all customer profiles associated with this Authorize.Net account.",
+ "operationId" : "getAllCustomers",
+ "parameters" : [ {
+ "name" : "offset",
+ "in" : "query",
+ "description" : "The number of the page to return results from. For example, if limit is set to 100, and offset is set to 2, the function will return 100 transactions, beginning with the transaction that would otherwise be the transaction numbered 101 in the result set. Accepted values are 1-100000.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "integer"
+ }
+ }, {
+ "name" : "limit",
+ "in" : "query",
+ "description" : "The number of transactions per page. Accepted values are 1-1000.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "integer"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/CustomerCollection"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "read" ]
+ }, {
+ "basic" : [ ]
+ } ]
+ },
+ "post" : {
+ "tags" : [ "customers-profiles" ],
+ "summary" : "Create A Customer Profile",
+ "description" : "Create a new customer profile that contains a payment method.",
+ "operationId" : "CreateCustomerAndPaymentMethod",
+ "requestBody" : {
+ "description" : "Contains the information required to create a customer profile with an asociated payment method.",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/CreateCustomerAndPaymentMethod"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/Customer"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "write" ]
+ }, {
+ "basic" : [ ]
+ } ],
+ "x-codegen-request-body-name" : "CreateCustomerAndPaymentMethod"
+ }
+ },
+ "/v1/customers/{customerId}/addresses" : {
+ "get" : {
+ "tags" : [ "customers-addresses" ],
+ "summary" : "Get All Customer Addresses",
+ "description" : "Get a list of all addresses associated with one customer profile.",
+ "operationId" : "getAllCustomerAddresses",
+ "parameters" : [ {
+ "name" : "customerId",
+ "in" : "path",
+ "description" : "Unique identifier of the customer profile, from the original profile creation response.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "offset",
+ "in" : "query",
+ "description" : "The number of the page to return results from. For example, if limit is set to 100, and offset is set to 2, the function will return 100 transactions starting with the transaction that would otherwise be the transaction numbered 101 in the result set. Accepted values are 1-100000.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "integer"
+ }
+ }, {
+ "name" : "limit",
+ "in" : "query",
+ "description" : "The number of transactions per page. Accepted values are 1-1000.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "integer"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/addressCollection"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "read" ]
+ }, {
+ "basic" : [ ]
+ } ]
+ },
+ "post" : {
+ "tags" : [ "customers-addresses" ],
+ "summary" : "Create A Customer Address",
+ "description" : "Create an address associated with a customer profile.",
+ "operationId" : "createCustomerAddress",
+ "parameters" : [ {
+ "name" : "customerId",
+ "in" : "path",
+ "description" : "Unique identifier of the customer profile, which was returned in the original transaction response.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "requestBody" : {
+ "description" : "Contains address information.",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/CreateCustomerAddress"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/address"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Address not created",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "default" : {
+ "description" : "Unexpected error.",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "write" ]
+ }, {
+ "basic" : [ ]
+ } ],
+ "x-codegen-request-body-name" : "createCustomerAddress"
+ }
+ },
+ "/v1/customers/{customerId}/paymentmethods" : {
+ "get" : {
+ "tags" : [ "customers-payment_methods" ],
+ "summary" : "Get Customer Payment Methods",
+ "description" : "Get a list of payment methods associated with a customer profile.",
+ "operationId" : "getCustomerPaymentMethods",
+ "parameters" : [ {
+ "name" : "customerId",
+ "in" : "path",
+ "description" : "Unique identifier of the customer profile, returned in the response to the request that created the profile.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "offset",
+ "in" : "query",
+ "description" : "The number of the page to return results from. For example, if limit is set to 100, and offset is set to 2, the function will return 100 transactions starting with the transaction that would otherwise be the transaction numbered 101 in the result set. Accepted values are 1-100000.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "integer"
+ }
+ }, {
+ "name" : "limit",
+ "in" : "query",
+ "description" : "The number of transactions per page. Accepted values are 1-1000.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "integer"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/paymentMethodCollection"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "write" ]
+ }, {
+ "basic" : [ ]
+ } ]
+ },
+ "post" : {
+ "tags" : [ "customers-payment_methods" ],
+ "summary" : "Create A Payment Method",
+ "description" : "Create and payment method associated with a customer profile.",
+ "operationId" : "createPaymentMethod",
+ "parameters" : [ {
+ "name" : "customerId",
+ "in" : "path",
+ "description" : "Unique identifier of the customer profile, from the original profile-creation response.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "requestBody" : {
+ "description" : "This object creates a payment method associated with a payment profile.",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/CreatePaymentMethod"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/paymentMethod"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "PaymentMethod not created",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "default" : {
+ "description" : "Unexpected error.",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "write" ]
+ }, {
+ "basic" : [ ]
+ } ],
+ "x-codegen-request-body-name" : "CreatePaymentMethod"
+ }
+ },
+ "/v1/customers/{customerId}" : {
+ "get" : {
+ "tags" : [ "customers-customers" ],
+ "summary" : "Get A Customer",
+ "description" : "Get the details of a single customer profile.",
+ "operationId" : "getCustomer",
+ "parameters" : [ {
+ "name" : "customerId",
+ "in" : "path",
+ "description" : "Unique identifier of the customer profile, from the original profile-creation response.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/Customer"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "read" ]
+ }, {
+ "basic" : [ ]
+ } ]
+ },
+ "put" : {
+ "tags" : [ "customers-customers" ],
+ "summary" : "Update A Customer Profile",
+ "description" : "Updates a customer profile.",
+ "operationId" : "UpdateCustomer",
+ "parameters" : [ {
+ "name" : "customerId",
+ "in" : "path",
+ "description" : "Unique identifier of the customer profile, from the original profile-creation response.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "requestBody" : {
+ "description" : "Contains the updated information.",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/CreateCustomerAndPaymentMethod"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/Customer"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Customer not updated",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "default" : {
+ "description" : "Unexpected error.",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "write" ]
+ }, {
+ "basic" : [ ]
+ } ],
+ "x-codegen-request-body-name" : "CreateCustomerAndPaymentMethod"
+ },
+ "delete" : {
+ "tags" : [ "customers-customers" ],
+ "summary" : "Delete a Customer Profile",
+ "description" : "Deletes a customer profile.",
+ "operationId" : "DeleteCustomer",
+ "parameters" : [ {
+ "name" : "customerId",
+ "in" : "path",
+ "description" : "Unique identifier of the customer profile, from the original profile-creation response.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : { }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "write" ]
+ }, {
+ "basic" : [ ]
+ } ]
+ }
+ },
+ "/v1/customers/{customerId}/addresses/{addressId}" : {
+ "get" : {
+ "tags" : [ "customers-addresses" ],
+ "summary" : "Get A Customer Address",
+ "description" : "Get a customer address.",
+ "operationId" : "getCustomerAddress",
+ "parameters" : [ {
+ "name" : "customerId",
+ "in" : "path",
+ "description" : "Unique identifier of the customer profile.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "addressId",
+ "in" : "path",
+ "description" : "Unique identifier of the address.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/address"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "read" ]
+ }, {
+ "basic" : [ ]
+ } ]
+ },
+ "put" : {
+ "tags" : [ "customers-addresses" ],
+ "summary" : "Update A Customer Address",
+ "description" : "Update an address associated with a customer profile.",
+ "operationId" : "updateCustomerAddress",
+ "parameters" : [ {
+ "name" : "customerId",
+ "in" : "path",
+ "description" : "Unique identifier of the customer profile.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "addressId",
+ "in" : "path",
+ "description" : "Unique identifier of the address.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "requestBody" : {
+ "description" : "Contains the address information.",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/CreateCustomerAddress"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/address"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Address not updated",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "default" : {
+ "description" : "Unexpected error.",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "write" ]
+ }, {
+ "basic" : [ ]
+ } ],
+ "x-codegen-request-body-name" : "createCustomerAddress"
+ },
+ "delete" : {
+ "tags" : [ "customers-addresses" ],
+ "summary" : "Delete a Customer Address",
+ "description" : "Deletes an address associated with a customer profile.",
+ "operationId" : "DeleteAddress",
+ "parameters" : [ {
+ "name" : "customerId",
+ "in" : "path",
+ "description" : "Unique identifier of the customer profile.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "addressId",
+ "in" : "path",
+ "description" : "Unique identifier of the address.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : { }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "write" ]
+ }, {
+ "basic" : [ ]
+ } ]
+ }
+ },
+ "/v1/customers/{customerId}/paymentmethods/{paymentMethodId}" : {
+ "get" : {
+ "tags" : [ "customers-payment_methods" ],
+ "summary" : "Get a Customer Payment Method",
+ "description" : "Get the payment method for a sinlge customer profile.",
+ "operationId" : "getCustomerPaymentMethod",
+ "parameters" : [ {
+ "name" : "customerId",
+ "in" : "path",
+ "description" : "Unique identifier of the customer profile.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "paymentMethodId",
+ "in" : "path",
+ "description" : "Unique identifier of the payment method.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/paymentMethod"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "read" ]
+ }, {
+ "basic" : [ ]
+ } ]
+ },
+ "put" : {
+ "tags" : [ "customers-payment_methods" ],
+ "summary" : "Update a Customer Payment Method",
+ "description" : "Update a payment method associated with a payment profile.",
+ "operationId" : "UpdatePaymentMethod",
+ "parameters" : [ {
+ "name" : "customerId",
+ "in" : "path",
+ "description" : "Unique identifier of the customer profile.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "paymentMethodId",
+ "in" : "path",
+ "description" : "Unique identifier of the payment method.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "requestBody" : {
+ "description" : "Contains the updated payment method information.",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/CreatePaymentMethod"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/paymentMethod"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Payment Method not updated",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "default" : {
+ "description" : "Unexpected error.",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "write" ]
+ }, {
+ "basic" : [ ]
+ } ],
+ "x-codegen-request-body-name" : "createPaymentMethod"
+ },
+ "delete" : {
+ "tags" : [ "customers-payment_methods" ],
+ "summary" : "Delete a Customer Payment Method",
+ "description" : "Deletes a payment method from a payment profile.",
+ "operationId" : "DeletePaymentmethod",
+ "parameters" : [ {
+ "name" : "customerId",
+ "in" : "path",
+ "description" : "Unique identifier of the customer profile.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "paymentMethodId",
+ "in" : "path",
+ "description" : "Unique identifier of the payment method.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : { }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "write" ]
+ }, {
+ "basic" : [ ]
+ } ]
+ }
+ },
+ "/v1/payments/" : {
+ "get" : {
+ "tags" : [ "payments-payments" ],
+ "summary" : "Get a List of Payments",
+ "description" : "Get a list of payment transactions.",
+ "operationId" : "Get all Payments_",
+ "parameters" : [ {
+ "name" : "offset",
+ "in" : "query",
+ "description" : "1-100000. The number of the page to return results from. For example, if limit is set to 100, and offset is set to 2, the function will return 100 transactions starting with the transaction that would otherwise be the transaction numbered 101 in the result set.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "integer"
+ }
+ }, {
+ "name" : "limit",
+ "in" : "query",
+ "description" : "1-1000. The number of transactions per page.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "integer"
+ }
+ }, {
+ "name" : "batchId",
+ "in" : "query",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "customerId",
+ "in" : "query",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "unsettled",
+ "in" : "query",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "boolean"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "application/json" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/paymentCollection"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "read" ]
+ }, {
+ "basic" : [ ]
+ } ]
+ },
+ "post" : {
+ "tags" : [ "payments-payments" ],
+ "summary" : "Create a Payment Transaction",
+ "description" : "Create a payment transaction. By default, this operation **authorizes and captures** the transaction. To only **authorize** it, set `paymentRequest.processingInformation.capture` to `false`.",
+ "operationId" : "createPayment",
+ "requestBody" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/paymentRequest"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/payment"
+ }
+ }
+ }
+ },
+ "500" : {
+ "description" : "Internal Server Error",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "write" ]
+ }, {
+ "basic" : [ ]
+ } ],
+ "x-codegen-request-body-name" : "PaymentRequest"
+ }
+ },
+ "/v1/payments/{paymentId}" : {
+ "get" : {
+ "tags" : [ "payments-payments" ],
+ "summary" : "Get the Details of a Payment Transaction",
+ "description" : "Get the details of a payment transaction.",
+ "operationId" : "getPayment",
+ "parameters" : [ {
+ "name" : "paymentId",
+ "in" : "path",
+ "description" : "The unique identifier of the payment. Returned in the original transaction response.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/payment"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Payment Not Found",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "500" : {
+ "description" : "Internal Server Error",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "read" ]
+ }, {
+ "basic" : [ ]
+ } ]
+ }
+ },
+ "/v1/payments/{paymentId}/captures" : {
+ "post" : {
+ "tags" : [ "payments-captures" ],
+ "summary" : "Cature a Payment Transaction",
+ "description" : "Capture an authorization that was processed through Authorize.Net.",
+ "operationId" : "capturePayment",
+ "parameters" : [ {
+ "name" : "paymentId",
+ "in" : "path",
+ "description" : "The unique identifier of the authorization that you are capturing. The ID is returned in the original transaction response.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "requestBody" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/captureRequest"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/payment"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Payment Not Found",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "500" : {
+ "description" : "Internal Server Error",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "write" ]
+ }, {
+ "basic" : [ ]
+ } ],
+ "x-codegen-request-body-name" : "captureRequest"
+ }
+ },
+ "/v1/payments/{paymentId}/refunds" : {
+ "post" : {
+ "tags" : [ "payments-refunds" ],
+ "summary" : "Refund a Payment Transaction",
+ "description" : "Refund a previously captured payment transaction by referencing its ID. To credit your customer's account without referencing a previous transaction, use `/credits` instead",
+ "operationId" : "refundPayment",
+ "parameters" : [ {
+ "name" : "paymentId",
+ "in" : "path",
+ "description" : "Unique identifier of the payment transaction that you are refunding. The ID is returned in the original transaction reponse.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "requestBody" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/refundRequest"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/payment"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Payment Not Found",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "500" : {
+ "description" : "Internal Server Error",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "write" ]
+ }, {
+ "basic" : [ ]
+ } ],
+ "x-codegen-request-body-name" : "refundRequest"
+ }
+ },
+ "/v1/credits/" : {
+ "post" : {
+ "tags" : [ "credits" ],
+ "summary" : "Process a Credit Transaction",
+ "description" : "Create a credit transaction that is not related to a previous transaction. To refund a previous transaction, use `/payments/{paymentId}/refunds` instead.",
+ "operationId" : "createCredit",
+ "parameters" : [ {
+ "name" : "Authorization",
+ "in" : "header",
+ "description" : "The value to provide in the Authorization header of ANET API request",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "requestBody" : {
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/creditRequest"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/payment"
+ }
+ }
+ }
+ },
+ "500" : {
+ "description" : "Internal Server Error",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "write" ]
+ }, {
+ "basic" : [ ]
+ } ],
+ "x-codegen-request-body-name" : "creditRequest"
+ }
+ },
+ "/v1/eventtypes" : {
+ "get" : {
+ "tags" : [ "webhooks-event_types" ],
+ "summary" : "Get a List of All Event Types",
+ "description" : "Returns a list of all Webhooks event types that you can enroll in.",
+ "operationId" : "getEventTypes",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/components/schemas/EventType"
+ },
+ "x-content-type" : "*/*"
+ }
+ }
+ }
+ },
+ "500" : {
+ "description" : "System Error.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "default" : {
+ "description" : "Unexpected Error.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "read" ]
+ }, {
+ "basic" : [ ]
+ } ]
+ }
+ },
+ "/v1/webhooks" : {
+ "get" : {
+ "tags" : [ "webhooks-webhooks" ],
+ "summary" : "List My Webhooks",
+ "description" : "Retrieve details of all existing Webhooks for this account.",
+ "operationId" : "getWebhooks",
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/components/schemas/GetWebhookResponse"
+ },
+ "x-content-type" : "*/*"
+ }
+ }
+ }
+ },
+ "500" : {
+ "description" : "System Error.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "default" : {
+ "description" : "Unexpected Error.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "read" ]
+ }, {
+ "basic" : [ ]
+ } ]
+ },
+ "post" : {
+ "tags" : [ "webhooks-webhooks" ],
+ "summary" : "Create A Webhook",
+ "description" : "Enroll in one or more type of event notification.",
+ "operationId" : "createWebhook",
+ "requestBody" : {
+ "description" : "The payload which contains the details for enrolling in one or more webhooks.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/CreateWebhookBody"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/GetWebhookResponse"
+ }
+ }
+ }
+ },
+ "400" : {
+ "description" : "Invalid/Missing Data or Limit Reached",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "500" : {
+ "description" : "System Error.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "default" : {
+ "description" : "Unexpected Error.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "read" ]
+ }, {
+ "basic" : [ ]
+ } ],
+ "x-codegen-request-body-name" : "createWebhookBody"
+ }
+ },
+ "/v1/webhooks/{webhookId}" : {
+ "get" : {
+ "tags" : [ "webhooks-webhooks" ],
+ "summary" : "Get a Webhook",
+ "description" : "Retrieve THE details of an existing Webhook.",
+ "operationId" : "getWebhook",
+ "parameters" : [ {
+ "name" : "webhookId",
+ "in" : "path",
+ "description" : "Unique identifier of the webhook. The identifier was sent in the response to the webhook request.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/GetWebhookResponse"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "500" : {
+ "description" : "System Error.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "default" : {
+ "description" : "Unexpected Error.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "read" ]
+ }, {
+ "basic" : [ ]
+ } ]
+ },
+ "put" : {
+ "tags" : [ "webhooks-webhooks" ],
+ "summary" : "Update A Webhook",
+ "description" : "Update the details of an existing webhook.",
+ "operationId" : "updateWebhook",
+ "parameters" : [ {
+ "name" : "webhookId",
+ "in" : "path",
+ "description" : "Unique identifier of the webhook. The identifier was sent in the response to the webhook request.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "requestBody" : {
+ "description" : "Contains the details to be updated.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/CreateWebhookBody"
+ }
+ }
+ },
+ "required" : true
+ },
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/GetWebhookResponse"
+ }
+ }
+ }
+ },
+ "400" : {
+ "description" : "Invalid/Missing Data or Limit Reached",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "500" : {
+ "description" : "System Error.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "default" : {
+ "description" : "Unexpected Error.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "read" ]
+ }, {
+ "basic" : [ ]
+ } ],
+ "x-codegen-request-body-name" : "updateWebhookBody"
+ },
+ "delete" : {
+ "tags" : [ "webhooks-webhooks" ],
+ "summary" : "Delete A Webhook",
+ "description" : "Delete an existing Webhook.",
+ "operationId" : "deleteWebhook",
+ "parameters" : [ {
+ "name" : "webhookId",
+ "in" : "path",
+ "description" : "Unique identifier of the webhook. The identifier was sent in the response to the webhook request.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : { }
+ },
+ "400" : {
+ "description" : "Invalid Data ",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "500" : {
+ "description" : "System Error.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "default" : {
+ "description" : "Unexpected Error.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "read" ]
+ }, {
+ "basic" : [ ]
+ } ]
+ }
+ },
+ "/v1/webhooks/{webhookId}/pings" : {
+ "post" : {
+ "tags" : [ "webhooks-pings" ],
+ "summary" : "Ping A Webhook",
+ "description" : "A test event is sent to the Webhook endpoint, in an inactive state.",
+ "operationId" : "pingsWebhook",
+ "parameters" : [ {
+ "name" : "webhookId",
+ "in" : "path",
+ "description" : "Unique identifier of the webhook. The identifier was sent in the response to the webhook request.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : { }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "500" : {
+ "description" : "System Error.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "default" : {
+ "description" : "Unexpected Error.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "read" ]
+ }, {
+ "basic" : [ ]
+ } ]
+ }
+ },
+ "/v1/notifications" : {
+ "get" : {
+ "tags" : [ "webhooks-notifications" ],
+ "summary" : "Get Notification History",
+ "description" : "Retreives the history of notifications for this account.",
+ "operationId" : "getNotifications",
+ "parameters" : [ {
+ "name" : "deliveryStatus",
+ "in" : "query",
+ "description" : "Filter by delivery status. Status include the following./n/n* Delivered/n/n* Failed",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "from_date",
+ "in" : "query",
+ "description" : "Only includes notifications after the specified date, in YYYY-MM-DD format.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "to_date",
+ "in" : "query",
+ "description" : "Only includes notifications before specified date, in YYYY-MM-DD format.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "string"
+ }
+ }, {
+ "name" : "offset",
+ "in" : "query",
+ "description" : "The number of the page to return results from. For example, if limit is set to 100, and offset is set to 2, the function will return 100 transactions, beginning with the transaction that would otherwise be the transaction numbered 101 in the result set. Accepted values are 1-100000.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "integer"
+ }
+ }, {
+ "name" : "limit",
+ "in" : "query",
+ "description" : "The number of transactions per page. Accepted values are 1-1000.",
+ "required" : false,
+ "style" : "form",
+ "explode" : true,
+ "schema" : {
+ "type" : "integer"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/GetNotificationsResponse"
+ }
+ }
+ }
+ },
+ "500" : {
+ "description" : "System Error.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "default" : {
+ "description" : "Unexpected Error.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "read" ]
+ }, {
+ "basic" : [ ]
+ } ]
+ }
+ },
+ "/v1/notifications/{notificationsId}" : {
+ "get" : {
+ "tags" : [ "webhooks-notifications" ],
+ "summary" : "Get a Notification",
+ "description" : "Retreives the details of a single notification.",
+ "operationId" : "getNotification",
+ "parameters" : [ {
+ "name" : "notificationsId",
+ "in" : "path",
+ "description" : "Unique identifier of the notification. The identifier was sent in the original notification.",
+ "required" : true,
+ "style" : "simple",
+ "explode" : false,
+ "schema" : {
+ "type" : "string"
+ }
+ } ],
+ "responses" : {
+ "200" : {
+ "description" : "OK",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/GetNotificationResponse"
+ }
+ }
+ }
+ },
+ "404" : {
+ "description" : "Not Found",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "500" : {
+ "description" : "System Error.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ },
+ "default" : {
+ "description" : "Unexpected Error.",
+ "content" : {
+ "*/*" : {
+ "schema" : {
+ "$ref" : "#/components/schemas/errorResponse"
+ }
+ }
+ }
+ }
+ },
+ "security" : [ {
+ "oauth" : [ "read" ]
+ }, {
+ "basic" : [ ]
+ } ]
+ }
+ }
+ },
+ "components" : {
+ "schemas" : {
+ "Identifier" : {
+ "type" : "object",
+ "properties" : {
+ "email" : {
+ "type" : "string"
+ },
+ "reference" : {
+ "type" : "string"
+ }
+ },
+ "description" : "Model for Identifier",
+ "example" : {
+ "reference" : "reference",
+ "email" : "email"
+ }
+ },
+ "CustomerList" : {
+ "type" : "object",
+ "properties" : {
+ "customers" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/components/schemas/Customer"
+ }
+ }
+ },
+ "example" : {
+ "customers" : [ {
+ "identifier" : {
+ "reference" : "reference",
+ "email" : "email"
+ },
+ "_links" : {
+ "addresses" : null,
+ "paymentMethods" : null,
+ "self" : null
+ },
+ "description" : "description",
+ "id" : "id"
+ }, {
+ "identifier" : {
+ "reference" : "reference",
+ "email" : "email"
+ },
+ "_links" : {
+ "addresses" : null,
+ "paymentMethods" : null,
+ "self" : null
+ },
+ "description" : "description",
+ "id" : "id"
+ } ]
+ }
+ },
+ "CustomerCollection" : {
+ "type" : "object",
+ "properties" : {
+ "_links" : {
+ "$ref" : "#/components/schemas/collectionLinks"
+ },
+ "_embedded" : {
+ "$ref" : "#/components/schemas/CustomerList"
+ },
+ "totalCustomers" : {
+ "type" : "integer",
+ "description" : "Total number of customer profiles associated with tje Authorize.Net account that submitted the request."
+ }
+ },
+ "example" : {
+ "totalCustomers" : 0,
+ "_links" : {
+ "next" : null,
+ "previous" : null,
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ }
+ },
+ "_embedded" : {
+ "customers" : [ {
+ "identifier" : {
+ "reference" : "reference",
+ "email" : "email"
+ },
+ "_links" : {
+ "addresses" : null,
+ "paymentMethods" : null,
+ "self" : null
+ },
+ "description" : "description",
+ "id" : "id"
+ }, {
+ "identifier" : {
+ "reference" : "reference",
+ "email" : "email"
+ },
+ "_links" : {
+ "addresses" : null,
+ "paymentMethods" : null,
+ "self" : null
+ },
+ "description" : "description",
+ "id" : "id"
+ } ]
+ }
+ }
+ },
+ "CreateCustomerAddress" : {
+ "required" : [ "address1" ],
+ "type" : "object",
+ "properties" : {
+ "address1" : {
+ "type" : "string",
+ "description" : "The customer's street address."
+ },
+ "administrativeArea" : {
+ "type" : "string",
+ "description" : "State or administrative area of the customer's address."
+ },
+ "company" : {
+ "type" : "string",
+ "description" : "Name of the company associated with the customer's address, if any."
+ },
+ "country" : {
+ "type" : "string",
+ "description" : "Country associated with the customer's address."
+ },
+ "default" : {
+ "type" : "boolean",
+ "description" : "Setting this to `true` makes this address the customer's default address."
+ },
+ "firstName" : {
+ "type" : "string",
+ "description" : "First name associated with the customer's address."
+ },
+ "lastName" : {
+ "type" : "string",
+ "description" : "Last name associated with the customer's address."
+ },
+ "locality" : {
+ "type" : "string",
+ "description" : "City or town name associated with the customer's address."
+ },
+ "phoneNumber" : {
+ "type" : "string",
+ "description" : "Phone number associated with the customer's address."
+ },
+ "postalCode" : {
+ "type" : "string",
+ "description" : "ZIP or postal code of the customer's address."
+ }
+ },
+ "description" : "Contains the information to create a customer address object."
+ },
+ "CreatePaymentMethod" : {
+ "type" : "object",
+ "properties" : {
+ "addressId" : {
+ "type" : "string",
+ "description" : "Unique identifier of the address associated with the payment method."
+ },
+ "billTo" : {
+ "$ref" : "#/components/schemas/baseAddress"
+ },
+ "default" : {
+ "type" : "boolean",
+ "description" : "Setting this to `true` sets this payment method as the default for this customer profile."
+ },
+ "paymentInformation" : {
+ "$ref" : "#/components/schemas/paymentInformation"
+ }
+ },
+ "description" : "Contains information about a customer's payment method."
+ },
+ "CreateCustomerAndPaymentMethod" : {
+ "required" : [ "identifier" ],
+ "type" : "object",
+ "properties" : {
+ "description" : {
+ "type" : "string",
+ "description" : "Description of the customer or customer profile. Required only when no values for `merchantCustomerId` and `email` are submitted. 255-character maximum."
+ },
+ "identifier" : {
+ "$ref" : "#/components/schemas/Identifier"
+ },
+ "paymentMethod" : {
+ "$ref" : "#/components/schemas/CreatePaymentMethod"
+ }
+ },
+ "description" : "Contains the information to create a profile and an associated payment method."
+ },
+ "Customer" : {
+ "type" : "object",
+ "properties" : {
+ "id" : {
+ "type" : "string",
+ "description" : "Unique identifier of the customer profile."
+ },
+ "description" : {
+ "type" : "string",
+ "description" : "Description of the customer."
+ },
+ "identifier" : {
+ "$ref" : "#/components/schemas/Identifier"
+ },
+ "_links" : {
+ "$ref" : "#/components/schemas/CustomerLinks"
+ }
+ },
+ "description" : "Response information returned after the creation of a customer profile.",
+ "example" : {
+ "identifier" : {
+ "reference" : "reference",
+ "email" : "email"
+ },
+ "_links" : {
+ "addresses" : null,
+ "paymentMethods" : null,
+ "self" : null
+ },
+ "description" : "description",
+ "id" : "id"
+ }
+ },
+ "CustomerLinks" : {
+ "type" : "object",
+ "properties" : {
+ "self" : {
+ "$ref" : "#/components/schemas/link"
+ },
+ "paymentMethods" : {
+ "$ref" : "#/components/schemas/link"
+ },
+ "addresses" : {
+ "$ref" : "#/components/schemas/link"
+ }
+ },
+ "example" : {
+ "addresses" : null,
+ "paymentMethods" : null,
+ "self" : null
+ }
+ },
+ "paymentRequest" : {
+ "title" : "paymentRequest",
+ "type" : "object",
+ "properties" : {
+ "clientReferenceInformation" : {
+ "$ref" : "#/components/schemas/clientReferenceInformation"
+ },
+ "processingInformation" : {
+ "$ref" : "#/components/schemas/processingInformation"
+ },
+ "paymentInformation" : {
+ "$ref" : "#/components/schemas/paymentInformation"
+ },
+ "orderInformation" : {
+ "$ref" : "#/components/schemas/orderInformation"
+ },
+ "buyerInformation" : {
+ "$ref" : "#/components/schemas/buyerInformation"
+ },
+ "deviceInformation" : {
+ "$ref" : "#/components/schemas/deviceInformation"
+ },
+ "consumerAuthenticationInformation" : {
+ "$ref" : "#/components/schemas/consumerAuthenticationInformation"
+ },
+ "pointOfSaleInformation" : {
+ "$ref" : "#/components/schemas/pointOfSaleInformation"
+ }
+ },
+ "description" : "Payment Request object. Contains information about the payment transaction."
+ },
+ "refundRequest" : {
+ "title" : "refundRequest",
+ "type" : "object",
+ "properties" : {
+ "paymentInformation" : {
+ "$ref" : "#/components/schemas/paymentInformation"
+ },
+ "orderInformation" : {
+ "$ref" : "#/components/schemas/orderInformation"
+ },
+ "buyerInformation" : {
+ "$ref" : "#/components/schemas/buyerInformation"
+ },
+ "deviceInformation" : {
+ "$ref" : "#/components/schemas/deviceInformation"
+ },
+ "pointOfSaleInformation" : {
+ "$ref" : "#/components/schemas/pointOfSaleInformation"
+ }
+ },
+ "description" : "Model for RefundRequest"
+ },
+ "captureRequest" : {
+ "title" : "captureRequest",
+ "type" : "object",
+ "properties" : {
+ "orderInformation" : {
+ "$ref" : "#/components/schemas/orderInformation"
+ },
+ "buyerInformation" : {
+ "$ref" : "#/components/schemas/buyerInformation"
+ },
+ "deviceInformation" : {
+ "$ref" : "#/components/schemas/deviceInformation"
+ },
+ "pointOfSaleInformation" : {
+ "$ref" : "#/components/schemas/pointOfSaleInformation"
+ }
+ },
+ "description" : "Model for CaptureRequest"
+ },
+ "creditRequest" : {
+ "title" : "creditRequest",
+ "type" : "object",
+ "properties" : {
+ "paymentInformation" : {
+ "$ref" : "#/components/schemas/paymentInformation"
+ },
+ "orderInformation" : {
+ "$ref" : "#/components/schemas/orderInformation"
+ },
+ "buyerInformation" : {
+ "$ref" : "#/components/schemas/buyerInformation"
+ },
+ "deviceInformation" : {
+ "$ref" : "#/components/schemas/deviceInformation"
+ },
+ "pointOfSaleInformation" : {
+ "$ref" : "#/components/schemas/pointOfSaleInformation"
+ }
+ },
+ "description" : "Model for CaptureRequest"
+ },
+ "clientReferenceInformation" : {
+ "type" : "object",
+ "properties" : {
+ "code" : {
+ "type" : "string",
+ "description" : "Client-generated order reference or tracking number. CyberSource recommends that you send a unique value for each\ntransaction so that you can perform meaningful searches for the transaction.\n"
+ }
+ },
+ "example" : {
+ "code" : "code"
+ }
+ },
+ "processingInformation" : {
+ "type" : "object",
+ "properties" : {
+ "capture" : {
+ "type" : "boolean",
+ "description" : "Submit `true` to capture the the payment after it is successfully authorized.",
+ "default" : true
+ },
+ "paymentSolution" : {
+ "type" : "string",
+ "description" : "The solution ID is generated by Authorize.Net and provided to the solution provider. Alphanumeric. 50-character maximum."
+ },
+ "batch" : {
+ "$ref" : "#/components/schemas/batch"
+ },
+ "recurringBilling" : {
+ "type" : "boolean",
+ "description" : "Indicates whether the payment is part of a subscription."
+ },
+ "followUpAction" : {
+ "type" : "string",
+ "description" : "Follow up action to be taken once transaction is successful. Valid values are `CREATE_CUSTOMER_PROFILE` and `CREATE_CUSTOMER_PAYMENT_PROFILE`."
+ }
+ }
+ },
+ "orderInformation" : {
+ "required" : [ "amountDetails" ],
+ "type" : "object",
+ "properties" : {
+ "amountDetails" : {
+ "$ref" : "#/components/schemas/amountDetail"
+ },
+ "billTo" : {
+ "type" : "object",
+ "description" : "billto address definition",
+ "allOf" : [ {
+ "$ref" : "#/components/schemas/baseAddress"
+ } ]
+ },
+ "shipTo" : {
+ "type" : "object",
+ "description" : "shipTo address definition",
+ "allOf" : [ {
+ "$ref" : "#/components/schemas/baseAddress"
+ } ]
+ },
+ "lineItems" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/components/schemas/items"
+ }
+ },
+ "invoiceDetails" : {
+ "$ref" : "#/components/schemas/invoiceDetails"
+ },
+ "description" : {
+ "type" : "string",
+ "description" : "Contains information about the order."
+ }
+ },
+ "example" : {
+ "lineItems" : [ {
+ "unitPrice" : "unitPrice",
+ "productCode" : "productCode",
+ "quantity" : 0.8008281904610115,
+ "productName" : "productName"
+ }, {
+ "unitPrice" : "unitPrice",
+ "productCode" : "productCode",
+ "quantity" : 0.8008281904610115,
+ "productName" : "productName"
+ } ],
+ "billTo" : "",
+ "description" : "description",
+ "invoiceDetails" : {
+ "taxable" : true,
+ "purchaseOrderNumber" : "purchaseOrderNumber"
+ },
+ "amountDetails" : {
+ "totalAmount" : "totalAmount",
+ "freightAmount" : "freightAmount",
+ "authorizedAmount" : "authorizedAmount",
+ "currency" : "currency",
+ "taxAmount" : "taxAmount",
+ "dutyAmount" : "dutyAmount"
+ },
+ "shipTo" : ""
+ }
+ },
+ "invoiceDetails" : {
+ "type" : "object",
+ "properties" : {
+ "purchaseOrderNumber" : {
+ "type" : "string",
+ "description" : "The merchant-assigned purchase order number. The purchase order number must be created dynamically on the merchant's server and provided on a per-transaction basis. Up to 25 characters (no symbols)."
+ },
+ "taxable" : {
+ "type" : "boolean",
+ "description" : "Indicates whether this payment is exempt from tax."
+ }
+ },
+ "example" : {
+ "taxable" : true,
+ "purchaseOrderNumber" : "purchaseOrderNumber"
+ }
+ },
+ "buyerInformation" : {
+ "type" : "object",
+ "properties" : {
+ "merchantCustomerId" : {
+ "type" : "string",
+ "description" : "The unique customer ID used to represent the customer associated with the transaction. If you use customer IDs, your solution should generate the customer ID and send it with your transaction requests. Authorize.Net does not generate customer IDs.Use alphanumeric characters only, without spaces, dashes, or other symbols."
+ },
+ "customerType" : {
+ "type" : "string",
+ "description" : "Type of customer. Valid values are `individual` or `business`."
+ },
+ "email" : {
+ "type" : "string",
+ "description" : "The customer's valid email address. For example, janedoe@example.com."
+ }
+ }
+ },
+ "deviceInformation" : {
+ "type" : "object",
+ "properties" : {
+ "ipAddress" : {
+ "type" : "string",
+ "description" : "IP address of customer initiating the transaction. If this value is not passed, it will default to 255.255.255.255. Required only when the merchant is using customer IP based AFDS filters. Up to 15 characters (no letters)."
+ }
+ }
+ },
+ "consumerAuthenticationInformation" : {
+ "type" : "object",
+ "properties" : {
+ "cavv" : {
+ "type" : "string",
+ "description" : "The Cardholder Authentication Verification Value (CAVV) for a Visa transaction, or Accountholder Authentication Value (AVV)/ Universal Cardholder Authentication Field indicator (UCAF) for a Mastercard transaction. The cardholder authentication process generates the CAVV, AAV, or UCAF value prior to submitting the transaction. Invalid values will result in Response Reason Code 117. This field is currently supported through Chase Paymentech, FDMS Nashville, Global Payments and TSYS."
+ },
+ "eciRaw" : {
+ "type" : "string",
+ "description" : "The Electronic Commerce Indicator (ECI) value for a Visa transaction, or the Universal Cardholder Authentication Field indicator (UCAF) for a Mastercard transaction. The cardholder authentication process generates the ECI or UCAF value prior to submitting the transaction.\n Required only for payment requests processed through 3D Secure cardholder authentication programs, such as Visa Secure or SecureCode.\n Invalid values will result in Response Reason Code 116.\n This field is currently supported through Chase Paymentech, FDMS Nashville, Global Payments and TSYS."
+ }
+ }
+ },
+ "pointOfSaleInformation" : {
+ "type" : "object",
+ "properties" : {
+ "terminalID" : {
+ "type" : "string",
+ "description" : "Unique identifier of the terminal that processed the transaction. Useful for reporting."
+ }
+ }
+ },
+ "payment" : {
+ "type" : "object",
+ "properties" : {
+ "_links" : {
+ "$ref" : "#/components/schemas/paymentLinks"
+ },
+ "id" : {
+ "type" : "string",
+ "description" : "Unique identifier for the transaction, generated by Authorize.Net. Reference this identifier in follow-up requests, such as a refund or GET request."
+ },
+ "status" : {
+ "type" : "string",
+ "description" : "Brief description of the status of the transaction. One of the folloiwng:\n * `AUTHORIZED`\n * `CAPTURED`\n * `INTERNAL_ERROR`\n * `REFUND_SETTLED`\n * `REFUND_INITIATED`\n * `approvedReview`\n * `DECLINED`\n * `FAILED`\n * `EXPIRED`\n * `failedReview`\n * `SETTLED`\n * `SETTLEMENT_ERROR`\n * `PENDING_REVIEW`\n * `VOIDED`\n * `FDSPendingReview`\n * `FDSAuthorizedPendingReview`\n * `returnedItem`\n"
+ },
+ "clientReferenceInformation" : {
+ "$ref" : "#/components/schemas/clientReferenceInformation"
+ },
+ "processorInformation" : {
+ "$ref" : "#/components/schemas/processorInformation"
+ },
+ "submitTimeUTC" : {
+ "type" : "string",
+ "description" : "The time that the transaction was submitted, in Coordinated Universal Time."
+ },
+ "orderInformation" : {
+ "$ref" : "#/components/schemas/orderInformation"
+ },
+ "paymentInformation" : {
+ "$ref" : "#/components/schemas/paymentInformation"
+ },
+ "fraudInformation" : {
+ "$ref" : "#/components/schemas/fraudInformation"
+ },
+ "followUpResponse" : {
+ "$ref" : "#/components/schemas/followUpResponse"
+ }
+ },
+ "description" : "`Payment` is returned for a successful transaction.\n",
+ "example" : {
+ "submitTimeUTC" : "submitTimeUTC",
+ "clientReferenceInformation" : {
+ "code" : "code"
+ },
+ "processorInformation" : {
+ "approvalCode" : "approvalCode",
+ "cardVerification" : {
+ "resultCode" : "resultCode"
+ },
+ "consumerAuthenticationResponse" : {
+ "code" : "code"
+ },
+ "avs" : {
+ "code" : "code"
+ }
+ },
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ },
+ "capture" : null,
+ "refund" : null
+ },
+ "orderInformation" : {
+ "lineItems" : [ {
+ "unitPrice" : "unitPrice",
+ "productCode" : "productCode",
+ "quantity" : 0.8008281904610115,
+ "productName" : "productName"
+ }, {
+ "unitPrice" : "unitPrice",
+ "productCode" : "productCode",
+ "quantity" : 0.8008281904610115,
+ "productName" : "productName"
+ } ],
+ "billTo" : "",
+ "description" : "description",
+ "invoiceDetails" : {
+ "taxable" : true,
+ "purchaseOrderNumber" : "purchaseOrderNumber"
+ },
+ "amountDetails" : {
+ "totalAmount" : "totalAmount",
+ "freightAmount" : "freightAmount",
+ "authorizedAmount" : "authorizedAmount",
+ "currency" : "currency",
+ "taxAmount" : "taxAmount",
+ "dutyAmount" : "dutyAmount"
+ },
+ "shipTo" : ""
+ },
+ "id" : "id",
+ "fraudInformation" : {
+ "fraudFilterList" : [ {
+ "name" : "name",
+ "action" : "action"
+ }, {
+ "name" : "name",
+ "action" : "action"
+ } ],
+ "fraudAction" : "fraudAction"
+ },
+ "paymentInformation" : {
+ "bankAccount" : {
+ "eCheckType" : "eCheckType",
+ "routingNumber" : "routingNumber",
+ "nameOnAccount" : "nameOnAccount",
+ "checkNumber" : "checkNumber",
+ "accountType" : "accountType",
+ "bankName" : "bankName",
+ "accountNumber" : "accountNumber"
+ },
+ "tokenizedCard" : {
+ "expirationYear" : "expirationYear",
+ "number" : "number",
+ "expirationMonth" : "expirationMonth",
+ "cryptogram" : "cryptogram"
+ },
+ "card" : {
+ "expirationYear" : "expirationYear",
+ "number" : "number",
+ "securityCode" : "securityCode",
+ "expirationMonth" : "expirationMonth",
+ "type" : "type"
+ },
+ "fluidData" : {
+ "descriptor" : "descriptor",
+ "value" : "value",
+ "key" : "key"
+ },
+ "customer" : {
+ "paymentMethodId" : "paymentMethodId",
+ "customerId" : "customerId"
+ },
+ "validate" : true
+ },
+ "followUpResponse" : {
+ "errorMessage" : "errorMessage",
+ "customer" : {
+ "paymentMethodId" : "paymentMethodId",
+ "customerId" : "customerId"
+ }
+ },
+ "status" : "status"
+ }
+ },
+ "paymentCollection" : {
+ "type" : "object",
+ "properties" : {
+ "_link" : {
+ "$ref" : "#/components/schemas/collectionLinks"
+ },
+ "_embedded" : {
+ "$ref" : "#/components/schemas/paymentsList"
+ },
+ "totalTransactions" : {
+ "type" : "integer",
+ "description" : "Total number of transactions returned."
+ }
+ },
+ "description" : "Model for PaymentCollection",
+ "example" : {
+ "totalTransactions" : 0,
+ "_link" : {
+ "next" : null,
+ "previous" : null,
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ }
+ },
+ "_embedded" : {
+ "payments" : [ {
+ "submitTimeUTC" : "submitTimeUTC",
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ }
+ },
+ "id" : "id",
+ "status" : "status"
+ }, {
+ "submitTimeUTC" : "submitTimeUTC",
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ }
+ },
+ "id" : "id",
+ "status" : "status"
+ } ]
+ }
+ }
+ },
+ "paymentLinks" : {
+ "type" : "object",
+ "properties" : {
+ "self" : {
+ "$ref" : "#/components/schemas/link"
+ },
+ "refund" : {
+ "$ref" : "#/components/schemas/link"
+ },
+ "capture" : {
+ "$ref" : "#/components/schemas/link"
+ }
+ },
+ "example" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ },
+ "capture" : null,
+ "refund" : null
+ }
+ },
+ "batch" : {
+ "title" : "batch",
+ "type" : "object",
+ "properties" : {
+ "batchID" : {
+ "type" : "string",
+ "description" : "The unique identifier of the batch."
+ },
+ "settlementState" : {
+ "type" : "string",
+ "description" : "Status of the batch. One of the following\n* `settledSuccessfully`\n* `settlementError`\n* `pendingSettlement`"
+ },
+ "settlmentTimeUTC" : {
+ "type" : "string",
+ "description" : "Date and time when the batch was settled, expressed in Coordinated Universal Time. A T character separates the date from the time. For example, `YYYY-MM-DDThh:mm:ss`."
+ }
+ },
+ "description" : "Contains information about the batch that processed the transaction."
+ },
+ "fraudInformation" : {
+ "title" : "fraudInfromation",
+ "type" : "object",
+ "properties" : {
+ "fraudFilterList" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/components/schemas/fraudFilter"
+ }
+ },
+ "fraudAction" : {
+ "type" : "string",
+ "description" : "The action applied to the transaction by the merchant's Advanced Fraud Detection Suite (AFDS) settings. \nWhen multiple filters apply to a transaction, we will take the most restrictive action. For example, if a transaction triggers two AFDS filters, and one filter returns hold while the other filter returns reject, we will reject the transaction instead of holding it. \nActions include : \n* `reject` '“ Ignores the transaction outright, except for AFDS reporting. \n* `decline` '“ Marks the transaction as declined but include it in the merchant's transaction reporting. \n* `hold` – Holds the transaction for manual review, and do not authorize unless the merchant approves it. \n* `authAndHold` – Submits the transaction for authorization, but hold it for manual review, and do not settle unless the merchant approves it. \n* `report` – Records the filter action but take no other action.\n"
+ }
+ },
+ "description" : "Contains fraud information for a transaction.",
+ "example" : {
+ "fraudFilterList" : [ {
+ "name" : "name",
+ "action" : "action"
+ }, {
+ "name" : "name",
+ "action" : "action"
+ } ],
+ "fraudAction" : "fraudAction"
+ }
+ },
+ "paymentsList" : {
+ "type" : "object",
+ "properties" : {
+ "payments" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/components/schemas/payments"
+ }
+ }
+ },
+ "example" : {
+ "payments" : [ {
+ "submitTimeUTC" : "submitTimeUTC",
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ }
+ },
+ "id" : "id",
+ "status" : "status"
+ }, {
+ "submitTimeUTC" : "submitTimeUTC",
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ }
+ },
+ "id" : "id",
+ "status" : "status"
+ } ]
+ }
+ },
+ "fraudFilter" : {
+ "type" : "object",
+ "properties" : {
+ "name" : {
+ "type" : "string",
+ "description" : "Name of the fraud filter."
+ },
+ "action" : {
+ "type" : "string",
+ "description" : "Setting for the fraud filter. The `FDSFilterAction` setting is the most restrictive action setting. \nOne of:\n* `reject`\n * `decline`\n* `hold`\n * `authAndHold`\n * `report`\n"
+ }
+ },
+ "example" : {
+ "name" : "name",
+ "action" : "action"
+ }
+ },
+ "payments" : {
+ "type" : "object",
+ "properties" : {
+ "id" : {
+ "type" : "string",
+ "description" : "The unique identifier of the transaction. This is returned in the orginal transaction response."
+ },
+ "submitTimeUTC" : {
+ "type" : "string",
+ "description" : "The time that the original transaction was submitted, in Coordinated Universal Time."
+ },
+ "status" : {
+ "type" : "string",
+ "description" : "Brief description of the status of the transaction. One of the folloiwng -\n * `authorizedPendingCapture`\n * `capturedPendingSettlement`\n * `communicationError`\n * `refundSettledSuccessfully`\n * `refundPendingSettlement`\n * `approvedReview`\n * `declined`\n * `couldNotVoid`\n * `expired`\n * `generalError`\n * `failedReview`\n * `settledSuccessfully`\n * `settlementError`\n * `underReview`\n * `voided`\n * `FDSPendingReview`\n * `FDSAuthorizedPendingReview`\n * `returnedItem`"
+ },
+ "_links" : {
+ "$ref" : "#/components/schemas/selfLink"
+ }
+ },
+ "example" : {
+ "submitTimeUTC" : "submitTimeUTC",
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ }
+ },
+ "id" : "id",
+ "status" : "status"
+ }
+ },
+ "processorInformation" : {
+ "type" : "object",
+ "properties" : {
+ "approvalCode" : {
+ "type" : "string",
+ "description" : "Authorization or approval code."
+ },
+ "avs" : {
+ "$ref" : "#/components/schemas/processorInformation_avs"
+ },
+ "cardVerification" : {
+ "$ref" : "#/components/schemas/processorInformation_cardVerification"
+ },
+ "consumerAuthenticationResponse" : {
+ "$ref" : "#/components/schemas/processorInformation_consumerAuthenticationResponse"
+ }
+ },
+ "example" : {
+ "approvalCode" : "approvalCode",
+ "cardVerification" : {
+ "resultCode" : "resultCode"
+ },
+ "consumerAuthenticationResponse" : {
+ "code" : "code"
+ },
+ "avs" : {
+ "code" : "code"
+ }
+ }
+ },
+ "followUpResponse" : {
+ "type" : "object",
+ "properties" : {
+ "errorMessage" : {
+ "type" : "string",
+ "description" : "This field is returned only if the transaction processed succesfully, but the follow-up action of creating a customer and/or payment profile failed."
+ },
+ "customer" : {
+ "$ref" : "#/components/schemas/customerPayment"
+ }
+ },
+ "example" : {
+ "errorMessage" : "errorMessage",
+ "customer" : {
+ "paymentMethodId" : "paymentMethodId",
+ "customerId" : "customerId"
+ }
+ }
+ },
+ "paymentMethodLinks" : {
+ "type" : "object",
+ "properties" : {
+ "self" : {
+ "$ref" : "#/components/schemas/link"
+ },
+ "customer" : {
+ "$ref" : "#/components/schemas/link"
+ }
+ },
+ "example" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ },
+ "customer" : null
+ }
+ },
+ "paymentMethod" : {
+ "type" : "object",
+ "properties" : {
+ "id" : {
+ "type" : "string",
+ "description" : "Unique identifier for the `paymentMethod` object in this transaction."
+ },
+ "default" : {
+ "type" : "boolean",
+ "description" : "Setting this boolean to `true` marks this payment method as the default for this customer."
+ },
+ "billTo" : {
+ "$ref" : "#/components/schemas/baseAddress"
+ },
+ "paymentInformation" : {
+ "$ref" : "#/components/schemas/paymentInformation"
+ },
+ "_links" : {
+ "$ref" : "#/components/schemas/paymentMethodLinks"
+ }
+ },
+ "description" : "Contains information about the method of payment.",
+ "example" : {
+ "default" : true,
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ },
+ "customer" : null
+ },
+ "billTo" : {
+ "country" : "country",
+ "firstName" : "firstName",
+ "lastName" : "lastName",
+ "phoneNumber" : "phoneNumber",
+ "address1" : "address1",
+ "postalCode" : "postalCode",
+ "locality" : "locality",
+ "company" : "company",
+ "administrativeArea" : "administrativeArea"
+ },
+ "id" : "id",
+ "paymentInformation" : {
+ "bankAccount" : {
+ "eCheckType" : "eCheckType",
+ "routingNumber" : "routingNumber",
+ "nameOnAccount" : "nameOnAccount",
+ "checkNumber" : "checkNumber",
+ "accountType" : "accountType",
+ "bankName" : "bankName",
+ "accountNumber" : "accountNumber"
+ },
+ "tokenizedCard" : {
+ "expirationYear" : "expirationYear",
+ "number" : "number",
+ "expirationMonth" : "expirationMonth",
+ "cryptogram" : "cryptogram"
+ },
+ "card" : {
+ "expirationYear" : "expirationYear",
+ "number" : "number",
+ "securityCode" : "securityCode",
+ "expirationMonth" : "expirationMonth",
+ "type" : "type"
+ },
+ "fluidData" : {
+ "descriptor" : "descriptor",
+ "value" : "value",
+ "key" : "key"
+ },
+ "customer" : {
+ "paymentMethodId" : "paymentMethodId",
+ "customerId" : "customerId"
+ },
+ "validate" : true
+ }
+ }
+ },
+ "paymentMethodCollection" : {
+ "type" : "object",
+ "properties" : {
+ "_links" : {
+ "$ref" : "#/components/schemas/collectionLinks"
+ },
+ "_embedded" : {
+ "$ref" : "#/components/schemas/paymentMethodList"
+ },
+ "totalPaymentMethods" : {
+ "type" : "integer",
+ "description" : "Total number of payment methods for this transaction."
+ }
+ },
+ "example" : {
+ "_links" : {
+ "next" : null,
+ "previous" : null,
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ }
+ },
+ "_embedded" : {
+ "paymentMethods" : [ {
+ "default" : true,
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ },
+ "customer" : null
+ },
+ "id" : "id",
+ "paymentInformation" : {
+ "bankAccount" : {
+ "eCheckType" : "eCheckType",
+ "routingNumber" : "routingNumber",
+ "nameOnAccount" : "nameOnAccount",
+ "checkNumber" : "checkNumber",
+ "accountType" : "accountType",
+ "bankName" : "bankName",
+ "accountNumber" : "accountNumber"
+ },
+ "tokenizedCard" : {
+ "expirationYear" : "expirationYear",
+ "number" : "number",
+ "expirationMonth" : "expirationMonth",
+ "cryptogram" : "cryptogram"
+ },
+ "card" : {
+ "expirationYear" : "expirationYear",
+ "number" : "number",
+ "securityCode" : "securityCode",
+ "expirationMonth" : "expirationMonth",
+ "type" : "type"
+ },
+ "fluidData" : {
+ "descriptor" : "descriptor",
+ "value" : "value",
+ "key" : "key"
+ },
+ "customer" : {
+ "paymentMethodId" : "paymentMethodId",
+ "customerId" : "customerId"
+ },
+ "validate" : true
+ }
+ }, {
+ "default" : true,
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ },
+ "customer" : null
+ },
+ "id" : "id",
+ "paymentInformation" : {
+ "bankAccount" : {
+ "eCheckType" : "eCheckType",
+ "routingNumber" : "routingNumber",
+ "nameOnAccount" : "nameOnAccount",
+ "checkNumber" : "checkNumber",
+ "accountType" : "accountType",
+ "bankName" : "bankName",
+ "accountNumber" : "accountNumber"
+ },
+ "tokenizedCard" : {
+ "expirationYear" : "expirationYear",
+ "number" : "number",
+ "expirationMonth" : "expirationMonth",
+ "cryptogram" : "cryptogram"
+ },
+ "card" : {
+ "expirationYear" : "expirationYear",
+ "number" : "number",
+ "securityCode" : "securityCode",
+ "expirationMonth" : "expirationMonth",
+ "type" : "type"
+ },
+ "fluidData" : {
+ "descriptor" : "descriptor",
+ "value" : "value",
+ "key" : "key"
+ },
+ "customer" : {
+ "paymentMethodId" : "paymentMethodId",
+ "customerId" : "customerId"
+ },
+ "validate" : true
+ }
+ } ]
+ },
+ "totalPaymentMethods" : 0
+ }
+ },
+ "paymentMethodList" : {
+ "type" : "object",
+ "properties" : {
+ "paymentMethods" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/components/schemas/paymentMethods"
+ }
+ }
+ },
+ "example" : {
+ "paymentMethods" : [ {
+ "default" : true,
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ },
+ "customer" : null
+ },
+ "id" : "id",
+ "paymentInformation" : {
+ "bankAccount" : {
+ "eCheckType" : "eCheckType",
+ "routingNumber" : "routingNumber",
+ "nameOnAccount" : "nameOnAccount",
+ "checkNumber" : "checkNumber",
+ "accountType" : "accountType",
+ "bankName" : "bankName",
+ "accountNumber" : "accountNumber"
+ },
+ "tokenizedCard" : {
+ "expirationYear" : "expirationYear",
+ "number" : "number",
+ "expirationMonth" : "expirationMonth",
+ "cryptogram" : "cryptogram"
+ },
+ "card" : {
+ "expirationYear" : "expirationYear",
+ "number" : "number",
+ "securityCode" : "securityCode",
+ "expirationMonth" : "expirationMonth",
+ "type" : "type"
+ },
+ "fluidData" : {
+ "descriptor" : "descriptor",
+ "value" : "value",
+ "key" : "key"
+ },
+ "customer" : {
+ "paymentMethodId" : "paymentMethodId",
+ "customerId" : "customerId"
+ },
+ "validate" : true
+ }
+ }, {
+ "default" : true,
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ },
+ "customer" : null
+ },
+ "id" : "id",
+ "paymentInformation" : {
+ "bankAccount" : {
+ "eCheckType" : "eCheckType",
+ "routingNumber" : "routingNumber",
+ "nameOnAccount" : "nameOnAccount",
+ "checkNumber" : "checkNumber",
+ "accountType" : "accountType",
+ "bankName" : "bankName",
+ "accountNumber" : "accountNumber"
+ },
+ "tokenizedCard" : {
+ "expirationYear" : "expirationYear",
+ "number" : "number",
+ "expirationMonth" : "expirationMonth",
+ "cryptogram" : "cryptogram"
+ },
+ "card" : {
+ "expirationYear" : "expirationYear",
+ "number" : "number",
+ "securityCode" : "securityCode",
+ "expirationMonth" : "expirationMonth",
+ "type" : "type"
+ },
+ "fluidData" : {
+ "descriptor" : "descriptor",
+ "value" : "value",
+ "key" : "key"
+ },
+ "customer" : {
+ "paymentMethodId" : "paymentMethodId",
+ "customerId" : "customerId"
+ },
+ "validate" : true
+ }
+ } ]
+ }
+ },
+ "paymentMethods" : {
+ "type" : "object",
+ "properties" : {
+ "id" : {
+ "type" : "string",
+ "description" : "Unique identifier for the `paymentMethods` object in this transaction."
+ },
+ "default" : {
+ "type" : "boolean"
+ },
+ "paymentInformation" : {
+ "$ref" : "#/components/schemas/paymentInformation"
+ },
+ "_links" : {
+ "$ref" : "#/components/schemas/paymentMethodLinks"
+ }
+ },
+ "example" : {
+ "default" : true,
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ },
+ "customer" : null
+ },
+ "id" : "id",
+ "paymentInformation" : {
+ "bankAccount" : {
+ "eCheckType" : "eCheckType",
+ "routingNumber" : "routingNumber",
+ "nameOnAccount" : "nameOnAccount",
+ "checkNumber" : "checkNumber",
+ "accountType" : "accountType",
+ "bankName" : "bankName",
+ "accountNumber" : "accountNumber"
+ },
+ "tokenizedCard" : {
+ "expirationYear" : "expirationYear",
+ "number" : "number",
+ "expirationMonth" : "expirationMonth",
+ "cryptogram" : "cryptogram"
+ },
+ "card" : {
+ "expirationYear" : "expirationYear",
+ "number" : "number",
+ "securityCode" : "securityCode",
+ "expirationMonth" : "expirationMonth",
+ "type" : "type"
+ },
+ "fluidData" : {
+ "descriptor" : "descriptor",
+ "value" : "value",
+ "key" : "key"
+ },
+ "customer" : {
+ "paymentMethodId" : "paymentMethodId",
+ "customerId" : "customerId"
+ },
+ "validate" : true
+ }
+ }
+ },
+ "CreateCustomer" : {
+ "required" : [ "identifier" ],
+ "type" : "object",
+ "properties" : {
+ "description" : {
+ "type" : "string"
+ },
+ "identifier" : {
+ "$ref" : "#/components/schemas/Identifier"
+ }
+ },
+ "description" : "Model for CreateCustomer"
+ },
+ "EventType" : {
+ "type" : "object",
+ "properties" : {
+ "name" : {
+ "type" : "string"
+ }
+ },
+ "description" : "Name of the event type. For a complete list of event types, see the [Webhooks API Documentation](https://developer.authorize.net/api/reference/features/webhooks.html#Event_Types_and_Payloads) page.",
+ "example" : {
+ "name" : "name"
+ }
+ },
+ "CreateWebhookBody" : {
+ "type" : "object",
+ "properties" : {
+ "name" : {
+ "type" : "string",
+ "description" : "Contains details for the creation or update of a webhook."
+ },
+ "url" : {
+ "type" : "string",
+ "description" : "Callback URL for the webhook."
+ },
+ "eventTypes" : {
+ "type" : "array",
+ "description" : "List of events that will trigger notifications for this webhook. For a complete list of event types, see the [Webhooks API Documentation](https://developer.authorize.net/api/reference/features/webhooks.html#Event_Types_and_Payloads) page.",
+ "items" : {
+ "type" : "string"
+ }
+ },
+ "status" : {
+ "type" : "string",
+ "description" : "New status of the Webhook."
+ }
+ },
+ "description" : "Model for Create Webhook"
+ },
+ "GetWebhookResponse" : {
+ "required" : [ "_links", "eventTypes", "status", "url", "webhookId" ],
+ "type" : "object",
+ "properties" : {
+ "_links" : {
+ "$ref" : "#/components/schemas/selfLink"
+ },
+ "webhookId" : {
+ "type" : "string",
+ "description" : "Unique identifier of the notification. The identifier was sent in the original notification."
+ },
+ "name" : {
+ "type" : "string",
+ "description" : "Label of the new Webhook."
+ },
+ "status" : {
+ "type" : "string",
+ "description" : "Unique identifier of the webhook. The identifier was sent in the response to the webhook request."
+ },
+ "url" : {
+ "type" : "string",
+ "description" : "Callback Url for the webhook."
+ },
+ "eventTypes" : {
+ "type" : "array",
+ "description" : "List of events that will trigger notifications for this webhook. For a complete list of event types, see the [Webhooks API Documentation](https://developer.authorize.net/api/reference/features/webhooks.html#Event_Types_and_Payloads) page.",
+ "items" : {
+ "type" : "string"
+ }
+ }
+ },
+ "description" : "Response model for get a Webhook",
+ "example" : {
+ "webhookId" : "webhookId",
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ }
+ },
+ "name" : "name",
+ "eventTypes" : [ "eventTypes", "eventTypes" ],
+ "url" : "url",
+ "status" : "status"
+ }
+ },
+ "Log" : {
+ "type" : "object",
+ "properties" : {
+ "statusCode" : {
+ "type" : "integer",
+ "description" : "HTTP status code of the notification attempt."
+ },
+ "retryStage" : {
+ "type" : "integer",
+ "description" : ""
+ },
+ "retryCountInStage" : {
+ "type" : "integer"
+ },
+ "retryDate" : {
+ "type" : "string",
+ "description" : "Date of the last retry."
+ },
+ "message" : {
+ "type" : "string",
+ "description" : "A message about the status."
+ }
+ },
+ "description" : ""
+ },
+ "RetryLog" : {
+ "required" : [ "logs" ],
+ "type" : "object",
+ "properties" : {
+ "logs" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/components/schemas/Log"
+ }
+ }
+ },
+ "description" : "Logging information about notification retries."
+ },
+ "Notification" : {
+ "required" : [ "_links", "deliveryStatus", "eventDate", "eventType", "notificationId", "webhookId" ],
+ "type" : "object",
+ "properties" : {
+ "_links" : {
+ "$ref" : "#/components/schemas/selfLink"
+ },
+ "notificationId" : {
+ "type" : "string",
+ "description" : "Unique identifier of the notification"
+ },
+ "deliveryStatus" : {
+ "type" : "string",
+ "description" : "Current status of the notification."
+ },
+ "eventType" : {
+ "type" : "string",
+ "description" : "Type of event that triggered the notification."
+ },
+ "eventDate" : {
+ "type" : "string",
+ "description" : "Date and time of the notifications sent."
+ },
+ "webhookId" : {
+ "type" : "string",
+ "description" : "Label of the Webhook."
+ }
+ },
+ "description" : "Notification Model",
+ "example" : {
+ "webhookId" : "webhookId",
+ "_links" : null,
+ "notificationId" : "notificationId",
+ "eventType" : "eventType",
+ "deliveryStatus" : "deliveryStatus",
+ "eventDate" : "eventDate"
+ }
+ },
+ "GetNotificationResponse" : {
+ "description" : "Details of a single notification.",
+ "allOf" : [ {
+ "$ref" : "#/components/schemas/Notification"
+ }, {
+ "type" : "object",
+ "properties" : {
+ "retryLog" : {
+ "$ref" : "#/components/schemas/RetryLog"
+ }
+ }
+ } ]
+ },
+ "GetNotificationsResponse" : {
+ "required" : [ "_links", "notifications" ],
+ "type" : "object",
+ "properties" : {
+ "_links" : {
+ "$ref" : "#/components/schemas/selfLink"
+ },
+ "notifications" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/components/schemas/Notification"
+ }
+ }
+ },
+ "description" : "List of notifications.",
+ "example" : {
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ }
+ },
+ "notifications" : [ {
+ "webhookId" : "webhookId",
+ "_links" : null,
+ "notificationId" : "notificationId",
+ "eventType" : "eventType",
+ "deliveryStatus" : "deliveryStatus",
+ "eventDate" : "eventDate"
+ }, {
+ "webhookId" : "webhookId",
+ "_links" : null,
+ "notificationId" : "notificationId",
+ "eventType" : "eventType",
+ "deliveryStatus" : "deliveryStatus",
+ "eventDate" : "eventDate"
+ } ]
+ }
+ },
+ "address" : {
+ "type" : "object",
+ "properties" : {
+ "id" : {
+ "type" : "string",
+ "description" : "Unique identifier for an address."
+ },
+ "default" : {
+ "type" : "boolean",
+ "description" : "Setting this to `true` marks the address as the customer's default address."
+ },
+ "baseAddress" : {
+ "$ref" : "#/components/schemas/baseAddress"
+ },
+ "_links" : {
+ "$ref" : "#/components/schemas/addressLinks"
+ }
+ },
+ "example" : {
+ "default" : true,
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ },
+ "customer" : null
+ },
+ "baseAddress" : {
+ "country" : "country",
+ "firstName" : "firstName",
+ "lastName" : "lastName",
+ "phoneNumber" : "phoneNumber",
+ "address1" : "address1",
+ "postalCode" : "postalCode",
+ "locality" : "locality",
+ "company" : "company",
+ "administrativeArea" : "administrativeArea"
+ },
+ "id" : "id"
+ }
+ },
+ "baseAddress" : {
+ "required" : [ "address1" ],
+ "type" : "object",
+ "properties" : {
+ "address1" : {
+ "type" : "string",
+ "description" : "Number/letter of the address, and the street name. Required if merchant would like to use the Address Verification Service security feature. Required when using GPN Canada or Worldpay Streamline Processing Platform. String, up to 60 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols."
+ },
+ "administrativeArea" : {
+ "type" : "string",
+ "description" : "The state or administrative area. Required only when using a European payment processor. String, up to 40 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols. For US states, use the USPS two-character abbreviation for the state."
+ },
+ "company" : {
+ "type" : "string",
+ "description" : "Name of the purchasing company, if any. String, up to 50 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols."
+ },
+ "country" : {
+ "type" : "string",
+ "description" : "Country associated with the address. Required only when using a European payment processor. String, up to 60 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols. For international payment processors, use the ISO 3166 alpha-3 code for the country."
+ },
+ "firstName" : {
+ "type" : "string",
+ "description" : "First name associated with customer's address. Required only when using a European payment processor. String, up to 50 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols."
+ },
+ "lastName" : {
+ "type" : "string",
+ "description" : "Last name associated with customer's address. Required only when using a European payment processor. String, up to 50 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols."
+ },
+ "locality" : {
+ "type" : "string",
+ "description" : "City or town of the address. Required only when using a European payment processor. String, up to 40 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols."
+ },
+ "phoneNumber" : {
+ "type" : "string",
+ "description" : "Phone number associated with customer's address. String, up to 25 characters. For example, (123) 555-1234."
+ },
+ "postalCode" : {
+ "type" : "string",
+ "description" : "The postal or ZIP code of the customer's billing address. Required if merchant would like to use the Address Verification Service security feature. Required when using GPN Canada or Worldpay Streamline Processing Platform. String, up to 20 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols."
+ }
+ },
+ "example" : {
+ "country" : "country",
+ "firstName" : "firstName",
+ "lastName" : "lastName",
+ "phoneNumber" : "phoneNumber",
+ "address1" : "address1",
+ "postalCode" : "postalCode",
+ "locality" : "locality",
+ "company" : "company",
+ "administrativeArea" : "administrativeArea"
+ }
+ },
+ "addressLinks" : {
+ "type" : "object",
+ "properties" : {
+ "self" : {
+ "$ref" : "#/components/schemas/link"
+ },
+ "customer" : {
+ "$ref" : "#/components/schemas/link"
+ }
+ },
+ "example" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ },
+ "customer" : null
+ }
+ },
+ "addressList" : {
+ "type" : "object",
+ "properties" : {
+ "addresses" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/components/schemas/addresses"
+ }
+ }
+ },
+ "example" : {
+ "addresses" : [ {
+ "firstName" : "firstName",
+ "lastName" : "lastName",
+ "default" : true,
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ },
+ "customer" : null
+ },
+ "id" : "id"
+ }, {
+ "firstName" : "firstName",
+ "lastName" : "lastName",
+ "default" : true,
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ },
+ "customer" : null
+ },
+ "id" : "id"
+ } ]
+ }
+ },
+ "addressCollection" : {
+ "type" : "object",
+ "properties" : {
+ "_links" : {
+ "$ref" : "#/components/schemas/collectionLinks"
+ },
+ "_embedded" : {
+ "$ref" : "#/components/schemas/addressList"
+ },
+ "totalAddresses" : {
+ "type" : "integer",
+ "description" : "Total number of addresses."
+ }
+ },
+ "example" : {
+ "_links" : {
+ "next" : null,
+ "previous" : null,
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ }
+ },
+ "_embedded" : {
+ "addresses" : [ {
+ "firstName" : "firstName",
+ "lastName" : "lastName",
+ "default" : true,
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ },
+ "customer" : null
+ },
+ "id" : "id"
+ }, {
+ "firstName" : "firstName",
+ "lastName" : "lastName",
+ "default" : true,
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ },
+ "customer" : null
+ },
+ "id" : "id"
+ } ]
+ },
+ "totalAddresses" : 0
+ }
+ },
+ "addresses" : {
+ "type" : "object",
+ "properties" : {
+ "id" : {
+ "type" : "string",
+ "description" : "Unique identifier of the address."
+ },
+ "default" : {
+ "type" : "boolean",
+ "description" : "If the address is set as the default address for the profile, the value of this element is `true`."
+ },
+ "firstName" : {
+ "type" : "string",
+ "description" : "First name of the customer associated with the address."
+ },
+ "lastName" : {
+ "type" : "string",
+ "description" : "Last name of the customer associated with the address."
+ },
+ "_links" : {
+ "$ref" : "#/components/schemas/addressLinks"
+ }
+ },
+ "example" : {
+ "firstName" : "firstName",
+ "lastName" : "lastName",
+ "default" : true,
+ "_links" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ },
+ "customer" : null
+ },
+ "id" : "id"
+ }
+ },
+ "amountDetail" : {
+ "required" : [ "totalAmount" ],
+ "type" : "object",
+ "properties" : {
+ "totalAmount" : {
+ "type" : "string",
+ "description" : "This is the total amount of the payment and must include tax, shipping, tips, and any other charges. Decimal, up to 15 digits with a decimal point. Do not use currency symbols. For example, 8.95.\n"
+ },
+ "currency" : {
+ "type" : "string",
+ "description" : "Currency of the transaction."
+ },
+ "dutyAmount" : {
+ "type" : "string",
+ "description" : "Amount of duty. The total transaction amount must include this value."
+ },
+ "taxAmount" : {
+ "type" : "string",
+ "description" : "Amount of tax. The total transaction amount must include this value."
+ },
+ "freightAmount" : {
+ "type" : "string",
+ "description" : "Amount of the shipping charges. The total transaction amount must include this value."
+ },
+ "authorizedAmount" : {
+ "type" : "string",
+ "description" : ""
+ }
+ },
+ "example" : {
+ "totalAmount" : "totalAmount",
+ "freightAmount" : "freightAmount",
+ "authorizedAmount" : "authorizedAmount",
+ "currency" : "currency",
+ "taxAmount" : "taxAmount",
+ "dutyAmount" : "dutyAmount"
+ }
+ },
+ "bankAccount" : {
+ "required" : [ "accountNumber", "nameOnAccount", "routingNumber" ],
+ "type" : "object",
+ "properties" : {
+ "accountType" : {
+ "type" : "string",
+ "description" : "The type of bank account used for the eCheck.Net transaction. The value of `accountType` must be valid for the `echeckType` value submitted. Valid values include:\n* `checking`\n* `savings`\n* `businessChecking`"
+ },
+ "routingNumber" : {
+ "type" : "string",
+ "description" : "The ABA routing number. Masked except for the last four digits. For example, XXXX0101. Numeric, up to 9 digits."
+ },
+ "accountNumber" : {
+ "type" : "string",
+ "description" : "The bank account number. Masked except for the last four digits. For example, XXXX0101. Numeric, up to 17 digits."
+ },
+ "nameOnAccount" : {
+ "type" : "string",
+ "description" : "Name of the person who holds the bank account. String, up to 22 characters."
+ },
+ "eCheckType" : {
+ "type" : "string",
+ "description" : "The type of eCheck transaction. Valid values include\n* `PPD`\n* `WEB`\n* `CCD`\n* `TEL`\n* `ARC`\n* `BOC`"
+ },
+ "bankName" : {
+ "type" : "string",
+ "description" : "Name of the bank to which the account belongs."
+ },
+ "checkNumber" : {
+ "type" : "string",
+ "description" : "The number of the check. Do not send `checkNumber` unless `echeckType` is either `ARC` or `BOC`. Numeric, up to 15 digits."
+ }
+ },
+ "description" : "This object contains the customer's bank account payment information.",
+ "example" : {
+ "eCheckType" : "eCheckType",
+ "routingNumber" : "routingNumber",
+ "nameOnAccount" : "nameOnAccount",
+ "checkNumber" : "checkNumber",
+ "accountType" : "accountType",
+ "bankName" : "bankName",
+ "accountNumber" : "accountNumber"
+ }
+ },
+ "card" : {
+ "required" : [ "expirationMonth", "expirationYear", "number" ],
+ "type" : "object",
+ "properties" : {
+ "number" : {
+ "type" : "string",
+ "description" : "The customer's credit card number. Numeric, 13-16 digits."
+ },
+ "expirationMonth" : {
+ "type" : "string",
+ "description" : "Month that the card expires, in MM format."
+ },
+ "expirationYear" : {
+ "type" : "string",
+ "description" : "Year that the card expires in YYYY format."
+ },
+ "type" : {
+ "type" : "string",
+ "description" : "Type of credit card. Valid values include:\n* `Visa`\n* `MasterCard`\n* `Discover`\n* `JCB`\n* `DinersClub`"
+ },
+ "securityCode" : {
+ "type" : "string",
+ "description" : "The three or four digit code on the front or back of the card. This field is required if the merchant would like to use the Card Code Verification (CCV) security feature. Cardholder information must be stored securely and in accordance with the Payment Card Industry (PCI) Data Security Standard."
+ }
+ },
+ "description" : "This object contains the customer's credit card payment information.",
+ "example" : {
+ "expirationYear" : "expirationYear",
+ "number" : "number",
+ "securityCode" : "securityCode",
+ "expirationMonth" : "expirationMonth",
+ "type" : "type"
+ }
+ },
+ "customerPayment" : {
+ "required" : [ "customerId" ],
+ "type" : "object",
+ "properties" : {
+ "customerId" : {
+ "type" : "string",
+ "description" : "The ID of the customer profile. Required if you are using a customer profile as the source for payment or shipping information. 20-character maximum."
+ },
+ "paymentMethodId" : {
+ "type" : "string",
+ "description" : "The payment profile ID of the customer profile. Designates the payment profile to use for payment and billing information."
+ }
+ },
+ "example" : {
+ "paymentMethodId" : "paymentMethodId",
+ "customerId" : "customerId"
+ }
+ },
+ "errorResponse" : {
+ "title" : "errorResponse",
+ "required" : [ "message", "reason" ],
+ "type" : "object",
+ "properties" : {
+ "message" : {
+ "type" : "string",
+ "description" : "Describes the error condition."
+ },
+ "reason" : {
+ "type" : "string",
+ "description" : "This is an enum field that describes the business errors returned by the server. The client can use this field to interpret errors returned by the server. "
+ },
+ "informationLink" : {
+ "type" : "string",
+ "description" : "Contains a URL link to general online documentation for this error."
+ },
+ "correlationId" : {
+ "type" : "string",
+ "format" : "uuid"
+ },
+ "details" : {
+ "type" : "array",
+ "items" : {
+ "$ref" : "#/components/schemas/errorDetails"
+ }
+ }
+ },
+ "description" : "Model for Error Response"
+ },
+ "errorDetails" : {
+ "title" : "errorDetails",
+ "type" : "object",
+ "properties" : {
+ "message" : {
+ "type" : "string",
+ "description" : "Describes the error condition."
+ },
+ "location" : {
+ "type" : "string",
+ "description" : "Indicates the name of a parameter."
+ }
+ },
+ "description" : "Error details object."
+ },
+ "fluidData" : {
+ "required" : [ "descriptor", "value" ],
+ "type" : "object",
+ "properties" : {
+ "key" : {
+ "type" : "string",
+ "description" : "Only for Visa Checkout payments. This data is received from the JavaScript Visa Checkout integration's `encKey` field. 128-character maximum."
+ },
+ "descriptor" : {
+ "type" : "string",
+ "description" : "Specifies how the request should be processed. The value of `dataDescriptor` is based on the source of the value of `dataValue`. For example, for Accept, the value is `COMMON.ACCEPT.INAPP.PAYMENT`. 128 characters."
+ },
+ "value" : {
+ "type" : "string",
+ "description" : "Base64 encoded data that contains encrypted payment data. The payment gateway expects the encrypted payment data and meta data for the encryption keys. 8192 characters."
+ }
+ },
+ "description" : "This object contains encrypted payment data that can be submitted in the following types of payments:\n* Authorize.Net Accept\n* Visa Checkout\n* Apple Pay\n* Android Pay",
+ "example" : {
+ "descriptor" : "descriptor",
+ "value" : "value",
+ "key" : "key"
+ }
+ },
+ "items" : {
+ "required" : [ "productCode", "productName" ],
+ "type" : "object",
+ "properties" : {
+ "productCode" : {
+ "type" : "string",
+ "description" : "Item identification. 31-character maximum."
+ },
+ "productName" : {
+ "type" : "string",
+ "description" : "A short description of the item. 31-character maximum."
+ },
+ "quantity" : {
+ "type" : "number",
+ "description" : "The number of items sold. Up to a maximum of four decimal places."
+ },
+ "unitPrice" : {
+ "type" : "string",
+ "description" : "Cost of an item per unit, excluding tax, freight, and duty. Up to a maximum of 2 decimal places."
+ }
+ },
+ "example" : {
+ "unitPrice" : "unitPrice",
+ "productCode" : "productCode",
+ "quantity" : 0.8008281904610115,
+ "productName" : "productName"
+ }
+ },
+ "collectionLinks" : {
+ "type" : "object",
+ "properties" : {
+ "self" : {
+ "$ref" : "#/components/schemas/link"
+ },
+ "next" : {
+ "$ref" : "#/components/schemas/link"
+ },
+ "previous" : {
+ "$ref" : "#/components/schemas/link"
+ }
+ },
+ "example" : {
+ "next" : null,
+ "previous" : null,
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ }
+ }
+ },
+ "link" : {
+ "type" : "object",
+ "properties" : {
+ "href" : {
+ "type" : "string",
+ "description" : "URI of the linked resource."
+ },
+ "title" : {
+ "type" : "string",
+ "description" : "Label of the linked resource."
+ },
+ "method" : {
+ "type" : "string",
+ "description" : "HTTP method of the linked resource."
+ }
+ },
+ "example" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ }
+ },
+ "merchantDefinedInformation" : {
+ "type" : "object",
+ "properties" : {
+ "key" : {
+ "type" : "string",
+ "description" : "Item identification. 50-character maximum."
+ },
+ "value" : {
+ "type" : "string",
+ "description" : "A short description of the item. 50-character maximum."
+ }
+ }
+ },
+ "paymentInformation" : {
+ "type" : "object",
+ "properties" : {
+ "card" : {
+ "$ref" : "#/components/schemas/card"
+ },
+ "bankAccount" : {
+ "$ref" : "#/components/schemas/bankAccount"
+ },
+ "fluidData" : {
+ "$ref" : "#/components/schemas/fluidData"
+ },
+ "customer" : {
+ "$ref" : "#/components/schemas/customerPayment"
+ },
+ "tokenizedCard" : {
+ "$ref" : "#/components/schemas/tokenizedCard"
+ },
+ "validate" : {
+ "type" : "boolean",
+ "description" : "If the customer profile contains no payment data, this field should not be sent.\n Submitting this field with a value of `true` sends a $0 or $0.01 (depending on card type and processor) live transaction is processed for the card and then immediately voided. Address is required for cards that support $0 authorizations and will be validated along with card code if submitted.\n Submitting this field with a value of false, the card data is validated using simple mathematical checks to confirm that it appears to be valid. It is not a guarantee that the card is legitimate and customer data is not validated."
+ }
+ },
+ "description" : "This object sets the method of payment for a transaction. There are four available payment instruments, shown below.\n|Payment Instrument | Description |\n|-----|-----|\n| `creditCard` | Contains the customer's credit card payment data. |\n| `BankAccount` | Contains the customer's banking information. |\n| `FluidData` | Contains enrypted payment data for use with the following tpyes of transactions -\n| | * Visa Checkout |\n| | * Authorize.Net Accept |\n| | * Apple Pay |\n| | * Android Pay |\n| `CustomerPayment` | Contains the Authorize.Net customer profile information necessary to create a payment transaction from stored payment data. |\n",
+ "example" : {
+ "bankAccount" : {
+ "eCheckType" : "eCheckType",
+ "routingNumber" : "routingNumber",
+ "nameOnAccount" : "nameOnAccount",
+ "checkNumber" : "checkNumber",
+ "accountType" : "accountType",
+ "bankName" : "bankName",
+ "accountNumber" : "accountNumber"
+ },
+ "tokenizedCard" : {
+ "expirationYear" : "expirationYear",
+ "number" : "number",
+ "expirationMonth" : "expirationMonth",
+ "cryptogram" : "cryptogram"
+ },
+ "card" : {
+ "expirationYear" : "expirationYear",
+ "number" : "number",
+ "securityCode" : "securityCode",
+ "expirationMonth" : "expirationMonth",
+ "type" : "type"
+ },
+ "fluidData" : {
+ "descriptor" : "descriptor",
+ "value" : "value",
+ "key" : "key"
+ },
+ "customer" : {
+ "paymentMethodId" : "paymentMethodId",
+ "customerId" : "customerId"
+ },
+ "validate" : true
+ }
+ },
+ "selfLink" : {
+ "type" : "object",
+ "properties" : {
+ "self" : {
+ "$ref" : "#/components/schemas/link"
+ }
+ },
+ "example" : {
+ "self" : {
+ "method" : "method",
+ "href" : "href",
+ "title" : "title"
+ }
+ }
+ },
+ "tokenizedCard" : {
+ "required" : [ "cryptogram", "expirationMonth", "expirationYear", "number" ],
+ "type" : "object",
+ "properties" : {
+ "number" : {
+ "type" : "string",
+ "description" : "The credit card token."
+ },
+ "expirationMonth" : {
+ "type" : "string",
+ "description" : "The token's expiration month in MM format. Use the value of the token's expiration date, not the card's expiration date."
+ },
+ "expirationYear" : {
+ "type" : "string",
+ "description" : "The token's expiration year in YYYY format. Use the value of the token's expiration date, not the card's expiration date."
+ },
+ "cryptogram" : {
+ "type" : "string",
+ "description" : "Set this to the value of the cryptogram received from the token provider. This field confirms that the payment data is tokenized, and it must be submitted when the credit card number is a tokenized credit card."
+ }
+ },
+ "example" : {
+ "expirationYear" : "expirationYear",
+ "number" : "number",
+ "expirationMonth" : "expirationMonth",
+ "cryptogram" : "cryptogram"
+ }
+ },
+ "processorInformation_avs" : {
+ "type" : "object",
+ "properties" : {
+ "code" : {
+ "type" : "string",
+ "description" : "Address Verification Service (AVS) response code. Indicates the result of the AVS filter.\n * `A` = Address (Street) matches, ZIP does not.\n* `B` = Address information not provided for AVS check.\n* `E` = AVS error.\n* `G` = Non-U.S. Card Issuing Bank.\n* `N` = No Match on Address (Street) or ZIP.\n* `P` = AVS not applicable for this transaction.\n* `R` = Retry — System unavailable or timed out.\n* `S` = Service not supported by issuer.\n* `U` = Address information is unavailable.\n* `W` = Nine digit ZIP matches, Address (Street) does not.\n* `X` = Address (Street) and nine digit ZIP match.\n* `Y` = Address (Street) and five digit ZIP match.\n* `Z` = Five digit ZIP matches, Address (Street) does not."
+ }
+ },
+ "example" : {
+ "code" : "code"
+ }
+ },
+ "processorInformation_cardVerification" : {
+ "type" : "object",
+ "properties" : {
+ "resultCode" : {
+ "type" : "string",
+ "description" : "Card code verification (CCV) response code. String, 1 character. Valid values include:\n * `M` -- CVV matched.\n * `N` -- CVV did not match.\n * `P` -- CVV was not processed.\n * `S` -- CVV should have been present but was not indicated.\n * `U` -- The issuer was unable to process the CVV check."
+ }
+ },
+ "example" : {
+ "resultCode" : "resultCode"
+ }
+ },
+ "processorInformation_consumerAuthenticationResponse" : {
+ "type" : "object",
+ "properties" : {
+ "code" : {
+ "type" : "string",
+ "description" : "Cardholder authentication verification response code.\n **Note:** Mastercard transactions always return a null result for this element. Consequently, transaction details for Mastercard transactions do not contain CAVV results.\n String, 1 character. Valid values include:\n * Blank or not present -- CAVV not validated.\n * `0` -- CAVV was not validated because erroneous data was submitted.\n * `1` -- CAVV failed validation.\n * `2` -- CAVV passed validation.\n * `3` -- CAVV validation could not be performed; issuer attempt incomplete.\n * `4` -- CAVV validation could not be performed; issuer system error.\n * `5` -- Reserved for future use.\n * `6` -- Reserved for future use.\n * `7` -- CAVV failed validation, but the issuer is available. Valid for U.S.-issued card submitted to non-U.S acquirer.\n * `8` -- CAVV passed validation and the issuer is available. Valid for U.S.-issued card submitted to non-U.S. acquirer.\n * `9` -- CAVV failed validation and the issuer is unavailable. Valid for U.S.-issued card submitted to non-U.S acquirer.\n * `A` -- CAVV passed validation but the issuer unavailable. Valid for U.S.-issued card submitted to non-U.S acquirer.\n * `B` -- CAVV passed validation, information only, no liability shift."
+ }
+ },
+ "example" : {
+ "code" : "code"
+ }
+ }
+ },
+ "securitySchemes" : {
+ "basic" : {
+ "type" : "http",
+ "scheme" : "basic"
+ },
+ "oauth" : {
+ "type" : "oauth2",
+ "flows" : {
+ "implicit" : {
+ "authorizationUrl" : "https://account.authorize.net/oauth/authorize",
+ "scopes" : {
+ "read" : "List and view details",
+ "write" : "Create, list, and view details"
+ }
+ }
+ }
+ }
+ }
+ },
+ "x-original-swagger-version" : "2.0"
+}
diff --git a/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/wwwroot/web.config b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/wwwroot/web.config
new file mode 100644
index 00000000..e70a7778
--- /dev/null
+++ b/CsharpApiSourceCode/GeneratedCSharpAPI_NEW_2/src/IO.Swagger/wwwroot/web.config
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/CsharpApiSourceCode/Swagger code converted to C#.docx b/CsharpApiSourceCode/Swagger code converted to C#.docx
new file mode 100644
index 00000000..150e1e56
Binary files /dev/null and b/CsharpApiSourceCode/Swagger code converted to C#.docx differ
diff --git a/Documents/Csharp doc.docx b/Documents/Csharp doc.docx
new file mode 100644
index 00000000..150e1e56
Binary files /dev/null and b/Documents/Csharp doc.docx differ
diff --git a/Documents/Developer Portal SwaggerUI -Backstage.docx b/Documents/Developer Portal SwaggerUI -Backstage.docx
new file mode 100644
index 00000000..bab34148
Binary files /dev/null and b/Documents/Developer Portal SwaggerUI -Backstage.docx differ
diff --git a/Documents/SDK-Java -1.docx b/Documents/SDK-Java -1.docx
new file mode 100644
index 00000000..a0a8d471
Binary files /dev/null and b/Documents/SDK-Java -1.docx differ
diff --git a/Documents/SDK-Java.docx b/Documents/SDK-Java.docx
new file mode 100644
index 00000000..2defdda6
Binary files /dev/null and b/Documents/SDK-Java.docx differ
diff --git a/Documents/SDK-JavaScript.docx b/Documents/SDK-JavaScript.docx
new file mode 100644
index 00000000..5644f20c
Binary files /dev/null and b/Documents/SDK-JavaScript.docx differ
diff --git a/Documents/SDK-PHP.pdf b/Documents/SDK-PHP.pdf
new file mode 100644
index 00000000..c1dec57a
Binary files /dev/null and b/Documents/SDK-PHP.pdf differ
diff --git a/Documents/SDK-Python.docx b/Documents/SDK-Python.docx
new file mode 100644
index 00000000..631fbd29
Binary files /dev/null and b/Documents/SDK-Python.docx differ
diff --git a/Documents/Swagger Specs.yaml b/Documents/Swagger Specs.yaml
new file mode 100644
index 00000000..d5741fc4
--- /dev/null
+++ b/Documents/Swagger Specs.yaml
@@ -0,0 +1,7337 @@
+ swagger: '2.0'
+ info:
+ title: Authorize.Net REST API
+ description: Authorize.Net REST API
+ version: '1.0'
+ contact:
+ name: developer_feedback@authorize.net
+ host: api.authorize.net
+ schemes:
+ - https
+ securityDefinitions:
+ basic:
+ type: basic
+ oauth:
+ type: oauth2
+ flow: implicit
+ authorizationUrl: 'https://account.authorize.net/oauth/authorize'
+ scopes:
+ read: List and view details
+ write: 'Create, list, and view details'
+ paths:
+ /v1/customers:
+ post:
+ tags:
+ - customers-profiles
+ summary: Create A Customer Profile
+ description: Create a new customer profile that contains a payment method.
+ operationId: CreateCustomerAndPaymentMethod
+ consumes:
+ - application/json
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ x-example:
+ create-customer-example1:
+ summary: Create Customer
+ value:
+ description: Test Customer1300
+ identifier:
+ email: cus1300@authorize.com
+ reference: Customer1300
+ parameters:
+ - name: CreateCustomerAndPaymentMethod
+ in: body
+ description: Contains the information required to create a customer profile with an asociated payment method.
+ required: true
+ schema:
+ $ref: '#/definitions/CreateCustomerAndPaymentMethod'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/Customer'
+ x-example:
+ create-customer-response1:
+ summary: Create Customer Response
+ value:
+ id: '40198318'
+ description: Test Customer1300
+ identifier:
+ email: cus1300@authorize.com
+ reference: Customer1300
+ _links:
+ self:
+ href: /rest/v1/customers/40198318
+ method: GET
+ paymentMethods:
+ href: /rest/v1/customers/40198318/paymentMethods
+ method: GET
+ addresses:
+ href: /rest/v1/customers/40198318/addresses
+ method: GET
+ get:
+ tags:
+ - customers-profiles
+ summary: Get All Customer Profiles
+ description: Get a list of all customer profiles associated with this Authorize.Net account.
+ operationId: getAllCustomers
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - read
+ - basic: []
+ parameters:
+ - name: offset
+ in: query
+ type: integer
+ required: false
+ description: 'The number of the page to return results from. For example, if limit is set to 100, and offset is set to 2, the function will return 100 transactions, beginning with the transaction that would otherwise be the transaction numbered 101 in the result set. Accepted values are 1-100000.'
+ - name: limit
+ in: query
+ type: integer
+ required: false
+ description: The number of transactions per page. Accepted values are 1-1000.
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/CustomerCollection'
+ x-example: {}
+ '/v1/customers/{customerId}/addresses':
+ post:
+ tags:
+ - customers-addresses
+ summary: Create A Customer Address
+ description: Create an address associated with a customer profile.
+ operationId: createCustomerAddress
+ consumes:
+ - application/json
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ x-example:
+ add-customer-address-example1:
+ summary: Add Customer Address
+ value:
+ address1: 10 Ave 10 St.
+ administrativeArea: WA
+ company: Net
+ country: US
+ firstName: jim
+ lastName: carry
+ locality: Redmond
+ phoneNumber: 425 555 6666
+ postalCode: '98052'
+ parameters:
+ - name: customerId
+ in: path
+ type: string
+ description: 'Unique identifier of the customer profile, which was returned in the original transaction response.'
+ required: true
+ - name: createCustomerAddress
+ in: body
+ description: Contains address information.
+ required: true
+ schema:
+ $ref: '#/definitions/CreateCustomerAddress'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/address'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ get:
+ tags:
+ - customers-addresses
+ summary: Get All Customer Addresses
+ description: Get a list of all addresses associated with one customer profile.
+ operationId: getAllCustomerAddresses
+ security:
+ - oauth:
+ - read
+ - basic: []
+ parameters:
+ - name: customerId
+ in: path
+ type: string
+ description: 'Unique identifier of the customer profile, from the original profile creation response.'
+ required: true
+ - name: offset
+ in: query
+ type: integer
+ required: false
+ description: 'The number of the page to return results from. For example, if limit is set to 100, and offset is set to 2, the function will return 100 transactions starting with the transaction that would otherwise be the transaction numbered 101 in the result set. Accepted values are 1-100000.'
+ - name: limit
+ in: query
+ type: integer
+ required: false
+ description: The number of transactions per page. Accepted values are 1-1000.
+ produces:
+ - application/json
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/addressCollection'
+ x-example: {}
+ '/v1/customers/{customerId}/paymentmethods':
+ post:
+ tags:
+ - customers-payment_methods
+ summary: Create A Payment Method
+ description: Create and payment method associated with a customer profile.
+ operationId: createPaymentMethod
+ consumes:
+ - application/json
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ x-example:
+ create-paymentmethod-example1:
+ summary: Create Payment Method
+ value:
+ billTo:
+ address1: 10 Ave 10 St.
+ administrativeArea: WA
+ company: Net
+ country: US
+ firstName: jim
+ lastName: carry
+ locality: Redmond
+ phoneNumber: 425 555 6666
+ postalCode: '98052'
+ paymentInstrument:
+ creditCard:
+ cardNumber: '41XXXXXXXXXXXXX'
+ expirationDate: 2020-12
+ create-paymentmethod-example2:
+ summary: Create and validate Payment Method
+ value:
+ billTo:
+ address1: 11 Ave 11 St.
+ administrativeArea: WA
+ company: Net
+ country: US
+ firstName: east
+ lastName: wood
+ locality: Kirkland
+ phoneNumber: 425 555 6666
+ postalCode: '98007'
+ paymentInstrument:
+ creditCard:
+ cardNumber: '41XXXXXXXXXXXXX'
+ expirationDate: 2019-10
+ validate: 'true'
+ parameters:
+ - name: customerId
+ in: path
+ type: string
+ description: 'Unique identifier of the customer profile, from the original profile-creation response.'
+ required: true
+ - name: CreatePaymentMethod
+ in: body
+ description: This object creates a payment method associated with a payment profile.
+ required: true
+ schema:
+ $ref: '#/definitions/CreatePaymentMethod'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/paymentMethod'
+ x-example: {}
+ '404':
+ description: PaymentMethod not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ get:
+ tags:
+ - customers-payment_methods
+ summary: Get Customer Payment Methods
+ description: Get a list of payment methods associated with a customer profile.
+ operationId: getCustomerPaymentMethods
+ security:
+ - oauth:
+ - write
+ - basic: []
+ x-example:
+ getall-payment-methods-example1:
+ summary: Get All Payment Methods Example1
+ value:
+ billTo:
+ address1: 11 Ave 10 St.
+ administrativeArea: WA
+ company: Net
+ country: US
+ firstName: jim
+ lastName: carry
+ locality: Redmond
+ phoneNumber: 425-555-6666
+ postalCode: '98052'
+ payment:
+ creditCard:
+ cardNumber: '41XXXXXXXXXXXXX'
+ expirationDate: 2020-12
+ validate: 'true'
+ parameters:
+ - name: customerId
+ in: path
+ type: string
+ description: 'Unique identifier of the customer profile, returned in the response to the request that created the profile.'
+ required: true
+ - name: offset
+ in: query
+ type: integer
+ required: false
+ description: 'The number of the page to return results from. For example, if limit is set to 100, and offset is set to 2, the function will return 100 transactions starting with the transaction that would otherwise be the transaction numbered 101 in the result set. Accepted values are 1-100000.'
+ - name: limit
+ in: query
+ type: integer
+ required: false
+ description: The number of transactions per page. Accepted values are 1-1000.
+ produces:
+ - application/json
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/paymentMethodCollection'
+ x-example: {}
+ '/v1/customers/{customerId}':
+ get:
+ tags:
+ - customers-customers
+ summary: Get A Customer
+ description: Get the details of a single customer profile.
+ operationId: getCustomer
+ security:
+ - oauth:
+ - read
+ - basic: []
+ produces:
+ - application/json
+ parameters:
+ - name: customerId
+ in: path
+ type: string
+ description: 'Unique identifier of the customer profile, from the original profile-creation response.'
+ required: true
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/Customer'
+ x-example: {}
+ delete:
+ tags:
+ - customers-customers
+ summary: Delete a Customer Profile
+ operationId: DeleteCustomer
+ description: Deletes a customer profile.
+ security:
+ - oauth:
+ - write
+ - basic: []
+ x-example:
+ delete-customer-example1:
+ summary: Delete Customer Example1
+ value:
+ description: Updated Test Customer100
+ identifier:
+ email: cus100@authorize.com
+ reference: Customer100
+ parameters:
+ - name: customerId
+ in: path
+ type: string
+ description: 'Unique identifier of the customer profile, from the original profile-creation response.'
+ required: true
+ produces:
+ - application/json
+ responses:
+ '200':
+ description: OK
+ x-example: {}
+ put:
+ tags:
+ - customers-customers
+ summary: Update A Customer Profile
+ description: Updates a customer profile.
+ operationId: UpdateCustomer
+ security:
+ - oauth:
+ - write
+ - basic: []
+ x-example:
+ update-customer-example1:
+ summary: Update Customer
+ value:
+ description: Updated Test Customer100
+ identifier:
+ email: cus100@authorize.com
+ reference: Customer100
+ consumes:
+ - application/json
+ produces:
+ - application/json
+ parameters:
+ - name: customerId
+ in: path
+ type: string
+ description: 'Unique identifier of the customer profile, from the original profile-creation response.'
+ required: true
+ - name: CreateCustomerAndPaymentMethod
+ in: body
+ description: Contains the updated information.
+ required: true
+ schema:
+ $ref: '#/definitions/CreateCustomerAndPaymentMethod'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/Customer'
+ x-example: {}
+ '404':
+ description: Customer not updated
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '/v1/customers/{customerId}/addresses/{addressId}':
+ get:
+ tags:
+ - customers-addresses
+ summary: Get A Customer Address
+ description: Get a customer address.
+ operationId: getCustomerAddress
+ security:
+ - oauth:
+ - read
+ - basic: []
+ parameters:
+ - name: customerId
+ in: path
+ type: string
+ description: Unique identifier of the customer profile.
+ required: true
+ - name: addressId
+ in: path
+ type: string
+ description: Unique identifier of the address.
+ required: true
+ produces:
+ - application/json
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/address'
+ x-example: {}
+ delete:
+ tags:
+ - customers-addresses
+ summary: Delete a Customer Address
+ operationId: DeleteAddress
+ description: Deletes an address associated with a customer profile.
+ security:
+ - oauth:
+ - write
+ - basic: []
+ x-example:
+ delete-customer-address-example1:
+ summary: Delete Customer Address
+ value:
+ address1: 10 Ave 10 St.
+ administrativeArea: WA
+ company: Net
+ country: US
+ firstName: jim
+ lastName: carry
+ locality: Redmond
+ phoneNumber: 425 555 6666
+ postalCode: '98052'
+ parameters:
+ - name: customerId
+ in: path
+ type: string
+ description: Unique identifier of the customer profile.
+ required: true
+ - name: addressId
+ in: path
+ type: string
+ description: Unique identifier of the address.
+ required: true
+ produces:
+ - application/json
+ responses:
+ '200':
+ description: OK
+ x-example: {}
+ put:
+ tags:
+ - customers-addresses
+ summary: Update A Customer Address
+ description: Update an address associated with a customer profile.
+ operationId: updateCustomerAddress
+ security:
+ - oauth:
+ - write
+ - basic: []
+ x-example:
+ update-customer-address-example1:
+ summary: Update Customer Address
+ value:
+ address1: 11 Ave 10 St.
+ administrativeArea: WA
+ company: Net
+ country: US
+ firstName: jim
+ lastName: carry
+ locality: Redmond
+ phoneNumber: 425 555 6666
+ postalCode: '98052'
+ consumes:
+ - application/json
+ produces:
+ - application/json
+ parameters:
+ - name: customerId
+ in: path
+ type: string
+ description: Unique identifier of the customer profile.
+ required: true
+ - name: addressId
+ in: path
+ type: string
+ description: Unique identifier of the address.
+ required: true
+ - name: createCustomerAddress
+ in: body
+ description: Contains the address information.
+ required: true
+ schema:
+ $ref: '#/definitions/CreateCustomerAddress'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/address'
+ x-example: {}
+ '404':
+ description: Address not updated
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '/v1/customers/{customerId}/paymentmethods/{paymentMethodId}':
+ get:
+ tags:
+ - customers-payment_methods
+ summary: Get a Customer Payment Method
+ description: Get the payment method for a sinlge customer profile.
+ operationId: getCustomerPaymentMethod
+ security:
+ - oauth:
+ - read
+ - basic: []
+ x-example:
+ get-customer-paymentmethod-example1:
+ summary: Get Customer Payment Method Example1
+ value:
+ billTo:
+ address1: 11 Ave 10 St.
+ administrativeArea: WA
+ company: Net
+ country: US
+ firstName: jim
+ lastName: carry
+ locality: Redmond
+ phoneNumber: 425 555 6666
+ postalCode: '98052'
+ payment:
+ creditCard:
+ cardNumber: '41XXXXXXXXXXXXX'
+ expirationDate: 2020-12
+ validate: 'true'
+ parameters:
+ - name: customerId
+ in: path
+ type: string
+ description: Unique identifier of the customer profile.
+ required: true
+ - name: paymentMethodId
+ in: path
+ type: string
+ description: Unique identifier of the payment method.
+ required: true
+ produces:
+ - application/json
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/paymentMethod'
+ x-example: {}
+ delete:
+ tags:
+ - customers-payment_methods
+ summary: Delete a Customer Payment Method
+ operationId: DeletePaymentmethod
+ description: Deletes a payment method from a payment profile.
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: customerId
+ in: path
+ type: string
+ description: Unique identifier of the customer profile.
+ required: true
+ - name: paymentMethodId
+ in: path
+ type: string
+ description: Unique identifier of the payment method.
+ required: true
+ produces:
+ - application/json
+ responses:
+ '200':
+ description: OK
+ x-example: {}
+ put:
+ tags:
+ - customers-payment_methods
+ summary: Update a Customer Payment Method
+ description: Update a payment method associated with a payment profile.
+ operationId: UpdatePaymentMethod
+ security:
+ - oauth:
+ - write
+ - basic: []
+ consumes:
+ - application/json
+ produces:
+ - application/json
+ parameters:
+ - name: customerId
+ in: path
+ type: string
+ description: Unique identifier of the customer profile.
+ required: true
+ - name: paymentMethodId
+ in: path
+ type: string
+ description: Unique identifier of the payment method.
+ required: true
+ - name: createPaymentMethod
+ in: body
+ description: Contains the updated payment method information.
+ required: true
+ schema:
+ $ref: '#/definitions/CreatePaymentMethod'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/paymentMethod'
+ x-example: {}
+ '404':
+ description: Payment Method not updated
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/payments/:
+ get:
+ tags:
+ - payments-payments
+ summary: Get a List of Payments
+ description: Get a list of payment transactions.
+ operationId: Get all Payments_
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - read
+ - basic: []
+ parameters:
+ - name: offset
+ in: query
+ type: integer
+ required: false
+ description: '1-100000. The number of the page to return results from. For example, if limit is set to 100, and offset is set to 2, the function will return 100 transactions starting with the transaction that would otherwise be the transaction numbered 101 in the result set.'
+ - name: limit
+ in: query
+ type: integer
+ required: false
+ description: 1-1000. The number of transactions per page.
+ - name: batchId
+ in: query
+ type: string
+ required: false
+ - name: customerId
+ in: query
+ type: string
+ required: false
+ - name: unsettled
+ in: query
+ type: boolean
+ required: false
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/paymentCollection'
+ x-example:
+ get-payment-example1:
+ summary: Get All payments
+ value:
+ _link:
+ self:
+ href: /rest/v1/payments?offset=0&limit=2
+ method: GET
+ next:
+ href: /rest/v1/payments?offset=2&limit=2
+ method: GET
+ _embedded:
+ payments:
+ - id: '2151095715'
+ submitTimeUTC: '0001-01-01T00:00:00Z'
+ status: SETTLED
+ _links:
+ self:
+ href: /rest/v1/payments/2151095715
+ method: GET
+ - id: '2148703924'
+ submitTimeUTC: '2012-12-29T04:19:34Z'
+ status: SETTLED
+ _links:
+ self:
+ href: /rest/v1/payments/2148703924
+ method: GET
+ totalTransactions: 126480
+ post:
+ tags:
+ - payments-payments
+ summary: Create a Payment Transaction
+ description: 'Create a payment transaction. By default, this operation **authorizes and captures** the transaction. To only **authorize** it, set `paymentRequest.processingInformation.capture` to `false`.'
+ operationId: createPayment
+ security:
+ - oauth:
+ - write
+ - basic: []
+ x-example:
+ create-payment-example1:
+ summary: Charge using Credit Card
+ value:
+ clientReferenceInformation:
+ code: C4454
+ processingInformation:
+ capture: true
+ paymentSolution: PS1
+ recurringBilling: false
+ paymentInformation:
+ card:
+ number: '41XXXXXXXXXXXXX'
+ expirationMonth: '12'
+ expirationYear: '2019'
+ type: Visa
+ securityCode: '123'
+ orderInformation:
+ amountDetails:
+ totalAmount: '14.35'
+ currency: USD
+ dutyAmount: '0.01'
+ taxAmount: '0.02'
+ freightAmount: '0.03'
+ billTo:
+ address1: 123 Main St
+ administrativeArea: Lehi
+ company: Main Company
+ country: USA
+ firstName: Emily
+ lastName: Porter
+ locality: Locality
+ phoneNumber: 673-234-3454
+ postalCode: '51041'
+ shipTo:
+ address1: 123 Little St
+ administrativeArea: Kansas
+ company: Main Company
+ country: USA
+ firstName: Emily
+ lastName: Smith
+ locality: Porter
+ phoneNumber: 673-234-3454
+ postalCode: '51041'
+ lineItems:
+ - productCode: PCode
+ productName: Coffee
+ quantity: 1
+ unitPrice: '0.30'
+ invoiceDetails:
+ purchaseOrderNumber: PO-456378
+ taxable: false
+ description: Office Goods Invoice
+ create-payment-example2:
+ summary: Authorize Using Credit Card
+ value:
+ clientReferenceInformation:
+ code: '1234'
+ processingInformation:
+ capture: false
+ paymentSolution: string
+ recurringBilling: false
+ paymentInformation:
+ card:
+ number: '41XXXXXXXXXXXXX'
+ expirationMonth: '12'
+ expirationYear: '2022'
+ type: Visa
+ securityCode: '123'
+ validate: true
+ orderInformation:
+ amountDetails:
+ totalAmount: '11.35'
+ currency: USD
+ dutyAmount: '0.01'
+ taxAmount: '0.02'
+ freightAmount: '0.03'
+ billTo:
+ address1: 123 Main St
+ administrativeArea: Lehi
+ company: Main Company
+ country: USA
+ firstName: John
+ lastName: Smith
+ locality: Locality
+ phoneNumber: 123-234-3454
+ postalCode: '78045'
+ shipTo:
+ address1: 123 Main St
+ administrativeArea: Lehi
+ company: Main Company
+ country: USA
+ firstName: John
+ lastName: Smith
+ locality: Locality
+ phoneNumber: 123-234-3454
+ postalCode: '78045'
+ lineItems:
+ - productCode: PCode1
+ productName: Green Keychains
+ quantity: 1
+ unitPrice: '0.30'
+ invoiceDetails:
+ purchaseOrderNumber: PO-456378
+ taxable: true
+ description: KeyChains Invoice
+ create-payment-example3:
+ summary: Auth Capture using Bank Account
+ value:
+ processingInformation:
+ capture: true
+ paymentInformation:
+ bankAccount:
+ accountType: Checking
+ routingNumber: 'XXXXXX'
+ accountNumber: '123XXXXXXXXXXXX456'
+ nameOnAccount: string
+ eCheckType: PPD
+ bankName: string
+ checkNumber: string
+ orderInformation:
+ amountDetails:
+ totalAmount: '9.2'
+ dutyAmount: 01.00
+ taxAmount: 03.00
+ billTo:
+ address1: ewwe
+ administrativeArea: TX
+ company: Souveniropolis
+ country: USA
+ firstName: Ellen
+ lastName: Johnson
+ locality: Pecan Springs
+ postalCode: '44628'
+ shipTo:
+ address1: ewwe
+ administrativeArea: TX
+ company: Souveniropolis
+ country: USA
+ firstName: Ellen
+ lastName: Johnson
+ locality: Pecan Springs
+ postalCode: '44628'
+ invoiceDetails:
+ purchaseOrderNumber: INV-12347
+ create-payment-example4:
+ summary: Auth Capture using customer profile
+ value:
+ processingInformation:
+ capture: true
+ paymentInformation:
+ customer:
+ customerId: '40195947'
+ paymentMethodId: '40212792'
+ orderInformation:
+ amountDetails:
+ totalAmount: '11.33'
+ currency: USD
+ dutyAmount: '0.13'
+ taxAmount: '2.30'
+ freightAmount: '1.21'
+ lineItems:
+ - productCode: CodePC1
+ productName: NamePD2
+ quantity: 1
+ unitPrice: '1'
+ invoiceDetails:
+ purchaseOrderNumber: PO-2231
+ taxable: false
+ description: Payment Using Customer Profile
+ create-payment-example5:
+ summary: Auth Capture using tokenized credit card
+ value:
+ clientReferenceInformation:
+ code: C4454
+ processingInformation:
+ capture: true
+ paymentSolution: PS1
+ recurringBilling: false
+ paymentInformation:
+ tokenizedCard:
+ number: 'XXXXXXXXXXXXXXXXX'
+ expirationMonth: '04'
+ expirationYear: '2019'
+ cryptogram: ODA4LjAx
+ orderInformation:
+ amountDetails:
+ totalAmount: '14.35'
+ currency: USD
+ dutyAmount: '0.01'
+ taxAmount: '0.02'
+ freightAmount: '0.03'
+ billTo:
+ address1: 123 Main St
+ administrativeArea: Lehi
+ company: Main Company
+ country: USA
+ firstName: Emily
+ lastName: Porter
+ locality: Locality
+ phoneNumber: 673-234-3454
+ postalCode: '51041'
+ shipTo:
+ address1: 123 Little St
+ administrativeArea: Kansas
+ company: Main Company
+ country: USA
+ firstName: Emily
+ lastName: Smith
+ locality: Porter
+ phoneNumber: 673-234-3454
+ postalCode: '51041'
+ lineItems:
+ - productCode: PCode
+ productName: Coffee
+ quantity: 1
+ unitPrice: '0.30'
+ invoiceDetails:
+ purchaseOrderNumber: PO-111378
+ taxable: false
+ description: Office Goods Invoice
+ create-payment-example6:
+ summary: Auth Capture using fluid data
+ value:
+ clientReferenceInformation:
+ code: C44014
+ processingInformation:
+ capture: true
+ paymentSolution: PS11
+ recurringBilling: false
+ paymentInformation:
+ fluidData:
+ key: null
+ descriptor: COMMON.ACCEPT.INAPP.PAYMENT
+ value: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+ orderInformation:
+ amountDetails:
+ totalAmount: '17.35'
+ currency: USD
+ dutyAmount: '0.01'
+ taxAmount: '0.02'
+ freightAmount: '0.03'
+ billTo:
+ address1: 123 Main St
+ administrativeArea: Lehi
+ company: Main Company
+ country: USA
+ firstName: Emily
+ lastName: Porter
+ locality: Locality
+ phoneNumber: 673-234-3454
+ postalCode: '51041'
+ shipTo:
+ address1: 123 Little St
+ administrativeArea: Kansas
+ company: Main Company
+ country: USA
+ firstName: Emily
+ lastName: Smith
+ locality: Porter
+ phoneNumber: 673-234-3454
+ postalCode: '51041'
+ lineItems:
+ - productCode: PCode
+ productName: Coffee
+ quantity: 1
+ unitPrice: '0.30'
+ invoiceDetails:
+ purchaseOrderNumber: PO-450078
+ taxable: false
+ description: Book Store Invoice
+ parameters:
+ - name: PaymentRequest
+ in: body
+ required: true
+ schema:
+ $ref: '#/definitions/paymentRequest'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/payment'
+ x-example:
+ create-payment-response1:
+ summary: Charge using Credit Card Response
+ value:
+ _links:
+ self:
+ href: /rest/v1/payments/2156607907
+ method: GET
+ refund:
+ href: /rest/v1/payments/2156607907/refunds
+ method: POST
+ id: '2156607907'
+ status: CAPTURED
+ clientReferenceInformation:
+ code: C4454
+ processorInformation:
+ approvalCode: Z58NBF
+ avs:
+ code: 'Y'
+ submitTimeUTC: '2018-08-21T22:11:56Z'
+ orderInformation:
+ amountDetails:
+ totalAmount: '14.35'
+ currency: USD
+ dutyAmount: '0.01'
+ taxAmount: '0.02'
+ freightAmount: '0.03'
+ authorizedAmount: '14.35'
+ billTo:
+ address1: 123 Main St
+ administrativeArea: Lehi
+ company: Main Company
+ country: USA
+ firstName: Emily
+ lastName: Porter
+ locality: Locality
+ postalCode: '51041'
+ shipTo:
+ address1: 123 Little St
+ administrativeArea: Kansas
+ company: Main Company
+ country: USA
+ firstName: Emily
+ lastName: Smith
+ locality: Porter
+ postalCode: '51041'
+ lineItems:
+ - productCode: PCode
+ productName: Coffee
+ quantity: 1
+ unitPrice: '0.30'
+ invoiceDetails:
+ purchaseOrderNumber: PO-456378
+ description: Office Goods Invoice
+ paymentInformation:
+ card:
+ number: XXXX1111
+ expirationMonth: XX
+ expirationYear: XXXX
+ type: Visa
+ '500':
+ description: Internal Server Error
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '/v1/payments/{paymentId}':
+ get:
+ tags:
+ - payments-payments
+ summary: Get the Details of a Payment Transaction
+ description: Get the details of a payment transaction.
+ operationId: getPayment
+ security:
+ - oauth:
+ - read
+ - basic: []
+ parameters:
+ - name: paymentId
+ in: path
+ type: string
+ required: true
+ description: The unique identifier of the payment. Returned in the original transaction response.
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/payment'
+ x-example: {}
+ '404':
+ description: Payment Not Found
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: Internal Server Error
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '/v1/payments/{paymentId}/captures':
+ post:
+ tags:
+ - payments-captures
+ summary: Cature a Payment Transaction
+ description: Capture an authorization that was processed through Authorize.Net.
+ operationId: capturePayment
+ security:
+ - oauth:
+ - write
+ - basic: []
+ x-example:
+ capture-payment-example1:
+ summary: Capture a previously authorized amount
+ value:
+ orderInformation:
+ amountDetails:
+ totalAmount: '11.35'
+ currency: USD
+ dutyAmount: '0.01'
+ taxAmount: '0.02'
+ freightAmount: '0.03'
+ billTo:
+ address1: 123 Main St
+ administrativeArea: Lehi
+ company: Main Company
+ country: USA
+ firstName: John
+ lastName: Smith
+ locality: Locality
+ postalCode: '78045'
+ shipTo:
+ address1: 123 Main St
+ administrativeArea: Lehi
+ company: Main Company
+ country: USA
+ firstName: John
+ lastName: Smith
+ locality: Locality
+ postalCode: '78045'
+ lineItems:
+ - productCode: PCode1
+ productName: Green Keychains
+ quantity: 1
+ unitPrice: '0.30'
+ invoiceDetails:
+ purchaseOrderNumber: PO-456378
+ description: KeyChains Invoice
+ parameters:
+ - name: paymentId
+ in: path
+ type: string
+ required: true
+ description: The unique identifier of the authorization that you are capturing. The ID is returned in the original transaction response.
+ - name: captureRequest
+ in: body
+ required: true
+ schema:
+ $ref: '#/definitions/captureRequest'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/payment'
+ x-example: {}
+ '404':
+ description: Payment Not Found
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: Internal Server Error
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '/v1/payments/{paymentId}/refunds':
+ post:
+ tags:
+ - payments-refunds
+ summary: Refund a Payment Transaction
+ description: 'Refund a previously captured payment transaction by referencing its ID. To credit your customer''s account without referencing a previous transaction, use `/credits` instead'
+ operationId: refundPayment
+ security:
+ - oauth:
+ - write
+ - basic: []
+ x-example:
+ refund-payment-example1:
+ summary: Refund using Bank Account
+ value:
+ paymentInformation:
+ bankAccount:
+ accountType: BUSINESSCHECKING
+ routingNumber: 011301798
+ accountNumber: '0101'
+ nameOnAccount: John Doe
+ eCheckType: CCD
+ bankName: First Bank Of Authorize.Net
+ checkNumber: '1324453'
+ orderInformation:
+ amountDetails:
+ totalAmount: '6.00'
+ currency: USD
+ dutyAmount: '0.75'
+ taxAmount: '0.65'
+ freightAmount: '0.66'
+ parameters:
+ - name: paymentId
+ in: path
+ type: string
+ required: true
+ description: Unique identifier of the payment transaction that you are refunding. The ID is returned in the original transaction reponse.
+ - name: refundRequest
+ in: body
+ required: true
+ schema:
+ $ref: '#/definitions/refundRequest'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/payment'
+ x-example: {}
+ '404':
+ description: Payment Not Found
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: Internal Server Error
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/credits/:
+ post:
+ tags:
+ - credits
+ summary: Process a Credit Transaction
+ description: 'Create a credit transaction that is not related to a previous transaction. To refund a previous transaction, use `/payments/{paymentId}/refunds` instead.'
+ operationId: createCredit
+ security:
+ - oauth:
+ - write
+ - basic: []
+ x-example:
+ credit-example1:
+ summary: Credits Request using CC
+ value:
+ paymentInformation:
+ card:
+ number: 'XXXXXXXXXXXXXXXX'
+ expirationMonth: '07'
+ expirationYear: '2028'
+ orderInformation:
+ amountDetails:
+ totalAmount: '9.58'
+ currency: USD
+ parameters:
+ - name: Authorization
+ in: header
+ type: string
+ required: true
+ description: The value to provide in the Authorization header of ANET API request
+ - name: creditRequest
+ in: body
+ required: true
+ schema:
+ $ref: '#/definitions/creditRequest'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/payment'
+ x-example: {}
+ '500':
+ description: Internal Server Error
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/eventtypes:
+ get:
+ tags:
+ - webhooks-event_types
+ summary: Get a List of All Event Types
+ description: Returns a list of all Webhooks event types that you can enroll in.
+ operationId: getEventTypes
+ security:
+ - oauth:
+ - read
+ - basic: []
+ responses:
+ '200':
+ description: OK
+ schema:
+ type: array
+ items:
+ $ref: '#/definitions/EventType'
+ x-example: {}
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/webhooks:
+ get:
+ tags:
+ - webhooks-webhooks
+ summary: List My Webhooks
+ description: Retrieve details of all existing Webhooks for this account.
+ operationId: getWebhooks
+ security:
+ - oauth:
+ - read
+ - basic: []
+ responses:
+ '200':
+ description: OK
+ schema:
+ type: array
+ items:
+ $ref: '#/definitions/GetWebhookResponse'
+ x-example: {}
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ post:
+ tags:
+ - webhooks-webhooks
+ summary: Create A Webhook
+ description: Enroll in one or more type of event notification.
+ operationId: createWebhook
+ security:
+ - oauth:
+ - read
+ - basic: []
+ x-example:
+ create-webhook-example1:
+ summary: Create Webhook
+ value:
+ url: 'http://requestb.in/1ierf8i1'
+ eventTypes:
+ - net.authorize.payment.authorization.created
+ - net.authorize.payment.priorAuthCapture.created
+ - net.authorize.payment.authcapture.created
+ status: active
+ parameters:
+ - name: createWebhookBody
+ in: body
+ description: The payload which contains the details for enrolling in one or more webhooks.
+ required: true
+ schema:
+ $ref: '#/definitions/CreateWebhookBody'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/GetWebhookResponse'
+ x-example: {}
+ '400':
+ description: Invalid/Missing Data or Limit Reached
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '/v1/webhooks/{webhookId}':
+ get:
+ tags:
+ - webhooks-webhooks
+ summary: Get a Webhook
+ description: Retrieve THE details of an existing Webhook.
+ operationId: getWebhook
+ security:
+ - oauth:
+ - read
+ - basic: []
+ parameters:
+ - name: webhookId
+ in: path
+ description: Unique identifier of the webhook. The identifier was sent in the response to the webhook request.
+ required: true
+ type: string
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/GetWebhookResponse'
+ x-example: {}
+ '404':
+ description: Not Found
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ put:
+ tags:
+ - webhooks-webhooks
+ summary: Update A Webhook
+ description: Update the details of an existing webhook.
+ operationId: updateWebhook
+ security:
+ - oauth:
+ - read
+ - basic: []
+ x-example:
+ update-webhook-example1:
+ summary: Update Webhook
+ value:
+ status: inactive
+ url: 'http://requestb.in/1msxl041'
+ eventTypes:
+ - net.authorize.payment.authorization.created
+ parameters:
+ - name: webhookId
+ in: path
+ description: Unique identifier of the webhook. The identifier was sent in the response to the webhook request.
+ required: true
+ type: string
+ - name: updateWebhookBody
+ in: body
+ description: Contains the details to be updated.
+ required: true
+ schema:
+ $ref: '#/definitions/CreateWebhookBody'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/GetWebhookResponse'
+ x-example: {}
+ '400':
+ description: Invalid/Missing Data or Limit Reached
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '404':
+ description: Not Found
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ delete:
+ tags:
+ - webhooks-webhooks
+ summary: Delete A Webhook
+ description: Delete an existing Webhook.
+ operationId: deleteWebhook
+ security:
+ - oauth:
+ - read
+ - basic: []
+ x-example:
+ delete-webhook-example1:
+ summary: Delete Webhook Example1
+ value:
+ eventType:
+ - payment.authorization.created
+ - payment.capture.created
+ url: 'https://mysite/callback'
+ status: active
+ parameters:
+ - name: webhookId
+ in: path
+ description: Unique identifier of the webhook. The identifier was sent in the response to the webhook request.
+ required: true
+ type: string
+ responses:
+ '200':
+ description: OK
+ x-example: {}
+ '400':
+ description: 'Invalid Data '
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '404':
+ description: Not Found
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '/v1/webhooks/{webhookId}/pings':
+ post:
+ tags:
+ - webhooks-pings
+ summary: Ping A Webhook
+ description: 'A test event is sent to the Webhook endpoint, in an inactive state.'
+ operationId: pingsWebhook
+ security:
+ - oauth:
+ - read
+ - basic: []
+ parameters:
+ - name: webhookId
+ in: path
+ description: Unique identifier of the webhook. The identifier was sent in the response to the webhook request.
+ required: true
+ type: string
+ responses:
+ '200':
+ description: OK
+ x-example: {}
+ '404':
+ description: Not Found
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/notifications:
+ parameters:
+ - name: deliveryStatus
+ in: query
+ type: string
+ description: Filter by delivery status. Status include the following./n/n* Delivered/n/n* Failed
+ - name: from_date
+ in: query
+ type: string
+ description: 'Only includes notifications after the specified date, in YYYY-MM-DD format.'
+ - name: to_date
+ in: query
+ type: string
+ description: 'Only includes notifications before specified date, in YYYY-MM-DD format.'
+ - name: offset
+ in: query
+ type: integer
+ description: 'The number of the page to return results from. For example, if limit is set to 100, and offset is set to 2, the function will return 100 transactions, beginning with the transaction that would otherwise be the transaction numbered 101 in the result set. Accepted values are 1-100000.'
+ - name: limit
+ in: query
+ type: integer
+ description: The number of transactions per page. Accepted values are 1-1000.
+ get:
+ tags:
+ - webhooks-notifications
+ summary: Get Notification History
+ description: Retreives the history of notifications for this account.
+ operationId: getNotifications
+ security:
+ - oauth:
+ - read
+ - basic: []
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/GetNotificationsResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '/v1/notifications/{notificationsId}':
+ get:
+ tags:
+ - webhooks-notifications
+ summary: Get a Notification
+ description: Retreives the details of a single notification.
+ operationId: getNotification
+ security:
+ - oauth:
+ - read
+ - basic: []
+ parameters:
+ - name: notificationsId
+ in: path
+ description: Unique identifier of the notification. The identifier was sent in the original notification.
+ required: true
+ type: string
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/GetNotificationResponse'
+ '404':
+ description: Not Found
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/paymentTransactions/chargeaCreditCard:
+ post:
+ tags:
+ - paymentTransaction-transaction
+ summary: Charge a Credit Card.
+ description: Use this method to authorize and capture a credit card payment.
+ operationId: createTransactionRequest
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: chargeaCreditCard
+ in: body
+ schema:
+ $ref: '#/definitions/createTransactionRequestForChargeACreditCard'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/transaction'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/paymentTransactions/authorizeCreditCard:
+ post:
+ tags:
+ - paymentTransaction-transaction
+ summary: Authorize a Credit Card.
+ description: Use this method to authorize a credit card payment. To actually charge the funds you will need to follow up with a capture transaction.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: authorizeCreditCard
+ in: body
+ schema:
+ $ref: '#/definitions/createTransactionRequestForChargeACreditCard'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/chargeATokenizedCreditCardResponse'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/paymentTransactions/capturePreviousAuthorizedAmount:
+ post:
+ tags:
+ - paymentTransaction-transaction
+ summary: Capture Previous Authorized Amount.
+ description: Use this method to capture funds reserved with a previous authOnlyTransaction transaction request.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: createCapturePreviousAuthorizedAmount
+ in: body
+ schema:
+ $ref: '#/definitions/createCapturePreviousAuthorizedAmount'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/transactionForPayments'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/paymentTransactions/captureFundsAuthorizedThroughAnotherChannel:
+ post:
+ tags:
+ - paymentTransaction-transaction
+ summary: Capture Funds Authorized Through Another Channel.
+ description: Use this method to capture funds which have been authorized through another channel, such as phone authorization. If you need to capture an authorizeOnlyTransaction, use priorAuthCaptureTransaction instead.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: createCaptureFundsAuthorizedThroughAnotherChannel
+ in: body
+ schema:
+ $ref: '#/definitions/createCaptureFundsAuthorizedThroughAnotherChannel'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/transactionForPayments'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/paymentTransactions/refundTransaction:
+ post:
+ tags:
+ - paymentTransaction-transaction
+ summary: Refund A Transaction.
+ description: This transaction type is used to refund a customer for a transaction that was successfully settled through the payment gateway. Note that credit card information and bank account information are mutually exclusive, so you should not submit both.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: refundTransaction
+ in: body
+ schema:
+ $ref: '#/definitions/createRefundTransaction'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/transactionForPayments'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/paymentTransactions/voidATransaction:
+ post:
+ tags:
+ - paymentTransaction-transaction
+ summary: Void A Transaction.
+ description: This transaction type can be used to cancel either an original transaction that is not yet settled or an entire order composed of more than one transaction. A Void prevents the transaction or the order from being sent for settlement. A Void can be submitted against any other transaction type
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: voidATransaction
+ in: body
+ schema:
+ $ref: '#/definitions/createVoidTransaction'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/transactionForPayments'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/paymentTransactions/updateSplitTenderGroup:
+ put:
+ tags:
+ - paymentTransaction-transaction
+ summary: Update Split Tender Group.
+ description: Use this function to update the status of an existing order that contains multiple transactions with the same splitTenderId value.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: merchantAuthentication
+ in: query
+ type: string
+ description: 'Contains merchant authentication information.'
+ required: true
+ - name: name
+ in: query
+ type: string
+ description: 'Merchant’s unique API Login ID.'
+ required: true
+ - name: transactionKey
+ in: query
+ type: string
+ description: 'Merchant’s unique Transaction Key.'
+ required: true
+ - name: refId
+ in: query
+ type: string
+ description: 'Merchant-assigned reference ID for the request.'
+ required: false
+ - name: splitTenderId
+ in: query
+ type: string
+ description: 'Payment gateway-assigned number associated with the order.'
+ required: true
+ - name: splitTenderStatus
+ in: query
+ type: string
+ description: 'Indicates the status of all transactions associated with the order.'
+ required: false
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/updateSplitTenderGroupResponse'
+ x-example: {}
+ '404':
+ description: Address not updated
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/paymentTransactions/debitABankAccount:
+ post:
+ tags:
+ - paymentTransaction-transaction
+ summary: Debit A Bank Account.
+ description: Use this method to process an ACH debit transaction using bank account details.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: createDebitABankAccount
+ in: body
+ schema:
+ $ref: '#/definitions/createDebitABankAccount'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/transactionForPayments'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/paymentTransactions/creditABankAccount:
+ post:
+ tags:
+ - paymentTransaction-transaction
+ summary: Credit A Bank Account.
+ description: This transaction type is used to refund a customer using a bank account credit transaction.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: creditABankAccount
+ in: body
+ schema:
+ $ref: '#/definitions/createCreditABankAccount'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/creditABankAccountResponse'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/paymentTransactions/chargeACustomerProfile:
+ post:
+ tags:
+ - paymentTransaction-transaction
+ summary: charge a Customer Profile.
+ description: Use this method to authorize and capture a payment using a stored customer payment profile.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: ChargeACustomerProfile
+ in: body
+ schema:
+ $ref: '#/definitions/chargeACustomerProfile'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/chargeACustomerProfileResponse'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/paymentTransactions/chargeATokenizedCreditCard:
+ post:
+ tags:
+ - paymentTransaction-transaction
+ summary: Charge A Tokenized Credit Card.
+ description: Use this method to authorize and capture a payment using a tokenized credit card number issued by a certified token provider. The payment processor must support payment network tokenization, and you must pass in your request the token, the expiration date, and the cryptogram receied from the token provider.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: chargeATokenizedCreditCard
+ in: body
+ schema:
+ $ref: '#/definitions/chargeATokenizedCreditCard'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/chargeATokenizedCreditCardResponse'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/mobileInAppTransctions/createAnApplePayTransaction:
+ post:
+ tags:
+ - mobileInAppTransactions
+ summary: Create An Apple Pay Transaction.
+ description: Use this function to create an Authorize.net payment transaction request using Apple Pay data in place of card data.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: createAnApplePayTransaction
+ in: body
+ schema:
+ $ref: '#/definitions/createTransactionRequestForAnApplePayTransaction'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/createMobileInAppTransactionResponce'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/mobileInAppTransctions/createAnGooglePayTransaction:
+ post:
+ tags:
+ - mobileInAppTransactions
+ summary: Create An Google Pay Transaction.
+ description: Use this function to create an Authorize.net payment transaction request using Google Pay data in place of card data.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: createAnGooglePayTransaction
+ in: body
+ schema:
+ $ref: '#/definitions/createTransactionRequestForAnApplePayTransaction'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/createMobileInAppTransactionResponce'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/payPalExpressCheckout/authorizationOnly:
+ post:
+ tags:
+ - payPalExpressCheckout
+ summary: Authorization Only.
+ description: An Authorization Only request notifies PayPal that an authorization has been initiated but does not complete the authorization. It returns a secure URL with a token appended to it. The purpose of this token is to identify the transaction when the customer is redirected to PayPal.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: createAuthorizationOnlyTransaction
+ in: body
+ schema:
+ $ref: '#/definitions/createAuthorizationOnlyTransaction'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/createPayPalAuthorizeOnlyTransactionResponce'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/payPalExpressCheckout/authorizationAndCapture:
+ post:
+ tags:
+ - payPalExpressCheckout
+ summary: Authorization And Capture.
+ description: This type of transaction is the most common and is the default payment gateway transaction type. Like the Authorization Only request, it notifies PayPal that an Authorization and Capture transaction has been initiated, but does not complete the request. It also returns a secure URL with a token appended to it. The purpose of this token is to identify the transaction when the customer is redirected to PayPal.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: createAuthorizationAndCaptureTransaction
+ in: body
+ schema:
+ $ref: '#/definitions/createAuthorizationAndCaptureTransaction'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/createPayPalForAuthorizeAndCaptureTransactionResponc'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/payPalExpressCheckout/getDetails:
+ get:
+ tags:
+ - payPalExpressCheckout
+ summary: Get a Details.
+ description: A Get Details transaction returns customer’s PayPal Payer ID and shipping information.
+ operationId: getDetails
+ security:
+ - oauth:
+ - read
+ - basic: []
+ parameters:
+ - name: merchantAuthentication
+ in: query
+ type: string
+ required: true
+ description: 'Contains merchant authentication information.'
+ - name: name
+ in: query
+ type: string
+ required: true
+ description: 'Merchant’s unique API Login ID.'
+ - name: transactionKey
+ in: query
+ type: string
+ required: true
+ description: 'Merchant’s unique Transaction Key.'
+ - name: refId
+ in: query
+ type: string
+ required: false
+ description: 'Merchant-assigned reference ID for the request.'
+ - name: transactionRequest
+ in: query
+ type: string
+ required: false
+ - name: transactionType
+ in: query
+ type: string
+ required: false
+ description: 'Contains merchant authentication information.'
+ - name: refTransId
+ in: query
+ type: string
+ required: false
+ description: 'The ID of the original transaction from which you are pulling the Payer ID and shipping information.'
+ produces:
+ - application/json
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/createGetDetailsResponce'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/payPalExpressCheckout/authorizationOnlyContinue:
+ post:
+ tags:
+ - payPalExpressCheckout
+ summary: Authorization Only Continue.
+ description: This request, if successful, actually authorizes the transaction but does not capture it.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: createAuthorizationOnlyContinueTransaction
+ in: body
+ schema:
+ $ref: '#/definitions/createAuthorizationOnlyContinueTransaction'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/createGetDetailsResponce'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/payPalExpressCheckout/priorAuthorizationCapture:
+ post:
+ tags:
+ - payPalExpressCheckout
+ summary: Prior Authorization Capture.
+ description: This transaction type is used to capture an Authorization Only, Continued transaction that was successfully authorized through the payment gateway.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: createPriorAuthorizationCaptureTransaction
+ in: body
+ schema:
+ $ref: '#/definitions/createPriorAuthorizationCaptureTransaction'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/createGetDetailsResponce'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/payPalExpressCheckout/authorizationAndCaptureContinue:
+ post:
+ tags:
+ - payPalExpressCheckout
+ summary: Authorization And Capture Continue.
+ description: This request actually authorizes and captures the transaction.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: createAuthorizationAndCaptureContinue
+ in: body
+ schema:
+ $ref: '#/definitions/createAuthorizationAndCaptureContinue'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/createGetDetailsResponce'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/payPalExpressCheckout/void:
+ post:
+ tags:
+ - payPalExpressCheckout
+ summary: Void
+ description: This transaction type can be used to cancel an authorization that has not yet been captured. Void can be used only in the following sequence- Authorization Only > Authorization Only, Continued > Void.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: createVoidPayPalExpressCheckOutTransaction
+ in: body
+ schema:
+ $ref: '#/definitions/createVoidPayPalExpressCheckOutTransaction'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/transactionForPayments'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/payPalExpressCheckout/credit:
+ post:
+ tags:
+ - payPalExpressCheckout
+ summary: Credit.
+ description: This transaction type can be used to cancel an authorization that has not yet been captured. Void can be used only in the following sequence- Authorization Only > Authorization Only, Continued > Void.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: createCreditTransaction
+ in: body
+ schema:
+ $ref: '#/definitions/createCreditTransaction'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/creditResponce'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/fraudManagement/getHeldTransactionList:
+ get:
+ tags:
+ - fraudManagement
+ summary: Get Held Transaction List.
+ description: Use this function to get data for suspicious transactions. The function will return data for up to 1000 of the most recent transactions in a single request. Paging options can be sent to limit the result set or to retrieve additional transactions beyond the 1000 transaction limit. You can add the sorting and paging options shown below to customize the result set.
+ operationId: getHeldTransactionList
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: merchantAuthentication
+ in: query
+ type: string
+ description: 'Contains merchant authentication information.'
+ required: true
+ - name: name
+ in: query
+ type: string
+ description: 'Merchant’s unique API Login ID.'
+ required: true
+ - name: transactionKey
+ in: query
+ type: string
+ required: false
+ description: 'Merchant’s unique Transaction Key.'
+ - name: refId
+ in: query
+ type: string
+ required: false
+ description: 'Merchant-assigned reference ID for the request.'
+ - name: status
+ in: query
+ type: string
+ required: true
+ - name: sorting
+ in: query
+ type: string
+ description: 'Contains sorting information.'
+ required: false
+ - name: orderBy
+ in: query
+ type: string
+ required: false
+ description: 'Order of transactions in response.'
+ - name: orderDescending
+ in: query
+ type: boolean
+ required: false
+ description: 'Sort the transactions in descending order.'
+ - name: paging
+ in: query
+ type: string
+ required: false
+ description: 'Contains paging information.'
+ - name: limit
+ in: query
+ type: string
+ required: false
+ description: 'The number of transactions per page.'
+ - name: offset
+ in: query
+ type: string
+ required: false
+ description: 'The number of the page to return results from.'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/transactions'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/fraudManagement/approveOrDeclineHeldTransaction:
+ post:
+ tags:
+ - fraudManagement
+ summary: Approve Or Decline Held Transaction.
+ description: Approve or Decline a held Transaction.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: createApproveOrDeclineHeldTransaction
+ in: body
+ schema:
+ $ref: '#/definitions/createApproveOrDeclineHeldTransaction'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/fraudManagementResponce'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/recurringBilling/createASubscription:
+ post:
+ tags:
+ - recurringBilling
+ summary: Recurring Billing.
+ description: Recurring Billing API methods enable you to manage regular payment subscriptions.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: createASubscription
+ in: body
+ schema:
+ $ref: '#/definitions/createASubscription'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/createSubscriptionResponce'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/recurringBilling/createASubscriptionFromCustomerProfile:
+ post:
+ tags:
+ - recurringBilling
+ summary: Create a Subscription from Customer Profile.
+ description: This request enables you to create a recurring billing subscription from an existing customer profile.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: createASubscriptionFromCustomerProfile
+ in: body
+ schema:
+ $ref: '#/definitions/createASubscriptionFromCustomerProfile'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/createASubscriptionFromCustomerProfileResponce'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/recurringBilling/getSubscription:
+ get:
+ tags:
+ - recurringBilling
+ summary: Get Subscription.
+ description: Retrieves an existing ARB subscription.
+ operationId: getSubscription
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: merchantAuthentication
+ in: query
+ type: string
+ description: 'Contains merchant authentication information.'
+ required: true
+ - name: name
+ in: query
+ type: string
+ description: 'Merchant’s unique API Login ID.'
+ required: true
+ - name: transactionKey
+ in: query
+ type: integer
+ required: true
+ description: 'Merchant’s unique Transaction Key.'
+ - name: refId
+ in: query
+ type: string
+ description: 'Merchant-assigned reference ID for the request.'
+ required: false
+ - name: subscriptionId
+ in: query
+ type: string
+ description: 'The payment gateway-assigned identification number for the subscription.'
+ required: true
+ - name: includeTransactions
+ in: query
+ type: integer
+ required: false
+ description: 'Indicates whether to include information about transactions for this subscription.'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/getSubscriptionResponce'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/recurringBilling/getSubscriptionStatus:
+ get:
+ tags:
+ - recurringBilling
+ summary: Get Subscription Status.
+ description: Retrieves the status of an existing ARB subscription.
+ operationId: getSubscriptionStatus
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: merchantAuthentication
+ in: query
+ type: string
+ description: 'Contains merchant authentication information.'
+ required: true
+ - name: name
+ in: query
+ type: string
+ description: 'Merchant’s unique API Login ID.'
+ required: true
+ - name: transactionKey
+ in: query
+ type: integer
+ required: true
+ description: 'Merchant’s unique Transaction Key.'
+ - name: refId
+ in: query
+ type: string
+ description: 'Merchant-assigned reference ID for the request.'
+ required: false
+ - name: subscriptionId
+ in: query
+ type: integer
+ description: 'The payment gateway-assigned identification number for the subscription.'
+ required: true
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/getSubscriptionStatusResponce'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/recurringBilling/updateSubscription:
+ put:
+ tags:
+ - recurringBilling
+ summary: Update A Customer Address
+ description: Update an address associated with a customer profile.
+ operationId: updateSubscription
+ security:
+ - oauth:
+ - write
+ - basic: []
+ consumes:
+ - application/json
+ produces:
+ - application/json
+ parameters:
+ - name: refId
+ in: query
+ type: string
+ description: Unique identifier of the customer profile.
+ required: true
+ - name: subscriptionId
+ in: query
+ type: string
+ description: Unique identifier of the address.
+ required: true
+ - name: updateSubscription
+ in: body
+ description: Contains the address information.
+ required: true
+ schema:
+ $ref: '#/definitions/createSubscription'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/updateSubscriptionResponse'
+ x-example: {}
+ '404':
+ description: Address not updated
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/recurringBilling/cancelSubscription:
+ post:
+ tags:
+ - recurringBilling
+ summary: Cancel Subscription.
+ description: Cancels an existing subscription.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: createCancelSubscription
+ in: body
+ schema:
+ $ref: '#/definitions/createCancelSubscription'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/createCancelSubscriptionResponce'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/recurringBilling/getAListOfSubscriptions:
+ get:
+ tags:
+ - recurringBilling
+ summary: Get a List of Subscriptions.
+ description: You can use the following method to request a list of subscriptions.
+ operationId: getAListOfSubscriptions
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: merchantAuthentication
+ in: query
+ type: string
+ description: 'Contains merchant authentication information.'
+ required: true
+ - name: name
+ in: query
+ type: string
+ description: 'Merchant’s unique API Login ID.'
+ required: true
+ - name: transactionKey
+ in: query
+ type: integer
+ required: true
+ description: 'Merchant’s unique Transaction Key.'
+ - name: refId
+ in: query
+ type: string
+ description: 'Merchant-assigned reference ID for the request.'
+ required: false
+ - name: searchType
+ in: query
+ type: string
+ description: 'Specifies how to filter search results.'
+ required: true
+ - name: sorting
+ in: query
+ type: string
+ description: 'Contains sorting information.'
+ required: false
+ - name: orderBy
+ in: query
+ type: string
+ description: 'Order of results in response.'
+ required: true
+ - name: orderDescending
+ in: query
+ type: boolean
+ required: false
+ description: 'Sort the results in descending order.'
+ - name: paging
+ in: query
+ type: string
+ description: 'Contains paging information.'
+ required: false
+ - name: limit
+ in: query
+ type: integer
+ description: 'The number of transactions per page.'
+ required: false
+ - name: offset
+ in: query
+ type: string
+ description: 'The number of the page to return results from.'
+ required: false
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/getAListOfSubscriptionsResponce'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/transactionReporting/getSettledBatchList:
+ get:
+ tags:
+ - transactionReporting
+ summary: Get Subscription.
+ description: Retrieves an existing ARB subscription.
+ operationId: getSettledBatchList
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: merchantAuthentication
+ in: query
+ type: string
+ description: 'Contains merchant authentication information.'
+ required: true
+ - name: name
+ in: query
+ type: string
+ description: 'Merchant’s unique API Login ID.'
+ required: true
+ - name: transactionKey
+ in: query
+ type: integer
+ required: true
+ description: 'Merchant’s unique Transaction Key.'
+ - name: refId
+ in: query
+ type: string
+ description: 'Merchant-assigned reference ID for the request.'
+ required: false
+ - name: includeStatistics
+ in: query
+ type: boolean
+ description: ' Include statistics for the batches.'
+ required: false
+ - name: firstSettlementDate
+ in: query
+ type: string
+ required: false
+ description: 'Use this field to query against an inclusive range of dates other than the past 24 hrs.'
+ - name: lastSettlementDate
+ in: query
+ type: string
+ required: false
+ description: 'Use this field to query against an inclusive range of dates other than the past 24 hrs.'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/getSettleBatchListResponce'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/transactionReporting/getTransactionList:
+ get:
+ tags:
+ - transactionReporting
+ summary: Get Subscription.
+ description: Retrieves an existing ARB subscription.
+ operationId: getTransactionList
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: merchantAuthentication
+ in: query
+ type: string
+ description: 'Contains merchant authentication information.'
+ required: true
+ - name: name
+ in: query
+ type: string
+ description: 'Merchant’s unique API Login ID.'
+ required: true
+ - name: transactionKey
+ in: query
+ type: integer
+ required: true
+ description: 'Merchant’s unique Transaction Key.'
+ - name: refId
+ in: query
+ type: string
+ description: 'Merchant-assigned reference ID for the request.'
+ required: false
+ - name: batchId
+ in: query
+ type: boolean
+ description: 'The identification number for the batch.'
+ - name: sorting
+ in: query
+ type: string
+ required: false
+ description: 'Contains sorting information.'
+ - name: orderBy
+ in: query
+ type: string
+ required: false
+ description: 'Order of transactions in response.'
+ - name: orderDescending
+ in: query
+ type: boolean
+ required: false
+ description: 'Sort the transactions in descending order.'
+ - name: paging
+ in: query
+ type: string
+ required: false
+ description: 'Contains paging information.'
+ - name: limit
+ in: query
+ type: string
+ required: false
+ description: 'The number of transactions per page.'
+ - name: offset
+ in: query
+ type: string
+ required: false
+ description: 'The number of the page to return results from.'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/getTransactionListResponse'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/transactionReporting/getUnsettledTransactionList:
+ get:
+ tags:
+ - transactionReporting
+ summary: getUnsettledTransactionList.
+ description: Use this function to get data for unsettled transactions.
+ operationId: getUnsettledTransactionList
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: merchantAuthentication
+ in: query
+ type: string
+ description: 'Contains merchant authentication information.'
+ required: true
+ - name: name
+ in: query
+ type: string
+ description: 'Merchant’s unique API Login ID.'
+ required: true
+ - name: transactionKey
+ in: query
+ type: integer
+ required: true
+ description: 'Merchant’s unique Transaction Key.'
+ - name: refId
+ in: query
+ type: string
+ description: 'Merchant-assigned reference ID for the request.'
+ required: false
+ - name: sorting
+ in: query
+ type: string
+ required: false
+ description: 'Contains sorting information.'
+ - name: orderBy
+ in: query
+ type: string
+ required: false
+ description: 'Order of transactions in response.'
+ - name: orderDescending
+ in: query
+ type: boolean
+ required: false
+ description: 'Sort the transactions in descending order.'
+ - name: paging
+ in: query
+ type: string
+ required: false
+ description: 'Contains paging information.'
+ - name: limit
+ in: query
+ type: string
+ required: false
+ description: 'The number of transactions per page.'
+ - name: offset
+ in: query
+ type: string
+ required: false
+ description: 'The number of the page to return results from.'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/getUnsettledTransactionListResponse'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/transactionReporting/getCustomerProfileTransactionList:
+ get:
+ tags:
+ - transactionReporting
+ summary: getCustomerProfileTransactionList.
+ description: Use this method to retrieve transactions for a specific customer profile or customer payment profile.
+ operationId: getCustomerProfileTransactionList
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: merchantAuthentication
+ in: query
+ type: string
+ description: 'Contains merchant authentication information.'
+ required: true
+ - name: name
+ in: query
+ type: string
+ description: 'Merchant’s unique API Login ID.'
+ required: true
+ - name: transactionKey
+ in: query
+ type: integer
+ required: true
+ description: 'Merchant’s unique Transaction Key.'
+ - name: refId
+ in: query
+ type: string
+ description: 'Merchant-assigned reference ID for the request.'
+ required: false
+ - name: customerProfileId
+ in: query
+ type: string
+ description: 'Merchant-assigned reference ID for the request.'
+ required: false
+ - name: customerPaymentProfileIdList
+ in: query
+ type: string
+ description: 'Merchant-assigned reference ID for the request.'
+ required: false
+ - name: sorting
+ in: query
+ type: string
+ required: false
+ description: 'Contains sorting information.'
+ - name: orderBy
+ in: query
+ type: string
+ required: false
+ description: 'Order of transactions in response.'
+ - name: orderDescending
+ in: query
+ type: boolean
+ required: false
+ description: 'Sort the transactions in descending order.'
+ - name: paging
+ in: query
+ type: string
+ required: false
+ description: 'Contains paging information.'
+ - name: limit
+ in: query
+ type: string
+ required: false
+ description: 'The number of transactions per page.'
+ - name: offset
+ in: query
+ type: string
+ required: false
+ description: 'The number of the page to return results from.'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/getTransactionListResponse'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/transactionReporting/getTransactionDetails:
+ get:
+ tags:
+ - transactionReporting
+ summary: Get Transaction Details.
+ description: Use this function to get detailed information about a specific transaction.
+ operationId: getTransactionDetails
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: merchantAuthentication
+ in: query
+ type: string
+ description: 'Contains merchant authentication information.'
+ required: true
+ - name: name
+ in: query
+ type: string
+ description: 'Merchant’s unique API Login ID.'
+ required: true
+ - name: transactionKey
+ in: query
+ type: integer
+ required: true
+ description: 'Merchant’s unique Transaction Key.'
+ - name: refId
+ in: query
+ type: string
+ description: 'Merchant-assigned reference ID for the request.'
+ required: false
+ - name: transId
+ in: query
+ type: string
+ description: 'Merchant-assigned reference ID for the request.'
+ required: false
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/getTransactionDetailsResponse'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/transactionReporting/getBatchStatistics:
+ get:
+ tags:
+ - transactionReporting
+ summary: Get Batch Statistics.
+ description: A call to getBatchStatisticsRequest returns statistics for a single batch, specified by the batch ID.
+ operationId: getBatchStatistics
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: merchantAuthentication
+ in: query
+ type: string
+ description: 'Contains merchant authentication information.'
+ required: true
+ - name: name
+ in: query
+ type: string
+ description: 'Merchant’s unique API Login ID.'
+ required: true
+ - name: transactionKey
+ in: query
+ type: integer
+ required: true
+ description: 'Merchant’s unique Transaction Key.'
+ - name: refId
+ in: query
+ type: string
+ description: 'Merchant-assigned reference ID for the request.'
+ required: false
+ - name: batchId
+ in: query
+ type: string
+ description: 'Merchant-assigned reference ID for the request.'
+ required: false
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/getBatchStatisticsResponse'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/transactionReporting/getMerchantDetails:
+ get:
+ tags:
+ - transactionReporting
+ summary: Get Merchant Details.
+ description: Call this function and supply your authentication information to receive merchant details in the response. The information that is returned is helpful for OAuth and Accept integrations.
+ operationId: getMerchantDetails
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: merchantAuthentication
+ in: query
+ type: string
+ description: 'Contains merchant authentication information.'
+ required: true
+ - name: name
+ in: query
+ type: string
+ description: 'Merchant’s unique API Login ID.'
+ required: true
+ - name: transactionKey
+ in: query
+ type: integer
+ required: true
+ description: 'Merchant’s unique Transaction Key.'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/getMerchantDetailsResponse'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/transactionReporting/getAccountUpdaterJobSummary:
+ get:
+ tags:
+ - transactionReporting
+ summary: Get Account Updater Job Summary.
+ description: Use this function to get a summary of the results of the Account Updater process for a particular month.
+ operationId: getAccountUpdaterJobSummary
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: merchantAuthentication
+ in: query
+ type: string
+ description: 'Contains merchant authentication information.'
+ required: true
+ - name: name
+ in: query
+ type: string
+ description: 'Merchant’s unique API Login ID.'
+ required: true
+ - name: transactionKey
+ in: query
+ type: integer
+ required: true
+ description: 'Merchant’s unique Transaction Key.'
+ - name: refId
+ in: query
+ type: string
+ description: 'Merchant-assigned reference ID for the request.'
+ required: false
+ - name: month
+ in: query
+ type: integer
+ required: true
+ description: 'The month in which the Account Updater process was run.'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/getAccountUpdaterJobSummaryResponse'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/transactionReporting/getAccountUpdaterJobDetails:
+ get:
+ tags:
+ - transactionReporting
+ summary: Get Account Updater Job Details.
+ description: Use this function to get details of each card updated or deleted by the Account Updater process for a particular month. The function will return data for up to 1000 of the most recent transactions in a single request.
+ operationId: getAccountUpdaterJobDetails
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: merchantAuthentication
+ in: query
+ type: string
+ description: 'Contains merchant authentication information.'
+ required: true
+ - name: name
+ in: query
+ type: string
+ description: 'Merchant’s unique API Login ID.'
+ required: true
+ - name: transactionKey
+ in: query
+ type: integer
+ required: true
+ description: 'Merchant’s unique Transaction Key.'
+ - name: refId
+ in: query
+ type: string
+ description: 'Merchant-assigned reference ID for the request.'
+ required: false
+ - name: month
+ in: query
+ type: integer
+ required: true
+ description: 'The month in which the Account Updater process was run.'
+ - name: modifiedTypeFilter
+ in: query
+ type: string
+ required: false
+ description: 'Filter the results to to include only updates, only deletes, or all changes.'
+ - name: paging
+ in: query
+ type: string
+ required: false
+ description: 'Contains paging information.'
+ - name: limit
+ in: query
+ type: string
+ required: false
+ description: 'The number of transactions per page.'
+ - name: offset
+ in: query
+ type: string
+ required: false
+ description: 'The number of the page to return results from.'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/getAccountUpdaterJobDetailsResponse'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/acceptSuite/createAnAcceptPaymentTransaction:
+ post:
+ tags:
+ - acceptSuite
+ summary: Create An Apple Pay Transaction.
+ description: Use this function to create an Authorize.net payment transaction request using Apple Pay data in place of card data.
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: createAnAcceptPaymentTransaction
+ in: body
+ schema:
+ $ref: '#/definitions/createAnAcceptPaymentTransaction'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/createAnAcceptPaymentTransactionResponce'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/acceptSuite/getAcceptCustomerProfilePage:
+ get:
+ tags:
+ - acceptSuite
+ summary: Get Accept Customer Profile Page.
+ description: Use this function to initiate a request for direct access to the Authorize.net website.
+ operationId: getAcceptCustomerProfilePage
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: merchantAuthentication
+ in: query
+ type: string
+ description: 'Contains merchant authentication information.'
+ required: true
+ - name: name
+ in: query
+ type: string
+ description: 'Merchant’s unique API Login ID.'
+ required: true
+ - name: transactionKey
+ in: query
+ type: integer
+ required: true
+ description: 'Merchant’s unique Transaction Key.'
+ - name: refId
+ in: query
+ type: string
+ description: 'Merchant-assigned reference ID for the request.'
+ required: false
+ - name: customerProfileId
+ in: query
+ type: integer
+ required: true
+ description: 'The month in which the Account Updater process was run.'
+ - name: hostedProfileSettings
+ in: query
+ type: string
+ required: false
+ description: 'This is an array of settings for the session (optional).'
+ - name: setting
+ in: query
+ type: string
+ required: false
+ description: 'Contains settingName and settingValue.'
+ - name: settingName
+ in: query
+ type: string
+ required: false
+ description: 'The name of the setting you wish to change.'
+ - name: settingValue
+ in: query
+ type: string
+ required: false
+ description: 'The value of the setting you wish to change.'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/getAcceptCustomerProfilePageResponse'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ /v1/acceptSuite/getAnAcceptPaymentPage:
+ get:
+ tags:
+ - acceptSuite
+ summary: Get an Accept Payment Page.
+ description: Use this function to retrieve a form token which can be used to request the Authorize.net Accept hosted payment page.
+ operationId: getAnAcceptPaymentPage
+ produces:
+ - application/json
+ security:
+ - oauth:
+ - write
+ - basic: []
+ parameters:
+ - name: merchantAuthentication
+ in: query
+ type: string
+ description: 'Contains merchant authentication information.'
+ required: true
+ - name: name
+ in: query
+ type: string
+ description: 'Merchant’s unique API Login ID.'
+ required: true
+ - name: transactionKey
+ in: query
+ type: integer
+ required: true
+ description: 'Merchant’s unique Transaction Key.'
+ - name: refId
+ in: query
+ type: string
+ description: 'Merchant-assigned reference ID for the request.'
+ required: false
+ - name: transactionRequest
+ in: query
+ type: integer
+ required: true
+ description: 'This element is a container for transaction specific information.'
+ - name: transactionType
+ in: query
+ type: string
+ required: true
+ description: 'Type of credit card transaction.'
+ - name: amount
+ in: query
+ type: string
+ required: true
+ description: 'Amount of the transaction.'
+ - name: profile
+ in: query
+ type: string
+ required: false
+ description: 'The following fields enable you to charge a transaction using payment or shipping profiles.'
+ - name: customerProfileId
+ in: query
+ type: string
+ required: false
+ description: 'The ID of the customer profile.'
+ - name: solution
+ in: query
+ type: string
+ description: 'Contains information about the software that generated the transaction.'
+ required: false
+ - name: id
+ in: query
+ type: string
+ description: 'The unique Solution ID which you generate and associate with your solution through the Partner Interface.'
+ required: false
+ - name: order
+ in: query
+ type: string
+ required: false
+ description: 'Contains information about the order.'
+ - name: invoiceNumber
+ in: query
+ type: string
+ description: 'Merchant-defined invoice number associated with the order.'
+ required: false
+ - name: description
+ in: query
+ type: integer
+ required: true
+ description: 'Description of the item purchased.'
+ - name: lineItems
+ in: query
+ type: string
+ required: false
+ description: ' Contains one or more lineItem elements, up to a maximum of 30 line items.'
+ - name: lineItem
+ in: query
+ type: string
+ required: false
+ description: 'Contains information about one item.'
+ - name: itemId
+ in: query
+ type: string
+ required: false
+ description: 'Item identification.'
+ - name: duty
+ in: query
+ type: string
+ required: false
+ description: ' Contains information about any duty applied.'
+ responses:
+ '200':
+ description: OK
+ schema:
+ $ref: '#/definitions/getAcceptCustomerProfilePageResponse'
+ x-example: {}
+ '404':
+ description: Address not created
+ schema:
+ $ref: '#/definitions/errorResponse'
+ '500':
+ description: System Error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ default:
+ description: Unexpected error.
+ schema:
+ $ref: '#/definitions/errorResponse'
+ definitions:
+ Identifier:
+ description: Model for Identifier
+ type: object
+ properties:
+ email:
+ type: string
+ x-example: customer-profile-email@here.com
+ reference:
+ type: string
+ x-example: Merchant_Customer_ID
+ CustomerList:
+ properties:
+ customers:
+ type: array
+ items:
+ $ref: '#/definitions/Customer'
+ CustomerCollection:
+ properties:
+ _links:
+ $ref: '#/definitions/collectionLinks'
+ _embedded:
+ $ref: '#/definitions/CustomerList'
+ totalCustomers:
+ type: integer
+ x-example: 1243
+ description: Total number of customer profiles associated with tje Authorize.Net account that submitted the request.
+ CreateCustomerAddress:
+ description: Contains the information to create a customer address object.
+ type: object
+ required:
+ - address1
+ properties:
+ address1:
+ type: string
+ x-example: 123 Main St.
+ description: The customer's street address.
+ administrativeArea:
+ type: string
+ x-example: WA
+ description: State or administrative area of the customer's address.
+ company:
+ type: string
+ x-example: 'Widgets, Inc.'
+ description: 'Name of the company associated with the customer''s address, if any.'
+ country:
+ type: string
+ x-example: USA
+ description: Country associated with the customer's address.
+ default:
+ type: boolean
+ x-example: 'true'
+ description: Setting this to `true` makes this address the customer's default address.
+ firstName:
+ type: string
+ x-example: John
+ description: First name associated with the customer's address.
+ lastName:
+ type: string
+ x-example: Doe
+ description: Last name associated with the customer's address.
+ locality:
+ type: string
+ x-example: Bellevue
+ description: City or town name associated with the customer's address.
+ phoneNumber:
+ type: string
+ x-example: 555-555-5555
+ description: Phone number associated with the customer's address.
+ postalCode:
+ type: string
+ x-example: '98004'
+ description: ZIP or postal code of the customer's address.
+ CreatePaymentMethod:
+ description: Contains information about a customer's payment method.
+ type: object
+ properties:
+ addressId:
+ type: string
+ description: Unique identifier of the address associated with the payment method.
+ billTo:
+ $ref: '#/definitions/baseAddress'
+ description: Contains customer billing information.
+ default:
+ type: boolean
+ x-example: 'true'
+ description: Setting this to `true` sets this payment method as the default for this customer profile.
+ paymentInformation:
+ $ref: '#/definitions/paymentInformation'
+ CreateCustomerAndPaymentMethod:
+ description: Contains the information to create a profile and an associated payment method.
+ type: object
+ required:
+ - identifier
+ properties:
+ description:
+ type: string
+ x-example: 'John Smith, contractor.'
+ description: Description of the customer or customer profile. Required only when no values for `merchantCustomerId` and `email` are submitted. 255-character maximum.
+ identifier:
+ $ref: '#/definitions/Identifier'
+ paymentMethod:
+ $ref: '#/definitions/CreatePaymentMethod'
+ Customer:
+ description: Response information returned after the creation of a customer profile.
+ properties:
+ id:
+ type: string
+ description: Unique identifier of the customer profile.
+ description:
+ type: string
+ x-example: Customer Description
+ description: Description of the customer.
+ identifier:
+ $ref: '#/definitions/Identifier'
+ _links:
+ $ref: '#/definitions/CustomerLinks'
+ CustomerLinks:
+ properties:
+ self:
+ $ref: '#/definitions/link'
+ paymentMethods:
+ $ref: '#/definitions/link'
+ addresses:
+ $ref: '#/definitions/link'
+ paymentRequest:
+ description: Payment Request object. Contains information about the payment transaction.
+ title: paymentRequest
+ type: object
+ properties:
+ clientReferenceInformation:
+ $ref: '#/definitions/clientReferenceInformation'
+ processingInformation:
+ $ref: '#/definitions/processingInformation'
+ paymentInformation:
+ $ref: '#/definitions/paymentInformation'
+ orderInformation:
+ $ref: '#/definitions/orderInformation'
+ buyerInformation:
+ $ref: '#/definitions/buyerInformation'
+ deviceInformation:
+ $ref: '#/definitions/deviceInformation'
+ consumerAuthenticationInformation:
+ $ref: '#/definitions/consumerAuthenticationInformation'
+ pointOfSaleInformation:
+ $ref: '#/definitions/pointOfSaleInformation'
+ createTransactionRequestForChargeACreditCard:
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/createTransactionRequest'
+ createCapturePreviousAuthorizedAmount:
+ description: Transaction Request object. Contains information about the payment transaction.
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/createTransactionRequestForPreviousAuthorizedAmount'
+ transactionRequestForPreviousAuthorizedAmount:
+ type: object
+ properties:
+ transactionType:
+ type: string
+ amount:
+ type: integer
+ refTransId:
+ type: string
+ createCaptureFundsAuthorizedThroughAnotherChannel:
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/transactionRequestForCaptureFundsAuthorizedThroughAnotherChannel'
+ transactionRequestForcreateCaptureFundsAuthorizedThroughAnotherChannel:
+ type: object
+ properties:
+ transactionType:
+ type: string
+ amount:
+ type: integer
+ payment:
+ $ref: '#/definitions/CCpayment'
+ authCode:
+ type: string
+ createRefundTransaction:
+ description: Transaction Request object for Refund Tranaaction. Contains information about the payment transaction.
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/transactionRequestForcreateRefundTransaction'
+ transactionRequestForcreateRefundTransaction:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ refId:
+ type: string
+ transactionRequest:
+ $ref: '#/definitions/transactionsRequestForcreateRefundTransaction'
+ transactionsRequestForcreateRefundTransaction:
+ type: object
+ properties:
+ transactionType:
+ type: string
+ amount:
+ type: integer
+ payment:
+ $ref: '#/definitions/CCpayment'
+ refTransId:
+ type: string
+ createVoidTransaction:
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/createTransactionRequestForVoidTransaction'
+ createTransactionRequestForVoidTransaction:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ refId:
+ type: string
+ transactionRequest:
+ $ref: '#/definitions/transactionRequestForcreateVoidTransaction'
+ transactionRequestForcreateVoidTransaction:
+ type: object
+ properties:
+ transactionType:
+ type: string
+ refTransId:
+ type: string
+ createUpdateSplitTenderGroup:
+ description: Transaction Request object for Refund Tranaaction. Contains information about the payment transaction.
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/createTransactionRequest'
+ splitTenderId:
+ type: integer
+ splitTenderStatus:
+ type: string
+ createDebitABankAccount:
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/transactionRequestForDebitBankAccount'
+ transactionRequestForDebitBankAccount:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ refId:
+ type: string
+ transactionRequest:
+ $ref: '#/definitions/transactionsRequestForDebitBankAccount'
+ transactionsRequestForDebitBankAccount:
+ type: object
+ properties:
+ transactionType:
+ type: string
+ amount:
+ type: integer
+ payment:
+ $ref: '#/definitions/bankAccountDebitAccount'
+ lineItems:
+ $ref: '#/definitions/lineItems'
+ tax:
+ $ref: '#/definitions/tax'
+ duty:
+ $ref: '#/definitions/duty'
+ shipping:
+ $ref: '#/definitions/shippingFoDebitBankAccount'
+ poNumber:
+ type: string
+ billTo:
+ $ref: '#/definitions/billTo'
+ shipTo:
+ $ref: '#/definitions/shipTo'
+ customerIP:
+ type: string
+ createCreditABankAccount:
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/createTransactionRequestForCreditABankAccount'
+ createTransactionRequestForCreditABankAccount:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ refId:
+ type: string
+ transactionRequest:
+ $ref: '#/definitions/transactionRequestForCreditBankAccount'
+ transactionRequestForCreditBankAccount:
+ type: object
+ properties:
+ transactionType:
+ type: string
+ amount:
+ type: integer
+ payment:
+ $ref: '#/definitions/bankAccountDebitAccount'
+ refTransId:
+ type: string
+ chargeATokenizedCreditCard:
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/transactionRequestchargeATokenizedCreditCard'
+ transactionRequestchargeATokenizedCreditCard:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ refId:
+ type: string
+ transactionRequest:
+ $ref: '#/definitions/transactionsRequestchargeATokenizedCreditCard'
+ transactionsRequestchargeATokenizedCreditCard:
+ type: object
+ properties:
+ transactionType:
+ type: string
+ amount:
+ type: string
+ payment:
+ $ref: '#/definitions/creditCardTokenized'
+ lineItems:
+ $ref: '#/definitions/lineItems'
+ tax:
+ $ref: '#/definitions/tax'
+ duty:
+ $ref: '#/definitions/duty'
+ shipping:
+ $ref: '#/definitions/shipping'
+ poNumber:
+ type: string
+ customer:
+ $ref: '#/definitions/customer'
+ billTo:
+ $ref: '#/definitions/billTo'
+ shipTo:
+ $ref: '#/definitions/shipTo'
+ customerIP:
+ type: string
+ transactionSettings:
+ $ref: '#/definitions/transactionSettings'
+ userFields:
+ $ref: '#/definitions/userFields'
+ processingOptions:
+ $ref: '#/definitions/processingOptions'
+ subsequentAuthInformation:
+ $ref: '#/definitions/subsequentAuthInformation'
+ authorizationIndicatorType:
+ $ref: '#/definitions/authorizationIndicatorType'
+ creditCardTokenized:
+ type: object
+ properties:
+ creditCard:
+ $ref: '#/definitions/TokenizedcreditCard'
+ TokenizedcreditCard:
+ properties:
+ cardNumber:
+ type: integer
+ expirationDate:
+ type: string
+ isPaymentToken:
+ type: boolean
+ cryptogram:
+ type: string
+ createTransactionRequestForAnApplePayTransaction:
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/transactionRequestForAnApplePayTransaction'
+ transactionRequestForAnApplePayTransaction:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ refId:
+ type: string
+ transactionRequest:
+ $ref: '#/definitions/createAnApplePayTransaction'
+ createAnApplePayTransaction:
+ type: object
+ properties:
+ transactionType:
+ type: string
+ amount:
+ type: string
+ payment:
+ $ref: '#/definitions/paymentForCreateAnApplePayTransaction'
+ lineItems:
+ $ref: '#/definitions/lineItems'
+ tax:
+ $ref: '#/definitions/tax'
+ duty:
+ $ref: '#/definitions/duty'
+ shipping:
+ $ref: '#/definitions/shipping'
+ poNumber:
+ type: string
+ billTo:
+ $ref: '#/definitions/billTo'
+ shipTo:
+ $ref: '#/definitions/shipTo'
+ customerIP:
+ type: string
+ userFields:
+ $ref: '#/definitions/userFields'
+ paymentForCreateAnApplePayTransaction:
+ type: object
+ properties:
+ opaqueData:
+ $ref: '#/definitions/opaqueData'
+ opaqueData:
+ type: object
+ properties:
+ dataDescriptor:
+ type: string
+ dataValue:
+ type: string
+ createAnAcceptPaymentTransaction:
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/transactionRequestForAcceptPaymentTransaction'
+ transactionRequestForAcceptPaymentTransaction:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ refId:
+ type: string
+ transactionRequest:
+ $ref: '#/definitions/transactionRequestForCreateAnAcceptPaymentTransaction'
+ lineItems:
+ $ref: '#/definitions/lineItems'
+ poNumber:
+ type: string
+ billTo:
+ $ref: '#/definitions/billTo'
+ shipTo:
+ $ref: '#/definitions/shipTo'
+ customerIP:
+ type: string
+ userFields:
+ $ref: '#/definitions/userFieldsForCreateAnAcceptPaymentTransaction'
+ userFieldsForCreateAnAcceptPaymentTransaction:
+ type: object
+ properties:
+ userField:
+ $ref: '#/definitions/userFieldForCreateAnAcceptPaymentTransaction'
+ userFieldForCreateAnAcceptPaymentTransaction:
+ type: array
+ items:
+ $ref: '#/definitions/userFieldForCreateAnAcceptPaymentTransactions'
+ userFieldForCreateAnAcceptPaymentTransactions:
+ type: object
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ transactionRequestForCreateAnAcceptPaymentTransaction:
+ type: object
+ properties:
+ transactionType:
+ type: string
+ amount:
+ type: integer
+ payment:
+ $ref: '#/definitions/paymentForCreateAnAcceptPaymentTransaction'
+ paymentForCreateAnAcceptPaymentTransaction:
+ type: object
+ properties:
+ opaqueData:
+ $ref: '#/definitions/opaqueData'
+ createAuthorizationOnlyTransaction:
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/transactionRequestForAuthorizationOnlyTransaction'
+ transactionRequestForAuthorizationOnlyTransaction:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ transactionRequest:
+ $ref: '#/definitions/transactionRequestForAuthorizationOnly'
+ transactionRequestForAuthorizationOnly:
+ type: object
+ properties:
+ transactionType:
+ type: string
+ amount:
+ type: integer
+ payment:
+ $ref: '#/definitions/authorizationOnlyTransaction'
+ authorizationOnlyTransaction:
+ type: object
+ properties:
+ payPal:
+ $ref: '#/definitions/payPalForAuthorizationOnlyTransaction'
+ payPalForAuthorizationOnlyTransaction:
+ type: object
+ properties:
+ successUrl:
+ type: string
+ cancelUrl:
+ type: string
+ createAuthorizationAndCaptureTransaction:
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/createTransactionRequestForAuthorizationAndCaptureTransaction'
+ createTransactionRequestForAuthorizationAndCaptureTransaction:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ transactionRequest:
+ $ref: '#/definitions/transactionRequestForAuthorizationAndCapture'
+ transactionRequestForAuthorizationAndCapture:
+ type: object
+ properties:
+ transactionType:
+ type: string
+ amount:
+ type: integer
+ payment:
+ $ref: '#/definitions/authorizationAndCaptureTransaction'
+ lineItems:
+ $ref: '#/definitions/lineItems'
+ authorizationAndCaptureTransaction:
+ type: object
+ properties:
+ payPal:
+ $ref: '#/definitions/payPalForAuthorizationAndCaptureTransaction'
+ payPalForAuthorizationAndCaptureTransaction:
+ type: object
+ properties:
+ successUrl:
+ type: string
+ cancelUrl:
+ type: string
+ paypalLc:
+ type: string
+ paypalHdrImg:
+ type: string
+ paypalPayflowcolor:
+ type: string
+ createAuthorizationOnlyContinueTransaction:
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/createTransactionRequestForAuthorizationOnlyContinueTransaction'
+ createTransactionRequestForAuthorizationOnlyContinueTransaction:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ transactionRequest:
+ $ref: '#/definitions/transactionRequestForAuthorizationOnlyContinue'
+ transactionRequestForAuthorizationOnlyContinue:
+ type: object
+ properties:
+ transactionType:
+ type: string
+ payment:
+ $ref: '#/definitions/authorizationOnlyContinueTransaction'
+ refTransId:
+ type: string
+ authorizationOnlyContinueTransaction:
+ type: object
+ properties:
+ payPal:
+ $ref: '#/definitions/payPalForauthorizationOnlyContinueTransaction'
+ payPalForauthorizationOnlyContinueTransaction:
+ type: object
+ properties:
+ payerID:
+ type: string
+ createAuthorizationAndCaptureContinue:
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/createTransactionRequestForAuthorizationAndCaptureContinue'
+ createTransactionRequestForAuthorizationAndCaptureContinue:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ transactionRequest:
+ $ref: '#/definitions/transactionRequestForAuthorizationAndCaptureContinue'
+ transactionRequestForAuthorizationAndCaptureContinue:
+ type: object
+ properties:
+ transactionType:
+ type: string
+ payment:
+ $ref: '#/definitions/authorizationAndCaptureContinueTransaction'
+ refTransId:
+ type: string
+ authorizationAndCaptureContinueTransaction:
+ type: object
+ properties:
+ payPal:
+ $ref: '#/definitions/payPalForAuthorizationAndCaptureContinueTransaction'
+ payPalForAuthorizationAndCaptureContinueTransaction:
+ type: object
+ properties:
+ payerID:
+ type: string
+ createPriorAuthorizationCaptureTransaction:
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/createTransactionRequestForPriorAuthorizationCaptureTransaction'
+ createTransactionRequestForPriorAuthorizationCaptureTransaction:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ transactionRequest:
+ $ref: '#/definitions/transactionRequestForPriorAuthorizationCaptureTransaction'
+ transactionRequestForPriorAuthorizationCaptureTransaction:
+ type: object
+ properties:
+ transactionType:
+ type: string
+ refTransId:
+ type: string
+ createVoidPayPalExpressCheckOutTransaction:
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/createTransactionRequestForVoidPayPalExpressCheckOutTransaction'
+ createTransactionRequestForVoidPayPalExpressCheckOutTransaction:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ transactionRequest:
+ $ref: '#/definitions/transactionRequestForVoidPayPalExpressCheckOut'
+ transactionRequestForVoidPayPalExpressCheckOut:
+ type: object
+ properties:
+ transactionType:
+ type: string
+ refTransId:
+ type: string
+ createCreditTransaction:
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/createTransactionRequestForCreditTransaction'
+ createTransactionRequestForCreditTransaction:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ transactionRequest:
+ $ref: '#/definitions/transactionRequestForCredit'
+ transactionRequestForCredit:
+ type: object
+ properties:
+ transactionType:
+ type: string
+ refTransId:
+ type: string
+ createApproveOrDeclineHeldTransaction:
+ type: object
+ properties:
+ updateHeldTransactionRequest:
+ $ref: '#/definitions/updateHeldTransactionRequest'
+ refId:
+ type: string
+ heldTransactionRequest:
+ $ref: '#/definitions/heldTransactionRequest'
+ updateHeldTransactionRequest:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ heldTransactionRequest:
+ type: object
+ properties:
+ action:
+ type: string
+ refTransId:
+ type: integer
+ createASubscription:
+ type: object
+ properties:
+ ARBCreateSubscriptionRequest:
+ $ref: '#/definitions/createASubscriptionTransaction'
+ createASubscriptionTransaction:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ refId:
+ type: string
+ subscription:
+ $ref: '#/definitions/subscription'
+ ARBCreateSubscriptionRequest:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ subscription:
+ type: object
+ properties:
+ name:
+ type: string
+ paymentSchedule:
+ $ref: '#/definitions/paymentScheduleInterval'
+ amount:
+ type: integer
+ trialAmount:
+ type: integer
+ payment:
+ $ref: '#/definitions/paymentForRecurringBilling'
+ billTo:
+ $ref: '#/definitions/billToForRecurringBilling'
+ billToForRecurringBilling:
+ type: object
+ properties:
+ firstName:
+ type: string
+ lastName:
+ type: string
+ paymentScheduleInterval:
+ type: object
+ properties:
+ interval:
+ $ref: '#/definitions/interval'
+ startDate:
+ type: string
+ totalOccurrences:
+ type: integer
+ trialOccurrences:
+ type: integer
+ paymentForRecurringBilling:
+ type: object
+ properties:
+ creditCard:
+ $ref: '#/definitions/creditCardForRecurringBilling'
+ creditCardForRecurringBilling:
+ type: object
+ properties:
+ cardNumber:
+ type: string
+ expirationDate:
+ type: string
+ interval:
+ type: object
+ properties:
+ length:
+ type: string
+ unit:
+ type: string
+ createASubscriptionFromCustomerProfile:
+ type: object
+ properties:
+ ARBCreateSubscriptionRequest:
+ $ref: '#/definitions/transactionRequestForASubscriptionFromCustomerProfile'
+ transactionRequestForASubscriptionFromCustomerProfile:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ refId:
+ type: string
+ subscription:
+ $ref: '#/definitions/subscriptionForcreateASubscriptionFromCustomerProfile'
+ subscriptionForcreateASubscriptionFromCustomerProfile:
+ type: object
+ properties:
+ name:
+ type: string
+ paymentSchedule:
+ $ref: '#/definitions/paymentScheduleInterval'
+ amount:
+ type: integer
+ trialAmount:
+ type: integer
+ profile:
+ $ref: '#/definitions/profileForCreateSubscriptionResponse'
+ createCancelSubscription:
+ type: object
+ properties:
+ ARBCancelSubscriptionRequest:
+ $ref: '#/definitions/ARBCancelSubscriptionRequest'
+ ARBCancelSubscriptionRequest:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ refId:
+ type: integer
+ subscriptionId:
+ type: integer
+ updateSubscriptionResponse:
+ type: object
+ properties:
+ profile:
+ $ref: '#/definitions/profileForCreateSubscriptionResponse'
+ refId:
+ type: string
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ updateSplitTenderGroupResponse:
+ type: object
+ properties:
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ createSubscription:
+ type: object
+ properties:
+ subscription:
+ $ref: '#/definitions/subscriptionForUpdateSubscription'
+ subscriptionForUpdateSubscription:
+ type: object
+ properties:
+ payment:
+ $ref: '#/definitions/creditCardUpdateSubscription'
+ creditCardUpdateSubscription:
+ type: object
+ properties:
+ creditCard:
+ $ref: '#/definitions/creditCardForUpdateSubscription'
+ creditCardForUpdateSubscription:
+ type: object
+ properties:
+ cardNumber:
+ type: string
+ expirationDate:
+ type: string
+ chargeACustomerProfile:
+ type: object
+ properties:
+ createTransactionRequest:
+ $ref: '#/definitions/createTransactionRequestForChargeACustomerProfile'
+ createTransactionRequestForChargeACustomerProfile:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ refId:
+ type: string
+ transactionRequest:
+ $ref: '#/definitions/transactionRequestForchargeACustomerProfile'
+ transactionRequestForchargeACustomerProfile:
+ type: object
+ properties:
+ transactionType:
+ type: string
+ amount:
+ type: integer
+ profile:
+ $ref: '#/definitions/profile'
+ lineItems:
+ $ref: '#/definitions/lineItems'
+ processingOptions:
+ $ref: '#/definitions/processingOptions'
+ subsequentAuthInformation:
+ $ref: '#/definitions/subsequentAuthInformation'
+ authorizationIndicatorType:
+ $ref: '#/definitions/authorizationIndicatorType'
+ profile:
+ type: object
+ properties:
+ customerProfileId:
+ type: integer
+ paymentProfile:
+ type: integer
+ bankAccountDebitAccount:
+ type: object
+ properties:
+ bankAccount:
+ $ref: '#/definitions/bankAccountForDebitABankAccount'
+ bankAccountForDebitABankAccount:
+ description: This object contains the customer's bank account payment information.
+ properties:
+ accountType:
+ type: integer
+ routingNumber:
+ type: integer
+ accountNumber:
+ type: integer
+ nameOnAccount:
+ type: string
+ createTransactionRequest:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ refId:
+ type: string
+ transactionRequest:
+ $ref: '#/definitions/transactionRequest'
+ createTransactionRequestForPreviousAuthorizedAmount:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ refId:
+ type: string
+ transactionRequest:
+ $ref: '#/definitions/transactionRequestForPreviousAuthorizedAmount'
+ merchantAuthentication:
+ type: object
+ properties:
+ name:
+ type: string
+ transactionKey:
+ type: string
+ transactionRequest:
+ type: object
+ properties:
+ transactionType:
+ type: string
+ amount:
+ type: integer
+ payment:
+ $ref: '#/definitions/CCpayment'
+ lineItems:
+ $ref: '#/definitions/lineItems'
+ tax:
+ $ref: '#/definitions/tax'
+ duty:
+ $ref: '#/definitions/duty'
+ shipping:
+ $ref: '#/definitions/shipping'
+ poNumber:
+ type: string
+ customer:
+ $ref: '#/definitions/customer'
+ billTo:
+ $ref: '#/definitions/billTo'
+ shipTo:
+ $ref: '#/definitions/shipTo'
+ customerIP:
+ type: string
+ transactionSettings:
+ $ref: '#/definitions/transactionSettings'
+ userFields:
+ $ref: '#/definitions/userFields'
+ processingOptions:
+ $ref: '#/definitions/processingOptions'
+ subsequentAuthInformation:
+ $ref: '#/definitions/subsequentAuthInformation'
+ authorizationIndicatorType:
+ $ref: '#/definitions/authorizationIndicatorType'
+ transactionRequestForCaptureFundsAuthorizedThroughAnotherChannel:
+ type: object
+ properties:
+ merchantAuthentication:
+ $ref: '#/definitions/merchantAuthentication'
+ refId:
+ type: string
+ transactionRequest:
+ $ref: '#/definitions/transactionRequestForcreateCaptureFundsAuthorizedThroughAnotherChannel'
+ CCpayment:
+ type: object
+ properties:
+ creditCard:
+ $ref: '#/definitions/creditCard'
+ creditCard:
+ type: object
+ properties:
+ cardNumber:
+ type: integer
+ expirationDate:
+ type: string
+ cardCode:
+ type: integer
+ lineItems:
+ type: object
+ properties:
+ lineItem:
+ $ref: '#/definitions/lineItem'
+ lineItem:
+ type: object
+ properties:
+ itemId:
+ type: string
+ name:
+ type: string
+ description:
+ type: string
+ quantity:
+ type: integer
+ unitPrice:
+ type: integer
+ customer:
+ type: object
+ properties:
+ id:
+ type: string
+ tax:
+ type: object
+ properties:
+ amount:
+ type: string
+ name:
+ type: string
+ description:
+ type: string
+ duty:
+ type: object
+ properties:
+ amount:
+ type: integer
+ name:
+ type: string
+ description:
+ type: string
+ shipping:
+ type: object
+ properties:
+ amount:
+ type: integer
+ name:
+ type: string
+ description:
+ type: string
+ poNumber:
+ type: string
+ customer Id:
+ type: integer
+ shippingFoDebitBankAccount:
+ type: object
+ properties:
+ amount:
+ type: integer
+ name:
+ type: string
+ description:
+ type: string
+ billTo:
+ type: object
+ properties:
+ firstName:
+ type: string
+ lastName:
+ type: string
+ company:
+ type: string
+ address:
+ type: string
+ city:
+ type: string
+ state:
+ type: string
+ zip:
+ type: integer
+ country:
+ type: string
+ shipTo:
+ type: object
+ properties:
+ firstName:
+ type: string
+ lastName:
+ type: string
+ company:
+ type: string
+ address:
+ type: string
+ city:
+ type: string
+ state:
+ type: string
+ zip:
+ type: string
+ country:
+ type: string
+ transactionSettings:
+ type: object
+ properties:
+ settings:
+ $ref: '#/definitions/settings'
+ settings:
+ type: object
+ properties:
+ settingName:
+ type: string
+ settingValue:
+ type: string
+ userFields:
+ type: object
+ properties:
+ userField:
+ $ref: '#/definitions/userField'
+ userField:
+ type: object
+ properties:
+ name:
+ type: string
+ value:
+ type: string
+ processingOptions:
+ type: object
+ properties:
+ isSubsequentAuth:
+ type: boolean
+ subsequentAuthInformation:
+ type: object
+ properties:
+ originalNetworkTransId:
+ type: string
+ originalAuthAmount:
+ type: integer
+ reason:
+ type: string
+ authorizationIndicatorType:
+ type: object
+ properties:
+ authorizationIndicator:
+ type: string
+ refundRequest:
+ description: Model for RefundRequest
+ title: refundRequest
+ type: object
+ properties:
+ paymentInformation:
+ $ref: '#/definitions/paymentInformation'
+ orderInformation:
+ $ref: '#/definitions/orderInformation'
+ buyerInformation:
+ $ref: '#/definitions/buyerInformation'
+ deviceInformation:
+ $ref: '#/definitions/deviceInformation'
+ pointOfSaleInformation:
+ $ref: '#/definitions/pointOfSaleInformation'
+ captureRequest:
+ description: Model for CaptureRequest
+ title: captureRequest
+ type: object
+ properties:
+ orderInformation:
+ $ref: '#/definitions/orderInformation'
+ buyerInformation:
+ $ref: '#/definitions/buyerInformation'
+ deviceInformation:
+ $ref: '#/definitions/deviceInformation'
+ pointOfSaleInformation:
+ $ref: '#/definitions/pointOfSaleInformation'
+ creditRequest:
+ description: Model for CaptureRequest
+ title: creditRequest
+ type: object
+ properties:
+ paymentInformation:
+ $ref: '#/definitions/paymentInformation'
+ orderInformation:
+ $ref: '#/definitions/orderInformation'
+ buyerInformation:
+ $ref: '#/definitions/buyerInformation'
+ deviceInformation:
+ $ref: '#/definitions/deviceInformation'
+ pointOfSaleInformation:
+ $ref: '#/definitions/pointOfSaleInformation'
+ clientReferenceInformation:
+ type: object
+ properties:
+ code:
+ type: string
+ description: |
+ Client-generated order reference or tracking number. CyberSource recommends that you send a unique value for each
+ transaction so that you can perform meaningful searches for the transaction.
+ processingInformation:
+ type: object
+ properties:
+ capture:
+ type: boolean
+ description: Submit `true` to capture the the payment after it is successfully authorized.
+ default: true
+ paymentSolution:
+ type: string
+ x-example: A1000004
+ description: The solution ID is generated by Authorize.Net and provided to the solution provider. Alphanumeric. 50-character maximum.
+ batch:
+ $ref: '#/definitions/batch'
+ recurringBilling:
+ type: boolean
+ x-example: false
+ description: Indicates whether the payment is part of a subscription.createASubscription
+ followUpAction:
+ type: string
+ description: Follow up action to be taken once transaction is successful. Valid values are `CREATE_CUSTOMER_PROFILE` and `CREATE_CUSTOMER_PAYMENT_PROFILE`.
+ orderInformation:
+ type: object
+ properties:
+ amountDetails:
+ $ref: '#/definitions/amountDetail'
+ billTo:
+ type: object
+ description: billto address definition
+ allOf:
+ - $ref: '#/definitions/baseAddress'
+ shipTo:
+ type: object
+ description: shipTo address definition
+ allOf:
+ - $ref: '#/definitions/baseAddress'
+ lineItems:
+ type: array
+ items:
+ $ref: '#/definitions/items'
+ invoiceDetails:
+ $ref: '#/definitions/invoiceDetails'
+ description:
+ type: string
+ description: Contains information about the order.
+ required:
+ - amountDetails
+ invoiceDetails:
+ type: object
+ properties:
+ purchaseOrderNumber:
+ type: string
+ x-example: 456654
+ description: The merchant-assigned purchase order number. The purchase order number must be created dynamically on the merchant's server and provided on a per-transaction basis. Up to 25 characters (no symbols).
+ taxable:
+ type: boolean
+ x-example: false
+ description: Indicates whether this payment is exempt from tax.
+ buyerInformation:
+ type: object
+ properties:
+ merchantCustomerId:
+ type: string
+ description: 'The unique customer ID used to represent the customer associated with the transaction. If you use customer IDs, your solution should generate the customer ID and send it with your transaction requests. Authorize.Net does not generate customer IDs.Use alphanumeric characters only, without spaces, dashes, or other symbols.'
+ customerType:
+ type: string
+ description: Type of customer. Valid values are `individual` or `business`.
+ email:
+ type: string
+ description: 'The customer''s valid email address. For example, janedoe@example.com.'
+ deviceInformation:
+ type: object
+ properties:
+ ipAddress:
+ type: string
+ x-example: 192.168.1.1
+ description: 'IP address of customer initiating the transaction. If this value is not passed, it will default to 255.255.255.255. Required only when the merchant is using customer IP based AFDS filters. Up to 15 characters (no letters).'
+ consumerAuthenticationInformation:
+ type: object
+ properties:
+ cavv:
+ type: string
+ description: 'The Cardholder Authentication Verification Value (CAVV) for a Visa transaction, or Accountholder Authentication Value (AVV)/ Universal Cardholder Authentication Field indicator (UCAF) for a Mastercard transaction. The cardholder authentication process generates the CAVV, AAV, or UCAF value prior to submitting the transaction. Invalid values will result in Response Reason Code 117. This field is currently supported through Chase Paymentech, FDMS Nashville, Global Payments and TSYS.'
+ eciRaw:
+ type: string
+ description: |-
+ The Electronic Commerce Indicator (ECI) value for a Visa transaction, or the Universal Cardholder Authentication Field indicator (UCAF) for a Mastercard transaction. The cardholder authentication process generates the ECI or UCAF value prior to submitting the transaction.
+
+ Required only for payment requests processed through 3D Secure cardholder authentication programs, such as Visa Secure or SecureCode.
+
+ Invalid values will result in Response Reason Code 116.
+
+ This field is currently supported through Chase Paymentech, FDMS Nashville, Global Payments and TSYS.
+ pointOfSaleInformation:
+ type: object
+ properties:
+ terminalID:
+ type: string
+ description: Unique identifier of the terminal that processed the transaction. Useful for reporting.
+ payment:
+ type: object
+ description: |
+ `Payment` is returned for a successful transaction.
+ properties:
+ _links:
+ $ref: '#/definitions/paymentLinks'
+ id:
+ type: string
+ x-example: 2252111088
+ description: 'Unique identifier for the transaction, generated by Authorize.Net. Reference this identifier in follow-up requests, such as a refund or GET request.'
+ status:
+ type: string
+ x-example: Approved
+ description: |
+ Brief description of the status of the transaction. One of the folloiwng:
+
+ * `AUTHORIZED`
+
+ * `CAPTURED`
+
+ * `INTERNAL_ERROR`
+
+ * `REFUND_SETTLED`
+
+ * `REFUND_INITIATED`
+
+ * `approvedReview`
+
+ * `DECLINED`
+
+ * `FAILED`
+
+ * `EXPIRED`
+
+ * `failedReview`
+
+ * `SETTLED`
+
+ * `SETTLEMENT_ERROR`
+
+ * `PENDING_REVIEW`
+
+ * `VOIDED`
+
+ * `FDSPendingReview`
+
+ * `FDSAuthorizedPendingReview`
+
+ * `returnedItem`
+
+ clientReferenceInformation:
+ $ref: '#/definitions/clientReferenceInformation'
+ processorInformation:
+ $ref: '#/definitions/processorInformation'
+ submitTimeUTC:
+ type: string
+ x-example: '2016-03-01T23:20:25.997Z'
+ description: 'The time that the transaction was submitted, in Coordinated Universal Time.'
+ orderInformation:
+ $ref: '#/definitions/orderInformation'
+ paymentInformation:
+ $ref: '#/definitions/paymentInformation'
+ fraudInformation:
+ $ref: '#/definitions/fraudInformation'
+ followUpResponse:
+ $ref: '#/definitions/followUpResponse'
+ paymentCollection:
+ description: Model for PaymentCollection
+ properties:
+ _link:
+ $ref: '#/definitions/collectionLinks'
+ _embedded:
+ $ref: '#/definitions/paymentsList'
+ totalTransactions:
+ type: integer
+ x-example: 214
+ description: Total number of transactions returned.
+ paymentLinks:
+ properties:
+ self:
+ $ref: '#/definitions/link'
+ refund:
+ $ref: '#/definitions/link'
+ capture:
+ $ref: '#/definitions/link'
+ batch:
+ description: Contains information about the batch that processed the transaction.
+ title: batch
+ type: object
+ properties:
+ batchID:
+ type: string
+ description: The unique identifier of the batch.
+ settlementState:
+ type: string
+ description: |-
+ Status of the batch. One of the following
+ * `settledSuccessfully`
+ * `settlementError`
+ * `pendingSettlement`
+ settlmentTimeUTC:
+ type: string
+ description: 'Date and time when the batch was settled, expressed in Coordinated Universal Time. A T character separates the date from the time. For example, `YYYY-MM-DDThh:mm:ss`.'
+ fraudInformation:
+ description: Contains fraud information for a transaction.
+ title: fraudInfromation
+ type: object
+ properties:
+ fraudFilterList:
+ type: array
+ items:
+ $ref: '#/definitions/fraudFilter'
+ fraudAction:
+ type: string
+ description: |
+ The action applied to the transaction by the merchant's Advanced Fraud Detection Suite (AFDS) settings.
+ When multiple filters apply to a transaction, we will take the most restrictive action. For example, if a transaction triggers two AFDS filters, and one filter returns hold while the other filter returns reject, we will reject the transaction instead of holding it.
+ Actions include :
+ * `reject` '“ Ignores the transaction outright, except for AFDS reporting.
+ * `decline` '“ Marks the transaction as declined but include it in the merchant's transaction reporting.
+ * `hold` – Holds the transaction for manual review, and do not authorize unless the merchant approves it.
+ * `authAndHold` – Submits the transaction for authorization, but hold it for manual review, and do not settle unless the merchant approves it.
+ * `report` – Records the filter action but take no other action.
+ paymentsList:
+ properties:
+ payments:
+ type: array
+ items:
+ $ref: '#/definitions/payments'
+ fraudFilter:
+ properties:
+ name:
+ type: string
+ description: Name of the fraud filter.
+ action:
+ type: string
+ description: |
+ Setting for the fraud filter. The `FDSFilterAction` setting is the most restrictive action setting.
+ One of:
+ * `reject`
+
+ * `decline`
+ * `hold`
+
+ * `authAndHold`
+
+ * `report`
+ payments:
+ properties:
+ id:
+ type: string
+ x-example: 123
+ description: The unique identifier of the transaction. This is returned in the orginal transaction response.
+ submitTimeUTC:
+ type: string
+ description: 'The time that the original transaction was submitted, in Coordinated Universal Time.'
+ status:
+ type: string
+ description: |-
+ Brief description of the status of the transaction. One of the folloiwng -
+
+ * `authorizedPendingCapture`
+
+ * `capturedPendingSettlement`
+
+ * `communicationError`
+
+ * `refundSettledSuccessfully`
+
+ * `refundPendingSettlement`
+
+ * `approvedReview`
+
+ * `declined`
+
+ * `couldNotVoid`
+
+ * `expired`
+
+ * `generalError`
+
+ * `failedReview`
+
+ * `settledSuccessfully`
+
+ * `settlementError`
+
+ * `underReview`
+
+ * `voided`
+
+ * `FDSPendingReview`
+
+ * `FDSAuthorizedPendingReview`
+
+ * `returnedItem`
+
+ _links:
+ $ref: '#/definitions/selfLink'
+ processorInformation:
+ type: object
+ properties:
+ approvalCode:
+ type: string
+ x-example: D1T1KD
+ description: Authorization or approval code.
+ avs:
+ type: object
+ properties:
+ code:
+ type: string
+ x-example: 'Y'
+ description: |-
+ Address Verification Service (AVS) response code. Indicates the result of the AVS filter.
+
+ * `A` = Address (Street) matches, ZIP does not.
+ * `B` = Address information not provided for AVS check.
+ * `E` = AVS error.
+ * `G` = Non-U.S. Card Issuing Bank.
+ * `N` = No Match on Address (Street) or ZIP.
+ * `P` = AVS not applicable for this transaction.
+ * `R` = Retry — System unavailable or timed out.
+ * `S` = Service not supported by issuer.
+ * `U` = Address information is unavailable.
+ * `W` = Nine digit ZIP matches, Address (Street) does not.
+ * `X` = Address (Street) and nine digit ZIP match.
+ * `Y` = Address (Street) and five digit ZIP match.
+ * `Z` = Five digit ZIP matches, Address (Street) does not.
+ cardVerification:
+ type: object
+ properties:
+ resultCode:
+ type: string
+ description: |-
+ Card code verification (CCV) response code. String, 1 character. Valid values include:
+
+ * `M` -- CVV matched.
+
+ * `N` -- CVV did not match.
+
+ * `P` -- CVV was not processed.
+
+ * `S` -- CVV should have been present but was not indicated.
+
+ * `U` -- The issuer was unable to process the CVV check.
+ consumerAuthenticationResponse:
+ type: object
+ properties:
+ code:
+ type: string
+ description: |-
+ Cardholder authentication verification response code.
+
+ **Note:** Mastercard transactions always return a null result for this element. Consequently, transaction details for Mastercard transactions do not contain CAVV results.
+
+ String, 1 character. Valid values include:
+
+ * Blank or not present -- CAVV not validated.
+
+ * `0` -- CAVV was not validated because erroneous data was submitted.
+
+ * `1` -- CAVV failed validation.
+
+ * `2` -- CAVV passed validation.
+
+ * `3` -- CAVV validation could not be performed; issuer attempt incomplete.
+
+ * `4` -- CAVV validation could not be performed; issuer system error.
+
+ * `5` -- Reserved for future use.
+
+ * `6` -- Reserved for future use.
+
+ * `7` -- CAVV failed validation, but the issuer is available. Valid for U.S.-issued card submitted to non-U.S acquirer.
+
+ * `8` -- CAVV passed validation and the issuer is available. Valid for U.S.-issued card submitted to non-U.S. acquirer.
+
+ * `9` -- CAVV failed validation and the issuer is unavailable. Valid for U.S.-issued card submitted to non-U.S acquirer.
+
+ * `A` -- CAVV passed validation but the issuer unavailable. Valid for U.S.-issued card submitted to non-U.S acquirer.
+
+ * `B` -- CAVV passed validation, information only, no liability shift.
+ followUpResponse:
+ type: object
+ properties:
+ errorMessage:
+ type: string
+ description: 'This field is returned only if the transaction processed succesfully, but the follow-up action of creating a customer and/or payment profile failed.'
+ customer:
+ $ref: '#/definitions/customerPayment'
+ paymentMethodLinks:
+ properties:
+ self:
+ $ref: '#/definitions/link'
+ customer:
+ $ref: '#/definitions/link'
+ paymentMethod:
+ description: Contains information about the method of payment.
+ type: object
+ properties:
+ id:
+ type: string
+ description: Unique identifier for the `paymentMethod` object in this transaction.
+ default:
+ type: boolean
+ x-example: 'true'
+ description: Setting this boolean to `true` marks this payment method as the default for this customer.
+ billTo:
+ $ref: '#/definitions/baseAddress'
+ description: Coontains the customer's billing address.
+ paymentInformation:
+ $ref: '#/definitions/paymentInformation'
+ _links:
+ $ref: '#/definitions/paymentMethodLinks'
+ paymentMethodCollection:
+ properties:
+ _links:
+ $ref: '#/definitions/collectionLinks'
+ _embedded:
+ $ref: '#/definitions/paymentMethodList'
+ totalPaymentMethods:
+ type: integer
+ x-example: 1243
+ description: Total number of payment methods for this transaction.
+ paymentMethodList:
+ properties:
+ paymentMethods:
+ type: array
+ items:
+ $ref: '#/definitions/paymentMethods'
+ paymentMethods:
+ properties:
+ id:
+ type: string
+ description: Unique identifier for the `paymentMethods` object in this transaction.
+ default:
+ type: boolean
+ paymentInformation:
+ $ref: '#/definitions/paymentInformation'
+ _links:
+ $ref: '#/definitions/paymentMethodLinks'
+ CreateCustomer:
+ description: Model for CreateCustomer
+ required:
+ - identifier
+ properties:
+ description:
+ type: string
+ x-example: Customer Description
+ identifier:
+ $ref: '#/definitions/Identifier'
+ EventType:
+ properties:
+ name:
+ type: string
+ x-example: net.authorize.customer.created
+ description: 'Name of the event type. For a complete list of event types, see the [Webhooks API Documentation](https://developer.authorize.net/api/reference/features/webhooks.html#Event_Types_and_Payloads) page.'
+ CreateWebhookBody:
+ description: Model for Create Webhook
+ type: object
+ properties:
+ name:
+ type: string
+ description: Contains details for the creation or update of a webhook.
+ x-example: WebhookEvents
+ url:
+ type: string
+ description: Callback URL for the webhook.
+ x-example: 'https://example.com/notification'
+ eventTypes:
+ type: array
+ items:
+ type: string
+ description: 'List of events that will trigger notifications for this webhook. For a complete list of event types, see the [Webhooks API Documentation](https://developer.authorize.net/api/reference/features/webhooks.html#Event_Types_and_Payloads) page.'
+ x-example:
+ - net.authorize.customer.created
+ - net.authorize.customer.paymentProfile.created
+ - net.authorize.customer.subscription.created
+ status:
+ type: string
+ description: New status of the Webhook.
+ x-example: Active
+ GetWebhookResponse:
+ description: Response model for get a Webhook
+ properties:
+ _links:
+ $ref: '#/definitions/selfLink'
+ webhookId:
+ type: string
+ description: Unique identifier of the notification. The identifier was sent in the original notification.
+ x-example: bb855023-a5b5-47b6-b039-68a41844618a
+ name:
+ type: string
+ description: Label of the new Webhook.
+ x-example: WebhookEvents
+ status:
+ type: string
+ description: Unique identifier of the webhook. The identifier was sent in the response to the webhook request.
+ x-example: Active
+ url:
+ type: string
+ description: Callback Url for the webhook.
+ x-example: 'https://example.com/notification'
+ eventTypes:
+ type: array
+ items:
+ type: string
+ description: 'List of events that will trigger notifications for this webhook. For a complete list of event types, see the [Webhooks API Documentation](https://developer.authorize.net/api/reference/features/webhooks.html#Event_Types_and_Payloads) page.'
+ x-example:
+ - net.authorize.customer.created
+ - net.authorize.customer.paymentProfile.created
+ - net.authorize.customer.subscription.created
+ required:
+ - _links
+ - webhookId
+ - status
+ - url
+ - eventTypes
+ Log:
+ description: ''
+ properties:
+ statusCode:
+ type: integer
+ description: HTTP status code of the notification attempt.
+ retryStage:
+ type: integer
+ description: ''
+ retryCountInStage:
+ type: integer
+ retryDate:
+ type: string
+ description: Date of the last retry.
+ message:
+ type: string
+ description: A message about the status.
+ RetryLog:
+ description: Logging information about notification retries.
+ properties:
+ logs:
+ type: array
+ items:
+ $ref: '#/definitions/Log'
+ required:
+ - logs
+ Notification:
+ description: Notification Model
+ properties:
+ _links:
+ $ref: '#/definitions/selfLink'
+ notificationId:
+ type: string
+ description: Unique identifier of the notification
+ x-example: WebhookEvents
+ deliveryStatus:
+ type: string
+ description: Current status of the notification.
+ x-example: Delivered
+ eventType:
+ type: string
+ description: Type of event that triggered the notification.
+ x-example: net.authorize.payment.authcapture.created
+ eventDate:
+ type: string
+ description: Date and time of the notifications sent.
+ x-example: '2017-06-29T16:12:50.847'
+ webhookId:
+ type: string
+ description: Label of the Webhook.
+ x-example: 179180a4-bba0-45a2-836c-d0c4438f462e
+ required:
+ - _links
+ - notificationId
+ - deliveryStatus
+ - eventType
+ - eventDate
+ - webhookId
+ GetNotificationResponse:
+ description: Details of a single notification.
+ allOf:
+ - $ref: '#/definitions/Notification'
+ - properties:
+ retryLog:
+ $ref: '#/definitions/RetryLog'
+ GetNotificationsResponse:
+ description: List of notifications.
+ properties:
+ _links:
+ $ref: '#/definitions/selfLink'
+ notifications:
+ type: array
+ items:
+ $ref: '#/definitions/Notification'
+ required:
+ - _links
+ - notifications
+ address:
+ type: object
+ properties:
+ id:
+ type: string
+ description: Unique identifier for an address.
+ default:
+ type: boolean
+ x-example: 'true'
+ description: Setting this to `true` marks the address as the customer's default address.
+ baseAddress:
+ $ref: '#/definitions/baseAddress'
+ _links:
+ $ref: '#/definitions/addressLinks'
+ transaction:
+ type: object
+ properties:
+ transactionResponse:
+ $ref: '#/definitions/transactionResponse'
+ messagess:
+ $ref: '#/definitions/messagess'
+ transactionResponse:
+ type: object
+ properties:
+ responseCode:
+ type: string
+ authCode:
+ type: string
+ avsResultCode:
+ type: string
+ cvvResultCode:
+ type: string
+ cavvResultCode:
+ type: string
+ transId:
+ type: string
+ refTransID:
+ type: string
+ transHash:
+ type: string
+ testRequest:
+ type: string
+ accountNumber:
+ type: string
+ accountType:
+ type: string
+ messages:
+ type: array
+ items:
+ $ref: '#/definitions/messages'
+ transHashSha2:
+ type: string
+ SupplementalDataQualificationIndicator:
+ type: string
+ networkTransId:
+ type: string
+ transactions:
+ type: object
+ properties:
+ transactions:
+ $ref: '#/definitions/transactionsResponse'
+ totalNumInResultSet:
+ type: string
+ messagess:
+ $ref: '#/definitions/messagess'
+ transactionsResponse:
+ properties:
+ transId:
+ type: string
+ submitTimeUTC:
+ type: string
+ submitTimeLocal:
+ type: string
+ transactionStatus:
+ type: string
+ invoiceNumber:
+ type: string
+ firstName:
+ type: string
+ lastName:
+ type: string
+ accountType:
+ type: string
+ accountNumber:
+ type: string
+ settleAmount:
+ type: string
+ marketType:
+ type: string
+ product:
+ type: string
+ fraudInformation:
+ type: array
+ items:
+ $ref: '#/definitions/fraudInformation'
+ updateSplitTenderGroupMessage:
+ type: object
+ properties:
+ message:
+ $ref: '#/definitions/messagessForupdateSplitTenderGroupMessage'
+ messagessForupdateSplitTenderGroupMessage:
+ type: object
+ properties:
+ resultCode:
+ type: string
+ message:
+ type: array
+ items:
+ $ref: '#/definitions/messages'
+ messages:
+ type: object
+ properties:
+ code:
+ type: string
+ text:
+ type: string
+ messagess:
+ type: object
+ properties:
+ resultCode:
+ type: string
+ message:
+ type: array
+ items:
+ $ref: '#/definitions/messages'
+ message:
+ type: object
+ properties:
+ code:
+ type: string
+ text:
+ type: string
+ transactionForPayments:
+ type: object
+ properties:
+ transactionResponse:
+ $ref: '#/definitions/paymentTransactionResponse'
+ refId:
+ type: string
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ messagesOfPaymentTransactionResponse:
+ type: object
+ properties:
+ resultCode:
+ type: string
+ message:
+ type: array
+ items:
+ $ref: '#/definitions/message'
+ chargeACustomerProfileResponse:
+ type: object
+ properties:
+ transactionResponse:
+ $ref: '#/definitions/paymentTransactionResponse'
+ transHashSha2:
+ type: string
+ profile:
+ $ref: '#/definitions/profile'
+ SupplementalDataQualificationIndicator:
+ $ref: '#/definitions/SupplementalDataQualificationIndicator'
+ refId:
+ type: string
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ chargeATokenizedCreditCardResponse:
+ type: object
+ properties:
+ transactionResponse:
+ $ref: '#/definitions/paymentTransactionResponse'
+ userFields:
+ $ref: '#/definitions/userFields'
+ networkTransId:
+ type: string
+ refId:
+ type: string
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ createMobileInAppTransactionResponce:
+ type: object
+ properties:
+ transactionResponse:
+ $ref: '#/definitions/paymentTransactionResponse'
+ userFields:
+ $ref: '#/definitions/userFields'
+ transHashSha2:
+ type: string
+ refId:
+ type: string
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ SupplementalDataQualificationIndicator:
+ type: object
+ properties:
+ networkTransId:
+ type: string
+ paymentTransactionResponse:
+ type: object
+ properties:
+ responseCode:
+ type: string
+ authCode:
+ type: string
+ avsResultCode:
+ type: string
+ cvvResultCode:
+ type: string
+ cavvResultCode:
+ type: string
+ transId:
+ type: string
+ refTransID:
+ type: string
+ transHash:
+ type: string
+ testRequest:
+ type: string
+ accountNumber:
+ type: string
+ accountType:
+ type: string
+ messages:
+ type: array
+ items:
+ $ref: '#/definitions/messages'
+ createPayPalAuthorizeOnlyTransactionResponce:
+ type: object
+ properties:
+ transactionResponse:
+ $ref: '#/definitions/payPayAuthorizeOnlyransactionResponse'
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ payPayAuthorizeOnlyransactionResponse:
+ type: object
+ properties:
+ responseCode:
+ type: string
+ rawResponseCode:
+ type: string
+ transId:
+ type: string
+ refTransID:
+ type: string
+ transHash:
+ type: string
+ accountType:
+ type: string
+ messages:
+ items:
+ $ref: '#/definitions/messages'
+ secureAcceptance:
+ $ref: '#/definitions/secureAcceptance'
+ secureAcceptance:
+ type: object
+ properties:
+ SecureAcceptanceUrl:
+ type: string
+ payPayTransactionResponse:
+ type: object
+ properties:
+ responseCode:
+ type: string
+ rawResponseCode:
+ type: string
+ transId:
+ type: string
+ refTransID:
+ type: string
+ transHash:
+ type: string
+ accountType:
+ type: string
+ errors:
+ type: array
+ items:
+ $ref: '#/definitions/errors'
+ messagesForPayPal:
+ type: object
+ properties:
+ code:
+ type: string
+ description:
+ type: string
+ createPayPalForAuthorizeAndCaptureTransactionResponc:
+ type: object
+ properties:
+ transactionResponse:
+ $ref: '#/definitions/payPayTransactionResponse'
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ creditABankAccountResponse:
+ type: object
+ properties:
+ transactionResponse:
+ $ref: '#/definitions/messageOfPaymentTransactionResponse'
+ refId:
+ type: string
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ messageOfPaymentTransactionResponse:
+ type: object
+ properties:
+ responseCode:
+ type: string
+ authCode:
+ type: string
+ avsResultCode:
+ type: string
+ cvvResultCode:
+ type: string
+ cavvResultCode:
+ type: string
+ transId:
+ type: string
+ refTransID:
+ type: string
+ transHash:
+ type: string
+ testRequest:
+ type: string
+ accountNumber:
+ type: string
+ accountType:
+ type: string
+ errors:
+ type: array
+ items:
+ $ref: '#/definitions/errors'
+ errors:
+ type: object
+ properties:
+ errorCode:
+ type: string
+ errorText:
+ type: string
+ items:
+ $ref: '#/definitions/messages'
+ createGetDetailsResponce:
+ type: object
+ properties:
+ transactionResponse:
+ $ref: '#/definitions/getDetailsTransactionResponse'
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ getDetailsTransactionResponse:
+ type: object
+ properties:
+ responseCode:
+ type: string
+ authCode:
+ type: string
+ avsResultCode:
+ type: string
+ cvvResultCode:
+ type: string
+ cavvResultCode:
+ type: string
+ transId:
+ type: string
+ refTransID:
+ type: string
+ transHash:
+ type: string
+ testRequest:
+ type: string
+ accountNumber:
+ type: string
+ accountType:
+ type: string
+ errors:
+ type: array
+ items:
+ $ref: '#/definitions/errors'
+ shipTo:
+ items:
+ $ref: '#/definitions/shipTo'
+ creditResponce:
+ type: object
+ properties:
+ transactionResponse:
+ $ref: '#/definitions/getcreditTransactionResponse'
+ refId:
+ type: string
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ getcreditTransactionResponse:
+ type: object
+ properties:
+ responseCode:
+ type: string
+ transId:
+ type: string
+ refTransID:
+ type: string
+ transHash:
+ type: string
+ accountType:
+ type: string
+ errors:
+ type: array
+ items:
+ $ref: '#/definitions/errors'
+ fraudManagementResponce:
+ type: object
+ properties:
+ transactionResponse:
+ $ref: '#/definitions/getfraudManagementResponceResponse'
+ refId:
+ type: string
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ getfraudManagementResponceResponse:
+ type: object
+ properties:
+ responseCode:
+ type: string
+ authCode:
+ type: string
+ avsResultCode:
+ type: string
+ cvvResultCode:
+ type: string
+ cavvResultCode:
+ type: string
+ transId:
+ type: string
+ refTransID:
+ type: string
+ transHash:
+ type: string
+ accountNumber:
+ type: string
+ accountType:
+ type: string
+ messages:
+ type: array
+ items:
+ $ref: '#/definitions/messagesForPayPal'
+ transHashSha2:
+ type: string
+ createSubscriptionResponce:
+ type: object
+ properties:
+ subscriptionId:
+ type: string
+ profile:
+ $ref: '#/definitions/profileForCreateSubscriptionResponse'
+ refId:
+ type: string
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ profileForCreateSubscriptionResponse:
+ type: object
+ properties:
+ customerProfileId:
+ type: string
+ customerPaymentProfileId:
+ type: string
+ customerAddressId:
+ type: string
+ createASubscriptionFromCustomerProfileResponce:
+ type: object
+ properties:
+ subscriptionId:
+ type: string
+ profile:
+ $ref: '#/definitions/profileForCreateSubscriptionResponse'
+ refId:
+ type: string
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ getSubscriptionResponce:
+ type: object
+ properties:
+ ARBGetSubscriptionResponse:
+ $ref: '#/definitions/ARBGetSubscriptionResponse'
+ ARBGetSubscriptionResponse:
+ type: object
+ properties:
+ refId:
+ type: string
+ messages:
+ $ref: '#/definitions/messagesForGetSubscriptionResponse'
+ subscription:
+ $ref: '#/definitions/subscriptionForGetSubscription'
+ messagesForGetSubscriptionResponse:
+ type: object
+ properties:
+ refId:
+ type: string
+ message:
+ $ref: '#/definitions/message'
+ subscriptionForGetSubscription:
+ type: object
+ properties:
+ name:
+ type: string
+ paymentSchedule:
+ $ref: '#/definitions/paymentScheduleInterval'
+ amount:
+ type: string
+ trialAmount:
+ type: string
+ status:
+ type: string
+ profile:
+ $ref: '#/definitions/profileForGetSubscription'
+ arbTransactions:
+ $ref: '#/definitions/arbTransactions'
+ getSettleBatchListResponce:
+ properties:
+ batchList:
+ type: array
+ items:
+ $ref: '#/definitions/batches'
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ batches:
+ type: object
+ properties:
+ batchId:
+ type: string
+ settlementTimeUTC:
+ type: string
+ settlementTimeUTCSpecified:
+ type: string
+ settlementTimeLocal:
+ type: string
+ settlementTimeLocalSpecified:
+ type: string
+ settlementState:
+ type: string
+ paymentMethod:
+ type: string
+ getTransactionListResponse:
+ type: object
+ properties:
+ getTransactionListResponse:
+ $ref: '#/definitions/getTransactionListResponses'
+ totalNumInResultSet:
+ type: string
+ getTransactionListResponses:
+ type: object
+ properties:
+ -xmlns:
+ type: string
+ messages:
+ $ref: '#/definitions/messageForGetTransactionList'
+ transactions:
+ $ref: '#/definitions/transactionsForTransactionReporting'
+ messageForGetTransactionList:
+ type: object
+ properties:
+ resultCode:
+ type: string
+ message:
+ $ref: '#/definitions/messagessForGetTransactionList'
+ messagessForGetTransactionList:
+ properties:
+ code:
+ type: string
+ text:
+ type: string
+ transactionsForTransactionReporting:
+ type: object
+ properties:
+ transaction:
+ type: array
+ items:
+ $ref: '#/definitions/transactionForTransactionReporting'
+ transactionForTransactionReporting:
+ type: object
+ properties:
+ transaction:
+ $ref: '#/definitions/transactionsResponseForTransactionReporting'
+ transId:
+ type: string
+ submitTimeUTC:
+ type: string
+ submitTimeLocal:
+ type: string
+ transactionStatus:
+ type: string
+ invoice:
+ type: string
+ firstName:
+ type: string
+ lastName:
+ type: string
+ amount:
+ type: string
+ accountType:
+ type: string
+ accountNumber:
+ type: string
+ marketType:
+ type: string
+ product:
+ type: string
+ mobileDeviceId:
+ type: string
+ transactionsResponseForTransactionReporting:
+ properties:
+ transId:
+ type: string
+ submitTimeUTC:
+ type: string
+ submitTimeLocal:
+ type: string
+ transactionStatus:
+ type: string
+ invoiceNumber:
+ type: string
+ firstName:
+ type: string
+ lastName:
+ type: string
+ amount:
+ type: string
+ accountType:
+ type: string
+ accountNumber:
+ type: string
+ settleAmount:
+ type: string
+ subscription:
+ $ref: '#/definitions/subscriptionForGetTransactionList'
+ profile:
+ $ref: '#/definitions/profileForGetTransactionList'
+ subscriptionForGetTransactionList:
+ type: object
+ properties:
+ id:
+ type: string
+ payNum:
+ type: string
+ profileForGetTransactionList:
+ type: object
+ properties:
+ customerProfileId:
+ type: string
+ customerPaymentProfileId:
+ type: string
+ getUnsettledTransactionListResponse:
+ type: object
+ properties:
+ transaction:
+ type: array
+ items:
+ $ref: '#/definitions/transactionForUnsettledTransactionReporting'
+ transId:
+ type: string
+ submitTimeUTC:
+ type: string
+ submitTimeLocal:
+ type: string
+ transactionStatus:
+ type: string
+ invoiceNumber:
+ type: string
+ firstName:
+ type: string
+ lastName:
+ type: string
+ accountType:
+ type: string
+ accountNumber:
+ type: string
+ settleAmount:
+ type: string
+ marketType:
+ type: string
+ product:
+ type: string
+ hasReturnedItemsSpecified:
+ type: string
+ totalNumInResultSet:
+ type: string
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ transactionForUnsettledTransactionReporting:
+ type: object
+ properties:
+ transId:
+ type: string
+ submitTimeUTC:
+ type: string
+ submitTimeLocal:
+ type: string
+ transactionStatus:
+ type: string
+ invoice:
+ type: string
+ firstName:
+ type: string
+ lastName:
+ type: string
+ amount:
+ type: string
+ accountType:
+ type: string
+ accountNumber:
+ type: string
+ marketType:
+ type: string
+ product:
+ type: string
+ profile:
+ $ref: '#/definitions/profileForGetTransactionList'
+ profileForGetSubscription:
+ type: object
+ properties:
+ merchantCustomerId:
+ type: string
+ description:
+ type: string
+ email:
+ type: string
+ customerProfileId:
+ type: string
+ paymentProfile:
+ $ref: '#/definitions/paymentProfile'
+ shippingProfile:
+ $ref: '#/definitions/shippingProfile'
+ paymentProfile:
+ type: object
+ properties:
+ customerType:
+ type: string
+ billTo:
+ $ref: '#/definitions/billTo'
+ customerPaymentProfileId:
+ type: string
+ payment:
+ $ref: '#/definitions/creditCardForGetSubscription'
+ creditCardForGetSubscription:
+ type: object
+ properties:
+ creditCard:
+ $ref: '#/definitions/creditCardForRecurringBilling'
+ shippingProfile:
+ type: object
+ properties:
+ firstName:
+ type: string
+ lastName:
+ type: string
+ company:
+ type: string
+ address:
+ type: string
+ city:
+ type: string
+ state:
+ type: string
+ zip:
+ type: integer
+ country:
+ type: string
+ phoneNumber:
+ type: string
+ customerAddressId:
+ type: string
+ arbTransactions:
+ type: object
+ properties:
+ arbTransactions:
+ $ref: '#/definitions/arbTransaction'
+ arbTransaction:
+ type: object
+ properties:
+ response:
+ type: string
+ submitTimeUTC:
+ type: string
+ payNum:
+ type: string
+ attemptNum:
+ type: string
+ getSubscriptionStatusResponce:
+ type: object
+ properties:
+ note:
+ type: string
+ refId:
+ type: string
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ getAListOfSubscriptionsResponce:
+ type: object
+ properties:
+ totalNumInResultSet:
+ type: string
+ totalNumInResultSetSpecified:
+ type: string
+ subscriptionDetails:
+ type: array
+ items:
+ $ref: '#/definitions/subscriptionDetails'
+ refId:
+ type: string
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ subscriptionDetails:
+ type: object
+ properties:
+ id:
+ type: string
+ name:
+ type: string
+ status:
+ type: string
+ createTimeStampUTC:
+ type: string
+ firstName:
+ type: string
+ lastName:
+ type: string
+ totalOccurrences:
+ type: string
+ pastOccurrences:
+ type: string
+ paymentMethod:
+ type: string
+ accountNumber:
+ type: string
+ invoice:
+ type: string
+ amount:
+ type: string
+ currencyCode:
+ type: string
+ createCancelSubscriptionResponce:
+ type: object
+ properties:
+ refId:
+ type: string
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ getTransactionDetailsResponse:
+ type: object
+ properties:
+ getTransactionDetailsResponse:
+ $ref: '#/definitions/getTransactionDetailsResponses'
+ getTransactionDetailsResponses:
+ type: object
+ properties:
+ -xmlns:
+ type: string
+ -xmlns:xsd:
+ type: string
+ -xmlns:xsi:
+ type: string
+ messages:
+ $ref: '#/definitions/messageForGetTransactionList'
+ transactions:
+ $ref: '#/definitions/transactionForgetTransactionDetailsResponses'
+ batch:
+ $ref: '#/definitions/batchForGetTransactionDetails'
+ order:
+ $ref: '#/definitions/order'
+ requestedAmount:
+ type: string
+ authAmount:
+ type: string
+ settleAmount:
+ type: string
+ tax:
+ $ref: '#/definitions/taxForGetTransactionDetails'
+ shipping:
+ $ref: '#/definitions/shippingForGetTransactionDetails'
+ duty:
+ $ref: '#/definitions/dutyForGetTransactionDetails'
+ lineItems:
+ $ref: '#/definitions/lineItemsForGetTransactionDetails'
+ prepaidBalanceRemaining:
+ type: string
+ taxExempt:
+ type: string
+ payment:
+ $ref: '#/definitions/paymentForGetTransactionDetails'
+ customer:
+ $ref: '#/definitions/customerForGetTransactionDetails'
+ billTo:
+ $ref: '#/definitions/billToForGetTransactionDetails'
+ shipTo:
+ $ref: '#/definitions/shipToForGetTransactionDetails'
+ recurringBilling:
+ type: string
+ customerIP:
+ type: string
+ subscription:
+ $ref: '#/definitions/subscriptionForGetTransactionDetails'
+ solution:
+ $ref: '#/definitions/solution'
+ mobileDeviceId:
+ type: string
+ profile:
+ $ref: '#/definitions/profileForGetTransactionDetails'
+ networkTransId:
+ type: string
+ originalNetworkTransId:
+ type: string
+ originalAuthAmount:
+ type: string
+ authorizationIndicator:
+ type: string
+ transactionForgetTransactionDetailsResponses:
+ type: object
+ properties:
+ transId:
+ type: string
+ refTransId:
+ type: string
+ splitTenderId:
+ type: string
+ submitTimeUTC:
+ type: string
+ submitTimeLocal:
+ type: string
+ transactionType:
+ type: string
+ transactionStatus:
+ type: string
+ responseCode:
+ type: string
+ responseReasonCode:
+ type: string
+ responseReasonDescription:
+ type: string
+ authCode:
+ type: string
+ AVSResponse:
+ type: string
+ cardCodeResponse:
+ type: string
+ CAVVResponse:
+ type: string
+ FDSFilterAction:
+ type: string
+ FDSFilters:
+ $ref: '#/definitions/FDSFilterToGetTransaction'
+ FDSFilterToGetTransaction:
+ type: object
+ properties:
+ FSFilter:
+ $ref: '#/definitions/FSFilter'
+ FSFilter:
+ type: object
+ properties:
+ name:
+ type: string
+ action:
+ type: string
+ batchForGetTransactionDetails:
+ type: object
+ properties:
+ batchId:
+ type: string
+ settlementTimeUTC:
+ type: string
+ settlementTimeLocal:
+ type: string
+ settlementState:
+ type: string
+ order:
+ type: object
+ properties:
+ invoiceNumber:
+ type: string
+ description:
+ type: string
+ purchaseOrderNumber:
+ type: string
+ taxForGetTransactionDetails:
+ type: object
+ properties:
+ amount:
+ type: string
+ name:
+ type: string
+ description:
+ type: string
+ shippingForGetTransactionDetails:
+ type: object
+ properties:
+ amount:
+ type: string
+ name:
+ type: string
+ description:
+ type: string
+ dutyForGetTransactionDetails:
+ type: object
+ properties:
+ amount:
+ type: string
+ lineItemsForGetTransactionDetails:
+ type: object
+ properties:
+ lineItem:
+ type: array
+ items:
+ $ref: '#/definitions/lineItemForGetTransactionDetails'
+ lineItemForGetTransactionDetails:
+ type: object
+ properties:
+ itemId:
+ type: string
+ name:
+ type: string
+ description:
+ type: string
+ quantity:
+ type: string
+ unitPrice:
+ type: string
+ taxable:
+ type: string
+ paymentForGetTransactionDetails:
+ type: object
+ properties:
+ creditCard:
+ $ref: '#/definitions/creditCardForGetTransactionDetails'
+ creditCardForGetTransactionDetails:
+ type: object
+ properties:
+ cardNumber:
+ type: string
+ expirationDate:
+ type: string
+ cardType:
+ type: string
+ customerForGetTransactionDetails:
+ type: object
+ properties:
+ type:
+ type: string
+ id:
+ type: string
+ mail:
+ type: string
+ billToForGetTransactionDetails:
+ type: object
+ properties:
+ firstName:
+ type: string
+ lastName:
+ type: string
+ address:
+ type: string
+ city:
+ type: string
+ state:
+ type: string
+ zip:
+ type: string
+ country:
+ type: string
+ phoneNumber:
+ type: string
+ shipToForGetTransactionDetails:
+ type: object
+ properties:
+ firstName:
+ type: string
+ lastName:
+ type: string
+ address:
+ type: string
+ city:
+ type: string
+ state:
+ type: string
+ zip:
+ type: string
+ country:
+ type: string
+ subscriptionForGetTransactionDetails:
+ type: object
+ properties:
+ id:
+ type: string
+ payNum:
+ type: string
+ marketType:
+ type: string
+ product:
+ type: string
+ returnedItems:
+ $ref: '#/definitions/returnedItems'
+ returnedItems:
+ type: object
+ properties:
+ returnedItem:
+ $ref: '#/definitions/returnedItem'
+ returnedItem:
+ type: object
+ properties:
+ id:
+ type: string
+ dateUTC:
+ type: string
+ dateLocal:
+ type: string
+ code:
+ type: string
+ description:
+ type: string
+ solution:
+ type: object
+ properties:
+ id:
+ type: string
+ name:
+ type: string
+ vendorName:
+ type: string
+ profileForGetTransactionDetails:
+ type: object
+ properties:
+ customerProfileId:
+ type: string
+ customerPaymentProfileId:
+ type: string
+ getBatchStatisticsResponse:
+ type: object
+ properties:
+ batch:
+ $ref: '#/definitions/getBatchStatisticsResponses'
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ getBatchStatisticsResponses:
+ type: object
+ properties:
+ batchId:
+ type: string
+ settlementTimeUTC:
+ type: string
+ settlementTimeUTCSpecified:
+ type: string
+ settlementTimeLocal:
+ type: string
+ settlementTimeLocalSpecified:
+ type: string
+ settlementState:
+ type: string
+ paymentMethod:
+ type: string
+ statistics:
+ $ref: '#/definitions/statisticsForBatch'
+ statisticsForBatch:
+ type: array
+ items:
+ $ref: '#/definitions/statistics'
+ statistics:
+ type: object
+ properties:
+ accountType:
+ type: string
+ chargeAmount:
+ type: string
+ chargeCount:
+ type: string
+ refundAmount:
+ type: string
+ refundCount:
+ type: string
+ voidCount:
+ type: string
+ declineCount:
+ type: string
+ errorCount:
+ type: string
+ returnedItemAmount:
+ type: string
+ returnedItemAmountSpecified:
+ type: string
+ returnedItemCount:
+ type: string
+ returnedItemCountSpecified:
+ type: string
+ chargebackAmount:
+ type: string
+ chargebackAmountSpecified:
+ type: string
+ chargebackCount:
+ type: string
+ chargebackCountSpecified:
+ type: string
+ correctionNoticeCount:
+ type: string
+ correctionNoticeCountSpecified:
+ type: string
+ chargeChargeBackAmount:
+ type: string
+ chargeChargeBackAmountSpecified:
+ type: string
+ chargeChargeBackCount:
+ type: string
+ chargeChargeBackCountSpecified:
+ type: string
+ refundChargeBackAmount:
+ type: string
+ refundChargeBackAmountSpecified:
+ type: string
+ refundChargeBackCount:
+ type: string
+ refundChargeBackCountSpecified:
+ type: string
+ chargeReturnedItemsAmount:
+ type: string
+ chargeReturnedItemsAmountSpecified:
+ type: string
+ chargeReturnedItemsCount:
+ type: string
+ chargeReturnedItemsCountSpecified:
+ type: string
+ refundReturnedItemsAmount:
+ type: string
+ refundReturnedItemsAmountSpecified:
+ type: string
+ refundReturnedItemsCount:
+ type: string
+ refundReturnedItemsCountSpecified:
+ type: string
+ getMerchantDetailsResponse:
+ type: object
+ properties:
+ isTestMode:
+ type: string
+ processors:
+ $ref: '#/definitions/processors'
+ merchantName:
+ type: string
+ gatewayId:
+ type: string
+ marketTypes:
+ $ref: '#/definitions/marketTypes'
+ productCodes:
+ $ref: '#/definitions/productCodes'
+ paymentMethods:
+ $ref: '#/definitions/paymentMethodsForMerchantDetails'
+ currencies:
+ $ref: '#/definitions/currencies'
+ publicClientKey:
+ type: string
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ processors:
+ type: array
+ items:
+ $ref: '#/definitions/processorsForMerchantDetails'
+ processorsForMerchantDetails:
+ type: object
+ properties:
+ name:
+ type: string
+ marketTypes:
+ type: array
+ items:
+ $ref: '#/definitions/marketType'
+ marketType:
+ type: object
+ properties:
+ eCommerce:
+ type: string
+ productCodes:
+ type: array
+ items:
+ $ref: '#/definitions/productCode'
+ productCode:
+ type: object
+ properties:
+ CNP:
+ type: string
+ paymentMethodsForMerchantDetails:
+ type: array
+ items:
+ $ref: '#/definitions/paymentMethodForMerchantDetails'
+ paymentMethodForMerchantDetails:
+ type: object
+ properties:
+ AmericanExpress:
+ type: string
+ DinersClub:
+ type: string
+ Discover:
+ type: string
+ EnRoute:
+ type: string
+ JCB:
+ type: string
+ Mastercard:
+ type: string
+ Visa:
+ type: string
+ currencies:
+ type: array
+ items:
+ $ref: '#/definitions/currencie'
+ currencie:
+ type: object
+ properties:
+ USD:
+ type: string
+ getAccountUpdaterJobSummaryResponse:
+ type: object
+ properties:
+ auSummary:
+ $ref: '#/definitions/auSummaryy'
+ refId:
+ type: string
+ messages:
+ $ref: '#/definitions/messageForGetTransactionList'
+ auSummaryy:
+ type: object
+ properties:
+ auResponse:
+ $ref: '#/definitions/auResponses'
+ auResponses:
+ type: array
+ items:
+ $ref: '#/definitions/auResponse'
+ auResponse:
+ type: object
+ properties:
+ auReasonCode:
+ type: string
+ profileCount:
+ type: string
+ reasonDescription:
+ type: string
+ getAccountUpdaterJobDetailsResponse:
+ type: object
+ properties:
+ totalNumInResultSet:
+ type: string
+ auDetails:
+ $ref: '#/definitions/auDelete'
+ refId:
+ type: string
+ messages:
+ $ref: '#/definitions/messageForGetTransactionList'
+ auDelete:
+ type: object
+ properties:
+ auDelete:
+ $ref: '#/definitions/auDeleteForAccountUpdaterJobDetails'
+ auUpdate:
+ $ref: '#/definitions/auUpdates'
+ auDeleteForAccountUpdaterJobDetails:
+ type: object
+ properties:
+ customerProfileID:
+ type: string
+ customerPaymentProfileID:
+ type: string
+ firstName:
+ type: string
+ lastName:
+ type: string
+ updateTimeUTC:
+ type: string
+ auReasonCode:
+ type: string
+ reasonDescription:
+ type: string
+ creditCard:
+ $ref: '#/definitions/creditCardForAccountUpdaterJobDetail'
+ creditCardForAccountUpdaterJobDetail:
+ type: object
+ properties:
+ cardNumber:
+ type: string
+ expirationDate:
+ type: string
+ auUpdates:
+ type: array
+ items:
+ $ref: '#/definitions/auUpdate'
+ auUpdate:
+ type: object
+ properties:
+ customerProfileID:
+ type: string
+ customerPaymentProfileID:
+ type: string
+ firstName:
+ type: string
+ lastName:
+ type: string
+ updateTimeUTC:
+ type: string
+ auReasonCode:
+ type: string
+ reasonDescription:
+ type: string
+ profileCount:
+ type: string
+ newCreditCard:
+ $ref: '#/definitions/newCreditCard'
+ oldCreditCard:
+ $ref: '#/definitions/oldCreditCard'
+ newCreditCard:
+ type: object
+ properties:
+ cardNumber:
+ type: string
+ expirationDate:
+ type: string
+ oldCreditCard:
+ type: object
+ properties:
+ cardNumber:
+ type: string
+ expirationDate:
+ type: string
+ createAnAcceptPaymentTransactionResponce:
+ type: object
+ properties:
+ transactionResponse:
+ $ref: '#/definitions/paymentTransactionResponse'
+ userField:
+ type: array
+ items:
+ $ref: '#/definitions/userFieldForcreateAnAcceptPaymentTransaction'
+ transHashSha2:
+ type: string
+ refId:
+ type: string
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ userFieldForcreateAnAcceptPaymentTransaction:
+ type: object
+ properties:
+ code:
+ type: string
+ text:
+ type: string
+ getAcceptCustomerProfilePageResponse:
+ type: object
+ properties:
+ token:
+ type: string
+ messages:
+ $ref: '#/definitions/messagesOfPaymentTransactionResponse'
+ baseAddress:
+ required:
+ - address1
+ type: object
+ properties:
+ address1:
+ type: string
+ x-example: 123 Main St.
+ description: 'Number/letter of the address, and the street name. Required if merchant would like to use the Address Verification Service security feature. Required when using GPN Canada or Worldpay Streamline Processing Platform. String, up to 60 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols.'
+ administrativeArea:
+ type: string
+ x-example: WA
+ description: 'The state or administrative area. Required only when using a European payment processor. String, up to 40 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols. For US states, use the USPS two-character abbreviation for the state.'
+ company:
+ type: string
+ x-example: 'Widgets, Inc.'
+ description: 'Name of the purchasing company, if any. String, up to 50 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols.'
+ country:
+ type: string
+ x-example: USA
+ description: 'Country associated with the address. Required only when using a European payment processor. String, up to 60 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols. For international payment processors, use the ISO 3166 alpha-3 code for the country.'
+ firstName:
+ type: string
+ x-example: John
+ description: 'First name associated with customer''s address. Required only when using a European payment processor. String, up to 50 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols.'
+ lastName:
+ type: string
+ x-example: Doe
+ description: 'Last name associated with customer''s address. Required only when using a European payment processor. String, up to 50 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols.'
+ locality:
+ type: string
+ x-example: Bellevue
+ description: 'City or town of the address. Required only when using a European payment processor. String, up to 40 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols.'
+ phoneNumber:
+ type: string
+ x-example: 000-000-0000
+ description: 'Phone number associated with customer''s address. String, up to 25 characters. For example, (123) 555-1234.'
+ postalCode:
+ type: string
+ x-example: '98004'
+ description: 'The postal or ZIP code of the customer''s billing address. Required if merchant would like to use the Address Verification Service security feature. Required when using GPN Canada or Worldpay Streamline Processing Platform. String, up to 20 characters. Use alphanumeric characters only, without spaces, dashes, or other symbols.'
+ addressLinks:
+ properties:
+ self:
+ $ref: '#/definitions/link'
+ customer:
+ $ref: '#/definitions/link'
+ addressList:
+ properties:
+ addresses:
+ type: array
+ items:
+ $ref: '#/definitions/addresses'
+ addressCollection:
+ properties:
+ _links:
+ $ref: '#/definitions/collectionLinks'
+ _embedded:
+ $ref: '#/definitions/addressList'
+ totalAddresses:
+ type: integer
+ x-example: 1243
+ description: Total number of addresses.
+ addresses:
+ properties:
+ id:
+ type: string
+ description: Unique identifier of the address.
+ default:
+ type: boolean
+ description: 'If the address is set as the default address for the profile, the value of this element is `true`.'
+ firstName:
+ type: string
+ description: First name of the customer associated with the address.
+ lastName:
+ type: string
+ description: Last name of the customer associated with the address.
+ _links:
+ $ref: '#/definitions/addressLinks'
+ amountDetail:
+ required:
+ - totalAmount
+ properties:
+ totalAmount:
+ type: string
+ description: |
+ This is the total amount of the payment and must include tax, shipping, tips, and any other charges. Decimal, up to 15 digits with a decimal point. Do not use currency symbols. For example, 8.95.
+ currency:
+ type: string
+ description: Currency of the transaction.
+ dutyAmount:
+ type: string
+ description: Amount of duty. The total transaction amount must include this value.
+ taxAmount:
+ type: string
+ description: Amount of tax. The total transaction amount must include this value.
+ freightAmount:
+ type: string
+ description: Amount of the shipping charges. The total transaction amount must include this value.
+ authorizedAmount:
+ type: string
+ description: ''
+ bankAccount:
+ description: This object contains the customer's bank account payment information.
+ required:
+ - routingNumber
+ - accountNumber
+ - nameOnAccount
+ properties:
+ accountType:
+ type: string
+ description: |-
+ The type of bank account used for the eCheck.Net transaction. The value of `accountType` must be valid for the `echeckType` value submitted. Valid values include:
+ * `checking`
+ * `savings`
+ * `businessChecking`
+ routingNumber:
+ type: string
+ description: 'The ABA routing number. Masked except for the last four digits. For example, XXXX0101. Numeric, up to 9 digits.'
+ accountNumber:
+ type: string
+ description: 'The bank account number. Masked except for the last four digits. For example, XXXX0101. Numeric, up to 17 digits.'
+ nameOnAccount:
+ type: string
+ description: 'Name of the person who holds the bank account. String, up to 22 characters.'
+ eCheckType:
+ type: string
+ description: |-
+ The type of eCheck transaction. Valid values include
+ * `PPD`
+ * `WEB`
+ * `CCD`
+ * `TEL`
+ * `ARC`
+ * `BOC`
+ bankName:
+ type: string
+ description: Name of the bank to which the account belongs.
+ checkNumber:
+ type: string
+ description: 'The number of the check. Do not send `checkNumber` unless `echeckType` is either `ARC` or `BOC`. Numeric, up to 15 digits.'
+ card:
+ description: This object contains the customer's credit card payment information.
+ type: object
+ required:
+ - number
+ - expirationMonth
+ - expirationYear
+ properties:
+ number:
+ type: string
+ x-example: '41XXXXXXXXXXXXX'
+ description: 'The customer''s credit card number. Numeric, 13-16 digits.'
+ expirationMonth:
+ type: string
+ description: 'Month that the card expires, in MM format.'
+ expirationYear:
+ type: string
+ description: Year that the card expires in YYYY format.
+ type:
+ type: string
+ description: |-
+ Type of credit card. Valid values include:
+ * `Visa`
+ * `MasterCard`
+ * `Discover`
+ * `JCB`
+ * `DinersClub`
+ securityCode:
+ type: string
+ x-example: '123'
+ description: The three or four digit code on the front or back of the card. This field is required if the merchant would like to use the Card Code Verification (CCV) security feature. Cardholder information must be stored securely and in accordance with the Payment Card Industry (PCI) Data Security Standard.
+ customerPayment:
+ type: object
+ required:
+ - customerId
+ properties:
+ customerId:
+ type: string
+ x-example: 10
+ description: The ID of the customer profile. Required if you are using a customer profile as the source for payment or shipping information. 20-character maximum.
+ paymentMethodId:
+ type: string
+ x-example: 2016
+ description: The payment profile ID of the customer profile. Designates the payment profile to use for payment and billing information.
+ errorResponse:
+ description: Model for Error Response
+ title: errorResponse
+ type: object
+ properties:
+ message:
+ type: string
+ description: Describes the error condition.
+ reason:
+ type: string
+ description: 'This is an enum field that describes the business errors returned by the server. The client can use this field to interpret errors returned by the server. '
+ informationLink:
+ type: string
+ description: Contains a URL link to general online documentation for this error.
+ correlationId:
+ type: string
+ format: uuid
+ details:
+ type: array
+ items:
+ $ref: '#/definitions/errorDetails'
+ required:
+ - message
+ - reason
+ errorDetails:
+ description: Error details object.
+ title: errorDetails
+ type: object
+ properties:
+ message:
+ type: string
+ description: Describes the error condition.
+ location:
+ type: string
+ description: Indicates the name of a parameter.
+ fluidData:
+ description: |-
+ This object contains encrypted payment data that can be submitted in the following types of payments:
+ * Authorize.Net Accept
+ * Visa Checkout
+ * Apple Pay
+ * Android Pay
+ type: object
+ required:
+ - descriptor
+ - value
+ properties:
+ key:
+ type: string
+ description: Only for Visa Checkout payments. This data is received from the JavaScript Visa Checkout integration's `encKey` field. 128-character maximum.
+ descriptor:
+ type: string
+ description: 'Specifies how the request should be processed. The value of `dataDescriptor` is based on the source of the value of `dataValue`. For example, for Accept, the value is `COMMON.ACCEPT.INAPP.PAYMENT`. 128 characters.'
+ value:
+ type: string
+ description: Base64 encoded data that contains encrypted payment data. The payment gateway expects the encrypted payment data and meta data for the encryption keys. 8192 characters.
+ items:
+ type: object
+ required:
+ - productCode
+ - productName
+ properties:
+ productCode:
+ type: string
+ x-example: 1
+ description: Item identification. 31-character maximum.
+ productName:
+ type: string
+ x-example: vase
+ description: A short description of the item. 31-character maximum.
+ quantity:
+ type: number
+ x-example: 18
+ description: The number of items sold. Up to a maximum of four decimal places.
+ unitPrice:
+ type: string
+ x-example: '45'
+ description: 'Cost of an item per unit, excluding tax, freight, and duty. Up to a maximum of 2 decimal places.'
+ collectionLinks:
+ properties:
+ self:
+ $ref: '#/definitions/link'
+ next:
+ $ref: '#/definitions/link'
+ previous:
+ $ref: '#/definitions/link'
+ link:
+ properties:
+ href:
+ type: string
+ description: URI of the linked resource.
+ title:
+ type: string
+ description: Label of the linked resource.
+ method:
+ type: string
+ description: HTTP method of the linked resource.
+ merchantDefinedInformation:
+ type: object
+ properties:
+ key:
+ type: string
+ x-example: 1
+ description: Item identification. 50-character maximum.
+ value:
+ type: string
+ x-example: vase
+ description: A short description of the item. 50-character maximum.
+ paymentInformation:
+ description: |
+ This object sets the method of payment for a transaction. There are four available payment instruments, shown below.
+ |Payment Instrument | Description |
+ |-----|-----|
+ | `creditCard` | Contains the customer's credit card payment data. |
+ | `BankAccount` | Contains the customer's banking information. |
+ | `FluidData` | Contains enrypted payment data for use with the following tpyes of transactions -
+ | | * Visa Checkout |
+ | | * Authorize.Net Accept |
+ | | * Apple Pay |
+ | | * Android Pay |
+ | `CustomerPayment` | Contains the Authorize.Net customer profile information necessary to create a payment transaction from stored payment data. |
+ type: object
+ properties:
+ card:
+ $ref: '#/definitions/card'
+ bankAccount:
+ $ref: '#/definitions/bankAccount'
+ fluidData:
+ $ref: '#/definitions/fluidData'
+ customer:
+ $ref: '#/definitions/customerPayment'
+ tokenizedCard:
+ $ref: '#/definitions/tokenizedCard'
+ validate:
+ type: boolean
+ x-example: 'true'
+ description: |-
+ If the customer profile contains no payment data, this field should not be sent.
+
+ Submitting this field with a value of `true` sends a $0 or $0.01 (depending on card type and processor) live transaction is processed for the card and then immediately voided. Address is required for cards that support $0 authorizations and will be validated along with card code if submitted.
+
+ Submitting this field with a value of false, the card data is validated using simple mathematical checks to confirm that it appears to be valid. It is not a guarantee that the card is legitimate and customer data is not validated.
+ selfLink:
+ properties:
+ self:
+ $ref: '#/definitions/link'
+ tokenizedCard:
+ type: object
+ required:
+ - number
+ - expirationMonth
+ - expirationYear
+ - cryptogram
+ properties:
+ number:
+ type: string
+ description: The credit card token.
+ expirationMonth:
+ type: string
+ description: 'The token''s expiration month in MM format. Use the value of the token''s expiration date, not the card''s expiration date.'
+ expirationYear:
+ type: string
+ description: 'The token''s expiration year in YYYY format. Use the value of the token''s expiration date, not the card''s expiration date.'
+ cryptogram:
+ type: string
+ description: 'Set this to the value of the cryptogram received from the token provider. This field confirms that the payment data is tokenized, and it must be submitted when the credit card number is a tokenized credit card.'
+
diff --git a/Documents/Swagger generation doc.rtf b/Documents/Swagger generation doc.rtf
new file mode 100644
index 00000000..8f4a0be0
--- /dev/null
+++ b/Documents/Swagger generation doc.rtf
@@ -0,0 +1,6715 @@
+{\rtf1\ansi\ansicpg1252\deff0\nouicompat\deflang1033{\fonttbl{\f0\fnil\fcharset0 Calibri;}{\f1\fnil\fcharset0 Bookman Old Style;}{\f2\fnil\fcharset2 Symbol;}}
+{\colortbl ;\red0\green0\blue255;}
+{\*\generator Riched20 10.0.22621}\viewkind4\uc1
+\pard\sa200\sl276\slmult1\f0\fs22\lang9\par
+
+\pard\sa200\sl276\slmult1\qc\b\f1 Swagger Generation of ANet APIs.\par
+ \par
+
+\pard\sa200\sl276\slmult1 Content \b0\par
+\tab Requirment\par
+\tab Proposed solution \par
+\tab Procedure to Achieve the solution.\b\par
+
+\pard\sa200\sl276\slmult1\qc\par
+
+\pard\sa200\sl276\slmult1 Requirment- \par
+ \b0 Creating Swagger of the ANet APIs as per the requiremnts.\par
+ There were few Swagger already created for the reference.\par
+\par
+\b Proposed solution-\par
+ \b0 Generatate the Swagger out of ANet APIs as per the required \tab documenatation.\par
+ Following are the API which are converted to the Swagger.\par
+
+\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\fi-360\li720\sa200\sl276\slmult1\b Payment Transactions\b0\par
+
+\pard\sa200\sl276\slmult1\b \b0 Charge a Credit Card\par
+ Authorize a Credit Card\par
+ Capture a Previously Authorized Amount\par
+ Capture Funds Authorized Through Another Channel\par
+ Refund a Transaction\par
+ Void a Transaction\par
+ Update Split Tender Group\par
+ Debit a Bank Account\par
+ Credit a Bank Account\par
+ Charge a Customer Profile\par
+ Charge a Tokenized Credit Card\par
+
+\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\fi-360\li720\sa200\sl276\slmult1 \b Mobile In-App Transactions \b0\par
+
+\pard\sa200\sl276\slmult1\b \b0 Create an Apple Pay Transaction \par
+ Create a Google Pay Transaction\par
+
+\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\fi-360\li720\sa200\sl276\slmult1 \b PayPal Express Checkout \par
+
+\pard\sa200\sl276\slmult1 \b0 Authorization Only\par
+ Authorization and Capture\par
+ Get Details\par
+ Authorization Only, Continued\par
+ Prior Authorization Capture\par
+ Authorization and Capture, Continued\par
+ Void\par
+ Credit\b\par
+
+\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\fi-360\li720\sa200\sl276\slmult1 Fraud Management\par
+
+\pard\sa200\sl276\slmult1\b0 Get Held Transaction List\par
+ Approve or Decline Held Transaction\par
+
+\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\fi-360\li720\sa200\sl276\slmult1\b Recurring Billing\b0\par
+
+\pard\sa200\sl276\slmult1 Create a Subscription\par
+ Create a Subscription from Customer Profile\par
+ Get Subscription\par
+ Get Subscription Status\par
+ Update a Subscription\par
+ Cancel a Subscription\par
+ Get a List of Subscriptions\par
+
+\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\fi-360\li720\sa200\sl276\slmult1\b Transaction Reporting\b0\par
+
+\pard\sa200\sl276\slmult1 Get Settled Batch List\par
+ Get Transaction List\par
+ Get Unsettled Transaction List\par
+ Get Customer Profile Transaction List\par
+ Get Transaction Details\par
+ Get Batch Statistics\par
+ Get Merchant Details\par
+ Get Account Updater Job Summary\par
+ Get Account Updater Job Details\par
+
+\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\fi-360\li720\sa200\sl276\slmult1\b Accept Suite\b0\par
+
+\pard\sa200\sl276\slmult1 Create an Accept Payment Transaction\par
+
+\pard\sa200\sl276\slmult1 Get Accept Customer Profile Page\par
+\par
+
+\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\fi-360\li720\sa200\sl276\slmult1 Swagger which are not completed properly and need to check-\par
+
+\pard\sa200\sl276\slmult1 Get an Accept Payment Page\par
+\par
+\b Procedure to Achieve the solution-\par
+
+\pard{\pntext\f2\'B7\tab}{\*\pn\pnlvlblt\pnf2\pnindent0{\pntxtb\'B7}}\fi-360\li720\sa200\sl276\slmult1\b0 Open the Swagger Editor from "{{\field{\*\fldinst{HYPERLINK https://swagger.io/tools/swagger-ui/ }}{\fldrslt{https://swagger.io/tools/swagger-ui/\ul0\cf0}}}}\f1\fs22 "\b\par
+{\pntext\f2\'B7\tab}\b0 Add the required information about Swagger version, host, version, contract etc..\b\par
+{\pntext\f2\'B7\tab}\b0 Add paths: tag and start adding the URL paths as "'/v1/customers/\{customerId\}/addresses':".\b\par
+{\pntext\f2\'B7\tab}\b0 Add the request and responce in the Swagger format so it will not show any errors\b\par
+{\pntext\f2\'B7\tab}\b0 We need to add request and responce parameters with their data types and other details under "definations" tag.\b\par
+
+\pard\sa200\sl276\slmult1\par
+\b0 Please find the below attached YAML file for your reference which contains all the Swagger Documentation of the ANet APIs.\b\par
+\b0\par
+
+\pard\sa200\sl276\slmult1{\object\objemb{\*\objclass Package}\objw3405\objh1245{\*\objdata
+01050000
+02000000
+08000000
+5061636b61676500
+00000000
+00000000
+89cd0300
+0200616e65742d737761676765722d6170692e79616d6c00433a5c55736572735c323830383930
+345c414e6574537761676765725c616e65742d737761676765722d6170692e79616d6c00000003
+003e000000433a5c55736572735c323830383930345c417070446174615c4c6f63616c5c54656d
+705c616e65742d737761676765722d617069202832292e79616d6c00e0cb030020207377616767
+65723a2027322e30270d0a2020696e666f3a0d0a202020207469746c653a20417574686f72697a
+652e4e65742052455354204150490d0a202020206465736372697074696f6e3a20417574686f72
+697a652e4e65742052455354204150490d0a2020202076657273696f6e3a2027312e30270d0a20
+202020636f6e746163743a0d0a2020202020206e616d653a20646576656c6f7065725f66656564
+6261636b40617574686f72697a652e6e65740d0a2020686f73743a206170692e617574686f7269
+7a652e6e65740d0a2020736368656d65733a0d0a202020202d2068747470730d0a202073656375
+72697479446566696e6974696f6e733a0d0a2020202062617369633a0d0a202020202020747970
+653a2062617369630d0a202020206f617574683a0d0a202020202020747970653a206f61757468
+320d0a202020202020666c6f773a20696d706c696369740d0a202020202020617574686f72697a
+6174696f6e55726c3a202768747470733a2f2f6163636f756e742e617574686f72697a652e6e65
+742f6f617574682f617574686f72697a65270d0a20202020202073636f7065733a0d0a20202020
+20202020726561643a204c69737420616e6420766965772064657461696c730d0a202020202020
+202077726974653a20274372656174652c206c6973742c20616e6420766965772064657461696c
+73270d0a202070617468733a0d0a202020202f76312f637573746f6d6572733a0d0a2020202020
+20706f73743a0d0a2020202020202020746167733a0d0a202020202020202020202d2063757374
+6f6d6572732d70726f66696c65730d0a202020202020202073756d6d6172793a20437265617465
+204120437573746f6d65722050726f66696c650d0a20202020202020206465736372697074696f
+6e3a204372656174652061206e657720637573746f6d65722070726f66696c6520746861742063
+6f6e7461696e732061207061796d656e74206d6574686f642e0d0a20202020202020206f706572
+6174696f6e49643a20437265617465437573746f6d6572416e645061796d656e744d6574686f64
+0d0a2020202020202020636f6e73756d65733a0d0a202020202020202020202d206170706c6963
+6174696f6e2f6a736f6e0d0a202020202020202070726f64756365733a0d0a2020202020202020
+20202d206170706c69636174696f6e2f6a736f6e0d0a202020202020202073656375726974793a
+0d0a202020202020202020202d206f617574683a0d0a20202020202020202020202020202d2077
+726974650d0a202020202020202020202d2062617369633a205b5d0d0a2020202020202020782d
+6578616d706c653a0d0a202020202020202020206372656174652d637573746f6d65722d657861
+6d706c65313a0d0a20202020202020202020202073756d6d6172793a2043726561746520437573
+746f6d65720d0a20202020202020202020202076616c75653a0d0a202020202020202020202020
+20206465736372697074696f6e3a205465737420437573746f6d6572313330300d0a2020202020
+2020202020202020206964656e7469666965723a0d0a2020202020202020202020202020202065
+6d61696c3a206375733133303040617574686f72697a652e636f6d0d0a20202020202020202020
+2020202020207265666572656e63653a20437573746f6d6572313330300d0a2020202020202020
+706172616d65746572733a0d0a202020202020202020202d206e616d653a204372656174654375
+73746f6d6572416e645061796d656e744d6574686f640d0a202020202020202020202020696e3a
+20626f64790d0a2020202020202020202020206465736372697074696f6e3a20436f6e7461696e
+732074686520696e666f726d6174696f6e20726571756972656420746f20637265617465206120
+637573746f6d65722070726f66696c65207769746820616e2061736f636961746564207061796d
+656e74206d6574686f642e0d0a20202020202020202020202072657175697265643a2074727565
+0d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020202472
+65663a2027232f646566696e6974696f6e732f437265617465437573746f6d6572416e64506179
+6d656e744d6574686f64270d0a2020202020202020726573706f6e7365733a0d0a202020202020
+2020202027323030273a0d0a2020202020202020202020206465736372697074696f6e3a204f4b
+0d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020202472
+65663a2027232f646566696e6974696f6e732f437573746f6d6572270d0a202020202020202020
+202020782d6578616d706c653a0d0a20202020202020202020202020206372656174652d637573
+746f6d65722d726573706f6e7365313a0d0a2020202020202020202020202020202073756d6d61
+72793a2043726561746520437573746f6d657220526573706f6e73650d0a202020202020202020
+2020202020202076616c75653a0d0a20202020202020202020202020202020202069643a202734
+30313938333138270d0a2020202020202020202020202020202020206465736372697074696f6e
+3a205465737420437573746f6d6572313330300d0a202020202020202020202020202020202020
+6964656e7469666965723a0d0a2020202020202020202020202020202020202020656d61696c3a
+206375733133303040617574686f72697a652e636f6d0d0a202020202020202020202020202020
+20202020207265666572656e63653a20437573746f6d6572313330300d0a202020202020202020
+2020202020202020205f6c696e6b733a0d0a202020202020202020202020202020202020202073
+656c663a0d0a20202020202020202020202020202020202020202020687265663a202f72657374
+2f76312f637573746f6d6572732f34303139383331380d0a202020202020202020202020202020
+202020202020206d6574686f643a204745540d0a20202020202020202020202020202020202020
+207061796d656e744d6574686f64733a0d0a202020202020202020202020202020202020202020
+20687265663a202f726573742f76312f637573746f6d6572732f34303139383331382f7061796d
+656e744d6574686f64730d0a202020202020202020202020202020202020202020206d6574686f
+643a204745540d0a20202020202020202020202020202020202020206164647265737365733a0d
+0a20202020202020202020202020202020202020202020687265663a202f726573742f76312f63
+7573746f6d6572732f34303139383331382f6164647265737365730d0a20202020202020202020
+2020202020202020202020206d6574686f643a204745540d0a2020202020206765743a0d0a2020
+202020202020746167733a0d0a202020202020202020202d20637573746f6d6572732d70726f66
+696c65730d0a202020202020202073756d6d6172793a2047657420416c6c20437573746f6d6572
+2050726f66696c65730d0a20202020202020206465736372697074696f6e3a204765742061206c
+697374206f6620616c6c20637573746f6d65722070726f66696c6573206173736f636961746564
+2077697468207468697320417574686f72697a652e4e6574206163636f756e742e0d0a20202020
+202020206f7065726174696f6e49643a20676574416c6c437573746f6d6572730d0a2020202020
+20202070726f64756365733a0d0a202020202020202020202d206170706c69636174696f6e2f6a
+736f6e0d0a202020202020202073656375726974793a0d0a202020202020202020202d206f6175
+74683a0d0a20202020202020202020202020202d20726561640d0a202020202020202020202d20
+62617369633a205b5d0d0a2020202020202020706172616d65746572733a0d0a20202020202020
+2020202d206e616d653a206f66667365740d0a202020202020202020202020696e3a2071756572
+790d0a202020202020202020202020747970653a20696e74656765720d0a202020202020202020
+20202072657175697265643a2066616c73650d0a20202020202020202020202064657363726970
+74696f6e3a2027546865206e756d626572206f6620746865207061676520746f2072657475726e
+20726573756c74732066726f6d2e20466f72206578616d706c652c206966206c696d6974206973
+2073657420746f203130302c20616e64206f66667365742069732073657420746f20322c207468
+652066756e6374696f6e2077696c6c2072657475726e20313030207472616e73616374696f6e73
+2c20626567696e6e696e67207769746820746865207472616e73616374696f6e20746861742077
+6f756c64206f746865727769736520626520746865207472616e73616374696f6e206e756d6265
+7265642031303120696e2074686520726573756c74207365742e2041636365707465642076616c
+7565732061726520312d3130303030302e270d0a202020202020202020202d206e616d653a206c
+696d69740d0a202020202020202020202020696e3a2071756572790d0a20202020202020202020
+2020747970653a20696e74656765720d0a20202020202020202020202072657175697265643a20
+66616c73650d0a2020202020202020202020206465736372697074696f6e3a20546865206e756d
+626572206f66207472616e73616374696f6e732070657220706167652e20416363657074656420
+76616c7565732061726520312d313030302e0d0a2020202020202020726573706f6e7365733a0d
+0a2020202020202020202027323030273a0d0a2020202020202020202020206465736372697074
+696f6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a202020202020202020
+2020202020247265663a2027232f646566696e6974696f6e732f437573746f6d6572436f6c6c65
+6374696f6e270d0a202020202020202020202020782d6578616d706c653a207b7d0d0a20202020
+272f76312f637573746f6d6572732f7b637573746f6d657249647d2f616464726573736573273a
+0d0a202020202020706f73743a0d0a2020202020202020746167733a0d0a202020202020202020
+202d20637573746f6d6572732d6164647265737365730d0a202020202020202073756d6d617279
+3a20437265617465204120437573746f6d657220416464726573730d0a20202020202020206465
+736372697074696f6e3a2043726561746520616e2061646472657373206173736f636961746564
+2077697468206120637573746f6d65722070726f66696c652e0d0a20202020202020206f706572
+6174696f6e49643a20637265617465437573746f6d6572416464726573730d0a20202020202020
+20636f6e73756d65733a0d0a202020202020202020202d206170706c69636174696f6e2f6a736f
+6e0d0a202020202020202070726f64756365733a0d0a202020202020202020202d206170706c69
+636174696f6e2f6a736f6e0d0a202020202020202073656375726974793a0d0a20202020202020
+2020202d206f617574683a0d0a20202020202020202020202020202d2077726974650d0a202020
+202020202020202d2062617369633a205b5d0d0a2020202020202020782d6578616d706c653a0d
+0a202020202020202020206164642d637573746f6d65722d616464726573732d6578616d706c65
+313a0d0a20202020202020202020202073756d6d6172793a2041646420437573746f6d65722041
+6464726573730d0a20202020202020202020202076616c75653a0d0a2020202020202020202020
+20202061646472657373313a203130204176652031302053742e0d0a2020202020202020202020
+20202061646d696e697374726174697665417265613a2057410d0a202020202020202020202020
+2020636f6d70616e793a204e65740d0a2020202020202020202020202020636f756e7472793a20
+55530d0a202020202020202020202020202066697273744e616d653a206a696d0d0a2020202020
+2020202020202020206c6173744e616d653a2063617272790d0a20202020202020202020202020
+206c6f63616c6974793a205265646d6f6e640d0a202020202020202020202020202070686f6e65
+4e756d6265723a203432352035353520363636360d0a2020202020202020202020202020706f73
+74616c436f64653a20273938303532270d0a2020202020202020706172616d65746572733a0d0a
+202020202020202020202d206e616d653a20637573746f6d657249640d0a202020202020202020
+202020696e3a20706174680d0a202020202020202020202020747970653a20737472696e670d0a
+2020202020202020202020206465736372697074696f6e3a2027556e69717565206964656e7469
+66696572206f662074686520637573746f6d65722070726f66696c652c20776869636820776173
+2072657475726e656420696e20746865206f726967696e616c207472616e73616374696f6e2072
+6573706f6e73652e270d0a20202020202020202020202072657175697265643a20747275650d0a
+202020202020202020202d206e616d653a20637265617465437573746f6d657241646472657373
+0d0a202020202020202020202020696e3a20626f64790d0a202020202020202020202020646573
+6372697074696f6e3a20436f6e7461696e73206164647265737320696e666f726d6174696f6e2e
+0d0a20202020202020202020202072657175697265643a20747275650d0a202020202020202020
+202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f64656669
+6e6974696f6e732f437265617465437573746f6d657241646472657373270d0a20202020202020
+20726573706f6e7365733a0d0a2020202020202020202027323030273a0d0a2020202020202020
+202020206465736372697074696f6e3a204f4b0d0a202020202020202020202020736368656d61
+3a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f61
+646472657373270d0a202020202020202020202020782d6578616d706c653a207b7d0d0a202020
+2020202020202027343034273a0d0a2020202020202020202020206465736372697074696f6e3a
+2041646472657373206e6f7420637265617465640d0a202020202020202020202020736368656d
+613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f
+6572726f72526573706f6e7365270d0a2020202020202020202064656661756c743a0d0a202020
+2020202020202020206465736372697074696f6e3a20556e6578706563746564206572726f722e
+0d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020202472
+65663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a20202020
+20206765743a0d0a2020202020202020746167733a0d0a202020202020202020202d2063757374
+6f6d6572732d6164647265737365730d0a202020202020202073756d6d6172793a204765742041
+6c6c20437573746f6d6572204164647265737365730d0a20202020202020206465736372697074
+696f6e3a204765742061206c697374206f6620616c6c20616464726573736573206173736f6369
+617465642077697468206f6e6520637573746f6d65722070726f66696c652e0d0a202020202020
+20206f7065726174696f6e49643a20676574416c6c437573746f6d65724164647265737365730d
+0a202020202020202073656375726974793a0d0a202020202020202020202d206f617574683a0d
+0a20202020202020202020202020202d20726561640d0a202020202020202020202d2062617369
+633a205b5d0d0a2020202020202020706172616d65746572733a0d0a202020202020202020202d
+206e616d653a20637573746f6d657249640d0a202020202020202020202020696e3a2070617468
+0d0a202020202020202020202020747970653a20737472696e670d0a2020202020202020202020
+206465736372697074696f6e3a2027556e69717565206964656e746966696572206f6620746865
+20637573746f6d65722070726f66696c652c2066726f6d20746865206f726967696e616c207072
+6f66696c65206372656174696f6e20726573706f6e73652e270d0a202020202020202020202020
+72657175697265643a20747275650d0a202020202020202020202d206e616d653a206f66667365
+740d0a202020202020202020202020696e3a2071756572790d0a20202020202020202020202074
+7970653a20696e74656765720d0a20202020202020202020202072657175697265643a2066616c
+73650d0a2020202020202020202020206465736372697074696f6e3a2027546865206e756d6265
+72206f6620746865207061676520746f2072657475726e20726573756c74732066726f6d2e2046
+6f72206578616d706c652c206966206c696d69742069732073657420746f203130302c20616e64
+206f66667365742069732073657420746f20322c207468652066756e6374696f6e2077696c6c20
+72657475726e20313030207472616e73616374696f6e73207374617274696e6720776974682074
+6865207472616e73616374696f6e207468617420776f756c64206f746865727769736520626520
+746865207472616e73616374696f6e206e756d62657265642031303120696e2074686520726573
+756c74207365742e2041636365707465642076616c7565732061726520312d3130303030302e27
+0d0a202020202020202020202d206e616d653a206c696d69740d0a202020202020202020202020
+696e3a2071756572790d0a202020202020202020202020747970653a20696e74656765720d0a20
+202020202020202020202072657175697265643a2066616c73650d0a2020202020202020202020
+206465736372697074696f6e3a20546865206e756d626572206f66207472616e73616374696f6e
+732070657220706167652e2041636365707465642076616c7565732061726520312d313030302e
+0d0a202020202020202070726f64756365733a0d0a202020202020202020202d206170706c6963
+6174696f6e2f6a736f6e0d0a2020202020202020726573706f6e7365733a0d0a20202020202020
+20202027323030273a0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d
+0a202020202020202020202020736368656d613a0d0a2020202020202020202020202020247265
+663a2027232f646566696e6974696f6e732f61646472657373436f6c6c656374696f6e270d0a20
+2020202020202020202020782d6578616d706c653a207b7d0d0a20202020272f76312f63757374
+6f6d6572732f7b637573746f6d657249647d2f7061796d656e746d6574686f6473273a0d0a2020
+20202020706f73743a0d0a2020202020202020746167733a0d0a202020202020202020202d2063
+7573746f6d6572732d7061796d656e745f6d6574686f64730d0a202020202020202073756d6d61
+72793a204372656174652041205061796d656e74204d6574686f640d0a20202020202020206465
+736372697074696f6e3a2043726561746520616e64207061796d656e74206d6574686f64206173
+736f6369617465642077697468206120637573746f6d65722070726f66696c652e0d0a20202020
+202020206f7065726174696f6e49643a206372656174655061796d656e744d6574686f640d0a20
+20202020202020636f6e73756d65733a0d0a202020202020202020202d206170706c6963617469
+6f6e2f6a736f6e0d0a202020202020202070726f64756365733a0d0a202020202020202020202d
+206170706c69636174696f6e2f6a736f6e0d0a202020202020202073656375726974793a0d0a20
+2020202020202020202d206f617574683a0d0a20202020202020202020202020202d2077726974
+650d0a202020202020202020202d2062617369633a205b5d0d0a2020202020202020782d657861
+6d706c653a0d0a202020202020202020206372656174652d7061796d656e746d6574686f642d65
+78616d706c65313a0d0a20202020202020202020202073756d6d6172793a204372656174652050
+61796d656e74204d6574686f640d0a20202020202020202020202076616c75653a0d0a20202020
+2020202020202020202062696c6c546f3a0d0a2020202020202020202020202020202061646472
+657373313a203130204176652031302053742e0d0a202020202020202020202020202020206164
+6d696e697374726174697665417265613a2057410d0a2020202020202020202020202020202063
+6f6d70616e793a204e65740d0a20202020202020202020202020202020636f756e7472793a2055
+530d0a2020202020202020202020202020202066697273744e616d653a206a696d0d0a20202020
+2020202020202020202020206c6173744e616d653a2063617272790d0a20202020202020202020
+2020202020206c6f63616c6974793a205265646d6f6e640d0a2020202020202020202020202020
+202070686f6e654e756d6265723a203432352035353520363636360d0a20202020202020202020
+202020202020706f7374616c436f64653a20273938303532270d0a202020202020202020202020
+20207061796d656e74496e737472756d656e743a0d0a2020202020202020202020202020202063
+7265646974436172643a0d0a202020202020202020202020202020202020636172644e756d6265
+723a2027343158585858585858585858585858270d0a2020202020202020202020202020202020
+2065787069726174696f6e446174653a20323032302d31320d0a20202020202020202020637265
+6174652d7061796d656e746d6574686f642d6578616d706c65323a0d0a20202020202020202020
+202073756d6d6172793a2043726561746520616e642076616c6964617465205061796d656e7420
+4d6574686f640d0a20202020202020202020202076616c75653a0d0a2020202020202020202020
+20202062696c6c546f3a0d0a2020202020202020202020202020202061646472657373313a2031
+31204176652031312053742e0d0a2020202020202020202020202020202061646d696e69737472
+6174697665417265613a2057410d0a20202020202020202020202020202020636f6d70616e793a
+204e65740d0a20202020202020202020202020202020636f756e7472793a2055530d0a20202020
+20202020202020202020202066697273744e616d653a20656173740d0a20202020202020202020
+2020202020206c6173744e616d653a20776f6f640d0a202020202020202020202020202020206c
+6f63616c6974793a204b69726b6c616e640d0a2020202020202020202020202020202070686f6e
+654e756d6265723a203432352035353520363636360d0a20202020202020202020202020202020
+706f7374616c436f64653a20273938303037270d0a20202020202020202020202020207061796d
+656e74496e737472756d656e743a0d0a2020202020202020202020202020202063726564697443
+6172643a0d0a202020202020202020202020202020202020636172644e756d6265723a20273431
+58585858585858585858585858270d0a2020202020202020202020202020202020206578706972
+6174696f6e446174653a20323031392d31300d0a2020202020202020202020202020202076616c
+69646174653a202774727565270d0a2020202020202020706172616d65746572733a0d0a202020
+202020202020202d206e616d653a20637573746f6d657249640d0a202020202020202020202020
+696e3a20706174680d0a202020202020202020202020747970653a20737472696e670d0a202020
+2020202020202020206465736372697074696f6e3a2027556e69717565206964656e7469666965
+72206f662074686520637573746f6d65722070726f66696c652c2066726f6d20746865206f7269
+67696e616c2070726f66696c652d6372656174696f6e20726573706f6e73652e270d0a20202020
+202020202020202072657175697265643a20747275650d0a202020202020202020202d206e616d
+653a204372656174655061796d656e744d6574686f640d0a202020202020202020202020696e3a
+20626f64790d0a2020202020202020202020206465736372697074696f6e3a2054686973206f62
+6a65637420637265617465732061207061796d656e74206d6574686f64206173736f6369617465
+6420776974682061207061796d656e742070726f66696c652e0d0a202020202020202020202020
+72657175697265643a20747275650d0a202020202020202020202020736368656d613a0d0a2020
+202020202020202020202020247265663a2027232f646566696e6974696f6e732f437265617465
+5061796d656e744d6574686f64270d0a2020202020202020726573706f6e7365733a0d0a202020
+2020202020202027323030273a0d0a2020202020202020202020206465736372697074696f6e3a
+204f4b0d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020
+20247265663a2027232f646566696e6974696f6e732f7061796d656e744d6574686f64270d0a20
+2020202020202020202020782d6578616d706c653a207b7d0d0a20202020202020202020273430
+34273a0d0a2020202020202020202020206465736372697074696f6e3a205061796d656e744d65
+74686f64206e6f7420637265617465640d0a202020202020202020202020736368656d613a0d0a
+2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f
+72526573706f6e7365270d0a2020202020202020202064656661756c743a0d0a20202020202020
+20202020206465736372697074696f6e3a20556e6578706563746564206572726f722e0d0a2020
+20202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a20
+27232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a2020202020206765
+743a0d0a2020202020202020746167733a0d0a202020202020202020202d20637573746f6d6572
+732d7061796d656e745f6d6574686f64730d0a202020202020202073756d6d6172793a20476574
+20437573746f6d6572205061796d656e74204d6574686f64730d0a202020202020202064657363
+72697074696f6e3a204765742061206c697374206f66207061796d656e74206d6574686f647320
+6173736f6369617465642077697468206120637573746f6d65722070726f66696c652e0d0a2020
+2020202020206f7065726174696f6e49643a20676574437573746f6d65725061796d656e744d65
+74686f64730d0a202020202020202073656375726974793a0d0a202020202020202020202d206f
+617574683a0d0a20202020202020202020202020202d2077726974650d0a202020202020202020
+202d2062617369633a205b5d0d0a2020202020202020782d6578616d706c653a0d0a2020202020
+2020202020676574616c6c2d7061796d656e742d6d6574686f64732d6578616d706c65313a0d0a
+20202020202020202020202073756d6d6172793a2047657420416c6c205061796d656e74204d65
+74686f6473204578616d706c65310d0a20202020202020202020202076616c75653a0d0a202020
+202020202020202020202062696c6c546f3a0d0a20202020202020202020202020202020616464
+72657373313a203131204176652031302053742e0d0a2020202020202020202020202020202061
+646d696e697374726174697665417265613a2057410d0a20202020202020202020202020202020
+636f6d70616e793a204e65740d0a20202020202020202020202020202020636f756e7472793a20
+55530d0a2020202020202020202020202020202066697273744e616d653a206a696d0d0a202020
+202020202020202020202020206c6173744e616d653a2063617272790d0a202020202020202020
+202020202020206c6f63616c6974793a205265646d6f6e640d0a20202020202020202020202020
+20202070686f6e654e756d6265723a203432352d3535352d363636360d0a202020202020202020
+20202020202020706f7374616c436f64653a20273938303532270d0a2020202020202020202020
+2020207061796d656e743a0d0a2020202020202020202020202020202063726564697443617264
+3a0d0a202020202020202020202020202020202020636172644e756d6265723a20273431585858
+58585858585858585858270d0a2020202020202020202020202020202020206578706972617469
+6f6e446174653a20323032302d31320d0a2020202020202020202020202020202076616c696461
+74653a202774727565270d0a2020202020202020706172616d65746572733a0d0a202020202020
+202020202d206e616d653a20637573746f6d657249640d0a202020202020202020202020696e3a
+20706174680d0a202020202020202020202020747970653a20737472696e670d0a202020202020
+2020202020206465736372697074696f6e3a2027556e69717565206964656e746966696572206f
+662074686520637573746f6d65722070726f66696c652c2072657475726e656420696e20746865
+20726573706f6e736520746f207468652072657175657374207468617420637265617465642074
+68652070726f66696c652e270d0a20202020202020202020202072657175697265643a20747275
+650d0a202020202020202020202d206e616d653a206f66667365740d0a20202020202020202020
+2020696e3a2071756572790d0a202020202020202020202020747970653a20696e74656765720d
+0a20202020202020202020202072657175697265643a2066616c73650d0a202020202020202020
+2020206465736372697074696f6e3a2027546865206e756d626572206f66207468652070616765
+20746f2072657475726e20726573756c74732066726f6d2e20466f72206578616d706c652c2069
+66206c696d69742069732073657420746f203130302c20616e64206f6666736574206973207365
+7420746f20322c207468652066756e6374696f6e2077696c6c2072657475726e20313030207472
+616e73616374696f6e73207374617274696e67207769746820746865207472616e73616374696f
+6e207468617420776f756c64206f746865727769736520626520746865207472616e7361637469
+6f6e206e756d62657265642031303120696e2074686520726573756c74207365742e2041636365
+707465642076616c7565732061726520312d3130303030302e270d0a202020202020202020202d
+206e616d653a206c696d69740d0a202020202020202020202020696e3a2071756572790d0a2020
+20202020202020202020747970653a20696e74656765720d0a2020202020202020202020207265
+7175697265643a2066616c73650d0a2020202020202020202020206465736372697074696f6e3a
+20546865206e756d626572206f66207472616e73616374696f6e732070657220706167652e2041
+636365707465642076616c7565732061726520312d313030302e0d0a202020202020202070726f
+64756365733a0d0a202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a20
+20202020202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d0a2020
+202020202020202020206465736372697074696f6e3a204f4b0d0a202020202020202020202020
+736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974
+696f6e732f7061796d656e744d6574686f64436f6c6c656374696f6e270d0a2020202020202020
+20202020782d6578616d706c653a207b7d0d0a20202020272f76312f637573746f6d6572732f7b
+637573746f6d657249647d273a0d0a2020202020206765743a0d0a202020202020202074616773
+3a0d0a202020202020202020202d20637573746f6d6572732d637573746f6d6572730d0a202020
+202020202073756d6d6172793a20476574204120437573746f6d65720d0a202020202020202064
+65736372697074696f6e3a20476574207468652064657461696c73206f6620612073696e676c65
+20637573746f6d65722070726f66696c652e0d0a20202020202020206f7065726174696f6e4964
+3a20676574437573746f6d65720d0a202020202020202073656375726974793a0d0a2020202020
+20202020202d206f617574683a0d0a20202020202020202020202020202d20726561640d0a2020
+20202020202020202d2062617369633a205b5d0d0a202020202020202070726f64756365733a0d
+0a202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a2020202020202020
+706172616d65746572733a0d0a202020202020202020202d206e616d653a20637573746f6d6572
+49640d0a202020202020202020202020696e3a20706174680d0a20202020202020202020202074
+7970653a20737472696e670d0a2020202020202020202020206465736372697074696f6e3a2027
+556e69717565206964656e746966696572206f662074686520637573746f6d65722070726f6669
+6c652c2066726f6d20746865206f726967696e616c2070726f66696c652d6372656174696f6e20
+726573706f6e73652e270d0a20202020202020202020202072657175697265643a20747275650d
+0a2020202020202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d0a
+2020202020202020202020206465736372697074696f6e3a204f4b0d0a20202020202020202020
+2020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e
+6974696f6e732f437573746f6d6572270d0a202020202020202020202020782d6578616d706c65
+3a207b7d0d0a20202020202064656c6574653a0d0a2020202020202020746167733a0d0a202020
+202020202020202d20637573746f6d6572732d637573746f6d6572730d0a202020202020202073
+756d6d6172793a2044656c657465206120437573746f6d65722050726f66696c650d0a20202020
+202020206f7065726174696f6e49643a2044656c657465437573746f6d65720d0a202020202020
+20206465736372697074696f6e3a2044656c65746573206120637573746f6d65722070726f6669
+6c652e0d0a202020202020202073656375726974793a0d0a202020202020202020202d206f6175
+74683a0d0a20202020202020202020202020202d2077726974650d0a202020202020202020202d
+2062617369633a205b5d0d0a2020202020202020782d6578616d706c653a0d0a20202020202020
+20202064656c6574652d637573746f6d65722d6578616d706c65313a0d0a202020202020202020
+20202073756d6d6172793a2044656c65746520437573746f6d6572204578616d706c65310d0a20
+202020202020202020202076616c75653a0d0a2020202020202020202020202020646573637269
+7074696f6e3a2055706461746564205465737420437573746f6d65723130300d0a202020202020
+20202020202020206964656e7469666965723a0d0a20202020202020202020202020202020656d
+61696c3a2063757331303040617574686f72697a652e636f6d0d0a202020202020202020202020
+202020207265666572656e63653a20437573746f6d65723130300d0a2020202020202020706172
+616d65746572733a0d0a202020202020202020202d206e616d653a20637573746f6d657249640d
+0a202020202020202020202020696e3a20706174680d0a20202020202020202020202074797065
+3a20737472696e670d0a2020202020202020202020206465736372697074696f6e3a2027556e69
+717565206964656e746966696572206f662074686520637573746f6d65722070726f66696c652c
+2066726f6d20746865206f726967696e616c2070726f66696c652d6372656174696f6e20726573
+706f6e73652e270d0a20202020202020202020202072657175697265643a20747275650d0a2020
+20202020202070726f64756365733a0d0a202020202020202020202d206170706c69636174696f
+6e2f6a736f6e0d0a2020202020202020726573706f6e7365733a0d0a2020202020202020202027
+323030273a0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a202020
+202020202020202020782d6578616d706c653a207b7d0d0a2020202020207075743a0d0a202020
+2020202020746167733a0d0a202020202020202020202d20637573746f6d6572732d637573746f
+6d6572730d0a202020202020202073756d6d6172793a20557064617465204120437573746f6d65
+722050726f66696c650d0a20202020202020206465736372697074696f6e3a2055706461746573
+206120637573746f6d65722070726f66696c652e0d0a20202020202020206f7065726174696f6e
+49643a20557064617465437573746f6d65720d0a202020202020202073656375726974793a0d0a
+202020202020202020202d206f617574683a0d0a20202020202020202020202020202d20777269
+74650d0a202020202020202020202d2062617369633a205b5d0d0a2020202020202020782d6578
+616d706c653a0d0a202020202020202020207570646174652d637573746f6d65722d6578616d70
+6c65313a0d0a20202020202020202020202073756d6d6172793a2055706461746520437573746f
+6d65720d0a20202020202020202020202076616c75653a0d0a2020202020202020202020202020
+6465736372697074696f6e3a2055706461746564205465737420437573746f6d65723130300d0a
+20202020202020202020202020206964656e7469666965723a0d0a202020202020202020202020
+20202020656d61696c3a2063757331303040617574686f72697a652e636f6d0d0a202020202020
+202020202020202020207265666572656e63653a20437573746f6d65723130300d0a2020202020
+202020636f6e73756d65733a0d0a202020202020202020202d206170706c69636174696f6e2f6a
+736f6e0d0a202020202020202070726f64756365733a0d0a202020202020202020202d20617070
+6c69636174696f6e2f6a736f6e0d0a2020202020202020706172616d65746572733a0d0a202020
+202020202020202d206e616d653a20637573746f6d657249640d0a202020202020202020202020
+696e3a20706174680d0a202020202020202020202020747970653a20737472696e670d0a202020
+2020202020202020206465736372697074696f6e3a2027556e69717565206964656e7469666965
+72206f662074686520637573746f6d65722070726f66696c652c2066726f6d20746865206f7269
+67696e616c2070726f66696c652d6372656174696f6e20726573706f6e73652e270d0a20202020
+202020202020202072657175697265643a20747275650d0a202020202020202020202d206e616d
+653a20437265617465437573746f6d6572416e645061796d656e744d6574686f640d0a20202020
+2020202020202020696e3a20626f64790d0a202020202020202020202020646573637269707469
+6f6e3a20436f6e7461696e7320746865207570646174656420696e666f726d6174696f6e2e0d0a
+20202020202020202020202072657175697265643a20747275650d0a2020202020202020202020
+20736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e69
+74696f6e732f437265617465437573746f6d6572416e645061796d656e744d6574686f64270d0a
+2020202020202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d0a20
+20202020202020202020206465736372697074696f6e3a204f4b0d0a2020202020202020202020
+20736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e69
+74696f6e732f437573746f6d6572270d0a202020202020202020202020782d6578616d706c653a
+207b7d0d0a2020202020202020202027343034273a0d0a20202020202020202020202064657363
+72697074696f6e3a20437573746f6d6572206e6f7420757064617465640d0a2020202020202020
+20202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566
+696e6974696f6e732f6572726f72526573706f6e7365270d0a2020202020202020202064656661
+756c743a0d0a2020202020202020202020206465736372697074696f6e3a20556e657870656374
+6564206572726f722e0d0a202020202020202020202020736368656d613a0d0a20202020202020
+20202020202020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e
+7365270d0a20202020272f76312f637573746f6d6572732f7b637573746f6d657249647d2f6164
+647265737365732f7b6164647265737349647d273a0d0a2020202020206765743a0d0a20202020
+20202020746167733a0d0a202020202020202020202d20637573746f6d6572732d616464726573
+7365730d0a202020202020202073756d6d6172793a20476574204120437573746f6d6572204164
+64726573730d0a20202020202020206465736372697074696f6e3a20476574206120637573746f
+6d657220616464726573732e0d0a20202020202020206f7065726174696f6e49643a2067657443
+7573746f6d6572416464726573730d0a202020202020202073656375726974793a0d0a20202020
+2020202020202d206f617574683a0d0a20202020202020202020202020202d20726561640d0a20
+2020202020202020202d2062617369633a205b5d0d0a2020202020202020706172616d65746572
+733a0d0a202020202020202020202d206e616d653a20637573746f6d657249640d0a2020202020
+20202020202020696e3a20706174680d0a202020202020202020202020747970653a2073747269
+6e670d0a2020202020202020202020206465736372697074696f6e3a20556e6971756520696465
+6e746966696572206f662074686520637573746f6d65722070726f66696c652e0d0a2020202020
+2020202020202072657175697265643a20747275650d0a202020202020202020202d206e616d65
+3a206164647265737349640d0a202020202020202020202020696e3a20706174680d0a20202020
+2020202020202020747970653a20737472696e670d0a2020202020202020202020206465736372
+697074696f6e3a20556e69717565206964656e746966696572206f662074686520616464726573
+732e0d0a20202020202020202020202072657175697265643a20747275650d0a20202020202020
+2070726f64756365733a0d0a202020202020202020202d206170706c69636174696f6e2f6a736f
+6e0d0a2020202020202020726573706f6e7365733a0d0a2020202020202020202027323030273a
+0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a2020202020202020
+20202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566
+696e6974696f6e732f61646472657373270d0a202020202020202020202020782d6578616d706c
+653a207b7d0d0a20202020202064656c6574653a0d0a2020202020202020746167733a0d0a2020
+20202020202020202d20637573746f6d6572732d6164647265737365730d0a2020202020202020
+73756d6d6172793a2044656c657465206120437573746f6d657220416464726573730d0a202020
+20202020206f7065726174696f6e49643a2044656c657465416464726573730d0a202020202020
+20206465736372697074696f6e3a2044656c6574657320616e2061646472657373206173736f63
+69617465642077697468206120637573746f6d65722070726f66696c652e0d0a20202020202020
+2073656375726974793a0d0a202020202020202020202d206f617574683a0d0a20202020202020
+202020202020202d2077726974650d0a202020202020202020202d2062617369633a205b5d0d0a
+2020202020202020782d6578616d706c653a0d0a2020202020202020202064656c6574652d6375
+73746f6d65722d616464726573732d6578616d706c65313a0d0a20202020202020202020202073
+756d6d6172793a2044656c65746520437573746f6d657220416464726573730d0a202020202020
+20202020202076616c75653a0d0a202020202020202020202020202061646472657373313a2031
+30204176652031302053742e0d0a202020202020202020202020202061646d696e697374726174
+697665417265613a2057410d0a2020202020202020202020202020636f6d70616e793a204e6574
+0d0a2020202020202020202020202020636f756e7472793a2055530d0a20202020202020202020
+2020202066697273744e616d653a206a696d0d0a20202020202020202020202020206c6173744e
+616d653a2063617272790d0a20202020202020202020202020206c6f63616c6974793a20526564
+6d6f6e640d0a202020202020202020202020202070686f6e654e756d6265723a20343235203535
+3520363636360d0a2020202020202020202020202020706f7374616c436f64653a202739383035
+32270d0a2020202020202020706172616d65746572733a0d0a202020202020202020202d206e61
+6d653a20637573746f6d657249640d0a202020202020202020202020696e3a20706174680d0a20
+2020202020202020202020747970653a20737472696e670d0a2020202020202020202020206465
+736372697074696f6e3a20556e69717565206964656e746966696572206f662074686520637573
+746f6d65722070726f66696c652e0d0a20202020202020202020202072657175697265643a2074
+7275650d0a202020202020202020202d206e616d653a206164647265737349640d0a2020202020
+20202020202020696e3a20706174680d0a202020202020202020202020747970653a2073747269
+6e670d0a2020202020202020202020206465736372697074696f6e3a20556e6971756520696465
+6e746966696572206f662074686520616464726573732e0d0a2020202020202020202020207265
+7175697265643a20747275650d0a202020202020202070726f64756365733a0d0a202020202020
+202020202d206170706c69636174696f6e2f6a736f6e0d0a2020202020202020726573706f6e73
+65733a0d0a2020202020202020202027323030273a0d0a20202020202020202020202064657363
+72697074696f6e3a204f4b0d0a202020202020202020202020782d6578616d706c653a207b7d0d
+0a2020202020207075743a0d0a2020202020202020746167733a0d0a202020202020202020202d
+20637573746f6d6572732d6164647265737365730d0a202020202020202073756d6d6172793a20
+557064617465204120437573746f6d657220416464726573730d0a202020202020202064657363
+72697074696f6e3a2055706461746520616e2061646472657373206173736f6369617465642077
+697468206120637573746f6d65722070726f66696c652e0d0a20202020202020206f7065726174
+696f6e49643a20757064617465437573746f6d6572416464726573730d0a202020202020202073
+656375726974793a0d0a202020202020202020202d206f617574683a0d0a202020202020202020
+20202020202d2077726974650d0a202020202020202020202d2062617369633a205b5d0d0a2020
+202020202020782d6578616d706c653a0d0a202020202020202020207570646174652d63757374
+6f6d65722d616464726573732d6578616d706c65313a0d0a20202020202020202020202073756d
+6d6172793a2055706461746520437573746f6d657220416464726573730d0a2020202020202020
+2020202076616c75653a0d0a202020202020202020202020202061646472657373313a20313120
+4176652031302053742e0d0a202020202020202020202020202061646d696e6973747261746976
+65417265613a2057410d0a2020202020202020202020202020636f6d70616e793a204e65740d0a
+2020202020202020202020202020636f756e7472793a2055530d0a202020202020202020202020
+202066697273744e616d653a206a696d0d0a20202020202020202020202020206c6173744e616d
+653a2063617272790d0a20202020202020202020202020206c6f63616c6974793a205265646d6f
+6e640d0a202020202020202020202020202070686f6e654e756d6265723a203432352035353520
+363636360d0a2020202020202020202020202020706f7374616c436f64653a2027393830353227
+0d0a2020202020202020636f6e73756d65733a0d0a202020202020202020202d206170706c6963
+6174696f6e2f6a736f6e0d0a202020202020202070726f64756365733a0d0a2020202020202020
+20202d206170706c69636174696f6e2f6a736f6e0d0a2020202020202020706172616d65746572
+733a0d0a202020202020202020202d206e616d653a20637573746f6d657249640d0a2020202020
+20202020202020696e3a20706174680d0a202020202020202020202020747970653a2073747269
+6e670d0a2020202020202020202020206465736372697074696f6e3a20556e6971756520696465
+6e746966696572206f662074686520637573746f6d65722070726f66696c652e0d0a2020202020
+2020202020202072657175697265643a20747275650d0a202020202020202020202d206e616d65
+3a206164647265737349640d0a202020202020202020202020696e3a20706174680d0a20202020
+2020202020202020747970653a20737472696e670d0a2020202020202020202020206465736372
+697074696f6e3a20556e69717565206964656e746966696572206f662074686520616464726573
+732e0d0a20202020202020202020202072657175697265643a20747275650d0a20202020202020
+2020202d206e616d653a20637265617465437573746f6d6572416464726573730d0a2020202020
+20202020202020696e3a20626f64790d0a2020202020202020202020206465736372697074696f
+6e3a20436f6e7461696e7320746865206164647265737320696e666f726d6174696f6e2e0d0a20
+202020202020202020202072657175697265643a20747275650d0a202020202020202020202020
+736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974
+696f6e732f437265617465437573746f6d657241646472657373270d0a20202020202020207265
+73706f6e7365733a0d0a2020202020202020202027323030273a0d0a2020202020202020202020
+206465736372697074696f6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a
+2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f61646472
+657373270d0a202020202020202020202020782d6578616d706c653a207b7d0d0a202020202020
+2020202027343034273a0d0a2020202020202020202020206465736372697074696f6e3a204164
+6472657373206e6f7420757064617465640d0a202020202020202020202020736368656d613a0d
+0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f657272
+6f72526573706f6e7365270d0a2020202020202020202064656661756c743a0d0a202020202020
+2020202020206465736372697074696f6e3a20556e6578706563746564206572726f722e0d0a20
+2020202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a
+2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a20202020272f76
+312f637573746f6d6572732f7b637573746f6d657249647d2f7061796d656e746d6574686f6473
+2f7b7061796d656e744d6574686f6449647d273a0d0a2020202020206765743a0d0a2020202020
+202020746167733a0d0a202020202020202020202d20637573746f6d6572732d7061796d656e74
+5f6d6574686f64730d0a202020202020202073756d6d6172793a20476574206120437573746f6d
+6572205061796d656e74204d6574686f640d0a20202020202020206465736372697074696f6e3a
+2047657420746865207061796d656e74206d6574686f6420666f7220612073696e6c6765206375
+73746f6d65722070726f66696c652e0d0a20202020202020206f7065726174696f6e49643a2067
+6574437573746f6d65725061796d656e744d6574686f640d0a2020202020202020736563757269
+74793a0d0a202020202020202020202d206f617574683a0d0a2020202020202020202020202020
+2d20726561640d0a202020202020202020202d2062617369633a205b5d0d0a2020202020202020
+782d6578616d706c653a0d0a202020202020202020206765742d637573746f6d65722d7061796d
+656e746d6574686f642d6578616d706c65313a0d0a20202020202020202020202073756d6d6172
+793a2047657420437573746f6d6572205061796d656e74204d6574686f64204578616d706c6531
+0d0a20202020202020202020202076616c75653a0d0a202020202020202020202020202062696c
+6c546f3a0d0a2020202020202020202020202020202061646472657373313a2031312041766520
+31302053742e0d0a2020202020202020202020202020202061646d696e69737472617469766541
+7265613a2057410d0a20202020202020202020202020202020636f6d70616e793a204e65740d0a
+20202020202020202020202020202020636f756e7472793a2055530d0a20202020202020202020
+20202020202066697273744e616d653a206a696d0d0a202020202020202020202020202020206c
+6173744e616d653a2063617272790d0a202020202020202020202020202020206c6f63616c6974
+793a205265646d6f6e640d0a2020202020202020202020202020202070686f6e654e756d626572
+3a203432352035353520363636360d0a20202020202020202020202020202020706f7374616c43
+6f64653a20273938303532270d0a20202020202020202020202020207061796d656e743a0d0a20
+202020202020202020202020202020637265646974436172643a0d0a2020202020202020202020
+20202020202020636172644e756d6265723a2027343158585858585858585858585858270d0a20
+202020202020202020202020202020202065787069726174696f6e446174653a20323032302d31
+320d0a2020202020202020202020202020202076616c69646174653a202774727565270d0a2020
+202020202020706172616d65746572733a0d0a202020202020202020202d206e616d653a206375
+73746f6d657249640d0a202020202020202020202020696e3a20706174680d0a20202020202020
+2020202020747970653a20737472696e670d0a2020202020202020202020206465736372697074
+696f6e3a20556e69717565206964656e746966696572206f662074686520637573746f6d657220
+70726f66696c652e0d0a20202020202020202020202072657175697265643a20747275650d0a20
+2020202020202020202d206e616d653a207061796d656e744d6574686f6449640d0a2020202020
+20202020202020696e3a20706174680d0a202020202020202020202020747970653a2073747269
+6e670d0a2020202020202020202020206465736372697074696f6e3a20556e6971756520696465
+6e746966696572206f6620746865207061796d656e74206d6574686f642e0d0a20202020202020
+202020202072657175697265643a20747275650d0a202020202020202070726f64756365733a0d
+0a202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a2020202020202020
+726573706f6e7365733a0d0a2020202020202020202027323030273a0d0a202020202020202020
+2020206465736372697074696f6e3a204f4b0d0a202020202020202020202020736368656d613a
+0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f7061
+796d656e744d6574686f64270d0a202020202020202020202020782d6578616d706c653a207b7d
+0d0a20202020202064656c6574653a0d0a2020202020202020746167733a0d0a20202020202020
+2020202d20637573746f6d6572732d7061796d656e745f6d6574686f64730d0a20202020202020
+2073756d6d6172793a2044656c657465206120437573746f6d6572205061796d656e74204d6574
+686f640d0a20202020202020206f7065726174696f6e49643a2044656c6574655061796d656e74
+6d6574686f640d0a20202020202020206465736372697074696f6e3a2044656c65746573206120
+7061796d656e74206d6574686f642066726f6d2061207061796d656e742070726f66696c652e0d
+0a202020202020202073656375726974793a0d0a202020202020202020202d206f617574683a0d
+0a20202020202020202020202020202d2077726974650d0a202020202020202020202d20626173
+69633a205b5d0d0a2020202020202020706172616d65746572733a0d0a20202020202020202020
+2d206e616d653a20637573746f6d657249640d0a202020202020202020202020696e3a20706174
+680d0a202020202020202020202020747970653a20737472696e670d0a20202020202020202020
+20206465736372697074696f6e3a20556e69717565206964656e746966696572206f6620746865
+20637573746f6d65722070726f66696c652e0d0a20202020202020202020202072657175697265
+643a20747275650d0a202020202020202020202d206e616d653a207061796d656e744d6574686f
+6449640d0a202020202020202020202020696e3a20706174680d0a202020202020202020202020
+747970653a20737472696e670d0a2020202020202020202020206465736372697074696f6e3a20
+556e69717565206964656e746966696572206f6620746865207061796d656e74206d6574686f64
+2e0d0a20202020202020202020202072657175697265643a20747275650d0a2020202020202020
+70726f64756365733a0d0a202020202020202020202d206170706c69636174696f6e2f6a736f6e
+0d0a2020202020202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d
+0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a202020202020202020
+202020782d6578616d706c653a207b7d0d0a2020202020207075743a0d0a202020202020202074
+6167733a0d0a202020202020202020202d20637573746f6d6572732d7061796d656e745f6d6574
+686f64730d0a202020202020202073756d6d6172793a20557064617465206120437573746f6d65
+72205061796d656e74204d6574686f640d0a20202020202020206465736372697074696f6e3a20
+5570646174652061207061796d656e74206d6574686f64206173736f6369617465642077697468
+2061207061796d656e742070726f66696c652e0d0a20202020202020206f7065726174696f6e49
+643a205570646174655061796d656e744d6574686f640d0a202020202020202073656375726974
+793a0d0a202020202020202020202d206f617574683a0d0a20202020202020202020202020202d
+2077726974650d0a202020202020202020202d2062617369633a205b5d0d0a2020202020202020
+636f6e73756d65733a0d0a202020202020202020202d206170706c69636174696f6e2f6a736f6e
+0d0a202020202020202070726f64756365733a0d0a202020202020202020202d206170706c6963
+6174696f6e2f6a736f6e0d0a2020202020202020706172616d65746572733a0d0a202020202020
+202020202d206e616d653a20637573746f6d657249640d0a202020202020202020202020696e3a
+20706174680d0a202020202020202020202020747970653a20737472696e670d0a202020202020
+2020202020206465736372697074696f6e3a20556e69717565206964656e746966696572206f66
+2074686520637573746f6d65722070726f66696c652e0d0a202020202020202020202020726571
+75697265643a20747275650d0a202020202020202020202d206e616d653a207061796d656e744d
+6574686f6449640d0a202020202020202020202020696e3a20706174680d0a2020202020202020
+20202020747970653a20737472696e670d0a202020202020202020202020646573637269707469
+6f6e3a20556e69717565206964656e746966696572206f6620746865207061796d656e74206d65
+74686f642e0d0a20202020202020202020202072657175697265643a20747275650d0a20202020
+2020202020202d206e616d653a206372656174655061796d656e744d6574686f640d0a20202020
+2020202020202020696e3a20626f64790d0a202020202020202020202020646573637269707469
+6f6e3a20436f6e7461696e73207468652075706461746564207061796d656e74206d6574686f64
+20696e666f726d6174696f6e2e0d0a20202020202020202020202072657175697265643a207472
+75650d0a202020202020202020202020736368656d613a0d0a2020202020202020202020202020
+247265663a2027232f646566696e6974696f6e732f4372656174655061796d656e744d6574686f
+64270d0a2020202020202020726573706f6e7365733a0d0a202020202020202020202732303027
+3a0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a20202020202020
+2020202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f6465
+66696e6974696f6e732f7061796d656e744d6574686f64270d0a20202020202020202020202078
+2d6578616d706c653a207b7d0d0a2020202020202020202027343034273a0d0a20202020202020
+20202020206465736372697074696f6e3a205061796d656e74204d6574686f64206e6f74207570
+64617465640d0a202020202020202020202020736368656d613a0d0a2020202020202020202020
+202020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d
+0a2020202020202020202064656661756c743a0d0a202020202020202020202020646573637269
+7074696f6e3a20556e6578706563746564206572726f722e0d0a20202020202020202020202073
+6368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e697469
+6f6e732f6572726f72526573706f6e7365270d0a202020202f76312f7061796d656e74732f3a0d
+0a2020202020206765743a0d0a2020202020202020746167733a0d0a202020202020202020202d
+207061796d656e74732d7061796d656e74730d0a202020202020202073756d6d6172793a204765
+742061204c697374206f66205061796d656e74730d0a2020202020202020646573637269707469
+6f6e3a204765742061206c697374206f66207061796d656e74207472616e73616374696f6e732e
+0d0a20202020202020206f7065726174696f6e49643a2047657420616c6c205061796d656e7473
+5f0d0a202020202020202070726f64756365733a0d0a202020202020202020202d206170706c69
+636174696f6e2f6a736f6e0d0a202020202020202073656375726974793a0d0a20202020202020
+2020202d206f617574683a0d0a20202020202020202020202020202d20726561640d0a20202020
+2020202020202d2062617369633a205b5d0d0a2020202020202020706172616d65746572733a0d
+0a202020202020202020202d206e616d653a206f66667365740d0a202020202020202020202020
+696e3a2071756572790d0a202020202020202020202020747970653a20696e74656765720d0a20
+202020202020202020202072657175697265643a2066616c73650d0a2020202020202020202020
+206465736372697074696f6e3a2027312d3130303030302e20546865206e756d626572206f6620
+746865207061676520746f2072657475726e20726573756c74732066726f6d2e20466f72206578
+616d706c652c206966206c696d69742069732073657420746f203130302c20616e64206f666673
+65742069732073657420746f20322c207468652066756e6374696f6e2077696c6c207265747572
+6e20313030207472616e73616374696f6e73207374617274696e67207769746820746865207472
+616e73616374696f6e207468617420776f756c64206f7468657277697365206265207468652074
+72616e73616374696f6e206e756d62657265642031303120696e2074686520726573756c742073
+65742e270d0a202020202020202020202d206e616d653a206c696d69740d0a2020202020202020
+20202020696e3a2071756572790d0a202020202020202020202020747970653a20696e74656765
+720d0a20202020202020202020202072657175697265643a2066616c73650d0a20202020202020
+20202020206465736372697074696f6e3a20312d313030302e20546865206e756d626572206f66
+207472616e73616374696f6e732070657220706167652e0d0a202020202020202020202d206e61
+6d653a20626174636849640d0a202020202020202020202020696e3a2071756572790d0a202020
+202020202020202020747970653a20737472696e670d0a20202020202020202020202072657175
+697265643a2066616c73650d0a202020202020202020202d206e616d653a20637573746f6d6572
+49640d0a202020202020202020202020696e3a2071756572790d0a202020202020202020202020
+747970653a20737472696e670d0a20202020202020202020202072657175697265643a2066616c
+73650d0a202020202020202020202d206e616d653a20756e736574746c65640d0a202020202020
+202020202020696e3a2071756572790d0a202020202020202020202020747970653a20626f6f6c
+65616e0d0a20202020202020202020202072657175697265643a2066616c73650d0a2020202020
+202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d0a202020202020
+2020202020206465736372697074696f6e3a204f4b0d0a20202020202020202020202073636865
+6d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e73
+2f7061796d656e74436f6c6c656374696f6e270d0a202020202020202020202020782d6578616d
+706c653a0d0a20202020202020202020202020206765742d7061796d656e742d6578616d706c65
+313a0d0a2020202020202020202020202020202073756d6d6172793a2047657420416c6c207061
+796d656e74730d0a2020202020202020202020202020202076616c75653a0d0a20202020202020
+20202020202020202020205f6c696e6b3a0d0a2020202020202020202020202020202020202020
+73656c663a0d0a20202020202020202020202020202020202020202020687265663a202f726573
+742f76312f7061796d656e74733f6f66667365743d30266c696d69743d320d0a20202020202020
+2020202020202020202020202020206d6574686f643a204745540d0a2020202020202020202020
+2020202020202020206e6578743a0d0a2020202020202020202020202020202020202020202068
+7265663a202f726573742f76312f7061796d656e74733f6f66667365743d32266c696d69743d32
+0d0a202020202020202020202020202020202020202020206d6574686f643a204745540d0a2020
+202020202020202020202020202020205f656d6265646465643a0d0a2020202020202020202020
+2020202020202020207061796d656e74733a0d0a20202020202020202020202020202020202020
+2020202d2069643a202732313531303935373135270d0a20202020202020202020202020202020
+20202020202020207375626d697454696d655554433a2027303030312d30312d30315430303a30
+303a30305a270d0a2020202020202020202020202020202020202020202020207374617475733a
+20534554544c45440d0a2020202020202020202020202020202020202020202020205f6c696e6b
+733a0d0a202020202020202020202020202020202020202020202020202073656c663a0d0a2020
+2020202020202020202020202020202020202020202020202020687265663a202f726573742f76
+312f7061796d656e74732f323135313039353731350d0a20202020202020202020202020202020
+2020202020202020202020206d6574686f643a204745540d0a2020202020202020202020202020
+20202020202020202d2069643a202732313438373033393234270d0a2020202020202020202020
+202020202020202020202020207375626d697454696d655554433a2027323031322d31322d3239
+5430343a31393a33345a270d0a2020202020202020202020202020202020202020202020207374
+617475733a20534554544c45440d0a202020202020202020202020202020202020202020202020
+5f6c696e6b733a0d0a202020202020202020202020202020202020202020202020202073656c66
+3a0d0a20202020202020202020202020202020202020202020202020202020687265663a202f72
+6573742f76312f7061796d656e74732f323134383730333932340d0a2020202020202020202020
+20202020202020202020202020202020206d6574686f643a204745540d0a202020202020202020
+202020202020202020746f74616c5472616e73616374696f6e733a203132363438300d0a202020
+202020706f73743a0d0a2020202020202020746167733a0d0a202020202020202020202d207061
+796d656e74732d7061796d656e74730d0a202020202020202073756d6d6172793a204372656174
+652061205061796d656e74205472616e73616374696f6e0d0a2020202020202020646573637269
+7074696f6e3a20274372656174652061207061796d656e74207472616e73616374696f6e2e2042
+792064656661756c742c2074686973206f7065726174696f6e202a2a617574686f72697a657320
+616e642063617074757265732a2a20746865207472616e73616374696f6e2e20546f206f6e6c79
+202a2a617574686f72697a652a2a2069742c2073657420607061796d656e74526571756573742e
+70726f63657373696e67496e666f726d6174696f6e2e636170747572656020746f206066616c73
+65602e270d0a20202020202020206f7065726174696f6e49643a206372656174655061796d656e
+740d0a202020202020202073656375726974793a0d0a202020202020202020202d206f61757468
+3a0d0a20202020202020202020202020202d2077726974650d0a202020202020202020202d2062
+617369633a205b5d0d0a2020202020202020782d6578616d706c653a0d0a202020202020202020
+206372656174652d7061796d656e742d6578616d706c65313a0d0a202020202020202020202020
+73756d6d6172793a20436861726765207573696e672043726564697420436172640d0a20202020
+202020202020202076616c75653a0d0a2020202020202020202020202020636c69656e74526566
+6572656e6365496e666f726d6174696f6e3a0d0a20202020202020202020202020202020636f64
+653a2043343435340d0a202020202020202020202020202070726f63657373696e67496e666f72
+6d6174696f6e3a0d0a20202020202020202020202020202020636170747572653a20747275650d
+0a202020202020202020202020202020207061796d656e74536f6c7574696f6e3a205053310d0a
+20202020202020202020202020202020726563757272696e6742696c6c696e673a2066616c7365
+0d0a20202020202020202020202020207061796d656e74496e666f726d6174696f6e3a0d0a2020
+2020202020202020202020202020636172643a0d0a202020202020202020202020202020202020
+6e756d6265723a2027343158585858585858585858585858270d0a202020202020202020202020
+20202020202065787069726174696f6e4d6f6e74683a20273132270d0a20202020202020202020
+202020202020202065787069726174696f6e596561723a202732303139270d0a20202020202020
+2020202020202020202020747970653a20566973610d0a20202020202020202020202020202020
+20207365637572697479436f64653a2027313233270d0a20202020202020202020202020206f72
+646572496e666f726d6174696f6e3a0d0a20202020202020202020202020202020616d6f756e74
+44657461696c733a0d0a202020202020202020202020202020202020746f74616c416d6f756e74
+3a202731342e3335270d0a20202020202020202020202020202020202063757272656e63793a20
+5553440d0a20202020202020202020202020202020202064757479416d6f756e743a2027302e30
+31270d0a202020202020202020202020202020202020746178416d6f756e743a2027302e303227
+0d0a20202020202020202020202020202020202066726569676874416d6f756e743a2027302e30
+33270d0a2020202020202020202020202020202062696c6c546f3a0d0a20202020202020202020
+202020202020202061646472657373313a20313233204d61696e2053740d0a2020202020202020
+2020202020202020202061646d696e697374726174697665417265613a204c6568690d0a202020
+202020202020202020202020202020636f6d70616e793a204d61696e20436f6d70616e790d0a20
+2020202020202020202020202020202020636f756e7472793a205553410d0a2020202020202020
+2020202020202020202066697273744e616d653a20456d696c790d0a2020202020202020202020
+202020202020206c6173744e616d653a20506f727465720d0a2020202020202020202020202020
+202020206c6f63616c6974793a204c6f63616c6974790d0a202020202020202020202020202020
+20202070686f6e654e756d6265723a203637332d3233342d333435340d0a202020202020202020
+202020202020202020706f7374616c436f64653a20273531303431270d0a202020202020202020
+2020202020202073686970546f3a0d0a2020202020202020202020202020202020206164647265
+7373313a20313233204c6974746c652053740d0a20202020202020202020202020202020202061
+646d696e697374726174697665417265613a204b616e7361730d0a202020202020202020202020
+202020202020636f6d70616e793a204d61696e20436f6d70616e790d0a20202020202020202020
+2020202020202020636f756e7472793a205553410d0a2020202020202020202020202020202020
+2066697273744e616d653a20456d696c790d0a2020202020202020202020202020202020206c61
+73744e616d653a20536d6974680d0a2020202020202020202020202020202020206c6f63616c69
+74793a20506f727465720d0a20202020202020202020202020202020202070686f6e654e756d62
+65723a203637332d3233342d333435340d0a202020202020202020202020202020202020706f73
+74616c436f64653a20273531303431270d0a202020202020202020202020202020206c696e6549
+74656d733a0d0a2020202020202020202020202020202020202d2070726f64756374436f64653a
+2050436f64650d0a202020202020202020202020202020202020202070726f647563744e616d65
+3a20436f666665650d0a20202020202020202020202020202020202020207175616e746974793a
+20310d0a2020202020202020202020202020202020202020756e697450726963653a2027302e33
+30270d0a20202020202020202020202020202020696e766f69636544657461696c733a0d0a2020
+2020202020202020202020202020202070757263686173654f726465724e756d6265723a20504f
+2d3435363337380d0a20202020202020202020202020202020202074617861626c653a2066616c
+73650d0a202020202020202020202020202020206465736372697074696f6e3a204f6666696365
+20476f6f647320496e766f6963650d0a202020202020202020206372656174652d7061796d656e
+742d6578616d706c65323a0d0a20202020202020202020202073756d6d6172793a20417574686f
+72697a65205573696e672043726564697420436172640d0a20202020202020202020202076616c
+75653a0d0a2020202020202020202020202020636c69656e745265666572656e6365496e666f72
+6d6174696f6e3a0d0a20202020202020202020202020202020636f64653a202731323334270d0a
+202020202020202020202020202070726f63657373696e67496e666f726d6174696f6e3a0d0a20
+202020202020202020202020202020636170747572653a2066616c73650d0a2020202020202020
+20202020202020207061796d656e74536f6c7574696f6e3a20737472696e670d0a202020202020
+20202020202020202020726563757272696e6742696c6c696e673a2066616c73650d0a20202020
+202020202020202020207061796d656e74496e666f726d6174696f6e3a0d0a2020202020202020
+2020202020202020636172643a0d0a2020202020202020202020202020202020206e756d626572
+3a2027343158585858585858585858585858270d0a202020202020202020202020202020202020
+65787069726174696f6e4d6f6e74683a20273132270d0a20202020202020202020202020202020
+202065787069726174696f6e596561723a202732303232270d0a20202020202020202020202020
+2020202020747970653a20566973610d0a20202020202020202020202020202020202073656375
+72697479436f64653a2027313233270d0a2020202020202020202020202020202076616c696461
+74653a20747275650d0a20202020202020202020202020206f72646572496e666f726d6174696f
+6e3a0d0a20202020202020202020202020202020616d6f756e7444657461696c733a0d0a202020
+202020202020202020202020202020746f74616c416d6f756e743a202731312e3335270d0a2020
+2020202020202020202020202020202063757272656e63793a205553440d0a2020202020202020
+2020202020202020202064757479416d6f756e743a2027302e3031270d0a202020202020202020
+202020202020202020746178416d6f756e743a2027302e3032270d0a2020202020202020202020
+2020202020202066726569676874416d6f756e743a2027302e3033270d0a202020202020202020
+2020202020202062696c6c546f3a0d0a2020202020202020202020202020202020206164647265
+7373313a20313233204d61696e2053740d0a20202020202020202020202020202020202061646d
+696e697374726174697665417265613a204c6568690d0a20202020202020202020202020202020
+2020636f6d70616e793a204d61696e20436f6d70616e790d0a2020202020202020202020202020
+20202020636f756e7472793a205553410d0a202020202020202020202020202020202020666972
+73744e616d653a204a6f686e0d0a2020202020202020202020202020202020206c6173744e616d
+653a20536d6974680d0a2020202020202020202020202020202020206c6f63616c6974793a204c
+6f63616c6974790d0a20202020202020202020202020202020202070686f6e654e756d6265723a
+203132332d3233342d333435340d0a202020202020202020202020202020202020706f7374616c
+436f64653a20273738303435270d0a2020202020202020202020202020202073686970546f3a0d
+0a20202020202020202020202020202020202061646472657373313a20313233204d61696e2053
+740d0a20202020202020202020202020202020202061646d696e69737472617469766541726561
+3a204c6568690d0a202020202020202020202020202020202020636f6d70616e793a204d61696e
+20436f6d70616e790d0a202020202020202020202020202020202020636f756e7472793a205553
+410d0a20202020202020202020202020202020202066697273744e616d653a204a6f686e0d0a20
+20202020202020202020202020202020206c6173744e616d653a20536d6974680d0a2020202020
+202020202020202020202020206c6f63616c6974793a204c6f63616c6974790d0a202020202020
+20202020202020202020202070686f6e654e756d6265723a203132332d3233342d333435340d0a
+202020202020202020202020202020202020706f7374616c436f64653a20273738303435270d0a
+202020202020202020202020202020206c696e654974656d733a0d0a2020202020202020202020
+202020202020202d2070726f64756374436f64653a2050436f6465310d0a202020202020202020
+202020202020202020202070726f647563744e616d653a20477265656e204b6579636861696e73
+0d0a20202020202020202020202020202020202020207175616e746974793a20310d0a20202020
+20202020202020202020202020202020756e697450726963653a2027302e3330270d0a20202020
+202020202020202020202020696e766f69636544657461696c733a0d0a20202020202020202020
+202020202020202070757263686173654f726465724e756d6265723a20504f2d3435363337380d
+0a20202020202020202020202020202020202074617861626c653a20747275650d0a2020202020
+20202020202020202020206465736372697074696f6e3a204b6579436861696e7320496e766f69
+63650d0a202020202020202020206372656174652d7061796d656e742d6578616d706c65333a0d
+0a20202020202020202020202073756d6d6172793a20417574682043617074757265207573696e
+672042616e6b204163636f756e740d0a20202020202020202020202076616c75653a0d0a202020
+202020202020202020202070726f63657373696e67496e666f726d6174696f6e3a0d0a20202020
+202020202020202020202020636170747572653a20747275650d0a202020202020202020202020
+20207061796d656e74496e666f726d6174696f6e3a0d0a20202020202020202020202020202020
+62616e6b4163636f756e743a0d0a2020202020202020202020202020202020206163636f756e74
+547970653a20436865636b696e670d0a202020202020202020202020202020202020726f757469
+6e674e756d6265723a2027585858585858270d0a20202020202020202020202020202020202061
+63636f756e744e756d6265723a2027313233585858585858585858585858343536270d0a202020
+2020202020202020202020202020206e616d654f6e4163636f756e743a20737472696e670d0a20
+202020202020202020202020202020202065436865636b547970653a205050440d0a2020202020
+2020202020202020202020202062616e6b4e616d653a20737472696e670d0a2020202020202020
+20202020202020202020636865636b4e756d6265723a20737472696e670d0a2020202020202020
+2020202020206f72646572496e666f726d6174696f6e3a0d0a2020202020202020202020202020
+2020616d6f756e7444657461696c733a0d0a202020202020202020202020202020202020746f74
+616c416d6f756e743a2027392e32270d0a20202020202020202020202020202020202064757479
+416d6f756e743a2030312e30300d0a202020202020202020202020202020202020746178416d6f
+756e743a2030332e30300d0a2020202020202020202020202020202062696c6c546f3a0d0a2020
+2020202020202020202020202020202061646472657373313a20657777650d0a20202020202020
+202020202020202020202061646d696e697374726174697665417265613a2054580d0a20202020
+2020202020202020202020202020636f6d70616e793a20536f7576656e69726f706f6c69730d0a
+202020202020202020202020202020202020636f756e7472793a205553410d0a20202020202020
+202020202020202020202066697273744e616d653a20456c6c656e0d0a20202020202020202020
+20202020202020206c6173744e616d653a204a6f686e736f6e0d0a202020202020202020202020
+2020202020206c6f63616c6974793a20506563616e20537072696e67730d0a2020202020202020
+20202020202020202020706f7374616c436f64653a20273434363238270d0a2020202020202020
+202020202020202073686970546f3a0d0a20202020202020202020202020202020202061646472
+657373313a20657777650d0a20202020202020202020202020202020202061646d696e69737472
+6174697665417265613a2054580d0a202020202020202020202020202020202020636f6d70616e
+793a20536f7576656e69726f706f6c69730d0a202020202020202020202020202020202020636f
+756e7472793a205553410d0a20202020202020202020202020202020202066697273744e616d65
+3a20456c6c656e0d0a2020202020202020202020202020202020206c6173744e616d653a204a6f
+686e736f6e0d0a2020202020202020202020202020202020206c6f63616c6974793a2050656361
+6e20537072696e67730d0a202020202020202020202020202020202020706f7374616c436f6465
+3a20273434363238270d0a20202020202020202020202020202020696e766f6963654465746169
+6c733a0d0a20202020202020202020202020202020202070757263686173654f726465724e756d
+6265723a20494e562d31323334370d0a202020202020202020206372656174652d7061796d656e
+742d6578616d706c65343a0d0a20202020202020202020202073756d6d6172793a204175746820
+43617074757265207573696e6720637573746f6d65722070726f66696c650d0a20202020202020
+202020202076616c75653a0d0a202020202020202020202020202070726f63657373696e67496e
+666f726d6174696f6e3a0d0a20202020202020202020202020202020636170747572653a207472
+75650d0a20202020202020202020202020207061796d656e74496e666f726d6174696f6e3a0d0a
+20202020202020202020202020202020637573746f6d65723a0d0a202020202020202020202020
+202020202020637573746f6d657249643a20273430313935393437270d0a202020202020202020
+2020202020202020207061796d656e744d6574686f6449643a20273430323132373932270d0a20
+202020202020202020202020206f72646572496e666f726d6174696f6e3a0d0a20202020202020
+202020202020202020616d6f756e7444657461696c733a0d0a2020202020202020202020202020
+20202020746f74616c416d6f756e743a202731312e3333270d0a20202020202020202020202020
+202020202063757272656e63793a205553440d0a20202020202020202020202020202020202064
+757479416d6f756e743a2027302e3133270d0a2020202020202020202020202020202020207461
+78416d6f756e743a2027322e3330270d0a20202020202020202020202020202020202066726569
+676874416d6f756e743a2027312e3231270d0a202020202020202020202020202020206c696e65
+4974656d733a0d0a2020202020202020202020202020202020202d2070726f64756374436f6465
+3a20436f64655043310d0a202020202020202020202020202020202020202070726f647563744e
+616d653a204e616d655044320d0a20202020202020202020202020202020202020207175616e74
+6974793a20310d0a2020202020202020202020202020202020202020756e697450726963653a20
+2731270d0a20202020202020202020202020202020696e766f69636544657461696c733a0d0a20
+202020202020202020202020202020202070757263686173654f726465724e756d6265723a2050
+4f2d323233310d0a20202020202020202020202020202020202074617861626c653a2066616c73
+650d0a202020202020202020202020202020206465736372697074696f6e3a205061796d656e74
+205573696e6720437573746f6d65722050726f66696c650d0a2020202020202020202063726561
+74652d7061796d656e742d6578616d706c65353a0d0a20202020202020202020202073756d6d61
+72793a20417574682043617074757265207573696e6720746f6b656e697a656420637265646974
+20636172640d0a20202020202020202020202076616c75653a0d0a202020202020202020202020
+2020636c69656e745265666572656e6365496e666f726d6174696f6e3a0d0a2020202020202020
+2020202020202020636f64653a2043343435340d0a202020202020202020202020202070726f63
+657373696e67496e666f726d6174696f6e3a0d0a20202020202020202020202020202020636170
+747572653a20747275650d0a202020202020202020202020202020207061796d656e74536f6c75
+74696f6e3a205053310d0a20202020202020202020202020202020726563757272696e6742696c
+6c696e673a2066616c73650d0a20202020202020202020202020207061796d656e74496e666f72
+6d6174696f6e3a0d0a20202020202020202020202020202020746f6b656e697a6564436172643a
+0d0a2020202020202020202020202020202020206e756d6265723a202758585858585858585858
+58585858585858270d0a20202020202020202020202020202020202065787069726174696f6e4d
+6f6e74683a20273034270d0a20202020202020202020202020202020202065787069726174696f
+6e596561723a202732303139270d0a20202020202020202020202020202020202063727970746f
+6772616d3a204f4441344c6a41780d0a20202020202020202020202020206f72646572496e666f
+726d6174696f6e3a0d0a20202020202020202020202020202020616d6f756e7444657461696c73
+3a0d0a202020202020202020202020202020202020746f74616c416d6f756e743a202731342e33
+35270d0a20202020202020202020202020202020202063757272656e63793a205553440d0a2020
+2020202020202020202020202020202064757479416d6f756e743a2027302e3031270d0a202020
+202020202020202020202020202020746178416d6f756e743a2027302e3032270d0a2020202020
+2020202020202020202020202066726569676874416d6f756e743a2027302e3033270d0a202020
+2020202020202020202020202062696c6c546f3a0d0a2020202020202020202020202020202020
+2061646472657373313a20313233204d61696e2053740d0a202020202020202020202020202020
+20202061646d696e697374726174697665417265613a204c6568690d0a20202020202020202020
+2020202020202020636f6d70616e793a204d61696e20436f6d70616e790d0a2020202020202020
+20202020202020202020636f756e7472793a205553410d0a202020202020202020202020202020
+20202066697273744e616d653a20456d696c790d0a202020202020202020202020202020202020
+6c6173744e616d653a20506f727465720d0a2020202020202020202020202020202020206c6f63
+616c6974793a204c6f63616c6974790d0a20202020202020202020202020202020202070686f6e
+654e756d6265723a203637332d3233342d333435340d0a20202020202020202020202020202020
+2020706f7374616c436f64653a20273531303431270d0a20202020202020202020202020202020
+73686970546f3a0d0a20202020202020202020202020202020202061646472657373313a203132
+33204c6974746c652053740d0a20202020202020202020202020202020202061646d696e697374
+726174697665417265613a204b616e7361730d0a20202020202020202020202020202020202063
+6f6d70616e793a204d61696e20436f6d70616e790d0a2020202020202020202020202020202020
+20636f756e7472793a205553410d0a20202020202020202020202020202020202066697273744e
+616d653a20456d696c790d0a2020202020202020202020202020202020206c6173744e616d653a
+20536d6974680d0a2020202020202020202020202020202020206c6f63616c6974793a20506f72
+7465720d0a20202020202020202020202020202020202070686f6e654e756d6265723a20363733
+2d3233342d333435340d0a202020202020202020202020202020202020706f7374616c436f6465
+3a20273531303431270d0a202020202020202020202020202020206c696e654974656d733a0d0a
+2020202020202020202020202020202020202d2070726f64756374436f64653a2050436f64650d
+0a202020202020202020202020202020202020202070726f647563744e616d653a20436f666665
+650d0a20202020202020202020202020202020202020207175616e746974793a20310d0a202020
+2020202020202020202020202020202020756e697450726963653a2027302e3330270d0a202020
+20202020202020202020202020696e766f69636544657461696c733a0d0a202020202020202020
+20202020202020202070757263686173654f726465724e756d6265723a20504f2d313131333738
+0d0a20202020202020202020202020202020202074617861626c653a2066616c73650d0a202020
+202020202020202020202020206465736372697074696f6e3a204f666669636520476f6f647320
+496e766f6963650d0a202020202020202020206372656174652d7061796d656e742d6578616d70
+6c65363a0d0a20202020202020202020202073756d6d6172793a20417574682043617074757265
+207573696e6720666c75696420646174610d0a20202020202020202020202076616c75653a0d0a
+2020202020202020202020202020636c69656e745265666572656e6365496e666f726d6174696f
+6e3a0d0a20202020202020202020202020202020636f64653a204334343031340d0a2020202020
+20202020202020202070726f63657373696e67496e666f726d6174696f6e3a0d0a202020202020
+20202020202020202020636170747572653a20747275650d0a2020202020202020202020202020
+20207061796d656e74536f6c7574696f6e3a20505331310d0a2020202020202020202020202020
+2020726563757272696e6742696c6c696e673a2066616c73650d0a202020202020202020202020
+20207061796d656e74496e666f726d6174696f6e3a0d0a20202020202020202020202020202020
+666c756964446174613a0d0a2020202020202020202020202020202020206b65793a206e756c6c
+0d0a20202020202020202020202020202020202064657363726970746f723a20434f4d4d4f4e2e
+4143434550542e494e4150502e5041594d454e540d0a2020202020202020202020202020202020
+2076616c75653a2058585858585858585858585858585858585858585858585858585858585858
+585858585858585858585858585858585858580d0a20202020202020202020202020206f726465
+72496e666f726d6174696f6e3a0d0a20202020202020202020202020202020616d6f756e744465
+7461696c733a0d0a202020202020202020202020202020202020746f74616c416d6f756e743a20
+2731372e3335270d0a20202020202020202020202020202020202063757272656e63793a205553
+440d0a20202020202020202020202020202020202064757479416d6f756e743a2027302e303127
+0d0a202020202020202020202020202020202020746178416d6f756e743a2027302e3032270d0a
+20202020202020202020202020202020202066726569676874416d6f756e743a2027302e303327
+0d0a2020202020202020202020202020202062696c6c546f3a0d0a202020202020202020202020
+20202020202061646472657373313a20313233204d61696e2053740d0a20202020202020202020
+202020202020202061646d696e697374726174697665417265613a204c6568690d0a2020202020
+20202020202020202020202020636f6d70616e793a204d61696e20436f6d70616e790d0a202020
+202020202020202020202020202020636f756e7472793a205553410d0a20202020202020202020
+202020202020202066697273744e616d653a20456d696c790d0a20202020202020202020202020
+20202020206c6173744e616d653a20506f727465720d0a20202020202020202020202020202020
+20206c6f63616c6974793a204c6f63616c6974790d0a2020202020202020202020202020202020
+2070686f6e654e756d6265723a203637332d3233342d333435340d0a2020202020202020202020
+20202020202020706f7374616c436f64653a20273531303431270d0a2020202020202020202020
+202020202073686970546f3a0d0a20202020202020202020202020202020202061646472657373
+313a20313233204c6974746c652053740d0a20202020202020202020202020202020202061646d
+696e697374726174697665417265613a204b616e7361730d0a2020202020202020202020202020
+20202020636f6d70616e793a204d61696e20436f6d70616e790d0a202020202020202020202020
+202020202020636f756e7472793a205553410d0a20202020202020202020202020202020202066
+697273744e616d653a20456d696c790d0a2020202020202020202020202020202020206c617374
+4e616d653a20536d6974680d0a2020202020202020202020202020202020206c6f63616c697479
+3a20506f727465720d0a20202020202020202020202020202020202070686f6e654e756d626572
+3a203637332d3233342d333435340d0a202020202020202020202020202020202020706f737461
+6c436f64653a20273531303431270d0a202020202020202020202020202020206c696e65497465
+6d733a0d0a2020202020202020202020202020202020202d2070726f64756374436f64653a2050
+436f64650d0a202020202020202020202020202020202020202070726f647563744e616d653a20
+436f666665650d0a20202020202020202020202020202020202020207175616e746974793a2031
+0d0a2020202020202020202020202020202020202020756e697450726963653a2027302e333027
+0d0a20202020202020202020202020202020696e766f69636544657461696c733a0d0a20202020
+202020202020202020202020202070757263686173654f726465724e756d6265723a20504f2d34
+35303037380d0a20202020202020202020202020202020202074617861626c653a2066616c7365
+0d0a202020202020202020202020202020206465736372697074696f6e3a20426f6f6b2053746f
+726520496e766f6963650d0a2020202020202020706172616d65746572733a0d0a202020202020
+202020202d206e616d653a205061796d656e74526571756573740d0a2020202020202020202020
+20696e3a20626f64790d0a20202020202020202020202072657175697265643a20747275650d0a
+202020202020202020202020736368656d613a0d0a202020202020202020202020202024726566
+3a2027232f646566696e6974696f6e732f7061796d656e7452657175657374270d0a2020202020
+202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d0a202020202020
+2020202020206465736372697074696f6e3a204f4b0d0a20202020202020202020202073636865
+6d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e73
+2f7061796d656e74270d0a202020202020202020202020782d6578616d706c653a0d0a20202020
+202020202020202020206372656174652d7061796d656e742d726573706f6e7365313a0d0a2020
+202020202020202020202020202073756d6d6172793a20436861726765207573696e6720437265
+646974204361726420526573706f6e73650d0a2020202020202020202020202020202076616c75
+653a0d0a2020202020202020202020202020202020205f6c696e6b733a0d0a2020202020202020
+20202020202020202020202073656c663a0d0a2020202020202020202020202020202020202020
+2020687265663a202f726573742f76312f7061796d656e74732f323135363630373930370d0a20
+2020202020202020202020202020202020202020206d6574686f643a204745540d0a2020202020
+202020202020202020202020202020726566756e643a0d0a202020202020202020202020202020
+20202020202020687265663a202f726573742f76312f7061796d656e74732f3231353636303739
+30372f726566756e64730d0a202020202020202020202020202020202020202020206d6574686f
+643a20504f53540d0a20202020202020202020202020202020202069643a202732313536363037
+393037270d0a2020202020202020202020202020202020207374617475733a2043415054555245
+440d0a202020202020202020202020202020202020636c69656e745265666572656e6365496e66
+6f726d6174696f6e3a0d0a2020202020202020202020202020202020202020636f64653a204334
+3435340d0a20202020202020202020202020202020202070726f636573736f72496e666f726d61
+74696f6e3a0d0a2020202020202020202020202020202020202020617070726f76616c436f6465
+3a205a35384e42460d0a20202020202020202020202020202020202020206176733a0d0a202020
+20202020202020202020202020202020202020636f64653a202759270d0a202020202020202020
+2020202020202020207375626d697454696d655554433a2027323031382d30382d32315432323a
+31313a35365a270d0a2020202020202020202020202020202020206f72646572496e666f726d61
+74696f6e3a0d0a2020202020202020202020202020202020202020616d6f756e7444657461696c
+733a0d0a20202020202020202020202020202020202020202020746f74616c416d6f756e743a20
+2731342e3335270d0a2020202020202020202020202020202020202020202063757272656e6379
+3a205553440d0a2020202020202020202020202020202020202020202064757479416d6f756e74
+3a2027302e3031270d0a20202020202020202020202020202020202020202020746178416d6f75
+6e743a2027302e3032270d0a202020202020202020202020202020202020202020206672656967
+6874416d6f756e743a2027302e3033270d0a202020202020202020202020202020202020202020
+20617574686f72697a6564416d6f756e743a202731342e3335270d0a2020202020202020202020
+20202020202020202062696c6c546f3a0d0a202020202020202020202020202020202020202020
+2061646472657373313a20313233204d61696e2053740d0a202020202020202020202020202020
+2020202020202061646d696e697374726174697665417265613a204c6568690d0a202020202020
+20202020202020202020202020202020636f6d70616e793a204d61696e20436f6d70616e790d0a
+20202020202020202020202020202020202020202020636f756e7472793a205553410d0a202020
+2020202020202020202020202020202020202066697273744e616d653a20456d696c790d0a2020
+20202020202020202020202020202020202020206c6173744e616d653a20506f727465720d0a20
+2020202020202020202020202020202020202020206c6f63616c6974793a204c6f63616c697479
+0d0a20202020202020202020202020202020202020202020706f7374616c436f64653a20273531
+303431270d0a202020202020202020202020202020202020202073686970546f3a0d0a20202020
+20202020202020202020202020202020202061646472657373313a20313233204c6974746c6520
+53740d0a2020202020202020202020202020202020202020202061646d696e6973747261746976
+65417265613a204b616e7361730d0a20202020202020202020202020202020202020202020636f
+6d70616e793a204d61696e20436f6d70616e790d0a202020202020202020202020202020202020
+20202020636f756e7472793a205553410d0a202020202020202020202020202020202020202020
+2066697273744e616d653a20456d696c790d0a2020202020202020202020202020202020202020
+20206c6173744e616d653a20536d6974680d0a2020202020202020202020202020202020202020
+20206c6f63616c6974793a20506f727465720d0a20202020202020202020202020202020202020
+202020706f7374616c436f64653a20273531303431270d0a202020202020202020202020202020
+20202020206c696e654974656d733a0d0a20202020202020202020202020202020202020202020
+2d2070726f64756374436f64653a2050436f64650d0a2020202020202020202020202020202020
+2020202020202070726f647563744e616d653a20436f666665650d0a2020202020202020202020
+202020202020202020202020207175616e746974793a20310d0a20202020202020202020202020
+2020202020202020202020756e697450726963653a2027302e3330270d0a202020202020202020
+2020202020202020202020696e766f69636544657461696c733a0d0a2020202020202020202020
+202020202020202020202070757263686173654f726465724e756d6265723a20504f2d34353633
+37380d0a20202020202020202020202020202020202020206465736372697074696f6e3a204f66
+6669636520476f6f647320496e766f6963650d0a20202020202020202020202020202020202070
+61796d656e74496e666f726d6174696f6e3a0d0a20202020202020202020202020202020202020
+20636172643a0d0a202020202020202020202020202020202020202020206e756d6265723a2058
+585858313131310d0a202020202020202020202020202020202020202020206578706972617469
+6f6e4d6f6e74683a2058580d0a2020202020202020202020202020202020202020202065787069
+726174696f6e596561723a20585858580d0a202020202020202020202020202020202020202020
+20747970653a20566973610d0a2020202020202020202027353030273a0d0a2020202020202020
+202020206465736372697074696f6e3a20496e7465726e616c20536572766572204572726f720d
+0a202020202020202020202020736368656d613a0d0a2020202020202020202020202020247265
+663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a2020202027
+2f76312f7061796d656e74732f7b7061796d656e7449647d273a0d0a2020202020206765743a0d
+0a2020202020202020746167733a0d0a202020202020202020202d207061796d656e74732d7061
+796d656e74730d0a202020202020202073756d6d6172793a20476574207468652044657461696c
+73206f662061205061796d656e74205472616e73616374696f6e0d0a2020202020202020646573
+6372697074696f6e3a20476574207468652064657461696c73206f662061207061796d656e7420
+7472616e73616374696f6e2e0d0a20202020202020206f7065726174696f6e49643a2067657450
+61796d656e740d0a202020202020202073656375726974793a0d0a202020202020202020202d20
+6f617574683a0d0a20202020202020202020202020202d20726561640d0a202020202020202020
+202d2062617369633a205b5d0d0a2020202020202020706172616d65746572733a0d0a20202020
+2020202020202d206e616d653a207061796d656e7449640d0a202020202020202020202020696e
+3a20706174680d0a202020202020202020202020747970653a20737472696e670d0a2020202020
+2020202020202072657175697265643a20747275650d0a20202020202020202020202064657363
+72697074696f6e3a2054686520756e69717565206964656e746966696572206f66207468652070
+61796d656e742e2052657475726e656420696e20746865206f726967696e616c207472616e7361
+6374696f6e20726573706f6e73652e0d0a2020202020202020726573706f6e7365733a0d0a2020
+202020202020202027323030273a0d0a2020202020202020202020206465736372697074696f6e
+3a204f4b0d0a202020202020202020202020736368656d613a0d0a202020202020202020202020
+2020247265663a2027232f646566696e6974696f6e732f7061796d656e74270d0a202020202020
+202020202020782d6578616d706c653a207b7d0d0a2020202020202020202027343034273a0d0a
+2020202020202020202020206465736372697074696f6e3a205061796d656e74204e6f7420466f
+756e640d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020
+20247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a20
+20202020202020202027353030273a0d0a2020202020202020202020206465736372697074696f
+6e3a20496e7465726e616c20536572766572204572726f720d0a20202020202020202020202073
+6368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e697469
+6f6e732f6572726f72526573706f6e7365270d0a20202020272f76312f7061796d656e74732f7b
+7061796d656e7449647d2f6361707475726573273a0d0a202020202020706f73743a0d0a202020
+2020202020746167733a0d0a202020202020202020202d207061796d656e74732d636170747572
+65730d0a202020202020202073756d6d6172793a204361747572652061205061796d656e742054
+72616e73616374696f6e0d0a20202020202020206465736372697074696f6e3a20436170747572
+6520616e20617574686f72697a6174696f6e2074686174207761732070726f6365737365642074
+68726f75676820417574686f72697a652e4e65742e0d0a20202020202020206f7065726174696f
+6e49643a20636170747572655061796d656e740d0a202020202020202073656375726974793a0d
+0a202020202020202020202d206f617574683a0d0a20202020202020202020202020202d207772
+6974650d0a202020202020202020202d2062617369633a205b5d0d0a2020202020202020782d65
+78616d706c653a0d0a20202020202020202020636170747572652d7061796d656e742d6578616d
+706c65313a0d0a20202020202020202020202073756d6d6172793a204361707475726520612070
+726576696f75736c7920617574686f72697a656420616d6f756e740d0a20202020202020202020
+202076616c75653a0d0a20202020202020202020202020206f72646572496e666f726d6174696f
+6e3a0d0a20202020202020202020202020202020616d6f756e7444657461696c733a0d0a202020
+202020202020202020202020202020746f74616c416d6f756e743a202731312e3335270d0a2020
+2020202020202020202020202020202063757272656e63793a205553440d0a2020202020202020
+2020202020202020202064757479416d6f756e743a2027302e3031270d0a202020202020202020
+202020202020202020746178416d6f756e743a2027302e3032270d0a2020202020202020202020
+2020202020202066726569676874416d6f756e743a2027302e3033270d0a202020202020202020
+2020202020202062696c6c546f3a0d0a2020202020202020202020202020202020206164647265
+7373313a20313233204d61696e2053740d0a20202020202020202020202020202020202061646d
+696e697374726174697665417265613a204c6568690d0a20202020202020202020202020202020
+2020636f6d70616e793a204d61696e20436f6d70616e790d0a2020202020202020202020202020
+20202020636f756e7472793a205553410d0a202020202020202020202020202020202020666972
+73744e616d653a204a6f686e0d0a2020202020202020202020202020202020206c6173744e616d
+653a20536d6974680d0a2020202020202020202020202020202020206c6f63616c6974793a204c
+6f63616c6974790d0a202020202020202020202020202020202020706f7374616c436f64653a20
+273738303435270d0a2020202020202020202020202020202073686970546f3a0d0a2020202020
+2020202020202020202020202061646472657373313a20313233204d61696e2053740d0a202020
+20202020202020202020202020202061646d696e697374726174697665417265613a204c656869
+0d0a202020202020202020202020202020202020636f6d70616e793a204d61696e20436f6d7061
+6e790d0a202020202020202020202020202020202020636f756e7472793a205553410d0a202020
+20202020202020202020202020202066697273744e616d653a204a6f686e0d0a20202020202020
+20202020202020202020206c6173744e616d653a20536d6974680d0a2020202020202020202020
+202020202020206c6f63616c6974793a204c6f63616c6974790d0a202020202020202020202020
+202020202020706f7374616c436f64653a20273738303435270d0a202020202020202020202020
+202020206c696e654974656d733a0d0a2020202020202020202020202020202020202d2070726f
+64756374436f64653a2050436f6465310d0a202020202020202020202020202020202020202070
+726f647563744e616d653a20477265656e204b6579636861696e730d0a20202020202020202020
+202020202020202020207175616e746974793a20310d0a20202020202020202020202020202020
+20202020756e697450726963653a2027302e3330270d0a20202020202020202020202020202020
+696e766f69636544657461696c733a0d0a20202020202020202020202020202020202070757263
+686173654f726465724e756d6265723a20504f2d3435363337380d0a2020202020202020202020
+20202020206465736372697074696f6e3a204b6579436861696e7320496e766f6963650d0a2020
+202020202020706172616d65746572733a0d0a202020202020202020202d206e616d653a207061
+796d656e7449640d0a202020202020202020202020696e3a20706174680d0a2020202020202020
+20202020747970653a20737472696e670d0a20202020202020202020202072657175697265643a
+20747275650d0a2020202020202020202020206465736372697074696f6e3a2054686520756e69
+717565206964656e746966696572206f662074686520617574686f72697a6174696f6e20746861
+7420796f752061726520636170747572696e672e205468652049442069732072657475726e6564
+20696e20746865206f726967696e616c207472616e73616374696f6e20726573706f6e73652e0d
+0a202020202020202020202d206e616d653a2063617074757265526571756573740d0a20202020
+2020202020202020696e3a20626f64790d0a20202020202020202020202072657175697265643a
+20747275650d0a202020202020202020202020736368656d613a0d0a2020202020202020202020
+202020247265663a2027232f646566696e6974696f6e732f636170747572655265717565737427
+0d0a2020202020202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d
+0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a202020202020202020
+202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f64656669
+6e6974696f6e732f7061796d656e74270d0a202020202020202020202020782d6578616d706c65
+3a207b7d0d0a2020202020202020202027343034273a0d0a202020202020202020202020646573
+6372697074696f6e3a205061796d656e74204e6f7420466f756e640d0a20202020202020202020
+2020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e
+6974696f6e732f6572726f72526573706f6e7365270d0a2020202020202020202027353030273a
+0d0a2020202020202020202020206465736372697074696f6e3a20496e7465726e616c20536572
+766572204572726f720d0a202020202020202020202020736368656d613a0d0a20202020202020
+20202020202020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e
+7365270d0a20202020272f76312f7061796d656e74732f7b7061796d656e7449647d2f72656675
+6e6473273a0d0a202020202020706f73743a0d0a2020202020202020746167733a0d0a20202020
+2020202020202d207061796d656e74732d726566756e64730d0a202020202020202073756d6d61
+72793a20526566756e642061205061796d656e74205472616e73616374696f6e0d0a2020202020
+2020206465736372697074696f6e3a2027526566756e6420612070726576696f75736c79206361
+707475726564207061796d656e74207472616e73616374696f6e206279207265666572656e6369
+6e67206974732049442e20546f2063726564697420796f757220637573746f6d65722727732061
+63636f756e7420776974686f7574207265666572656e63696e6720612070726576696f75732074
+72616e73616374696f6e2c2075736520602f637265646974736020696e7374656164270d0a2020
+2020202020206f7065726174696f6e49643a20726566756e645061796d656e740d0a2020202020
+20202073656375726974793a0d0a202020202020202020202d206f617574683a0d0a2020202020
+2020202020202020202d2077726974650d0a202020202020202020202d2062617369633a205b5d
+0d0a2020202020202020782d6578616d706c653a0d0a20202020202020202020726566756e642d
+7061796d656e742d6578616d706c65313a0d0a20202020202020202020202073756d6d6172793a
+20526566756e64207573696e672042616e6b204163636f756e740d0a2020202020202020202020
+2076616c75653a0d0a20202020202020202020202020207061796d656e74496e666f726d617469
+6f6e3a0d0a2020202020202020202020202020202062616e6b4163636f756e743a0d0a20202020
+20202020202020202020202020206163636f756e74547970653a20425553494e45535343484543
+4b494e470d0a202020202020202020202020202020202020726f7574696e674e756d6265723a20
+3031313330313739380d0a2020202020202020202020202020202020206163636f756e744e756d
+6265723a202730313031270d0a2020202020202020202020202020202020206e616d654f6e4163
+636f756e743a204a6f686e20446f650d0a20202020202020202020202020202020202065436865
+636b547970653a204343440d0a20202020202020202020202020202020202062616e6b4e616d65
+3a2046697273742042616e6b204f6620417574686f72697a652e4e65740d0a2020202020202020
+20202020202020202020636865636b4e756d6265723a202731333234343533270d0a2020202020
+2020202020202020206f72646572496e666f726d6174696f6e3a0d0a2020202020202020202020
+2020202020616d6f756e7444657461696c733a0d0a202020202020202020202020202020202020
+746f74616c416d6f756e743a2027362e3030270d0a202020202020202020202020202020202020
+63757272656e63793a205553440d0a20202020202020202020202020202020202064757479416d
+6f756e743a2027302e3735270d0a202020202020202020202020202020202020746178416d6f75
+6e743a2027302e3635270d0a20202020202020202020202020202020202066726569676874416d
+6f756e743a2027302e3636270d0a2020202020202020706172616d65746572733a0d0a20202020
+2020202020202d206e616d653a207061796d656e7449640d0a202020202020202020202020696e
+3a20706174680d0a202020202020202020202020747970653a20737472696e670d0a2020202020
+2020202020202072657175697265643a20747275650d0a20202020202020202020202064657363
+72697074696f6e3a20556e69717565206964656e746966696572206f6620746865207061796d65
+6e74207472616e73616374696f6e207468617420796f752061726520726566756e64696e672e20
+5468652049442069732072657475726e656420696e20746865206f726967696e616c207472616e
+73616374696f6e207265706f6e73652e0d0a202020202020202020202d206e616d653a20726566
+756e64526571756573740d0a202020202020202020202020696e3a20626f64790d0a2020202020
+2020202020202072657175697265643a20747275650d0a20202020202020202020202073636865
+6d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e73
+2f726566756e6452657175657374270d0a2020202020202020726573706f6e7365733a0d0a2020
+202020202020202027323030273a0d0a2020202020202020202020206465736372697074696f6e
+3a204f4b0d0a202020202020202020202020736368656d613a0d0a202020202020202020202020
+2020247265663a2027232f646566696e6974696f6e732f7061796d656e74270d0a202020202020
+202020202020782d6578616d706c653a207b7d0d0a2020202020202020202027343034273a0d0a
+2020202020202020202020206465736372697074696f6e3a205061796d656e74204e6f7420466f
+756e640d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020
+20247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a20
+20202020202020202027353030273a0d0a2020202020202020202020206465736372697074696f
+6e3a20496e7465726e616c20536572766572204572726f720d0a20202020202020202020202073
+6368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e697469
+6f6e732f6572726f72526573706f6e7365270d0a202020202f76312f637265646974732f3a0d0a
+202020202020706f73743a0d0a2020202020202020746167733a0d0a202020202020202020202d
+20637265646974730d0a202020202020202073756d6d6172793a2050726f636573732061204372
+65646974205472616e73616374696f6e0d0a20202020202020206465736372697074696f6e3a20
+27437265617465206120637265646974207472616e73616374696f6e2074686174206973206e6f
+742072656c6174656420746f20612070726576696f7573207472616e73616374696f6e2e20546f
+20726566756e6420612070726576696f7573207472616e73616374696f6e2c2075736520602f70
+61796d656e74732f7b7061796d656e7449647d2f726566756e64736020696e73746561642e270d
+0a20202020202020206f7065726174696f6e49643a206372656174654372656469740d0a202020
+202020202073656375726974793a0d0a202020202020202020202d206f617574683a0d0a202020
+20202020202020202020202d2077726974650d0a202020202020202020202d2062617369633a20
+5b5d0d0a2020202020202020782d6578616d706c653a0d0a202020202020202020206372656469
+742d6578616d706c65313a0d0a20202020202020202020202073756d6d6172793a204372656469
+74732052657175657374207573696e672043430d0a20202020202020202020202076616c75653a
+0d0a20202020202020202020202020207061796d656e74496e666f726d6174696f6e3a0d0a2020
+2020202020202020202020202020636172643a0d0a202020202020202020202020202020202020
+6e756d6265723a202758585858585858585858585858585858270d0a2020202020202020202020
+2020202020202065787069726174696f6e4d6f6e74683a20273037270d0a202020202020202020
+20202020202020202065787069726174696f6e596561723a202732303238270d0a202020202020
+20202020202020206f72646572496e666f726d6174696f6e3a0d0a202020202020202020202020
+20202020616d6f756e7444657461696c733a0d0a20202020202020202020202020202020202074
+6f74616c416d6f756e743a2027392e3538270d0a20202020202020202020202020202020202063
+757272656e63793a205553440d0a2020202020202020706172616d65746572733a0d0a20202020
+2020202020202d206e616d653a20417574686f72697a6174696f6e0d0a20202020202020202020
+2020696e3a206865616465720d0a202020202020202020202020747970653a20737472696e670d
+0a20202020202020202020202072657175697265643a20747275650d0a20202020202020202020
+20206465736372697074696f6e3a205468652076616c756520746f2070726f7669646520696e20
+74686520417574686f72697a6174696f6e20686561646572206f6620414e455420415049207265
+71756573740d0a202020202020202020202d206e616d653a20637265646974526571756573740d
+0a202020202020202020202020696e3a20626f64790d0a20202020202020202020202072657175
+697265643a20747275650d0a202020202020202020202020736368656d613a0d0a202020202020
+2020202020202020247265663a2027232f646566696e6974696f6e732f63726564697452657175
+657374270d0a2020202020202020726573706f6e7365733a0d0a20202020202020202020273230
+30273a0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a2020202020
+20202020202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f
+646566696e6974696f6e732f7061796d656e74270d0a202020202020202020202020782d657861
+6d706c653a207b7d0d0a2020202020202020202027353030273a0d0a2020202020202020202020
+206465736372697074696f6e3a20496e7465726e616c20536572766572204572726f720d0a2020
+20202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a20
+27232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020202f76312f
+6576656e7474797065733a0d0a2020202020206765743a0d0a2020202020202020746167733a0d
+0a202020202020202020202d20776562686f6f6b732d6576656e745f74797065730d0a20202020
+2020202073756d6d6172793a204765742061204c697374206f6620416c6c204576656e74205479
+7065730d0a20202020202020206465736372697074696f6e3a2052657475726e732061206c6973
+74206f6620616c6c20576562686f6f6b73206576656e74207479706573207468617420796f7520
+63616e20656e726f6c6c20696e2e0d0a20202020202020206f7065726174696f6e49643a206765
+744576656e7454797065730d0a202020202020202073656375726974793a0d0a20202020202020
+2020202d206f617574683a0d0a20202020202020202020202020202d20726561640d0a20202020
+2020202020202d2062617369633a205b5d0d0a2020202020202020726573706f6e7365733a0d0a
+2020202020202020202027323030273a0d0a202020202020202020202020646573637269707469
+6f6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a20202020202020202020
+20202020747970653a2061727261790d0a20202020202020202020202020206974656d733a0d0a
+20202020202020202020202020202020247265663a2027232f646566696e6974696f6e732f4576
+656e7454797065270d0a202020202020202020202020782d6578616d706c653a207b7d0d0a2020
+202020202020202027353030273a0d0a2020202020202020202020206465736372697074696f6e
+3a2053797374656d204572726f722e0d0a202020202020202020202020736368656d613a0d0a20
+20202020202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f72
+526573706f6e7365270d0a2020202020202020202064656661756c743a0d0a2020202020202020
+202020206465736372697074696f6e3a20556e6578706563746564204572726f722e0d0a202020
+202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a2027
+232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020202f76312f77
+6562686f6f6b733a0d0a2020202020206765743a0d0a2020202020202020746167733a0d0a2020
+20202020202020202d20776562686f6f6b732d776562686f6f6b730d0a20202020202020207375
+6d6d6172793a204c697374204d7920576562686f6f6b730d0a2020202020202020646573637269
+7074696f6e3a2052657472696576652064657461696c73206f6620616c6c206578697374696e67
+20576562686f6f6b7320666f722074686973206163636f756e742e0d0a20202020202020206f70
+65726174696f6e49643a20676574576562686f6f6b730d0a202020202020202073656375726974
+793a0d0a202020202020202020202d206f617574683a0d0a20202020202020202020202020202d
+20726561640d0a202020202020202020202d2062617369633a205b5d0d0a202020202020202072
+6573706f6e7365733a0d0a2020202020202020202027323030273a0d0a20202020202020202020
+20206465736372697074696f6e3a204f4b0d0a202020202020202020202020736368656d613a0d
+0a2020202020202020202020202020747970653a2061727261790d0a2020202020202020202020
+2020206974656d733a0d0a20202020202020202020202020202020247265663a2027232f646566
+696e6974696f6e732f476574576562686f6f6b526573706f6e7365270d0a202020202020202020
+202020782d6578616d706c653a207b7d0d0a2020202020202020202027353030273a0d0a202020
+2020202020202020206465736372697074696f6e3a2053797374656d204572726f722e0d0a2020
+20202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a20
+27232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a2020202020202020
+202064656661756c743a0d0a2020202020202020202020206465736372697074696f6e3a20556e
+6578706563746564204572726f722e0d0a202020202020202020202020736368656d613a0d0a20
+20202020202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f72
+526573706f6e7365270d0a202020202020706f73743a0d0a2020202020202020746167733a0d0a
+202020202020202020202d20776562686f6f6b732d776562686f6f6b730d0a2020202020202020
+73756d6d6172793a20437265617465204120576562686f6f6b0d0a202020202020202064657363
+72697074696f6e3a20456e726f6c6c20696e206f6e65206f72206d6f72652074797065206f6620
+6576656e74206e6f74696669636174696f6e2e0d0a20202020202020206f7065726174696f6e49
+643a20637265617465576562686f6f6b0d0a202020202020202073656375726974793a0d0a2020
+20202020202020202d206f617574683a0d0a20202020202020202020202020202d20726561640d
+0a202020202020202020202d2062617369633a205b5d0d0a2020202020202020782d6578616d70
+6c653a0d0a202020202020202020206372656174652d776562686f6f6b2d6578616d706c65313a
+0d0a20202020202020202020202073756d6d6172793a2043726561746520576562686f6f6b0d0a
+20202020202020202020202076616c75653a0d0a202020202020202020202020202075726c3a20
+27687474703a2f2f72657175657374622e696e2f3169657266386931270d0a2020202020202020
+2020202020206576656e7454797065733a0d0a202020202020202020202020202020202d206e65
+742e617574686f72697a652e7061796d656e742e617574686f72697a6174696f6e2e6372656174
+65640d0a202020202020202020202020202020202d206e65742e617574686f72697a652e706179
+6d656e742e7072696f7241757468436170747572652e637265617465640d0a2020202020202020
+20202020202020202d206e65742e617574686f72697a652e7061796d656e742e61757468636170
+747572652e637265617465640d0a20202020202020202020202020207374617475733a20616374
+6976650d0a2020202020202020706172616d65746572733a0d0a202020202020202020202d206e
+616d653a20637265617465576562686f6f6b426f64790d0a202020202020202020202020696e3a
+20626f64790d0a2020202020202020202020206465736372697074696f6e3a2054686520706179
+6c6f616420776869636820636f6e7461696e73207468652064657461696c7320666f7220656e72
+6f6c6c696e6720696e206f6e65206f72206d6f726520776562686f6f6b732e0d0a202020202020
+20202020202072657175697265643a20747275650d0a202020202020202020202020736368656d
+613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f
+437265617465576562686f6f6b426f6479270d0a2020202020202020726573706f6e7365733a0d
+0a2020202020202020202027323030273a0d0a2020202020202020202020206465736372697074
+696f6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a202020202020202020
+2020202020247265663a2027232f646566696e6974696f6e732f476574576562686f6f6b526573
+706f6e7365270d0a202020202020202020202020782d6578616d706c653a207b7d0d0a20202020
+20202020202027343030273a0d0a2020202020202020202020206465736372697074696f6e3a20
+496e76616c69642f4d697373696e672044617461206f72204c696d697420526561636865640d0a
+202020202020202020202020736368656d613a0d0a202020202020202020202020202024726566
+3a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020202020
+2020202027353030273a0d0a2020202020202020202020206465736372697074696f6e3a205379
+7374656d204572726f722e0d0a202020202020202020202020736368656d613a0d0a2020202020
+202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f7252657370
+6f6e7365270d0a2020202020202020202064656661756c743a0d0a202020202020202020202020
+6465736372697074696f6e3a20556e6578706563746564204572726f722e0d0a20202020202020
+2020202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f6465
+66696e6974696f6e732f6572726f72526573706f6e7365270d0a20202020272f76312f77656268
+6f6f6b732f7b776562686f6f6b49647d273a0d0a2020202020206765743a0d0a20202020202020
+20746167733a0d0a202020202020202020202d20776562686f6f6b732d776562686f6f6b730d0a
+202020202020202073756d6d6172793a20476574206120576562686f6f6b0d0a20202020202020
+206465736372697074696f6e3a205265747269657665205448452064657461696c73206f662061
+6e206578697374696e6720576562686f6f6b2e0d0a20202020202020206f7065726174696f6e49
+643a20676574576562686f6f6b0d0a202020202020202073656375726974793a0d0a2020202020
+20202020202d206f617574683a0d0a20202020202020202020202020202d20726561640d0a2020
+20202020202020202d2062617369633a205b5d0d0a2020202020202020706172616d6574657273
+3a0d0a202020202020202020202d206e616d653a20776562686f6f6b49640d0a20202020202020
+2020202020696e3a20706174680d0a2020202020202020202020206465736372697074696f6e3a
+20556e69717565206964656e746966696572206f662074686520776562686f6f6b2e2054686520
+6964656e746966696572207761732073656e7420696e2074686520726573706f6e736520746f20
+74686520776562686f6f6b20726571756573742e0d0a2020202020202020202020207265717569
+7265643a20747275650d0a202020202020202020202020747970653a20737472696e670d0a2020
+202020202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d0a202020
+2020202020202020206465736372697074696f6e3a204f4b0d0a20202020202020202020202073
+6368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e697469
+6f6e732f476574576562686f6f6b526573706f6e7365270d0a202020202020202020202020782d
+6578616d706c653a207b7d0d0a2020202020202020202027343034273a0d0a2020202020202020
+202020206465736372697074696f6e3a204e6f7420466f756e640d0a2020202020202020202020
+20736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e69
+74696f6e732f6572726f72526573706f6e7365270d0a2020202020202020202027353030273a0d
+0a2020202020202020202020206465736372697074696f6e3a2053797374656d204572726f722e
+0d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020202472
+65663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a20202020
+20202020202064656661756c743a0d0a2020202020202020202020206465736372697074696f6e
+3a20556e6578706563746564204572726f722e0d0a202020202020202020202020736368656d61
+3a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f65
+72726f72526573706f6e7365270d0a2020202020207075743a0d0a202020202020202074616773
+3a0d0a202020202020202020202d20776562686f6f6b732d776562686f6f6b730d0a2020202020
+20202073756d6d6172793a20557064617465204120576562686f6f6b0d0a202020202020202064
+65736372697074696f6e3a20557064617465207468652064657461696c73206f6620616e206578
+697374696e6720776562686f6f6b2e0d0a20202020202020206f7065726174696f6e49643a2075
+7064617465576562686f6f6b0d0a202020202020202073656375726974793a0d0a202020202020
+202020202d206f617574683a0d0a20202020202020202020202020202d20726561640d0a202020
+202020202020202d2062617369633a205b5d0d0a2020202020202020782d6578616d706c653a0d
+0a202020202020202020207570646174652d776562686f6f6b2d6578616d706c65313a0d0a2020
+2020202020202020202073756d6d6172793a2055706461746520576562686f6f6b0d0a20202020
+202020202020202076616c75653a0d0a20202020202020202020202020207374617475733a2069
+6e6163746976650d0a202020202020202020202020202075726c3a2027687474703a2f2f726571
+75657374622e696e2f316d73786c303431270d0a20202020202020202020202020206576656e74
+54797065733a0d0a202020202020202020202020202020202d206e65742e617574686f72697a65
+2e7061796d656e742e617574686f72697a6174696f6e2e637265617465640d0a20202020202020
+20706172616d65746572733a0d0a202020202020202020202d206e616d653a20776562686f6f6b
+49640d0a202020202020202020202020696e3a20706174680d0a20202020202020202020202064
+65736372697074696f6e3a20556e69717565206964656e746966696572206f6620746865207765
+62686f6f6b2e20546865206964656e746966696572207761732073656e7420696e207468652072
+6573706f6e736520746f2074686520776562686f6f6b20726571756573742e0d0a202020202020
+20202020202072657175697265643a20747275650d0a202020202020202020202020747970653a
+20737472696e670d0a202020202020202020202d206e616d653a20757064617465576562686f6f
+6b426f64790d0a202020202020202020202020696e3a20626f64790d0a20202020202020202020
+20206465736372697074696f6e3a20436f6e7461696e73207468652064657461696c7320746f20
+626520757064617465642e0d0a20202020202020202020202072657175697265643a2074727565
+0d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020202472
+65663a2027232f646566696e6974696f6e732f437265617465576562686f6f6b426f6479270d0a
+2020202020202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d0a20
+20202020202020202020206465736372697074696f6e3a204f4b0d0a2020202020202020202020
+20736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e69
+74696f6e732f476574576562686f6f6b526573706f6e7365270d0a202020202020202020202020
+782d6578616d706c653a207b7d0d0a2020202020202020202027343030273a0d0a202020202020
+2020202020206465736372697074696f6e3a20496e76616c69642f4d697373696e672044617461
+206f72204c696d697420526561636865640d0a202020202020202020202020736368656d613a0d
+0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f657272
+6f72526573706f6e7365270d0a2020202020202020202027343034273a0d0a2020202020202020
+202020206465736372697074696f6e3a204e6f7420466f756e640d0a2020202020202020202020
+20736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e69
+74696f6e732f6572726f72526573706f6e7365270d0a2020202020202020202027353030273a0d
+0a2020202020202020202020206465736372697074696f6e3a2053797374656d204572726f722e
+0d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020202472
+65663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a20202020
+20202020202064656661756c743a0d0a2020202020202020202020206465736372697074696f6e
+3a20556e6578706563746564204572726f722e0d0a202020202020202020202020736368656d61
+3a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f65
+72726f72526573706f6e7365270d0a20202020202064656c6574653a0d0a202020202020202074
+6167733a0d0a202020202020202020202d20776562686f6f6b732d776562686f6f6b730d0a2020
+20202020202073756d6d6172793a2044656c657465204120576562686f6f6b0d0a202020202020
+20206465736372697074696f6e3a2044656c65746520616e206578697374696e6720576562686f
+6f6b2e0d0a20202020202020206f7065726174696f6e49643a2064656c657465576562686f6f6b
+0d0a202020202020202073656375726974793a0d0a202020202020202020202d206f617574683a
+0d0a20202020202020202020202020202d20726561640d0a202020202020202020202d20626173
+69633a205b5d0d0a2020202020202020782d6578616d706c653a0d0a2020202020202020202064
+656c6574652d776562686f6f6b2d6578616d706c65313a0d0a2020202020202020202020207375
+6d6d6172793a2044656c65746520576562686f6f6b204578616d706c65310d0a20202020202020
+202020202076616c75653a0d0a20202020202020202020202020206576656e74547970653a0d0a
+202020202020202020202020202020202d207061796d656e742e617574686f72697a6174696f6e
+2e637265617465640d0a202020202020202020202020202020202d207061796d656e742e636170
+747572652e637265617465640d0a202020202020202020202020202075726c3a20276874747073
+3a2f2f6d79736974652f63616c6c6261636b270d0a202020202020202020202020202073746174
+75733a206163746976650d0a2020202020202020706172616d65746572733a0d0a202020202020
+202020202d206e616d653a20776562686f6f6b49640d0a202020202020202020202020696e3a20
+706174680d0a2020202020202020202020206465736372697074696f6e3a20556e697175652069
+64656e746966696572206f662074686520776562686f6f6b2e20546865206964656e7469666965
+72207761732073656e7420696e2074686520726573706f6e736520746f2074686520776562686f
+6f6b20726571756573742e0d0a20202020202020202020202072657175697265643a2074727565
+0d0a202020202020202020202020747970653a20737472696e670d0a2020202020202020726573
+706f6e7365733a0d0a2020202020202020202027323030273a0d0a202020202020202020202020
+6465736372697074696f6e3a204f4b0d0a202020202020202020202020782d6578616d706c653a
+207b7d0d0a2020202020202020202027343030273a0d0a20202020202020202020202064657363
+72697074696f6e3a2027496e76616c6964204461746120270d0a20202020202020202020202073
+6368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e697469
+6f6e732f6572726f72526573706f6e7365270d0a2020202020202020202027343034273a0d0a20
+20202020202020202020206465736372697074696f6e3a204e6f7420466f756e640d0a20202020
+2020202020202020736368656d613a0d0a2020202020202020202020202020247265663a202723
+2f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a20202020202020202020
+27353030273a0d0a2020202020202020202020206465736372697074696f6e3a2053797374656d
+204572726f722e0d0a202020202020202020202020736368656d613a0d0a202020202020202020
+2020202020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365
+270d0a2020202020202020202064656661756c743a0d0a20202020202020202020202064657363
+72697074696f6e3a20556e6578706563746564204572726f722e0d0a2020202020202020202020
+20736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e69
+74696f6e732f6572726f72526573706f6e7365270d0a20202020272f76312f776562686f6f6b73
+2f7b776562686f6f6b49647d2f70696e6773273a0d0a202020202020706f73743a0d0a20202020
+20202020746167733a0d0a202020202020202020202d20776562686f6f6b732d70696e67730d0a
+202020202020202073756d6d6172793a2050696e67204120576562686f6f6b0d0a202020202020
+20206465736372697074696f6e3a2027412074657374206576656e742069732073656e7420746f
+2074686520576562686f6f6b20656e64706f696e742c20696e20616e20696e6163746976652073
+746174652e270d0a20202020202020206f7065726174696f6e49643a2070696e6773576562686f
+6f6b0d0a202020202020202073656375726974793a0d0a202020202020202020202d206f617574
+683a0d0a20202020202020202020202020202d20726561640d0a202020202020202020202d2062
+617369633a205b5d0d0a2020202020202020706172616d65746572733a0d0a2020202020202020
+20202d206e616d653a20776562686f6f6b49640d0a202020202020202020202020696e3a207061
+74680d0a2020202020202020202020206465736372697074696f6e3a20556e6971756520696465
+6e746966696572206f662074686520776562686f6f6b2e20546865206964656e74696669657220
+7761732073656e7420696e2074686520726573706f6e736520746f2074686520776562686f6f6b
+20726571756573742e0d0a20202020202020202020202072657175697265643a20747275650d0a
+202020202020202020202020747970653a20737472696e670d0a2020202020202020726573706f
+6e7365733a0d0a2020202020202020202027323030273a0d0a2020202020202020202020206465
+736372697074696f6e3a204f4b0d0a202020202020202020202020782d6578616d706c653a207b
+7d0d0a2020202020202020202027343034273a0d0a202020202020202020202020646573637269
+7074696f6e3a204e6f7420466f756e640d0a202020202020202020202020736368656d613a0d0a
+2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f
+72526573706f6e7365270d0a2020202020202020202027353030273a0d0a202020202020202020
+2020206465736372697074696f6e3a2053797374656d204572726f722e0d0a2020202020202020
+20202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566
+696e6974696f6e732f6572726f72526573706f6e7365270d0a2020202020202020202064656661
+756c743a0d0a2020202020202020202020206465736372697074696f6e3a20556e657870656374
+6564204572726f722e0d0a202020202020202020202020736368656d613a0d0a20202020202020
+20202020202020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e
+7365270d0a202020202f76312f6e6f74696669636174696f6e733a0d0a20202020202070617261
+6d65746572733a0d0a20202020202020202d206e616d653a2064656c6976657279537461747573
+0d0a20202020202020202020696e3a2071756572790d0a20202020202020202020747970653a20
+737472696e670d0a202020202020202020206465736372697074696f6e3a2046696c7465722062
+792064656c6976657279207374617475732e2053746174757320696e636c756465207468652066
+6f6c6c6f77696e672e2f6e2f6e2a2044656c6976657265642f6e2f6e2a204661696c65640d0a20
+202020202020202d206e616d653a2066726f6d5f646174650d0a20202020202020202020696e3a
+2071756572790d0a20202020202020202020747970653a20737472696e670d0a20202020202020
+2020206465736372697074696f6e3a20274f6e6c7920696e636c75646573206e6f746966696361
+74696f6e73206166746572207468652073706563696669656420646174652c20696e2059595959
+2d4d4d2d444420666f726d61742e270d0a20202020202020202d206e616d653a20746f5f646174
+650d0a20202020202020202020696e3a2071756572790d0a20202020202020202020747970653a
+20737472696e670d0a202020202020202020206465736372697074696f6e3a20274f6e6c792069
+6e636c75646573206e6f74696669636174696f6e73206265666f72652073706563696669656420
+646174652c20696e20595959592d4d4d2d444420666f726d61742e270d0a20202020202020202d
+206e616d653a206f66667365740d0a20202020202020202020696e3a2071756572790d0a202020
+20202020202020747970653a20696e74656765720d0a2020202020202020202064657363726970
+74696f6e3a2027546865206e756d626572206f6620746865207061676520746f2072657475726e
+20726573756c74732066726f6d2e20466f72206578616d706c652c206966206c696d6974206973
+2073657420746f203130302c20616e64206f66667365742069732073657420746f20322c207468
+652066756e6374696f6e2077696c6c2072657475726e20313030207472616e73616374696f6e73
+2c20626567696e6e696e67207769746820746865207472616e73616374696f6e20746861742077
+6f756c64206f746865727769736520626520746865207472616e73616374696f6e206e756d6265
+7265642031303120696e2074686520726573756c74207365742e2041636365707465642076616c
+7565732061726520312d3130303030302e270d0a20202020202020202d206e616d653a206c696d
+69740d0a20202020202020202020696e3a2071756572790d0a2020202020202020202074797065
+3a20696e74656765720d0a202020202020202020206465736372697074696f6e3a20546865206e
+756d626572206f66207472616e73616374696f6e732070657220706167652e2041636365707465
+642076616c7565732061726520312d313030302e0d0a2020202020206765743a0d0a2020202020
+202020746167733a0d0a202020202020202020202d20776562686f6f6b732d6e6f746966696361
+74696f6e730d0a202020202020202073756d6d6172793a20476574204e6f74696669636174696f
+6e20486973746f72790d0a20202020202020206465736372697074696f6e3a2052657472656976
+65732074686520686973746f7279206f66206e6f74696669636174696f6e7320666f7220746869
+73206163636f756e742e0d0a20202020202020206f7065726174696f6e49643a206765744e6f74
+696669636174696f6e730d0a202020202020202073656375726974793a0d0a2020202020202020
+20202d206f617574683a0d0a20202020202020202020202020202d20726561640d0a2020202020
+20202020202d2062617369633a205b5d0d0a2020202020202020726573706f6e7365733a0d0a20
+20202020202020202027323030273a0d0a2020202020202020202020206465736372697074696f
+6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a2020202020202020202020
+202020247265663a2027232f646566696e6974696f6e732f4765744e6f74696669636174696f6e
+73526573706f6e7365270d0a2020202020202020202027353030273a0d0a202020202020202020
+2020206465736372697074696f6e3a2053797374656d204572726f722e0d0a2020202020202020
+20202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566
+696e6974696f6e732f6572726f72526573706f6e7365270d0a2020202020202020202064656661
+756c743a0d0a2020202020202020202020206465736372697074696f6e3a20556e657870656374
+6564204572726f722e0d0a202020202020202020202020736368656d613a0d0a20202020202020
+20202020202020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e
+7365270d0a20202020272f76312f6e6f74696669636174696f6e732f7b6e6f7469666963617469
+6f6e7349647d273a0d0a2020202020206765743a0d0a2020202020202020746167733a0d0a2020
+20202020202020202d20776562686f6f6b732d6e6f74696669636174696f6e730d0a2020202020
+20202073756d6d6172793a204765742061204e6f74696669636174696f6e0d0a20202020202020
+206465736372697074696f6e3a20526574726569766573207468652064657461696c73206f6620
+612073696e676c65206e6f74696669636174696f6e2e0d0a20202020202020206f706572617469
+6f6e49643a206765744e6f74696669636174696f6e0d0a20202020202020207365637572697479
+3a0d0a202020202020202020202d206f617574683a0d0a20202020202020202020202020202d20
+726561640d0a202020202020202020202d2062617369633a205b5d0d0a20202020202020207061
+72616d65746572733a0d0a202020202020202020202d206e616d653a206e6f7469666963617469
+6f6e7349640d0a202020202020202020202020696e3a20706174680d0a20202020202020202020
+20206465736372697074696f6e3a20556e69717565206964656e746966696572206f6620746865
+206e6f74696669636174696f6e2e20546865206964656e746966696572207761732073656e7420
+696e20746865206f726967696e616c206e6f74696669636174696f6e2e0d0a2020202020202020
+2020202072657175697265643a20747275650d0a202020202020202020202020747970653a2073
+7472696e670d0a2020202020202020726573706f6e7365733a0d0a202020202020202020202732
+3030273a0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a20202020
+2020202020202020736368656d613a0d0a2020202020202020202020202020247265663a202723
+2f646566696e6974696f6e732f4765744e6f74696669636174696f6e526573706f6e7365270d0a
+2020202020202020202027343034273a0d0a202020202020202020202020646573637269707469
+6f6e3a204e6f7420466f756e640d0a202020202020202020202020736368656d613a0d0a202020
+2020202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f725265
+73706f6e7365270d0a2020202020202020202027353030273a0d0a202020202020202020202020
+6465736372697074696f6e3a2053797374656d204572726f722e0d0a2020202020202020202020
+20736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e69
+74696f6e732f6572726f72526573706f6e7365270d0a2020202020202020202064656661756c74
+3a0d0a2020202020202020202020206465736372697074696f6e3a20556e657870656374656420
+4572726f722e0d0a202020202020202020202020736368656d613a0d0a20202020202020202020
+20202020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e736527
+0d0a202020202f76312f7061796d656e745472616e73616374696f6e732f636861726765614372
+65646974436172643a0d0a202020202020706f73743a0d0a2020202020202020746167733a0d0a
+202020202020202020202d207061796d656e745472616e73616374696f6e2d7472616e73616374
+696f6e0d0a202020202020202073756d6d6172793a204368617267652061204372656469742043
+6172642e0d0a20202020202020206465736372697074696f6e3a205573652074686973206d6574
+686f6420746f20617574686f72697a6520616e6420636170747572652061206372656469742063
+617264207061796d656e742e0d0a20202020202020206f7065726174696f6e49643a2063726561
+74655472616e73616374696f6e526571756573740d0a202020202020202070726f64756365733a
+0d0a2020202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a2020202020
+20202073656375726974793a0d0a2020202020202020202020202d206f617574683a0d0a202020
+202020202020202020202020202d2077726974650d0a2020202020202020202020202d20626173
+69633a205b5d0d0a2020202020202020706172616d65746572733a0d0a20202020202020202020
+20202d206e616d653a2063686172676561437265646974436172640d0a20202020202020202020
+20202020696e3a20626f64790d0a2020202020202020202020202020736368656d613a0d0a2020
+2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f63726561
+74655472616e73616374696f6e52657175657374466f7243686172676541437265646974436172
+64270d0a2020202020202020726573706f6e7365733a0d0a202020202020202020202732303027
+3a0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a20202020202020
+2020202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f6465
+66696e6974696f6e732f7472616e73616374696f6e270d0a202020202020202020202020782d65
+78616d706c653a207b7d0d0a2020202020202020202027343034273a0d0a202020202020202020
+2020206465736372697074696f6e3a2041646472657373206e6f7420637265617465640d0a2020
+20202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a20
+27232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a2020202020202020
+202027353030273a0d0a2020202020202020202020206465736372697074696f6e3a2053797374
+656d204572726f722e0d0a202020202020202020202020736368656d613a0d0a20202020202020
+20202020202020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e
+736527202020200d0a2020202020202020202064656661756c743a0d0a20202020202020202020
+20206465736372697074696f6e3a20556e6578706563746564206572726f722e0d0a2020202020
+20202020202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f
+646566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020202f76312f706179
+6d656e745472616e73616374696f6e732f617574686f72697a65437265646974436172643a200d
+0a202020202020706f73743a0d0a2020202020202020746167733a0d0a20202020202020202020
+2d207061796d656e745472616e73616374696f6e2d7472616e73616374696f6e0d0a2020202020
+20202073756d6d6172793a20417574686f72697a6520612043726564697420436172642e0d0a20
+202020202020206465736372697074696f6e3a205573652074686973206d6574686f6420746f20
+617574686f72697a652061206372656469742063617264207061796d656e742e20546f20616374
+75616c6c7920636861726765207468652066756e647320796f752077696c6c206e65656420746f
+20666f6c6c6f77207570207769746820612063617074757265207472616e73616374696f6e2e0d
+0a202020202020202070726f64756365733a0d0a2020202020202020202020202d206170706c69
+636174696f6e2f6a736f6e0d0a202020202020202073656375726974793a0d0a20202020202020
+20202020202d206f617574683a0d0a202020202020202020202020202020202d2077726974650d
+0a2020202020202020202020202d2062617369633a205b5d0d0a2020202020202020706172616d
+65746572733a0d0a2020202020202020202020202d206e616d653a20617574686f72697a654372
+65646974436172640d0a2020202020202020202020202020696e3a20626f64790d0a2020202020
+202020202020202020736368656d613a0d0a20202020202020202020202020202020247265663a
+2027232f646566696e6974696f6e732f6372656174655472616e73616374696f6e526571756573
+74466f724368617267654143726564697443617264270d0a2020202020202020726573706f6e73
+65733a0d0a2020202020202020202027323030273a0d0a20202020202020202020202064657363
+72697074696f6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a2020202020
+202020202020202020247265663a2027232f646566696e6974696f6e732f63686172676541546f
+6b656e697a656443726564697443617264526573706f6e7365270d0a2020202020202020202020
+20782d6578616d706c653a207b7d0d0a2020202020202020202027343034273a0d0a2020202020
+202020202020206465736372697074696f6e3a2041646472657373206e6f742063726561746564
+0d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020202472
+65663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a20202020
+20202020202027353030273a0d0a2020202020202020202020206465736372697074696f6e3a20
+53797374656d204572726f722e0d0a202020202020202020202020736368656d613a0d0a202020
+2020202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f725265
+73706f6e736527202020200d0a2020202020202020202064656661756c743a0d0a202020202020
+2020202020206465736372697074696f6e3a20556e6578706563746564206572726f722e0d0a20
+2020202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a
+2027232f646566696e6974696f6e732f6572726f72526573706f6e7365272020200d0a20202020
+2f76312f7061796d656e745472616e73616374696f6e732f6361707475726550726576696f7573
+417574686f72697a6564416d6f756e743a200d0a2020202020706f73743a0d0a20202020202020
+20746167733a0d0a202020202020202020202d207061796d656e745472616e73616374696f6e2d
+7472616e73616374696f6e0d0a202020202020202073756d6d6172793a20436170747572652050
+726576696f757320417574686f72697a656420416d6f756e742e0d0a2020202020202020646573
+6372697074696f6e3a205573652074686973206d6574686f6420746f2063617074757265206675
+6e6473207265736572766564207769746820612070726576696f757320617574684f6e6c795472
+616e73616374696f6e207472616e73616374696f6e20726571756573742e0d0a20202020202020
+2070726f64756365733a0d0a2020202020202020202020202d206170706c69636174696f6e2f6a
+736f6e0d0a202020202020202073656375726974793a0d0a2020202020202020202020202d206f
+617574683a0d0a202020202020202020202020202020202d2077726974650d0a20202020202020
+20202020202d2062617369633a205b5d0d0a2020202020202020706172616d65746572733a0d0a
+2020202020202020202020202d206e616d653a206372656174654361707475726550726576696f
+7573417574686f72697a6564416d6f756e740d0a2020202020202020202020202020696e3a2062
+6f64790d0a2020202020202020202020202020736368656d613a0d0a2020202020202020202020
+2020202020247265663a2027232f646566696e6974696f6e732f63726561746543617074757265
+50726576696f7573417574686f72697a6564416d6f756e74270d0a202020202020202072657370
+6f6e7365733a0d0a2020202020202020202027323030273a0d0a20202020202020202020202064
+65736372697074696f6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a2020
+202020202020202020202020247265663a2027232f646566696e6974696f6e732f7472616e7361
+6374696f6e466f725061796d656e7473270d0a202020202020202020202020782d6578616d706c
+653a207b7d0d0a2020202020202020202027343034273a0d0a2020202020202020202020206465
+736372697074696f6e3a2041646472657373206e6f7420637265617465640d0a20202020202020
+2020202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f6465
+66696e6974696f6e732f6572726f72526573706f6e7365270d0a20202020202020202020273530
+30273a0d0a2020202020202020202020206465736372697074696f6e3a2053797374656d204572
+726f722e0d0a202020202020202020202020736368656d613a0d0a202020202020202020202020
+2020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365272020
+20200d0a2020202020202020202064656661756c743a0d0a202020202020202020202020646573
+6372697074696f6e3a20556e6578706563746564206572726f722e0d0a20202020202020202020
+2020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e
+6974696f6e732f6572726f72526573706f6e736527202020202020202020200d0a202020202f76
+312f7061796d656e745472616e73616374696f6e732f6361707475726546756e6473417574686f
+72697a65645468726f756768416e6f746865724368616e6e656c3a0d0a2020202020706f73743a
+0d0a2020202020202020746167733a0d0a202020202020202020202d207061796d656e74547261
+6e73616374696f6e2d7472616e73616374696f6e0d0a202020202020202073756d6d6172793a20
+436170747572652046756e647320417574686f72697a6564205468726f75676820416e6f746865
+72204368616e6e656c2e0d0a20202020202020206465736372697074696f6e3a20557365207468
+6973206d6574686f6420746f20636170747572652066756e647320776869636820686176652062
+65656e20617574686f72697a6564207468726f75676820616e6f74686572206368616e6e656c2c
+20737563682061732070686f6e6520617574686f72697a6174696f6e2e20496620796f75206e65
+656420746f206361707475726520616e20617574686f72697a654f6e6c795472616e7361637469
+6f6e2c20757365207072696f7241757468436170747572655472616e73616374696f6e20696e73
+746561642e0d0a202020202020202070726f64756365733a0d0a2020202020202020202020202d
+206170706c69636174696f6e2f6a736f6e0d0a202020202020202073656375726974793a0d0a20
+20202020202020202020202d206f617574683a0d0a202020202020202020202020202020202d20
+77726974650d0a2020202020202020202020202d2062617369633a205b5d0d0a20202020202020
+20706172616d65746572733a0d0a2020202020202020202020202d206e616d653a206372656174
+654361707475726546756e6473417574686f72697a65645468726f756768416e6f746865724368
+616e6e656c0d0a2020202020202020202020202020696e3a20626f64790d0a2020202020202020
+202020202020736368656d613a0d0a20202020202020202020202020202020247265663a202723
+2f646566696e6974696f6e732f6372656174654361707475726546756e6473417574686f72697a
+65645468726f756768416e6f746865724368616e6e656c270d0a2020202020202020726573706f
+6e7365733a0d0a2020202020202020202027323030273a0d0a2020202020202020202020206465
+736372697074696f6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a202020
+2020202020202020202020247265663a2027232f646566696e6974696f6e732f7472616e736163
+74696f6e466f725061796d656e7473270d0a202020202020202020202020782d6578616d706c65
+3a207b7d0d0a2020202020202020202027343034273a0d0a202020202020202020202020646573
+6372697074696f6e3a2041646472657373206e6f7420637265617465640d0a2020202020202020
+20202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566
+696e6974696f6e732f6572726f72526573706f6e7365270d0a2020202020202020202027353030
+273a0d0a2020202020202020202020206465736372697074696f6e3a2053797374656d20457272
+6f722e0d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020
+20247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e736527202020
+200d0a2020202020202020202064656661756c743a0d0a20202020202020202020202064657363
+72697074696f6e3a20556e6578706563746564206572726f722e0d0a2020202020202020202020
+20736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e69
+74696f6e732f6572726f72526573706f6e7365270d0a202020202f76312f7061796d656e745472
+616e73616374696f6e732f726566756e645472616e73616374696f6e3a200d0a2020202020706f
+73743a0d0a2020202020202020746167733a0d0a202020202020202020202d207061796d656e74
+5472616e73616374696f6e2d7472616e73616374696f6e0d0a202020202020202073756d6d6172
+793a20526566756e642041205472616e73616374696f6e2e0d0a20202020202020206465736372
+697074696f6e3a2054686973207472616e73616374696f6e207479706520697320757365642074
+6f20726566756e64206120637573746f6d657220666f722061207472616e73616374696f6e2074
+68617420776173207375636365737366756c6c7920736574746c6564207468726f756768207468
+65207061796d656e7420676174657761792e204e6f746520746861742063726564697420636172
+6420696e666f726d6174696f6e20616e642062616e6b206163636f756e7420696e666f726d6174
+696f6e20617265206d757475616c6c79206578636c75736976652c20736f20796f752073686f75
+6c64206e6f74207375626d697420626f74682e0d0a202020202020202070726f64756365733a0d
+0a2020202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a202020202020
+202073656375726974793a0d0a2020202020202020202020202d206f617574683a0d0a20202020
+2020202020202020202020202d2077726974650d0a2020202020202020202020202d2062617369
+633a205b5d0d0a2020202020202020706172616d65746572733a0d0a2020202020202020202020
+202d206e616d653a20726566756e645472616e73616374696f6e0d0a2020202020202020202020
+202020696e3a20626f64790d0a2020202020202020202020202020736368656d613a0d0a202020
+20202020202020202020202020247265663a2027232f646566696e6974696f6e732f6372656174
+65526566756e645472616e73616374696f6e270d0a2020202020202020726573706f6e7365733a
+0d0a2020202020202020202027323030273a0d0a20202020202020202020202064657363726970
+74696f6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a2020202020202020
+202020202020247265663a2027232f646566696e6974696f6e732f7472616e73616374696f6e46
+6f725061796d656e7473270d0a202020202020202020202020782d6578616d706c653a207b7d0d
+0a2020202020202020202027343034273a0d0a2020202020202020202020206465736372697074
+696f6e3a2041646472657373206e6f7420637265617465640d0a20202020202020202020202073
+6368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e697469
+6f6e732f6572726f72526573706f6e7365270d0a2020202020202020202027353030273a0d0a20
+20202020202020202020206465736372697074696f6e3a2053797374656d204572726f722e0d0a
+202020202020202020202020736368656d613a0d0a202020202020202020202020202024726566
+3a2027232f646566696e6974696f6e732f6572726f72526573706f6e736527202020200d0a2020
+202020202020202064656661756c743a0d0a202020202020202020202020646573637269707469
+6f6e3a20556e6578706563746564206572726f722e0d0a20202020202020202020202073636865
+6d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e73
+2f6572726f72526573706f6e7365270d0a202020202f76312f7061796d656e745472616e736163
+74696f6e732f766f6964415472616e73616374696f6e3a200d0a2020202020706f73743a0d0a20
+20202020202020746167733a0d0a202020202020202020202d207061796d656e745472616e7361
+6374696f6e2d7472616e73616374696f6e0d0a202020202020202073756d6d6172793a20566f69
+642041205472616e73616374696f6e2e0d0a20202020202020206465736372697074696f6e3a20
+54686973207472616e73616374696f6e20747970652063616e206265207573656420746f206361
+6e63656c2065697468657220616e206f726967696e616c207472616e73616374696f6e20746861
+74206973206e6f742079657420736574746c6564206f7220616e20656e74697265206f72646572
+20636f6d706f736564206f66206d6f7265207468616e206f6e65207472616e73616374696f6e2e
+204120566f69642070726576656e747320746865207472616e73616374696f6e206f7220746865
+206f726465722066726f6d206265696e672073656e7420666f7220736574746c656d656e742e20
+4120566f69642063616e206265207375626d697474656420616761696e737420616e79206f7468
+6572207472616e73616374696f6e20747970650d0a202020202020202070726f64756365733a0d
+0a2020202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a202020202020
+202073656375726974793a0d0a2020202020202020202020202d206f617574683a0d0a20202020
+2020202020202020202020202d2077726974650d0a2020202020202020202020202d2062617369
+633a205b5d0d0a2020202020202020706172616d65746572733a0d0a2020202020202020202020
+202d206e616d653a20766f6964415472616e73616374696f6e0d0a202020202020202020202020
+2020696e3a20626f64790d0a2020202020202020202020202020736368656d613a0d0a20202020
+202020202020202020202020247265663a2027232f646566696e6974696f6e732f637265617465
+566f69645472616e73616374696f6e270d0a2020202020202020726573706f6e7365733a0d0a20
+20202020202020202027323030273a0d0a2020202020202020202020206465736372697074696f
+6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a2020202020202020202020
+202020247265663a2027232f646566696e6974696f6e732f7472616e73616374696f6e466f7250
+61796d656e7473270d0a202020202020202020202020782d6578616d706c653a207b7d0d0a2020
+202020202020202027343034273a0d0a2020202020202020202020206465736372697074696f6e
+3a2041646472657373206e6f7420637265617465640d0a20202020202020202020202073636865
+6d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e73
+2f6572726f72526573706f6e7365270d0a2020202020202020202027353030273a0d0a20202020
+20202020202020206465736372697074696f6e3a2053797374656d204572726f722e0d0a202020
+202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a2027
+232f646566696e6974696f6e732f6572726f72526573706f6e736527202020200d0a2020202020
+202020202064656661756c743a0d0a2020202020202020202020206465736372697074696f6e3a
+20556e6578706563746564206572726f722e0d0a202020202020202020202020736368656d613a
+0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f6572
+726f72526573706f6e7365270d0a202020202f76312f7061796d656e745472616e73616374696f
+6e732f75706461746553706c697454656e64657247726f75703a0d0a20202020207075743a0d0a
+2020202020202020746167733a0d0a202020202020202020202d207061796d656e745472616e73
+616374696f6e2d7472616e73616374696f6e0d0a202020202020202073756d6d6172793a205570
+646174652053706c69742054656e6465722047726f75702e0d0a20202020202020206465736372
+697074696f6e3a2055736520746869732066756e6374696f6e20746f2075706461746520746865
+20737461747573206f6620616e206578697374696e67206f72646572207468617420636f6e7461
+696e73206d756c7469706c65207472616e73616374696f6e732077697468207468652073616d65
+2073706c697454656e64657249642076616c75652e0d0a202020202020202070726f6475636573
+3a0d0a2020202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a20202020
+2020202073656375726974793a0d0a2020202020202020202020202d206f617574683a0d0a2020
+20202020202020202020202020202d2077726974650d0a2020202020202020202020202d206261
+7369633a205b5d0d0a2020202020202020706172616d65746572733a0d0a202020202020202020
+202d206e616d653a206d65726368616e7441757468656e7469636174696f6e0d0a202020202020
+202020202020696e3a2071756572790d0a202020202020202020202020747970653a2073747269
+6e670d0a2020202020202020202020206465736372697074696f6e3a2027436f6e7461696e7320
+6d65726368616e742061757468656e7469636174696f6e20696e666f726d6174696f6e2e270d0a
+20202020202020202020202072657175697265643a20747275650d0a202020202020202020202d
+206e616d653a206e616d650d0a202020202020202020202020696e3a2071756572790d0a202020
+202020202020202020747970653a20737472696e670d0a20202020202020202020202064657363
+72697074696f6e3a20274d65726368616e74e280997320756e6971756520415049204c6f67696e
+2049442e270d0a20202020202020202020202072657175697265643a20747275650d0a20202020
+2020202020202d206e616d653a207472616e73616374696f6e4b65790d0a202020202020202020
+202020696e3a2071756572790d0a202020202020202020202020747970653a20737472696e670d
+0a2020202020202020202020206465736372697074696f6e3a20274d65726368616e74e2809973
+20756e69717565205472616e73616374696f6e204b65792e270d0a202020202020202020202020
+72657175697265643a20747275650d0a202020202020202020202d206e616d653a207265664964
+0d0a202020202020202020202020696e3a2071756572790d0a2020202020202020202020207479
+70653a20737472696e670d0a2020202020202020202020206465736372697074696f6e3a20274d
+65726368616e742d61737369676e6564207265666572656e636520494420666f72207468652072
+6571756573742e270d0a20202020202020202020202072657175697265643a2066616c73650d0a
+202020202020202020202d206e616d653a2073706c697454656e64657249640d0a202020202020
+202020202020696e3a2071756572790d0a202020202020202020202020747970653a2073747269
+6e670d0a2020202020202020202020206465736372697074696f6e3a20275061796d656e742067
+6174657761792d61737369676e6564206e756d626572206173736f636961746564207769746820
+746865206f726465722e270d0a20202020202020202020202072657175697265643a2074727565
+0d0a202020202020202020202d206e616d653a2073706c697454656e6465725374617475730d0a
+202020202020202020202020696e3a2071756572790d0a20202020202020202020202074797065
+3a20737472696e670d0a2020202020202020202020206465736372697074696f6e3a2027496e64
+6963617465732074686520737461747573206f6620616c6c207472616e73616374696f6e732061
+73736f636961746564207769746820746865206f726465722e270d0a2020202020202020202020
+2072657175697265643a2066616c736520200d0a2020202020202020726573706f6e7365733a0d
+0a2020202020202020202027323030273a0d0a2020202020202020202020206465736372697074
+696f6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a202020202020202020
+2020202020247265663a2027232f646566696e6974696f6e732f75706461746553706c69745465
+6e64657247726f7570526573706f6e7365270d0a202020202020202020202020782d6578616d70
+6c653a207b7d0d0a2020202020202020202027343034273a0d0a20202020202020202020202064
+65736372697074696f6e3a2041646472657373206e6f7420757064617465640d0a202020202020
+202020202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f64
+6566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020202020202020206465
+6661756c743a0d0a2020202020202020202020206465736372697074696f6e3a20556e65787065
+63746564206572726f722e0d0a202020202020202020202020736368656d613a0d0a2020202020
+202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f7252657370
+6f6e7365270d0a202020202f76312f7061796d656e745472616e73616374696f6e732f64656269
+744142616e6b4163636f756e743a200d0a202020202020706f73743a0d0a202020202020202074
+6167733a0d0a202020202020202020202d207061796d656e745472616e73616374696f6e2d7472
+616e73616374696f6e0d0a202020202020202073756d6d6172793a20446562697420412042616e
+6b204163636f756e742e0d0a20202020202020206465736372697074696f6e3a20557365207468
+6973206d6574686f6420746f2070726f6365737320616e20414348206465626974207472616e73
+616374696f6e207573696e672062616e6b206163636f756e742064657461696c732e0d0a202020
+202020202070726f64756365733a0d0a2020202020202020202020202d206170706c6963617469
+6f6e2f6a736f6e0d0a202020202020202073656375726974793a0d0a2020202020202020202020
+202d206f617574683a0d0a202020202020202020202020202020202d2077726974650d0a202020
+2020202020202020202d2062617369633a205b5d0d0a2020202020202020706172616d65746572
+733a0d0a2020202020202020202020202d206e616d653a2063726561746544656269744142616e
+6b4163636f756e740d0a2020202020202020202020202020696e3a20626f64790d0a2020202020
+202020202020202020736368656d613a0d0a20202020202020202020202020202020247265663a
+2027232f646566696e6974696f6e732f63726561746544656269744142616e6b4163636f756e74
+270d0a2020202020202020726573706f6e7365733a0d0a2020202020202020202027323030273a
+0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a2020202020202020
+20202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566
+696e6974696f6e732f7472616e73616374696f6e466f725061796d656e7473270d0a2020202020
+20202020202020782d6578616d706c653a207b7d0d0a2020202020202020202027343034273a0d
+0a2020202020202020202020206465736372697074696f6e3a2041646472657373206e6f742063
+7265617465640d0a202020202020202020202020736368656d613a0d0a20202020202020202020
+20202020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e736527
+0d0a2020202020202020202027353030273a0d0a20202020202020202020202064657363726970
+74696f6e3a2053797374656d204572726f722e0d0a202020202020202020202020736368656d61
+3a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f65
+72726f72526573706f6e736527202020200d0a2020202020202020202064656661756c743a0d0a
+2020202020202020202020206465736372697074696f6e3a20556e657870656374656420657272
+6f722e0d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020
+20247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a20
+2020202f76312f7061796d656e745472616e73616374696f6e732f6372656469744142616e6b41
+63636f756e743a200d0a202020202020706f73743a0d0a2020202020202020746167733a0d0a20
+2020202020202020202d207061796d656e745472616e73616374696f6e2d7472616e7361637469
+6f6e0d0a202020202020202073756d6d6172793a2043726564697420412042616e6b204163636f
+756e742e0d0a20202020202020206465736372697074696f6e3a2054686973207472616e736163
+74696f6e2074797065206973207573656420746f20726566756e64206120637573746f6d657220
+7573696e6720612062616e6b206163636f756e7420637265646974207472616e73616374696f6e
+2e0d0a202020202020202070726f64756365733a0d0a2020202020202020202020202d20617070
+6c69636174696f6e2f6a736f6e0d0a202020202020202073656375726974793a0d0a2020202020
+202020202020202d206f617574683a0d0a202020202020202020202020202020202d2077726974
+650d0a2020202020202020202020202d2062617369633a205b5d0d0a2020202020202020706172
+616d65746572733a0d0a2020202020202020202020202d206e616d653a20637265646974414261
+6e6b4163636f756e740d0a2020202020202020202020202020696e3a20626f64790d0a20202020
+20202020202020202020736368656d613a0d0a2020202020202020202020202020202024726566
+3a2027232f646566696e6974696f6e732f6372656174654372656469744142616e6b4163636f75
+6e74270d0a2020202020202020726573706f6e7365733a0d0a2020202020202020202027323030
+273a0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a202020202020
+202020202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f64
+6566696e6974696f6e732f6372656469744142616e6b4163636f756e74526573706f6e7365270d
+0a202020202020202020202020782d6578616d706c653a207b7d0d0a2020202020202020202027
+343034273a0d0a2020202020202020202020206465736372697074696f6e3a2041646472657373
+206e6f7420637265617465640d0a202020202020202020202020736368656d613a0d0a20202020
+20202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f72526573
+706f6e7365270d0a2020202020202020202027353030273a0d0a20202020202020202020202064
+65736372697074696f6e3a2053797374656d204572726f722e0d0a202020202020202020202020
+736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974
+696f6e732f6572726f72526573706f6e736527202020200d0a2020202020202020202064656661
+756c743a0d0a2020202020202020202020206465736372697074696f6e3a20556e657870656374
+6564206572726f722e0d0a202020202020202020202020736368656d613a0d0a20202020202020
+20202020202020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e
+7365270d0a202020202f76312f7061796d656e745472616e73616374696f6e732f636861726765
+41437573746f6d657250726f66696c653a200d0a202020202020706f73743a0d0a202020202020
+2020746167733a0d0a202020202020202020202d207061796d656e745472616e73616374696f6e
+2d7472616e73616374696f6e0d0a202020202020202073756d6d6172793a206368617267652061
+20437573746f6d65722050726f66696c652e0d0a20202020202020206465736372697074696f6e
+3a205573652074686973206d6574686f6420746f20617574686f72697a6520616e642063617074
+7572652061207061796d656e74207573696e6720612073746f72656420637573746f6d65722070
+61796d656e742070726f66696c652e0d0a202020202020202070726f64756365733a0d0a202020
+2020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a20202020202020207365
+6375726974793a0d0a2020202020202020202020202d206f617574683a0d0a2020202020202020
+20202020202020202d2077726974650d0a2020202020202020202020202d2062617369633a205b
+5d0d0a2020202020202020706172616d65746572733a0d0a2020202020202020202020202d206e
+616d653a2043686172676541437573746f6d657250726f66696c650d0a20202020202020202020
+20202020696e3a20626f64790d0a2020202020202020202020202020736368656d613a0d0a2020
+2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f63686172
+676541437573746f6d657250726f66696c65270d0a2020202020202020726573706f6e7365733a
+0d0a2020202020202020202027323030273a0d0a20202020202020202020202064657363726970
+74696f6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a2020202020202020
+202020202020247265663a2027232f646566696e6974696f6e732f63686172676541437573746f
+6d657250726f66696c65526573706f6e7365270d0a202020202020202020202020782d6578616d
+706c653a207b7d0d0a2020202020202020202027343034273a0d0a202020202020202020202020
+6465736372697074696f6e3a2041646472657373206e6f7420637265617465640d0a2020202020
+20202020202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f
+646566696e6974696f6e732f6572726f72526573706f6e7365270d0a2020202020202020202027
+353030273a0d0a2020202020202020202020206465736372697074696f6e3a2053797374656d20
+4572726f722e0d0a202020202020202020202020736368656d613a0d0a20202020202020202020
+20202020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e736527
+202020200d0a2020202020202020202064656661756c743a0d0a20202020202020202020202064
+65736372697074696f6e3a20556e6578706563746564206572726f722e0d0a2020202020202020
+20202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566
+696e6974696f6e732f6572726f72526573706f6e736527200d0a202020202f76312f7061796d65
+6e745472616e73616374696f6e732f63686172676541546f6b656e697a65644372656469744361
+72643a0d0a202020202020706f73743a0d0a2020202020202020746167733a0d0a202020202020
+202020202d207061796d656e745472616e73616374696f6e2d7472616e73616374696f6e0d0a20
+2020202020202073756d6d6172793a20436861726765204120546f6b656e697a65642043726564
+697420436172642e0d0a20202020202020206465736372697074696f6e3a205573652074686973
+206d6574686f6420746f20617574686f72697a6520616e6420636170747572652061207061796d
+656e74207573696e67206120746f6b656e697a6564206372656469742063617264206e756d6265
+722069737375656420627920612063657274696669656420746f6b656e2070726f76696465722e
+20546865207061796d656e742070726f636573736f72206d75737420737570706f727420706179
+6d656e74206e6574776f726b20746f6b656e697a6174696f6e2c20616e6420796f75206d757374
+207061737320696e20796f757220726571756573742074686520746f6b656e2c20746865206578
+7069726174696f6e20646174652c20616e64207468652063727970746f6772616d207265636569
+65642066726f6d2074686520746f6b656e2070726f76696465722e0d0a20202020202020207072
+6f64756365733a0d0a2020202020202020202020202d206170706c69636174696f6e2f6a736f6e
+0d0a202020202020202073656375726974793a0d0a2020202020202020202020202d206f617574
+683a0d0a202020202020202020202020202020202d2077726974650d0a20202020202020202020
+20202d2062617369633a205b5d0d0a2020202020202020706172616d65746572733a0d0a202020
+2020202020202020202d206e616d653a2063686172676541546f6b656e697a6564437265646974
+436172640d0a2020202020202020202020202020696e3a20626f64790d0a202020202020202020
+2020202020736368656d613a0d0a20202020202020202020202020202020247265663a2027232f
+646566696e6974696f6e732f63686172676541546f6b656e697a65644372656469744361726427
+0d0a2020202020202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d
+0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a202020202020202020
+202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f64656669
+6e6974696f6e732f63686172676541546f6b656e697a656443726564697443617264526573706f
+6e7365270d0a202020202020202020202020782d6578616d706c653a207b7d0d0a202020202020
+2020202027343034273a0d0a2020202020202020202020206465736372697074696f6e3a204164
+6472657373206e6f7420637265617465640d0a202020202020202020202020736368656d613a0d
+0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f657272
+6f72526573706f6e7365270d0a2020202020202020202027353030273a0d0a2020202020202020
+202020206465736372697074696f6e3a2053797374656d204572726f722e0d0a20202020202020
+2020202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f6465
+66696e6974696f6e732f6572726f72526573706f6e736527202020200d0a202020202020202020
+2064656661756c743a0d0a2020202020202020202020206465736372697074696f6e3a20556e65
+78706563746564206572726f722e0d0a202020202020202020202020736368656d613a0d0a2020
+202020202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f7252
+6573706f6e7365270d0a202020202f76312f6d6f62696c65496e4170705472616e736374696f6e
+732f637265617465416e4170706c655061795472616e73616374696f6e3a0d0a20202020202070
+6f73743a0d0a2020202020202020746167733a0d0a202020202020202020202d206d6f62696c65
+496e4170705472616e73616374696f6e730d0a202020202020202073756d6d6172793a20437265
+61746520416e204170706c6520506179205472616e73616374696f6e2e0d0a2020202020202020
+6465736372697074696f6e3a2055736520746869732066756e6374696f6e20746f206372656174
+6520616e20417574686f72697a652e6e6574207061796d656e74207472616e73616374696f6e20
+72657175657374207573696e67204170706c6520506179206461746120696e20706c616365206f
+66206361726420646174612e0d0a202020202020202070726f64756365733a0d0a202020202020
+2020202020202d206170706c69636174696f6e2f6a736f6e0d0a20202020202020207365637572
+6974793a0d0a2020202020202020202020202d206f617574683a0d0a2020202020202020202020
+20202020202d2077726974650d0a2020202020202020202020202d2062617369633a205b5d0d0a
+2020202020202020706172616d65746572733a0d0a2020202020202020202020202d206e616d65
+3a20637265617465416e4170706c655061795472616e73616374696f6e0d0a2020202020202020
+202020202020696e3a20626f64790d0a2020202020202020202020202020736368656d613a0d0a
+20202020202020202020202020202020247265663a2027232f646566696e6974696f6e732f6372
+656174655472616e73616374696f6e52657175657374466f72416e4170706c655061795472616e
+73616374696f6e270d0a2020202020202020726573706f6e7365733a0d0a202020202020202020
+2027323030273a0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a20
+2020202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a
+2027232f646566696e6974696f6e732f6372656174654d6f62696c65496e4170705472616e7361
+6374696f6e526573706f6e6365270d0a202020202020202020202020782d6578616d706c653a20
+7b7d0d0a2020202020202020202027343034273a0d0a2020202020202020202020206465736372
+697074696f6e3a2041646472657373206e6f7420637265617465640d0a20202020202020202020
+2020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e
+6974696f6e732f6572726f72526573706f6e7365270d0a2020202020202020202027353030273a
+0d0a2020202020202020202020206465736372697074696f6e3a2053797374656d204572726f72
+2e0d0a202020202020202020202020736368656d613a0d0a202020202020202020202020202024
+7265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e736527202020200d
+0a2020202020202020202064656661756c743a0d0a202020202020202020202020646573637269
+7074696f6e3a20556e6578706563746564206572726f722e0d0a20202020202020202020202073
+6368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e697469
+6f6e732f6572726f72526573706f6e7365270d0a202020202f76312f6d6f62696c65496e417070
+5472616e736374696f6e732f637265617465416e476f6f676c655061795472616e73616374696f
+6e3a0d0a202020202020706f73743a0d0a2020202020202020746167733a0d0a20202020202020
+2020202d206d6f62696c65496e4170705472616e73616374696f6e730d0a202020202020202073
+756d6d6172793a2043726561746520416e20476f6f676c6520506179205472616e73616374696f
+6e2e0d0a20202020202020206465736372697074696f6e3a2055736520746869732066756e6374
+696f6e20746f2063726561746520616e20417574686f72697a652e6e6574207061796d656e7420
+7472616e73616374696f6e2072657175657374207573696e6720476f6f676c6520506179206461
+746120696e20706c616365206f66206361726420646174612e0d0a202020202020202070726f64
+756365733a0d0a2020202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a
+202020202020202073656375726974793a0d0a2020202020202020202020202d206f617574683a
+0d0a202020202020202020202020202020202d2077726974650d0a202020202020202020202020
+2d2062617369633a205b5d0d0a2020202020202020706172616d65746572733a0d0a2020202020
+202020202020202d206e616d653a20637265617465416e476f6f676c655061795472616e736163
+74696f6e0d0a2020202020202020202020202020696e3a20626f64790d0a202020202020202020
+2020202020736368656d613a0d0a20202020202020202020202020202020247265663a2027232f
+646566696e6974696f6e732f6372656174655472616e73616374696f6e52657175657374466f72
+416e4170706c655061795472616e73616374696f6e270d0a2020202020202020726573706f6e73
+65733a0d0a2020202020202020202027323030273a0d0a20202020202020202020202064657363
+72697074696f6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a2020202020
+202020202020202020247265663a2027232f646566696e6974696f6e732f6372656174654d6f62
+696c65496e4170705472616e73616374696f6e526573706f6e6365270d0a202020202020202020
+202020782d6578616d706c653a207b7d0d0a2020202020202020202027343034273a0d0a202020
+2020202020202020206465736372697074696f6e3a2041646472657373206e6f74206372656174
+65640d0a202020202020202020202020736368656d613a0d0a2020202020202020202020202020
+247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a2020
+202020202020202027353030273a0d0a2020202020202020202020206465736372697074696f6e
+3a2053797374656d204572726f722e0d0a202020202020202020202020736368656d613a0d0a20
+20202020202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f72
+526573706f6e736527202020200d0a2020202020202020202064656661756c743a0d0a20202020
+20202020202020206465736372697074696f6e3a20556e6578706563746564206572726f722e0d
+0a202020202020202020202020736368656d613a0d0a2020202020202020202020202020247265
+663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020202f
+76312f70617950616c45787072657373436865636b6f75742f617574686f72697a6174696f6e4f
+6e6c793a0d0a202020202020706f73743a0d0a2020202020202020746167733a0d0a2020202020
+20202020202d2070617950616c45787072657373436865636b6f75740d0a202020202020202073
+756d6d6172793a20417574686f72697a6174696f6e204f6e6c792e0d0a20202020202020206465
+736372697074696f6e3a20416e20417574686f72697a6174696f6e204f6e6c7920726571756573
+74206e6f7469666965732050617950616c207468617420616e20617574686f72697a6174696f6e
+20686173206265656e20696e697469617465642062757420646f6573206e6f7420636f6d706c65
+74652074686520617574686f72697a6174696f6e2e2049742072657475726e7320612073656375
+72652055524c2077697468206120746f6b656e20617070656e64656420746f2069742e20546865
+20707572706f7365206f66207468697320746f6b656e20697320746f206964656e746966792074
+6865207472616e73616374696f6e207768656e2074686520637573746f6d657220697320726564
+6972656374656420746f2050617950616c2e0d0a202020202020202070726f64756365733a0d0a
+2020202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a20202020202020
+2073656375726974793a0d0a2020202020202020202020202d206f617574683a0d0a2020202020
+20202020202020202020202d2077726974650d0a2020202020202020202020202d206261736963
+3a205b5d0d0a2020202020202020706172616d65746572733a0d0a202020202020202020202020
+2d206e616d653a20637265617465417574686f72697a6174696f6e4f6e6c795472616e73616374
+696f6e0d0a2020202020202020202020202020696e3a20626f64790d0a20202020202020202020
+20202020736368656d613a0d0a20202020202020202020202020202020247265663a2027232f64
+6566696e6974696f6e732f637265617465417574686f72697a6174696f6e4f6e6c795472616e73
+616374696f6e270d0a2020202020202020726573706f6e7365733a0d0a20202020202020202020
+27323030273a0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a2020
+20202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a20
+27232f646566696e6974696f6e732f63726561746550617950616c417574686f72697a654f6e6c
+795472616e73616374696f6e526573706f6e6365270d0a202020202020202020202020782d6578
+616d706c653a207b7d0d0a2020202020202020202027343034273a0d0a20202020202020202020
+20206465736372697074696f6e3a2041646472657373206e6f7420637265617465640d0a202020
+202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a2027
+232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020202020202020
+2027353030273a0d0a2020202020202020202020206465736372697074696f6e3a205379737465
+6d204572726f722e0d0a202020202020202020202020736368656d613a0d0a2020202020202020
+202020202020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e73
+6527202020200d0a2020202020202020202064656661756c743a0d0a2020202020202020202020
+206465736372697074696f6e3a20556e6578706563746564206572726f722e0d0a202020202020
+202020202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f64
+6566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020202f76312f70617950
+616c45787072657373436865636b6f75742f617574686f72697a6174696f6e416e644361707475
+72653a0d0a202020202020706f73743a0d0a2020202020202020746167733a0d0a202020202020
+202020202d2070617950616c45787072657373436865636b6f75740d0a20202020202020207375
+6d6d6172793a20417574686f72697a6174696f6e20416e6420436170747572652e0d0a20202020
+202020206465736372697074696f6e3a20546869732074797065206f66207472616e7361637469
+6f6e20697320746865206d6f737420636f6d6d6f6e20616e64206973207468652064656661756c
+74207061796d656e742067617465776179207472616e73616374696f6e20747970652e204c696b
+652074686520417574686f72697a6174696f6e204f6e6c7920726571756573742c206974206e6f
+7469666965732050617950616c207468617420616e20417574686f72697a6174696f6e20616e64
+2043617074757265207472616e73616374696f6e20686173206265656e20696e69746961746564
+2c2062757420646f6573206e6f7420636f6d706c6574652074686520726571756573742e204974
+20616c736f2072657475726e732061207365637572652055524c2077697468206120746f6b656e
+20617070656e64656420746f2069742e2054686520707572706f7365206f66207468697320746f
+6b656e20697320746f206964656e7469667920746865207472616e73616374696f6e207768656e
+2074686520637573746f6d6572206973207265646972656374656420746f2050617950616c2e0d
+0a202020202020202070726f64756365733a0d0a2020202020202020202020202d206170706c69
+636174696f6e2f6a736f6e0d0a202020202020202073656375726974793a0d0a20202020202020
+20202020202d206f617574683a0d0a202020202020202020202020202020202d2077726974650d
+0a2020202020202020202020202d2062617369633a205b5d0d0a2020202020202020706172616d
+65746572733a0d0a2020202020202020202020202d206e616d653a20637265617465417574686f
+72697a6174696f6e416e64436170747572655472616e73616374696f6e0d0a2020202020202020
+202020202020696e3a20626f64790d0a2020202020202020202020202020736368656d613a0d0a
+20202020202020202020202020202020247265663a2027232f646566696e6974696f6e732f6372
+65617465417574686f72697a6174696f6e416e64436170747572655472616e73616374696f6e27
+0d0a2020202020202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d
+0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a202020202020202020
+202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f64656669
+6e6974696f6e732f63726561746550617950616c466f72417574686f72697a65416e6443617074
+7572655472616e73616374696f6e526573706f6e63270d0a202020202020202020202020782d65
+78616d706c653a207b7d0d0a2020202020202020202027343034273a0d0a202020202020202020
+2020206465736372697074696f6e3a2041646472657373206e6f7420637265617465640d0a2020
+20202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a20
+27232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a2020202020202020
+202027353030273a0d0a2020202020202020202020206465736372697074696f6e3a2053797374
+656d204572726f722e0d0a202020202020202020202020736368656d613a0d0a20202020202020
+20202020202020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e
+736527202020200d0a2020202020202020202064656661756c743a0d0a20202020202020202020
+20206465736372697074696f6e3a20556e6578706563746564206572726f722e0d0a2020202020
+20202020202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f
+646566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020202f76312f706179
+50616c45787072657373436865636b6f75742f67657444657461696c733a0d0a20202020202067
+65743a0d0a2020202020202020746167733a0d0a202020202020202020202d2070617950616c45
+787072657373436865636b6f75740d0a202020202020202073756d6d6172793a20476574206120
+44657461696c732e0d0a20202020202020206465736372697074696f6e3a204120476574204465
+7461696c73207472616e73616374696f6e2072657475726e7320637573746f6d6572e280997320
+50617950616c20506179657220494420616e64207368697070696e6720696e666f726d6174696f
+6e2e0d0a20202020202020206f7065726174696f6e49643a2067657444657461696c730d0a2020
+20202020202073656375726974793a0d0a202020202020202020202d206f617574683a0d0a2020
+2020202020202020202020202d20726561640d0a202020202020202020202d2062617369633a20
+5b5d0d0a2020202020202020706172616d65746572733a0d0a202020202020202020202d206e61
+6d653a206d65726368616e7441757468656e7469636174696f6e0d0a2020202020202020202020
+20696e3a2071756572790d0a202020202020202020202020747970653a20737472696e670d0a20
+202020202020202020202072657175697265643a20747275650d0a202020202020202020202020
+6465736372697074696f6e3a2027436f6e7461696e73206d65726368616e742061757468656e74
+69636174696f6e20696e666f726d6174696f6e2e270d0a202020202020202020202d206e616d65
+3a206e616d650d0a202020202020202020202020696e3a2071756572790d0a2020202020202020
+20202020747970653a20737472696e670d0a20202020202020202020202072657175697265643a
+20747275650d0a2020202020202020202020206465736372697074696f6e3a20274d6572636861
+6e74e280997320756e6971756520415049204c6f67696e2049442e270d0a202020202020202020
+202d206e616d653a207472616e73616374696f6e4b65790d0a202020202020202020202020696e
+3a2071756572790d0a202020202020202020202020747970653a20737472696e670d0a20202020
+202020202020202072657175697265643a20747275650d0a202020202020202020202020646573
+6372697074696f6e3a20274d65726368616e74e280997320756e69717565205472616e73616374
+696f6e204b65792e270d0a202020202020202020202d206e616d653a2072656649640d0a202020
+202020202020202020696e3a2071756572790d0a202020202020202020202020747970653a2073
+7472696e670d0a20202020202020202020202072657175697265643a2066616c73650d0a202020
+2020202020202020206465736372697074696f6e3a20274d65726368616e742d61737369676e65
+64207265666572656e636520494420666f722074686520726571756573742e270d0a2020202020
+20202020202d206e616d653a207472616e73616374696f6e526571756573740d0a202020202020
+202020202020696e3a2071756572790d0a202020202020202020202020747970653a2073747269
+6e670d0a20202020202020202020202072657175697265643a2066616c73650d0a202020202020
+202020202d206e616d653a207472616e73616374696f6e547970650d0a20202020202020202020
+2020696e3a2071756572790d0a202020202020202020202020747970653a20737472696e670d0a
+20202020202020202020202072657175697265643a2066616c73650d0a20202020202020202020
+20206465736372697074696f6e3a2027436f6e7461696e73206d65726368616e74206175746865
+6e7469636174696f6e20696e666f726d6174696f6e2e270d0a202020202020202020202d206e61
+6d653a207265665472616e7349640d0a202020202020202020202020696e3a2071756572790d0a
+202020202020202020202020747970653a20737472696e670d0a20202020202020202020202072
+657175697265643a2066616c73650d0a2020202020202020202020206465736372697074696f6e
+3a2027546865204944206f6620746865206f726967696e616c207472616e73616374696f6e2066
+726f6d20776869636820796f75206172652070756c6c696e672074686520506179657220494420
+616e64207368697070696e6720696e666f726d6174696f6e2e270d0a202020202020202070726f
+64756365733a0d0a202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a20
+20202020202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d0a2020
+202020202020202020206465736372697074696f6e3a204f4b0d0a202020202020202020202020
+736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974
+696f6e732f63726561746547657444657461696c73526573706f6e6365270d0a20202020202020
+2020202020782d6578616d706c653a207b7d0d0a2020202020202020202027343034273a0d0a20
+20202020202020202020206465736372697074696f6e3a2041646472657373206e6f7420637265
+617465640d0a202020202020202020202020736368656d613a0d0a202020202020202020202020
+2020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a
+2020202020202020202027353030273a0d0a202020202020202020202020646573637269707469
+6f6e3a2053797374656d204572726f722e0d0a202020202020202020202020736368656d613a0d
+0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f657272
+6f72526573706f6e736527202020200d0a2020202020202020202064656661756c743a0d0a2020
+202020202020202020206465736372697074696f6e3a20556e6578706563746564206572726f72
+2e0d0a202020202020202020202020736368656d613a0d0a202020202020202020202020202024
+7265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020
+202f76312f70617950616c45787072657373436865636b6f75742f617574686f72697a6174696f
+6e4f6e6c79436f6e74696e75653a0d0a202020202020706f73743a0d0a20202020202020207461
+67733a0d0a202020202020202020202d2070617950616c45787072657373436865636b6f75740d
+0a202020202020202073756d6d6172793a20417574686f72697a6174696f6e204f6e6c7920436f
+6e74696e75652e0d0a20202020202020206465736372697074696f6e3a20546869732072657175
+6573742c206966207375636365737366756c2c2061637475616c6c7920617574686f72697a6573
+20746865207472616e73616374696f6e2062757420646f6573206e6f7420636170747572652069
+742e0d0a202020202020202070726f64756365733a0d0a2020202020202020202020202d206170
+706c69636174696f6e2f6a736f6e0d0a202020202020202073656375726974793a0d0a20202020
+20202020202020202d206f617574683a0d0a202020202020202020202020202020202d20777269
+74650d0a2020202020202020202020202d2062617369633a205b5d0d0a20202020202020207061
+72616d65746572733a0d0a2020202020202020202020202d206e616d653a206372656174654175
+74686f72697a6174696f6e4f6e6c79436f6e74696e75655472616e73616374696f6e0d0a202020
+2020202020202020202020696e3a20626f64790d0a202020202020202020202020202073636865
+6d613a0d0a20202020202020202020202020202020247265663a2027232f646566696e6974696f
+6e732f637265617465417574686f72697a6174696f6e4f6e6c79436f6e74696e75655472616e73
+616374696f6e270d0a2020202020202020726573706f6e7365733a0d0a20202020202020202020
+27323030273a0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a2020
+20202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a20
+27232f646566696e6974696f6e732f63726561746547657444657461696c73526573706f6e6365
+270d0a202020202020202020202020782d6578616d706c653a207b7d0d0a202020202020202020
+2027343034273a0d0a2020202020202020202020206465736372697074696f6e3a204164647265
+7373206e6f7420637265617465640d0a202020202020202020202020736368656d613a0d0a2020
+202020202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f7252
+6573706f6e7365270d0a2020202020202020202027353030273a0d0a2020202020202020202020
+206465736372697074696f6e3a2053797374656d204572726f722e0d0a20202020202020202020
+2020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e
+6974696f6e732f6572726f72526573706f6e736527202020200d0a202020202020202020206465
+6661756c743a0d0a2020202020202020202020206465736372697074696f6e3a20556e65787065
+63746564206572726f722e0d0a202020202020202020202020736368656d613a0d0a2020202020
+202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f7252657370
+6f6e7365270d0a202020202f76312f70617950616c45787072657373436865636b6f75742f7072
+696f72417574686f72697a6174696f6e436170747572653a0d0a202020202020706f73743a0d0a
+2020202020202020746167733a0d0a202020202020202020202d2070617950616c457870726573
+73436865636b6f75740d0a202020202020202073756d6d6172793a205072696f7220417574686f
+72697a6174696f6e20436170747572652e0d0a20202020202020206465736372697074696f6e3a
+2054686973207472616e73616374696f6e2074797065206973207573656420746f206361707475
+726520616e20417574686f72697a6174696f6e204f6e6c792c20436f6e74696e75656420747261
+6e73616374696f6e207468617420776173207375636365737366756c6c7920617574686f72697a
+6564207468726f75676820746865207061796d656e7420676174657761792e0d0a202020202020
+202070726f64756365733a0d0a2020202020202020202020202d206170706c69636174696f6e2f
+6a736f6e0d0a202020202020202073656375726974793a0d0a2020202020202020202020202d20
+6f617574683a0d0a202020202020202020202020202020202d2077726974650d0a202020202020
+2020202020202d2062617369633a205b5d0d0a2020202020202020706172616d65746572733a0d
+0a2020202020202020202020202d206e616d653a206372656174655072696f72417574686f7269
+7a6174696f6e436170747572655472616e73616374696f6e0d0a20202020202020202020202020
+20696e3a20626f64790d0a2020202020202020202020202020736368656d613a0d0a2020202020
+2020202020202020202020247265663a2027232f646566696e6974696f6e732f63726561746550
+72696f72417574686f72697a6174696f6e436170747572655472616e73616374696f6e270d0a20
+20202020202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d0a2020
+202020202020202020206465736372697074696f6e3a204f4b0d0a202020202020202020202020
+736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974
+696f6e732f63726561746547657444657461696c73526573706f6e6365270d0a20202020202020
+2020202020782d6578616d706c653a207b7d0d0a2020202020202020202027343034273a0d0a20
+20202020202020202020206465736372697074696f6e3a2041646472657373206e6f7420637265
+617465640d0a202020202020202020202020736368656d613a0d0a202020202020202020202020
+2020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a
+2020202020202020202027353030273a0d0a202020202020202020202020646573637269707469
+6f6e3a2053797374656d204572726f722e0d0a202020202020202020202020736368656d613a0d
+0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f657272
+6f72526573706f6e736527202020200d0a2020202020202020202064656661756c743a0d0a2020
+202020202020202020206465736372697074696f6e3a20556e6578706563746564206572726f72
+2e0d0a202020202020202020202020736368656d613a0d0a202020202020202020202020202024
+7265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020
+202f76312f70617950616c45787072657373436865636b6f75742f617574686f72697a6174696f
+6e416e6443617074757265436f6e74696e75653a0d0a202020202020706f73743a0d0a20202020
+20202020746167733a0d0a202020202020202020202d2070617950616c45787072657373436865
+636b6f75740d0a202020202020202073756d6d6172793a20417574686f72697a6174696f6e2041
+6e64204361707475726520436f6e74696e75652e0d0a2020202020202020646573637269707469
+6f6e3a205468697320726571756573742061637475616c6c7920617574686f72697a657320616e
+6420636170747572657320746865207472616e73616374696f6e2e0d0a20202020202020207072
+6f64756365733a0d0a2020202020202020202020202d206170706c69636174696f6e2f6a736f6e
+0d0a202020202020202073656375726974793a0d0a2020202020202020202020202d206f617574
+683a0d0a202020202020202020202020202020202d2077726974650d0a20202020202020202020
+20202d2062617369633a205b5d0d0a2020202020202020706172616d65746572733a0d0a202020
+2020202020202020202d206e616d653a20637265617465417574686f72697a6174696f6e416e64
+43617074757265436f6e74696e75650d0a2020202020202020202020202020696e3a20626f6479
+0d0a2020202020202020202020202020736368656d613a0d0a2020202020202020202020202020
+2020247265663a2027232f646566696e6974696f6e732f637265617465417574686f72697a6174
+696f6e416e6443617074757265436f6e74696e7565270d0a2020202020202020726573706f6e73
+65733a0d0a2020202020202020202027323030273a0d0a20202020202020202020202064657363
+72697074696f6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a2020202020
+202020202020202020247265663a2027232f646566696e6974696f6e732f637265617465476574
+44657461696c73526573706f6e6365270d0a202020202020202020202020782d6578616d706c65
+3a207b7d0d0a2020202020202020202027343034273a0d0a202020202020202020202020646573
+6372697074696f6e3a2041646472657373206e6f7420637265617465640d0a2020202020202020
+20202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566
+696e6974696f6e732f6572726f72526573706f6e7365270d0a2020202020202020202027353030
+273a0d0a2020202020202020202020206465736372697074696f6e3a2053797374656d20457272
+6f722e0d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020
+20247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e736527202020
+200d0a2020202020202020202064656661756c743a0d0a20202020202020202020202064657363
+72697074696f6e3a20556e6578706563746564206572726f722e0d0a2020202020202020202020
+20736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e69
+74696f6e732f6572726f72526573706f6e736527200d0a202020202f76312f70617950616c4578
+7072657373436865636b6f75742f766f69643a0d0a202020202020706f73743a0d0a2020202020
+202020746167733a0d0a202020202020202020202d2070617950616c4578707265737343686563
+6b6f75740d0a202020202020202073756d6d6172793a20566f69640d0a20202020202020206465
+736372697074696f6e3a2054686973207472616e73616374696f6e20747970652063616e206265
+207573656420746f2063616e63656c20616e20617574686f72697a6174696f6e20746861742068
+6173206e6f7420796574206265656e2063617074757265642e20566f69642063616e2062652075
+736564206f6e6c7920696e2074686520666f6c6c6f77696e672073657175656e63652d20417574
+686f72697a6174696f6e204f6e6c79203e20417574686f72697a6174696f6e204f6e6c792c2043
+6f6e74696e756564203e20566f69642e0d0a202020202020202070726f64756365733a0d0a2020
+202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a202020202020202073
+656375726974793a0d0a2020202020202020202020202d206f617574683a0d0a20202020202020
+2020202020202020202d2077726974650d0a2020202020202020202020202d2062617369633a20
+5b5d0d0a2020202020202020706172616d65746572733a0d0a2020202020202020202020202d20
+6e616d653a20637265617465566f696450617950616c45787072657373436865636b4f75745472
+616e73616374696f6e0d0a2020202020202020202020202020696e3a20626f64790d0a20202020
+20202020202020202020736368656d613a0d0a2020202020202020202020202020202024726566
+3a2027232f646566696e6974696f6e732f637265617465566f696450617950616c457870726573
+73436865636b4f75745472616e73616374696f6e270d0a2020202020202020726573706f6e7365
+733a0d0a2020202020202020202027323030273a0d0a2020202020202020202020206465736372
+697074696f6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a202020202020
+2020202020202020247265663a2027232f646566696e6974696f6e732f7472616e73616374696f
+6e466f725061796d656e7473270d0a202020202020202020202020782d6578616d706c653a207b
+7d0d0a2020202020202020202027343034273a0d0a202020202020202020202020646573637269
+7074696f6e3a2041646472657373206e6f7420637265617465640d0a2020202020202020202020
+20736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e69
+74696f6e732f6572726f72526573706f6e7365270d0a2020202020202020202027353030273a0d
+0a2020202020202020202020206465736372697074696f6e3a2053797374656d204572726f722e
+0d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020202472
+65663a2027232f646566696e6974696f6e732f6572726f72526573706f6e736527202020200d0a
+2020202020202020202064656661756c743a0d0a20202020202020202020202064657363726970
+74696f6e3a20556e6578706563746564206572726f722e0d0a2020202020202020202020207363
+68656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f
+6e732f6572726f72526573706f6e7365270d0a202020202f76312f70617950616c457870726573
+73436865636b6f75742f6372656469743a0d0a202020202020706f73743a0d0a20202020202020
+20746167733a0d0a202020202020202020202d2070617950616c45787072657373436865636b6f
+75740d0a202020202020202073756d6d6172793a204372656469742e0d0a202020202020202064
+65736372697074696f6e3a2054686973207472616e73616374696f6e20747970652063616e2062
+65207573656420746f2063616e63656c20616e20617574686f72697a6174696f6e207468617420
+686173206e6f7420796574206265656e2063617074757265642e20566f69642063616e20626520
+75736564206f6e6c7920696e2074686520666f6c6c6f77696e672073657175656e63652d204175
+74686f72697a6174696f6e204f6e6c79203e20417574686f72697a6174696f6e204f6e6c792c20
+436f6e74696e756564203e20566f69642e0d0a202020202020202070726f64756365733a0d0a20
+20202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a2020202020202020
+73656375726974793a0d0a2020202020202020202020202d206f617574683a0d0a202020202020
+202020202020202020202d2077726974650d0a2020202020202020202020202d2062617369633a
+205b5d0d0a2020202020202020706172616d65746572733a0d0a2020202020202020202020202d
+206e616d653a206372656174654372656469745472616e73616374696f6e0d0a20202020202020
+20202020202020696e3a20626f64790d0a2020202020202020202020202020736368656d613a0d
+0a20202020202020202020202020202020247265663a2027232f646566696e6974696f6e732f63
+72656174654372656469745472616e73616374696f6e270d0a2020202020202020726573706f6e
+7365733a0d0a2020202020202020202027323030273a0d0a202020202020202020202020646573
+6372697074696f6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a20202020
+20202020202020202020247265663a2027232f646566696e6974696f6e732f6372656469745265
+73706f6e6365270d0a202020202020202020202020782d6578616d706c653a207b7d0d0a202020
+2020202020202027343034273a0d0a2020202020202020202020206465736372697074696f6e3a
+2041646472657373206e6f7420637265617465640d0a202020202020202020202020736368656d
+613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f
+6572726f72526573706f6e7365270d0a2020202020202020202027353030273a0d0a2020202020
+202020202020206465736372697074696f6e3a2053797374656d204572726f722e0d0a20202020
+2020202020202020736368656d613a0d0a2020202020202020202020202020247265663a202723
+2f646566696e6974696f6e732f6572726f72526573706f6e736527202020200d0a202020202020
+2020202064656661756c743a0d0a2020202020202020202020206465736372697074696f6e3a20
+556e6578706563746564206572726f722e0d0a202020202020202020202020736368656d613a0d
+0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f657272
+6f72526573706f6e7365270d0a202020202f76312f66726175644d616e6167656d656e742f6765
+7448656c645472616e73616374696f6e4c6973743a0d0a2020202020206765743a0d0a20202020
+20202020746167733a0d0a202020202020202020202d2066726175644d616e6167656d656e740d
+0a202020202020202073756d6d6172793a204765742048656c64205472616e73616374696f6e20
+4c6973742e0d0a20202020202020206465736372697074696f6e3a205573652074686973206675
+6e6374696f6e20746f20676574206461746120666f7220737573706963696f7573207472616e73
+616374696f6e732e205468652066756e6374696f6e2077696c6c2072657475726e206461746120
+666f7220757020746f2031303030206f6620746865206d6f737420726563656e74207472616e73
+616374696f6e7320696e20612073696e676c6520726571756573742e20506167696e67206f7074
+696f6e732063616e2062652073656e7420746f206c696d69742074686520726573756c74207365
+74206f7220746f207265747269657665206164646974696f6e616c207472616e73616374696f6e
+73206265796f6e64207468652031303030207472616e73616374696f6e206c696d69742e20596f
+752063616e206164642074686520736f7274696e6720616e6420706167696e67206f7074696f6e
+732073686f776e2062656c6f7720746f20637573746f6d697a652074686520726573756c742073
+65742e0d0a20202020202020206f7065726174696f6e49643a2067657448656c645472616e7361
+6374696f6e4c6973740d0a202020202020202070726f64756365733a0d0a202020202020202020
+2020202d206170706c69636174696f6e2f6a736f6e0d0a20202020202020207365637572697479
+3a0d0a2020202020202020202020202d206f617574683a0d0a2020202020202020202020202020
+20202d2077726974650d0a2020202020202020202020202d2062617369633a205b5d0d0a202020
+2020202020706172616d65746572733a0d0a202020202020202020202d206e616d653a206d6572
+6368616e7441757468656e7469636174696f6e0d0a202020202020202020202020696e3a207175
+6572790d0a202020202020202020202020747970653a20737472696e670d0a2020202020202020
+202020206465736372697074696f6e3a2027436f6e7461696e73206d65726368616e7420617574
+68656e7469636174696f6e20696e666f726d6174696f6e2e270d0a202020202020202020202020
+72657175697265643a20747275650d0a202020202020202020202d206e616d653a206e616d650d
+0a202020202020202020202020696e3a2071756572790d0a202020202020202020202020747970
+653a20737472696e670d0a2020202020202020202020206465736372697074696f6e3a20274d65
+726368616e74e280997320756e6971756520415049204c6f67696e2049442e270d0a2020202020
+2020202020202072657175697265643a207472756520200d0a202020202020202020202d206e61
+6d653a207472616e73616374696f6e4b65790d0a202020202020202020202020696e3a20717565
+72790d0a202020202020202020202020747970653a20737472696e670d0a202020202020202020
+20202072657175697265643a2066616c73650d0a20202020202020202020202064657363726970
+74696f6e3a20274d65726368616e74e280997320756e69717565205472616e73616374696f6e20
+4b65792e270d0a202020202020202020202d206e616d653a2072656649640d0a20202020202020
+2020202020696e3a2071756572790d0a202020202020202020202020747970653a20737472696e
+670d0a20202020202020202020202072657175697265643a2066616c73650d0a20202020202020
+20202020206465736372697074696f6e3a20274d65726368616e742d61737369676e6564207265
+666572656e636520494420666f722074686520726571756573742e270d0a202020202020202020
+202d206e616d653a207374617475730d0a202020202020202020202020696e3a2071756572790d
+0a202020202020202020202020747970653a20737472696e670d0a202020202020202020202020
+72657175697265643a20747275650d0a202020202020202020202d206e616d653a20736f727469
+6e670d0a202020202020202020202020696e3a2071756572790d0a202020202020202020202020
+747970653a20737472696e670d0a2020202020202020202020206465736372697074696f6e3a20
+27436f6e7461696e7320736f7274696e6720696e666f726d6174696f6e2e270d0a202020202020
+20202020202072657175697265643a2066616c736520200d0a202020202020202020202d206e61
+6d653a206f7264657242790d0a202020202020202020202020696e3a2071756572790d0a202020
+202020202020202020747970653a20737472696e670d0a20202020202020202020202072657175
+697265643a2066616c73650d0a2020202020202020202020206465736372697074696f6e3a2027
+4f72646572206f66207472616e73616374696f6e7320696e20726573706f6e73652e270d0a2020
+20202020202020202d206e616d653a206f7264657244657363656e64696e670d0a202020202020
+202020202020696e3a2071756572790d0a202020202020202020202020747970653a20626f6f6c
+65616e0d0a20202020202020202020202072657175697265643a2066616c73650d0a2020202020
+202020202020206465736372697074696f6e3a2027536f727420746865207472616e7361637469
+6f6e7320696e2064657363656e64696e67206f726465722e27200d0a202020202020202020202d
+206e616d653a20706167696e670d0a202020202020202020202020696e3a2071756572790d0a20
+2020202020202020202020747970653a20737472696e670d0a2020202020202020202020207265
+7175697265643a2066616c73650d0a2020202020202020202020206465736372697074696f6e3a
+2027436f6e7461696e7320706167696e6720696e666f726d6174696f6e2e2720200d0a20202020
+2020202020202d206e616d653a206c696d69740d0a202020202020202020202020696e3a207175
+6572790d0a202020202020202020202020747970653a20737472696e670d0a2020202020202020
+2020202072657175697265643a2066616c73650d0a202020202020202020202020646573637269
+7074696f6e3a2027546865206e756d626572206f66207472616e73616374696f6e732070657220
+706167652e27200d0a202020202020202020202d206e616d653a206f66667365740d0a20202020
+2020202020202020696e3a2071756572790d0a202020202020202020202020747970653a207374
+72696e670d0a20202020202020202020202072657175697265643a2066616c73650d0a20202020
+20202020202020206465736372697074696f6e3a2027546865206e756d626572206f6620746865
+207061676520746f2072657475726e20726573756c74732066726f6d2e2720200d0a2020202020
+202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d0a202020202020
+2020202020206465736372697074696f6e3a204f4b0d0a20202020202020202020202073636865
+6d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e73
+2f7472616e73616374696f6e73270d0a202020202020202020202020782d6578616d706c653a20
+7b7d0d0a2020202020202020202027343034273a0d0a2020202020202020202020206465736372
+697074696f6e3a2041646472657373206e6f7420637265617465640d0a20202020202020202020
+2020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e
+6974696f6e732f6572726f72526573706f6e7365270d0a2020202020202020202027353030273a
+0d0a2020202020202020202020206465736372697074696f6e3a2053797374656d204572726f72
+2e0d0a202020202020202020202020736368656d613a0d0a202020202020202020202020202024
+7265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e736527202020200d
+0a2020202020202020202064656661756c743a0d0a202020202020202020202020646573637269
+7074696f6e3a20556e6578706563746564206572726f722e0d0a20202020202020202020202073
+6368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e697469
+6f6e732f6572726f72526573706f6e7365270d0a202020202f76312f66726175644d616e616765
+6d656e742f617070726f76654f724465636c696e6548656c645472616e73616374696f6e3a0d0a
+202020202020706f73743a0d0a2020202020202020746167733a0d0a202020202020202020202d
+2066726175644d616e6167656d656e740d0a202020202020202073756d6d6172793a2041707072
+6f7665204f72204465636c696e652048656c64205472616e73616374696f6e2e0d0a2020202020
+2020206465736372697074696f6e3a20417070726f7665206f72204465636c696e652061206865
+6c64205472616e73616374696f6e2e0d0a202020202020202070726f64756365733a0d0a202020
+2020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a20202020202020207365
+6375726974793a0d0a2020202020202020202020202d206f617574683a0d0a2020202020202020
+20202020202020202d2077726974650d0a2020202020202020202020202d2062617369633a205b
+5d0d0a2020202020202020706172616d65746572733a0d0a2020202020202020202020202d206e
+616d653a20637265617465417070726f76654f724465636c696e6548656c645472616e73616374
+696f6e0d0a2020202020202020202020202020696e3a20626f64790d0a20202020202020202020
+20202020736368656d613a0d0a20202020202020202020202020202020247265663a2027232f64
+6566696e6974696f6e732f637265617465417070726f76654f724465636c696e6548656c645472
+616e73616374696f6e270d0a2020202020202020726573706f6e7365733a0d0a20202020202020
+20202027323030273a0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d
+0a202020202020202020202020736368656d613a0d0a2020202020202020202020202020247265
+663a2027232f646566696e6974696f6e732f66726175644d616e6167656d656e74526573706f6e
+6365270d0a202020202020202020202020782d6578616d706c653a207b7d0d0a20202020202020
+20202027343034273a0d0a2020202020202020202020206465736372697074696f6e3a20416464
+72657373206e6f7420637265617465640d0a202020202020202020202020736368656d613a0d0a
+2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f
+72526573706f6e7365270d0a2020202020202020202027353030273a0d0a202020202020202020
+2020206465736372697074696f6e3a2053797374656d204572726f722e0d0a2020202020202020
+20202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566
+696e6974696f6e732f6572726f72526573706f6e736527202020200d0a20202020202020202020
+64656661756c743a0d0a2020202020202020202020206465736372697074696f6e3a20556e6578
+706563746564206572726f722e0d0a202020202020202020202020736368656d613a0d0a202020
+2020202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f725265
+73706f6e7365270d0a202020202f76312f726563757272696e6742696c6c696e672f6372656174
+6541537562736372697074696f6e3a0d0a202020202020706f73743a0d0a202020202020202074
+6167733a0d0a202020202020202020202d20726563757272696e6742696c6c696e670d0a202020
+202020202073756d6d6172793a20526563757272696e672042696c6c696e672e0d0a2020202020
+2020206465736372697074696f6e3a20526563757272696e672042696c6c696e6720415049206d
+6574686f647320656e61626c6520796f7520746f206d616e61676520726567756c617220706179
+6d656e7420737562736372697074696f6e732e0d0a202020202020202070726f64756365733a0d
+0a2020202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a202020202020
+202073656375726974793a0d0a2020202020202020202020202d206f617574683a0d0a20202020
+2020202020202020202020202d2077726974650d0a2020202020202020202020202d2062617369
+633a205b5d0d0a2020202020202020706172616d65746572733a0d0a2020202020202020202020
+202d206e616d653a2063726561746541537562736372697074696f6e0d0a202020202020202020
+2020202020696e3a20626f64790d0a2020202020202020202020202020736368656d613a0d0a20
+202020202020202020202020202020247265663a2027232f646566696e6974696f6e732f637265
+61746541537562736372697074696f6e270d0a2020202020202020726573706f6e7365733a0d0a
+2020202020202020202027323030273a0d0a202020202020202020202020646573637269707469
+6f6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a20202020202020202020
+20202020247265663a2027232f646566696e6974696f6e732f6372656174655375627363726970
+74696f6e526573706f6e6365270d0a202020202020202020202020782d6578616d706c653a207b
+7d0d0a2020202020202020202027343034273a0d0a202020202020202020202020646573637269
+7074696f6e3a2041646472657373206e6f7420637265617465640d0a2020202020202020202020
+20736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e69
+74696f6e732f6572726f72526573706f6e7365270d0a2020202020202020202027353030273a0d
+0a2020202020202020202020206465736372697074696f6e3a2053797374656d204572726f722e
+0d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020202472
+65663a2027232f646566696e6974696f6e732f6572726f72526573706f6e736527202020200d0a
+2020202020202020202064656661756c743a0d0a20202020202020202020202064657363726970
+74696f6e3a20556e6578706563746564206572726f722e0d0a2020202020202020202020207363
+68656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f
+6e732f6572726f72526573706f6e7365270d0a202020202f76312f726563757272696e6742696c
+6c696e672f63726561746541537562736372697074696f6e46726f6d437573746f6d657250726f
+66696c653a0d0a202020202020706f73743a0d0a2020202020202020746167733a0d0a20202020
+2020202020202d20726563757272696e6742696c6c696e670d0a202020202020202073756d6d61
+72793a20437265617465206120537562736372697074696f6e2066726f6d20437573746f6d6572
+2050726f66696c652e0d0a20202020202020206465736372697074696f6e3a2054686973207265
+717565737420656e61626c657320796f7520746f20637265617465206120726563757272696e67
+2062696c6c696e6720737562736372697074696f6e2066726f6d20616e206578697374696e6720
+637573746f6d65722070726f66696c652e0d0a202020202020202070726f64756365733a0d0a20
+20202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a2020202020202020
+73656375726974793a0d0a2020202020202020202020202d206f617574683a0d0a202020202020
+202020202020202020202d2077726974650d0a2020202020202020202020202d2062617369633a
+205b5d0d0a2020202020202020706172616d65746572733a0d0a2020202020202020202020202d
+206e616d653a2063726561746541537562736372697074696f6e46726f6d437573746f6d657250
+726f66696c650d0a2020202020202020202020202020696e3a20626f64790d0a20202020202020
+20202020202020736368656d613a0d0a20202020202020202020202020202020247265663a2027
+232f646566696e6974696f6e732f63726561746541537562736372697074696f6e46726f6d4375
+73746f6d657250726f66696c65270d0a2020202020202020726573706f6e7365733a0d0a202020
+2020202020202027323030273a0d0a2020202020202020202020206465736372697074696f6e3a
+204f4b0d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020
+20247265663a2027232f646566696e6974696f6e732f6372656174654153756273637269707469
+6f6e46726f6d437573746f6d657250726f66696c65526573706f6e6365270d0a20202020202020
+2020202020782d6578616d706c653a207b7d0d0a2020202020202020202027343034273a0d0a20
+20202020202020202020206465736372697074696f6e3a2041646472657373206e6f7420637265
+617465640d0a202020202020202020202020736368656d613a0d0a202020202020202020202020
+2020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a
+2020202020202020202027353030273a0d0a202020202020202020202020646573637269707469
+6f6e3a2053797374656d204572726f722e0d0a202020202020202020202020736368656d613a0d
+0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f657272
+6f72526573706f6e736527202020200d0a2020202020202020202064656661756c743a0d0a2020
+202020202020202020206465736372697074696f6e3a20556e6578706563746564206572726f72
+2e0d0a202020202020202020202020736368656d613a0d0a202020202020202020202020202024
+7265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020
+202f76312f726563757272696e6742696c6c696e672f676574537562736372697074696f6e3a0d
+0a2020202020206765743a0d0a2020202020202020746167733a0d0a202020202020202020202d
+20726563757272696e6742696c6c696e670d0a202020202020202073756d6d6172793a20476574
+20537562736372697074696f6e2e0d0a20202020202020206465736372697074696f6e3a205265
+7472696576657320616e206578697374696e672041524220737562736372697074696f6e2e0d0a
+20202020202020206f7065726174696f6e49643a20676574537562736372697074696f6e0d0a20
+2020202020202070726f64756365733a0d0a2020202020202020202020202d206170706c696361
+74696f6e2f6a736f6e0d0a202020202020202073656375726974793a0d0a202020202020202020
+2020202d206f617574683a0d0a202020202020202020202020202020202d2077726974650d0a20
+20202020202020202020202d2062617369633a205b5d0d0a2020202020202020706172616d6574
+6572733a0d0a202020202020202020202d206e616d653a206d65726368616e7441757468656e74
+69636174696f6e0d0a202020202020202020202020696e3a2071756572790d0a20202020202020
+2020202020747970653a20737472696e670d0a2020202020202020202020206465736372697074
+696f6e3a2027436f6e7461696e73206d65726368616e742061757468656e7469636174696f6e20
+696e666f726d6174696f6e2e270d0a20202020202020202020202072657175697265643a207472
+75650d0a202020202020202020202d206e616d653a206e616d650d0a2020202020202020202020
+20696e3a2071756572790d0a202020202020202020202020747970653a20737472696e670d0a20
+20202020202020202020206465736372697074696f6e3a20274d65726368616e74e28099732075
+6e6971756520415049204c6f67696e2049442e270d0a2020202020202020202020207265717569
+7265643a207472756520200d0a202020202020202020202d206e616d653a207472616e73616374
+696f6e4b65790d0a202020202020202020202020696e3a2071756572790d0a2020202020202020
+20202020747970653a20696e74656765720d0a2020202020202020202020207265717569726564
+3a20747275650d0a2020202020202020202020206465736372697074696f6e3a20274d65726368
+616e74e280997320756e69717565205472616e73616374696f6e204b65792e2720200d0a202020
+202020202020202d206e616d653a2072656649640d0a202020202020202020202020696e3a2071
+756572790d0a202020202020202020202020747970653a20737472696e670d0a20202020202020
+20202020206465736372697074696f6e3a20274d65726368616e742d61737369676e6564207265
+666572656e636520494420666f722074686520726571756573742e270d0a202020202020202020
+20202072657175697265643a2066616c73650d0a202020202020202020202d206e616d653a2073
+7562736372697074696f6e49640d0a202020202020202020202020696e3a2071756572790d0a20
+2020202020202020202020747970653a20737472696e670d0a2020202020202020202020206465
+736372697074696f6e3a2027546865207061796d656e7420676174657761792d61737369676e65
+64206964656e74696669636174696f6e206e756d62657220666f72207468652073756273637269
+7074696f6e2e270d0a20202020202020202020202072657175697265643a207472756520200d0a
+202020202020202020202d206e616d653a20696e636c7564655472616e73616374696f6e730d0a
+202020202020202020202020696e3a2071756572790d0a20202020202020202020202074797065
+3a20696e74656765720d0a20202020202020202020202072657175697265643a2066616c73650d
+0a2020202020202020202020206465736372697074696f6e3a2027496e64696361746573207768
+657468657220746f20696e636c75646520696e666f726d6174696f6e2061626f7574207472616e
+73616374696f6e7320666f72207468697320737562736372697074696f6e2e270d0a2020202020
+202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d0a202020202020
+2020202020206465736372697074696f6e3a204f4b0d0a20202020202020202020202073636865
+6d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e73
+2f676574537562736372697074696f6e526573706f6e6365270d0a202020202020202020202020
+782d6578616d706c653a207b7d0d0a2020202020202020202027343034273a0d0a202020202020
+2020202020206465736372697074696f6e3a2041646472657373206e6f7420637265617465640d
+0a202020202020202020202020736368656d613a0d0a2020202020202020202020202020247265
+663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a2020202020
+202020202027353030273a0d0a2020202020202020202020206465736372697074696f6e3a2053
+797374656d204572726f722e0d0a202020202020202020202020736368656d613a0d0a20202020
+20202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f72526573
+706f6e736527202020200d0a2020202020202020202064656661756c743a0d0a20202020202020
+20202020206465736372697074696f6e3a20556e6578706563746564206572726f722e0d0a2020
+20202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a20
+27232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020202f76312f
+726563757272696e6742696c6c696e672f676574537562736372697074696f6e5374617475733a
+0d0a2020202020206765743a0d0a2020202020202020746167733a0d0a20202020202020202020
+2d20726563757272696e6742696c6c696e670d0a202020202020202073756d6d6172793a204765
+7420537562736372697074696f6e205374617475732e0d0a202020202020202064657363726970
+74696f6e3a205265747269657665732074686520737461747573206f6620616e20657869737469
+6e672041524220737562736372697074696f6e2e0d0a20202020202020206f7065726174696f6e
+49643a20676574537562736372697074696f6e5374617475730d0a202020202020202070726f64
+756365733a0d0a2020202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a
+202020202020202073656375726974793a0d0a2020202020202020202020202d206f617574683a
+0d0a202020202020202020202020202020202d2077726974650d0a202020202020202020202020
+2d2062617369633a205b5d0d0a2020202020202020706172616d65746572733a0d0a2020202020
+20202020202d206e616d653a206d65726368616e7441757468656e7469636174696f6e0d0a2020
+20202020202020202020696e3a2071756572790d0a202020202020202020202020747970653a20
+737472696e670d0a2020202020202020202020206465736372697074696f6e3a2027436f6e7461
+696e73206d65726368616e742061757468656e7469636174696f6e20696e666f726d6174696f6e
+2e270d0a20202020202020202020202072657175697265643a20747275650d0a20202020202020
+2020202d206e616d653a206e616d650d0a202020202020202020202020696e3a2071756572790d
+0a202020202020202020202020747970653a20737472696e670d0a202020202020202020202020
+6465736372697074696f6e3a20274d65726368616e74e280997320756e6971756520415049204c
+6f67696e2049442e270d0a20202020202020202020202072657175697265643a20747275652020
+0d0a202020202020202020202d206e616d653a207472616e73616374696f6e4b65790d0a202020
+202020202020202020696e3a2071756572790d0a202020202020202020202020747970653a2069
+6e74656765720d0a20202020202020202020202072657175697265643a20747275650d0a202020
+2020202020202020206465736372697074696f6e3a20274d65726368616e74e280997320756e69
+717565205472616e73616374696f6e204b65792e2720200d0a202020202020202020202d206e61
+6d653a2072656649640d0a202020202020202020202020696e3a2071756572790d0a2020202020
+20202020202020747970653a20737472696e670d0a202020202020202020202020646573637269
+7074696f6e3a20274d65726368616e742d61737369676e6564207265666572656e636520494420
+666f722074686520726571756573742e270d0a2020202020202020202020207265717569726564
+3a2066616c73650d0a202020202020202020202d206e616d653a20737562736372697074696f6e
+49640d0a202020202020202020202020696e3a2071756572790d0a202020202020202020202020
+747970653a20696e74656765720d0a2020202020202020202020206465736372697074696f6e3a
+2027546865207061796d656e7420676174657761792d61737369676e6564206964656e74696669
+636174696f6e206e756d62657220666f722074686520737562736372697074696f6e2e270d0a20
+202020202020202020202072657175697265643a20747275650d0a202020202020202072657370
+6f6e7365733a0d0a2020202020202020202027323030273a0d0a20202020202020202020202064
+65736372697074696f6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a2020
+202020202020202020202020247265663a2027232f646566696e6974696f6e732f676574537562
+736372697074696f6e537461747573526573706f6e6365270d0a20202020202020202020202078
+2d6578616d706c653a207b7d0d0a2020202020202020202027343034273a0d0a20202020202020
+20202020206465736372697074696f6e3a2041646472657373206e6f7420637265617465640d0a
+202020202020202020202020736368656d613a0d0a202020202020202020202020202024726566
+3a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020202020
+2020202027353030273a0d0a2020202020202020202020206465736372697074696f6e3a205379
+7374656d204572726f722e0d0a202020202020202020202020736368656d613a0d0a2020202020
+202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f7252657370
+6f6e736527202020200d0a2020202020202020202064656661756c743a0d0a2020202020202020
+202020206465736372697074696f6e3a20556e6578706563746564206572726f722e0d0a202020
+202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a2027
+232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020202f76312f72
+6563757272696e6742696c6c696e672f757064617465537562736372697074696f6e3a0d0a2020
+202020207075743a0d0a2020202020202020746167733a0d0a202020202020202020202d207265
+63757272696e6742696c6c696e670d0a202020202020202073756d6d6172793a20557064617465
+204120437573746f6d657220416464726573730d0a20202020202020206465736372697074696f
+6e3a2055706461746520616e2061646472657373206173736f6369617465642077697468206120
+637573746f6d65722070726f66696c652e0d0a20202020202020206f7065726174696f6e49643a
+20757064617465537562736372697074696f6e0d0a202020202020202073656375726974793a0d
+0a202020202020202020202d206f617574683a0d0a20202020202020202020202020202d207772
+6974650d0a202020202020202020202d2062617369633a205b5d0d0a2020202020202020636f6e
+73756d65733a0d0a202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a20
+2020202020202070726f64756365733a0d0a202020202020202020202d206170706c6963617469
+6f6e2f6a736f6e0d0a2020202020202020706172616d65746572733a0d0a202020202020202020
+202d206e616d653a2072656649640d0a202020202020202020202020696e3a2071756572790d0a
+202020202020202020202020747970653a20737472696e670d0a20202020202020202020202064
+65736372697074696f6e3a20556e69717565206964656e746966696572206f6620746865206375
+73746f6d65722070726f66696c652e0d0a20202020202020202020202072657175697265643a20
+747275650d0a202020202020202020202d206e616d653a20737562736372697074696f6e49640d
+0a202020202020202020202020696e3a2071756572790d0a202020202020202020202020747970
+653a20737472696e670d0a2020202020202020202020206465736372697074696f6e3a20556e69
+717565206964656e746966696572206f662074686520616464726573732e0d0a20202020202020
+202020202072657175697265643a20747275650d0a202020202020202020202d206e616d653a20
+757064617465537562736372697074696f6e0d0a202020202020202020202020696e3a20626f64
+790d0a2020202020202020202020206465736372697074696f6e3a20436f6e7461696e73207468
+65206164647265737320696e666f726d6174696f6e2e0d0a202020202020202020202020726571
+75697265643a20747275650d0a202020202020202020202020736368656d613a0d0a2020202020
+202020202020202020247265663a2027232f646566696e6974696f6e732f637265617465537562
+736372697074696f6e270d0a2020202020202020726573706f6e7365733a0d0a20202020202020
+20202027323030273a0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d
+0a202020202020202020202020736368656d613a0d0a2020202020202020202020202020247265
+663a2027232f646566696e6974696f6e732f757064617465537562736372697074696f6e526573
+706f6e7365270d0a202020202020202020202020782d6578616d706c653a207b7d0d0a20202020
+20202020202027343034273a0d0a2020202020202020202020206465736372697074696f6e3a20
+41646472657373206e6f7420757064617465640d0a202020202020202020202020736368656d61
+3a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f65
+72726f72526573706f6e7365270d0a2020202020202020202064656661756c743a0d0a20202020
+20202020202020206465736372697074696f6e3a20556e6578706563746564206572726f722e0d
+0a202020202020202020202020736368656d613a0d0a2020202020202020202020202020247265
+663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020202f
+76312f726563757272696e6742696c6c696e672f63616e63656c537562736372697074696f6e3a
+0d0a202020202020706f73743a0d0a2020202020202020746167733a0d0a202020202020202020
+202d20726563757272696e6742696c6c696e670d0a202020202020202073756d6d6172793a2043
+616e63656c20537562736372697074696f6e2e0d0a20202020202020206465736372697074696f
+6e3a2043616e63656c7320616e206578697374696e6720737562736372697074696f6e2e0d0a20
+2020202020202070726f64756365733a0d0a2020202020202020202020202d206170706c696361
+74696f6e2f6a736f6e0d0a202020202020202073656375726974793a0d0a202020202020202020
+2020202d206f617574683a0d0a202020202020202020202020202020202d2077726974650d0a20
+20202020202020202020202d2062617369633a205b5d0d0a2020202020202020706172616d6574
+6572733a0d0a2020202020202020202020202d206e616d653a2063726561746543616e63656c53
+7562736372697074696f6e0d0a2020202020202020202020202020696e3a20626f64790d0a2020
+202020202020202020202020736368656d613a0d0a202020202020202020202020202020202472
+65663a2027232f646566696e6974696f6e732f63726561746543616e63656c5375627363726970
+74696f6e270d0a2020202020202020726573706f6e7365733a0d0a202020202020202020202732
+3030273a0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a20202020
+2020202020202020736368656d613a0d0a2020202020202020202020202020247265663a202723
+2f646566696e6974696f6e732f63726561746543616e63656c537562736372697074696f6e5265
+73706f6e6365270d0a202020202020202020202020782d6578616d706c653a207b7d0d0a202020
+2020202020202027343034273a0d0a2020202020202020202020206465736372697074696f6e3a
+2041646472657373206e6f7420637265617465640d0a202020202020202020202020736368656d
+613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f
+6572726f72526573706f6e7365270d0a2020202020202020202027353030273a0d0a2020202020
+202020202020206465736372697074696f6e3a2053797374656d204572726f722e0d0a20202020
+2020202020202020736368656d613a0d0a2020202020202020202020202020247265663a202723
+2f646566696e6974696f6e732f6572726f72526573706f6e736527202020200d0a202020202020
+2020202064656661756c743a0d0a2020202020202020202020206465736372697074696f6e3a20
+556e6578706563746564206572726f722e0d0a202020202020202020202020736368656d613a0d
+0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f657272
+6f72526573706f6e7365270d0a202020202f76312f726563757272696e6742696c6c696e672f67
+6574414c6973744f66537562736372697074696f6e733a0d0a2020202020206765743a0d0a2020
+202020202020746167733a0d0a202020202020202020202d20726563757272696e6742696c6c69
+6e670d0a202020202020202073756d6d6172793a204765742061204c697374206f662053756273
+6372697074696f6e732e0d0a20202020202020206465736372697074696f6e3a20596f75206361
+6e207573652074686520666f6c6c6f77696e67206d6574686f6420746f20726571756573742061
+206c697374206f6620737562736372697074696f6e732e0d0a20202020202020206f7065726174
+696f6e49643a20676574414c6973744f66537562736372697074696f6e730d0a20202020202020
+2070726f64756365733a0d0a2020202020202020202020202d206170706c69636174696f6e2f6a
+736f6e0d0a202020202020202073656375726974793a0d0a2020202020202020202020202d206f
+617574683a0d0a202020202020202020202020202020202d2077726974650d0a20202020202020
+20202020202d2062617369633a205b5d0d0a2020202020202020706172616d65746572733a0d0a
+202020202020202020202d206e616d653a206d65726368616e7441757468656e7469636174696f
+6e0d0a202020202020202020202020696e3a2071756572790d0a20202020202020202020202074
+7970653a20737472696e670d0a2020202020202020202020206465736372697074696f6e3a2027
+436f6e7461696e73206d65726368616e742061757468656e7469636174696f6e20696e666f726d
+6174696f6e2e270d0a20202020202020202020202072657175697265643a20747275650d0a2020
+20202020202020202d206e616d653a206e616d650d0a202020202020202020202020696e3a2071
+756572790d0a202020202020202020202020747970653a20737472696e670d0a20202020202020
+20202020206465736372697074696f6e3a20274d65726368616e74e280997320756e6971756520
+415049204c6f67696e2049442e270d0a20202020202020202020202072657175697265643a2074
+72756520200d0a202020202020202020202d206e616d653a207472616e73616374696f6e4b6579
+0d0a202020202020202020202020696e3a2071756572790d0a2020202020202020202020207479
+70653a20696e74656765720d0a20202020202020202020202072657175697265643a2074727565
+0d0a2020202020202020202020206465736372697074696f6e3a20274d65726368616e74e28099
+7320756e69717565205472616e73616374696f6e204b65792e2720200d0a202020202020202020
+202d206e616d653a2072656649640d0a202020202020202020202020696e3a2071756572790d0a
+202020202020202020202020747970653a20737472696e670d0a20202020202020202020202064
+65736372697074696f6e3a20274d65726368616e742d61737369676e6564207265666572656e63
+6520494420666f722074686520726571756573742e270d0a202020202020202020202020726571
+75697265643a2066616c73650d0a202020202020202020202d206e616d653a2073656172636854
+7970650d0a202020202020202020202020696e3a2071756572790d0a2020202020202020202020
+20747970653a20737472696e670d0a2020202020202020202020206465736372697074696f6e3a
+202753706563696669657320686f7720746f2066696c7465722073656172636820726573756c74
+732e270d0a20202020202020202020202072657175697265643a20747275650d0a202020202020
+202020202d206e616d653a20736f7274696e670d0a202020202020202020202020696e3a207175
+6572790d0a202020202020202020202020747970653a20737472696e670d0a2020202020202020
+202020206465736372697074696f6e3a2027436f6e7461696e7320736f7274696e6720696e666f
+726d6174696f6e2e270d0a20202020202020202020202072657175697265643a2066616c73650d
+0a202020202020202020202d206e616d653a206f7264657242790d0a2020202020202020202020
+20696e3a2071756572790d0a202020202020202020202020747970653a20737472696e670d0a20
+20202020202020202020206465736372697074696f6e3a20274f72646572206f6620726573756c
+747320696e20726573706f6e73652e270d0a20202020202020202020202072657175697265643a
+20747275650d0a202020202020202020202d206e616d653a206f7264657244657363656e64696e
+670d0a202020202020202020202020696e3a2071756572790d0a20202020202020202020202074
+7970653a20626f6f6c65616e0d0a20202020202020202020202072657175697265643a2066616c
+73650d0a2020202020202020202020206465736372697074696f6e3a2027536f72742074686520
+726573756c747320696e2064657363656e64696e67206f726465722e2720200d0a202020202020
+202020202d206e616d653a20706167696e670d0a202020202020202020202020696e3a20717565
+72790d0a202020202020202020202020747970653a20737472696e670d0a202020202020202020
+2020206465736372697074696f6e3a2027436f6e7461696e7320706167696e6720696e666f726d
+6174696f6e2e270d0a20202020202020202020202072657175697265643a2066616c73650d0a20
+2020202020202020202d206e616d653a206c696d69740d0a202020202020202020202020696e3a
+2071756572790d0a202020202020202020202020747970653a20696e74656765720d0a20202020
+20202020202020206465736372697074696f6e3a2027546865206e756d626572206f6620747261
+6e73616374696f6e732070657220706167652e270d0a2020202020202020202020207265717569
+7265643a2066616c73650d0a202020202020202020202d206e616d653a206f66667365740d0a20
+2020202020202020202020696e3a2071756572790d0a202020202020202020202020747970653a
+20737472696e670d0a2020202020202020202020206465736372697074696f6e3a202754686520
+6e756d626572206f6620746865207061676520746f2072657475726e20726573756c7473206672
+6f6d2e270d0a20202020202020202020202072657175697265643a2066616c7365202020200d0a
+2020202020202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d0a20
+20202020202020202020206465736372697074696f6e3a204f4b0d0a2020202020202020202020
+20736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e69
+74696f6e732f676574414c6973744f66537562736372697074696f6e73526573706f6e6365270d
+0a202020202020202020202020782d6578616d706c653a207b7d0d0a2020202020202020202027
+343034273a0d0a2020202020202020202020206465736372697074696f6e3a2041646472657373
+206e6f7420637265617465640d0a202020202020202020202020736368656d613a0d0a20202020
+20202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f72526573
+706f6e7365270d0a2020202020202020202027353030273a0d0a20202020202020202020202064
+65736372697074696f6e3a2053797374656d204572726f722e0d0a202020202020202020202020
+736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974
+696f6e732f6572726f72526573706f6e736527202020200d0a2020202020202020202064656661
+756c743a0d0a2020202020202020202020206465736372697074696f6e3a20556e657870656374
+6564206572726f722e0d0a202020202020202020202020736368656d613a0d0a20202020202020
+20202020202020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e
+736527202020202020202020200d0a202020202f76312f7472616e73616374696f6e5265706f72
+74696e672f676574536574746c656442617463684c6973743a0d0a2020202020206765743a0d0a
+2020202020202020746167733a0d0a202020202020202020202d207472616e73616374696f6e52
+65706f7274696e670d0a202020202020202073756d6d6172793a20476574205375627363726970
+74696f6e2e0d0a20202020202020206465736372697074696f6e3a205265747269657665732061
+6e206578697374696e672041524220737562736372697074696f6e2e0d0a20202020202020206f
+7065726174696f6e49643a20676574536574746c656442617463684c6973740d0a202020202020
+202070726f64756365733a0d0a2020202020202020202020202d206170706c69636174696f6e2f
+6a736f6e0d0a202020202020202073656375726974793a0d0a2020202020202020202020202d20
+6f617574683a0d0a202020202020202020202020202020202d2077726974650d0a202020202020
+2020202020202d2062617369633a205b5d0d0a2020202020202020706172616d65746572733a0d
+0a202020202020202020202d206e616d653a206d65726368616e7441757468656e746963617469
+6f6e0d0a202020202020202020202020696e3a2071756572790d0a202020202020202020202020
+747970653a20737472696e670d0a2020202020202020202020206465736372697074696f6e3a20
+27436f6e7461696e73206d65726368616e742061757468656e7469636174696f6e20696e666f72
+6d6174696f6e2e270d0a20202020202020202020202072657175697265643a20747275650d0a20
+2020202020202020202d206e616d653a206e616d650d0a202020202020202020202020696e3a20
+71756572790d0a202020202020202020202020747970653a20737472696e670d0a202020202020
+2020202020206465736372697074696f6e3a20274d65726368616e74e280997320756e69717565
+20415049204c6f67696e2049442e270d0a20202020202020202020202072657175697265643a20
+7472756520200d0a202020202020202020202d206e616d653a207472616e73616374696f6e4b65
+790d0a202020202020202020202020696e3a2071756572790d0a20202020202020202020202074
+7970653a20696e74656765720d0a20202020202020202020202072657175697265643a20747275
+650d0a2020202020202020202020206465736372697074696f6e3a20274d65726368616e74e280
+997320756e69717565205472616e73616374696f6e204b65792e2720200d0a2020202020202020
+20202d206e616d653a2072656649640d0a202020202020202020202020696e3a2071756572790d
+0a202020202020202020202020747970653a20737472696e670d0a202020202020202020202020
+6465736372697074696f6e3a20274d65726368616e742d61737369676e6564207265666572656e
+636520494420666f722074686520726571756573742e270d0a2020202020202020202020207265
+7175697265643a2066616c73650d0a202020202020202020202d206e616d653a20696e636c7564
+65537461746973746963730d0a202020202020202020202020696e3a2071756572790d0a202020
+202020202020202020747970653a20626f6f6c65616e0d0a202020202020202020202020646573
+6372697074696f6e3a20272020496e636c756465207374617469737469637320666f7220746865
+20626174636865732e270d0a20202020202020202020202072657175697265643a2066616c7365
+20200d0a202020202020202020202d206e616d653a206669727374536574746c656d656e744461
+74650d0a202020202020202020202020696e3a2071756572790d0a202020202020202020202020
+747970653a20737472696e670d0a20202020202020202020202072657175697265643a2066616c
+73650d0a2020202020202020202020206465736372697074696f6e3a2027557365207468697320
+6669656c6420746f20717565727920616761696e737420616e20696e636c75736976652072616e
+6765206f66206461746573206f74686572207468616e207468652070617374203234206872732e
+270d0a202020202020202020202d206e616d653a206c617374536574746c656d656e7444617465
+0d0a202020202020202020202020696e3a2071756572790d0a2020202020202020202020207479
+70653a20737472696e670d0a20202020202020202020202072657175697265643a2066616c7365
+0d0a2020202020202020202020206465736372697074696f6e3a20275573652074686973206669
+656c6420746f20717565727920616761696e737420616e20696e636c75736976652072616e6765
+206f66206461746573206f74686572207468616e207468652070617374203234206872732e2720
+200d0a2020202020202020726573706f6e7365733a0d0a2020202020202020202027323030273a
+0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a2020202020202020
+20202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566
+696e6974696f6e732f676574536574746c6542617463684c697374526573706f6e6365270d0a20
+2020202020202020202020782d6578616d706c653a207b7d0d0a20202020202020202020273430
+34273a0d0a2020202020202020202020206465736372697074696f6e3a2041646472657373206e
+6f7420637265617465640d0a202020202020202020202020736368656d613a0d0a202020202020
+2020202020202020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f
+6e7365270d0a2020202020202020202027353030273a0d0a202020202020202020202020646573
+6372697074696f6e3a2053797374656d204572726f722e0d0a2020202020202020202020207363
+68656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f
+6e732f6572726f72526573706f6e736527202020200d0a2020202020202020202064656661756c
+743a0d0a2020202020202020202020206465736372697074696f6e3a20556e6578706563746564
+206572726f722e0d0a202020202020202020202020736368656d613a0d0a202020202020202020
+2020202020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365
+270d0a202020202f76312f7472616e73616374696f6e5265706f7274696e672f6765745472616e
+73616374696f6e4c6973743a0d0a2020202020206765743a0d0a2020202020202020746167733a
+0d0a202020202020202020202d207472616e73616374696f6e5265706f7274696e670d0a202020
+202020202073756d6d6172793a2047657420537562736372697074696f6e2e0d0a202020202020
+20206465736372697074696f6e3a2052657472696576657320616e206578697374696e67204152
+4220737562736372697074696f6e2e0d0a20202020202020206f7065726174696f6e49643a2067
+65745472616e73616374696f6e4c6973740d0a202020202020202070726f64756365733a0d0a20
+20202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a2020202020202020
+73656375726974793a0d0a2020202020202020202020202d206f617574683a0d0a202020202020
+202020202020202020202d2077726974650d0a2020202020202020202020202d2062617369633a
+205b5d0d0a2020202020202020706172616d65746572733a0d0a202020202020202020202d206e
+616d653a206d65726368616e7441757468656e7469636174696f6e0d0a20202020202020202020
+2020696e3a2071756572790d0a202020202020202020202020747970653a20737472696e670d0a
+2020202020202020202020206465736372697074696f6e3a2027436f6e7461696e73206d657263
+68616e742061757468656e7469636174696f6e20696e666f726d6174696f6e2e270d0a20202020
+202020202020202072657175697265643a20747275650d0a202020202020202020202d206e616d
+653a206e616d650d0a202020202020202020202020696e3a2071756572790d0a20202020202020
+2020202020747970653a20737472696e670d0a2020202020202020202020206465736372697074
+696f6e3a20274d65726368616e74e280997320756e6971756520415049204c6f67696e2049442e
+270d0a20202020202020202020202072657175697265643a207472756520200d0a202020202020
+202020202d206e616d653a207472616e73616374696f6e4b65790d0a2020202020202020202020
+20696e3a2071756572790d0a202020202020202020202020747970653a20696e74656765720d0a
+20202020202020202020202072657175697265643a20747275650d0a2020202020202020202020
+206465736372697074696f6e3a20274d65726368616e74e280997320756e69717565205472616e
+73616374696f6e204b65792e2720200d0a202020202020202020202d206e616d653a2072656649
+640d0a202020202020202020202020696e3a2071756572790d0a20202020202020202020202074
+7970653a20737472696e670d0a2020202020202020202020206465736372697074696f6e3a2027
+4d65726368616e742d61737369676e6564207265666572656e636520494420666f722074686520
+726571756573742e270d0a20202020202020202020202072657175697265643a2066616c73650d
+0a202020202020202020202d206e616d653a20626174636849640d0a2020202020202020202020
+20696e3a2071756572790d0a202020202020202020202020747970653a20626f6f6c65616e0d0a
+2020202020202020202020206465736372697074696f6e3a2027546865206964656e7469666963
+6174696f6e206e756d62657220666f72207468652062617463682e270d0a202020202020202020
+202d206e616d653a20736f7274696e670d0a202020202020202020202020696e3a207175657279
+0d0a202020202020202020202020747970653a20737472696e670d0a2020202020202020202020
+2072657175697265643a2066616c73650d0a202020202020202020202020646573637269707469
+6f6e3a2027436f6e7461696e7320736f7274696e6720696e666f726d6174696f6e2e270d0a2020
+20202020202020202d206e616d653a206f7264657242790d0a202020202020202020202020696e
+3a2071756572790d0a202020202020202020202020747970653a20737472696e670d0a20202020
+202020202020202072657175697265643a2066616c73650d0a2020202020202020202020206465
+736372697074696f6e3a20274f72646572206f66207472616e73616374696f6e7320696e207265
+73706f6e73652e27200d0a202020202020202020202d206e616d653a206f726465724465736365
+6e64696e670d0a202020202020202020202020696e3a2071756572790d0a202020202020202020
+202020747970653a20626f6f6c65616e0d0a20202020202020202020202072657175697265643a
+2066616c73650d0a2020202020202020202020206465736372697074696f6e3a2027536f727420
+746865207472616e73616374696f6e7320696e2064657363656e64696e67206f726465722e2720
+0d0a202020202020202020202d206e616d653a20706167696e670d0a2020202020202020202020
+20696e3a2071756572790d0a202020202020202020202020747970653a20737472696e670d0a20
+202020202020202020202072657175697265643a2066616c73650d0a2020202020202020202020
+206465736372697074696f6e3a2027436f6e7461696e7320706167696e6720696e666f726d6174
+696f6e2e27200d0a202020202020202020202d206e616d653a206c696d69740d0a202020202020
+202020202020696e3a2071756572790d0a202020202020202020202020747970653a2073747269
+6e670d0a20202020202020202020202072657175697265643a2066616c73650d0a202020202020
+2020202020206465736372697074696f6e3a2027546865206e756d626572206f66207472616e73
+616374696f6e732070657220706167652e27200d0a202020202020202020202d206e616d653a20
+6f66667365740d0a202020202020202020202020696e3a2071756572790d0a2020202020202020
+20202020747970653a20737472696e670d0a20202020202020202020202072657175697265643a
+2066616c73650d0a2020202020202020202020206465736372697074696f6e3a2027546865206e
+756d626572206f6620746865207061676520746f2072657475726e20726573756c74732066726f
+6d2e272020200d0a2020202020202020726573706f6e7365733a0d0a2020202020202020202027
+323030273a0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a202020
+202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a2027
+232f646566696e6974696f6e732f6765745472616e73616374696f6e4c697374526573706f6e73
+65270d0a202020202020202020202020782d6578616d706c653a207b7d0d0a2020202020202020
+202027343034273a0d0a2020202020202020202020206465736372697074696f6e3a2041646472
+657373206e6f7420637265617465640d0a202020202020202020202020736368656d613a0d0a20
+20202020202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f72
+526573706f6e7365270d0a2020202020202020202027353030273a0d0a20202020202020202020
+20206465736372697074696f6e3a2053797374656d204572726f722e0d0a202020202020202020
+202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f64656669
+6e6974696f6e732f6572726f72526573706f6e736527202020200d0a2020202020202020202064
+656661756c743a0d0a2020202020202020202020206465736372697074696f6e3a20556e657870
+6563746564206572726f722e0d0a202020202020202020202020736368656d613a0d0a20202020
+20202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f72526573
+706f6e736527202020202020202020200d0a202020202f76312f7472616e73616374696f6e5265
+706f7274696e672f676574556e736574746c65645472616e73616374696f6e4c6973743a0d0a20
+20202020206765743a0d0a2020202020202020746167733a0d0a202020202020202020202d2074
+72616e73616374696f6e5265706f7274696e670d0a202020202020202073756d6d6172793a2067
+6574556e736574746c65645472616e73616374696f6e4c6973742e0d0a20202020202020206465
+736372697074696f6e3a2055736520746869732066756e6374696f6e20746f2067657420646174
+6120666f7220756e736574746c6564207472616e73616374696f6e732e0d0a2020202020202020
+6f7065726174696f6e49643a20676574556e736574746c65645472616e73616374696f6e4c6973
+740d0a202020202020202070726f64756365733a0d0a2020202020202020202020202d20617070
+6c69636174696f6e2f6a736f6e0d0a202020202020202073656375726974793a0d0a2020202020
+202020202020202d206f617574683a0d0a202020202020202020202020202020202d2077726974
+650d0a2020202020202020202020202d2062617369633a205b5d0d0a2020202020202020706172
+616d65746572733a0d0a202020202020202020202d206e616d653a206d65726368616e74417574
+68656e7469636174696f6e0d0a202020202020202020202020696e3a2071756572790d0a202020
+202020202020202020747970653a20737472696e670d0a20202020202020202020202064657363
+72697074696f6e3a2027436f6e7461696e73206d65726368616e742061757468656e7469636174
+696f6e20696e666f726d6174696f6e2e270d0a2020202020202020202020207265717569726564
+3a20747275650d0a202020202020202020202d206e616d653a206e616d650d0a20202020202020
+2020202020696e3a2071756572790d0a202020202020202020202020747970653a20737472696e
+670d0a2020202020202020202020206465736372697074696f6e3a20274d65726368616e74e280
+997320756e6971756520415049204c6f67696e2049442e270d0a20202020202020202020202072
+657175697265643a207472756520200d0a202020202020202020202d206e616d653a207472616e
+73616374696f6e4b65790d0a202020202020202020202020696e3a2071756572790d0a20202020
+2020202020202020747970653a20696e74656765720d0a20202020202020202020202072657175
+697265643a20747275650d0a2020202020202020202020206465736372697074696f6e3a20274d
+65726368616e74e280997320756e69717565205472616e73616374696f6e204b65792e2720200d
+0a202020202020202020202d206e616d653a2072656649640d0a20202020202020202020202069
+6e3a2071756572790d0a202020202020202020202020747970653a20737472696e670d0a202020
+2020202020202020206465736372697074696f6e3a20274d65726368616e742d61737369676e65
+64207265666572656e636520494420666f722074686520726571756573742e270d0a2020202020
+2020202020202072657175697265643a2066616c73650d0a202020202020202020202d206e616d
+653a20736f7274696e670d0a202020202020202020202020696e3a2071756572790d0a20202020
+2020202020202020747970653a20737472696e670d0a2020202020202020202020207265717569
+7265643a2066616c73650d0a2020202020202020202020206465736372697074696f6e3a202743
+6f6e7461696e7320736f7274696e6720696e666f726d6174696f6e2e270d0a2020202020202020
+20202d206e616d653a206f7264657242790d0a202020202020202020202020696e3a2071756572
+790d0a202020202020202020202020747970653a20737472696e670d0a20202020202020202020
+202072657175697265643a2066616c73650d0a2020202020202020202020206465736372697074
+696f6e3a20274f72646572206f66207472616e73616374696f6e7320696e20726573706f6e7365
+2e27200d0a202020202020202020202d206e616d653a206f7264657244657363656e64696e670d
+0a202020202020202020202020696e3a2071756572790d0a202020202020202020202020747970
+653a20626f6f6c65616e0d0a20202020202020202020202072657175697265643a2066616c7365
+0d0a2020202020202020202020206465736372697074696f6e3a2027536f727420746865207472
+616e73616374696f6e7320696e2064657363656e64696e67206f726465722e27200d0a20202020
+2020202020202d206e616d653a20706167696e670d0a202020202020202020202020696e3a2071
+756572790d0a202020202020202020202020747970653a20737472696e670d0a20202020202020
+202020202072657175697265643a2066616c73650d0a2020202020202020202020206465736372
+697074696f6e3a2027436f6e7461696e7320706167696e6720696e666f726d6174696f6e2e2720
+0d0a202020202020202020202d206e616d653a206c696d69740d0a202020202020202020202020
+696e3a2071756572790d0a202020202020202020202020747970653a20737472696e670d0a2020
+2020202020202020202072657175697265643a2066616c73650d0a202020202020202020202020
+6465736372697074696f6e3a2027546865206e756d626572206f66207472616e73616374696f6e
+732070657220706167652e27200d0a202020202020202020202d206e616d653a206f6666736574
+0d0a202020202020202020202020696e3a2071756572790d0a2020202020202020202020207479
+70653a20737472696e670d0a20202020202020202020202072657175697265643a2066616c7365
+0d0a2020202020202020202020206465736372697074696f6e3a2027546865206e756d62657220
+6f6620746865207061676520746f2072657475726e20726573756c74732066726f6d2e27202020
+0d0a2020202020202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d
+0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a202020202020202020
+202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f64656669
+6e6974696f6e732f676574556e736574746c65645472616e73616374696f6e4c69737452657370
+6f6e7365270d0a202020202020202020202020782d6578616d706c653a207b7d0d0a2020202020
+202020202027343034273a0d0a2020202020202020202020206465736372697074696f6e3a2041
+646472657373206e6f7420637265617465640d0a202020202020202020202020736368656d613a
+0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f6572
+726f72526573706f6e7365270d0a2020202020202020202027353030273a0d0a20202020202020
+20202020206465736372697074696f6e3a2053797374656d204572726f722e0d0a202020202020
+202020202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f64
+6566696e6974696f6e732f6572726f72526573706f6e736527202020200d0a2020202020202020
+202064656661756c743a0d0a2020202020202020202020206465736372697074696f6e3a20556e
+6578706563746564206572726f722e0d0a202020202020202020202020736368656d613a0d0a20
+20202020202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f72
+526573706f6e7365270d0a202020202f76312f7472616e73616374696f6e5265706f7274696e67
+2f676574437573746f6d657250726f66696c655472616e73616374696f6e4c6973743a0d0a2020
+202020206765743a0d0a2020202020202020746167733a0d0a202020202020202020202d207472
+616e73616374696f6e5265706f7274696e670d0a202020202020202073756d6d6172793a206765
+74437573746f6d657250726f66696c655472616e73616374696f6e4c6973742e0d0a2020202020
+2020206465736372697074696f6e3a205573652074686973206d6574686f6420746f2072657472
+69657665207472616e73616374696f6e7320666f72206120737065636966696320637573746f6d
+65722070726f66696c65206f7220637573746f6d6572207061796d656e742070726f66696c652e
+0d0a20202020202020206f7065726174696f6e49643a20676574437573746f6d657250726f6669
+6c655472616e73616374696f6e4c6973740d0a202020202020202070726f64756365733a0d0a20
+20202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a2020202020202020
+73656375726974793a0d0a2020202020202020202020202d206f617574683a0d0a202020202020
+202020202020202020202d2077726974650d0a2020202020202020202020202d2062617369633a
+205b5d0d0a2020202020202020706172616d65746572733a0d0a202020202020202020202d206e
+616d653a206d65726368616e7441757468656e7469636174696f6e0d0a20202020202020202020
+2020696e3a2071756572790d0a202020202020202020202020747970653a20737472696e670d0a
+2020202020202020202020206465736372697074696f6e3a2027436f6e7461696e73206d657263
+68616e742061757468656e7469636174696f6e20696e666f726d6174696f6e2e270d0a20202020
+202020202020202072657175697265643a20747275650d0a202020202020202020202d206e616d
+653a206e616d650d0a202020202020202020202020696e3a2071756572790d0a20202020202020
+2020202020747970653a20737472696e670d0a2020202020202020202020206465736372697074
+696f6e3a20274d65726368616e74e280997320756e6971756520415049204c6f67696e2049442e
+270d0a20202020202020202020202072657175697265643a207472756520200d0a202020202020
+202020202d206e616d653a207472616e73616374696f6e4b65790d0a2020202020202020202020
+20696e3a2071756572790d0a202020202020202020202020747970653a20696e74656765720d0a
+20202020202020202020202072657175697265643a20747275650d0a2020202020202020202020
+206465736372697074696f6e3a20274d65726368616e74e280997320756e69717565205472616e
+73616374696f6e204b65792e2720200d0a202020202020202020202d206e616d653a2072656649
+640d0a202020202020202020202020696e3a2071756572790d0a20202020202020202020202074
+7970653a20737472696e670d0a2020202020202020202020206465736372697074696f6e3a2027
+4d65726368616e742d61737369676e6564207265666572656e636520494420666f722074686520
+726571756573742e270d0a20202020202020202020202072657175697265643a2066616c73650d
+0a202020202020202020202d206e616d653a20637573746f6d657250726f66696c6549640d0a20
+2020202020202020202020696e3a2071756572790d0a202020202020202020202020747970653a
+20737472696e670d0a2020202020202020202020206465736372697074696f6e3a20274d657263
+68616e742d61737369676e6564207265666572656e636520494420666f72207468652072657175
+6573742e270d0a20202020202020202020202072657175697265643a2066616c73650d0a202020
+202020202020202d206e616d653a20637573746f6d65725061796d656e7450726f66696c654964
+4c6973740d0a202020202020202020202020696e3a2071756572790d0a20202020202020202020
+2020747970653a20737472696e670d0a2020202020202020202020206465736372697074696f6e
+3a20274d65726368616e742d61737369676e6564207265666572656e636520494420666f722074
+686520726571756573742e270d0a20202020202020202020202072657175697265643a2066616c
+736520200d0a202020202020202020202d206e616d653a20736f7274696e670d0a202020202020
+202020202020696e3a2071756572790d0a202020202020202020202020747970653a2073747269
+6e670d0a20202020202020202020202072657175697265643a2066616c73650d0a202020202020
+2020202020206465736372697074696f6e3a2027436f6e7461696e7320736f7274696e6720696e
+666f726d6174696f6e2e270d0a202020202020202020202d206e616d653a206f7264657242790d
+0a202020202020202020202020696e3a2071756572790d0a202020202020202020202020747970
+653a20737472696e670d0a20202020202020202020202072657175697265643a2066616c73650d
+0a2020202020202020202020206465736372697074696f6e3a20274f72646572206f6620747261
+6e73616374696f6e7320696e20726573706f6e73652e27200d0a202020202020202020202d206e
+616d653a206f7264657244657363656e64696e670d0a202020202020202020202020696e3a2071
+756572790d0a202020202020202020202020747970653a20626f6f6c65616e0d0a202020202020
+20202020202072657175697265643a2066616c73650d0a20202020202020202020202064657363
+72697074696f6e3a2027536f727420746865207472616e73616374696f6e7320696e2064657363
+656e64696e67206f726465722e270d0a202020202020202020202d206e616d653a20706167696e
+670d0a202020202020202020202020696e3a2071756572790d0a20202020202020202020202074
+7970653a20737472696e670d0a20202020202020202020202072657175697265643a2066616c73
+650d0a2020202020202020202020206465736372697074696f6e3a2027436f6e7461696e732070
+6167696e6720696e666f726d6174696f6e2e27200d0a202020202020202020202d206e616d653a
+206c696d69740d0a202020202020202020202020696e3a2071756572790d0a2020202020202020
+20202020747970653a20737472696e670d0a20202020202020202020202072657175697265643a
+2066616c73650d0a2020202020202020202020206465736372697074696f6e3a2027546865206e
+756d626572206f66207472616e73616374696f6e732070657220706167652e27200d0a20202020
+2020202020202d206e616d653a206f66667365740d0a202020202020202020202020696e3a2071
+756572790d0a202020202020202020202020747970653a20737472696e670d0a20202020202020
+202020202072657175697265643a2066616c73650d0a2020202020202020202020206465736372
+697074696f6e3a2027546865206e756d626572206f6620746865207061676520746f2072657475
+726e20726573756c74732066726f6d2e272020200d0a2020202020202020726573706f6e736573
+3a0d0a2020202020202020202027323030273a0d0a202020202020202020202020646573637269
+7074696f6e3a204f4b0d0a202020202020202020202020736368656d613a0d0a20202020202020
+20202020202020247265663a2027232f646566696e6974696f6e732f6765745472616e73616374
+696f6e4c697374526573706f6e7365270d0a202020202020202020202020782d6578616d706c65
+3a207b7d0d0a2020202020202020202027343034273a0d0a202020202020202020202020646573
+6372697074696f6e3a2041646472657373206e6f7420637265617465640d0a2020202020202020
+20202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566
+696e6974696f6e732f6572726f72526573706f6e7365270d0a2020202020202020202027353030
+273a0d0a2020202020202020202020206465736372697074696f6e3a2053797374656d20457272
+6f722e0d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020
+20247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e736527202020
+200d0a2020202020202020202064656661756c743a0d0a20202020202020202020202064657363
+72697074696f6e3a20556e6578706563746564206572726f722e0d0a2020202020202020202020
+20736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e69
+74696f6e732f6572726f72526573706f6e7365270d0a202020202f76312f7472616e7361637469
+6f6e5265706f7274696e672f6765745472616e73616374696f6e44657461696c733a0d0a202020
+2020206765743a0d0a2020202020202020746167733a0d0a202020202020202020202d20747261
+6e73616374696f6e5265706f7274696e670d0a202020202020202073756d6d6172793a20476574
+205472616e73616374696f6e2044657461696c732e0d0a20202020202020206465736372697074
+696f6e3a2055736520746869732066756e6374696f6e20746f206765742064657461696c656420
+696e666f726d6174696f6e2061626f75742061207370656369666963207472616e73616374696f
+6e2e0d0a20202020202020206f7065726174696f6e49643a206765745472616e73616374696f6e
+44657461696c730d0a202020202020202070726f64756365733a0d0a2020202020202020202020
+202d206170706c69636174696f6e2f6a736f6e0d0a202020202020202073656375726974793a0d
+0a2020202020202020202020202d206f617574683a0d0a20202020202020202020202020202020
+2d2077726974650d0a2020202020202020202020202d2062617369633a205b5d0d0a2020202020
+202020706172616d65746572733a0d0a202020202020202020202d206e616d653a206d65726368
+616e7441757468656e7469636174696f6e0d0a202020202020202020202020696e3a2071756572
+790d0a202020202020202020202020747970653a20737472696e670d0a20202020202020202020
+20206465736372697074696f6e3a2027436f6e7461696e73206d65726368616e74206175746865
+6e7469636174696f6e20696e666f726d6174696f6e2e270d0a2020202020202020202020207265
+7175697265643a20747275650d0a202020202020202020202d206e616d653a206e616d650d0a20
+2020202020202020202020696e3a2071756572790d0a202020202020202020202020747970653a
+20737472696e670d0a2020202020202020202020206465736372697074696f6e3a20274d657263
+68616e74e280997320756e6971756520415049204c6f67696e2049442e270d0a20202020202020
+202020202072657175697265643a207472756520200d0a202020202020202020202d206e616d65
+3a207472616e73616374696f6e4b65790d0a202020202020202020202020696e3a207175657279
+0d0a202020202020202020202020747970653a20696e74656765720d0a20202020202020202020
+202072657175697265643a20747275650d0a202020202020202020202020646573637269707469
+6f6e3a20274d65726368616e74e280997320756e69717565205472616e73616374696f6e204b65
+792e2720200d0a202020202020202020202d206e616d653a2072656649640d0a20202020202020
+2020202020696e3a2071756572790d0a202020202020202020202020747970653a20737472696e
+670d0a2020202020202020202020206465736372697074696f6e3a20274d65726368616e742d61
+737369676e6564207265666572656e636520494420666f722074686520726571756573742e270d
+0a20202020202020202020202072657175697265643a2066616c73650d0a202020202020202020
+202d206e616d653a207472616e7349640d0a202020202020202020202020696e3a207175657279
+0d0a202020202020202020202020747970653a20737472696e670d0a2020202020202020202020
+206465736372697074696f6e3a20274d65726368616e742d61737369676e656420726566657265
+6e636520494420666f722074686520726571756573742e270d0a20202020202020202020202072
+657175697265643a2066616c73650d0a2020202020202020726573706f6e7365733a0d0a202020
+2020202020202027323030273a0d0a2020202020202020202020206465736372697074696f6e3a
+204f4b0d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020
+20247265663a2027232f646566696e6974696f6e732f6765745472616e73616374696f6e446574
+61696c73526573706f6e7365270d0a202020202020202020202020782d6578616d706c653a207b
+7d0d0a2020202020202020202027343034273a0d0a202020202020202020202020646573637269
+7074696f6e3a2041646472657373206e6f7420637265617465640d0a2020202020202020202020
+20736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e69
+74696f6e732f6572726f72526573706f6e7365270d0a2020202020202020202027353030273a0d
+0a2020202020202020202020206465736372697074696f6e3a2053797374656d204572726f722e
+0d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020202472
+65663a2027232f646566696e6974696f6e732f6572726f72526573706f6e736527202020200d0a
+2020202020202020202064656661756c743a0d0a20202020202020202020202064657363726970
+74696f6e3a20556e6578706563746564206572726f722e0d0a2020202020202020202020207363
+68656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f
+6e732f6572726f72526573706f6e7365270d0a202020202f76312f7472616e73616374696f6e52
+65706f7274696e672f6765744261746368537461746973746963733a0d0a202020202020676574
+3a0d0a2020202020202020746167733a0d0a202020202020202020202d207472616e7361637469
+6f6e5265706f7274696e670d0a202020202020202073756d6d6172793a20476574204261746368
+20537461746973746963732e0d0a20202020202020206465736372697074696f6e3a2041206361
+6c6c20746f20676574426174636853746174697374696373526571756573742072657475726e73
+207374617469737469637320666f7220612073696e676c652062617463682c2073706563696669
+6564206279207468652062617463682049442e0d0a20202020202020206f7065726174696f6e49
+643a206765744261746368537461746973746963730d0a202020202020202070726f6475636573
+3a0d0a2020202020202020202020202d206170706c69636174696f6e2f6a736f6e0d0a20202020
+2020202073656375726974793a0d0a2020202020202020202020202d206f617574683a0d0a2020
+20202020202020202020202020202d2077726974650d0a2020202020202020202020202d206261
+7369633a205b5d0d0a2020202020202020706172616d65746572733a0d0a202020202020202020
+202d206e616d653a206d65726368616e7441757468656e7469636174696f6e0d0a202020202020
+202020202020696e3a2071756572790d0a202020202020202020202020747970653a2073747269
+6e670d0a2020202020202020202020206465736372697074696f6e3a2027436f6e7461696e7320
+6d65726368616e742061757468656e7469636174696f6e20696e666f726d6174696f6e2e270d0a
+20202020202020202020202072657175697265643a20747275650d0a202020202020202020202d
+206e616d653a206e616d650d0a202020202020202020202020696e3a2071756572790d0a202020
+202020202020202020747970653a20737472696e670d0a20202020202020202020202064657363
+72697074696f6e3a20274d65726368616e74e280997320756e6971756520415049204c6f67696e
+2049442e270d0a20202020202020202020202072657175697265643a207472756520200d0a2020
+20202020202020202d206e616d653a207472616e73616374696f6e4b65790d0a20202020202020
+2020202020696e3a2071756572790d0a202020202020202020202020747970653a20696e746567
+65720d0a20202020202020202020202072657175697265643a20747275650d0a20202020202020
+20202020206465736372697074696f6e3a20274d65726368616e74e280997320756e6971756520
+5472616e73616374696f6e204b65792e2720200d0a202020202020202020202d206e616d653a20
+72656649640d0a202020202020202020202020696e3a2071756572790d0a202020202020202020
+202020747970653a20737472696e670d0a2020202020202020202020206465736372697074696f
+6e3a20274d65726368616e742d61737369676e6564207265666572656e636520494420666f7220
+74686520726571756573742e270d0a20202020202020202020202072657175697265643a206661
+6c73650d0a202020202020202020202d206e616d653a20626174636849640d0a20202020202020
+2020202020696e3a2071756572790d0a202020202020202020202020747970653a20737472696e
+670d0a2020202020202020202020206465736372697074696f6e3a20274d65726368616e742d61
+737369676e6564207265666572656e636520494420666f722074686520726571756573742e270d
+0a20202020202020202020202072657175697265643a2066616c73650d0a202020202020202072
+6573706f6e7365733a0d0a2020202020202020202027323030273a0d0a20202020202020202020
+20206465736372697074696f6e3a204f4b0d0a202020202020202020202020736368656d613a0d
+0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f676574
+426174636853746174697374696373526573706f6e7365270d0a20202020202020202020202078
+2d6578616d706c653a207b7d0d0a2020202020202020202027343034273a0d0a20202020202020
+20202020206465736372697074696f6e3a2041646472657373206e6f7420637265617465640d0a
+202020202020202020202020736368656d613a0d0a202020202020202020202020202024726566
+3a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020202020
+2020202027353030273a0d0a2020202020202020202020206465736372697074696f6e3a205379
+7374656d204572726f722e0d0a202020202020202020202020736368656d613a0d0a2020202020
+202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f7252657370
+6f6e736527202020200d0a2020202020202020202064656661756c743a0d0a2020202020202020
+202020206465736372697074696f6e3a20556e6578706563746564206572726f722e0d0a202020
+202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a2027
+232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020202f76312f74
+72616e73616374696f6e5265706f7274696e672f6765744d65726368616e7444657461696c733a
+0d0a2020202020206765743a0d0a2020202020202020746167733a0d0a20202020202020202020
+2d207472616e73616374696f6e5265706f7274696e670d0a202020202020202073756d6d617279
+3a20476574204d65726368616e742044657461696c732e0d0a2020202020202020646573637269
+7074696f6e3a2043616c6c20746869732066756e6374696f6e20616e6420737570706c7920796f
+75722061757468656e7469636174696f6e20696e666f726d6174696f6e20746f20726563656976
+65206d65726368616e742064657461696c7320696e2074686520726573706f6e73652e20546865
+20696e666f726d6174696f6e20746861742069732072657475726e65642069732068656c706675
+6c20666f72204f4175746820616e642041636365707420696e746567726174696f6e732e0d0a20
+202020202020206f7065726174696f6e49643a206765744d65726368616e7444657461696c730d
+0a202020202020202070726f64756365733a0d0a2020202020202020202020202d206170706c69
+636174696f6e2f6a736f6e0d0a202020202020202073656375726974793a0d0a20202020202020
+20202020202d206f617574683a0d0a202020202020202020202020202020202d2077726974650d
+0a2020202020202020202020202d2062617369633a205b5d0d0a2020202020202020706172616d
+65746572733a0d0a202020202020202020202d206e616d653a206d65726368616e744175746865
+6e7469636174696f6e0d0a202020202020202020202020696e3a2071756572790d0a2020202020
+20202020202020747970653a20737472696e670d0a202020202020202020202020646573637269
+7074696f6e3a2027436f6e7461696e73206d65726368616e742061757468656e7469636174696f
+6e20696e666f726d6174696f6e2e270d0a20202020202020202020202072657175697265643a20
+747275650d0a202020202020202020202d206e616d653a206e616d650d0a202020202020202020
+202020696e3a2071756572790d0a202020202020202020202020747970653a20737472696e670d
+0a2020202020202020202020206465736372697074696f6e3a20274d65726368616e74e2809973
+20756e6971756520415049204c6f67696e2049442e270d0a202020202020202020202020726571
+75697265643a207472756520200d0a202020202020202020202d206e616d653a207472616e7361
+6374696f6e4b65790d0a202020202020202020202020696e3a2071756572790d0a202020202020
+202020202020747970653a20696e74656765720d0a202020202020202020202020726571756972
+65643a20747275650d0a2020202020202020202020206465736372697074696f6e3a20274d6572
+6368616e74e280997320756e69717565205472616e73616374696f6e204b65792e270d0a202020
+2020202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d0a20202020
+20202020202020206465736372697074696f6e3a204f4b0d0a2020202020202020202020207363
+68656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f
+6e732f6765744d65726368616e7444657461696c73526573706f6e7365270d0a20202020202020
+2020202020782d6578616d706c653a207b7d0d0a2020202020202020202027343034273a0d0a20
+20202020202020202020206465736372697074696f6e3a2041646472657373206e6f7420637265
+617465640d0a202020202020202020202020736368656d613a0d0a202020202020202020202020
+2020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a
+2020202020202020202027353030273a0d0a202020202020202020202020646573637269707469
+6f6e3a2053797374656d204572726f722e0d0a202020202020202020202020736368656d613a0d
+0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f657272
+6f72526573706f6e736527202020200d0a2020202020202020202064656661756c743a0d0a2020
+202020202020202020206465736372697074696f6e3a20556e6578706563746564206572726f72
+2e0d0a202020202020202020202020736368656d613a0d0a202020202020202020202020202024
+7265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e7365270d0a202020
+202f76312f7472616e73616374696f6e5265706f7274696e672f6765744163636f756e74557064
+617465724a6f6253756d6d6172793a0d0a2020202020206765743a0d0a20202020202020207461
+67733a0d0a202020202020202020202d207472616e73616374696f6e5265706f7274696e670d0a
+202020202020202073756d6d6172793a20476574204163636f756e742055706461746572204a6f
+622053756d6d6172792e0d0a20202020202020206465736372697074696f6e3a20557365207468
+69732066756e6374696f6e20746f2067657420612073756d6d617279206f662074686520726573
+756c7473206f6620746865204163636f756e7420557064617465722070726f6365737320666f72
+206120706172746963756c6172206d6f6e74682e0d0a20202020202020206f7065726174696f6e
+49643a206765744163636f756e74557064617465724a6f6253756d6d6172790d0a202020202020
+202070726f64756365733a0d0a2020202020202020202020202d206170706c69636174696f6e2f
+6a736f6e0d0a202020202020202073656375726974793a0d0a2020202020202020202020202d20
+6f617574683a0d0a202020202020202020202020202020202d2077726974650d0a202020202020
+2020202020202d2062617369633a205b5d0d0a2020202020202020706172616d65746572733a0d
+0a202020202020202020202d206e616d653a206d65726368616e7441757468656e746963617469
+6f6e0d0a202020202020202020202020696e3a2071756572790d0a202020202020202020202020
+747970653a20737472696e670d0a2020202020202020202020206465736372697074696f6e3a20
+27436f6e7461696e73206d65726368616e742061757468656e7469636174696f6e20696e666f72
+6d6174696f6e2e270d0a20202020202020202020202072657175697265643a20747275650d0a20
+2020202020202020202d206e616d653a206e616d650d0a202020202020202020202020696e3a20
+71756572790d0a202020202020202020202020747970653a20737472696e670d0a202020202020
+2020202020206465736372697074696f6e3a20274d65726368616e74e280997320756e69717565
+20415049204c6f67696e2049442e270d0a20202020202020202020202072657175697265643a20
+7472756520200d0a202020202020202020202d206e616d653a207472616e73616374696f6e4b65
+790d0a202020202020202020202020696e3a2071756572790d0a20202020202020202020202074
+7970653a20696e74656765720d0a20202020202020202020202072657175697265643a20747275
+650d0a2020202020202020202020206465736372697074696f6e3a20274d65726368616e74e280
+997320756e69717565205472616e73616374696f6e204b65792e270d0a20202020202020202020
+2d206e616d653a2072656649640d0a202020202020202020202020696e3a2071756572790d0a20
+2020202020202020202020747970653a20737472696e670d0a2020202020202020202020206465
+736372697074696f6e3a20274d65726368616e742d61737369676e6564207265666572656e6365
+20494420666f722074686520726571756573742e270d0a20202020202020202020202072657175
+697265643a2066616c736520200d0a202020202020202020202d206e616d653a206d6f6e74680d
+0a202020202020202020202020696e3a2071756572790d0a202020202020202020202020747970
+653a20696e74656765720d0a20202020202020202020202072657175697265643a20747275650d
+0a2020202020202020202020206465736372697074696f6e3a2027546865206d6f6e746820696e
+20776869636820746865204163636f756e7420557064617465722070726f636573732077617320
+72756e2e270d0a2020202020202020726573706f6e7365733a0d0a202020202020202020202732
+3030273a0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a20202020
+2020202020202020736368656d613a0d0a2020202020202020202020202020247265663a202723
+2f646566696e6974696f6e732f6765744163636f756e74557064617465724a6f6253756d6d6172
+79526573706f6e7365270d0a202020202020202020202020782d6578616d706c653a207b7d0d0a
+2020202020202020202027343034273a0d0a202020202020202020202020646573637269707469
+6f6e3a2041646472657373206e6f7420637265617465640d0a2020202020202020202020207363
+68656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f
+6e732f6572726f72526573706f6e7365270d0a2020202020202020202027353030273a0d0a2020
+202020202020202020206465736372697074696f6e3a2053797374656d204572726f722e0d0a20
+2020202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a
+2027232f646566696e6974696f6e732f6572726f72526573706f6e736527202020200d0a202020
+2020202020202064656661756c743a0d0a2020202020202020202020206465736372697074696f
+6e3a20556e6578706563746564206572726f722e0d0a202020202020202020202020736368656d
+613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f
+6572726f72526573706f6e7365270d0a202020202f76312f7472616e73616374696f6e5265706f
+7274696e672f6765744163636f756e74557064617465724a6f6244657461696c733a0d0a202020
+2020206765743a0d0a2020202020202020746167733a0d0a202020202020202020202d20747261
+6e73616374696f6e5265706f7274696e670d0a202020202020202073756d6d6172793a20476574
+204163636f756e742055706461746572204a6f622044657461696c732e0d0a2020202020202020
+6465736372697074696f6e3a2055736520746869732066756e6374696f6e20746f206765742064
+657461696c73206f66206561636820636172642075706461746564206f722064656c6574656420
+627920746865204163636f756e7420557064617465722070726f6365737320666f722061207061
+72746963756c6172206d6f6e74682e205468652066756e6374696f6e2077696c6c207265747572
+6e206461746120666f7220757020746f2031303030206f6620746865206d6f737420726563656e
+74207472616e73616374696f6e7320696e20612073696e676c6520726571756573742e0d0a2020
+2020202020206f7065726174696f6e49643a206765744163636f756e74557064617465724a6f62
+44657461696c730d0a202020202020202070726f64756365733a0d0a2020202020202020202020
+202d206170706c69636174696f6e2f6a736f6e0d0a202020202020202073656375726974793a0d
+0a2020202020202020202020202d206f617574683a0d0a20202020202020202020202020202020
+2d2077726974650d0a2020202020202020202020202d2062617369633a205b5d0d0a2020202020
+202020706172616d65746572733a0d0a202020202020202020202d206e616d653a206d65726368
+616e7441757468656e7469636174696f6e0d0a202020202020202020202020696e3a2071756572
+790d0a202020202020202020202020747970653a20737472696e670d0a20202020202020202020
+20206465736372697074696f6e3a2027436f6e7461696e73206d65726368616e74206175746865
+6e7469636174696f6e20696e666f726d6174696f6e2e270d0a2020202020202020202020207265
+7175697265643a20747275650d0a202020202020202020202d206e616d653a206e616d650d0a20
+2020202020202020202020696e3a2071756572790d0a202020202020202020202020747970653a
+20737472696e670d0a2020202020202020202020206465736372697074696f6e3a20274d657263
+68616e74e280997320756e6971756520415049204c6f67696e2049442e270d0a20202020202020
+202020202072657175697265643a207472756520200d0a202020202020202020202d206e616d65
+3a207472616e73616374696f6e4b65790d0a202020202020202020202020696e3a207175657279
+0d0a202020202020202020202020747970653a20696e74656765720d0a20202020202020202020
+202072657175697265643a20747275650d0a202020202020202020202020646573637269707469
+6f6e3a20274d65726368616e74e280997320756e69717565205472616e73616374696f6e204b65
+792e270d0a202020202020202020202d206e616d653a2072656649640d0a202020202020202020
+202020696e3a2071756572790d0a202020202020202020202020747970653a20737472696e670d
+0a2020202020202020202020206465736372697074696f6e3a20274d65726368616e742d617373
+69676e6564207265666572656e636520494420666f722074686520726571756573742e270d0a20
+202020202020202020202072657175697265643a2066616c736520200d0a202020202020202020
+202d206e616d653a206d6f6e74680d0a202020202020202020202020696e3a2071756572790d0a
+202020202020202020202020747970653a20696e74656765720d0a202020202020202020202020
+72657175697265643a20747275650d0a2020202020202020202020206465736372697074696f6e
+3a2027546865206d6f6e746820696e20776869636820746865204163636f756e74205570646174
+65722070726f63657373207761732072756e2e270d0a202020202020202020202d206e616d653a
+206d6f6469666965645479706546696c7465720d0a202020202020202020202020696e3a207175
+6572790d0a202020202020202020202020747970653a20737472696e670d0a2020202020202020
+2020202072657175697265643a2066616c73650d0a202020202020202020202020646573637269
+7074696f6e3a202746696c7465722074686520726573756c747320746f20746f20696e636c7564
+65206f6e6c7920757064617465732c206f6e6c792064656c657465732c206f7220616c6c206368
+616e6765732e270d0a202020202020202020202d206e616d653a20706167696e670d0a20202020
+2020202020202020696e3a2071756572790d0a202020202020202020202020747970653a207374
+72696e670d0a20202020202020202020202072657175697265643a2066616c73650d0a20202020
+20202020202020206465736372697074696f6e3a2027436f6e7461696e7320706167696e672069
+6e666f726d6174696f6e2e27200d0a202020202020202020202d206e616d653a206c696d69740d
+0a202020202020202020202020696e3a2071756572790d0a202020202020202020202020747970
+653a20737472696e670d0a20202020202020202020202072657175697265643a2066616c73650d
+0a2020202020202020202020206465736372697074696f6e3a2027546865206e756d626572206f
+66207472616e73616374696f6e732070657220706167652e27200d0a202020202020202020202d
+206e616d653a206f66667365740d0a202020202020202020202020696e3a2071756572790d0a20
+2020202020202020202020747970653a20737472696e670d0a2020202020202020202020207265
+7175697265643a2066616c73650d0a2020202020202020202020206465736372697074696f6e3a
+2027546865206e756d626572206f6620746865207061676520746f2072657475726e2072657375
+6c74732066726f6d2e27202020200d0a2020202020202020726573706f6e7365733a0d0a202020
+2020202020202027323030273a0d0a2020202020202020202020206465736372697074696f6e3a
+204f4b0d0a202020202020202020202020736368656d613a0d0a20202020202020202020202020
+20247265663a2027232f646566696e6974696f6e732f6765744163636f756e7455706461746572
+4a6f6244657461696c73526573706f6e7365270d0a202020202020202020202020782d6578616d
+706c653a207b7d0d0a2020202020202020202027343034273a0d0a202020202020202020202020
+6465736372697074696f6e3a2041646472657373206e6f7420637265617465640d0a2020202020
+20202020202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f
+646566696e6974696f6e732f6572726f72526573706f6e7365270d0a2020202020202020202027
+353030273a0d0a2020202020202020202020206465736372697074696f6e3a2053797374656d20
+4572726f722e0d0a202020202020202020202020736368656d613a0d0a20202020202020202020
+20202020247265663a2027232f646566696e6974696f6e732f6572726f72526573706f6e736527
+202020200d0a2020202020202020202064656661756c743a0d0a20202020202020202020202064
+65736372697074696f6e3a20556e6578706563746564206572726f722e0d0a2020202020202020
+20202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566
+696e6974696f6e732f6572726f72526573706f6e7365270d0a202020202f76312f616363657074
+53756974652f637265617465416e4163636570745061796d656e745472616e73616374696f6e3a
+0d0a202020202020706f73743a0d0a2020202020202020746167733a0d0a202020202020202020
+202d2061636365707453756974650d0a202020202020202073756d6d6172793a20437265617465
+20416e204170706c6520506179205472616e73616374696f6e2e0d0a2020202020202020646573
+6372697074696f6e3a2055736520746869732066756e6374696f6e20746f206372656174652061
+6e20417574686f72697a652e6e6574207061796d656e74207472616e73616374696f6e20726571
+75657374207573696e67204170706c6520506179206461746120696e20706c616365206f662063
+61726420646174612e0d0a202020202020202070726f64756365733a0d0a202020202020202020
+2020202d206170706c69636174696f6e2f6a736f6e0d0a20202020202020207365637572697479
+3a0d0a2020202020202020202020202d206f617574683a0d0a2020202020202020202020202020
+20202d2077726974650d0a2020202020202020202020202d2062617369633a205b5d0d0a202020
+2020202020706172616d65746572733a0d0a2020202020202020202020202d206e616d653a2063
+7265617465416e4163636570745061796d656e745472616e73616374696f6e0d0a202020202020
+2020202020202020696e3a20626f64790d0a2020202020202020202020202020736368656d613a
+0d0a20202020202020202020202020202020247265663a2027232f646566696e6974696f6e732f
+637265617465416e4163636570745061796d656e745472616e73616374696f6e270d0a20202020
+20202020726573706f6e7365733a0d0a2020202020202020202027323030273a0d0a2020202020
+202020202020206465736372697074696f6e3a204f4b0d0a202020202020202020202020736368
+656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e
+732f637265617465416e4163636570745061796d656e745472616e73616374696f6e526573706f
+6e6365270d0a202020202020202020202020782d6578616d706c653a207b7d0d0a202020202020
+2020202027343034273a0d0a2020202020202020202020206465736372697074696f6e3a204164
+6472657373206e6f7420637265617465640d0a202020202020202020202020736368656d613a0d
+0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f657272
+6f72526573706f6e7365270d0a2020202020202020202027353030273a0d0a2020202020202020
+202020206465736372697074696f6e3a2053797374656d204572726f722e0d0a20202020202020
+2020202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f6465
+66696e6974696f6e732f6572726f72526573706f6e736527202020200d0a202020202020202020
+2064656661756c743a0d0a2020202020202020202020206465736372697074696f6e3a20556e65
+78706563746564206572726f722e0d0a202020202020202020202020736368656d613a0d0a2020
+202020202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f7252
+6573706f6e7365270d0a202020202f76312f61636365707453756974652f676574416363657074
+437573746f6d657250726f66696c65506167653a0d0a2020202020206765743a0d0a2020202020
+202020746167733a0d0a202020202020202020202d2061636365707453756974650d0a20202020
+2020202073756d6d6172793a204765742041636365707420437573746f6d65722050726f66696c
+6520506167652e0d0a20202020202020206465736372697074696f6e3a20557365207468697320
+66756e6374696f6e20746f20696e6974696174652061207265717565737420666f722064697265
+63742061636365737320746f2074686520417574686f72697a652e6e657420776562736974652e
+0d0a20202020202020206f7065726174696f6e49643a20676574416363657074437573746f6d65
+7250726f66696c65506167650d0a202020202020202070726f64756365733a0d0a202020202020
+2020202020202d206170706c69636174696f6e2f6a736f6e0d0a20202020202020207365637572
+6974793a0d0a2020202020202020202020202d206f617574683a0d0a2020202020202020202020
+20202020202d2077726974650d0a2020202020202020202020202d2062617369633a205b5d0d0a
+2020202020202020706172616d65746572733a0d0a202020202020202020202d206e616d653a20
+6d65726368616e7441757468656e7469636174696f6e0d0a202020202020202020202020696e3a
+2071756572790d0a202020202020202020202020747970653a20737472696e670d0a2020202020
+202020202020206465736372697074696f6e3a2027436f6e7461696e73206d65726368616e7420
+61757468656e7469636174696f6e20696e666f726d6174696f6e2e270d0a202020202020202020
+20202072657175697265643a20747275650d0a202020202020202020202d206e616d653a206e61
+6d650d0a202020202020202020202020696e3a2071756572790d0a202020202020202020202020
+747970653a20737472696e670d0a2020202020202020202020206465736372697074696f6e3a20
+274d65726368616e74e280997320756e6971756520415049204c6f67696e2049442e270d0a2020
+2020202020202020202072657175697265643a207472756520200d0a202020202020202020202d
+206e616d653a207472616e73616374696f6e4b65790d0a202020202020202020202020696e3a20
+71756572790d0a202020202020202020202020747970653a20696e74656765720d0a2020202020
+2020202020202072657175697265643a20747275650d0a20202020202020202020202064657363
+72697074696f6e3a20274d65726368616e74e280997320756e69717565205472616e7361637469
+6f6e204b65792e270d0a202020202020202020202d206e616d653a2072656649640d0a20202020
+2020202020202020696e3a2071756572790d0a202020202020202020202020747970653a207374
+72696e670d0a2020202020202020202020206465736372697074696f6e3a20274d65726368616e
+742d61737369676e6564207265666572656e636520494420666f72207468652072657175657374
+2e270d0a20202020202020202020202072657175697265643a2066616c736520200d0a20202020
+2020202020202d206e616d653a20637573746f6d657250726f66696c6549640d0a202020202020
+202020202020696e3a2071756572790d0a202020202020202020202020747970653a20696e7465
+6765720d0a20202020202020202020202072657175697265643a20747275650d0a202020202020
+2020202020206465736372697074696f6e3a2027546865206d6f6e746820696e20776869636820
+746865204163636f756e7420557064617465722070726f63657373207761732072756e2e270d0a
+202020202020202020202d206e616d653a20686f7374656450726f66696c6553657474696e6773
+0d0a202020202020202020202020696e3a2071756572790d0a2020202020202020202020207479
+70653a20737472696e670d0a20202020202020202020202072657175697265643a2066616c7365
+0d0a2020202020202020202020206465736372697074696f6e3a20275468697320697320616e20
+6172726179206f662073657474696e677320666f72207468652073657373696f6e20286f707469
+6f6e616c292e270d0a202020202020202020202d206e616d653a2073657474696e670d0a202020
+202020202020202020696e3a2071756572790d0a202020202020202020202020747970653a2073
+7472696e670d0a20202020202020202020202072657175697265643a2066616c73650d0a202020
+2020202020202020206465736372697074696f6e3a2027436f6e7461696e732073657474696e67
+4e616d6520616e642073657474696e6756616c75652e27200d0a202020202020202020202d206e
+616d653a2073657474696e674e616d650d0a202020202020202020202020696e3a207175657279
+0d0a202020202020202020202020747970653a20737472696e670d0a2020202020202020202020
+2072657175697265643a2066616c73650d0a202020202020202020202020646573637269707469
+6f6e3a2027546865206e616d65206f66207468652073657474696e6720796f7520776973682074
+6f206368616e67652e27200d0a202020202020202020202d206e616d653a2073657474696e6756
+616c75650d0a202020202020202020202020696e3a2071756572790d0a20202020202020202020
+2020747970653a20737472696e670d0a20202020202020202020202072657175697265643a2066
+616c73650d0a2020202020202020202020206465736372697074696f6e3a20275468652076616c
+7565206f66207468652073657474696e6720796f75207769736820746f206368616e67652e2720
+2020200d0a2020202020202020726573706f6e7365733a0d0a2020202020202020202027323030
+273a0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a202020202020
+202020202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f64
+6566696e6974696f6e732f676574416363657074437573746f6d657250726f66696c6550616765
+526573706f6e7365270d0a202020202020202020202020782d6578616d706c653a207b7d0d0a20
+20202020202020202027343034273a0d0a2020202020202020202020206465736372697074696f
+6e3a2041646472657373206e6f7420637265617465640d0a202020202020202020202020736368
+656d613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e
+732f6572726f72526573706f6e7365270d0a2020202020202020202027353030273a0d0a202020
+2020202020202020206465736372697074696f6e3a2053797374656d204572726f722e0d0a2020
+20202020202020202020736368656d613a0d0a2020202020202020202020202020247265663a20
+27232f646566696e6974696f6e732f6572726f72526573706f6e736527202020200d0a20202020
+20202020202064656661756c743a0d0a2020202020202020202020206465736372697074696f6e
+3a20556e6578706563746564206572726f722e0d0a202020202020202020202020736368656d61
+3a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f65
+72726f72526573706f6e7365270d0a202020202f76312f61636365707453756974652f67657441
+6e4163636570745061796d656e74506167653a0d0a2020202020206765743a0d0a202020202020
+2020746167733a0d0a202020202020202020202d2061636365707453756974650d0a2020202020
+20202073756d6d6172793a2047657420616e20416363657074205061796d656e7420506167652e
+0d0a20202020202020206465736372697074696f6e3a2055736520746869732066756e6374696f
+6e20746f207265747269657665206120666f726d20746f6b656e2077686963682063616e206265
+207573656420746f20726571756573742074686520417574686f72697a652e6e65742041636365
+707420686f73746564207061796d656e7420706167652e0d0a20202020202020206f7065726174
+696f6e49643a20676574416e4163636570745061796d656e74506167650d0a2020202020202020
+70726f64756365733a0d0a2020202020202020202020202d206170706c69636174696f6e2f6a73
+6f6e0d0a202020202020202073656375726974793a0d0a2020202020202020202020202d206f61
+7574683a0d0a202020202020202020202020202020202d2077726974650d0a2020202020202020
+202020202d2062617369633a205b5d0d0a2020202020202020706172616d65746572733a0d0a20
+2020202020202020202d206e616d653a206d65726368616e7441757468656e7469636174696f6e
+0d0a202020202020202020202020696e3a2071756572790d0a2020202020202020202020207479
+70653a20737472696e670d0a2020202020202020202020206465736372697074696f6e3a202743
+6f6e7461696e73206d65726368616e742061757468656e7469636174696f6e20696e666f726d61
+74696f6e2e270d0a20202020202020202020202072657175697265643a20747275650d0a202020
+202020202020202d206e616d653a206e616d650d0a202020202020202020202020696e3a207175
+6572790d0a202020202020202020202020747970653a20737472696e670d0a2020202020202020
+202020206465736372697074696f6e3a20274d65726368616e74e280997320756e697175652041
+5049204c6f67696e2049442e270d0a20202020202020202020202072657175697265643a207472
+756520200d0a202020202020202020202d206e616d653a207472616e73616374696f6e4b65790d
+0a202020202020202020202020696e3a2071756572790d0a202020202020202020202020747970
+653a20696e74656765720d0a20202020202020202020202072657175697265643a20747275650d
+0a2020202020202020202020206465736372697074696f6e3a20274d65726368616e74e2809973
+20756e69717565205472616e73616374696f6e204b65792e270d0a202020202020202020202d20
+6e616d653a2072656649640d0a202020202020202020202020696e3a2071756572790d0a202020
+202020202020202020747970653a20737472696e670d0a20202020202020202020202064657363
+72697074696f6e3a20274d65726368616e742d61737369676e6564207265666572656e63652049
+4420666f722074686520726571756573742e270d0a202020202020202020202020726571756972
+65643a2066616c736520200d0a202020202020202020202d206e616d653a207472616e73616374
+696f6e526571756573740d0a202020202020202020202020696e3a2071756572790d0a20202020
+2020202020202020747970653a20696e74656765720d0a20202020202020202020202072657175
+697265643a20747275650d0a2020202020202020202020206465736372697074696f6e3a202754
+68697320656c656d656e74206973206120636f6e7461696e657220666f72207472616e73616374
+696f6e20737065636966696320696e666f726d6174696f6e2e270d0a202020202020202020202d
+206e616d653a207472616e73616374696f6e547970650d0a202020202020202020202020696e3a
+2071756572790d0a202020202020202020202020747970653a20737472696e670d0a2020202020
+2020202020202072657175697265643a20747275650d0a20202020202020202020202064657363
+72697074696f6e3a202754797065206f66206372656469742063617264207472616e7361637469
+6f6e2e270d0a202020202020202020202d206e616d653a20616d6f756e740d0a20202020202020
+2020202020696e3a2071756572790d0a202020202020202020202020747970653a20737472696e
+670d0a20202020202020202020202072657175697265643a20747275650d0a2020202020202020
+202020206465736372697074696f6e3a2027416d6f756e74206f6620746865207472616e736163
+74696f6e2e27200d0a202020202020202020202d206e616d653a2070726f66696c650d0a202020
+202020202020202020696e3a2071756572790d0a202020202020202020202020747970653a2073
+7472696e670d0a20202020202020202020202072657175697265643a2066616c73650d0a202020
+2020202020202020206465736372697074696f6e3a202754686520666f6c6c6f77696e67206669
+656c647320656e61626c6520796f7520746f206368617267652061207472616e73616374696f6e
+207573696e67207061796d656e74206f72207368697070696e672070726f66696c65732e27200d
+0a202020202020202020202d206e616d653a20637573746f6d657250726f66696c6549640d0a20
+2020202020202020202020696e3a2071756572790d0a202020202020202020202020747970653a
+20737472696e670d0a20202020202020202020202072657175697265643a2066616c73650d0a20
+20202020202020202020206465736372697074696f6e3a2027546865204944206f662074686520
+637573746f6d65722070726f66696c652e270d0a202020202020202020202d206e616d653a2073
+6f6c7574696f6e0d0a202020202020202020202020696e3a2071756572790d0a20202020202020
+2020202020747970653a20737472696e670d0a2020202020202020202020206465736372697074
+696f6e3a2027436f6e7461696e7320696e666f726d6174696f6e2061626f75742074686520736f
+66747761726520746861742067656e65726174656420746865207472616e73616374696f6e2e27
+0d0a20202020202020202020202072657175697265643a2066616c73650d0a2020202020202020
+20202d206e616d653a2069640d0a202020202020202020202020696e3a2071756572790d0a2020
+20202020202020202020747970653a20737472696e670d0a202020202020202020202020646573
+6372697074696f6e3a202754686520756e6971756520536f6c7574696f6e204944207768696368
+20796f752067656e657261746520616e64206173736f6369617465207769746820796f75722073
+6f6c7574696f6e207468726f7567682074686520506172746e657220496e746572666163652e27
+0d0a20202020202020202020202072657175697265643a2066616c736520200d0a202020202020
+202020202d206e616d653a206f726465720d0a202020202020202020202020696e3a2071756572
+790d0a202020202020202020202020747970653a20737472696e670d0a20202020202020202020
+202072657175697265643a2066616c73650d0a2020202020202020202020206465736372697074
+696f6e3a2027436f6e7461696e7320696e666f726d6174696f6e2061626f757420746865206f72
+6465722e270d0a202020202020202020202d206e616d653a20696e766f6963654e756d6265720d
+0a202020202020202020202020696e3a2071756572790d0a202020202020202020202020747970
+653a20737472696e670d0a2020202020202020202020206465736372697074696f6e3a20274d65
+726368616e742d646566696e656420696e766f696365206e756d626572206173736f6369617465
+64207769746820746865206f726465722e270d0a20202020202020202020202072657175697265
+643a2066616c736520200d0a202020202020202020202d206e616d653a20646573637269707469
+6f6e0d0a202020202020202020202020696e3a2071756572790d0a202020202020202020202020
+747970653a20696e74656765720d0a20202020202020202020202072657175697265643a207472
+75650d0a2020202020202020202020206465736372697074696f6e3a2027446573637269707469
+6f6e206f6620746865206974656d207075726368617365642e270d0a202020202020202020202d
+206e616d653a206c696e654974656d730d0a202020202020202020202020696e3a207175657279
+0d0a202020202020202020202020747970653a20737472696e670d0a2020202020202020202020
+2072657175697265643a2066616c73650d0a202020202020202020202020646573637269707469
+6f6e3a20272020436f6e7461696e73206f6e65206f72206d6f7265206c696e654974656d20656c
+656d656e74732c20757020746f2061206d6178696d756d206f66203330206c696e65206974656d
+732e270d0a202020202020202020202d206e616d653a206c696e654974656d0d0a202020202020
+202020202020696e3a2071756572790d0a202020202020202020202020747970653a2073747269
+6e670d0a20202020202020202020202072657175697265643a2066616c73650d0a202020202020
+2020202020206465736372697074696f6e3a2027436f6e7461696e7320696e666f726d6174696f
+6e2061626f7574206f6e65206974656d2e27200d0a202020202020202020202d206e616d653a20
+6974656d49640d0a202020202020202020202020696e3a2071756572790d0a2020202020202020
+20202020747970653a20737472696e670d0a20202020202020202020202072657175697265643a
+2066616c73650d0a2020202020202020202020206465736372697074696f6e3a20274974656d20
+6964656e74696669636174696f6e2e27200d0a202020202020202020202d206e616d653a206475
+74790d0a202020202020202020202020696e3a2071756572790d0a202020202020202020202020
+747970653a20737472696e670d0a20202020202020202020202072657175697265643a2066616c
+73650d0a2020202020202020202020206465736372697074696f6e3a20272020436f6e7461696e
+7320696e666f726d6174696f6e2061626f757420616e792064757479206170706c6965642e2720
+200d0a2020202020202020726573706f6e7365733a0d0a2020202020202020202027323030273a
+0d0a2020202020202020202020206465736372697074696f6e3a204f4b0d0a2020202020202020
+20202020736368656d613a0d0a2020202020202020202020202020247265663a2027232f646566
+696e6974696f6e732f676574416363657074437573746f6d657250726f66696c65506167655265
+73706f6e7365270d0a202020202020202020202020782d6578616d706c653a207b7d0d0a202020
+2020202020202027343034273a0d0a2020202020202020202020206465736372697074696f6e3a
+2041646472657373206e6f7420637265617465640d0a202020202020202020202020736368656d
+613a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f
+6572726f72526573706f6e7365270d0a2020202020202020202027353030273a0d0a2020202020
+202020202020206465736372697074696f6e3a2053797374656d204572726f722e0d0a20202020
+2020202020202020736368656d613a0d0a2020202020202020202020202020247265663a202723
+2f646566696e6974696f6e732f6572726f72526573706f6e736527202020200d0a202020202020
+2020202064656661756c743a0d0a2020202020202020202020206465736372697074696f6e3a20
+556e6578706563746564206572726f722e0d0a202020202020202020202020736368656d613a0d
+0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f657272
+6f72526573706f6e736527202020202020202020200d0a2020646566696e6974696f6e733a0d0a
+202020204964656e7469666965723a0d0a2020202020206465736372697074696f6e3a204d6f64
+656c20666f72204964656e7469666965720d0a202020202020747970653a206f626a6563740d0a
+20202020202070726f706572746965733a0d0a2020202020202020656d61696c3a0d0a20202020
+202020202020747970653a20737472696e670d0a20202020202020202020782d6578616d706c65
+3a20637573746f6d65722d70726f66696c652d656d61696c40686572652e636f6d0d0a20202020
+202020207265666572656e63653a0d0a20202020202020202020747970653a20737472696e670d
+0a20202020202020202020782d6578616d706c653a204d65726368616e745f437573746f6d6572
+5f49440d0a20202020437573746f6d65724c6973743a0d0a20202020202070726f706572746965
+733a0d0a2020202020202020637573746f6d6572733a0d0a20202020202020202020747970653a
+2061727261790d0a202020202020202020206974656d733a0d0a20202020202020202020202024
+7265663a2027232f646566696e6974696f6e732f437573746f6d6572270d0a2020202043757374
+6f6d6572436f6c6c656374696f6e3a0d0a20202020202070726f706572746965733a0d0a202020
+20202020205f6c696e6b733a0d0a20202020202020202020247265663a2027232f646566696e69
+74696f6e732f636f6c6c656374696f6e4c696e6b73270d0a20202020202020205f656d62656464
+65643a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f437573
+746f6d65724c697374270d0a2020202020202020746f74616c437573746f6d6572733a0d0a2020
+2020202020202020747970653a20696e74656765720d0a20202020202020202020782d6578616d
+706c653a20313234330d0a202020202020202020206465736372697074696f6e3a20546f74616c
+206e756d626572206f6620637573746f6d65722070726f66696c6573206173736f636961746564
+207769746820746a6520417574686f72697a652e4e6574206163636f756e742074686174207375
+626d69747465642074686520726571756573742e0d0a20202020437265617465437573746f6d65
+72416464726573733a0d0a2020202020206465736372697074696f6e3a20436f6e7461696e7320
+74686520696e666f726d6174696f6e20746f20637265617465206120637573746f6d6572206164
+6472657373206f626a6563742e0d0a202020202020747970653a206f626a6563740d0a20202020
+202072657175697265643a0d0a20202020202020202d2061646472657373310d0a202020202020
+70726f706572746965733a0d0a202020202020202061646472657373313a0d0a20202020202020
+202020747970653a20737472696e670d0a20202020202020202020782d6578616d706c653a2031
+3233204d61696e2053742e0d0a202020202020202020206465736372697074696f6e3a20546865
+20637573746f6d657227732073747265657420616464726573732e0d0a20202020202020206164
+6d696e697374726174697665417265613a0d0a20202020202020202020747970653a2073747269
+6e670d0a20202020202020202020782d6578616d706c653a2057410d0a20202020202020202020
+6465736372697074696f6e3a205374617465206f722061646d696e697374726174697665206172
+6561206f662074686520637573746f6d6572277320616464726573732e0d0a2020202020202020
+636f6d70616e793a0d0a20202020202020202020747970653a20737472696e670d0a2020202020
+2020202020782d6578616d706c653a2027576964676574732c20496e632e270d0a202020202020
+202020206465736372697074696f6e3a20274e616d65206f662074686520636f6d70616e792061
+73736f63696174656420776974682074686520637573746f6d657227277320616464726573732c
+20696620616e792e270d0a2020202020202020636f756e7472793a0d0a20202020202020202020
+747970653a20737472696e670d0a20202020202020202020782d6578616d706c653a205553410d
+0a202020202020202020206465736372697074696f6e3a20436f756e747279206173736f636961
+74656420776974682074686520637573746f6d6572277320616464726573732e0d0a2020202020
+20202064656661756c743a0d0a20202020202020202020747970653a20626f6f6c65616e0d0a20
+202020202020202020782d6578616d706c653a202774727565270d0a2020202020202020202064
+65736372697074696f6e3a2053657474696e67207468697320746f20607472756560206d616b65
+73207468697320616464726573732074686520637573746f6d657227732064656661756c742061
+6464726573732e0d0a202020202020202066697273744e616d653a0d0a20202020202020202020
+747970653a20737472696e670d0a20202020202020202020782d6578616d706c653a204a6f686e
+0d0a202020202020202020206465736372697074696f6e3a204669727374206e616d6520617373
+6f63696174656420776974682074686520637573746f6d6572277320616464726573732e0d0a20
+202020202020206c6173744e616d653a0d0a20202020202020202020747970653a20737472696e
+670d0a20202020202020202020782d6578616d706c653a20446f650d0a20202020202020202020
+6465736372697074696f6e3a204c617374206e616d65206173736f636961746564207769746820
+74686520637573746f6d6572277320616464726573732e0d0a20202020202020206c6f63616c69
+74793a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020202020
+782d6578616d706c653a2042656c6c657675650d0a202020202020202020206465736372697074
+696f6e3a2043697479206f7220746f776e206e616d65206173736f636961746564207769746820
+74686520637573746f6d6572277320616464726573732e0d0a202020202020202070686f6e654e
+756d6265723a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020
+202020782d6578616d706c653a203535352d3535352d353535350d0a2020202020202020202064
+65736372697074696f6e3a2050686f6e65206e756d626572206173736f63696174656420776974
+682074686520637573746f6d6572277320616464726573732e0d0a2020202020202020706f7374
+616c436f64653a0d0a20202020202020202020747970653a20737472696e670d0a202020202020
+20202020782d6578616d706c653a20273938303034270d0a202020202020202020206465736372
+697074696f6e3a205a4950206f7220706f7374616c20636f6465206f662074686520637573746f
+6d6572277320616464726573732e0d0a202020204372656174655061796d656e744d6574686f64
+3a0d0a2020202020206465736372697074696f6e3a20436f6e7461696e7320696e666f726d6174
+696f6e2061626f7574206120637573746f6d65722773207061796d656e74206d6574686f642e0d
+0a202020202020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d
+0a20202020202020206164647265737349643a0d0a20202020202020202020747970653a207374
+72696e670d0a202020202020202020206465736372697074696f6e3a20556e6971756520696465
+6e746966696572206f66207468652061646472657373206173736f636961746564207769746820
+746865207061796d656e74206d6574686f642e0d0a202020202020202062696c6c546f3a0d0a20
+202020202020202020247265663a2027232f646566696e6974696f6e732f626173654164647265
+7373270d0a202020202020202020206465736372697074696f6e3a20436f6e7461696e73206375
+73746f6d65722062696c6c696e6720696e666f726d6174696f6e2e0d0a20202020202020206465
+6661756c743a0d0a20202020202020202020747970653a20626f6f6c65616e0d0a202020202020
+20202020782d6578616d706c653a202774727565270d0a20202020202020202020646573637269
+7074696f6e3a2053657474696e67207468697320746f2060747275656020736574732074686973
+207061796d656e74206d6574686f64206173207468652064656661756c7420666f722074686973
+20637573746f6d65722070726f66696c652e0d0a20202020202020207061796d656e74496e666f
+726d6174696f6e3a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e
+732f7061796d656e74496e666f726d6174696f6e270d0a20202020437265617465437573746f6d
+6572416e645061796d656e744d6574686f643a0d0a2020202020206465736372697074696f6e3a
+20436f6e7461696e732074686520696e666f726d6174696f6e20746f2063726561746520612070
+726f66696c6520616e6420616e206173736f636961746564207061796d656e74206d6574686f64
+2e0d0a202020202020747970653a206f626a6563740d0a20202020202072657175697265643a0d
+0a20202020202020202d206964656e7469666965720d0a20202020202070726f70657274696573
+3a0d0a20202020202020206465736372697074696f6e3a0d0a2020202020202020202074797065
+3a20737472696e670d0a20202020202020202020782d6578616d706c653a20274a6f686e20536d
+6974682c20636f6e74726163746f722e270d0a202020202020202020206465736372697074696f
+6e3a204465736372697074696f6e206f662074686520637573746f6d6572206f7220637573746f
+6d65722070726f66696c652e205265717569726564206f6e6c79207768656e206e6f2076616c75
+657320666f7220606d65726368616e74437573746f6d657249646020616e642060656d61696c60
+20617265207375626d69747465642e203235352d636861726163746572206d6178696d756d2e0d
+0a20202020202020206964656e7469666965723a0d0a20202020202020202020247265663a2027
+232f646566696e6974696f6e732f4964656e746966696572270d0a20202020202020207061796d
+656e744d6574686f643a0d0a20202020202020202020247265663a2027232f646566696e697469
+6f6e732f4372656174655061796d656e744d6574686f64270d0a20202020437573746f6d65723a
+0d0a2020202020206465736372697074696f6e3a20526573706f6e736520696e666f726d617469
+6f6e2072657475726e656420616674657220746865206372656174696f6e206f66206120637573
+746f6d65722070726f66696c652e0d0a20202020202070726f706572746965733a0d0a20202020
+2020202069643a0d0a20202020202020202020747970653a20737472696e670d0a202020202020
+202020206465736372697074696f6e3a20556e69717565206964656e746966696572206f662074
+686520637573746f6d65722070726f66696c652e0d0a2020202020202020646573637269707469
+6f6e3a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020202020
+782d6578616d706c653a20437573746f6d6572204465736372697074696f6e0d0a202020202020
+202020206465736372697074696f6e3a204465736372697074696f6e206f662074686520637573
+746f6d65722e0d0a20202020202020206964656e7469666965723a0d0a20202020202020202020
+247265663a2027232f646566696e6974696f6e732f4964656e746966696572270d0a2020202020
+2020205f6c696e6b733a0d0a20202020202020202020247265663a2027232f646566696e697469
+6f6e732f437573746f6d65724c696e6b73270d0a20202020437573746f6d65724c696e6b733a0d
+0a20202020202070726f706572746965733a0d0a202020202020202073656c663a0d0a20202020
+202020202020247265663a2027232f646566696e6974696f6e732f6c696e6b270d0a2020202020
+2020207061796d656e744d6574686f64733a0d0a20202020202020202020247265663a2027232f
+646566696e6974696f6e732f6c696e6b270d0a20202020202020206164647265737365733a0d0a
+20202020202020202020247265663a2027232f646566696e6974696f6e732f6c696e6b270d0a20
+2020207061796d656e74526571756573743a0d0a2020202020206465736372697074696f6e3a20
+5061796d656e742052657175657374206f626a6563742e20436f6e7461696e7320696e666f726d
+6174696f6e2061626f757420746865207061796d656e74207472616e73616374696f6e2e0d0a20
+20202020207469746c653a207061796d656e74526571756573740d0a202020202020747970653a
+206f626a6563740d0a20202020202070726f706572746965733a0d0a2020202020202020636c69
+656e745265666572656e6365496e666f726d6174696f6e3a0d0a20202020202020202020247265
+663a2027232f646566696e6974696f6e732f636c69656e745265666572656e6365496e666f726d
+6174696f6e270d0a202020202020202070726f63657373696e67496e666f726d6174696f6e3a0d
+0a20202020202020202020247265663a2027232f646566696e6974696f6e732f70726f63657373
+696e67496e666f726d6174696f6e270d0a20202020202020207061796d656e74496e666f726d61
+74696f6e3a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f70
+61796d656e74496e666f726d6174696f6e270d0a20202020202020206f72646572496e666f726d
+6174696f6e3a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f
+6f72646572496e666f726d6174696f6e270d0a20202020202020206275796572496e666f726d61
+74696f6e3a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f62
+75796572496e666f726d6174696f6e270d0a2020202020202020646576696365496e666f726d61
+74696f6e3a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f64
+6576696365496e666f726d6174696f6e270d0a2020202020202020636f6e73756d657241757468
+656e7469636174696f6e496e666f726d6174696f6e3a0d0a20202020202020202020247265663a
+2027232f646566696e6974696f6e732f636f6e73756d657241757468656e7469636174696f6e49
+6e666f726d6174696f6e270d0a2020202020202020706f696e744f6653616c65496e666f726d61
+74696f6e3a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f70
+6f696e744f6653616c65496e666f726d6174696f6e270d0a202020206372656174655472616e73
+616374696f6e52657175657374466f7243686172676541437265646974436172643a0d0a202020
+202020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a202020
+20202020206372656174655472616e73616374696f6e526571756573743a0d0a20202020202020
+202020247265663a2027232f646566696e6974696f6e732f6372656174655472616e7361637469
+6f6e52657175657374270d0a202020206372656174654361707475726550726576696f75734175
+74686f72697a6564416d6f756e743a0d0a2020202020206465736372697074696f6e3a20547261
+6e73616374696f6e2052657175657374206f626a6563742e20436f6e7461696e7320696e666f72
+6d6174696f6e2061626f757420746865207061796d656e74207472616e73616374696f6e2e0d0a
+202020202020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a
+20202020202020206372656174655472616e73616374696f6e526571756573743a0d0a20202020
+202020202020247265663a2027232f646566696e6974696f6e732f6372656174655472616e7361
+6374696f6e52657175657374466f7250726576696f7573417574686f72697a6564416d6f756e74
+270d0a202020207472616e73616374696f6e52657175657374466f7250726576696f7573417574
+686f72697a6564416d6f756e743a0d0a20202020202020747970653a206f626a6563740d0a2020
+202020202070726f706572746965733a0d0a20202020202020207472616e73616374696f6e5479
+70653a0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020616d
+6f756e743a0d0a20202020202020202020747970653a20696e74656765720d0a20202020202020
+207265665472616e7349643a0d0a20202020202020202020747970653a20737472696e6720200d
+0a202020206372656174654361707475726546756e6473417574686f72697a65645468726f7567
+68416e6f746865724368616e6e656c3a0d0a202020202020747970653a206f626a6563740d0a20
+202020202070726f706572746965733a0d0a20202020202020206372656174655472616e736163
+74696f6e526571756573743a0d0a20202020202020202020247265663a2027232f646566696e69
+74696f6e732f7472616e73616374696f6e52657175657374466f724361707475726546756e6473
+417574686f72697a65645468726f756768416e6f746865724368616e6e656c270d0a2020202074
+72616e73616374696f6e52657175657374466f726372656174654361707475726546756e647341
+7574686f72697a65645468726f756768416e6f746865724368616e6e656c3a0d0a202020202020
+20747970653a206f626a6563740d0a2020202020202070726f706572746965733a0d0a20202020
+202020207472616e73616374696f6e547970653a0d0a20202020202020202020747970653a2073
+7472696e670d0a2020202020202020616d6f756e743a0d0a20202020202020202020747970653a
+20696e74656765720d0a20202020202020207061796d656e743a0d0a2020202020202020202020
+247265663a2027232f646566696e6974696f6e732f43437061796d656e742720200d0a20202020
+2020202061757468436f64653a0d0a202020202020202020202020747970653a20737472696e67
+20200d0a20202020637265617465526566756e645472616e73616374696f6e3a0d0a2020202020
+206465736372697074696f6e3a205472616e73616374696f6e2052657175657374206f626a6563
+7420666f7220526566756e64205472616e61616374696f6e2e20436f6e7461696e7320696e666f
+726d6174696f6e2061626f757420746865207061796d656e74207472616e73616374696f6e2e0d
+0a202020202020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d
+0a20202020202020206372656174655472616e73616374696f6e526571756573743a0d0a202020
+20202020202020247265663a2027232f646566696e6974696f6e732f7472616e73616374696f6e
+52657175657374466f72637265617465526566756e645472616e73616374696f6e270d0a202020
+207472616e73616374696f6e52657175657374466f72637265617465526566756e645472616e73
+616374696f6e3a0d0a20202020202020747970653a206f626a6563740d0a202020202020207072
+6f706572746965733a0d0a20202020202020206d65726368616e7441757468656e746963617469
+6f6e3a0d0a2020202020202020202020247265663a2027232f646566696e6974696f6e732f6d65
+726368616e7441757468656e7469636174696f6e270d0a202020202020202072656649643a0d0a
+202020202020202020202020747970653a20737472696e67202020200d0a202020202020202074
+72616e73616374696f6e526571756573743a0d0a20202020202020202020247265663a2027232f
+646566696e6974696f6e732f7472616e73616374696f6e7352657175657374466f726372656174
+65526566756e645472616e73616374696f6e270d0a202020207472616e73616374696f6e735265
+7175657374466f72637265617465526566756e645472616e73616374696f6e3a0d0a2020202020
+2020747970653a206f626a6563740d0a2020202020202070726f706572746965733a0d0a202020
+20202020207472616e73616374696f6e547970653a0d0a20202020202020202020747970653a20
+737472696e670d0a2020202020202020616d6f756e743a0d0a2020202020202020202074797065
+3a20696e74656765720d0a20202020202020207061796d656e743a0d0a20202020202020202020
+20247265663a2027232f646566696e6974696f6e732f43437061796d656e742720200d0a202020
+20202020207265665472616e7349643a0d0a202020202020202020202020747970653a20737472
+696e672020202020200d0a20202020637265617465566f69645472616e73616374696f6e3a0d0a
+202020202020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a
+20202020202020206372656174655472616e73616374696f6e526571756573743a0d0a20202020
+202020202020247265663a2027232f646566696e6974696f6e732f6372656174655472616e7361
+6374696f6e52657175657374466f72566f69645472616e73616374696f6e270d0a202020206372
+656174655472616e73616374696f6e52657175657374466f72566f69645472616e73616374696f
+6e3a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f706572746965
+733a0d0a20202020202020206d65726368616e7441757468656e7469636174696f6e3a0d0a2020
+2020202020202020247265663a2027232f646566696e6974696f6e732f6d65726368616e744175
+7468656e7469636174696f6e270d0a202020202020202072656649643a0d0a2020202020202020
+20202020747970653a20737472696e67202020200d0a20202020202020207472616e7361637469
+6f6e526571756573743a0d0a20202020202020202020247265663a2027232f646566696e697469
+6f6e732f7472616e73616374696f6e52657175657374466f72637265617465566f69645472616e
+73616374696f6e2720200d0a202020207472616e73616374696f6e52657175657374466f726372
+65617465566f69645472616e73616374696f6e3a0d0a20202020202020747970653a206f626a65
+63740d0a2020202020202070726f706572746965733a0d0a20202020202020207472616e736163
+74696f6e547970653a0d0a20202020202020202020747970653a20737472696e670d0a20202020
+202020207265665472616e7349643a0d0a20202020202020202020747970653a20737472696e67
+0d0a2020202063726561746555706461746553706c697454656e64657247726f75703a0d0a2020
+202020206465736372697074696f6e3a205472616e73616374696f6e2052657175657374206f62
+6a65637420666f7220526566756e64205472616e61616374696f6e2e20436f6e7461696e732069
+6e666f726d6174696f6e2061626f757420746865207061796d656e74207472616e73616374696f
+6e2e0d0a202020202020747970653a206f626a6563740d0a20202020202070726f706572746965
+733a0d0a20202020202020206372656174655472616e73616374696f6e526571756573743a0d0a
+20202020202020202020247265663a2027232f646566696e6974696f6e732f6372656174655472
+616e73616374696f6e52657175657374270d0a202020202020202073706c697454656e64657249
+643a0d0a20202020202020202020747970653a20696e74656765720d0a20202020202020207370
+6c697454656e6465725374617475733a0d0a20202020202020202020747970653a20737472696e
+670d0a2020202063726561746544656269744142616e6b4163636f756e743a0d0a202020202020
+747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a202020202020
+20206372656174655472616e73616374696f6e526571756573743a0d0a20202020202020202020
+247265663a2027232f646566696e6974696f6e732f7472616e73616374696f6e52657175657374
+466f72446562697442616e6b4163636f756e74270d0a202020207472616e73616374696f6e5265
+7175657374466f72446562697442616e6b4163636f756e743a0d0a202020202020747970653a20
+6f626a6563740d0a20202020202070726f706572746965733a0d0a20202020202020206d657263
+68616e7441757468656e7469636174696f6e3a0d0a20202020202020202020247265663a202723
+2f646566696e6974696f6e732f6d65726368616e7441757468656e7469636174696f6e270d0a20
+2020202020202072656649643a0d0a202020202020202020202020747970653a20737472696e67
+202020200d0a20202020202020207472616e73616374696f6e526571756573743a0d0a20202020
+202020202020247265663a2027232f646566696e6974696f6e732f7472616e73616374696f6e73
+52657175657374466f72446562697442616e6b4163636f756e74270d0a202020207472616e7361
+6374696f6e7352657175657374466f72446562697442616e6b4163636f756e743a0d0a20202020
+202020747970653a206f626a6563740d0a2020202020202070726f706572746965733a0d0a2020
+2020202020207472616e73616374696f6e547970653a0d0a20202020202020202020747970653a
+20737472696e670d0a2020202020202020616d6f756e743a0d0a20202020202020202020747970
+653a20696e74656765720d0a20202020202020207061796d656e743a0d0a202020202020202020
+2020247265663a2027232f646566696e6974696f6e732f62616e6b4163636f756e744465626974
+4163636f756e74270d0a20202020202020206c696e654974656d733a0d0a202020202020202020
+20247265663a2027232f646566696e6974696f6e732f6c696e654974656d73270d0a2020202020
+2020207461783a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e73
+2f746178270d0a2020202020202020647574793a0d0a20202020202020202020247265663a2027
+232f646566696e6974696f6e732f64757479270d0a20202020202020207368697070696e673a0d
+0a20202020202020202020247265663a2027232f646566696e6974696f6e732f7368697070696e
+67466f446562697442616e6b4163636f756e74270d0a2020202020202020706f4e756d6265723a
+0d0a20202020202020202020747970653a20737472696e670d0a202020202020202062696c6c54
+6f3a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f62696c6c
+546f270d0a202020202020202073686970546f3a0d0a20202020202020202020247265663a2027
+232f646566696e6974696f6e732f73686970546f270d0a2020202020202020637573746f6d6572
+49503a0d0a20202020202020202020747970653a20737472696e670d0a20202020637265617465
+4372656469744142616e6b4163636f756e743a0d0a202020202020747970653a206f626a656374
+0d0a20202020202070726f706572746965733a0d0a20202020202020206372656174655472616e
+73616374696f6e526571756573743a0d0a20202020202020202020247265663a2027232f646566
+696e6974696f6e732f6372656174655472616e73616374696f6e52657175657374466f72437265
+6469744142616e6b4163636f756e74270d0a202020206372656174655472616e73616374696f6e
+52657175657374466f724372656469744142616e6b4163636f756e743a0d0a2020202020207479
+70653a206f626a6563740d0a20202020202070726f706572746965733a0d0a2020202020202020
+6d65726368616e7441757468656e7469636174696f6e3a0d0a2020202020202020202024726566
+3a2027232f646566696e6974696f6e732f6d65726368616e7441757468656e7469636174696f6e
+270d0a202020202020202072656649643a0d0a202020202020202020202020747970653a207374
+72696e67202020200d0a20202020202020207472616e73616374696f6e526571756573743a0d0a
+20202020202020202020247265663a2027232f646566696e6974696f6e732f7472616e73616374
+696f6e52657175657374466f7243726564697442616e6b4163636f756e74270d0a202020207472
+616e73616374696f6e52657175657374466f7243726564697442616e6b4163636f756e743a0d0a
+20202020202020747970653a206f626a6563740d0a2020202020202070726f706572746965733a
+0d0a20202020202020207472616e73616374696f6e547970653a0d0a2020202020202020202074
+7970653a20737472696e670d0a2020202020202020616d6f756e743a0d0a202020202020202020
+20747970653a20696e74656765720d0a20202020202020207061796d656e743a0d0a2020202020
+202020202020247265663a2027232f646566696e6974696f6e732f62616e6b4163636f756e7444
+656269744163636f756e74270d0a20202020202020207265665472616e7349643a0d0a20202020
+202020202020747970653a20737472696e67202020200d0a2020202063686172676541546f6b65
+6e697a6564437265646974436172643a0d0a202020202020747970653a206f626a6563740d0a20
+202020202070726f706572746965733a0d0a20202020202020206372656174655472616e736163
+74696f6e526571756573743a0d0a20202020202020202020247265663a2027232f646566696e69
+74696f6e732f7472616e73616374696f6e5265717565737463686172676541546f6b656e697a65
+6443726564697443617264270d0a202020207472616e73616374696f6e52657175657374636861
+72676541546f6b656e697a6564437265646974436172643a0d0a202020202020747970653a206f
+626a6563740d0a20202020202070726f706572746965733a0d0a20202020202020206d65726368
+616e7441757468656e7469636174696f6e3a0d0a20202020202020202020247265663a2027232f
+646566696e6974696f6e732f6d65726368616e7441757468656e7469636174696f6e270d0a2020
+20202020202072656649643a0d0a202020202020202020202020747970653a20737472696e6720
+2020200d0a20202020202020207472616e73616374696f6e526571756573743a0d0a2020202020
+2020202020247265663a2027232f646566696e6974696f6e732f7472616e73616374696f6e7352
+65717565737463686172676541546f6b656e697a656443726564697443617264270d0a20202020
+7472616e73616374696f6e735265717565737463686172676541546f6b656e697a656443726564
+6974436172643a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f70
+6572746965733a0d0a20202020202020207472616e73616374696f6e547970653a0d0a20202020
+2020202020202020747970653a20737472696e6720200d0a2020202020202020616d6f756e743a
+0d0a2020202020202020202020747970653a20737472696e670d0a20202020202020207061796d
+656e743a0d0a2020202020202020202020247265663a2027232f646566696e6974696f6e732f63
+726564697443617264546f6b656e697a6564272020200d0a20202020202020206c696e65497465
+6d733a0d0a202020202020202020247265663a2027232f646566696e6974696f6e732f6c696e65
+4974656d73270d0a20202020202020207461783a0d0a20202020202020202020247265663a2027
+232f646566696e6974696f6e732f746178270d0a2020202020202020647574793a0d0a20202020
+202020202020247265663a2027232f646566696e6974696f6e732f64757479270d0a2020202020
+2020207368697070696e673a0d0a20202020202020202020247265663a2027232f646566696e69
+74696f6e732f7368697070696e67270d0a2020202020202020706f4e756d6265723a0d0a202020
+20202020202020747970653a20737472696e670d0a2020202020202020637573746f6d65723a0d
+0a20202020202020202020247265663a2027232f646566696e6974696f6e732f637573746f6d65
+72270d0a202020202020202062696c6c546f3a0d0a20202020202020202020247265663a202723
+2f646566696e6974696f6e732f62696c6c546f270d0a202020202020202073686970546f3a0d0a
+20202020202020202020247265663a2027232f646566696e6974696f6e732f73686970546f270d
+0a2020202020202020637573746f6d657249503a0d0a20202020202020202020747970653a2073
+7472696e6720200d0a20202020202020207472616e73616374696f6e53657474696e67733a0d0a
+20202020202020202020247265663a2027232f646566696e6974696f6e732f7472616e73616374
+696f6e53657474696e6773270d0a2020202020202020757365724669656c64733a0d0a20202020
+202020202020247265663a2027232f646566696e6974696f6e732f757365724669656c6473270d
+0a202020202020202070726f63657373696e674f7074696f6e733a0d0a20202020202020202020
+247265663a2027232f646566696e6974696f6e732f70726f63657373696e674f7074696f6e7327
+0d0a202020202020202073756273657175656e7441757468496e666f726d6174696f6e3a0d0a20
+202020202020202020247265663a2027232f646566696e6974696f6e732f73756273657175656e
+7441757468496e666f726d6174696f6e2720200d0a2020202020202020617574686f72697a6174
+696f6e496e64696361746f72547970653a0d0a20202020202020202020247265663a2027232f64
+6566696e6974696f6e732f617574686f72697a6174696f6e496e64696361746f7254797065270d
+0a2020202063726564697443617264546f6b656e697a65643a0d0a202020202020202074797065
+3a206f626a6563740d0a202020202020202070726f706572746965733a0d0a2020202020202020
+2020637265646974436172643a0d0a202020202020202020202020247265663a2027232f646566
+696e6974696f6e732f546f6b656e697a656463726564697443617264270d0a20202020546f6b65
+6e697a6564637265646974436172643a0d0a20202020202070726f706572746965733a0d0a2020
+202020202020636172644e756d6265723a0d0a20202020202020202020747970653a20696e7465
+6765720d0a202020202020202065787069726174696f6e446174653a0d0a202020202020202020
+20747970653a20737472696e670d0a202020202020202069735061796d656e74546f6b656e3a0d
+0a20202020202020202020747970653a20626f6f6c65616e0d0a20202020202020206372797074
+6f6772616d3a0d0a20202020202020202020747970653a20737472696e670d0a20202020637265
+6174655472616e73616374696f6e52657175657374466f72416e4170706c655061795472616e73
+616374696f6e3a0d0a2020202020202020747970653a206f626a6563740d0a2020202020202020
+70726f706572746965733a0d0a202020202020202020206372656174655472616e73616374696f
+6e526571756573743a0d0a202020202020202020202020247265663a2027232f646566696e6974
+696f6e732f7472616e73616374696f6e52657175657374466f72416e4170706c65506179547261
+6e73616374696f6e270d0a202020207472616e73616374696f6e52657175657374466f72416e41
+70706c655061795472616e73616374696f6e3a0d0a202020202020747970653a206f626a656374
+0d0a20202020202070726f706572746965733a0d0a20202020202020206d65726368616e744175
+7468656e7469636174696f6e3a0d0a20202020202020202020247265663a2027232f646566696e
+6974696f6e732f6d65726368616e7441757468656e7469636174696f6e270d0a20202020202020
+2072656649643a0d0a202020202020202020202020747970653a20737472696e67202020200d0a
+20202020202020207472616e73616374696f6e526571756573743a0d0a20202020202020202020
+247265663a2027232f646566696e6974696f6e732f637265617465416e4170706c655061795472
+616e73616374696f6e2720200d0a20202020637265617465416e4170706c655061795472616e73
+616374696f6e3a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f70
+6572746965733a0d0a20202020202020207472616e73616374696f6e547970653a0d0a20202020
+202020202020747970653a20737472696e670d0a2020202020202020616d6f756e743a0d0a2020
+2020202020202020747970653a20737472696e670d0a20202020202020207061796d656e743a0d
+0a2020202020202020202020247265663a2027232f646566696e6974696f6e732f7061796d656e
+74466f72437265617465416e4170706c655061795472616e73616374696f6e270d0a2020202020
+2020206c696e654974656d733a0d0a20202020202020202020247265663a2027232f646566696e
+6974696f6e732f6c696e654974656d73270d0a20202020202020207461783a0d0a202020202020
+20202020247265663a2027232f646566696e6974696f6e732f746178270d0a2020202020202020
+647574793a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f64
+757479270d0a20202020202020207368697070696e673a0d0a2020202020202020202024726566
+3a2027232f646566696e6974696f6e732f7368697070696e67270d0a2020202020202020706f4e
+756d6265723a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020
+2062696c6c546f3a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e
+732f62696c6c546f270d0a202020202020202073686970546f3a0d0a2020202020202020202024
+7265663a2027232f646566696e6974696f6e732f73686970546f270d0a20202020202020206375
+73746f6d657249503a0d0a20202020202020202020747970653a20737472696e670d0a20202020
+20202020757365724669656c64733a0d0a20202020202020202020247265663a2027232f646566
+696e6974696f6e732f757365724669656c6473270d0a202020207061796d656e74466f72437265
+617465416e4170706c655061795472616e73616374696f6e3a20200d0a20202020202020747970
+653a206f626a6563740d0a2020202020202070726f706572746965733a0d0a2020202020202020
+6f7061717565446174613a0d0a2020202020202020202020247265663a2027232f646566696e69
+74696f6e732f6f706171756544617461270d0a202020206f7061717565446174613a0d0a202020
+202020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a202020
+20202020206461746144657363726970746f723a0d0a20202020202020202020747970653a2073
+7472696e670d0a20202020202020206461746156616c75653a0d0a202020202020202020207479
+70653a20737472696e670d0a20202020637265617465416e4163636570745061796d656e745472
+616e73616374696f6e3a0d0a202020202020747970653a206f626a6563740d0a20202020202070
+726f706572746965733a0d0a20202020202020206372656174655472616e73616374696f6e5265
+71756573743a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f
+7472616e73616374696f6e52657175657374466f724163636570745061796d656e745472616e73
+616374696f6e270d0a202020207472616e73616374696f6e52657175657374466f724163636570
+745061796d656e745472616e73616374696f6e3a0d0a202020202020747970653a206f626a6563
+740d0a20202020202070726f706572746965733a0d0a20202020202020206d65726368616e7441
+757468656e7469636174696f6e3a0d0a20202020202020202020247265663a2027232f64656669
+6e6974696f6e732f6d65726368616e7441757468656e7469636174696f6e270d0a202020202020
+202072656649643a0d0a202020202020202020202020747970653a20737472696e670d0a202020
+20202020207472616e73616374696f6e526571756573743a0d0a20202020202020202024726566
+3a2027232f646566696e6974696f6e732f7472616e73616374696f6e52657175657374466f7243
+7265617465416e4163636570745061796d656e745472616e73616374696f6e270d0a2020202020
+2020206c696e654974656d733a0d0a202020202020202020247265663a2027232f646566696e69
+74696f6e732f6c696e654974656d73270d0a2020202020202020706f4e756d6265723a0d0a2020
+2020202020202020747970653a20737472696e670d0a202020202020202062696c6c546f3a0d0a
+20202020202020202020247265663a2027232f646566696e6974696f6e732f62696c6c546f270d
+0a202020202020202073686970546f3a0d0a20202020202020202020247265663a2027232f6465
+66696e6974696f6e732f73686970546f270d0a2020202020202020637573746f6d657249503a0d
+0a20202020202020202020747970653a20737472696e670d0a2020202020202020757365724669
+656c64733a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f75
+7365724669656c6473466f72437265617465416e4163636570745061796d656e745472616e7361
+6374696f6e270d0a20202020757365724669656c6473466f72437265617465416e416363657074
+5061796d656e745472616e73616374696f6e3a0d0a20202020202020747970653a206f626a6563
+740d0a2020202020202070726f706572746965733a0d0a20202020202020202075736572466965
+6c643a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f757365
+724669656c64466f72437265617465416e4163636570745061796d656e745472616e7361637469
+6f6e270d0a20202020757365724669656c64466f72437265617465416e4163636570745061796d
+656e745472616e73616374696f6e3a0d0a20202020202020747970653a2061727261790d0a2020
+20202020206974656d733a0d0a20202020202020202020247265663a2027232f646566696e6974
+696f6e732f757365724669656c64466f72437265617465416e4163636570745061796d656e7454
+72616e73616374696f6e73270d0a20202020757365724669656c64466f72437265617465416e41
+63636570745061796d656e745472616e73616374696f6e733a0d0a202020202020747970653a20
+6f626a6563740d0a20202020202070726f706572746965733a0d0a202020202020202020206e61
+6d653a0d0a202020202020202020202020747970653a20737472696e670d0a2020202020202020
+202076616c75653a0d0a202020202020202020202020747970653a20737472696e670d0a202020
+207472616e73616374696f6e52657175657374466f72437265617465416e416363657074506179
+6d656e745472616e73616374696f6e3a0d0a20202020202020747970653a206f626a6563740d0a
+2020202020202070726f706572746965733a0d0a20202020202020207472616e73616374696f6e
+547970653a0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020
+616d6f756e743a0d0a20202020202020202020747970653a20696e74656765720d0a2020202020
+2020207061796d656e743a0d0a2020202020202020202020247265663a2027232f646566696e69
+74696f6e732f7061796d656e74466f72437265617465416e4163636570745061796d656e745472
+616e73616374696f6e270d0a202020207061796d656e74466f72437265617465416e4163636570
+745061796d656e745472616e73616374696f6e3a20200d0a20202020202020747970653a206f62
+6a6563740d0a2020202020202070726f706572746965733a0d0a20202020202020206f70617175
+65446174613a0d0a2020202020202020202020247265663a2027232f646566696e6974696f6e73
+2f6f706171756544617461272020202020200d0a20202020637265617465417574686f72697a61
+74696f6e4f6e6c795472616e73616374696f6e3a0d0a202020202020747970653a206f626a6563
+740d0a20202020202070726f706572746965733a0d0a2020202020202020637265617465547261
+6e73616374696f6e526571756573743a0d0a20202020202020202020247265663a2027232f6465
+66696e6974696f6e732f7472616e73616374696f6e52657175657374466f72417574686f72697a
+6174696f6e4f6e6c795472616e73616374696f6e270d0a202020207472616e73616374696f6e52
+657175657374466f72417574686f72697a6174696f6e4f6e6c795472616e73616374696f6e3a0d
+0a202020202020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d
+0a20202020202020206d65726368616e7441757468656e7469636174696f6e3a0d0a2020202020
+2020202020247265663a2027232f646566696e6974696f6e732f6d65726368616e744175746865
+6e7469636174696f6e270d0a20202020202020207472616e73616374696f6e526571756573743a
+0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f7472616e7361
+6374696f6e52657175657374466f72417574686f72697a6174696f6e4f6e6c792720202020200d
+0a202020207472616e73616374696f6e52657175657374466f72417574686f72697a6174696f6e
+4f6e6c793a0d0a20202020202020747970653a206f626a6563740d0a2020202020202070726f70
+6572746965733a0d0a20202020202020207472616e73616374696f6e547970653a0d0a20202020
+202020202020747970653a20737472696e670d0a2020202020202020616d6f756e743a0d0a2020
+2020202020202020747970653a20696e74656765720d0a20202020202020207061796d656e743a
+0d0a2020202020202020202020247265663a2027232f646566696e6974696f6e732f617574686f
+72697a6174696f6e4f6e6c795472616e73616374696f6e270d0a20202020617574686f72697a61
+74696f6e4f6e6c795472616e73616374696f6e3a20200d0a20202020202020747970653a206f62
+6a6563740d0a2020202020202070726f706572746965733a0d0a20202020202020207061795061
+6c3a0d0a2020202020202020202020247265663a2027232f646566696e6974696f6e732f706179
+50616c466f72417574686f72697a6174696f6e4f6e6c795472616e73616374696f6e270d0a2020
+202070617950616c466f72417574686f72697a6174696f6e4f6e6c795472616e73616374696f6e
+3a0d0a20202020202020747970653a206f626a6563740d0a2020202020202070726f7065727469
+65733a0d0a20202020202020207375636365737355726c3a0d0a20202020202020202020747970
+653a20737472696e670d0a202020202020202063616e63656c55726c3a0d0a2020202020202020
+2020747970653a20737472696e670d0a20202020637265617465417574686f72697a6174696f6e
+416e64436170747572655472616e73616374696f6e3a0d0a2020202020202020747970653a206f
+626a6563740d0a202020202020202070726f706572746965733a0d0a2020202020202020202063
+72656174655472616e73616374696f6e526571756573743a0d0a20202020202020202020202024
+7265663a2027232f646566696e6974696f6e732f6372656174655472616e73616374696f6e5265
+7175657374466f72417574686f72697a6174696f6e416e64436170747572655472616e73616374
+696f6e270d0a202020206372656174655472616e73616374696f6e52657175657374466f724175
+74686f72697a6174696f6e416e64436170747572655472616e73616374696f6e3a0d0a20202020
+2020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a20202020
+202020206d65726368616e7441757468656e7469636174696f6e3a0d0a20202020202020202020
+247265663a2027232f646566696e6974696f6e732f6d65726368616e7441757468656e74696361
+74696f6e270d0a20202020202020207472616e73616374696f6e526571756573743a0d0a202020
+20202020202020247265663a2027232f646566696e6974696f6e732f7472616e73616374696f6e
+52657175657374466f72417574686f72697a6174696f6e416e6443617074757265272020202020
+20200d0a202020207472616e73616374696f6e52657175657374466f72417574686f72697a6174
+696f6e416e64436170747572653a0d0a20202020202020747970653a206f626a6563740d0a2020
+202020202070726f706572746965733a0d0a20202020202020207472616e73616374696f6e5479
+70653a0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020616d
+6f756e743a0d0a20202020202020202020747970653a20696e74656765720d0a20202020202020
+207061796d656e743a0d0a2020202020202020202020247265663a2027232f646566696e697469
+6f6e732f617574686f72697a6174696f6e416e64436170747572655472616e73616374696f6e27
+0d0a20202020202020206c696e654974656d733a0d0a2020202020202020202020247265663a20
+27232f646566696e6974696f6e732f6c696e654974656d73272020200d0a20202020617574686f
+72697a6174696f6e416e64436170747572655472616e73616374696f6e3a20200d0a2020202020
+2020747970653a206f626a6563740d0a2020202020202070726f706572746965733a0d0a202020
+202020202070617950616c3a0d0a2020202020202020202020247265663a2027232f646566696e
+6974696f6e732f70617950616c466f72417574686f72697a6174696f6e416e6443617074757265
+5472616e73616374696f6e270d0a2020202070617950616c466f72417574686f72697a6174696f
+6e416e64436170747572655472616e73616374696f6e3a0d0a20202020202020747970653a206f
+626a6563740d0a2020202020202070726f706572746965733a0d0a202020202020202073756363
+65737355726c3a0d0a20202020202020202020747970653a20737472696e670d0a202020202020
+202063616e63656c55726c3a0d0a20202020202020202020747970653a20737472696e670d0a20
+2020202020202070617970616c4c633a0d0a20202020202020202020747970653a20737472696e
+670d0a202020202020202070617970616c486472496d673a0d0a20202020202020202020747970
+653a20737472696e670d0a202020202020202070617970616c506179666c6f77636f6c6f723a0d
+0a20202020202020202020747970653a20737472696e670d0a2020202063726561746541757468
+6f72697a6174696f6e4f6e6c79436f6e74696e75655472616e73616374696f6e3a0d0a20202020
+202020747970653a206f626a6563740d0a2020202020202070726f706572746965733a0d0a2020
+2020202020206372656174655472616e73616374696f6e526571756573743a0d0a202020202020
+20202020247265663a2027232f646566696e6974696f6e732f6372656174655472616e73616374
+696f6e52657175657374466f72417574686f72697a6174696f6e4f6e6c79436f6e74696e756554
+72616e73616374696f6e270d0a202020206372656174655472616e73616374696f6e5265717565
+7374466f72417574686f72697a6174696f6e4f6e6c79436f6e74696e75655472616e7361637469
+6f6e3a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f7065727469
+65733a0d0a20202020202020206d65726368616e7441757468656e7469636174696f6e3a0d0a20
+202020202020202020247265663a2027232f646566696e6974696f6e732f6d65726368616e7441
+757468656e7469636174696f6e270d0a20202020202020207472616e73616374696f6e52657175
+6573743a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f7472
+616e73616374696f6e52657175657374466f72417574686f72697a6174696f6e4f6e6c79436f6e
+74696e756527200d0a202020207472616e73616374696f6e52657175657374466f72417574686f
+72697a6174696f6e4f6e6c79436f6e74696e75653a0d0a20202020202020747970653a206f626a
+6563740d0a2020202020202070726f706572746965733a0d0a20202020202020207472616e7361
+6374696f6e547970653a0d0a20202020202020202020747970653a20737472696e670d0a202020
+20202020207061796d656e743a0d0a2020202020202020202020247265663a2027232f64656669
+6e6974696f6e732f617574686f72697a6174696f6e4f6e6c79436f6e74696e75655472616e7361
+6374696f6e270d0a20202020202020207265665472616e7349643a0d0a20202020202020202020
+747970653a20737472696e6720202020200d0a20202020617574686f72697a6174696f6e4f6e6c
+79436f6e74696e75655472616e73616374696f6e3a20200d0a20202020202020747970653a206f
+626a6563740d0a2020202020202070726f706572746965733a0d0a202020202020202070617950
+616c3a0d0a2020202020202020202020247265663a2027232f646566696e6974696f6e732f7061
+7950616c466f72617574686f72697a6174696f6e4f6e6c79436f6e74696e75655472616e736163
+74696f6e270d0a2020202070617950616c466f72617574686f72697a6174696f6e4f6e6c79436f
+6e74696e75655472616e73616374696f6e3a0d0a20202020202020747970653a206f626a656374
+0d0a2020202020202070726f706572746965733a0d0a2020202020202020706179657249443a0d
+0a20202020202020202020747970653a20737472696e670d0a2020202063726561746541757468
+6f72697a6174696f6e416e6443617074757265436f6e74696e75653a0d0a202020202020207479
+70653a206f626a6563740d0a2020202020202070726f706572746965733a0d0a20202020202020
+206372656174655472616e73616374696f6e526571756573743a0d0a2020202020202020202024
+7265663a2027232f646566696e6974696f6e732f6372656174655472616e73616374696f6e5265
+7175657374466f72417574686f72697a6174696f6e416e6443617074757265436f6e74696e7565
+270d0a202020206372656174655472616e73616374696f6e52657175657374466f72417574686f
+72697a6174696f6e416e6443617074757265436f6e74696e75653a0d0a20202020202074797065
+3a206f626a6563740d0a20202020202070726f706572746965733a0d0a20202020202020206d65
+726368616e7441757468656e7469636174696f6e3a0d0a20202020202020202020247265663a20
+27232f646566696e6974696f6e732f6d65726368616e7441757468656e7469636174696f6e270d
+0a20202020202020207472616e73616374696f6e526571756573743a0d0a202020202020202020
+20247265663a2027232f646566696e6974696f6e732f7472616e73616374696f6e526571756573
+74466f72417574686f72697a6174696f6e416e6443617074757265436f6e74696e756527202020
+2020200d0a202020207472616e73616374696f6e52657175657374466f72417574686f72697a61
+74696f6e416e6443617074757265436f6e74696e75653a0d0a20202020202020747970653a206f
+626a6563740d0a2020202020202070726f706572746965733a0d0a20202020202020207472616e
+73616374696f6e547970653a0d0a20202020202020202020747970653a20737472696e670d0a20
+202020202020207061796d656e743a0d0a2020202020202020202020247265663a2027232f6465
+66696e6974696f6e732f617574686f72697a6174696f6e416e6443617074757265436f6e74696e
+75655472616e73616374696f6e270d0a20202020202020207265665472616e7349643a0d0a2020
+2020202020202020747970653a20737472696e6720202020200d0a20202020617574686f72697a
+6174696f6e416e6443617074757265436f6e74696e75655472616e73616374696f6e3a20200d0a
+20202020202020747970653a206f626a6563740d0a2020202020202070726f706572746965733a
+0d0a202020202020202070617950616c3a0d0a2020202020202020202020247265663a2027232f
+646566696e6974696f6e732f70617950616c466f72417574686f72697a6174696f6e416e644361
+7074757265436f6e74696e75655472616e73616374696f6e270d0a2020202070617950616c466f
+72417574686f72697a6174696f6e416e6443617074757265436f6e74696e75655472616e736163
+74696f6e3a0d0a20202020202020747970653a206f626a6563740d0a2020202020202070726f70
+6572746965733a0d0a2020202020202020706179657249443a0d0a202020202020202020207479
+70653a20737472696e670d0a202020206372656174655072696f72417574686f72697a6174696f
+6e436170747572655472616e73616374696f6e3a0d0a20202020202020747970653a206f626a65
+63740d0a2020202020202070726f706572746965733a0d0a202020202020202063726561746554
+72616e73616374696f6e526571756573743a0d0a20202020202020202020247265663a2027232f
+646566696e6974696f6e732f6372656174655472616e73616374696f6e52657175657374466f72
+5072696f72417574686f72697a6174696f6e436170747572655472616e73616374696f6e270d0a
+202020206372656174655472616e73616374696f6e52657175657374466f725072696f72417574
+686f72697a6174696f6e436170747572655472616e73616374696f6e3a0d0a2020202020207479
+70653a206f626a6563740d0a20202020202070726f706572746965733a0d0a2020202020202020
+6d65726368616e7441757468656e7469636174696f6e3a0d0a2020202020202020202024726566
+3a2027232f646566696e6974696f6e732f6d65726368616e7441757468656e7469636174696f6e
+270d0a20202020202020207472616e73616374696f6e526571756573743a0d0a20202020202020
+202020247265663a2027232f646566696e6974696f6e732f7472616e73616374696f6e52657175
+657374466f725072696f72417574686f72697a6174696f6e436170747572655472616e73616374
+696f6e272020202020200d0a202020207472616e73616374696f6e52657175657374466f725072
+696f72417574686f72697a6174696f6e436170747572655472616e73616374696f6e3a0d0a2020
+2020202020747970653a206f626a6563740d0a2020202020202070726f706572746965733a0d0a
+20202020202020207472616e73616374696f6e547970653a0d0a20202020202020202020747970
+653a20737472696e670d0a20202020202020207265665472616e7349643a0d0a20202020202020
+202020747970653a20737472696e67200d0a20202020637265617465566f696450617950616c45
+787072657373436865636b4f75745472616e73616374696f6e3a0d0a2020202020202074797065
+3a206f626a6563740d0a2020202020202070726f706572746965733a0d0a202020202020202063
+72656174655472616e73616374696f6e526571756573743a0d0a20202020202020202020247265
+663a2027232f646566696e6974696f6e732f6372656174655472616e73616374696f6e52657175
+657374466f72566f696450617950616c45787072657373436865636b4f75745472616e73616374
+696f6e270d0a202020206372656174655472616e73616374696f6e52657175657374466f72566f
+696450617950616c45787072657373436865636b4f75745472616e73616374696f6e3a0d0a2020
+20202020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a2020
+2020202020206d65726368616e7441757468656e7469636174696f6e3a0d0a2020202020202020
+2020247265663a2027232f646566696e6974696f6e732f6d65726368616e7441757468656e7469
+636174696f6e270d0a20202020202020207472616e73616374696f6e526571756573743a0d0a20
+202020202020202020247265663a2027232f646566696e6974696f6e732f7472616e7361637469
+6f6e52657175657374466f72566f696450617950616c45787072657373436865636b4f75742720
+20202020200d0a202020207472616e73616374696f6e52657175657374466f72566f6964506179
+50616c45787072657373436865636b4f75743a0d0a20202020202020747970653a206f626a6563
+740d0a2020202020202070726f706572746965733a0d0a20202020202020207472616e73616374
+696f6e547970653a0d0a20202020202020202020747970653a20737472696e670d0a2020202020
+2020207265665472616e7349643a0d0a20202020202020202020747970653a20737472696e6720
+0d0a202020206372656174654372656469745472616e73616374696f6e3a0d0a20202020202020
+747970653a206f626a6563740d0a2020202020202070726f706572746965733a0d0a2020202020
+2020206372656174655472616e73616374696f6e526571756573743a0d0a202020202020202020
+20247265663a2027232f646566696e6974696f6e732f6372656174655472616e73616374696f6e
+52657175657374466f724372656469745472616e73616374696f6e270d0a202020206372656174
+655472616e73616374696f6e52657175657374466f724372656469745472616e73616374696f6e
+3a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f70657274696573
+3a0d0a20202020202020206d65726368616e7441757468656e7469636174696f6e3a0d0a202020
+20202020202020247265663a2027232f646566696e6974696f6e732f6d65726368616e74417574
+68656e7469636174696f6e270d0a20202020202020207472616e73616374696f6e526571756573
+743a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f7472616e
+73616374696f6e52657175657374466f72437265646974270d0a202020207472616e7361637469
+6f6e52657175657374466f724372656469743a0d0a20202020202020747970653a206f626a6563
+740d0a2020202020202070726f706572746965733a0d0a20202020202020207472616e73616374
+696f6e547970653a0d0a20202020202020202020747970653a20737472696e670d0a2020202020
+2020207265665472616e7349643a0d0a20202020202020202020747970653a20737472696e6720
+0d0a20202020637265617465417070726f76654f724465636c696e6548656c645472616e736163
+74696f6e3a0d0a20202020202020747970653a206f626a6563740d0a2020202020202070726f70
+6572746965733a0d0a202020202020202075706461746548656c645472616e73616374696f6e52
+6571756573743a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e73
+2f75706461746548656c645472616e73616374696f6e52657175657374270d0a20202020202020
+2072656649643a0d0a20202020202020202020747970653a20737472696e6720200d0a20202020
+2020202068656c645472616e73616374696f6e526571756573743a0d0a20202020202020202020
+247265663a2027232f646566696e6974696f6e732f68656c645472616e73616374696f6e526571
+75657374270d0a2020202075706461746548656c645472616e73616374696f6e52657175657374
+3a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f70657274696573
+3a0d0a20202020202020206d65726368616e7441757468656e7469636174696f6e3a0d0a202020
+20202020202020247265663a2027232f646566696e6974696f6e732f6d65726368616e74417574
+68656e7469636174696f6e272020202020200d0a2020202068656c645472616e73616374696f6e
+526571756573743a0d0a20202020202020747970653a206f626a6563740d0a2020202020202070
+726f706572746965733a0d0a2020202020202020616374696f6e3a0d0a20202020202020202020
+747970653a20737472696e670d0a20202020202020207265665472616e7349643a0d0a20202020
+202020202020747970653a20696e7465676572200d0a2020202063726561746541537562736372
+697074696f6e3a0d0a20202020202020747970653a206f626a6563740d0a202020202020207072
+6f706572746965733a0d0a2020202020202020415242437265617465537562736372697074696f
+6e526571756573743a0d0a20202020202020202020247265663a2027232f646566696e6974696f
+6e732f63726561746541537562736372697074696f6e5472616e73616374696f6e270d0a202020
+2063726561746541537562736372697074696f6e5472616e73616374696f6e3a0d0a2020202020
+20747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a2020202020
+2020206d65726368616e7441757468656e7469636174696f6e3a0d0a2020202020202020202024
+7265663a2027232f646566696e6974696f6e732f6d65726368616e7441757468656e7469636174
+696f6e270d0a202020202020202072656649643a0d0a20202020202020202020747970653a2073
+7472696e6720200d0a2020202020202020737562736372697074696f6e3a0d0a20202020202020
+202020247265663a2027232f646566696e6974696f6e732f737562736372697074696f6e270d0a
+20202020415242437265617465537562736372697074696f6e526571756573743a0d0a20202020
+2020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a20202020
+202020206d65726368616e7441757468656e7469636174696f6e3a0d0a20202020202020202020
+247265663a2027232f646566696e6974696f6e732f6d65726368616e7441757468656e74696361
+74696f6e272020202020200d0a20202020737562736372697074696f6e3a0d0a20202020202020
+747970653a206f626a6563740d0a2020202020202070726f706572746965733a0d0a2020202020
+2020206e616d653a0d0a20202020202020202020747970653a20737472696e670d0a2020202020
+2020207061796d656e745363686564756c653a0d0a20202020202020202020247265663a202723
+2f646566696e6974696f6e732f7061796d656e745363686564756c65496e74657276616c270d0a
+2020202020202020616d6f756e743a0d0a20202020202020202020747970653a20696e74656765
+72200d0a2020202020202020747269616c416d6f756e743a0d0a20202020202020202020747970
+653a20696e746567657220200d0a20202020202020207061796d656e743a0d0a20202020202020
+202020247265663a2027232f646566696e6974696f6e732f7061796d656e74466f725265637572
+72696e6742696c6c696e67270d0a202020202020202062696c6c546f3a0d0a2020202020202020
+2020247265663a2027232f646566696e6974696f6e732f62696c6c546f466f7252656375727269
+6e6742696c6c696e672720200d0a2020202062696c6c546f466f72526563757272696e6742696c
+6c696e673a0d0a20202020202020747970653a206f626a6563740d0a2020202020202070726f70
+6572746965733a0d0a202020202020202066697273744e616d653a0d0a20202020202020202020
+747970653a20737472696e670d0a20202020202020206c6173744e616d653a0d0a202020202020
+20202020747970653a20737472696e670d0a202020207061796d656e745363686564756c65496e
+74657276616c3a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f70
+6572746965733a0d0a2020202020202020696e74657276616c3a0d0a2020202020202020202024
+7265663a2027232f646566696e6974696f6e732f696e74657276616c270d0a2020202020202020
+7374617274446174653a0d0a20202020202020202020747970653a20737472696e670d0a202020
+2020202020746f74616c4f6363757272656e6365733a0d0a20202020202020202020747970653a
+20696e7465676572200d0a2020202020202020747269616c4f6363757272656e6365733a0d0a20
+202020202020202020747970653a20696e74656765720d0a202020207061796d656e74466f7252
+6563757272696e6742696c6c696e673a0d0a2020202020202020747970653a206f626a6563740d
+0a202020202020202070726f706572746965733a200d0a20202020202020202020637265646974
+436172643a0d0a202020202020202020202020247265663a2027232f646566696e6974696f6e73
+2f63726564697443617264466f72526563757272696e6742696c6c696e67270d0a202020206372
+6564697443617264466f72526563757272696e6742696c6c696e673a0d0a202020202020747970
+653a206f626a6563740d0a20202020202070726f706572746965733a0d0a202020202020202063
+6172644e756d6265723a0d0a20202020202020202020747970653a20737472696e670d0a202020
+202020202065787069726174696f6e446174653a0d0a20202020202020202020747970653a2073
+7472696e672020202020202020200d0a20202020696e74657276616c3a0d0a2020202020207479
+70653a206f626a6563740d0a20202020202070726f706572746965733a0d0a2020202020202020
+6c656e6774683a0d0a20202020202020202020747970653a20737472696e670d0a202020202020
+2020756e69743a0d0a20202020202020202020747970653a20737472696e670d0a202020206372
+6561746541537562736372697074696f6e46726f6d437573746f6d657250726f66696c653a0d0a
+20202020202020747970653a206f626a6563740d0a2020202020202070726f706572746965733a
+0d0a2020202020202020415242437265617465537562736372697074696f6e526571756573743a
+0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f7472616e7361
+6374696f6e52657175657374466f7241537562736372697074696f6e46726f6d437573746f6d65
+7250726f66696c65270d0a202020207472616e73616374696f6e52657175657374466f72415375
+62736372697074696f6e46726f6d437573746f6d657250726f66696c653a0d0a20202020202074
+7970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a20202020202020
+206d65726368616e7441757468656e7469636174696f6e3a0d0a20202020202020202020247265
+663a2027232f646566696e6974696f6e732f6d65726368616e7441757468656e7469636174696f
+6e270d0a202020202020202072656649643a0d0a20202020202020202020747970653a20737472
+696e6720200d0a2020202020202020737562736372697074696f6e3a0d0a202020202020202020
+20247265663a2027232f646566696e6974696f6e732f737562736372697074696f6e466f726372
+6561746541537562736372697074696f6e46726f6d437573746f6d657250726f66696c65272020
+0d0a20202020737562736372697074696f6e466f7263726561746541537562736372697074696f
+6e46726f6d437573746f6d657250726f66696c653a0d0a20202020202020747970653a206f626a
+6563740d0a2020202020202070726f706572746965733a0d0a20202020202020206e616d653a0d
+0a20202020202020202020747970653a20737472696e670d0a20202020202020207061796d656e
+745363686564756c653a0d0a20202020202020202020247265663a2027232f646566696e697469
+6f6e732f7061796d656e745363686564756c65496e74657276616c270d0a202020202020202061
+6d6f756e743a0d0a20202020202020202020747970653a20696e7465676572200d0a2020202020
+202020747269616c416d6f756e743a0d0a20202020202020202020747970653a20696e74656765
+7220200d0a202020202020202070726f66696c653a0d0a20202020202020202020247265663a20
+27232f646566696e6974696f6e732f70726f66696c65466f724372656174655375627363726970
+74696f6e526573706f6e7365270d0a2020202063726561746543616e63656c5375627363726970
+74696f6e3a0d0a2020202020202020747970653a206f626a6563740d0a20202020202020207072
+6f706572746965733a0d0a202020202020202020202041524243616e63656c5375627363726970
+74696f6e526571756573743a0d0a20202020202020202020202020247265663a2027232f646566
+696e6974696f6e732f41524243616e63656c537562736372697074696f6e52657175657374270d
+0a2020202041524243616e63656c537562736372697074696f6e526571756573743a0d0a202020
+2020202020747970653a206f626a6563740d0a202020202020202070726f706572746965733a0d
+0a202020202020202020206d65726368616e7441757468656e7469636174696f6e3a0d0a202020
+202020202020202020247265663a2027232f646566696e6974696f6e732f6d65726368616e7441
+757468656e7469636174696f6e270d0a2020202020202020202072656649643a0d0a2020202020
+202020202020202020747970653a20696e7465676572200d0a2020202020202020202073756273
+6372697074696f6e49643a0d0a2020202020202020202020202020747970653a20696e74656765
+720d0a20202020757064617465537562736372697074696f6e526573706f6e73653a0d0a202020
+2020202020747970653a206f626a6563740d0a202020202020202070726f706572746965733a0d
+0a202020202020202020202070726f66696c653a0d0a2020202020202020202020202024726566
+3a2027232f646566696e6974696f6e732f70726f66696c65466f72437265617465537562736372
+697074696f6e526573706f6e7365270d0a202020202020202020202072656649643a0d0a202020
+2020202020202020202020747970653a20737472696e670d0a20202020202020202020206d6573
+73616765733a0d0a2020202020202020202020202020247265663a2027232f646566696e697469
+6f6e732f6d657373616765734f665061796d656e745472616e73616374696f6e526573706f6e73
+652720200d0a2020202075706461746553706c697454656e64657247726f7570526573706f6e73
+653a0d0a2020202020202020747970653a206f626a6563740d0a202020202020202070726f7065
+72746965733a0d0a20202020202020202020206d657373616765733a0d0a202020202020202020
+2020202020247265663a2027232f646566696e6974696f6e732f6d657373616765734f66506179
+6d656e745472616e73616374696f6e526573706f6e7365272020202020202020202020200d0a20
+202020637265617465537562736372697074696f6e3a0d0a2020202020202020747970653a206f
+626a6563740d0a202020202020202070726f706572746965733a0d0a2020202020202020202073
+7562736372697074696f6e3a0d0a202020202020202020202020247265663a2027232f64656669
+6e6974696f6e732f737562736372697074696f6e466f7255706461746553756273637269707469
+6f6e270d0a20202020737562736372697074696f6e466f72557064617465537562736372697074
+696f6e3a0d0a2020202020202020747970653a206f626a6563740d0a202020202020202070726f
+706572746965733a0d0a202020202020202020207061796d656e743a0d0a202020202020202020
+202020247265663a2027232f646566696e6974696f6e732f637265646974436172645570646174
+65537562736372697074696f6e270d0a2020202063726564697443617264557064617465537562
+736372697074696f6e3a0d0a2020202020202020747970653a206f626a6563740d0a2020202020
+20202070726f706572746965733a0d0a20202020202020202020637265646974436172643a0d0a
+202020202020202020202020247265663a2027232f646566696e6974696f6e732f637265646974
+43617264466f72557064617465537562736372697074696f6e270d0a2020202063726564697443
+617264466f72557064617465537562736372697074696f6e3a0d0a202020202020747970653a20
+6f626a6563740d0a20202020202070726f706572746965733a0d0a202020202020202020206361
+72644e756d6265723a0d0a202020202020202020202020747970653a20737472696e670d0a2020
+202020202020202065787069726174696f6e446174653a0d0a2020202020202020202020207479
+70653a20737472696e6720202020202020200d0a2020202063686172676541437573746f6d6572
+50726f66696c653a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f
+706572746965733a0d0a20202020202020206372656174655472616e73616374696f6e52657175
+6573743a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f6372
+656174655472616e73616374696f6e52657175657374466f7243686172676541437573746f6d65
+7250726f66696c65270d0a202020206372656174655472616e73616374696f6e52657175657374
+466f7243686172676541437573746f6d657250726f66696c653a0d0a202020202020747970653a
+206f626a6563740d0a20202020202070726f706572746965733a0d0a20202020202020206d6572
+6368616e7441757468656e7469636174696f6e3a0d0a20202020202020202020247265663a2027
+232f646566696e6974696f6e732f6d65726368616e7441757468656e7469636174696f6e270d0a
+202020202020202072656649643a0d0a202020202020202020202020747970653a20737472696e
+67202020200d0a20202020202020207472616e73616374696f6e526571756573743a0d0a202020
+20202020202020247265663a2027232f646566696e6974696f6e732f7472616e73616374696f6e
+52657175657374466f7263686172676541437573746f6d657250726f66696c65270d0a20202020
+7472616e73616374696f6e52657175657374466f7263686172676541437573746f6d657250726f
+66696c653a0d0a20202020202020747970653a206f626a6563740d0a2020202020202070726f70
+6572746965733a0d0a20202020202020207472616e73616374696f6e547970653a0d0a20202020
+202020202020747970653a20737472696e670d0a2020202020202020616d6f756e743a0d0a2020
+2020202020202020747970653a20696e74656765720d0a202020202020202070726f66696c653a
+0d0a2020202020202020202020247265663a2027232f646566696e6974696f6e732f70726f6669
+6c65270d0a20202020202020206c696e654974656d733a0d0a2020202020202020202020247265
+663a2027232f646566696e6974696f6e732f6c696e654974656d73270d0a202020202020202070
+726f63657373696e674f7074696f6e733a0d0a2020202020202020202020247265663a2027232f
+646566696e6974696f6e732f70726f63657373696e674f7074696f6e7327200d0a202020202020
+202073756273657175656e7441757468496e666f726d6174696f6e3a0d0a202020202020202020
+2020247265663a2027232f646566696e6974696f6e732f73756273657175656e7441757468496e
+666f726d6174696f6e270d0a2020202020202020617574686f72697a6174696f6e496e64696361
+746f72547970653a200d0a2020202020202020202020247265663a2027232f646566696e697469
+6f6e732f617574686f72697a6174696f6e496e64696361746f7254797065270d0a202020207072
+6f66696c653a0d0a20202020202020747970653a206f626a6563740d0a2020202020202070726f
+706572746965733a0d0a2020202020202020637573746f6d657250726f66696c6549643a0d0a20
+202020202020202020747970653a20696e74656765720d0a20202020202020207061796d656e74
+50726f66696c653a0d0a20202020202020202020747970653a20696e74656765720d0a20202020
+62616e6b4163636f756e7444656269744163636f756e743a0d0a202020202020747970653a206f
+626a6563740d0a20202020202070726f706572746965733a0d0a202020202020202062616e6b41
+63636f756e743a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e73
+2f62616e6b4163636f756e74466f7244656269744142616e6b4163636f756e74270d0a20202020
+62616e6b4163636f756e74466f7244656269744142616e6b4163636f756e743a0d0a2020202020
+206465736372697074696f6e3a2054686973206f626a65637420636f6e7461696e732074686520
+637573746f6d657227732062616e6b206163636f756e74207061796d656e7420696e666f726d61
+74696f6e2e0d0a20202020202070726f706572746965733a0d0a20202020202020206163636f75
+6e74547970653a0d0a20202020202020202020747970653a20696e74656765720d0a2020202020
+202020726f7574696e674e756d6265723a0d0a20202020202020202020747970653a20696e7465
+6765720d0a20202020202020206163636f756e744e756d6265723a0d0a20202020202020202020
+747970653a20696e74656765720d0a20202020202020206e616d654f6e4163636f756e743a0d0a
+20202020202020202020747970653a20737472696e670d0a202020206372656174655472616e73
+616374696f6e526571756573743a0d0a202020202020747970653a206f626a6563740d0a202020
+20202070726f706572746965733a0d0a20202020202020206d65726368616e7441757468656e74
+69636174696f6e3a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e
+732f6d65726368616e7441757468656e7469636174696f6e270d0a202020202020202072656649
+643a0d0a202020202020202020202020747970653a20737472696e6720200d0a20202020202020
+207472616e73616374696f6e526571756573743a0d0a20202020202020202020247265663a2027
+232f646566696e6974696f6e732f7472616e73616374696f6e526571756573742720200d0a2020
+20206372656174655472616e73616374696f6e52657175657374466f7250726576696f75734175
+74686f72697a6564416d6f756e743a0d0a202020202020747970653a206f626a6563740d0a2020
+2020202070726f706572746965733a0d0a20202020202020206d65726368616e7441757468656e
+7469636174696f6e3a0d0a20202020202020202020247265663a2027232f646566696e6974696f
+6e732f6d65726368616e7441757468656e7469636174696f6e270d0a2020202020202020726566
+49643a0d0a202020202020202020202020747970653a20737472696e67202020200d0a20202020
+202020207472616e73616374696f6e526571756573743a0d0a2020202020202020202024726566
+3a2027232f646566696e6974696f6e732f7472616e73616374696f6e52657175657374466f7250
+726576696f7573417574686f72697a6564416d6f756e74270d0a202020206d65726368616e7441
+757468656e7469636174696f6e3a0d0a20202020202020747970653a206f626a6563740d0a2020
+202020202070726f706572746965733a0d0a20202020202020206e616d653a0d0a202020202020
+20202020747970653a20737472696e670d0a20202020202020207472616e73616374696f6e4b65
+793a0d0a20202020202020202020747970653a20737472696e670d0a202020207472616e736163
+74696f6e526571756573743a0d0a20202020202020747970653a206f626a6563740d0a20202020
+20202070726f706572746965733a0d0a20202020202020207472616e73616374696f6e54797065
+3a0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020616d6f75
+6e743a0d0a20202020202020202020747970653a20696e74656765720d0a202020202020202070
+61796d656e743a0d0a2020202020202020202020247265663a2027232f646566696e6974696f6e
+732f43437061796d656e74270d0a20202020202020206c696e654974656d733a0d0a2020202020
+2020202020247265663a2027232f646566696e6974696f6e732f6c696e654974656d73270d0a20
+202020202020207461783a0d0a20202020202020202020247265663a2027232f646566696e6974
+696f6e732f746178270d0a2020202020202020647574793a0d0a20202020202020202020247265
+663a2027232f646566696e6974696f6e732f64757479270d0a2020202020202020736869707069
+6e673a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f736869
+7070696e67270d0a2020202020202020706f4e756d6265723a0d0a202020202020202020207479
+70653a20737472696e670d0a2020202020202020637573746f6d65723a0d0a2020202020202020
+2020247265663a2027232f646566696e6974696f6e732f637573746f6d6572270d0a2020202020
+20202062696c6c546f3a0d0a20202020202020202020247265663a2027232f646566696e697469
+6f6e732f62696c6c546f270d0a202020202020202073686970546f3a0d0a202020202020202020
+20247265663a2027232f646566696e6974696f6e732f73686970546f270d0a2020202020202020
+637573746f6d657249503a0d0a20202020202020202020747970653a20737472696e6720200d0a
+20202020202020207472616e73616374696f6e53657474696e67733a0d0a202020202020202020
+20247265663a2027232f646566696e6974696f6e732f7472616e73616374696f6e53657474696e
+6773270d0a2020202020202020757365724669656c64733a0d0a20202020202020202020247265
+663a2027232f646566696e6974696f6e732f757365724669656c6473270d0a2020202020202020
+70726f63657373696e674f7074696f6e733a0d0a20202020202020202020247265663a2027232f
+646566696e6974696f6e732f70726f63657373696e674f7074696f6e73270d0a20202020202020
+2073756273657175656e7441757468496e666f726d6174696f6e3a0d0a20202020202020202020
+247265663a2027232f646566696e6974696f6e732f73756273657175656e7441757468496e666f
+726d6174696f6e2720200d0a2020202020202020617574686f72697a6174696f6e496e64696361
+746f72547970653a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e
+732f617574686f72697a6174696f6e496e64696361746f7254797065270d0a202020207472616e
+73616374696f6e52657175657374466f724361707475726546756e6473417574686f72697a6564
+5468726f756768416e6f746865724368616e6e656c3a0d0a20202020202020747970653a206f62
+6a6563740d0a2020202020202070726f706572746965733a0d0a20202020202020206d65726368
+616e7441757468656e7469636174696f6e3a0d0a2020202020202020202020247265663a202723
+2f646566696e6974696f6e732f6d65726368616e7441757468656e7469636174696f6e270d0a20
+2020202020202072656649643a0d0a202020202020202020202020747970653a20737472696e67
+202020200d0a20202020202020207472616e73616374696f6e526571756573743a0d0a20202020
+202020202020247265663a2027232f646566696e6974696f6e732f7472616e73616374696f6e52
+657175657374466f726372656174654361707475726546756e6473417574686f72697a65645468
+726f756768416e6f746865724368616e6e656c272020200d0a2020202043437061796d656e743a
+0d0a2020202020202020747970653a206f626a6563740d0a202020202020202070726f70657274
+6965733a0d0a202020202020202020637265646974436172643a0d0a2020202020202020202020
+247265663a2027232f646566696e6974696f6e732f63726564697443617264270d0a2020202063
+7265646974436172643a0d0a2020202020202020747970653a206f626a6563740d0a2020202020
+20202070726f706572746965733a0d0a20202020202020202020636172644e756d6265723a0d0a
+202020202020202020202020747970653a20696e74656765720d0a202020202020202020206578
+7069726174696f6e446174653a0d0a202020202020202020202020747970653a20737472696e67
+0d0a2020202020202020202063617264436f64653a0d0a20202020202020202020202074797065
+3a20696e746567657220202020200d0a202020206c696e654974656d733a0d0a20202020202020
+20747970653a206f626a6563740d0a202020202020202070726f706572746965733a0d0a202020
+202020202020202020206c696e654974656d3a0d0a202020202020202020202020202020247265
+663a2027232f646566696e6974696f6e732f6c696e654974656d270d0a202020206c696e654974
+656d3a20202020202020202020200d0a20202020202020747970653a206f626a6563740d0a2020
+202020202070726f706572746965733a0d0a20202020202020206974656d49643a0d0a20202020
+202020202020747970653a20737472696e670d0a20202020202020206e616d653a0d0a20202020
+202020202020747970653a20737472696e670d0a20202020202020206465736372697074696f6e
+3a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020207175616e
+746974793a0d0a20202020202020202020747970653a20696e74656765720d0a20202020202020
+20756e697450726963653a0d0a20202020202020202020747970653a20696e7465676572202020
+202020200d0a20202020637573746f6d65723a0d0a202020202020747970653a206f626a656374
+0d0a20202020202070726f706572746965733a0d0a20202020202020202069643a0d0a20202020
+202020202020747970653a20737472696e67200d0a202020207461783a0d0a2020202020207479
+70653a206f626a6563740d0a20202020202070726f706572746965733a0d0a2020202020202020
+616d6f756e743a0d0a20202020202020202020747970653a20737472696e670d0a202020202020
+20206e616d653a0d0a20202020202020202020747970653a20737472696e670d0a202020202020
+20206465736372697074696f6e3a0d0a20202020202020202020747970653a20737472696e670d
+0a20202020647574793a0d0a202020202020747970653a206f626a6563740d0a20202020202070
+726f706572746965733a0d0a2020202020202020616d6f756e743a0d0a20202020202020202020
+747970653a20696e74656765720d0a20202020202020206e616d653a0d0a202020202020202020
+20747970653a20737472696e670d0a20202020202020206465736372697074696f6e3a0d0a2020
+2020202020202020747970653a20737472696e672020200d0a202020207368697070696e673a0d
+0a202020202020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d
+0a2020202020202020616d6f756e743a0d0a20202020202020202020747970653a20696e746567
+65720d0a20202020202020206e616d653a0d0a20202020202020202020747970653a2073747269
+6e670d0a20202020202020206465736372697074696f6e3a0d0a20202020202020202020747970
+653a20737472696e670d0a2020202020202020706f4e756d6265723a0d0a202020202020202020
+20747970653a20737472696e670d0a2020202020202020637573746f6d65722049643a0d0a2020
+2020202020202020747970653a20696e74656765720d0a202020207368697070696e67466f4465
+62697442616e6b4163636f756e743a0d0a202020202020747970653a206f626a6563740d0a2020
+2020202070726f706572746965733a0d0a2020202020202020616d6f756e743a0d0a2020202020
+2020202020747970653a20696e74656765720d0a20202020202020206e616d653a0d0a20202020
+202020202020747970653a20737472696e670d0a20202020202020206465736372697074696f6e
+3a0d0a20202020202020202020747970653a20737472696e670d0a2020202062696c6c546f3a0d
+0a202020202020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d
+0a202020202020202066697273744e616d653a0d0a20202020202020202020747970653a207374
+72696e670d0a20202020202020206c6173744e616d653a0d0a2020202020202020202074797065
+3a20737472696e670d0a2020202020202020636f6d70616e793a0d0a2020202020202020202074
+7970653a20737472696e670d0a2020202020202020616464726573733a0d0a2020202020202020
+2020747970653a20737472696e670d0a2020202020202020636974793a0d0a2020202020202020
+2020747970653a20737472696e670d0a202020202020202073746174653a0d0a20202020202020
+202020747970653a20737472696e670d0a20202020202020207a69703a0d0a2020202020202020
+2020747970653a20696e7465676572200d0a2020202020202020636f756e7472793a0d0a202020
+20202020202020747970653a20737472696e670d0a2020202073686970546f3a0d0a2020202020
+20747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a2020202020
+20202066697273744e616d653a0d0a20202020202020202020747970653a20737472696e670d0a
+20202020202020206c6173744e616d653a0d0a20202020202020202020747970653a2073747269
+6e670d0a2020202020202020636f6d70616e793a0d0a20202020202020202020747970653a2073
+7472696e670d0a2020202020202020616464726573733a0d0a2020202020202020202074797065
+3a20737472696e670d0a2020202020202020636974793a0d0a2020202020202020202074797065
+3a20737472696e670d0a202020202020202073746174653a0d0a20202020202020202020747970
+653a20737472696e670d0a20202020202020207a69703a0d0a2020202020202020202074797065
+3a20737472696e67200d0a2020202020202020636f756e7472793a0d0a20202020202020202020
+747970653a20737472696e670d0a202020207472616e73616374696f6e53657474696e67733a0d
+0a202020202020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d
+0a2020202020202020202073657474696e67733a0d0a2020202020202020202020202020202472
+65663a2027232f646566696e6974696f6e732f73657474696e6773270d0a202020207365747469
+6e67733a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f70657274
+6965733a0d0a202020202020202073657474696e674e616d653a0d0a2020202020202020202074
+7970653a20737472696e670d0a202020202020202073657474696e6756616c75653a0d0a202020
+20202020202020747970653a20737472696e672020202020200d0a20202020757365724669656c
+64733a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f7065727469
+65733a0d0a20202020202020757365724669656c643a0d0a202020202020202020202020202020
+247265663a2027232f646566696e6974696f6e732f757365724669656c64270d0a202020207573
+65724669656c643a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f
+706572746965733a0d0a20202020202020206e616d653a0d0a2020202020202020202074797065
+3a20737472696e670d0a202020202020202076616c75653a0d0a20202020202020202020747970
+653a20737472696e6720202020202020200d0a2020202070726f63657373696e674f7074696f6e
+733a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f706572746965
+733a0d0a2020202020202020697353756273657175656e74417574683a0d0a2020202020202020
+2020747970653a20626f6f6c65616e0d0a2020202073756273657175656e7441757468496e666f
+726d6174696f6e3a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f
+706572746965733a0d0a20202020202020206f726967696e616c4e6574776f726b5472616e7349
+643a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020206f7269
+67696e616c41757468416d6f756e743a0d0a20202020202020202020747970653a20696e746567
+65720d0a2020202020202020726561736f6e3a0d0a20202020202020202020747970653a207374
+72696e670d0a20202020617574686f72697a6174696f6e496e64696361746f72547970653a0d0a
+202020202020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a
+2020202020202020617574686f72697a6174696f6e496e64696361746f723a0d0a202020202020
+20202020747970653a20737472696e670d0a20202020726566756e64526571756573743a0d0a20
+20202020206465736372697074696f6e3a204d6f64656c20666f7220526566756e645265717565
+73740d0a2020202020207469746c653a20726566756e64526571756573740d0a20202020202074
+7970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a20202020202020
+207061796d656e74496e666f726d6174696f6e3a0d0a20202020202020202020247265663a2027
+232f646566696e6974696f6e732f7061796d656e74496e666f726d6174696f6e270d0a20202020
+202020206f72646572496e666f726d6174696f6e3a0d0a20202020202020202020247265663a20
+27232f646566696e6974696f6e732f6f72646572496e666f726d6174696f6e270d0a2020202020
+2020206275796572496e666f726d6174696f6e3a0d0a20202020202020202020247265663a2027
+232f646566696e6974696f6e732f6275796572496e666f726d6174696f6e270d0a202020202020
+2020646576696365496e666f726d6174696f6e3a0d0a20202020202020202020247265663a2027
+232f646566696e6974696f6e732f646576696365496e666f726d6174696f6e270d0a2020202020
+202020706f696e744f6653616c65496e666f726d6174696f6e3a0d0a2020202020202020202024
+7265663a2027232f646566696e6974696f6e732f706f696e744f6653616c65496e666f726d6174
+696f6e270d0a2020202063617074757265526571756573743a0d0a202020202020646573637269
+7074696f6e3a204d6f64656c20666f722043617074757265526571756573740d0a202020202020
+7469746c653a2063617074757265526571756573740d0a202020202020747970653a206f626a65
+63740d0a20202020202070726f706572746965733a0d0a20202020202020206f72646572496e66
+6f726d6174696f6e3a0d0a20202020202020202020247265663a2027232f646566696e6974696f
+6e732f6f72646572496e666f726d6174696f6e270d0a20202020202020206275796572496e666f
+726d6174696f6e3a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e
+732f6275796572496e666f726d6174696f6e270d0a2020202020202020646576696365496e666f
+726d6174696f6e3a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e
+732f646576696365496e666f726d6174696f6e270d0a2020202020202020706f696e744f665361
+6c65496e666f726d6174696f6e3a0d0a20202020202020202020247265663a2027232f64656669
+6e6974696f6e732f706f696e744f6653616c65496e666f726d6174696f6e270d0a202020206372
+65646974526571756573743a0d0a2020202020206465736372697074696f6e3a204d6f64656c20
+666f722043617074757265526571756573740d0a2020202020207469746c653a20637265646974
+526571756573740d0a202020202020747970653a206f626a6563740d0a20202020202070726f70
+6572746965733a0d0a20202020202020207061796d656e74496e666f726d6174696f6e3a0d0a20
+202020202020202020247265663a2027232f646566696e6974696f6e732f7061796d656e74496e
+666f726d6174696f6e270d0a20202020202020206f72646572496e666f726d6174696f6e3a0d0a
+20202020202020202020247265663a2027232f646566696e6974696f6e732f6f72646572496e66
+6f726d6174696f6e270d0a20202020202020206275796572496e666f726d6174696f6e3a0d0a20
+202020202020202020247265663a2027232f646566696e6974696f6e732f6275796572496e666f
+726d6174696f6e270d0a2020202020202020646576696365496e666f726d6174696f6e3a0d0a20
+202020202020202020247265663a2027232f646566696e6974696f6e732f646576696365496e66
+6f726d6174696f6e270d0a2020202020202020706f696e744f6653616c65496e666f726d617469
+6f6e3a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f706f69
+6e744f6653616c65496e666f726d6174696f6e270d0a20202020636c69656e745265666572656e
+6365496e666f726d6174696f6e3a0d0a202020202020747970653a206f626a6563740d0a202020
+20202070726f706572746965733a0d0a2020202020202020636f64653a0d0a2020202020202020
+2020747970653a20737472696e670d0a202020202020202020206465736372697074696f6e3a20
+7c0d0a202020202020202020202020436c69656e742d67656e657261746564206f726465722072
+65666572656e6365206f7220747261636b696e67206e756d6265722e204379626572536f757263
+65207265636f6d6d656e6473207468617420796f752073656e64206120756e697175652076616c
+756520666f7220656163680d0a2020202020202020202020207472616e73616374696f6e20736f
+207468617420796f752063616e20706572666f726d206d65616e696e6766756c20736561726368
+657320666f7220746865207472616e73616374696f6e2e0d0a2020202070726f63657373696e67
+496e666f726d6174696f6e3a0d0a202020202020747970653a206f626a6563740d0a2020202020
+2070726f706572746965733a0d0a2020202020202020636170747572653a0d0a20202020202020
+202020747970653a20626f6f6c65616e0d0a202020202020202020206465736372697074696f6e
+3a205375626d69742060747275656020746f20636170747572652074686520746865207061796d
+656e74206166746572206974206973207375636365737366756c6c7920617574686f72697a6564
+2e0d0a2020202020202020202064656661756c743a20747275650d0a2020202020202020706179
+6d656e74536f6c7574696f6e3a0d0a20202020202020202020747970653a20737472696e670d0a
+20202020202020202020782d6578616d706c653a2041313030303030340d0a2020202020202020
+20206465736372697074696f6e3a2054686520736f6c7574696f6e2049442069732067656e6572
+6174656420627920417574686f72697a652e4e657420616e642070726f766964656420746f2074
+686520736f6c7574696f6e2070726f76696465722e20416c7068616e756d657269632e2035302d
+636861726163746572206d6178696d756d2e0d0a202020202020202062617463683a0d0a202020
+20202020202020247265663a2027232f646566696e6974696f6e732f6261746368270d0a202020
+2020202020726563757272696e6742696c6c696e673a0d0a20202020202020202020747970653a
+20626f6f6c65616e0d0a20202020202020202020782d6578616d706c653a2066616c73650d0a20
+2020202020202020206465736372697074696f6e3a20496e646963617465732077686574686572
+20746865207061796d656e742069732070617274206f66206120737562736372697074696f6e2e
+63726561746541537562736372697074696f6e0d0a2020202020202020666f6c6c6f7755704163
+74696f6e3a0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020
+20206465736372697074696f6e3a20466f6c6c6f7720757020616374696f6e20746f2062652074
+616b656e206f6e6365207472616e73616374696f6e206973207375636365737366756c2e205661
+6c69642076616c7565732061726520604352454154455f435553544f4d45525f50524f46494c45
+6020616e6420604352454154455f435553544f4d45525f5041594d454e545f50524f46494c4560
+2e0d0a202020206f72646572496e666f726d6174696f6e3a0d0a202020202020747970653a206f
+626a6563740d0a20202020202070726f706572746965733a0d0a2020202020202020616d6f756e
+7444657461696c733a0d0a20202020202020202020247265663a2027232f646566696e6974696f
+6e732f616d6f756e7444657461696c270d0a202020202020202062696c6c546f3a0d0a20202020
+202020202020747970653a206f626a6563740d0a20202020202020202020646573637269707469
+6f6e3a2062696c6c746f206164647265737320646566696e6974696f6e0d0a2020202020202020
+2020616c6c4f663a0d0a2020202020202020202020202d20247265663a2027232f646566696e69
+74696f6e732f6261736541646472657373270d0a202020202020202073686970546f3a0d0a2020
+2020202020202020747970653a206f626a6563740d0a2020202020202020202064657363726970
+74696f6e3a2073686970546f206164647265737320646566696e6974696f6e0d0a202020202020
+20202020616c6c4f663a0d0a2020202020202020202020202d20247265663a2027232f64656669
+6e6974696f6e732f6261736541646472657373270d0a20202020202020206c696e654974656d73
+3a0d0a20202020202020202020747970653a2061727261790d0a20202020202020202020697465
+6d733a0d0a202020202020202020202020247265663a2027232f646566696e6974696f6e732f69
+74656d73270d0a2020202020202020696e766f69636544657461696c733a0d0a20202020202020
+202020247265663a2027232f646566696e6974696f6e732f696e766f69636544657461696c7327
+0d0a20202020202020206465736372697074696f6e3a0d0a20202020202020202020747970653a
+20737472696e670d0a202020202020202020206465736372697074696f6e3a20436f6e7461696e
+7320696e666f726d6174696f6e2061626f757420746865206f726465722e0d0a20202020202072
+657175697265643a0d0a20202020202020202d20616d6f756e7444657461696c730d0a20202020
+696e766f69636544657461696c733a0d0a202020202020747970653a206f626a6563740d0a2020
+2020202070726f706572746965733a0d0a202020202020202070757263686173654f726465724e
+756d6265723a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020
+202020782d6578616d706c653a203435363635340d0a2020202020202020202064657363726970
+74696f6e3a20546865206d65726368616e742d61737369676e6564207075726368617365206f72
+646572206e756d6265722e20546865207075726368617365206f72646572206e756d626572206d
+75737420626520637265617465642064796e616d6963616c6c79206f6e20746865206d65726368
+616e7427732073657276657220616e642070726f7669646564206f6e2061207065722d7472616e
+73616374696f6e2062617369732e20557020746f203235206368617261637465727320286e6f20
+73796d626f6c73292e0d0a202020202020202074617861626c653a0d0a20202020202020202020
+747970653a20626f6f6c65616e0d0a20202020202020202020782d6578616d706c653a2066616c
+73650d0a202020202020202020206465736372697074696f6e3a20496e64696361746573207768
+65746865722074686973207061796d656e74206973206578656d70742066726f6d207461782e0d
+0a202020206275796572496e666f726d6174696f6e3a0d0a202020202020747970653a206f626a
+6563740d0a20202020202070726f706572746965733a0d0a20202020202020206d65726368616e
+74437573746f6d657249643a0d0a20202020202020202020747970653a20737472696e670d0a20
+2020202020202020206465736372697074696f6e3a202754686520756e6971756520637573746f
+6d6572204944207573656420746f20726570726573656e742074686520637573746f6d65722061
+73736f636961746564207769746820746865207472616e73616374696f6e2e20496620796f7520
+75736520637573746f6d6572204944732c20796f757220736f6c7574696f6e2073686f756c6420
+67656e65726174652074686520637573746f6d657220494420616e642073656e64206974207769
+746820796f7572207472616e73616374696f6e2072657175657374732e20417574686f72697a65
+2e4e657420646f6573206e6f742067656e657261746520637573746f6d6572204944732e557365
+20616c7068616e756d657269632063686172616374657273206f6e6c792c20776974686f757420
+7370616365732c206461736865732c206f72206f746865722073796d626f6c732e270d0a202020
+2020202020637573746f6d6572547970653a0d0a20202020202020202020747970653a20737472
+696e670d0a202020202020202020206465736372697074696f6e3a2054797065206f6620637573
+746f6d65722e2056616c69642076616c756573206172652060696e646976696475616c60206f72
+2060627573696e657373602e0d0a2020202020202020656d61696c3a0d0a202020202020202020
+20747970653a20737472696e670d0a202020202020202020206465736372697074696f6e3a2027
+54686520637573746f6d65722727732076616c696420656d61696c20616464726573732e20466f
+72206578616d706c652c206a616e65646f65406578616d706c652e636f6d2e270d0a2020202064
+6576696365496e666f726d6174696f6e3a0d0a202020202020747970653a206f626a6563740d0a
+20202020202070726f706572746965733a0d0a20202020202020206970416464726573733a0d0a
+20202020202020202020747970653a20737472696e670d0a20202020202020202020782d657861
+6d706c653a203139322e3136382e312e310d0a202020202020202020206465736372697074696f
+6e3a202749502061646472657373206f6620637573746f6d657220696e6974696174696e672074
+6865207472616e73616374696f6e2e20496620746869732076616c7565206973206e6f74207061
+737365642c2069742077696c6c2064656661756c7420746f203235352e3235352e3235352e3235
+352e205265717569726564206f6e6c79207768656e20746865206d65726368616e742069732075
+73696e6720637573746f6d657220495020626173656420414644532066696c746572732e205570
+20746f203135206368617261637465727320286e6f206c657474657273292e270d0a2020202063
+6f6e73756d657241757468656e7469636174696f6e496e666f726d6174696f6e3a0d0a20202020
+2020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a20202020
+20202020636176763a0d0a20202020202020202020747970653a20737472696e670d0a20202020
+2020202020206465736372697074696f6e3a20275468652043617264686f6c6465722041757468
+656e7469636174696f6e20566572696669636174696f6e2056616c75652028434156562920666f
+7220612056697361207472616e73616374696f6e2c206f72204163636f756e74686f6c64657220
+41757468656e7469636174696f6e2056616c75652028415656292f20556e6976657273616c2043
+617264686f6c6465722041757468656e7469636174696f6e204669656c6420696e64696361746f
+722028554341462920666f722061204d617374657263617264207472616e73616374696f6e2e20
+5468652063617264686f6c6465722061757468656e7469636174696f6e2070726f636573732067
+656e6572617465732074686520434156562c204141562c206f7220554341462076616c75652070
+72696f7220746f207375626d697474696e6720746865207472616e73616374696f6e2e20496e76
+616c69642076616c7565732077696c6c20726573756c7420696e20526573706f6e736520526561
+736f6e20436f6465203131372e2054686973206669656c642069732063757272656e746c792073
+7570706f72746564207468726f756768204368617365205061796d656e746563682c2046444d53
+204e61736876696c6c652c20476c6f62616c205061796d656e747320616e6420545359532e270d
+0a20202020202020206563695261773a0d0a20202020202020202020747970653a20737472696e
+670d0a202020202020202020206465736372697074696f6e3a207c2d0d0a202020202020202020
+20202054686520456c656374726f6e696320436f6d6d6572636520496e64696361746f72202845
+4349292076616c756520666f7220612056697361207472616e73616374696f6e2c206f72207468
+6520556e6976657273616c2043617264686f6c6465722041757468656e7469636174696f6e2046
+69656c6420696e64696361746f722028554341462920666f722061204d61737465726361726420
+7472616e73616374696f6e2e205468652063617264686f6c6465722061757468656e7469636174
+696f6e2070726f636573732067656e6572617465732074686520454349206f7220554341462076
+616c7565207072696f7220746f207375626d697474696e6720746865207472616e73616374696f
+6e2e0d0a20200d0a2020202020202020202020205265717569726564206f6e6c7920666f722070
+61796d656e742072657175657374732070726f636573736564207468726f756768203344205365
+637572652063617264686f6c6465722061757468656e7469636174696f6e2070726f6772616d73
+2c2073756368206173205669736120536563757265206f7220536563757265436f64652e0d0a20
+200d0a202020202020202020202020496e76616c69642076616c7565732077696c6c2072657375
+6c7420696e20526573706f6e736520526561736f6e20436f6465203131362e0d0a20200d0a2020
+2020202020202020202054686973206669656c642069732063757272656e746c7920737570706f
+72746564207468726f756768204368617365205061796d656e746563682c2046444d53204e6173
+6876696c6c652c20476c6f62616c205061796d656e747320616e6420545359532e0d0a20202020
+706f696e744f6653616c65496e666f726d6174696f6e3a0d0a202020202020747970653a206f62
+6a6563740d0a20202020202070726f706572746965733a0d0a20202020202020207465726d696e
+616c49443a0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020
+20206465736372697074696f6e3a20556e69717565206964656e746966696572206f6620746865
+207465726d696e616c20746861742070726f63657373656420746865207472616e73616374696f
+6e2e2055736566756c20666f72207265706f7274696e672e0d0a202020207061796d656e743a0d
+0a202020202020747970653a206f626a6563740d0a2020202020206465736372697074696f6e3a
+207c0d0a2020202020202020605061796d656e74602069732072657475726e656420666f722061
+207375636365737366756c207472616e73616374696f6e2e0d0a20202020202070726f70657274
+6965733a0d0a20202020202020205f6c696e6b733a0d0a20202020202020202020247265663a20
+27232f646566696e6974696f6e732f7061796d656e744c696e6b73270d0a202020202020202069
+643a0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020202078
+2d6578616d706c653a20323235323131313038380d0a2020202020202020202064657363726970
+74696f6e3a2027556e69717565206964656e74696669657220666f7220746865207472616e7361
+6374696f6e2c2067656e65726174656420627920417574686f72697a652e4e65742e2052656665
+72656e63652074686973206964656e74696669657220696e20666f6c6c6f772d75702072657175
+657374732c2073756368206173206120726566756e64206f722047455420726571756573742e27
+0d0a20202020202020207374617475733a0d0a20202020202020202020747970653a2073747269
+6e670d0a20202020202020202020782d6578616d706c653a20417070726f7665640d0a20202020
+2020202020206465736372697074696f6e3a207c0d0a2020202020202020202020204272696566
+206465736372697074696f6e206f662074686520737461747573206f6620746865207472616e73
+616374696f6e2e204f6e65206f662074686520666f6c6c6f69776e67262335383b0d0a20200d0a
+20202020202020202020202020202a2060415554484f52495a4544600d0a20200d0a2020202020
+2020202020202020202a20604341505455524544600d0a20200d0a202020202020202020202020
+20202a2060494e5445524e414c5f4552524f52600d0a20200d0a20202020202020202020202020
+202a2060524546554e445f534554544c4544600d0a20200d0a2020202020202020202020202020
+2a2060524546554e445f494e49544941544544600d0a20200d0a20202020202020202020202020
+202a2060617070726f766564526576696577600d0a20200d0a2020202020202020202020202020
+2a20604445434c494e4544600d0a20200d0a20202020202020202020202020202a20604641494c
+4544600d0a20200d0a20202020202020202020202020202a206045585049524544600d0a20200d
+0a2020202020202020202020202020202a20606661696c6564526576696577600d0a20200d0a20
+202020202020202020202020202a2060534554544c4544600d0a20200d0a202020202020202020
+20202020202a2060534554544c454d454e545f4552524f52600d0a20200d0a2020202020202020
+2020202020202a206050454e44494e475f524556494557600d0a20200d0a202020202020202020
+20202020202a2060564f49444544600d0a20200d0a20202020202020202020202020202a206046
+445350656e64696e67526576696577600d0a20200d0a20202020202020202020202020202a2060
+464453417574686f72697a656450656e64696e67526576696577600d0a20200d0a202020202020
+20202020202020202a206072657475726e65644974656d600d0a20200d0a202020202020202063
+6c69656e745265666572656e6365496e666f726d6174696f6e3a0d0a2020202020202020202024
+7265663a2027232f646566696e6974696f6e732f636c69656e745265666572656e6365496e666f
+726d6174696f6e270d0a202020202020202070726f636573736f72496e666f726d6174696f6e3a
+0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f70726f636573
+736f72496e666f726d6174696f6e270d0a20202020202020207375626d697454696d655554433a
+0d0a20202020202020202020747970653a20737472696e670d0a20202020202020202020782d65
+78616d706c653a2027323031362d30332d30315432333a32303a32352e3939375a270d0a202020
+202020202020206465736372697074696f6e3a20275468652074696d6520746861742074686520
+7472616e73616374696f6e20776173207375626d69747465642c20696e20436f6f7264696e6174
+656420556e6976657273616c2054696d652e270d0a20202020202020206f72646572496e666f72
+6d6174696f6e3a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e73
+2f6f72646572496e666f726d6174696f6e270d0a20202020202020207061796d656e74496e666f
+726d6174696f6e3a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e
+732f7061796d656e74496e666f726d6174696f6e270d0a20202020202020206672617564496e66
+6f726d6174696f6e3a0d0a20202020202020202020247265663a2027232f646566696e6974696f
+6e732f6672617564496e666f726d6174696f6e270d0a2020202020202020666f6c6c6f77557052
+6573706f6e73653a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e
+732f666f6c6c6f775570526573706f6e7365270d0a202020207061796d656e74436f6c6c656374
+696f6e3a0d0a2020202020206465736372697074696f6e3a204d6f64656c20666f72205061796d
+656e74436f6c6c656374696f6e0d0a20202020202070726f706572746965733a0d0a2020202020
+2020205f6c696e6b3a0d0a20202020202020202020247265663a2027232f646566696e6974696f
+6e732f636f6c6c656374696f6e4c696e6b73270d0a20202020202020205f656d6265646465643a
+0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f7061796d656e
+74734c697374270d0a2020202020202020746f74616c5472616e73616374696f6e733a0d0a2020
+2020202020202020747970653a20696e74656765720d0a20202020202020202020782d6578616d
+706c653a203231340d0a202020202020202020206465736372697074696f6e3a20546f74616c20
+6e756d626572206f66207472616e73616374696f6e732072657475726e65642e0d0a2020202070
+61796d656e744c696e6b733a0d0a20202020202070726f706572746965733a0d0a202020202020
+202073656c663a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e73
+2f6c696e6b270d0a2020202020202020726566756e643a0d0a2020202020202020202024726566
+3a2027232f646566696e6974696f6e732f6c696e6b270d0a202020202020202063617074757265
+3a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f6c696e6b27
+0d0a2020202062617463683a0d0a2020202020206465736372697074696f6e3a20436f6e746169
+6e7320696e666f726d6174696f6e2061626f75742074686520626174636820746861742070726f
+63657373656420746865207472616e73616374696f6e2e0d0a2020202020207469746c653a2062
+617463680d0a202020202020747970653a206f626a6563740d0a20202020202070726f70657274
+6965733a0d0a2020202020202020626174636849443a0d0a20202020202020202020747970653a
+20737472696e670d0a202020202020202020206465736372697074696f6e3a2054686520756e69
+717565206964656e746966696572206f66207468652062617463682e0d0a202020202020202073
+6574746c656d656e7453746174653a0d0a20202020202020202020747970653a20737472696e67
+0d0a202020202020202020206465736372697074696f6e3a207c2d0d0a20202020202020202020
+2020537461747573206f66207468652062617463682e204f6e65206f662074686520666f6c6c6f
+77696e670d0a2020202020202020202020202a2060736574746c65645375636365737366756c6c
+79600d0a2020202020202020202020202a2060736574746c656d656e744572726f72600d0a2020
+202020202020202020202a206070656e64696e67536574746c656d656e74600d0a202020202020
+2020736574746c6d656e7454696d655554433a0d0a20202020202020202020747970653a207374
+72696e670d0a202020202020202020206465736372697074696f6e3a20274461746520616e6420
+74696d65207768656e207468652062617463682077617320736574746c65642c20657870726573
+73656420696e20436f6f7264696e6174656420556e6976657273616c2054696d652e2041205420
+636861726163746572207365706172617465732074686520646174652066726f6d207468652074
+696d652e20466f72206578616d706c652c2060595959592d4d4d2d44445468683a6d6d3a737360
+2e270d0a202020206672617564496e666f726d6174696f6e3a0d0a202020202020646573637269
+7074696f6e3a20436f6e7461696e7320667261756420696e666f726d6174696f6e20666f722061
+207472616e73616374696f6e2e0d0a2020202020207469746c653a206672617564496e66726f6d
+6174696f6e0d0a202020202020747970653a206f626a6563740d0a20202020202070726f706572
+746965733a0d0a2020202020202020667261756446696c7465724c6973743a0d0a202020202020
+20202020747970653a2061727261790d0a202020202020202020206974656d733a0d0a20202020
+2020202020202020247265663a2027232f646566696e6974696f6e732f667261756446696c7465
+72270d0a20202020202020206672617564416374696f6e3a0d0a20202020202020202020747970
+653a20737472696e670d0a202020202020202020206465736372697074696f6e3a207c0d0a2020
+2020202020202020202054686520616374696f6e206170706c69656420746f2074686520747261
+6e73616374696f6e20627920746865206d65726368616e74277320416476616e63656420467261
+756420446574656374696f6e205375697465202841464453292073657474696e67732e3c627220
+2f3e0d0a2020202020202020202020205768656e206d756c7469706c652066696c746572732061
+70706c7920746f2061207472616e73616374696f6e2c2077652077696c6c2074616b6520746865
+206d6f737420726573747269637469766520616374696f6e2e20466f72206578616d706c652c20
+69662061207472616e73616374696f6e2074726967676572732074776f20414644532066696c74
+6572732c20616e64206f6e652066696c7465722072657475726e7320686f6c64207768696c6520
+746865206f746865722066696c7465722072657475726e732072656a6563742c2077652077696c
+6c2072656a65637420746865207472616e73616374696f6e20696e7374656164206f6620686f6c
+64696e672069742e203c6272202f3e0d0a202020202020202020202020416374696f6e7320696e
+636c75646520262335383b203c6272202f3e0d0a2020202020202020202020202a206072656a65
+6374602027e2809c2049676e6f72657320746865207472616e73616374696f6e206f7574726967
+68742c2065786365707420666f722041464453207265706f7274696e672e203c6272202f3e3c62
+72202f3e0d0a2020202020202020202020202a20606465636c696e65602027e2809c204d61726b
+7320746865207472616e73616374696f6e206173206465636c696e65642062757420696e636c75
+646520697420696e20746865206d65726368616e742773207472616e73616374696f6e20726570
+6f7274696e672e203c6272202f3e3c6272202f3e0d0a2020202020202020202020202a2060686f
+6c646020c3a2e282ace2809c20486f6c647320746865207472616e73616374696f6e20666f7220
+6d616e75616c207265766965772c20616e6420646f206e6f7420617574686f72697a6520756e6c
+65737320746865206d65726368616e7420617070726f7665732069742e203c6272202f3e3c6272
+202f3e0d0a2020202020202020202020202a206061757468416e64486f6c646020c3a2e282ace2
+809c205375626d69747320746865207472616e73616374696f6e20666f7220617574686f72697a
+6174696f6e2c2062757420686f6c6420697420666f72206d616e75616c207265766965772c2061
+6e6420646f206e6f7420736574746c6520756e6c65737320746865206d65726368616e74206170
+70726f7665732069742e203c6272202f3e3c6272202f3e0d0a2020202020202020202020202a20
+607265706f72746020c3a2e282ace2809c205265636f726473207468652066696c746572206163
+74696f6e206275742074616b65206e6f206f7468657220616374696f6e2e0d0a20202020706179
+6d656e74734c6973743a0d0a20202020202070726f706572746965733a0d0a2020202020202020
+7061796d656e74733a0d0a20202020202020202020747970653a2061727261790d0a2020202020
+20202020206974656d733a0d0a202020202020202020202020247265663a2027232f646566696e
+6974696f6e732f7061796d656e7473270d0a20202020667261756446696c7465723a0d0a202020
+20202070726f706572746965733a0d0a20202020202020206e616d653a0d0a2020202020202020
+2020747970653a20737472696e670d0a202020202020202020206465736372697074696f6e3a20
+4e616d65206f66207468652066726175642066696c7465722e0d0a202020202020202061637469
+6f6e3a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020202020
+6465736372697074696f6e3a207c0d0a20202020202020202020202053657474696e6720666f72
+207468652066726175642066696c7465722e20546865206046445346696c746572416374696f6e
+602073657474696e6720697320746865206d6f737420726573747269637469766520616374696f
+6e2073657474696e672e203c6272202f3e0d0a2020202020202020202020204f6e65206f662623
+35383b0d0a2020202020202020202020202a206072656a656374600d0a20200d0a202020202020
+2020202020202a20606465636c696e65600d0a2020202020202020202020202a2060686f6c6460
+0d0a20200d0a2020202020202020202020202a206061757468416e64486f6c64600d0a20200d0a
+2020202020202020202020202a20607265706f7274600d0a202020207061796d656e74733a0d0a
+20202020202070726f706572746965733a0d0a202020202020202069643a0d0a20202020202020
+202020747970653a20737472696e670d0a20202020202020202020782d6578616d706c653a2031
+32330d0a202020202020202020206465736372697074696f6e3a2054686520756e697175652069
+64656e746966696572206f6620746865207472616e73616374696f6e2e20546869732069732072
+657475726e656420696e20746865206f7267696e616c207472616e73616374696f6e2072657370
+6f6e73652e0d0a20202020202020207375626d697454696d655554433a0d0a2020202020202020
+2020747970653a20737472696e670d0a202020202020202020206465736372697074696f6e3a20
+275468652074696d65207468617420746865206f726967696e616c207472616e73616374696f6e
+20776173207375626d69747465642c20696e20436f6f7264696e6174656420556e697665727361
+6c2054696d652e270d0a20202020202020207374617475733a0d0a202020202020202020207479
+70653a20737472696e670d0a202020202020202020206465736372697074696f6e3a207c2d0d0a
+2020202020202020202020204272696566206465736372697074696f6e206f6620746865207374
+61747573206f6620746865207472616e73616374696f6e2e204f6e65206f662074686520666f6c
+6c6f69776e67202d0d0a20200d0a20202020202020202020202020202a2060617574686f72697a
+656450656e64696e6743617074757265600d0a20200d0a20202020202020202020202020202a20
+60636170747572656450656e64696e67536574746c656d656e74600d0a20200d0a202020202020
+20202020202020202a2060636f6d6d756e69636174696f6e4572726f72600d0a20200d0a202020
+20202020202020202020202a2060726566756e64536574746c65645375636365737366756c6c79
+600d0a20200d0a20202020202020202020202020202a2060726566756e6450656e64696e675365
+74746c656d656e74600d0a20200d0a20202020202020202020202020202a2060617070726f7665
+64526576696577600d0a20200d0a20202020202020202020202020202a20606465636c696e6564
+600d0a20200d0a20202020202020202020202020202a2060636f756c644e6f74566f6964600d0a
+20200d0a20202020202020202020202020202a206065787069726564600d0a20200d0a20202020
+202020202020202020202a206067656e6572616c4572726f72600d0a20200d0a20202020202020
+202020202020202a20606661696c6564526576696577600d0a20200d0a20202020202020202020
+202020202a2060736574746c65645375636365737366756c6c79600d0a20200d0a202020202020
+20202020202020202a2060736574746c656d656e744572726f72600d0a20200d0a202020202020
+20202020202020202a2060756e646572526576696577600d0a20200d0a20202020202020202020
+202020202a2060766f69646564600d0a20200d0a20202020202020202020202020202a20604644
+5350656e64696e67526576696577600d0a20200d0a20202020202020202020202020202a206046
+4453417574686f72697a656450656e64696e67526576696577600d0a20200d0a20202020202020
+202020202020202a206072657475726e65644974656d600d0a20200d0a20202020202020205f6c
+696e6b733a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f73
+656c664c696e6b270d0a2020202070726f636573736f72496e666f726d6174696f6e3a0d0a2020
+20202020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a2020
+202020202020617070726f76616c436f64653a0d0a20202020202020202020747970653a207374
+72696e670d0a20202020202020202020782d6578616d706c653a20443154314b440d0a20202020
+2020202020206465736372697074696f6e3a20417574686f72697a6174696f6e206f7220617070
+726f76616c20636f64652e0d0a20202020202020206176733a0d0a202020202020202020207479
+70653a206f626a6563740d0a2020202020202020202070726f706572746965733a0d0a20202020
+2020202020202020636f64653a0d0a2020202020202020202020202020747970653a2073747269
+6e670d0a2020202020202020202020202020782d6578616d706c653a202759270d0a2020202020
+2020202020202020206465736372697074696f6e3a207c2d0d0a20202020202020202020202020
+2020204164647265737320566572696669636174696f6e20536572766963652028415653292072
+6573706f6e736520636f64652e20496e646963617465732074686520726573756c74206f662074
+6865204156532066696c7465722e0d0a20200d0a202020202020202020202020202020202a2020
+604160203d2041646472657373202853747265657429206d6174636865732c205a495020646f65
+73206e6f742e0d0a202020202020202020202020202020202a2020604260203d20416464726573
+7320696e666f726d6174696f6e206e6f742070726f766964656420666f72204156532063686563
+6b2e0d0a202020202020202020202020202020202a2020604560203d20415653206572726f722e
+0d0a202020202020202020202020202020202a2020604760203d204e6f6e2d552e532e20436172
+642049737375696e672042616e6b2e0d0a202020202020202020202020202020202a2020604e60
+203d204e6f204d61746368206f6e2041646472657373202853747265657429206f72205a49502e
+0d0a202020202020202020202020202020202a2020605060203d20415653206e6f74206170706c
+696361626c6520666f722074686973207472616e73616374696f6e2e0d0a202020202020202020
+202020202020202a2020605260203d20526574727920c3a2e282ace2809d2053797374656d2075
+6e617661696c61626c65206f722074696d6564206f75742e0d0a20202020202020202020202020
+2020202a2020605360203d2053657276696365206e6f7420737570706f72746564206279206973
+737565722e0d0a202020202020202020202020202020202a2020605560203d2041646472657373
+20696e666f726d6174696f6e20697320756e617661696c61626c652e0d0a202020202020202020
+202020202020202a2020605760203d204e696e65206469676974205a4950206d6174636865732c
+204164647265737320285374726565742920646f6573206e6f742e0d0a20202020202020202020
+2020202020202a2020605860203d204164647265737320285374726565742920616e64206e696e
+65206469676974205a4950206d617463682e0d0a202020202020202020202020202020202a2020
+605960203d204164647265737320285374726565742920616e642066697665206469676974205a
+4950206d617463682e0d0a202020202020202020202020202020202a2020605a60203d20466976
+65206469676974205a4950206d6174636865732c20416464726573732028537472656574292064
+6f6573206e6f742e0d0a202020202020202063617264566572696669636174696f6e3a0d0a2020
+2020202020202020747970653a206f626a6563740d0a2020202020202020202070726f70657274
+6965733a0d0a202020202020202020202020726573756c74436f64653a0d0a2020202020202020
+202020202020747970653a20737472696e670d0a20202020202020202020202020206465736372
+697074696f6e3a207c2d0d0a202020202020202020202020202020204361726420636f64652076
+6572696669636174696f6e20284343562920726573706f6e736520636f64652e20537472696e67
+2c2031206368617261637465722e2056616c69642076616c75657320696e636c7564653a0d0a20
+200d0a202020202020202020202020202020202a20604d60202d2d20435656206d617463686564
+2e0d0a20200d0a202020202020202020202020202020202a20604e60202d2d2043565620646964
+206e6f74206d617463682e0d0a20200d0a202020202020202020202020202020202a2060506020
+2d2d2043565620776173206e6f742070726f6365737365642e0d0a20200d0a2020202020202020
+20202020202020202a20605360202d2d204356562073686f756c642068617665206265656e2070
+726573656e742062757420776173206e6f7420696e646963617465642e0d0a20200d0a20202020
+2020202020202020202020202a20605560202d2d20546865206973737565722077617320756e61
+626c6520746f2070726f63657373207468652043565620636865636b2e0d0a2020202020202020
+636f6e73756d657241757468656e7469636174696f6e526573706f6e73653a0d0a202020202020
+20202020747970653a206f626a6563740d0a2020202020202020202070726f706572746965733a
+0d0a202020202020202020202020636f64653a0d0a202020202020202020202020202074797065
+3a20737472696e670d0a20202020202020202020202020206465736372697074696f6e3a207c2d
+0d0a2020202020202020202020202020202043617264686f6c6465722061757468656e74696361
+74696f6e20766572696669636174696f6e20726573706f6e736520636f64652e0d0a20200d0a20
+2020202020202020202020202020202a2a4e6f74653a2a2a204d61737465726361726420747261
+6e73616374696f6e7320616c776179732072657475726e2061206e756c6c20726573756c742066
+6f72207468697320656c656d656e742e20436f6e73657175656e746c792c207472616e73616374
+696f6e2064657461696c7320666f72204d617374657263617264207472616e73616374696f6e73
+20646f206e6f7420636f6e7461696e204341565620726573756c74732e0d0a20200d0a20202020
+202020202020202020202020537472696e672c2031206368617261637465722e2056616c696420
+76616c75657320696e636c7564653a0d0a20200d0a202020202020202020202020202020202a20
+426c616e6b206f72206e6f742070726573656e74202d2d2043415656206e6f742076616c696461
+7465642e0d0a20200d0a202020202020202020202020202020202a20603060202d2d2043415656
+20776173206e6f742076616c6964617465642062656361757365206572726f6e656f7573206461
+746120776173207375626d69747465642e0d0a20200d0a20202020202020202020202020202020
+2a20603160202d2d2043415656206661696c65642076616c69646174696f6e2e0d0a20200d0a20
+2020202020202020202020202020202a20603260202d2d2043415656207061737365642076616c
+69646174696f6e2e0d0a20200d0a202020202020202020202020202020202a20603360202d2d20
+434156562076616c69646174696f6e20636f756c64206e6f7420626520706572666f726d65643b
+2069737375657220617474656d707420696e636f6d706c6574652e0d0a20200d0a202020202020
+202020202020202020202a20603460202d2d20434156562076616c69646174696f6e20636f756c
+64206e6f7420626520706572666f726d65643b206973737565722073797374656d206572726f72
+2e0d0a20200d0a202020202020202020202020202020202a20603560202d2d2052657365727665
+6420666f7220667574757265207573652e0d0a20200d0a20202020202020202020202020202020
+2a20603660202d2d20526573657276656420666f7220667574757265207573652e0d0a20200d0a
+202020202020202020202020202020202a20603760202d2d2043415656206661696c6564207661
+6c69646174696f6e2c20627574207468652069737375657220697320617661696c61626c652e20
+56616c696420666f7220552e532e2d6973737565642063617264207375626d697474656420746f
+206e6f6e2d552e532061637175697265722e0d0a20200d0a202020202020202020202020202020
+202a20603860202d2d2043415656207061737365642076616c69646174696f6e20616e64207468
+652069737375657220697320617661696c61626c652e2056616c696420666f7220552e532e2d69
+73737565642063617264207375626d697474656420746f206e6f6e2d552e532e20616371756972
+65722e0d0a20200d0a202020202020202020202020202020202a20603960202d2d204341565620
+6661696c65642076616c69646174696f6e20616e64207468652069737375657220697320756e61
+7661696c61626c652e2056616c696420666f7220552e532e2d6973737565642063617264207375
+626d697474656420746f206e6f6e2d552e532061637175697265722e0d0a20200d0a2020202020
+20202020202020202020202a20604160202d2d2043415656207061737365642076616c69646174
+696f6e20627574207468652069737375657220756e617661696c61626c652e2056616c69642066
+6f7220552e532e2d6973737565642063617264207375626d697474656420746f206e6f6e2d552e
+532061637175697265722e0d0a20200d0a202020202020202020202020202020202a2060426020
+2d2d2043415656207061737365642076616c69646174696f6e2c20696e666f726d6174696f6e20
+6f6e6c792c206e6f206c696162696c6974792073686966742e0d0a20202020666f6c6c6f775570
+526573706f6e73653a0d0a202020202020747970653a206f626a6563740d0a2020202020207072
+6f706572746965733a0d0a20202020202020206572726f724d6573736167653a0d0a2020202020
+2020202020747970653a20737472696e670d0a202020202020202020206465736372697074696f
+6e3a202754686973206669656c642069732072657475726e6564206f6e6c792069662074686520
+7472616e73616374696f6e2070726f6365737365642073756363657366756c6c792c2062757420
+74686520666f6c6c6f772d757020616374696f6e206f66206372656174696e6720612063757374
+6f6d657220616e642f6f72207061796d656e742070726f66696c65206661696c65642e270d0a20
+20202020202020637573746f6d65723a0d0a20202020202020202020247265663a2027232f6465
+66696e6974696f6e732f637573746f6d65725061796d656e74270d0a202020207061796d656e74
+4d6574686f644c696e6b733a0d0a20202020202070726f706572746965733a0d0a202020202020
+202073656c663a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e73
+2f6c696e6b270d0a2020202020202020637573746f6d65723a0d0a202020202020202020202472
+65663a2027232f646566696e6974696f6e732f6c696e6b270d0a202020207061796d656e744d65
+74686f643a0d0a2020202020206465736372697074696f6e3a20436f6e7461696e7320696e666f
+726d6174696f6e2061626f757420746865206d6574686f64206f66207061796d656e742e0d0a20
+2020202020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a20
+2020202020202069643a0d0a20202020202020202020747970653a20737472696e670d0a202020
+202020202020206465736372697074696f6e3a20556e69717565206964656e7469666965722066
+6f722074686520607061796d656e744d6574686f6460206f626a65637420696e20746869732074
+72616e73616374696f6e2e0d0a202020202020202064656661756c743a0d0a2020202020202020
+2020747970653a20626f6f6c65616e0d0a20202020202020202020782d6578616d706c653a2027
+74727565270d0a202020202020202020206465736372697074696f6e3a2053657474696e672074
+68697320626f6f6c65616e20746f20607472756560206d61726b732074686973207061796d656e
+74206d6574686f64206173207468652064656661756c7420666f72207468697320637573746f6d
+65722e0d0a202020202020202062696c6c546f3a0d0a20202020202020202020247265663a2027
+232f646566696e6974696f6e732f6261736541646472657373270d0a2020202020202020202064
+65736372697074696f6e3a20436f6f6e7461696e732074686520637573746f6d65722773206269
+6c6c696e6720616464726573732e0d0a20202020202020207061796d656e74496e666f726d6174
+696f6e3a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f7061
+796d656e74496e666f726d6174696f6e270d0a20202020202020205f6c696e6b733a0d0a202020
+20202020202020247265663a2027232f646566696e6974696f6e732f7061796d656e744d657468
+6f644c696e6b73270d0a202020207061796d656e744d6574686f64436f6c6c656374696f6e3a0d
+0a20202020202070726f706572746965733a0d0a20202020202020205f6c696e6b733a0d0a2020
+2020202020202020247265663a2027232f646566696e6974696f6e732f636f6c6c656374696f6e
+4c696e6b73270d0a20202020202020205f656d6265646465643a0d0a2020202020202020202024
+7265663a2027232f646566696e6974696f6e732f7061796d656e744d6574686f644c697374270d
+0a2020202020202020746f74616c5061796d656e744d6574686f64733a0d0a2020202020202020
+2020747970653a20696e74656765720d0a20202020202020202020782d6578616d706c653a2031
+3234330d0a202020202020202020206465736372697074696f6e3a20546f74616c206e756d6265
+72206f66207061796d656e74206d6574686f647320666f722074686973207472616e7361637469
+6f6e2e0d0a202020207061796d656e744d6574686f644c6973743a0d0a20202020202070726f70
+6572746965733a0d0a20202020202020207061796d656e744d6574686f64733a0d0a2020202020
+2020202020747970653a2061727261790d0a202020202020202020206974656d733a0d0a202020
+202020202020202020247265663a2027232f646566696e6974696f6e732f7061796d656e744d65
+74686f6473270d0a202020207061796d656e744d6574686f64733a0d0a20202020202070726f70
+6572746965733a0d0a202020202020202069643a0d0a20202020202020202020747970653a2073
+7472696e670d0a202020202020202020206465736372697074696f6e3a20556e69717565206964
+656e74696669657220666f722074686520607061796d656e744d6574686f647360206f626a6563
+7420696e2074686973207472616e73616374696f6e2e0d0a202020202020202064656661756c74
+3a0d0a20202020202020202020747970653a20626f6f6c65616e0d0a2020202020202020706179
+6d656e74496e666f726d6174696f6e3a0d0a20202020202020202020247265663a2027232f6465
+66696e6974696f6e732f7061796d656e74496e666f726d6174696f6e270d0a2020202020202020
+5f6c696e6b733a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e73
+2f7061796d656e744d6574686f644c696e6b73270d0a20202020437265617465437573746f6d65
+723a0d0a2020202020206465736372697074696f6e3a204d6f64656c20666f7220437265617465
+437573746f6d65720d0a20202020202072657175697265643a0d0a20202020202020202d206964
+656e7469666965720d0a20202020202070726f706572746965733a0d0a20202020202020206465
+736372697074696f6e3a0d0a20202020202020202020747970653a20737472696e670d0a202020
+20202020202020782d6578616d706c653a20437573746f6d6572204465736372697074696f6e0d
+0a20202020202020206964656e7469666965723a0d0a20202020202020202020247265663a2027
+232f646566696e6974696f6e732f4964656e746966696572270d0a202020204576656e74547970
+653a0d0a20202020202070726f706572746965733a0d0a20202020202020206e616d653a0d0a20
+202020202020202020747970653a20737472696e670d0a20202020202020202020782d6578616d
+706c653a206e65742e617574686f72697a652e637573746f6d65722e637265617465640d0a2020
+202020206465736372697074696f6e3a20274e616d65206f6620746865206576656e7420747970
+652e20466f72206120636f6d706c657465206c697374206f66206576656e742074797065732c20
+73656520746865205b576562686f6f6b732041504920446f63756d656e746174696f6e5d286874
+7470733a2f2f646576656c6f7065722e617574686f72697a652e6e65742f6170692f7265666572
+656e63652f66656174757265732f776562686f6f6b732e68746d6c234576656e745f5479706573
+5f616e645f5061796c6f6164732920706167652e270d0a20202020437265617465576562686f6f
+6b426f64793a0d0a2020202020206465736372697074696f6e3a204d6f64656c20666f72204372
+6561746520576562686f6f6b0d0a202020202020747970653a206f626a6563740d0a2020202020
+2070726f706572746965733a0d0a20202020202020206e616d653a0d0a20202020202020202020
+747970653a20737472696e670d0a202020202020202020206465736372697074696f6e3a20436f
+6e7461696e732064657461696c7320666f7220746865206372656174696f6e206f722075706461
+7465206f66206120776562686f6f6b2e0d0a20202020202020202020782d6578616d706c653a20
+576562686f6f6b4576656e74730d0a202020202020202075726c3a0d0a20202020202020202020
+747970653a20737472696e670d0a202020202020202020206465736372697074696f6e3a204361
+6c6c6261636b2055524c20666f722074686520776562686f6f6b2e0d0a20202020202020202020
+782d6578616d706c653a202768747470733a2f2f6578616d706c652e636f6d2f6e6f7469666963
+6174696f6e270d0a20202020202020206576656e7454797065733a0d0a20202020202020202020
+747970653a2061727261790d0a202020202020202020206974656d733a0d0a2020202020202020
+20202020747970653a20737472696e670d0a202020202020202020206465736372697074696f6e
+3a20274c697374206f66206576656e747320746861742077696c6c2074726967676572206e6f74
+696669636174696f6e7320666f72207468697320776562686f6f6b2e20466f72206120636f6d70
+6c657465206c697374206f66206576656e742074797065732c2073656520746865205b57656268
+6f6f6b732041504920446f63756d656e746174696f6e5d2868747470733a2f2f646576656c6f70
+65722e617574686f72697a652e6e65742f6170692f7265666572656e63652f6665617475726573
+2f776562686f6f6b732e68746d6c234576656e745f54797065735f616e645f5061796c6f616473
+2920706167652e270d0a20202020202020202020782d6578616d706c653a0d0a20202020202020
+20202020202d206e65742e617574686f72697a652e637573746f6d65722e637265617465640d0a
+2020202020202020202020202d206e65742e617574686f72697a652e637573746f6d65722e7061
+796d656e7450726f66696c652e637265617465640d0a2020202020202020202020202d206e6574
+2e617574686f72697a652e637573746f6d65722e737562736372697074696f6e2e637265617465
+640d0a20202020202020207374617475733a0d0a20202020202020202020747970653a20737472
+696e670d0a202020202020202020206465736372697074696f6e3a204e65772073746174757320
+6f662074686520576562686f6f6b2e0d0a20202020202020202020782d6578616d706c653a2041
+63746976650d0a20202020476574576562686f6f6b526573706f6e73653a0d0a20202020202064
+65736372697074696f6e3a20526573706f6e7365206d6f64656c20666f72206765742061205765
+62686f6f6b0d0a20202020202070726f706572746965733a0d0a20202020202020205f6c696e6b
+733a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f73656c66
+4c696e6b270d0a2020202020202020776562686f6f6b49643a0d0a202020202020202020207479
+70653a20737472696e670d0a202020202020202020206465736372697074696f6e3a20556e6971
+7565206964656e746966696572206f6620746865206e6f74696669636174696f6e2e2054686520
+6964656e746966696572207761732073656e7420696e20746865206f726967696e616c206e6f74
+696669636174696f6e2e0d0a20202020202020202020782d6578616d706c653a20626238353530
+32332d613562352d343762362d623033392d3638613431383434363138610d0a20202020202020
+206e616d653a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020
+2020206465736372697074696f6e3a204c6162656c206f6620746865206e657720576562686f6f
+6b2e0d0a20202020202020202020782d6578616d706c653a20576562686f6f6b4576656e74730d
+0a20202020202020207374617475733a0d0a20202020202020202020747970653a20737472696e
+670d0a202020202020202020206465736372697074696f6e3a20556e69717565206964656e7469
+66696572206f662074686520776562686f6f6b2e20546865206964656e74696669657220776173
+2073656e7420696e2074686520726573706f6e736520746f2074686520776562686f6f6b207265
+71756573742e0d0a20202020202020202020782d6578616d706c653a204163746976650d0a2020
+20202020202075726c3a0d0a20202020202020202020747970653a20737472696e670d0a202020
+202020202020206465736372697074696f6e3a2043616c6c6261636b2055726c20666f72207468
+6520776562686f6f6b2e0d0a20202020202020202020782d6578616d706c653a20276874747073
+3a2f2f6578616d706c652e636f6d2f6e6f74696669636174696f6e270d0a202020202020202065
+76656e7454797065733a0d0a20202020202020202020747970653a2061727261790d0a20202020
+2020202020206974656d733a0d0a202020202020202020202020747970653a20737472696e670d
+0a202020202020202020206465736372697074696f6e3a20274c697374206f66206576656e7473
+20746861742077696c6c2074726967676572206e6f74696669636174696f6e7320666f72207468
+697320776562686f6f6b2e20466f72206120636f6d706c657465206c697374206f66206576656e
+742074797065732c2073656520746865205b576562686f6f6b732041504920446f63756d656e74
+6174696f6e5d2868747470733a2f2f646576656c6f7065722e617574686f72697a652e6e65742f
+6170692f7265666572656e63652f66656174757265732f776562686f6f6b732e68746d6c234576
+656e745f54797065735f616e645f5061796c6f6164732920706167652e270d0a20202020202020
+202020782d6578616d706c653a0d0a2020202020202020202020202d206e65742e617574686f72
+697a652e637573746f6d65722e637265617465640d0a2020202020202020202020202d206e6574
+2e617574686f72697a652e637573746f6d65722e7061796d656e7450726f66696c652e63726561
+7465640d0a2020202020202020202020202d206e65742e617574686f72697a652e637573746f6d
+65722e737562736372697074696f6e2e637265617465640d0a2020202020207265717569726564
+3a0d0a20202020202020202d205f6c696e6b730d0a20202020202020202d20776562686f6f6b49
+640d0a20202020202020202d207374617475730d0a20202020202020202d2075726c0d0a202020
+20202020202d206576656e7454797065730d0a202020204c6f673a0d0a20202020202064657363
+72697074696f6e3a2027270d0a20202020202070726f706572746965733a0d0a20202020202020
+20737461747573436f64653a0d0a20202020202020202020747970653a20696e74656765720d0a
+202020202020202020206465736372697074696f6e3a20485454502073746174757320636f6465
+206f6620746865206e6f74696669636174696f6e20617474656d70742e0d0a2020202020202020
+726574727953746167653a0d0a20202020202020202020747970653a20696e74656765720d0a20
+2020202020202020206465736372697074696f6e3a2027270d0a20202020202020207265747279
+436f756e74496e53746167653a0d0a20202020202020202020747970653a20696e74656765720d
+0a20202020202020207265747279446174653a0d0a20202020202020202020747970653a207374
+72696e670d0a202020202020202020206465736372697074696f6e3a2044617465206f66207468
+65206c6173742072657472792e0d0a20202020202020206d6573736167653a0d0a202020202020
+20202020747970653a20737472696e670d0a202020202020202020206465736372697074696f6e
+3a2041206d6573736167652061626f757420746865207374617475732e0d0a2020202052657472
+794c6f673a0d0a2020202020206465736372697074696f6e3a204c6f6767696e6720696e666f72
+6d6174696f6e2061626f7574206e6f74696669636174696f6e20726574726965732e0d0a202020
+20202070726f706572746965733a0d0a20202020202020206c6f67733a0d0a2020202020202020
+2020747970653a2061727261790d0a202020202020202020206974656d733a0d0a202020202020
+202020202020247265663a2027232f646566696e6974696f6e732f4c6f67270d0a202020202020
+72657175697265643a0d0a20202020202020202d206c6f67730d0a202020204e6f746966696361
+74696f6e3a0d0a2020202020206465736372697074696f6e3a204e6f74696669636174696f6e20
+4d6f64656c0d0a20202020202070726f706572746965733a0d0a20202020202020205f6c696e6b
+733a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f73656c66
+4c696e6b270d0a20202020202020206e6f74696669636174696f6e49643a0d0a20202020202020
+202020747970653a20737472696e670d0a202020202020202020206465736372697074696f6e3a
+20556e69717565206964656e746966696572206f6620746865206e6f74696669636174696f6e0d
+0a20202020202020202020782d6578616d706c653a20576562686f6f6b4576656e74730d0a2020
+20202020202064656c69766572795374617475733a0d0a20202020202020202020747970653a20
+737472696e670d0a202020202020202020206465736372697074696f6e3a2043757272656e7420
+737461747573206f6620746865206e6f74696669636174696f6e2e0d0a20202020202020202020
+782d6578616d706c653a2044656c6976657265640d0a20202020202020206576656e7454797065
+3a0d0a20202020202020202020747970653a20737472696e670d0a202020202020202020206465
+736372697074696f6e3a2054797065206f66206576656e74207468617420747269676765726564
+20746865206e6f74696669636174696f6e2e0d0a20202020202020202020782d6578616d706c65
+3a206e65742e617574686f72697a652e7061796d656e742e61757468636170747572652e637265
+617465640d0a20202020202020206576656e74446174653a0d0a20202020202020202020747970
+653a20737472696e670d0a202020202020202020206465736372697074696f6e3a204461746520
+616e642074696d65206f6620746865206e6f74696669636174696f6e732073656e742e0d0a2020
+2020202020202020782d6578616d706c653a2027323031372d30362d32395431363a31323a3530
+2e383437270d0a2020202020202020776562686f6f6b49643a0d0a202020202020202020207479
+70653a20737472696e670d0a202020202020202020206465736372697074696f6e3a204c616265
+6c206f662074686520576562686f6f6b2e0d0a20202020202020202020782d6578616d706c653a
+2031373931383061342d626261302d343561322d383336632d6430633434333866343632650d0a
+20202020202072657175697265643a0d0a20202020202020202d205f6c696e6b730d0a20202020
+202020202d206e6f74696669636174696f6e49640d0a20202020202020202d2064656c69766572
+795374617475730d0a20202020202020202d206576656e74547970650d0a20202020202020202d
+206576656e74446174650d0a20202020202020202d20776562686f6f6b49640d0a202020204765
+744e6f74696669636174696f6e526573706f6e73653a0d0a202020202020646573637269707469
+6f6e3a2044657461696c73206f6620612073696e676c65206e6f74696669636174696f6e2e0d0a
+202020202020616c6c4f663a0d0a20202020202020202d20247265663a2027232f646566696e69
+74696f6e732f4e6f74696669636174696f6e270d0a20202020202020202d2070726f7065727469
+65733a0d0a20202020202020202020202072657472794c6f673a0d0a2020202020202020202020
+202020247265663a2027232f646566696e6974696f6e732f52657472794c6f67270d0a20202020
+4765744e6f74696669636174696f6e73526573706f6e73653a0d0a202020202020646573637269
+7074696f6e3a204c697374206f66206e6f74696669636174696f6e732e0d0a2020202020207072
+6f706572746965733a0d0a20202020202020205f6c696e6b733a0d0a2020202020202020202024
+7265663a2027232f646566696e6974696f6e732f73656c664c696e6b270d0a2020202020202020
+6e6f74696669636174696f6e733a0d0a20202020202020202020747970653a2061727261790d0a
+202020202020202020206974656d733a0d0a202020202020202020202020247265663a2027232f
+646566696e6974696f6e732f4e6f74696669636174696f6e270d0a202020202020726571756972
+65643a0d0a20202020202020202d205f6c696e6b730d0a20202020202020202d206e6f74696669
+636174696f6e730d0a20202020616464726573733a0d0a202020202020747970653a206f626a65
+63740d0a20202020202070726f706572746965733a0d0a202020202020202069643a0d0a202020
+20202020202020747970653a20737472696e670d0a202020202020202020206465736372697074
+696f6e3a20556e69717565206964656e74696669657220666f7220616e20616464726573732e0d
+0a202020202020202064656661756c743a0d0a20202020202020202020747970653a20626f6f6c
+65616e0d0a20202020202020202020782d6578616d706c653a202774727565270d0a2020202020
+20202020206465736372697074696f6e3a2053657474696e67207468697320746f206074727565
+60206d61726b732074686520616464726573732061732074686520637573746f6d657227732064
+656661756c7420616464726573732e0d0a202020202020202062617365416464726573733a0d0a
+20202020202020202020247265663a2027232f646566696e6974696f6e732f6261736541646472
+657373270d0a20202020202020205f6c696e6b733a0d0a20202020202020202020247265663a20
+27232f646566696e6974696f6e732f616464726573734c696e6b73270d0a202020207472616e73
+616374696f6e3a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f70
+6572746965733a0d0a20202020202020207472616e73616374696f6e526573706f6e73653a0d0a
+20202020202020202020247265663a2027232f646566696e6974696f6e732f7472616e73616374
+696f6e526573706f6e7365270d0a20202020202020206d65737361676573733a0d0a2020202020
+2020202020247265663a2027232f646566696e6974696f6e732f6d6573736167657373270d0a20
+2020207472616e73616374696f6e526573706f6e73653a0d0a202020202020747970653a206f62
+6a6563740d0a20202020202070726f706572746965733a0d0a2020202020202020726573706f6e
+7365436f64653a0d0a20202020202020202020747970653a20737472696e670d0a202020202020
+202061757468436f64653a0d0a20202020202020202020747970653a20737472696e670d0a2020
+202020202020617673526573756c74436f64653a0d0a20202020202020202020747970653a2073
+7472696e670d0a2020202020202020637676526573756c74436f64653a0d0a2020202020202020
+2020747970653a20737472696e670d0a202020202020202063617676526573756c74436f64653a
+0d0a20202020202020202020747970653a20737472696e670d0a20202020202020207472616e73
+49643a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020207265
+665472616e7349443a0d0a20202020202020202020747970653a20737472696e67202020202020
+20200d0a20202020202020207472616e73486173683a0d0a20202020202020202020747970653a
+20737472696e670d0a202020202020202074657374526571756573743a0d0a2020202020202020
+2020747970653a20737472696e670d0a20202020202020206163636f756e744e756d6265723a0d
+0a20202020202020202020747970653a20737472696e670d0a20202020202020206163636f756e
+74547970653a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020
+206d657373616765733a0d0a20202020202020202020747970653a2061727261790d0a20202020
+2020202020206974656d733a0d0a202020202020202020202020247265663a2027232f64656669
+6e6974696f6e732f6d65737361676573270d0a20202020202020207472616e7348617368536861
+323a0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020537570
+706c656d656e74616c446174615175616c696669636174696f6e496e64696361746f723a0d0a20
+202020202020202020747970653a20737472696e670d0a20202020202020206e6574776f726b54
+72616e7349643a0d0a20202020202020202020747970653a20737472696e670d0a202020207472
+616e73616374696f6e733a0d0a202020202020747970653a206f626a6563740d0a202020202020
+70726f706572746965733a0d0a20202020202020207472616e73616374696f6e733a0d0a202020
+20202020202020247265663a2027232f646566696e6974696f6e732f7472616e73616374696f6e
+73526573706f6e7365270d0a2020202020202020746f74616c4e756d496e526573756c74536574
+3a0d0a20202020202020202020747970653a20737472696e6720200d0a20202020202020206d65
+737361676573733a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e
+732f6d6573736167657373270d0a202020207472616e73616374696f6e73526573706f6e73653a
+0d0a20202020202070726f706572746965733a0d0a20202020202020207472616e7349643a0d0a
+20202020202020202020747970653a20737472696e670d0a20202020202020207375626d697454
+696d655554433a0d0a20202020202020202020747970653a20737472696e670d0a202020202020
+20207375626d697454696d654c6f63616c3a0d0a20202020202020202020747970653a20737472
+696e670d0a20202020202020207472616e73616374696f6e5374617475733a0d0a202020202020
+20202020747970653a20737472696e670d0a2020202020202020696e766f6963654e756d626572
+3a0d0a20202020202020202020747970653a20737472696e670d0a202020202020202066697273
+744e616d653a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020
+206c6173744e616d653a0d0a20202020202020202020747970653a20737472696e672020202020
+2020200d0a20202020202020206163636f756e74547970653a0d0a202020202020202020207479
+70653a20737472696e670d0a20202020202020206163636f756e744e756d6265723a0d0a202020
+20202020202020747970653a20737472696e670d0a2020202020202020736574746c65416d6f75
+6e743a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020206d61
+726b6574547970653a0d0a20202020202020202020747970653a20737472696e670d0a20202020
+2020202070726f647563743a0d0a20202020202020202020747970653a20737472696e6720200d
+0a20202020202020206672617564496e666f726d6174696f6e3a0d0a2020202020202020202074
+7970653a2061727261790d0a202020202020202020206974656d733a0d0a202020202020202020
+202020247265663a2027232f646566696e6974696f6e732f6672617564496e666f726d6174696f
+6e270d0a2020202075706461746553706c697454656e64657247726f75704d6573736167653a0d
+0a202020202020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d
+0a202020202020202020206d6573736167653a0d0a202020202020202020202020247265663a20
+27232f646566696e6974696f6e732f6d6573736167657373466f7275706461746553706c697454
+656e64657247726f75704d657373616765270d0a202020206d6573736167657373466f72757064
+61746553706c697454656e64657247726f75704d6573736167653a0d0a20202020202074797065
+3a206f626a6563740d0a20202020202070726f706572746965733a0d0a20202020202020207265
+73756c74436f64653a0d0a20202020202020202020747970653a20737472696e670d0a20202020
+202020206d6573736167653a0d0a20202020202020202020747970653a2061727261790d0a2020
+20202020202020206974656d733a0d0a202020202020202020202020247265663a2027232f6465
+66696e6974696f6e732f6d657373616765732720202020202020200d0a202020206d6573736167
+65733a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f7065727469
+65733a0d0a2020202020202020636f64653a0d0a20202020202020202020747970653a20737472
+696e670d0a2020202020202020746578743a0d0a20202020202020202020747970653a20737472
+696e670d0a202020206d65737361676573733a0d0a202020202020747970653a206f626a656374
+0d0a20202020202070726f706572746965733a0d0a2020202020202020726573756c74436f6465
+3a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020206d657373
+6167653a0d0a20202020202020202020747970653a2061727261790d0a20202020202020202020
+6974656d733a0d0a202020202020202020202020247265663a2027232f646566696e6974696f6e
+732f6d65737361676573272020202020200d0a202020206d6573736167653a0d0a202020202020
+747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a202020202020
+2020636f64653a0d0a20202020202020202020747970653a20737472696e670d0a202020202020
+2020746578743a0d0a20202020202020202020747970653a20737472696e670d0a202020207472
+616e73616374696f6e466f725061796d656e74733a0d0a202020202020747970653a206f626a65
+63740d0a20202020202070726f706572746965733a0d0a20202020202020207472616e73616374
+696f6e526573706f6e73653a0d0a20202020202020202020247265663a2027232f646566696e69
+74696f6e732f7061796d656e745472616e73616374696f6e526573706f6e7365270d0a20202020
+2020202072656649643a0d0a20202020202020202020747970653a20737472696e6720200d0a20
+202020202020206d657373616765733a0d0a20202020202020202020247265663a2027232f6465
+66696e6974696f6e732f6d657373616765734f665061796d656e745472616e73616374696f6e52
+6573706f6e7365270d0a202020206d657373616765734f665061796d656e745472616e73616374
+696f6e526573706f6e73653a0d0a202020202020747970653a206f626a6563740d0a2020202020
+2070726f706572746965733a0d0a2020202020202020726573756c74436f64653a0d0a20202020
+202020202020747970653a20737472696e670d0a20202020202020206d6573736167653a0d0a20
+202020202020202020747970653a2061727261790d0a202020202020202020206974656d733a0d
+0a202020202020202020202020247265663a2027232f646566696e6974696f6e732f6d65737361
+6765270d0a2020202063686172676541437573746f6d657250726f66696c65526573706f6e7365
+3a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f70657274696573
+3a0d0a20202020202020207472616e73616374696f6e526573706f6e73653a0d0a202020202020
+20202020247265663a2027232f646566696e6974696f6e732f7061796d656e745472616e736163
+74696f6e526573706f6e7365270d0a20202020202020207472616e7348617368536861323a0d0a
+20202020202020202020747970653a20737472696e67202020200d0a202020202020202070726f
+66696c653a0d0a2020202020202020202020247265663a2027232f646566696e6974696f6e732f
+70726f66696c65270d0a2020202020202020537570706c656d656e74616c446174615175616c69
+6669636174696f6e496e64696361746f723a0d0a2020202020202020202020247265663a202723
+2f646566696e6974696f6e732f537570706c656d656e74616c446174615175616c696669636174
+696f6e496e64696361746f72270d0a202020202020202072656649643a0d0a2020202020202020
+2020747970653a20737472696e6720200d0a20202020202020206d657373616765733a0d0a2020
+2020202020202020247265663a2027232f646566696e6974696f6e732f6d657373616765734f66
+5061796d656e745472616e73616374696f6e526573706f6e7365270d0a20202020636861726765
+41546f6b656e697a656443726564697443617264526573706f6e73653a0d0a2020202020207479
+70653a206f626a6563740d0a20202020202070726f706572746965733a0d0a2020202020202020
+7472616e73616374696f6e526573706f6e73653a0d0a20202020202020202020247265663a2027
+232f646566696e6974696f6e732f7061796d656e745472616e73616374696f6e526573706f6e73
+65270d0a2020202020202020757365724669656c64733a0d0a2020202020202020202020247265
+663a2027232f646566696e6974696f6e732f757365724669656c6473270d0a2020202020202020
+6e6574776f726b5472616e7349643a0d0a20202020202020202020747970653a20737472696e67
+0d0a202020202020202072656649643a0d0a20202020202020202020747970653a20737472696e
+6720200d0a20202020202020206d657373616765733a0d0a20202020202020202020247265663a
+2027232f646566696e6974696f6e732f6d657373616765734f665061796d656e745472616e7361
+6374696f6e526573706f6e7365270d0a202020206372656174654d6f62696c65496e4170705472
+616e73616374696f6e526573706f6e63653a0d0a202020202020747970653a206f626a6563740d
+0a20202020202070726f706572746965733a0d0a20202020202020207472616e73616374696f6e
+526573706f6e73653a0d0a20202020202020202020247265663a2027232f646566696e6974696f
+6e732f7061796d656e745472616e73616374696f6e526573706f6e7365270d0a20202020202020
+20757365724669656c64733a0d0a2020202020202020202020247265663a2027232f646566696e
+6974696f6e732f757365724669656c6473270d0a20202020202020207472616e73486173685368
+61323a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020207265
+6649643a0d0a20202020202020202020747970653a20737472696e6720200d0a20202020202020
+206d657373616765733a0d0a20202020202020202020247265663a2027232f646566696e697469
+6f6e732f6d657373616765734f665061796d656e745472616e73616374696f6e526573706f6e73
+65270d0a20202020537570706c656d656e74616c446174615175616c696669636174696f6e496e
+64696361746f723a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f
+706572746965733a0d0a20202020202020206e6574776f726b5472616e7349643a0d0a20202020
+202020202020747970653a20737472696e670d0a202020207061796d656e745472616e73616374
+696f6e526573706f6e73653a0d0a202020202020747970653a206f626a6563740d0a2020202020
+2070726f706572746965733a0d0a2020202020202020726573706f6e7365436f64653a0d0a2020
+2020202020202020747970653a20737472696e670d0a202020202020202061757468436f64653a
+0d0a20202020202020202020747970653a20737472696e670d0a20202020202020206176735265
+73756c74436f64653a0d0a20202020202020202020747970653a20737472696e670d0a20202020
+20202020637676526573756c74436f64653a0d0a20202020202020202020747970653a20737472
+696e670d0a202020202020202063617676526573756c74436f64653a0d0a202020202020202020
+20747970653a20737472696e670d0a20202020202020207472616e7349643a0d0a202020202020
+20202020747970653a20737472696e670d0a20202020202020207265665472616e7349443a0d0a
+20202020202020202020747970653a20737472696e6720202020202020200d0a20202020202020
+207472616e73486173683a0d0a20202020202020202020747970653a20737472696e670d0a2020
+20202020202074657374526571756573743a0d0a20202020202020202020747970653a20737472
+696e670d0a20202020202020206163636f756e744e756d6265723a0d0a20202020202020202020
+747970653a20737472696e670d0a20202020202020206163636f756e74547970653a0d0a202020
+20202020202020747970653a20737472696e670d0a20202020202020206d657373616765733a0d
+0a20202020202020202020747970653a2061727261790d0a202020202020202020206974656d73
+3a0d0a202020202020202020202020247265663a2027232f646566696e6974696f6e732f6d6573
+7361676573270d0a2020202063726561746550617950616c417574686f72697a654f6e6c795472
+616e73616374696f6e526573706f6e63653a0d0a202020202020747970653a206f626a6563740d
+0a20202020202070726f706572746965733a0d0a20202020202020207472616e73616374696f6e
+526573706f6e73653a0d0a20202020202020202020247265663a2027232f646566696e6974696f
+6e732f706179506179417574686f72697a654f6e6c7972616e73616374696f6e526573706f6e73
+65270d0a20202020202020206d657373616765733a0d0a20202020202020202020247265663a20
+27232f646566696e6974696f6e732f6d657373616765734f665061796d656e745472616e736163
+74696f6e526573706f6e73652720200d0a20202020706179506179417574686f72697a654f6e6c
+7972616e73616374696f6e526573706f6e73653a0d0a202020202020747970653a206f626a6563
+740d0a20202020202070726f706572746965733a0d0a2020202020202020726573706f6e736543
+6f64653a0d0a20202020202020202020747970653a20737472696e670d0a202020202020202072
+6177526573706f6e7365436f64653a0d0a20202020202020202020747970653a20737472696e67
+0d0a20202020202020207472616e7349643a0d0a20202020202020202020747970653a20737472
+696e670d0a20202020202020207265665472616e7349443a0d0a20202020202020202020747970
+653a20737472696e670d0a20202020202020207472616e73486173683a0d0a2020202020202020
+2020747970653a20737472696e670d0a20202020202020206163636f756e74547970653a0d0a20
+202020202020202020747970653a20737472696e670d0a20202020202020206d65737361676573
+3a0d0a202020202020202020206974656d733a0d0a202020202020202020202020247265663a20
+27232f646566696e6974696f6e732f6d65737361676573270d0a20202020202020207365637572
+65416363657074616e63653a0d0a20202020202020202020247265663a2027232f646566696e69
+74696f6e732f736563757265416363657074616e6365270d0a2020202073656375726541636365
+7074616e63653a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f70
+6572746965733a0d0a2020202020202020536563757265416363657074616e636555726c3a0d0a
+20202020202020202020747970653a20737472696e670d0a202020207061795061795472616e73
+616374696f6e526573706f6e73653a0d0a202020202020747970653a206f626a6563740d0a2020
+2020202070726f706572746965733a0d0a2020202020202020726573706f6e7365436f64653a0d
+0a20202020202020202020747970653a20737472696e670d0a2020202020202020726177526573
+706f6e7365436f64653a0d0a20202020202020202020747970653a20737472696e670d0a202020
+20202020207472616e7349643a0d0a20202020202020202020747970653a20737472696e670d0a
+20202020202020207265665472616e7349443a0d0a20202020202020202020747970653a207374
+72696e670d0a20202020202020207472616e73486173683a0d0a20202020202020202020747970
+653a20737472696e670d0a20202020202020206163636f756e74547970653a0d0a202020202020
+20202020747970653a20737472696e670d0a20202020202020206572726f72733a0d0a20202020
+202020202020747970653a2061727261790d0a202020202020202020206974656d733a0d0a2020
+20202020202020202020247265663a2027232f646566696e6974696f6e732f6572726f7273270d
+0a202020206d65737361676573466f7250617950616c3a0d0a202020202020747970653a206f62
+6a6563740d0a20202020202070726f706572746965733a0d0a2020202020202020636f64653a0d
+0a20202020202020202020747970653a20737472696e670d0a2020202020202020646573637269
+7074696f6e3a0d0a20202020202020202020747970653a20737472696e670d0a20202020637265
+61746550617950616c466f72417574686f72697a65416e64436170747572655472616e73616374
+696f6e526573706f6e633a0d0a202020202020747970653a206f626a6563740d0a202020202020
+70726f706572746965733a0d0a20202020202020207472616e73616374696f6e526573706f6e73
+653a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f70617950
+61795472616e73616374696f6e526573706f6e7365270d0a20202020202020206d657373616765
+733a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f6d657373
+616765734f665061796d656e745472616e73616374696f6e526573706f6e736527200d0a202020
+206372656469744142616e6b4163636f756e74526573706f6e73653a0d0a202020202020747970
+653a206f626a6563740d0a20202020202070726f706572746965733a0d0a202020202020202074
+72616e73616374696f6e526573706f6e73653a0d0a20202020202020202020247265663a202723
+2f646566696e6974696f6e732f6d6573736167654f665061796d656e745472616e73616374696f
+6e526573706f6e7365270d0a202020202020202072656649643a0d0a2020202020202020202074
+7970653a20737472696e6720200d0a20202020202020206d657373616765733a0d0a2020202020
+2020202020247265663a2027232f646566696e6974696f6e732f6d657373616765734f66506179
+6d656e745472616e73616374696f6e526573706f6e7365270d0a202020206d6573736167654f66
+5061796d656e745472616e73616374696f6e526573706f6e73653a2020202020200d0a20202020
+2020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a20202020
+20202020726573706f6e7365436f64653a0d0a20202020202020202020747970653a2073747269
+6e670d0a202020202020202061757468436f64653a0d0a20202020202020202020747970653a20
+737472696e670d0a2020202020202020617673526573756c74436f64653a0d0a20202020202020
+202020747970653a20737472696e670d0a2020202020202020637676526573756c74436f64653a
+0d0a20202020202020202020747970653a20737472696e670d0a20202020202020206361767652
+6573756c74436f64653a0d0a20202020202020202020747970653a20737472696e670d0a202020
+20202020207472616e7349643a0d0a20202020202020202020747970653a20737472696e670d0a
+20202020202020207265665472616e7349443a0d0a20202020202020202020747970653a207374
+72696e6720202020202020200d0a20202020202020207472616e73486173683a0d0a2020202020
+2020202020747970653a20737472696e670d0a202020202020202074657374526571756573743a
+0d0a20202020202020202020747970653a20737472696e670d0a20202020202020206163636f75
+6e744e756d6265723a0d0a20202020202020202020747970653a20737472696e670d0a20202020
+202020206163636f756e74547970653a0d0a20202020202020202020747970653a20737472696e
+670d0a20202020202020206572726f72733a0d0a20202020202020202020747970653a20617272
+61790d0a202020202020202020206974656d733a0d0a202020202020202020202020247265663a
+2027232f646566696e6974696f6e732f6572726f7273270d0a202020206572726f72733a0d0a20
+2020202020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a20
+202020202020206572726f72436f64653a0d0a20202020202020202020747970653a2073747269
+6e670d0a20202020202020206572726f72546578743a0d0a20202020202020202020747970653a
+20737472696e670d0a202020202020202020206974656d733a0d0a202020202020202020202020
+247265663a2027232f646566696e6974696f6e732f6d657373616765732720202020200d0a2020
+202063726561746547657444657461696c73526573706f6e63653a0d0a20202020202074797065
+3a206f626a6563740d0a20202020202070726f706572746965733a0d0a20202020202020207472
+616e73616374696f6e526573706f6e73653a0d0a20202020202020202020247265663a2027232f
+646566696e6974696f6e732f67657444657461696c735472616e73616374696f6e526573706f6e
+7365270d0a20202020202020206d657373616765733a0d0a20202020202020202020247265663a
+2027232f646566696e6974696f6e732f6d657373616765734f665061796d656e745472616e7361
+6374696f6e526573706f6e7365270d0a2020202067657444657461696c735472616e7361637469
+6f6e526573706f6e73653a2020202020200d0a202020202020747970653a206f626a6563740d0a
+20202020202070726f706572746965733a0d0a2020202020202020726573706f6e7365436f6465
+3a0d0a20202020202020202020747970653a20737472696e670d0a202020202020202061757468
+436f64653a0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020
+617673526573756c74436f64653a0d0a20202020202020202020747970653a20737472696e670d
+0a2020202020202020637676526573756c74436f64653a0d0a2020202020202020202074797065
+3a20737472696e670d0a202020202020202063617676526573756c74436f64653a0d0a20202020
+202020202020747970653a20737472696e670d0a20202020202020207472616e7349643a0d0a20
+202020202020202020747970653a20737472696e670d0a20202020202020207265665472616e73
+49443a0d0a20202020202020202020747970653a20737472696e6720202020202020200d0a2020
+2020202020207472616e73486173683a0d0a20202020202020202020747970653a20737472696e
+670d0a202020202020202074657374526571756573743a0d0a2020202020202020202074797065
+3a20737472696e670d0a20202020202020206163636f756e744e756d6265723a0d0a2020202020
+2020202020747970653a20737472696e670d0a20202020202020206163636f756e74547970653a
+0d0a20202020202020202020747970653a20737472696e670d0a20202020202020206572726f72
+733a0d0a20202020202020202020747970653a2061727261790d0a202020202020202020206974
+656d733a0d0a202020202020202020202020247265663a2027232f646566696e6974696f6e732f
+6572726f7273270d0a202020202020202073686970546f3a0d0a20202020202020202020697465
+6d733a0d0a202020202020202020202020247265663a2027232f646566696e6974696f6e732f73
+686970546f270d0a20202020637265646974526573706f6e63653a0d0a20202020202020747970
+653a206f626a6563740d0a2020202020202070726f706572746965733a0d0a2020202020202020
+7472616e73616374696f6e526573706f6e73653a0d0a20202020202020202020247265663a2027
+232f646566696e6974696f6e732f6765746372656469745472616e73616374696f6e526573706f
+6e7365270d0a202020202020202072656649643a0d0a20202020202020202020747970653a2073
+7472696e6720200d0a20202020202020206d657373616765733a0d0a2020202020202020202024
+7265663a2027232f646566696e6974696f6e732f6d657373616765734f665061796d656e745472
+616e73616374696f6e526573706f6e7365270d0a202020206765746372656469745472616e7361
+6374696f6e526573706f6e73653a2020202020200d0a202020202020747970653a206f626a6563
+740d0a20202020202070726f706572746965733a0d0a2020202020202020726573706f6e736543
+6f64653a0d0a20202020202020202020747970653a20737472696e670d0a202020202020202074
+72616e7349643a0d0a20202020202020202020747970653a20737472696e670d0a202020202020
+20207265665472616e7349443a0d0a20202020202020202020747970653a20737472696e670d0a
+20202020202020207472616e73486173683a0d0a20202020202020202020747970653a20737472
+696e670d0a20202020202020206163636f756e74547970653a0d0a202020202020202020207479
+70653a20737472696e670d0a20202020202020206572726f72733a0d0a20202020202020202020
+747970653a2061727261790d0a202020202020202020206974656d733a0d0a2020202020202020
+20202020247265663a2027232f646566696e6974696f6e732f6572726f7273270d0a2020202066
+726175644d616e6167656d656e74526573706f6e63653a0d0a20202020202020747970653a206f
+626a6563740d0a2020202020202070726f706572746965733a0d0a20202020202020207472616e
+73616374696f6e526573706f6e73653a0d0a20202020202020202020247265663a2027232f6465
+66696e6974696f6e732f67657466726175644d616e6167656d656e74526573706f6e6365526573
+706f6e7365270d0a202020202020202072656649643a0d0a20202020202020202020747970653a
+20737472696e6720200d0a20202020202020206d657373616765733a0d0a202020202020202020
+20247265663a2027232f646566696e6974696f6e732f6d657373616765734f665061796d656e74
+5472616e73616374696f6e526573706f6e7365270d0a2020202067657466726175644d616e6167
+656d656e74526573706f6e6365526573706f6e73653a2020202020200d0a202020202020747970
+653a206f626a6563740d0a20202020202070726f706572746965733a0d0a202020202020202072
+6573706f6e7365436f64653a0d0a20202020202020202020747970653a20737472696e670d0a20
+2020202020202061757468436f64653a0d0a20202020202020202020747970653a20737472696e
+670d0a2020202020202020617673526573756c74436f64653a0d0a202020202020202020207479
+70653a20737472696e670d0a2020202020202020637676526573756c74436f64653a0d0a202020
+20202020202020747970653a20737472696e670d0a202020202020202063617676526573756c74
+436f64653a0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020
+7472616e7349643a0d0a20202020202020202020747970653a20737472696e670d0a2020202020
+2020207265665472616e7349443a0d0a20202020202020202020747970653a20737472696e6720
+202020202020200d0a20202020202020207472616e73486173683a0d0a20202020202020202020
+747970653a20737472696e670d0a20202020202020206163636f756e744e756d6265723a0d0a20
+202020202020202020747970653a20737472696e670d0a20202020202020206163636f756e7454
+7970653a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020206d
+657373616765733a0d0a20202020202020202020747970653a2061727261790d0a202020202020
+202020206974656d733a0d0a202020202020202020202020247265663a2027232f646566696e69
+74696f6e732f6d65737361676573466f7250617950616c270d0a20202020202020207472616e73
+48617368536861323a0d0a20202020202020202020747970653a20737472696e670d0a20202020
+637265617465537562736372697074696f6e526573706f6e63653a0d0a20202020202020747970
+653a206f626a6563740d0a2020202020202070726f706572746965733a0d0a2020202020202020
+737562736372697074696f6e49643a0d0a20202020202020202020747970653a20737472696e67
+0d0a202020202020202070726f66696c653a0d0a20202020202020202020247265663a2027232f
+646566696e6974696f6e732f70726f66696c65466f72437265617465537562736372697074696f
+6e526573706f6e7365270d0a202020202020202072656649643a0d0a2020202020202020202074
+7970653a20737472696e6720200d0a20202020202020206d657373616765733a0d0a2020202020
+2020202020247265663a2027232f646566696e6974696f6e732f6d657373616765734f66506179
+6d656e745472616e73616374696f6e526573706f6e7365270d0a2020202070726f66696c65466f
+72437265617465537562736372697074696f6e526573706f6e73653a0d0a202020202020747970
+653a206f626a6563740d0a20202020202070726f706572746965733a0d0a202020202020202063
+7573746f6d657250726f66696c6549643a0d0a20202020202020202020747970653a2073747269
+6e670d0a2020202020202020637573746f6d65725061796d656e7450726f66696c6549643a0d0a
+20202020202020202020747970653a20737472696e670d0a2020202020202020637573746f6d65
+724164647265737349643a0d0a20202020202020202020747970653a20737472696e670d0a2020
+202063726561746541537562736372697074696f6e46726f6d437573746f6d657250726f66696c
+65526573706f6e63653a200d0a20202020202020747970653a206f626a6563740d0a2020202020
+202070726f706572746965733a0d0a2020202020202020737562736372697074696f6e49643a0d
+0a20202020202020202020747970653a20737472696e670d0a202020202020202070726f66696c
+653a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f70726f66
+696c65466f72437265617465537562736372697074696f6e526573706f6e7365270d0a20202020
+2020202072656649643a0d0a20202020202020202020747970653a20737472696e6720200d0a20
+202020202020206d657373616765733a0d0a20202020202020202020247265663a2027232f6465
+66696e6974696f6e732f6d657373616765734f665061796d656e745472616e73616374696f6e52
+6573706f6e7365270d0a20202020676574537562736372697074696f6e526573706f6e63653a0d
+0a20202020202020747970653a206f626a6563740d0a2020202020202070726f70657274696573
+3a0d0a2020202020202020415242476574537562736372697074696f6e526573706f6e73653a0d
+0a20202020202020202020247265663a2027232f646566696e6974696f6e732f41524247657453
+7562736372697074696f6e526573706f6e7365270d0a2020202041524247657453756273637269
+7074696f6e526573706f6e73653a0d0a20202020202020747970653a206f626a6563740d0a2020
+202020202070726f706572746965733a0d0a202020202020202072656649643a0d0a2020202020
+2020202020747970653a20737472696e670d0a20202020202020206d657373616765733a0d0a20
+202020202020202020247265663a2027232f646566696e6974696f6e732f6d6573736167657346
+6f72476574537562736372697074696f6e526573706f6e7365270d0a2020202020202020737562
+736372697074696f6e3a0d0a20202020202020202020247265663a2027232f646566696e697469
+6f6e732f737562736372697074696f6e466f72476574537562736372697074696f6e270d0a2020
+20206d65737361676573466f72476574537562736372697074696f6e526573706f6e73653a0d0a
+2020202020202020747970653a206f626a6563740d0a202020202020202070726f706572746965
+733a0d0a2020202020202020202072656649643a0d0a202020202020202020202020747970653a
+20737472696e670d0a202020202020202020206d6573736167653a0d0a20202020202020202020
+2020247265663a2027232f646566696e6974696f6e732f6d657373616765272020202020200d0a
+20202020737562736372697074696f6e466f72476574537562736372697074696f6e3a0d0a2020
+2020202020747970653a206f626a6563740d0a2020202020202070726f706572746965733a0d0a
+20202020202020206e616d653a0d0a20202020202020202020747970653a20737472696e670d0a
+20202020202020207061796d656e745363686564756c653a0d0a20202020202020202020247265
+663a2027232f646566696e6974696f6e732f7061796d656e745363686564756c65496e74657276
+616c270d0a2020202020202020616d6f756e743a0d0a20202020202020202020747970653a2073
+7472696e67200d0a2020202020202020747269616c416d6f756e743a0d0a202020202020202020
+20747970653a20737472696e6720200d0a20202020202020207374617475733a0d0a2020202020
+2020202020747970653a20737472696e670d0a202020202020202070726f66696c653a0d0a2020
+2020202020202020247265663a2027232f646566696e6974696f6e732f70726f66696c65466f72
+476574537562736372697074696f6e270d0a20202020202020206172625472616e73616374696f
+6e733a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f617262
+5472616e73616374696f6e73270d0a20202020676574536574746c6542617463684c6973745265
+73706f6e63653a0d0a2020202020202070726f706572746965733a0d0a20202020202020206261
+7463684c6973743a0d0a20202020202020202020747970653a2061727261790d0a202020202020
+202020206974656d733a0d0a2020202020202020202020202020247265663a2027232f64656669
+6e6974696f6e732f62617463686573270d0a20202020202020206d657373616765733a0d0a2020
+2020202020202020247265663a2027232f646566696e6974696f6e732f6d657373616765734f66
+5061796d656e745472616e73616374696f6e526573706f6e736527200d0a202020206261746368
+65733a0d0a20202020202020747970653a206f626a6563740d0a2020202020202070726f706572
+746965733a0d0a2020202020202020626174636849643a0d0a2020202020202020202074797065
+3a20737472696e670d0a2020202020202020736574746c656d656e7454696d655554433a0d0a20
+202020202020202020747970653a20737472696e670d0a2020202020202020736574746c656d65
+6e7454696d655554435370656369666965643a0d0a20202020202020202020747970653a207374
+72696e670d0a2020202020202020736574746c656d656e7454696d654c6f63616c3a0d0a202020
+20202020202020747970653a20737472696e670d0a2020202020202020736574746c656d656e74
+54696d654c6f63616c5370656369666965643a0d0a20202020202020202020747970653a207374
+72696e670d0a2020202020202020736574746c656d656e7453746174653a0d0a20202020202020
+202020747970653a20737472696e670d0a20202020202020207061796d656e744d6574686f643a
+0d0a20202020202020202020747970653a20737472696e670d0a202020206765745472616e7361
+6374696f6e4c697374526573706f6e73653a0d0a20202020202020747970653a206f626a656374
+0d0a2020202020202070726f706572746965733a0d0a202020202020202020206765745472616e
+73616374696f6e4c697374526573706f6e73653a0d0a2020202020202020202020247265663a20
+27232f646566696e6974696f6e732f6765745472616e73616374696f6e4c697374526573706f6e
+736573270d0a20202020202020202020746f74616c4e756d496e526573756c745365743a0d0a20
+2020202020202020202020747970653a20737472696e6720200d0a202020206765745472616e73
+616374696f6e4c697374526573706f6e7365733a0d0a20202020202020747970653a206f626a65
+63740d0a2020202020202070726f706572746965733a0d0a202020202020202020202d786d6c6e
+733a0d0a202020202020202020202020747970653a20737472696e670d0a202020202020202020
+206d657373616765733a0d0a2020202020202020202020247265663a2027232f646566696e6974
+696f6e732f6d657373616765466f724765745472616e73616374696f6e4c697374270d0a202020
+202020202020207472616e73616374696f6e733a0d0a2020202020202020202020247265663a20
+27232f646566696e6974696f6e732f7472616e73616374696f6e73466f725472616e7361637469
+6f6e5265706f7274696e67270d0a202020206d657373616765466f724765745472616e73616374
+696f6e4c6973743a0d0a20202020202020747970653a206f626a6563740d0a2020202020202070
+726f706572746965733a0d0a20202020202020202020726573756c74436f64653a0d0a20202020
+2020202020202020747970653a20737472696e67200d0a202020202020202020206d6573736167
+653a0d0a2020202020202020202020247265663a2027232f646566696e6974696f6e732f6d6573
+736167657373466f724765745472616e73616374696f6e4c697374270d0a202020206d65737361
+67657373466f724765745472616e73616374696f6e4c6973743a0d0a20202020202070726f7065
+72746965733a0d0a2020202020202020636f64653a0d0a20202020202020202020747970653a20
+737472696e670d0a2020202020202020746578743a0d0a20202020202020202020747970653a20
+737472696e670d0a202020207472616e73616374696f6e73466f725472616e73616374696f6e52
+65706f7274696e673a0d0a20202020202020747970653a206f626a6563740d0a20202020202020
+70726f706572746965733a0d0a202020202020202020207472616e73616374696f6e3a0d0a2020
+20202020202020202020747970653a2061727261790d0a2020202020202020202020206974656d
+733a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f
+7472616e73616374696f6e466f725472616e73616374696f6e5265706f7274696e67270d0a2020
+20207472616e73616374696f6e466f725472616e73616374696f6e5265706f7274696e673a2020
+20202020200d0a202020202020747970653a206f626a6563740d0a20202020202070726f706572
+746965733a0d0a20202020202020207472616e73616374696f6e3a0d0a20202020202020202020
+247265663a2027232f646566696e6974696f6e732f7472616e73616374696f6e73526573706f6e
+7365466f725472616e73616374696f6e5265706f7274696e67270d0a2020202020202020747261
+6e7349643a0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020
+7375626d697454696d655554433a0d0a20202020202020202020747970653a20737472696e670d
+0a20202020202020207375626d697454696d654c6f63616c3a0d0a202020202020202020207479
+70653a20737472696e670d0a20202020202020207472616e73616374696f6e5374617475733a0d
+0a20202020202020202020747970653a20737472696e670d0a2020202020202020696e766f6963
+653a0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020666972
+73744e616d653a0d0a20202020202020202020747970653a20737472696e670d0a202020202020
+20206c6173744e616d653a0d0a20202020202020202020747970653a20737472696e67200d0a20
+20202020202020616d6f756e743a0d0a20202020202020202020747970653a20737472696e6720
+20200d0a20202020202020206163636f756e74547970653a0d0a20202020202020202020747970
+653a20737472696e670d0a20202020202020206163636f756e744e756d6265723a0d0a20202020
+202020202020747970653a20737472696e670d0a20202020202020206d61726b6574547970653a
+0d0a20202020202020202020747970653a20737472696e67200d0a202020202020202070726f64
+7563743a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020206d
+6f62696c6544657669636549643a0d0a20202020202020202020747970653a20737472696e6720
+20200d0a202020207472616e73616374696f6e73526573706f6e7365466f725472616e73616374
+696f6e5265706f7274696e673a0d0a20202020202070726f706572746965733a0d0a2020202020
+2020207472616e7349643a0d0a20202020202020202020747970653a20737472696e670d0a2020
+2020202020207375626d697454696d655554433a0d0a20202020202020202020747970653a2073
+7472696e670d0a20202020202020207375626d697454696d654c6f63616c3a0d0a202020202020
+20202020747970653a20737472696e670d0a20202020202020207472616e73616374696f6e5374
+617475733a0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020
+696e766f6963654e756d6265723a0d0a20202020202020202020747970653a20737472696e670d
+0a202020202020202066697273744e616d653a0d0a20202020202020202020747970653a207374
+72696e670d0a20202020202020206c6173744e616d653a0d0a2020202020202020202074797065
+3a20737472696e67200d0a2020202020202020616d6f756e743a0d0a2020202020202020202074
+7970653a20737472696e672020200d0a20202020202020206163636f756e74547970653a0d0a20
+202020202020202020747970653a20737472696e670d0a20202020202020206163636f756e744e
+756d6265723a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020
+20736574746c65416d6f756e743a0d0a20202020202020202020747970653a20737472696e670d
+0a2020202020202020737562736372697074696f6e3a0d0a20202020202020202020247265663a
+2027232f646566696e6974696f6e732f737562736372697074696f6e466f724765745472616e73
+616374696f6e4c697374270d0a202020202020202070726f66696c653a0d0a2020202020202020
+202020247265663a2027232f646566696e6974696f6e732f70726f66696c65466f724765745472
+616e73616374696f6e4c69737427200d0a20202020737562736372697074696f6e466f72476574
+5472616e73616374696f6e4c6973743a0d0a20202020202020747970653a206f626a6563740d0a
+2020202020202070726f706572746965733a0d0a202020202020202069643a0d0a202020202020
+20202020747970653a20737472696e670d0a20202020202020207061794e756d3a0d0a20202020
+202020202020747970653a20737472696e67200d0a2020202070726f66696c65466f7247657454
+72616e73616374696f6e4c6973743a0d0a20202020202020747970653a206f626a6563740d0a20
+20202020202070726f706572746965733a0d0a2020202020202020637573746f6d657250726f66
+696c6549643a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020
+20637573746f6d65725061796d656e7450726f66696c6549643a0d0a2020202020202020202074
+7970653a20737472696e6720200d0a20202020676574556e736574746c65645472616e73616374
+696f6e4c697374526573706f6e73653a0d0a20202020202020747970653a206f626a6563740d0a
+2020202020202070726f706572746965733a0d0a202020202020202020207472616e7361637469
+6f6e3a0d0a202020202020202020202020747970653a2061727261790d0a202020202020202020
+2020206974656d733a0d0a2020202020202020202020202020247265663a2027232f646566696e
+6974696f6e732f7472616e73616374696f6e466f72556e736574746c65645472616e7361637469
+6f6e5265706f7274696e67270d0a202020202020202020207472616e7349643a0d0a2020202020
+20202020202020747970653a20737472696e670d0a202020202020202020207375626d69745469
+6d655554433a0d0a202020202020202020202020747970653a20737472696e670d0a2020202020
+20202020207375626d697454696d654c6f63616c3a0d0a20202020202020202020202074797065
+3a20737472696e670d0a202020202020202020207472616e73616374696f6e5374617475733a0d
+0a202020202020202020202020747970653a20737472696e670d0a20202020202020202020696e
+766f6963654e756d6265723a0d0a202020202020202020202020747970653a20737472696e670d
+0a2020202020202020202066697273744e616d653a0d0a20202020202020202020202074797065
+3a20737472696e670d0a202020202020202020206c6173744e616d653a0d0a2020202020202020
+20202020747970653a20737472696e67200d0a202020202020202020206163636f756e74547970
+653a0d0a202020202020202020202020747970653a20737472696e670d0a202020202020202020
+206163636f756e744e756d6265723a0d0a202020202020202020202020747970653a2073747269
+6e670d0a20202020202020202020736574746c65416d6f756e743a0d0a20202020202020202020
+2020747970653a20737472696e6720202020200d0a202020202020202020206d61726b65745479
+70653a0d0a202020202020202020202020747970653a20737472696e67200d0a20202020202020
+20202070726f647563743a0d0a202020202020202020202020747970653a20737472696e670d0a
+2020202020202020202068617352657475726e65644974656d735370656369666965643a0d0a20
+2020202020202020202020747970653a20737472696e67200d0a20202020202020202020746f74
+616c4e756d496e526573756c745365743a0d0a202020202020202020202020747970653a207374
+72696e672020200d0a202020202020202020206d657373616765733a0d0a202020202020202020
+2020202020247265663a2027232f646566696e6974696f6e732f6d657373616765734f66506179
+6d656e745472616e73616374696f6e526573706f6e7365272020200d0a202020207472616e7361
+6374696f6e466f72556e736574746c65645472616e73616374696f6e5265706f7274696e673a20
+2020202020200d0a202020202020747970653a206f626a6563740d0a20202020202070726f7065
+72746965733a0d0a20202020202020207472616e7349643a0d0a20202020202020202020747970
+653a20737472696e670d0a20202020202020207375626d697454696d655554433a0d0a20202020
+202020202020747970653a20737472696e670d0a20202020202020207375626d697454696d654c
+6f63616c3a0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020
+7472616e73616374696f6e5374617475733a0d0a20202020202020202020747970653a20737472
+696e670d0a2020202020202020696e766f6963653a0d0a20202020202020202020747970653a20
+737472696e670d0a202020202020202066697273744e616d653a0d0a2020202020202020202074
+7970653a20737472696e670d0a20202020202020206c6173744e616d653a0d0a20202020202020
+202020747970653a20737472696e67200d0a2020202020202020616d6f756e743a0d0a20202020
+202020202020747970653a20737472696e672020200d0a20202020202020206163636f756e7454
+7970653a0d0a20202020202020202020747970653a20737472696e670d0a202020202020202061
+63636f756e744e756d6265723a0d0a20202020202020202020747970653a20737472696e670d0a
+20202020202020206d61726b6574547970653a0d0a20202020202020202020747970653a207374
+72696e67200d0a202020202020202070726f647563743a0d0a2020202020202020202074797065
+3a20737472696e670d0a202020202020202070726f66696c653a0d0a2020202020202020202020
+247265663a2027232f646566696e6974696f6e732f70726f66696c65466f724765745472616e73
+616374696f6e4c697374270d0a2020202070726f66696c65466f72476574537562736372697074
+696f6e3a0d0a20202020202020747970653a206f626a6563740d0a2020202020202070726f7065
+72746965733a0d0a20202020202020206d65726368616e74437573746f6d657249643a0d0a2020
+2020202020202020747970653a20737472696e670d0a2020202020202020646573637269707469
+6f6e3a0d0a20202020202020202020747970653a20737472696e67200d0a202020202020202065
+6d61696c3a0d0a20202020202020202020747970653a20737472696e6720200d0a202020202020
+2020637573746f6d657250726f66696c6549643a0d0a20202020202020202020747970653a2073
+7472696e670d0a20202020202020207061796d656e7450726f66696c653a0d0a20202020202020
+202020247265663a2027232f646566696e6974696f6e732f7061796d656e7450726f66696c6527
+200d0a20202020202020207368697070696e6750726f66696c653a20200d0a2020202020202020
+2020247265663a2027232f646566696e6974696f6e732f7368697070696e6750726f66696c6527
+0d0a202020207061796d656e7450726f66696c653a0d0a20202020202020747970653a206f626a
+6563740d0a2020202020202070726f706572746965733a0d0a2020202020202020637573746f6d
+6572547970653a0d0a20202020202020202020747970653a20737472696e670d0a202020202020
+202062696c6c546f3a20200d0a20202020202020202020247265663a2027232f646566696e6974
+696f6e732f62696c6c546f270d0a2020202020202020637573746f6d65725061796d656e745072
+6f66696c6549643a0d0a20202020202020202020747970653a20737472696e670d0a2020202020
+2020207061796d656e743a20200d0a20202020202020202020247265663a2027232f646566696e
+6974696f6e732f63726564697443617264466f72476574537562736372697074696f6e270d0a20
+20202063726564697443617264466f72476574537562736372697074696f6e3a0d0a2020202020
+2020747970653a206f626a6563740d0a2020202020202070726f706572746965733a0d0a202020
+2020202020637265646974436172643a20200d0a20202020202020202020247265663a2027232f
+646566696e6974696f6e732f63726564697443617264466f72526563757272696e6742696c6c69
+6e67270d0a202020207368697070696e6750726f66696c653a0d0a20202020202020747970653a
+206f626a6563740d0a2020202020202070726f706572746965733a2020202020200d0a20202020
+2020202066697273744e616d653a0d0a20202020202020202020747970653a20737472696e670d
+0a20202020202020206c6173744e616d653a0d0a20202020202020202020747970653a20737472
+696e670d0a2020202020202020636f6d70616e793a0d0a20202020202020202020747970653a20
+737472696e670d0a2020202020202020616464726573733a0d0a20202020202020202020747970
+653a20737472696e670d0a2020202020202020636974793a0d0a20202020202020202020747970
+653a20737472696e670d0a202020202020202073746174653a0d0a202020202020202020207479
+70653a20737472696e670d0a20202020202020207a69703a0d0a20202020202020202020747970
+653a20696e7465676572200d0a2020202020202020636f756e7472793a0d0a2020202020202020
+2020747970653a20737472696e670d0a202020202020202070686f6e654e756d6265723a0d0a20
+202020202020202020747970653a20737472696e670d0a2020202020202020637573746f6d6572
+4164647265737349643a0d0a20202020202020202020747970653a20737472696e67200d0a2020
+20206172625472616e73616374696f6e733a0d0a20202020202020747970653a206f626a656374
+0d0a2020202020202070726f706572746965733a0d0a2020202020202020206172625472616e73
+616374696f6e733a20200d0a20202020202020202020247265663a2027232f646566696e697469
+6f6e732f6172625472616e73616374696f6e270d0a202020206172625472616e73616374696f6e
+3a0d0a20202020202020747970653a206f626a6563740d0a2020202020202070726f7065727469
+65733a2020202020200d0a2020202020202020726573706f6e73653a0d0a202020202020202020
+20747970653a20737472696e670d0a20202020202020207375626d697454696d655554433a0d0a
+20202020202020202020747970653a20737472696e670d0a20202020202020207061794e756d3a
+0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020617474656d
+70744e756d3a0d0a20202020202020202020747970653a20737472696e670d0a20202020676574
+537562736372697074696f6e537461747573526573706f6e63653a0d0a20202020202020747970
+653a206f626a6563740d0a2020202020202070726f706572746965733a2020200d0a2020202020
+202020206e6f74653a0d0a202020202020202020202020747970653a20737472696e6720200d0a
+20202020202020202072656649643a0d0a202020202020202020202020747970653a2073747269
+6e6720200d0a2020202020202020206d657373616765733a0d0a20202020202020202020202024
+7265663a2027232f646566696e6974696f6e732f6d657373616765734f665061796d656e745472
+616e73616374696f6e526573706f6e7365270d0a20202020676574414c6973744f665375627363
+72697074696f6e73526573706f6e63653a0d0a20202020202020747970653a206f626a6563740d
+0a2020202020202070726f706572746965733a0d0a202020202020202020746f74616c4e756d49
+6e526573756c745365743a0d0a202020202020202020202020747970653a20737472696e672020
+0d0a202020202020202020746f74616c4e756d496e526573756c74536574537065636966696564
+3a0d0a202020202020202020202020747970653a20737472696e67200d0a202020202020202020
+737562736372697074696f6e44657461696c733a0d0a202020202020202020202020747970653a
+2061727261790d0a2020202020202020202020206974656d733a0d0a2020202020202020202020
+202020247265663a2027232f646566696e6974696f6e732f737562736372697074696f6e446574
+61696c73270d0a20202020202020202072656649643a0d0a202020202020202020202020747970
+653a20737472696e6720200d0a2020202020202020206d657373616765733a0d0a202020202020
+202020202020247265663a2027232f646566696e6974696f6e732f6d657373616765734f665061
+796d656e745472616e73616374696f6e526573706f6e7365270d0a202020207375627363726970
+74696f6e44657461696c733a0d0a20202020202020747970653a206f626a6563740d0a20202020
+20202070726f706572746965733a2020202020200d0a202020202020202069643a0d0a20202020
+202020202020747970653a20737472696e670d0a20202020202020206e616d653a0d0a20202020
+202020202020747970653a20737472696e670d0a20202020202020207374617475733a0d0a2020
+2020202020202020747970653a20737472696e670d0a202020202020202063726561746554696d
+655374616d705554433a0d0a20202020202020202020747970653a20737472696e670d0a202020
+202020202066697273744e616d653a0d0a20202020202020202020747970653a20737472696e67
+0d0a20202020202020206c6173744e616d653a0d0a20202020202020202020747970653a207374
+72696e670d0a2020202020202020746f74616c4f6363757272656e6365733a0d0a202020202020
+20202020747970653a20737472696e670d0a2020202020202020706173744f6363757272656e63
+65733a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020207061
+796d656e744d6574686f643a0d0a20202020202020202020747970653a20737472696e670d0a20
+202020202020206163636f756e744e756d6265723a0d0a20202020202020202020747970653a20
+737472696e670d0a2020202020202020696e766f6963653a0d0a20202020202020202020747970
+653a20737472696e670d0a2020202020202020616d6f756e743a0d0a2020202020202020202074
+7970653a20737472696e67200d0a202020202020202063757272656e6379436f64653a0d0a2020
+2020202020202020747970653a20737472696e672020200d0a2020202063726561746543616e63
+656c537562736372697074696f6e526573706f6e63653a0d0a20202020202020747970653a206f
+626a6563740d0a2020202020202070726f706572746965733a0d0a202020202020202020726566
+49643a0d0a202020202020202020202020747970653a20737472696e6720200d0a202020202020
+2020206d657373616765733a0d0a202020202020202020202020247265663a2027232f64656669
+6e6974696f6e732f6d657373616765734f665061796d656e745472616e73616374696f6e526573
+706f6e7365270d0a202020206765745472616e73616374696f6e44657461696c73526573706f6e
+73653a0d0a20202020202020747970653a206f626a6563740d0a2020202020202070726f706572
+746965733a0d0a202020202020202020206765745472616e73616374696f6e44657461696c7352
+6573706f6e73653a0d0a2020202020202020202020247265663a2027232f646566696e6974696f
+6e732f6765745472616e73616374696f6e44657461696c73526573706f6e736573270d0a202020
+206765745472616e73616374696f6e44657461696c73526573706f6e7365733a0d0a2020202020
+2020747970653a206f626a6563740d0a2020202020202070726f706572746965733a0d0a202020
+202020202020202d786d6c6e733a0d0a202020202020202020202020747970653a20737472696e
+670d0a202020202020202020202d786d6c6e733a7873643a0d0a20202020202020202020202074
+7970653a20737472696e670d0a202020202020202020202d786d6c6e733a7873693a0d0a202020
+202020202020202020747970653a20737472696e6720200d0a202020202020202020206d657373
+616765733a0d0a202020202020202020202020247265663a2027232f646566696e6974696f6e73
+2f6d657373616765466f724765745472616e73616374696f6e4c697374270d0a20202020202020
+2020207472616e73616374696f6e733a0d0a202020202020202020202020247265663a2027232f
+646566696e6974696f6e732f7472616e73616374696f6e466f726765745472616e73616374696f
+6e44657461696c73526573706f6e736573270d0a2020202020202020202062617463683a0d0a20
+2020202020202020202020247265663a2027232f646566696e6974696f6e732f6261746368466f
+724765745472616e73616374696f6e44657461696c73270d0a202020202020202020206f726465
+723a0d0a202020202020202020202020247265663a2027232f646566696e6974696f6e732f6f72
+646572270d0a20202020202020202020726571756573746564416d6f756e743a0d0a2020202020
+20202020202020747970653a20737472696e670d0a2020202020202020202061757468416d6f75
+6e743a0d0a202020202020202020202020747970653a20737472696e670d0a2020202020202020
+2020736574746c65416d6f756e743a0d0a202020202020202020202020747970653a2073747269
+6e670d0a202020202020202020207461783a0d0a202020202020202020202020247265663a2027
+232f646566696e6974696f6e732f746178466f724765745472616e73616374696f6e4465746169
+6c73270d0a202020202020202020207368697070696e673a0d0a20202020202020202020202024
+7265663a2027232f646566696e6974696f6e732f7368697070696e67466f724765745472616e73
+616374696f6e44657461696c73270d0a20202020202020202020647574793a0d0a202020202020
+202020202020247265663a2027232f646566696e6974696f6e732f64757479466f724765745472
+616e73616374696f6e44657461696c73270d0a202020202020202020206c696e654974656d733a
+0d0a202020202020202020202020247265663a2027232f646566696e6974696f6e732f6c696e65
+4974656d73466f724765745472616e73616374696f6e44657461696c73270d0a20202020202020
+2020207072657061696442616c616e636552656d61696e696e673a0d0a20202020202020202020
+2020747970653a20737472696e670d0a202020202020202020207461784578656d70743a0d0a20
+2020202020202020202020747970653a20737472696e670d0a202020202020202020207061796d
+656e743a0d0a202020202020202020202020247265663a2027232f646566696e6974696f6e732f
+7061796d656e74466f724765745472616e73616374696f6e44657461696c73270d0a2020202020
+2020202020637573746f6d65723a20200d0a202020202020202020202020247265663a2027232f
+646566696e6974696f6e732f637573746f6d6572466f724765745472616e73616374696f6e4465
+7461696c73270d0a2020202020202020202062696c6c546f3a0d0a202020202020202020202020
+247265663a2027232f646566696e6974696f6e732f62696c6c546f466f724765745472616e7361
+6374696f6e44657461696c73270d0a2020202020202020202073686970546f3a0d0a2020202020
+20202020202020247265663a2027232f646566696e6974696f6e732f73686970546f466f724765
+745472616e73616374696f6e44657461696c73270d0a2020202020202020202072656375727269
+6e6742696c6c696e673a0d0a202020202020202020202020747970653a20737472696e670d0a20
+202020202020202020637573746f6d657249503a0d0a202020202020202020202020747970653a
+20737472696e670d0a20202020202020202020737562736372697074696f6e3a0d0a2020202020
+20202020202020247265663a2027232f646566696e6974696f6e732f737562736372697074696f
+6e466f724765745472616e73616374696f6e44657461696c7327200d0a20202020202020202020
+736f6c7574696f6e3a20200d0a202020202020202020202020247265663a2027232f646566696e
+6974696f6e732f736f6c7574696f6e27200d0a202020202020202020206d6f62696c6544657669
+636549643a0d0a202020202020202020202020747970653a20737472696e670d0a202020202020
+2020202070726f66696c653a20200d0a202020202020202020202020247265663a2027232f6465
+66696e6974696f6e732f70726f66696c65466f724765745472616e73616374696f6e4465746169
+6c73270d0a202020202020202020206e6574776f726b5472616e7349643a0d0a20202020202020
+2020202020747970653a20737472696e670d0a202020202020202020206f726967696e616c4e65
+74776f726b5472616e7349643a0d0a202020202020202020202020747970653a20737472696e67
+0d0a202020202020202020206f726967696e616c41757468416d6f756e743a0d0a202020202020
+202020202020747970653a20737472696e670d0a20202020202020202020617574686f72697a61
+74696f6e496e64696361746f723a0d0a202020202020202020202020747970653a20737472696e
+6720200d0a202020207472616e73616374696f6e466f726765745472616e73616374696f6e4465
+7461696c73526573706f6e7365733a0d0a202020202020747970653a206f626a6563740d0a2020
+2020202070726f706572746965733a0d0a20202020202020207472616e7349643a0d0a20202020
+202020202020747970653a20737472696e670d0a20202020202020207265665472616e7349643a
+0d0a20202020202020202020747970653a20737472696e670d0a202020202020202073706c6974
+54656e64657249643a0d0a20202020202020202020747970653a20737472696e670d0a20202020
+202020207375626d697454696d655554433a0d0a20202020202020202020747970653a20737472
+696e670d0a20202020202020207375626d697454696d654c6f63616c3a0d0a2020202020202020
+2020747970653a20737472696e670d0a20202020202020207472616e73616374696f6e54797065
+3a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020207472616e
+73616374696f6e5374617475733a0d0a20202020202020202020747970653a20737472696e6720
+0d0a2020202020202020726573706f6e7365436f64653a0d0a2020202020202020202074797065
+3a20737472696e672020200d0a2020202020202020726573706f6e7365526561736f6e436f6465
+3a0d0a20202020202020202020747970653a20737472696e670d0a202020202020202072657370
+6f6e7365526561736f6e4465736372697074696f6e3a0d0a20202020202020202020747970653a
+20737472696e670d0a202020202020202061757468436f64653a0d0a2020202020202020202074
+7970653a20737472696e67200d0a2020202020202020415653526573706f6e73653a0d0a202020
+20202020202020747970653a20737472696e670d0a202020202020202063617264436f64655265
+73706f6e73653a0d0a20202020202020202020747970653a20737472696e670d0a202020202020
+202043415656526573706f6e73653a0d0a20202020202020202020747970653a20737472696e67
+200d0a202020202020202046445346696c746572416374696f6e3a0d0a20202020202020202020
+747970653a20737472696e6720200d0a202020202020202046445346696c746572733a0d0a2020
+202020202020202020247265663a2027232f646566696e6974696f6e732f46445346696c746572
+546f4765745472616e73616374696f6e270d0a2020202046445346696c746572546f4765745472
+616e73616374696f6e3a0d0a202020202020747970653a206f626a6563740d0a20202020202070
+726f706572746965733a0d0a20202020202020465346696c7465723a0d0a202020202020202020
+2020247265663a2027232f646566696e6974696f6e732f465346696c746572270d0a2020202046
+5346696c7465723a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f
+706572746965733a200d0a20202020202020206e616d653a0d0a20202020202020202020747970
+653a20737472696e670d0a2020202020202020616374696f6e3a0d0a2020202020202020202074
+7970653a20737472696e670d0a202020206261746368466f724765745472616e73616374696f6e
+44657461696c733a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f
+706572746965733a0d0a2020202020202020626174636849643a0d0a2020202020202020202074
+7970653a20737472696e670d0a2020202020202020736574746c656d656e7454696d655554433a
+0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020736574746c
+656d656e7454696d654c6f63616c3a0d0a20202020202020202020747970653a20737472696e67
+0d0a2020202020202020736574746c656d656e7453746174653a0d0a2020202020202020202074
+7970653a20737472696e670d0a202020206f726465723a0d0a202020202020747970653a206f62
+6a6563740d0a20202020202070726f706572746965733a0d0a2020202020202020696e766f6963
+654e756d6265723a0d0a20202020202020202020747970653a20737472696e670d0a2020202020
+2020206465736372697074696f6e3a0d0a20202020202020202020747970653a20737472696e67
+0d0a202020202020202070757263686173654f726465724e756d6265723a0d0a20202020202020
+202020747970653a20737472696e670d0a20202020746178466f724765745472616e7361637469
+6f6e44657461696c733a0d0a202020202020747970653a206f626a6563740d0a20202020202070
+726f706572746965733a0d0a2020202020202020616d6f756e743a0d0a20202020202020202020
+747970653a20737472696e670d0a20202020202020206e616d653a0d0a20202020202020202020
+747970653a20737472696e670d0a20202020202020206465736372697074696f6e3a0d0a202020
+20202020202020747970653a20737472696e670d0a202020207368697070696e67466f72476574
+5472616e73616374696f6e44657461696c733a0d0a202020202020747970653a206f626a656374
+0d0a20202020202070726f706572746965733a0d0a2020202020202020616d6f756e743a0d0a20
+202020202020202020747970653a20737472696e670d0a20202020202020206e616d653a0d0a20
+202020202020202020747970653a20737472696e670d0a20202020202020206465736372697074
+696f6e3a0d0a20202020202020202020747970653a20737472696e67200d0a2020202064757479
+466f724765745472616e73616374696f6e44657461696c733a0d0a202020202020747970653a20
+6f626a6563740d0a20202020202070726f706572746965733a0d0a2020202020202020616d6f75
+6e743a0d0a20202020202020202020747970653a20737472696e670d0a202020206c696e654974
+656d73466f724765745472616e73616374696f6e44657461696c733a0d0a202020202020747970
+653a206f626a6563740d0a20202020202070726f706572746965733a0d0a202020202020206c69
+6e654974656d3a0d0a202020202020202020747970653a2061727261790d0a2020202020202020
+206974656d733a0d0a2020202020202020202020247265663a2027232f646566696e6974696f6e
+732f6c696e654974656d466f724765745472616e73616374696f6e44657461696c73270d0a2020
+20206c696e654974656d466f724765745472616e73616374696f6e44657461696c733a0d0a2020
+20202020747970653a206f626a6563740d0a20202020202070726f706572746965733a200d0a20
+202020202020206974656d49643a0d0a20202020202020202020747970653a20737472696e670d
+0a20202020202020206e616d653a0d0a20202020202020202020747970653a20737472696e670d
+0a20202020202020206465736372697074696f6e3a0d0a20202020202020202020747970653a20
+737472696e670d0a20202020202020207175616e746974793a0d0a202020202020202020207479
+70653a20737472696e6720200d0a2020202020202020756e697450726963653a0d0a2020202020
+2020202020747970653a20737472696e670d0a202020202020202074617861626c653a0d0a2020
+2020202020202020747970653a20737472696e670d0a202020207061796d656e74466f72476574
+5472616e73616374696f6e44657461696c733a0d0a2020202020202020747970653a206f626a65
+63740d0a202020202020202070726f706572746965733a0d0a2020202020202020206372656469
+74436172643a0d0a2020202020202020202020247265663a2027232f646566696e6974696f6e73
+2f63726564697443617264466f724765745472616e73616374696f6e44657461696c73270d0a20
+20202063726564697443617264466f724765745472616e73616374696f6e44657461696c733a0d
+0a2020202020202020747970653a206f626a6563740d0a202020202020202070726f7065727469
+65733a0d0a20202020202020202020636172644e756d6265723a0d0a2020202020202020202020
+20747970653a20737472696e670d0a2020202020202020202065787069726174696f6e44617465
+3a0d0a202020202020202020202020747970653a20737472696e670d0a20202020202020202020
+63617264547970653a0d0a202020202020202020202020747970653a20737472696e670d0a2020
+2020637573746f6d6572466f724765745472616e73616374696f6e44657461696c733a0d0a2020
+202020202020747970653a206f626a6563740d0a202020202020202070726f706572746965733a
+0d0a20202020202020202020747970653a0d0a202020202020202020202020747970653a207374
+72696e670d0a2020202020202020202069643a0d0a202020202020202020202020747970653a20
+737472696e670d0a202020202020202020206d61696c3a0d0a2020202020202020202020207479
+70653a20737472696e670d0a2020202062696c6c546f466f724765745472616e73616374696f6e
+44657461696c733a0d0a2020202020202020747970653a206f626a6563740d0a20202020202020
+2070726f706572746965733a0d0a2020202020202020202066697273744e616d653a0d0a202020
+202020202020202020747970653a20737472696e670d0a202020202020202020206c6173744e61
+6d653a0d0a202020202020202020202020747970653a20737472696e670d0a2020202020202020
+2020616464726573733a0d0a202020202020202020202020747970653a20737472696e670d0a20
+202020202020202020636974793a0d0a202020202020202020202020747970653a20737472696e
+670d0a2020202020202020202073746174653a0d0a202020202020202020202020747970653a20
+737472696e670d0a202020202020202020207a69703a0d0a202020202020202020202020747970
+653a20737472696e670d0a20202020202020202020636f756e7472793a0d0a2020202020202020
+20202020747970653a20737472696e670d0a2020202020202020202070686f6e654e756d626572
+3a0d0a202020202020202020202020747970653a20737472696e670d0a2020202073686970546f
+466f724765745472616e73616374696f6e44657461696c733a0d0a202020202020202074797065
+3a206f626a6563740d0a202020202020202070726f706572746965733a0d0a2020202020202020
+202066697273744e616d653a0d0a202020202020202020202020747970653a20737472696e670d
+0a202020202020202020206c6173744e616d653a0d0a202020202020202020202020747970653a
+20737472696e670d0a20202020202020202020616464726573733a0d0a20202020202020202020
+2020747970653a20737472696e670d0a20202020202020202020636974793a0d0a202020202020
+202020202020747970653a20737472696e670d0a2020202020202020202073746174653a0d0a20
+2020202020202020202020747970653a20737472696e670d0a202020202020202020207a69703a
+0d0a202020202020202020202020747970653a20737472696e670d0a2020202020202020202063
+6f756e7472793a0d0a202020202020202020202020747970653a20737472696e670d0a20202020
+737562736372697074696f6e466f724765745472616e73616374696f6e44657461696c733a0d0a
+2020202020202020747970653a206f626a6563740d0a202020202020202070726f706572746965
+733a0d0a2020202020202020202069643a0d0a202020202020202020202020747970653a207374
+72696e670d0a202020202020202020207061794e756d3a0d0a2020202020202020202020207479
+70653a20737472696e670d0a202020202020202020206d61726b6574547970653a0d0a20202020
+2020202020202020747970653a20737472696e670d0a2020202020202020202070726f64756374
+3a0d0a202020202020202020202020747970653a20737472696e670d0a20202020202020202020
+72657475726e65644974656d733a0d0a2020202020202020202020247265663a2027232f646566
+696e6974696f6e732f72657475726e65644974656d73270d0a2020202072657475726e65644974
+656d733a0d0a2020202020202020747970653a206f626a6563740d0a202020202020202070726f
+706572746965733a0d0a20202020202020202072657475726e65644974656d3a0d0a2020202020
+202020202020247265663a2027232f646566696e6974696f6e732f72657475726e65644974656d
+270d0a2020202072657475726e65644974656d3a0d0a2020202020202020747970653a206f626a
+6563740d0a202020202020202070726f706572746965733a0d0a2020202020202020202069643a
+0d0a202020202020202020202020747970653a20737472696e670d0a2020202020202020202064
+6174655554433a0d0a202020202020202020202020747970653a20737472696e670d0a20202020
+202020202020646174654c6f63616c3a0d0a202020202020202020202020747970653a20737472
+696e670d0a20202020202020202020636f64653a0d0a202020202020202020202020747970653a
+20737472696e670d0a202020202020202020206465736372697074696f6e3a0d0a202020202020
+202020202020747970653a20737472696e6720200d0a20202020736f6c7574696f6e3a0d0a2020
+202020202020747970653a206f626a6563740d0a202020202020202070726f706572746965733a
+0d0a2020202020202020202069643a0d0a202020202020202020202020747970653a2073747269
+6e670d0a202020202020202020206e616d653a0d0a202020202020202020202020747970653a20
+737472696e670d0a2020202020202020202076656e646f724e616d653a0d0a2020202020202020
+20202020747970653a20737472696e670d0a2020202070726f66696c65466f724765745472616e
+73616374696f6e44657461696c733a0d0a2020202020202020747970653a206f626a6563740d0a
+202020202020202070726f706572746965733a0d0a20202020202020202020637573746f6d6572
+50726f66696c6549643a0d0a202020202020202020202020747970653a20737472696e670d0a20
+202020202020202020637573746f6d65725061796d656e7450726f66696c6549643a0d0a202020
+202020202020202020747970653a20737472696e670d0a20202020676574426174636853746174
+697374696373526573706f6e73653a0d0a20202020202020747970653a206f626a6563740d0a20
+20202020202070726f706572746965733a0d0a2020202020202020202062617463683a0d0a2020
+20202020202020202020247265663a2027232f646566696e6974696f6e732f6765744261746368
+53746174697374696373526573706f6e736573270d0a202020202020202020206d657373616765
+733a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f
+6d657373616765734f665061796d656e745472616e73616374696f6e526573706f6e7365272020
+0d0a20202020676574426174636853746174697374696373526573706f6e7365733a0d0a202020
+20202020747970653a206f626a6563740d0a2020202020202070726f706572746965733a0d0a20
+202020202020202020626174636849643a0d0a202020202020202020202020747970653a207374
+72696e670d0a20202020202020202020736574746c656d656e7454696d655554433a0d0a202020
+202020202020202020747970653a20737472696e670d0a20202020202020202020736574746c65
+6d656e7454696d655554435370656369666965643a0d0a20202020202020202020202074797065
+3a20737472696e670d0a20202020202020202020736574746c656d656e7454696d654c6f63616c
+3a0d0a202020202020202020202020747970653a20737472696e670d0a20202020202020202020
+736574746c656d656e7454696d654c6f63616c5370656369666965643a0d0a2020202020202020
+20202020747970653a20737472696e670d0a20202020202020202020736574746c656d656e7453
+746174653a0d0a202020202020202020202020747970653a20737472696e67200d0a2020202020
+20202020207061796d656e744d6574686f643a0d0a202020202020202020202020747970653a20
+737472696e672020200d0a20202020202020202020737461746973746963733a0d0a2020202020
+20202020202020247265663a2027232f646566696e6974696f6e732f7374617469737469637346
+6f724261746368270d0a2020202073746174697374696373466f7242617463683a0d0a20202020
+202020747970653a2061727261790d0a202020202020206974656d733a0d0a2020202020202020
+20202020247265663a2027232f646566696e6974696f6e732f73746174697374696373270d0a20
+202020737461746973746963733a0d0a20202020202020747970653a206f626a6563740d0a2020
+202020202070726f706572746965733a0d0a202020202020202020206163636f756e7454797065
+3a0d0a202020202020202020202020747970653a20737472696e670d0a20202020202020202020
+636861726765416d6f756e743a0d0a202020202020202020202020747970653a20737472696e67
+0d0a20202020202020202020636861726765436f756e743a0d0a20202020202020202020202074
+7970653a20737472696e670d0a20202020202020202020726566756e64416d6f756e743a0d0a20
+2020202020202020202020747970653a20737472696e670d0a2020202020202020202072656675
+6e64436f756e743a0d0a202020202020202020202020747970653a20737472696e670d0a202020
+20202020202020766f6964436f756e743a0d0a202020202020202020202020747970653a207374
+72696e67200d0a202020202020202020206465636c696e65436f756e743a0d0a20202020202020
+2020202020747970653a20737472696e670d0a202020202020202020206572726f72436f756e74
+3a0d0a202020202020202020202020747970653a20737472696e670d0a20202020202020202020
+72657475726e65644974656d416d6f756e743a0d0a202020202020202020202020747970653a20
+737472696e670d0a2020202020202020202072657475726e65644974656d416d6f756e74537065
+6369666965643a0d0a202020202020202020202020747970653a20737472696e670d0a20202020
+20202020202072657475726e65644974656d436f756e743a0d0a20202020202020202020202074
+7970653a20737472696e670d0a2020202020202020202072657475726e65644974656d436f756e
+745370656369666965643a0d0a202020202020202020202020747970653a20737472696e670d0a
+202020202020202020206368617267656261636b416d6f756e743a0d0a20202020202020202020
+2020747970653a20737472696e67200d0a202020202020202020206368617267656261636b416d
+6f756e745370656369666965643a0d0a202020202020202020202020747970653a20737472696e
+670d0a202020202020202020206368617267656261636b436f756e743a0d0a2020202020202020
+20202020747970653a20737472696e670d0a202020202020202020206368617267656261636b43
+6f756e745370656369666965643a0d0a202020202020202020202020747970653a20737472696e
+670d0a20202020202020202020636f7272656374696f6e4e6f74696365436f756e743a0d0a2020
+20202020202020202020747970653a20737472696e670d0a20202020202020202020636f727265
+6374696f6e4e6f74696365436f756e745370656369666965643a0d0a2020202020202020202020
+20747970653a20737472696e670d0a202020202020202020206368617267654368617267654261
+636b416d6f756e743a0d0a202020202020202020202020747970653a20737472696e670d0a2020
+20202020202020206368617267654368617267654261636b416d6f756e74537065636966696564
+3a0d0a202020202020202020202020747970653a20737472696e67200d0a202020202020202020
+206368617267654368617267654261636b436f756e743a0d0a2020202020202020202020207479
+70653a20737472696e670d0a202020202020202020206368617267654368617267654261636b43
+6f756e745370656369666965643a0d0a202020202020202020202020747970653a20737472696e
+670d0a20202020202020202020726566756e644368617267654261636b416d6f756e743a0d0a20
+2020202020202020202020747970653a20737472696e670d0a2020202020202020202072656675
+6e644368617267654261636b416d6f756e745370656369666965643a0d0a202020202020202020
+202020747970653a20737472696e670d0a20202020202020202020726566756e64436861726765
+4261636b436f756e743a0d0a202020202020202020202020747970653a20737472696e670d0a20
+202020202020202020726566756e644368617267654261636b436f756e74537065636966696564
+3a0d0a202020202020202020202020747970653a20737472696e670d0a20202020202020202020
+63686172676552657475726e65644974656d73416d6f756e743a0d0a2020202020202020202020
+20747970653a20737472696e67200d0a2020202020202020202063686172676552657475726e65
+644974656d73416d6f756e745370656369666965643a0d0a202020202020202020202020747970
+653a20737472696e670d0a2020202020202020202063686172676552657475726e65644974656d
+73436f756e743a0d0a202020202020202020202020747970653a20737472696e670d0a20202020
+20202020202063686172676552657475726e65644974656d73436f756e74537065636966696564
+3a0d0a202020202020202020202020747970653a20737472696e670d0a20202020202020202020
+726566756e6452657475726e65644974656d73416d6f756e743a0d0a2020202020202020202020
+20747970653a20737472696e670d0a20202020202020202020726566756e6452657475726e6564
+4974656d73416d6f756e745370656369666965643a0d0a20202020202020202020202074797065
+3a20737472696e670d0a20202020202020202020726566756e6452657475726e65644974656d73
+436f756e743a0d0a202020202020202020202020747970653a20737472696e670d0a2020202020
+2020202020726566756e6452657475726e65644974656d73436f756e745370656369666965643a
+0d0a202020202020202020202020747970653a20737472696e670d0a202020206765744d657263
+68616e7444657461696c73526573706f6e73653a0d0a20202020202020747970653a206f626a65
+63740d0a2020202020202070726f706572746965733a0d0a202020202020202020206973546573
+744d6f64653a0d0a202020202020202020202020747970653a20737472696e670d0a2020202020
+202020202070726f636573736f72733a0d0a202020202020202020202020247265663a2027232f
+646566696e6974696f6e732f70726f636573736f7273270d0a202020202020202020206d657263
+68616e744e616d653a0d0a202020202020202020202020747970653a20737472696e670d0a2020
+20202020202020206761746577617949643a0d0a202020202020202020202020747970653a2073
+7472696e670d0a202020202020202020206d61726b657454797065733a0d0a2020202020202020
+20202020247265663a2027232f646566696e6974696f6e732f6d61726b65745479706573270d0a
+2020202020202020202070726f64756374436f6465733a0d0a2020202020202020202020202472
+65663a2027232f646566696e6974696f6e732f70726f64756374436f646573270d0a2020202020
+20202020207061796d656e744d6574686f64733a0d0a202020202020202020202020247265663a
+2027232f646566696e6974696f6e732f7061796d656e744d6574686f6473466f724d6572636861
+6e7444657461696c73270d0a2020202020202020202063757272656e636965733a0d0a20202020
+2020202020202020247265663a2027232f646566696e6974696f6e732f63757272656e63696573
+270d0a202020202020202020207075626c6963436c69656e744b65793a0d0a2020202020202020
+2020202020747970653a20737472696e670d0a202020202020202020206d657373616765733a0d
+0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e732f6d6573
+73616765734f665061796d656e745472616e73616374696f6e526573706f6e736527200d0a2020
+202070726f636573736f72733a0d0a20202020202020747970653a2061727261790d0a20202020
+2020206974656d733a0d0a202020202020202020202020247265663a2027232f646566696e6974
+696f6e732f70726f636573736f7273466f724d65726368616e7444657461696c73270d0a202020
+2070726f636573736f7273466f724d65726368616e7444657461696c733a0d0a20202020202020
+747970653a206f626a6563740d0a2020202020202070726f706572746965733a0d0a2020202020
+20202020206e616d653a0d0a202020202020202020202020747970653a20737472696e670d0a20
+2020206d61726b657454797065733a0d0a20202020202020747970653a2061727261790d0a2020
+20202020206974656d733a0d0a20202020202020202020247265663a2027232f646566696e6974
+696f6e732f6d61726b657454797065270d0a202020206d61726b6574547970653a0d0a20202020
+2020747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a20202020
+20202020202065436f6d6d657263653a0d0a202020202020202020202020747970653a20737472
+696e670d0a2020202070726f64756374436f6465733a0d0a20202020202020747970653a206172
+7261790d0a202020202020206974656d733a0d0a20202020202020202020247265663a2027232f
+646566696e6974696f6e732f70726f64756374436f6465270d0a2020202070726f64756374436f
+64653a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f7065727469
+65733a0d0a20202020202020202020434e503a0d0a202020202020202020202020747970653a20
+737472696e670d0a202020207061796d656e744d6574686f6473466f724d65726368616e744465
+7461696c733a0d0a20202020202020747970653a2061727261790d0a202020202020206974656d
+733a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f7061796d
+656e744d6574686f64466f724d65726368616e7444657461696c73270d0a202020207061796d65
+6e744d6574686f64466f724d65726368616e7444657461696c733a0d0a20202020202074797065
+3a206f626a6563740d0a20202020202070726f706572746965733a0d0a20202020202020202020
+416d65726963616e457870726573733a0d0a202020202020202020202020747970653a20737472
+696e670d0a2020202020202020202044696e657273436c75623a0d0a2020202020202020202020
+20747970653a20737472696e670d0a20202020202020202020446973636f7665723a0d0a202020
+202020202020202020747970653a20737472696e670d0a20202020202020202020456e526f7574
+653a0d0a202020202020202020202020747970653a20737472696e670d0a202020202020202020
+204a43423a0d0a202020202020202020202020747970653a20737472696e670d0a202020202020
+202020204d6173746572636172643a0d0a202020202020202020202020747970653a2073747269
+6e670d0a20202020202020202020566973613a0d0a202020202020202020202020747970653a20
+737472696e670d0a2020202063757272656e636965733a0d0a20202020202020747970653a2061
+727261790d0a202020202020206974656d733a0d0a20202020202020202020247265663a202723
+2f646566696e6974696f6e732f63757272656e636965270d0a2020202063757272656e6369653a
+0d0a202020202020747970653a206f626a6563740d0a20202020202070726f706572746965733a
+0d0a202020202020202020205553443a0d0a202020202020202020202020747970653a20737472
+696e670d0a202020206765744163636f756e74557064617465724a6f6253756d6d617279526573
+706f6e73653a0d0a20202020202020747970653a206f626a6563740d0a2020202020202070726f
+706572746965733a0d0a20202020202020202020617553756d6d6172793a0d0a20202020202020
+2020202020247265663a2027232f646566696e6974696f6e732f617553756d6d61727979270d0a
+2020202020202020202072656649643a0d0a202020202020202020202020747970653a20737472
+696e670d0a202020202020202020206d657373616765733a0d0a20202020202020202020202020
+20247265663a2027232f646566696e6974696f6e732f6d657373616765466f724765745472616e
+73616374696f6e4c697374270d0a20202020617553756d6d617279793a0d0a2020202020202074
+7970653a206f626a6563740d0a2020202020202070726f706572746965733a0d0a202020202020
+202020206175526573706f6e73653a0d0a202020202020202020202020247265663a2027232f64
+6566696e6974696f6e732f6175526573706f6e736573270d0a202020206175526573706f6e7365
+733a0d0a20202020202020747970653a2061727261790d0a202020202020206974656d733a0d0a
+20202020202020202020247265663a2027232f646566696e6974696f6e732f6175526573706f6e
+7365270d0a202020206175526573706f6e73653a0d0a202020202020747970653a206f626a6563
+740d0a20202020202070726f706572746965733a0d0a202020202020202020206175526561736f
+6e436f64653a0d0a202020202020202020202020747970653a20737472696e670d0a2020202020
+202020202070726f66696c65436f756e743a0d0a202020202020202020202020747970653a2073
+7472696e670d0a20202020202020202020726561736f6e4465736372697074696f6e3a0d0a2020
+20202020202020202020747970653a20737472696e670d0a202020206765744163636f756e7455
+7064617465724a6f6244657461696c73526573706f6e73653a0d0a20202020202020747970653a
+206f626a6563740d0a2020202020202070726f706572746965733a0d0a20202020202020202020
+2020746f74616c4e756d496e526573756c745365743a0d0a202020202020202020202020202074
+7970653a20737472696e670d0a202020202020202020202020617544657461696c733a0d0a2020
+202020202020202020202020247265663a2027232f646566696e6974696f6e732f617544656c65
+7465270d0a20202020202020202020202072656649643a0d0a2020202020202020202020202020
+747970653a20737472696e670d0a2020202020202020202020206d657373616765733a0d0a2020
+202020202020202020202020247265663a2027232f646566696e6974696f6e732f6d6573736167
+65466f724765745472616e73616374696f6e4c697374270d0a20202020617544656c6574653a0d
+0a20202020202020747970653a206f626a6563740d0a2020202020202070726f70657274696573
+3a0d0a20202020202020202020617544656c6574653a0d0a202020202020202020202020247265
+663a2027232f646566696e6974696f6e732f617544656c657465466f724163636f756e74557064
+617465724a6f6244657461696c73270d0a2020202020202020202061755570646174653a0d0a20
+2020202020202020202020247265663a2027232f646566696e6974696f6e732f61755570646174
+6573270d0a20202020617544656c657465466f724163636f756e74557064617465724a6f624465
+7461696c733a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f7065
+72746965733a0d0a20202020202020202020637573746f6d657250726f66696c6549443a0d0a20
+2020202020202020202020747970653a20737472696e670d0a2020202020202020202063757374
+6f6d65725061796d656e7450726f66696c6549443a0d0a20202020202020202020202074797065
+3a20737472696e670d0a2020202020202020202066697273744e616d653a0d0a20202020202020
+2020202020747970653a20737472696e670d0a202020202020202020206c6173744e616d653a0d
+0a202020202020202020202020747970653a20737472696e670d0a202020202020202020207570
+6461746554696d655554433a0d0a202020202020202020202020747970653a20737472696e670d
+0a202020202020202020206175526561736f6e436f64653a0d0a20202020202020202020202074
+7970653a20737472696e6720200d0a20202020202020202020726561736f6e4465736372697074
+696f6e3a0d0a202020202020202020202020747970653a20737472696e670d0a20202020202020
+202020637265646974436172643a0d0a202020202020202020202020247265663a2027232f6465
+66696e6974696f6e732f63726564697443617264466f724163636f756e74557064617465724a6f
+6244657461696c270d0a2020202063726564697443617264466f724163636f756e745570646174
+65724a6f6244657461696c3a0d0a202020202020747970653a206f626a6563740d0a2020202020
+2070726f706572746965733a0d0a20202020202020202020636172644e756d6265723a0d0a2020
+20202020202020202020747970653a20737472696e670d0a202020202020202020206578706972
+6174696f6e446174653a0d0a202020202020202020202020747970653a20737472696e670d0a20
+2020206175557064617465733a0d0a20202020202020747970653a2061727261790d0a20202020
+2020206974656d733a0d0a20202020202020202020247265663a2027232f646566696e6974696f
+6e732f6175557064617465270d0a2020202061755570646174653a0d0a20202020202074797065
+3a206f626a6563740d0a20202020202070726f706572746965733a0d0a20202020202020202020
+637573746f6d657250726f66696c6549443a0d0a202020202020202020202020747970653a2073
+7472696e670d0a20202020202020202020637573746f6d65725061796d656e7450726f66696c65
+49443a0d0a202020202020202020202020747970653a20737472696e670d0a2020202020202020
+202066697273744e616d653a0d0a202020202020202020202020747970653a20737472696e6720
+20202020200d0a202020202020202020206c6173744e616d653a0d0a2020202020202020202020
+20747970653a20737472696e670d0a2020202020202020202075706461746554696d655554433a
+0d0a202020202020202020202020747970653a20737472696e670d0a2020202020202020202061
+75526561736f6e436f64653a0d0a202020202020202020202020747970653a20737472696e6720
+20202020200d0a20202020202020202020726561736f6e4465736372697074696f6e3a0d0a2020
+20202020202020202020747970653a20737472696e670d0a2020202020202020202070726f6669
+6c65436f756e743a0d0a202020202020202020202020747970653a20737472696e670d0a202020
+202020202020206e6577437265646974436172643a0d0a20202020202020202020202024726566
+3a2027232f646566696e6974696f6e732f6e657743726564697443617264270d0a202020202020
+202020206f6c64437265646974436172643a0d0a202020202020202020202020247265663a2027
+232f646566696e6974696f6e732f6f6c6443726564697443617264270d0a202020206e65774372
+65646974436172643a0d0a202020202020747970653a206f626a6563740d0a2020202020207072
+6f706572746965733a0d0a20202020202020202020636172644e756d6265723a0d0a2020202020
+20202020202020747970653a20737472696e670d0a202020202020202020206578706972617469
+6f6e446174653a0d0a202020202020202020202020747970653a20737472696e670d0a20202020
+6f6c64437265646974436172643a0d0a202020202020747970653a206f626a6563740d0a202020
+20202070726f706572746965733a0d0a20202020202020202020636172644e756d6265723a0d0a
+202020202020202020202020747970653a20737472696e670d0a20202020202020202020657870
+69726174696f6e446174653a0d0a202020202020202020202020747970653a20737472696e670d
+0a20202020637265617465416e4163636570745061796d656e745472616e73616374696f6e5265
+73706f6e63653a0d0a202020202020747970653a206f626a6563740d0a20202020202070726f70
+6572746965733a0d0a20202020202020207472616e73616374696f6e526573706f6e73653a0d0a
+20202020202020202020247265663a2027232f646566696e6974696f6e732f7061796d656e7454
+72616e73616374696f6e526573706f6e7365270d0a2020202020202020757365724669656c643a
+0d0a2020202020202020202020747970653a2061727261790d0a20202020202020202020206974
+656d733a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e
+732f757365724669656c64466f72637265617465416e4163636570745061796d656e745472616e
+73616374696f6e270d0a20202020202020207472616e7348617368536861323a0d0a2020202020
+202020202020202020747970653a20737472696e672020200d0a20202020202020207265664964
+3a0d0a20202020202020202020747970653a20737472696e6720200d0a20202020202020206d65
+7373616765733a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e73
+2f6d657373616765734f665061796d656e745472616e73616374696f6e526573706f6e7365270d
+0a20202020757365724669656c64466f72637265617465416e4163636570745061796d656e7454
+72616e73616374696f6e3a0d0a202020202020747970653a206f626a6563740d0a202020202020
+70726f706572746965733a0d0a2020202020202020636f64653a0d0a2020202020202020202074
+7970653a20737472696e670d0a2020202020202020746578743a0d0a2020202020202020202074
+7970653a20737472696e670d0a20202020676574416363657074437573746f6d657250726f6669
+6c6550616765526573706f6e73653a0d0a20202020202020747970653a206f626a6563740d0a20
+20202020202070726f706572746965733a0d0a20202020202020202020746f6b656e3a0d0a2020
+20202020202020202020747970653a20737472696e670d0a202020202020202020206d65737361
+6765733a0d0a2020202020202020202020202020247265663a2027232f646566696e6974696f6e
+732f6d657373616765734f665061796d656e745472616e73616374696f6e526573706f6e736527
+202020202020200d0a2020202062617365416464726573733a0d0a202020202020726571756972
+65643a0d0a20202020202020202d2061646472657373310d0a202020202020747970653a206f62
+6a6563740d0a20202020202070726f706572746965733a0d0a2020202020202020616464726573
+73313a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020202020
+782d6578616d706c653a20313233204d61696e2053742e0d0a2020202020202020202064657363
+72697074696f6e3a20274e756d6265722f6c6574746572206f662074686520616464726573732c
+20616e642074686520737472656574206e616d652e205265717569726564206966206d65726368
+616e7420776f756c64206c696b6520746f20757365207468652041646472657373205665726966
+69636174696f6e205365727669636520736563757269747920666561747572652e205265717569
+726564207768656e207573696e672047504e2043616e616461206f7220576f726c647061792053
+747265616d6c696e652050726f63657373696e6720506c6174666f726d2e203c6272202f3e3c62
+72202f3e537472696e672c20757020746f20363020636861726163746572732e2055736520616c
+7068616e756d657269632063686172616374657273206f6e6c792c20776974686f757420737061
+6365732c206461736865732c206f72206f746865722073796d626f6c732e270d0a202020202020
+202061646d696e697374726174697665417265613a0d0a20202020202020202020747970653a20
+737472696e670d0a20202020202020202020782d6578616d706c653a2057410d0a202020202020
+202020206465736372697074696f6e3a2027546865207374617465206f722061646d696e697374
+72617469766520617265612e205265717569726564206f6e6c79207768656e207573696e672061
+204575726f7065616e207061796d656e742070726f636573736f722e203c6272202f3e3c627220
+2f3e537472696e672c20757020746f20343020636861726163746572732e2055736520616c7068
+616e756d657269632063686172616374657273206f6e6c792c20776974686f7574207370616365
+732c206461736865732c206f72206f746865722073796d626f6c732e20466f7220555320737461
+7465732c207573652074686520555350532074776f2d6368617261637465722061626272657669
+6174696f6e20666f72207468652073746174652e270d0a2020202020202020636f6d70616e793a
+0d0a20202020202020202020747970653a20737472696e670d0a20202020202020202020782d65
+78616d706c653a2027576964676574732c20496e632e270d0a2020202020202020202064657363
+72697074696f6e3a20274e616d65206f66207468652070757263686173696e6720636f6d70616e
+792c20696620616e792e203c6272202f3e3c6272202f3e20537472696e672c20757020746f2035
+3020636861726163746572732e2055736520616c7068616e756d65726963206368617261637465
+7273206f6e6c792c20776974686f7574207370616365732c206461736865732c206f72206f7468
+65722073796d626f6c732e270d0a2020202020202020636f756e7472793a0d0a20202020202020
+202020747970653a20737472696e670d0a20202020202020202020782d6578616d706c653a2055
+53410d0a202020202020202020206465736372697074696f6e3a2027436f756e74727920617373
+6f63696174656420776974682074686520616464726573732e205265717569726564206f6e6c79
+207768656e207573696e672061204575726f7065616e207061796d656e742070726f636573736f
+722e203c6272202f3e3c6272202f3e537472696e672c20757020746f2036302063686172616374
+6572732e2055736520616c7068616e756d657269632063686172616374657273206f6e6c792c20
+776974686f7574207370616365732c206461736865732c206f72206f746865722073796d626f6c
+732e20466f7220696e7465726e6174696f6e616c207061796d656e742070726f636573736f7273
+2c20757365207468652049534f203331363620616c7068612d3320636f646520666f7220746865
+20636f756e7472792e270d0a202020202020202066697273744e616d653a0d0a20202020202020
+202020747970653a20737472696e670d0a20202020202020202020782d6578616d706c653a204a
+6f686e0d0a202020202020202020206465736372697074696f6e3a20274669727374206e616d65
+206173736f636961746564207769746820637573746f6d657227277320616464726573732e2052
+65717569726564206f6e6c79207768656e207573696e672061204575726f7065616e207061796d
+656e742070726f636573736f722e203c6272202f3e3c6272202f3e537472696e672c2075702074
+6f20353020636861726163746572732e2055736520616c7068616e756d65726963206368617261
+6374657273206f6e6c792c20776974686f7574207370616365732c206461736865732c206f7220
+6f746865722073796d626f6c732e270d0a20202020202020206c6173744e616d653a0d0a202020
+20202020202020747970653a20737472696e670d0a20202020202020202020782d6578616d706c
+653a20446f650d0a202020202020202020206465736372697074696f6e3a20274c617374206e61
+6d65206173736f636961746564207769746820637573746f6d657227277320616464726573732e
+205265717569726564206f6e6c79207768656e207573696e672061204575726f7065616e207061
+796d656e742070726f636573736f722e203c6272202f3e3c6272202f3e537472696e672c207570
+20746f20353020636861726163746572732e2055736520616c7068616e756d6572696320636861
+72616374657273206f6e6c792c20776974686f7574207370616365732c206461736865732c206f
+72206f746865722073796d626f6c732e270d0a20202020202020206c6f63616c6974793a0d0a20
+202020202020202020747970653a20737472696e670d0a20202020202020202020782d6578616d
+706c653a2042656c6c657675650d0a202020202020202020206465736372697074696f6e3a2027
+43697479206f7220746f776e206f662074686520616464726573732e205265717569726564206f
+6e6c79207768656e207573696e672061204575726f7065616e207061796d656e742070726f6365
+73736f722e203c6272202f3e3c6272202f3e537472696e672c20757020746f2034302063686172
+6163746572732e2055736520616c7068616e756d657269632063686172616374657273206f6e6c
+792c20776974686f7574207370616365732c206461736865732c206f72206f746865722073796d
+626f6c732e270d0a202020202020202070686f6e654e756d6265723a0d0a202020202020202020
+20747970653a20737472696e670d0a20202020202020202020782d6578616d706c653a20303030
+2d3030302d303030300d0a202020202020202020206465736372697074696f6e3a202750686f6e
+65206e756d626572206173736f636961746564207769746820637573746f6d6572272773206164
+64726573732e203c6272202f3e3c6272202f3e537472696e672c20757020746f20323520636861
+726163746572732e20466f72206578616d706c652c202831323329203535352d313233342e270d
+0a2020202020202020706f7374616c436f64653a0d0a20202020202020202020747970653a2073
+7472696e670d0a20202020202020202020782d6578616d706c653a20273938303034270d0a2020
+20202020202020206465736372697074696f6e3a202754686520706f7374616c206f72205a4950
+20636f6465206f662074686520637573746f6d65722727732062696c6c696e6720616464726573
+732e205265717569726564206966206d65726368616e7420776f756c64206c696b6520746f2075
+736520746865204164647265737320566572696669636174696f6e205365727669636520736563
+757269747920666561747572652e205265717569726564207768656e207573696e672047504e20
+43616e616461206f7220576f726c647061792053747265616d6c696e652050726f63657373696e
+6720506c6174666f726d2e20537472696e672c20757020746f2032302063686172616374657273
+2e2055736520616c7068616e756d657269632063686172616374657273206f6e6c792c20776974
+686f7574207370616365732c206461736865732c206f72206f746865722073796d626f6c732e27
+0d0a20202020616464726573734c696e6b733a0d0a20202020202070726f706572746965733a0d
+0a202020202020202073656c663a0d0a20202020202020202020247265663a2027232f64656669
+6e6974696f6e732f6c696e6b270d0a2020202020202020637573746f6d65723a0d0a2020202020
+2020202020247265663a2027232f646566696e6974696f6e732f6c696e6b270d0a202020206164
+64726573734c6973743a0d0a20202020202070726f706572746965733a0d0a2020202020202020
+6164647265737365733a0d0a20202020202020202020747970653a2061727261790d0a20202020
+2020202020206974656d733a0d0a202020202020202020202020247265663a2027232f64656669
+6e6974696f6e732f616464726573736573270d0a2020202061646472657373436f6c6c65637469
+6f6e3a0d0a20202020202070726f706572746965733a0d0a20202020202020205f6c696e6b733a
+0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f636f6c6c6563
+74696f6e4c696e6b73270d0a20202020202020205f656d6265646465643a0d0a20202020202020
+202020247265663a2027232f646566696e6974696f6e732f616464726573734c697374270d0a20
+20202020202020746f74616c4164647265737365733a0d0a20202020202020202020747970653a
+20696e74656765720d0a20202020202020202020782d6578616d706c653a20313234330d0a2020
+20202020202020206465736372697074696f6e3a20546f74616c206e756d626572206f66206164
+647265737365732e0d0a202020206164647265737365733a0d0a20202020202070726f70657274
+6965733a0d0a202020202020202069643a0d0a20202020202020202020747970653a2073747269
+6e670d0a202020202020202020206465736372697074696f6e3a20556e69717565206964656e74
+6966696572206f662074686520616464726573732e0d0a202020202020202064656661756c743a
+0d0a20202020202020202020747970653a20626f6f6c65616e0d0a202020202020202020206465
+736372697074696f6e3a2027496620746865206164647265737320697320736574206173207468
+652064656661756c74206164647265737320666f72207468652070726f66696c652c2074686520
+76616c7565206f66207468697320656c656d656e74206973206074727565602e270d0a20202020
+2020202066697273744e616d653a0d0a20202020202020202020747970653a20737472696e670d
+0a202020202020202020206465736372697074696f6e3a204669727374206e616d65206f662074
+686520637573746f6d6572206173736f6369617465642077697468207468652061646472657373
+2e0d0a20202020202020206c6173744e616d653a0d0a20202020202020202020747970653a2073
+7472696e670d0a202020202020202020206465736372697074696f6e3a204c617374206e616d65
+206f662074686520637573746f6d6572206173736f636961746564207769746820746865206164
+64726573732e0d0a20202020202020205f6c696e6b733a0d0a2020202020202020202024726566
+3a2027232f646566696e6974696f6e732f616464726573734c696e6b73270d0a20202020616d6f
+756e7444657461696c3a0d0a20202020202072657175697265643a0d0a20202020202020202d20
+746f74616c416d6f756e740d0a20202020202070726f706572746965733a0d0a20202020202020
+20746f74616c416d6f756e743a0d0a20202020202020202020747970653a20737472696e670d0a
+202020202020202020206465736372697074696f6e3a207c0d0a20202020202020202020202054
+6869732069732074686520746f74616c20616d6f756e74206f6620746865207061796d656e7420
+616e64206d75737420696e636c756465207461782c207368697070696e672c20746970732c2061
+6e6420616e79206f7468657220636861726765732e203c6272202f3e3c6272202f3e2044656369
+6d616c2c20757020746f203135206469676974732077697468206120646563696d616c20706f69
+6e742e20446f206e6f74207573652063757272656e63792073796d626f6c732e20466f72206578
+616d706c652c20382e39352e0d0a202020202020202063757272656e63793a0d0a202020202020
+20202020747970653a20737472696e670d0a202020202020202020206465736372697074696f6e
+3a2043757272656e6379206f6620746865207472616e73616374696f6e2e0d0a20202020202020
+2064757479416d6f756e743a0d0a20202020202020202020747970653a20737472696e670d0a20
+2020202020202020206465736372697074696f6e3a20416d6f756e74206f6620647574792e2054
+686520746f74616c207472616e73616374696f6e20616d6f756e74206d75737420696e636c7564
+6520746869732076616c75652e0d0a2020202020202020746178416d6f756e743a0d0a20202020
+202020202020747970653a20737472696e670d0a20202020202020202020646573637269707469
+6f6e3a20416d6f756e74206f66207461782e2054686520746f74616c207472616e73616374696f
+6e20616d6f756e74206d75737420696e636c75646520746869732076616c75652e0d0a20202020
+2020202066726569676874416d6f756e743a0d0a20202020202020202020747970653a20737472
+696e670d0a202020202020202020206465736372697074696f6e3a20416d6f756e74206f662074
+6865207368697070696e6720636861726765732e2054686520746f74616c207472616e73616374
+696f6e20616d6f756e74206d75737420696e636c75646520746869732076616c75652e0d0a2020
+202020202020617574686f72697a6564416d6f756e743a0d0a2020202020202020202074797065
+3a20737472696e670d0a202020202020202020206465736372697074696f6e3a2027270d0a2020
+202062616e6b4163636f756e743a0d0a2020202020206465736372697074696f6e3a2054686973
+206f626a65637420636f6e7461696e732074686520637573746f6d657227732062616e6b206163
+636f756e74207061796d656e7420696e666f726d6174696f6e2e0d0a2020202020207265717569
+7265643a0d0a20202020202020202d20726f7574696e674e756d6265720d0a2020202020202020
+2d206163636f756e744e756d6265720d0a20202020202020202d206e616d654f6e4163636f756e
+740d0a20202020202070726f706572746965733a0d0a20202020202020206163636f756e745479
+70653a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020202020
+6465736372697074696f6e3a207c2d0d0a2020202020202020202020205468652074797065206f
+662062616e6b206163636f756e74207573656420666f72207468652065436865636b2e4e657420
+7472616e73616374696f6e2e205468652076616c7565206f6620606163636f756e745479706560
+206d7573742062652076616c696420666f7220746865206065636865636b54797065602076616c
+7565207375626d69747465642e2056616c69642076616c75657320696e636c756465262335383b
+0d0a2020202020202020202020202a2060636865636b696e67600d0a2020202020202020202020
+202a2060736176696e6773600d0a2020202020202020202020202a2060627573696e6573734368
+65636b696e67600d0a2020202020202020726f7574696e674e756d6265723a0d0a202020202020
+20202020747970653a20737472696e670d0a202020202020202020206465736372697074696f6e
+3a20275468652041424120726f7574696e67206e756d6265722e204d61736b6564206578636570
+7420666f7220746865206c61737420666f7572206469676974732e20466f72206578616d706c65
+2c2058585858303130312e203c6272202f3e3c6272202f3e204e756d657269632c20757020746f
+2039206469676974732e270d0a20202020202020206163636f756e744e756d6265723a0d0a2020
+2020202020202020747970653a20737472696e670d0a2020202020202020202064657363726970
+74696f6e3a20275468652062616e6b206163636f756e74206e756d6265722e204d61736b656420
+65786365707420666f7220746865206c61737420666f7572206469676974732e20466f72206578
+616d706c652c2058585858303130312e203c6272202f3e3c6272202f3e204e756d657269632c20
+757020746f203137206469676974732e270d0a20202020202020206e616d654f6e4163636f756e
+743a0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020202064
+65736372697074696f6e3a20274e616d65206f662074686520706572736f6e2077686f20686f6c
+6473207468652062616e6b206163636f756e742e203c6272202f3e3c6272202f3e20537472696e
+672c20757020746f20323220636861726163746572732e270d0a20202020202020206543686563
+6b547970653a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020
+2020206465736372697074696f6e3a207c2d0d0a20202020202020202020202054686520747970
+65206f662065436865636b207472616e73616374696f6e2e202056616c69642076616c75657320
+696e636c7564650d0a2020202020202020202020202a2060505044600d0a202020202020202020
+2020202a2060574542600d0a2020202020202020202020202a2060434344600d0a202020202020
+2020202020202a206054454c600d0a2020202020202020202020202a2060415243600d0a202020
+2020202020202020202a2060424f43600d0a202020202020202062616e6b4e616d653a0d0a2020
+2020202020202020747970653a20737472696e670d0a2020202020202020202064657363726970
+74696f6e3a204e616d65206f66207468652062616e6b20746f2077686963682074686520616363
+6f756e742062656c6f6e67732e0d0a2020202020202020636865636b4e756d6265723a0d0a2020
+2020202020202020747970653a20737472696e670d0a2020202020202020202064657363726970
+74696f6e3a2027546865206e756d626572206f662074686520636865636b2e20446f206e6f7420
+73656e642060636865636b4e756d6265726020756e6c657373206065636865636b547970656020
+697320656974686572206041524360206f722060424f43602e203c6272202f3e3c6272202f3e20
+4e756d657269632c20757020746f203135206469676974732e270d0a20202020636172643a0d0a
+2020202020206465736372697074696f6e3a2054686973206f626a65637420636f6e7461696e73
+2074686520637573746f6d65722773206372656469742063617264207061796d656e7420696e66
+6f726d6174696f6e2e0d0a202020202020747970653a206f626a6563740d0a2020202020207265
+7175697265643a0d0a20202020202020202d206e756d6265720d0a20202020202020202d206578
+7069726174696f6e4d6f6e74680d0a20202020202020202d2065787069726174696f6e59656172
+0d0a20202020202070726f706572746965733a0d0a20202020202020206e756d6265723a0d0a20
+202020202020202020747970653a20737472696e670d0a20202020202020202020782d6578616d
+706c653a2027343158585858585858585858585858270d0a202020202020202020206465736372
+697074696f6e3a202754686520637573746f6d6572272773206372656469742063617264206e75
+6d6265722e203c6272202f3e3c6272202f3e204e756d657269632c2031332d3136206469676974
+732e270d0a202020202020202065787069726174696f6e4d6f6e74683a0d0a2020202020202020
+2020747970653a20737472696e670d0a202020202020202020206465736372697074696f6e3a20
+274d6f6e7468207468617420746865206361726420657870697265732c20696e204d4d20666f72
+6d61742e270d0a202020202020202065787069726174696f6e596561723a0d0a20202020202020
+202020747970653a20737472696e670d0a202020202020202020206465736372697074696f6e3a
+20596561722074686174207468652063617264206578706972657320696e205959595920666f72
+6d61742e0d0a2020202020202020747970653a0d0a20202020202020202020747970653a207374
+72696e670d0a202020202020202020206465736372697074696f6e3a207c2d0d0a202020202020
+20202020202054797065206f662063726564697420636172642e2056616c69642076616c756573
+20696e636c756465262335383b0d0a2020202020202020202020202a206056697361600d0a2020
+202020202020202020202a20604d617374657243617264600d0a2020202020202020202020202a
+2060446973636f766572600d0a2020202020202020202020202a20604a4342600d0a2020202020
+202020202020202a206044696e657273436c7562600d0a20202020202020207365637572697479
+436f64653a0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020
+2020782d6578616d706c653a2027313233270d0a20202020202020202020646573637269707469
+6f6e3a20546865207468726565206f7220666f757220646967697420636f6465206f6e20746865
+2066726f6e74206f72206261636b206f662074686520636172642e203c6272202f3e3c6272202f
+3e2054686973206669656c6420697320726571756972656420696620746865206d65726368616e
+7420776f756c64206c696b6520746f2075736520746865204361726420436f6465205665726966
+69636174696f6e20284343562920736563757269747920666561747572652e3c6272202f3e3c62
+72202f3e2043617264686f6c64657220696e666f726d6174696f6e206d7573742062652073746f
+726564207365637572656c7920616e6420696e206163636f7264616e6365207769746820746865
+205061796d656e74204361726420496e6475737472792028504349292044617461205365637572
+697479205374616e646172642e0d0a20202020637573746f6d65725061796d656e743a0d0a2020
+20202020747970653a206f626a6563740d0a20202020202072657175697265643a0d0a20202020
+202020202d20637573746f6d657249640d0a20202020202070726f706572746965733a0d0a2020
+202020202020637573746f6d657249643a0d0a20202020202020202020747970653a2073747269
+6e670d0a20202020202020202020782d6578616d706c653a2031300d0a20202020202020202020
+6465736372697074696f6e3a20546865204944206f662074686520637573746f6d65722070726f
+66696c652e20526571756972656420696620796f7520617265207573696e67206120637573746f
+6d65722070726f66696c652061732074686520736f7572636520666f72207061796d656e74206f
+72207368697070696e6720696e666f726d6174696f6e2e203c6272202f3e3c6272202f3e203230
+2d636861726163746572206d6178696d756d2e0d0a20202020202020207061796d656e744d6574
+686f6449643a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020
+202020782d6578616d706c653a20323031360d0a20202020202020202020646573637269707469
+6f6e3a20546865207061796d656e742070726f66696c65204944206f662074686520637573746f
+6d65722070726f66696c652e2044657369676e6174657320746865207061796d656e742070726f
+66696c6520746f2075736520666f72207061796d656e7420616e642062696c6c696e6720696e66
+6f726d6174696f6e2e0d0a202020206572726f72526573706f6e73653a0d0a2020202020206465
+736372697074696f6e3a204d6f64656c20666f72204572726f7220526573706f6e73650d0a2020
+202020207469746c653a206572726f72526573706f6e73650d0a202020202020747970653a206f
+626a6563740d0a20202020202070726f706572746965733a0d0a20202020202020206d65737361
+67653a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020202020
+6465736372697074696f6e3a2044657363726962657320746865206572726f7220636f6e646974
+696f6e2e0d0a2020202020202020726561736f6e3a0d0a20202020202020202020747970653a20
+737472696e670d0a202020202020202020206465736372697074696f6e3a202754686973206973
+20616e20656e756d206669656c642074686174206465736372696265732074686520627573696e
+657373206572726f72732072657475726e656420627920746865207365727665722e2054686520
+636c69656e742063616e207573652074686973206669656c6420746f20696e7465727072657420
+6572726f72732072657475726e656420627920746865207365727665722e20270d0a2020202020
+202020696e666f726d6174696f6e4c696e6b3a0d0a20202020202020202020747970653a207374
+72696e670d0a202020202020202020206465736372697074696f6e3a20436f6e7461696e732061
+2055524c206c696e6b20746f2067656e6572616c206f6e6c696e6520646f63756d656e74617469
+6f6e20666f722074686973206572726f722e0d0a2020202020202020636f7272656c6174696f6e
+49643a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020202020
+666f726d61743a20757569640d0a202020202020202064657461696c733a0d0a20202020202020
+202020747970653a2061727261790d0a202020202020202020206974656d733a0d0a2020202020
+20202020202020247265663a2027232f646566696e6974696f6e732f6572726f7244657461696c
+73270d0a20202020202072657175697265643a0d0a20202020202020202d206d6573736167650d
+0a20202020202020202d20726561736f6e0d0a202020206572726f7244657461696c733a0d0a20
+20202020206465736372697074696f6e3a204572726f722064657461696c73206f626a6563742e
+0d0a2020202020207469746c653a206572726f7244657461696c730d0a20202020202074797065
+3a206f626a6563740d0a20202020202070726f706572746965733a0d0a20202020202020206d65
+73736167653a0d0a20202020202020202020747970653a20737472696e670d0a20202020202020
+2020206465736372697074696f6e3a2044657363726962657320746865206572726f7220636f6e
+646974696f6e2e0d0a20202020202020206c6f636174696f6e3a0d0a2020202020202020202074
+7970653a20737472696e670d0a202020202020202020206465736372697074696f6e3a20496e64
+69636174657320746865206e616d65206f66206120706172616d657465722e0d0a20202020666c
+756964446174613a0d0a2020202020206465736372697074696f6e3a207c2d0d0a202020202020
+202054686973206f626a65637420636f6e7461696e7320656e63727970746564207061796d656e
+74206461746120746861742063616e206265207375626d697474656420696e2074686520666f6c
+6c6f77696e67207479706573206f66207061796d656e7473262335383b0d0a2020202020202020
+2a20417574686f72697a652e4e6574204163636570740d0a20202020202020202a205669736120
+436865636b6f75740d0a20202020202020202a204170706c65205061790d0a2020202020202020
+2a20416e64726f6964205061790d0a202020202020747970653a206f626a6563740d0a20202020
+202072657175697265643a0d0a20202020202020202d2064657363726970746f720d0a20202020
+202020202d2076616c75650d0a20202020202070726f706572746965733a0d0a20202020202020
+206b65793a0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020
+20206465736372697074696f6e3a204f6e6c7920666f72205669736120436865636b6f75742070
+61796d656e74732e205468697320646174612069732072656365697665642066726f6d20746865
+204a617661536372697074205669736120436865636b6f757420696e746567726174696f6e2773
+2060656e634b657960206669656c642e203c6272202f3e3c6272202f3e203132382d6368617261
+63746572206d6178696d756d2e0d0a202020202020202064657363726970746f723a0d0a202020
+20202020202020747970653a20737472696e670d0a202020202020202020206465736372697074
+696f6e3a202753706563696669657320686f772074686520726571756573742073686f756c6420
+62652070726f6365737365642e205468652076616c7565206f6620606461746144657363726970
+746f7260206973206261736564206f6e2074686520736f75726365206f66207468652076616c75
+65206f6620606461746156616c7565602e20466f72206578616d706c652c20666f722041636365
+70742c207468652076616c75652069732060434f4d4d4f4e2e4143434550542e494e4150502e50
+41594d454e54602e203c6272202f3e3c6272202f3e2031323820636861726163746572732e270d
+0a202020202020202076616c75653a0d0a20202020202020202020747970653a20737472696e67
+0d0a202020202020202020206465736372697074696f6e3a2042617365363420656e636f646564
+2064617461207468617420636f6e7461696e7320656e63727970746564207061796d656e742064
+6174612e20546865207061796d656e74206761746577617920657870656374732074686520656e
+63727970746564207061796d656e74206461746120616e64206d657461206461746120666f7220
+74686520656e6372797074696f6e206b6579732e203c6272202f3e3c6272202f3e203831393220
+636861726163746572732e0d0a202020206974656d733a0d0a202020202020747970653a206f62
+6a6563740d0a20202020202072657175697265643a0d0a20202020202020202d2070726f647563
+74436f64650d0a20202020202020202d2070726f647563744e616d650d0a20202020202070726f
+706572746965733a0d0a202020202020202070726f64756374436f64653a0d0a20202020202020
+202020747970653a20737472696e670d0a20202020202020202020782d6578616d706c653a2031
+0d0a202020202020202020206465736372697074696f6e3a204974656d206964656e7469666963
+6174696f6e2e2033312d636861726163746572206d6178696d756d2e0d0a202020202020202070
+726f647563744e616d653a0d0a20202020202020202020747970653a20737472696e670d0a2020
+2020202020202020782d6578616d706c653a20766173650d0a2020202020202020202064657363
+72697074696f6e3a20412073686f7274206465736372697074696f6e206f662074686520697465
+6d2e2033312d636861726163746572206d6178696d756d2e0d0a20202020202020207175616e74
+6974793a0d0a20202020202020202020747970653a206e756d6265720d0a202020202020202020
+20782d6578616d706c653a2031380d0a202020202020202020206465736372697074696f6e3a20
+546865206e756d626572206f66206974656d7320736f6c642e20557020746f2061206d6178696d
+756d206f6620666f757220646563696d616c20706c616365732e0d0a2020202020202020756e69
+7450726963653a0d0a20202020202020202020747970653a20737472696e670d0a202020202020
+20202020782d6578616d706c653a20273435270d0a202020202020202020206465736372697074
+696f6e3a2027436f7374206f6620616e206974656d2070657220756e69742c206578636c756469
+6e67207461782c20667265696768742c20616e6420647574792e20557020746f2061206d617869
+6d756d206f66203220646563696d616c20706c616365732e270d0a20202020636f6c6c65637469
+6f6e4c696e6b733a0d0a20202020202070726f706572746965733a0d0a20202020202020207365
+6c663a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f6c696e
+6b270d0a20202020202020206e6578743a0d0a20202020202020202020247265663a2027232f64
+6566696e6974696f6e732f6c696e6b270d0a202020202020202070726576696f75733a0d0a2020
+2020202020202020247265663a2027232f646566696e6974696f6e732f6c696e6b270d0a202020
+206c696e6b3a0d0a20202020202070726f706572746965733a0d0a202020202020202068726566
+3a0d0a20202020202020202020747970653a20737472696e670d0a202020202020202020206465
+736372697074696f6e3a20555249206f6620746865206c696e6b6564207265736f757263652e0d
+0a20202020202020207469746c653a0d0a20202020202020202020747970653a20737472696e67
+0d0a202020202020202020206465736372697074696f6e3a204c6162656c206f6620746865206c
+696e6b6564207265736f757263652e0d0a20202020202020206d6574686f643a0d0a2020202020
+2020202020747970653a20737472696e670d0a202020202020202020206465736372697074696f
+6e3a2048545450206d6574686f64206f6620746865206c696e6b6564207265736f757263652e0d
+0a202020206d65726368616e74446566696e6564496e666f726d6174696f6e3a0d0a2020202020
+20747970653a206f626a6563740d0a20202020202070726f706572746965733a0d0a2020202020
+2020206b65793a0d0a20202020202020202020747970653a20737472696e670d0a202020202020
+20202020782d6578616d706c653a20310d0a202020202020202020206465736372697074696f6e
+3a204974656d206964656e74696669636174696f6e2e2035302d636861726163746572206d6178
+696d756d2e0d0a202020202020202076616c75653a0d0a20202020202020202020747970653a20
+737472696e670d0a20202020202020202020782d6578616d706c653a20766173650d0a20202020
+2020202020206465736372697074696f6e3a20412073686f7274206465736372697074696f6e20
+6f6620746865206974656d2e2035302d636861726163746572206d6178696d756d2e0d0a202020
+207061796d656e74496e666f726d6174696f6e3a0d0a2020202020206465736372697074696f6e
+3a207c0d0a202020202020202054686973206f626a656374207365747320746865206d6574686f
+64206f66207061796d656e7420666f722061207472616e73616374696f6e2e2054686572652061
+726520666f757220617661696c61626c65207061796d656e7420696e737472756d656e74732c20
+73686f776e2062656c6f772e0d0a20202020202020207c5061796d656e7420496e737472756d65
+6e7420207c204465736372697074696f6e20207c0d0a20202020202020207c2d2d2d2d2d7c2d2d
+2d2d2d7c0d0a20202020202020207c20606372656469744361726460207c20436f6e7461696e73
+2074686520637573746f6d65722773206372656469742063617264207061796d656e7420646174
+612e207c0d0a20202020202020207c206042616e6b4163636f756e746020207c20436f6e746169
+6e732074686520637573746f6d657227732062616e6b696e6720696e666f726d6174696f6e2e20
+20207c0d0a20202020202020207c2060466c7569644461746160207c2020436f6e7461696e7320
+656e727970746564207061796d656e74206461746120666f722075736520776974682074686520
+666f6c6c6f77696e67207470796573206f66207472616e73616374696f6e73202d0d0a20202020
+202020207c207c202a205669736120436865636b6f7574207c0d0a20202020202020207c207c20
+2a20417574686f72697a652e4e657420416363657074207c0d0a20202020202020207c207c202a
+204170706c6520506179207c0d0a20202020202020207c207c202a20416e64726f696420506179
+207c0d0a20202020202020207c2060437573746f6d65725061796d656e7460207c20436f6e7461
+696e732074686520417574686f72697a652e4e657420637573746f6d65722070726f66696c6520
+696e666f726d6174696f6e206e656365737361727920746f206372656174652061207061796d65
+6e74207472616e73616374696f6e2066726f6d2073746f726564207061796d656e742064617461
+2e207c0d0a202020202020747970653a206f626a6563740d0a20202020202070726f7065727469
+65733a0d0a2020202020202020636172643a0d0a20202020202020202020247265663a2027232f
+646566696e6974696f6e732f63617264270d0a202020202020202062616e6b4163636f756e743a
+0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f62616e6b4163
+636f756e74270d0a2020202020202020666c756964446174613a0d0a2020202020202020202024
+7265663a2027232f646566696e6974696f6e732f666c75696444617461270d0a20202020202020
+20637573746f6d65723a0d0a20202020202020202020247265663a2027232f646566696e697469
+6f6e732f637573746f6d65725061796d656e74270d0a2020202020202020746f6b656e697a6564
+436172643a0d0a20202020202020202020247265663a2027232f646566696e6974696f6e732f74
+6f6b656e697a656443617264270d0a202020202020202076616c69646174653a0d0a2020202020
+2020202020747970653a20626f6f6c65616e0d0a20202020202020202020782d6578616d706c65
+3a202774727565270d0a202020202020202020206465736372697074696f6e3a207c2d0d0a2020
+2020202020202020202049662074686520637573746f6d65722070726f66696c6520636f6e7461
+696e73206e6f207061796d656e7420646174612c2074686973206669656c642073686f756c6420
+6e6f742062652073656e742e0d0a20200d0a2020202020202020202020205375626d697474696e
+672074686973206669656c64207769746820612076616c7565206f66206074727565602073656e
+64732061202430206f722024302e30312028646570656e64696e67206f6e206361726420747970
+6520616e642070726f636573736f7229206c697665207472616e73616374696f6e206973207072
+6f63657373656420666f7220746865206361726420616e64207468656e20696d6d656469617465
+6c7920766f696465642e204164647265737320697320726571756972656420666f722063617264
+73207468617420737570706f727420243020617574686f72697a6174696f6e7320616e64207769
+6c6c2062652076616c69646174656420616c6f6e672077697468206361726420636f6465206966
+207375626d69747465642e0d0a20200d0a2020202020202020202020205375626d697474696e67
+2074686973206669656c64207769746820612076616c7565206f662066616c73652c2074686520
+6361726420646174612069732076616c696461746564207573696e672073696d706c65206d6174
+68656d61746963616c20636865636b7320746f20636f6e6669726d207468617420697420617070
+6561727320746f2062652076616c69642e204974206973206e6f7420612067756172616e746565
+2074686174207468652063617264206973206c65676974696d61746520616e6420637573746f6d
+65722064617461206973206e6f742076616c6964617465642e0d0a2020202073656c664c696e6b
+3a0d0a20202020202070726f706572746965733a0d0a202020202020202073656c663a0d0a2020
+2020202020202020247265663a2027232f646566696e6974696f6e732f6c696e6b270d0a202020
+20746f6b656e697a6564436172643a0d0a202020202020747970653a206f626a6563740d0a2020
+2020202072657175697265643a0d0a20202020202020202d206e756d6265720d0a202020202020
+20202d2065787069726174696f6e4d6f6e74680d0a20202020202020202d206578706972617469
+6f6e596561720d0a20202020202020202d2063727970746f6772616d0d0a20202020202070726f
+706572746965733a0d0a20202020202020206e756d6265723a0d0a202020202020202020207479
+70653a20737472696e670d0a202020202020202020206465736372697074696f6e3a2054686520
+637265646974206361726420746f6b656e2e0d0a202020202020202065787069726174696f6e4d
+6f6e74683a0d0a20202020202020202020747970653a20737472696e670d0a2020202020202020
+20206465736372697074696f6e3a202754686520746f6b656e2727732065787069726174696f6e
+206d6f6e746820696e204d4d20666f726d61742e20557365207468652076616c7565206f662074
+686520746f6b656e2727732065787069726174696f6e20646174652c206e6f7420746865206361
+72642727732065787069726174696f6e20646174652e270d0a2020202020202020657870697261
+74696f6e596561723a0d0a20202020202020202020747970653a20737472696e670d0a20202020
+2020202020206465736372697074696f6e3a202754686520746f6b656e27277320657870697261
+74696f6e207965617220696e205959595920666f726d61742e20557365207468652076616c7565
+206f662074686520746f6b656e2727732065787069726174696f6e20646174652c206e6f742074
+686520636172642727732065787069726174696f6e20646174652e270d0a202020202020202063
+727970746f6772616d3a0d0a20202020202020202020747970653a20737472696e670d0a202020
+202020202020206465736372697074696f6e3a2027536574207468697320746f20746865207661
+6c7565206f66207468652063727970746f6772616d2072656365697665642066726f6d20746865
+20746f6b656e2070726f76696465722e2054686973206669656c6420636f6e6669726d73207468
+617420746865207061796d656e74206461746120697320746f6b656e697a65642c20616e642069
+74206d757374206265207375626d6974746564207768656e207468652063726564697420636172
+64206e756d626572206973206120746f6b656e697a65642063726564697420636172642e270d0a
+202020202020202020200d0a3d00000043003a005c00550073006500720073005c003200380030
+0038003900300034005c0041007000700044006100740061005c004c006f00630061006c005c00
+540065006d0070005c0061006e00650074002d0073007700610067006700650072002d00610070
+00690020002800320029002e00790061006d006c001500000061006e00650074002d0073007700
+610067006700650072002d006100700069002e00790061006d006c003200000043003a005c0055
+0073006500720073005c0032003800300038003900300034005c0041004e006500740053007700
+610067006700650072005c0061006e00650074002d0073007700610067006700650072002d0061
+00700069002e00790061006d006c00
+01050000
+00000000
+}{\result{\pict{\*\picprop}\wmetafile8\picw3405\pich1245\picwgoal3405\pichgoal1245
+010009000003c10f00000200a10d00000000050000000b0200000000050000000c025200e2001c
+000000fb02eeff000000000000900100000001000000005365676f65205549000000003cc2edda
+f87f000051170a510000000051170a51040000002d010000050000000902000000000500000001
+02ffffff00a5010000410bc6008800300030000000000030003000000059002800000030000000
+600000000100010000000000000300000000000000000000000000000000000000000000ffffff
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000a10d0000410b4600660030
+0030000000000030003000000059002800000030000000300000000100180000000000001b0000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000007475797477797477797477797477797477797477797477797477
+797477797477797477797477797477797477797477797477797477797477797477797477797477
+797477797477797477797477797477797477797477797477797477797477797477797475790000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+00747779fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafa7477790000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000747779fafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafa7477790000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000747779fafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa7477
+790000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000747779fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafa7477790000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000747779fafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafa7477790000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000747779fafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fa7477790000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000747779fafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafa7477790000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000747779fafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafa7477790000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000747779fafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafa7477790000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000747779fafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa7477790000000000
+000000000000000000000000000000000000000000000000000000000000000000000000007477
+79fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafa7477790000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000747779fafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafa7477790000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000747779fafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa7477790000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+00747779fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafa7477790000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000747779fafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafa7477790000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000747779fafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa7477
+790000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000747779fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafa7477790000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000747779fafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafa7477790000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000747779fafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fa7477790000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000747779fafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafa7477790000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000747779fafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafa7477790000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000747779fafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafa7477790000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000747779fafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa7477790000000000
+000000000000000000000000000000000000000000000000000000000000000000000000007477
+79fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafa7477790000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000747779fafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafa7477790000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000747779fafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa7477790000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+00747779fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafa7477790000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000747779fafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafa7477790000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000747779fafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa7477
+790000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000747779fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafa7477790000000000000000000000
+00000000000000000000000000000000000000000000000000000000000000747779fafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafa7477790000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000747779fafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fa7477790000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000747779fafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa8487
+897477797477797477797477797477797477797477797477797477797375790000000000000000
+00000000000000000000000000000000000000000000000000000000000000000000747779fafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafa747779fafafafafafafafafafafa
+fafafafafafafafafafac7c9ca7375796f77770000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000747779fafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafa747779fafafafafafafafafafafafafafafafafafac7c9ca7375
+796f77770000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000747779fafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fa747779fafafafafafafafafafafafafafafac7c9ca7375796f77770000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000007477
+79fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafa747779fafafafafafafafa
+fafafafabfc0c27375796f77770000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000747779fafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafa747779fafafafafafafafafab7b8ba7375796f77770000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000747779fafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafa747779fafafafafafab7b8ba7375796f77770000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+00747779fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa747779fafafab7b8
+ba7375796f77770000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000000000000000000000000000747779fafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafa747779b7b8ba7375796f77770000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+00000000000000000000000000000000747779fafafafafafafafafafafafafafafafafafafafa
+fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafa
+fafafafafafafa7477797375796f77770000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000007475797477797477797477797477797477797477797477797477797477797477797477
+797477797477797477797477797477797477797477797477797477797477797477797375796f77
+770000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000000000000000000000000000000
+000000000000000000000000000000000000000000000000000500000002010100000005000000
+2e01060000001100000021051500616e65742d737761676765722d6170692e79616d6c00310071
+001c000000fb021400090000000000bc02000000000102022253797374656d004a56010000f07e
+1b4a56010000020000000000000088d0e7ec040000002d010100030000000000
+}}}\par
+}
+
\ No newline at end of file
diff --git a/Documents/Zapier doc.docx b/Documents/Zapier doc.docx
new file mode 100644
index 00000000..4458acc2
Binary files /dev/null and b/Documents/Zapier doc.docx differ