aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2020-01-26 20:38:56 +0100
committerJay Berkenbilt <ejb@ql.org>2020-01-26 20:44:03 +0100
commit12777a04ca85e69a26732bfa8604af8d23f8bfe1 (patch)
treeac74b11047069166807a2c5c1a890daf8e184e68
parent656d7bc006c9230beceef4940ed0922ab4cd88f7 (diff)
downloadqpdf-12777a04ca85e69a26732bfa8604af8d23f8bfe1.tar.zst
Add encrypt key to json
-rw-r--r--ChangeLog4
-rw-r--r--manual/qpdf-manual.xml12
-rw-r--r--qpdf/qpdf.cc189
-rw-r--r--qpdf/qtest/qpdf.test55
-rw-r--r--qpdf/qtest/qpdf/direct-pages-json.out27
-rw-r--r--qpdf/qtest/qpdf/json-V4-aes-encrypt---show-encryption-key.out33
-rw-r--r--qpdf/qtest/qpdf/json-V4-aes-encrypt.out33
-rw-r--r--qpdf/qtest/qpdf/json-field-types---show-encryption-key.out2721
-rw-r--r--qpdf/qtest/qpdf/json-field-types.out27
-rw-r--r--qpdf/qtest/qpdf/json-image-streams-all.out27
-rw-r--r--qpdf/qtest/qpdf/json-image-streams-small.out27
-rw-r--r--qpdf/qtest/qpdf/json-image-streams-specialized.out27
-rw-r--r--qpdf/qtest/qpdf/json-image-streams.out27
-rw-r--r--qpdf/qtest/qpdf/json-outlines-with-actions.out27
-rw-r--r--qpdf/qtest/qpdf/json-outlines-with-old-root-dests.out27
-rw-r--r--qpdf/qtest/qpdf/json-page-labels-and-outlines.out27
-rw-r--r--qpdf/qtest/qpdf/json-page-labels-num-tree.out27
-rw-r--r--qpdf/qtest/qpdf/page_api_2-json.out27
18 files changed, 3341 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 254c589e..68aff3fe 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2020-01-26 Jay Berkenbilt <ejb@ql.org>
+ * Add "encrypt" key to the json output. This contains largely the
+ same information as given by --show-encryption but in a
+ consistent, parseable format.
+
* Add options --is-encrypted and --requires-password. These can be
used with files, including encrypted files with unknown passwords,
to determine whether or not a file is encrypted and whether a
diff --git a/manual/qpdf-manual.xml b/manual/qpdf-manual.xml
index 3f455d83..343dbf63 100644
--- a/manual/qpdf-manual.xml
+++ b/manual/qpdf-manual.xml
@@ -4725,6 +4725,18 @@ print "\n";
</para>
</listitem>
</itemizedlist>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Added <literal>encrypt</literal> key to JSON options. With
+ the exception of the reconstructed user password for older
+ encryption formats, this provides the same information as
+ <option>--show-encryption</option> but in a consistent,
+ parseable format. See output of <command>qpdf
+ --json-help</command> for details.
+ </para>
+ </listitem>
+ </itemizedlist>
</listitem>
</itemizedlist>
</listitem>
diff --git a/qpdf/qpdf.cc b/qpdf/qpdf.cc
index 0ea32b8c..9be49ac5 100644
--- a/qpdf/qpdf.cc
+++ b/qpdf/qpdf.cc
@@ -564,6 +564,83 @@ static JSON json_schema(std::set<std::string>* keys = 0)
"annotation flags from /F --"
" see pdf_annotation_flag_e in qpdf/Constants.h"));
}
+ if (all_keys || keys->count("encrypt"))
+ {
+ JSON encrypt = schema.addDictionaryMember(
+ "encrypt", JSON::makeDictionary());
+ encrypt.addDictionaryMember(
+ "encrypted",
+ JSON::makeString("whether the document is encrypted"));
+ encrypt.addDictionaryMember(
+ "userpasswordmatched",
+ JSON::makeString("whether supplied password matched user password;"
+ " always false for non-encrypted files"));
+ encrypt.addDictionaryMember(
+ "ownerpasswordmatched",
+ JSON::makeString("whether supplied password matched owner password;"
+ " always false for non-encrypted files"));
+ JSON capabilities = encrypt.addDictionaryMember(
+ "capabilities", JSON::makeDictionary());
+ capabilities.addDictionaryMember(
+ "accessibility",
+ JSON::makeString("allow extraction for accessibility?"));
+ capabilities.addDictionaryMember(
+ "extract",
+ JSON::makeString("allow extraction?"));
+ capabilities.addDictionaryMember(
+ "printlow",
+ JSON::makeString("allow low resolution printing?"));
+ capabilities.addDictionaryMember(
+ "printhigh",
+ JSON::makeString("allow high resolution printing?"));
+ capabilities.addDictionaryMember(
+ "modifyassembly",
+ JSON::makeString("allow modifying document assembly?"));
+ capabilities.addDictionaryMember(
+ "modifyforms",
+ JSON::makeString("allow modifying forms?"));
+ capabilities.addDictionaryMember(
+ "moddifyannotations",
+ JSON::makeString("allow modifying annotations?"));
+ capabilities.addDictionaryMember(
+ "modifyother",
+ JSON::makeString("allow other modifications?"));
+ capabilities.addDictionaryMember(
+ "modify",
+ JSON::makeString("allow all modifications?"));
+
+ JSON parameters = encrypt.addDictionaryMember(
+ "parameters", JSON::makeDictionary());
+ parameters.addDictionaryMember(
+ "R",
+ JSON::makeString("R value from Encrypt dictionary"));
+ parameters.addDictionaryMember(
+ "V",
+ JSON::makeString("V value from Encrypt dictionary"));
+ parameters.addDictionaryMember(
+ "P",
+ JSON::makeString("P value from Encrypt dictionary"));
+ parameters.addDictionaryMember(
+ "bits",
+ JSON::makeString("encryption key bit length"));
+ parameters.addDictionaryMember(
+ "key",
+ JSON::makeString("encryption key; will be null"
+ " unless --show-encryption-key was specified"));
+ parameters.addDictionaryMember(
+ "method",
+ JSON::makeString("overall encryption method:"
+ " none, mixed, RC4, AESv2, AESv3"));
+ parameters.addDictionaryMember(
+ "streammethod",
+ JSON::makeString("encryption method for streams"));
+ parameters.addDictionaryMember(
+ "stringmethod",
+ JSON::makeString("encryption method for string"));
+ parameters.addDictionaryMember(
+ "filemethod",
+ JSON::makeString("encryption method for attachments"));
+ }
return schema;
}
@@ -936,7 +1013,8 @@ ArgParser::initOptionTable()
// The list of selectable top-level keys id duplicated in three
// places: json_schema, do_json, and initOptionTable.
char const* json_key_choices[] = {
- "objects", "pages", "pagelabels", "outlines", "acroform", 0};
+ "objects", "pages", "pagelabels", "outlines", "acroform",
+ "encrypt", 0};
(*t)["json-key"] = oe_requiredChoices(
&ArgParser::argJsonKey, json_key_choices);
(*t)["json-object"] = oe_requiredParameter(
@@ -1568,8 +1646,11 @@ ArgParser::argJsonHelp()
<< std::endl
<< "specify a subset of top-level keys when you invoke qpdf, but the \"version\""
<< std::endl
- << "and \"parameters\" keys will always be present."
+ << "and \"parameters\" keys will always be present. Note that the \"encrypt\""
+ << std::endl
+ << "key's values will be populated for non-encrypted files. Some values will"
<< std::endl
+ << "be null, and others will have values that apply to unencrypted files."
<< std::endl
<< json_schema().unparse()
<< std::endl;
@@ -3817,6 +3898,106 @@ static void do_json_acroform(QPDF& pdf, Options& o, JSON& j)
}
}
+static void do_json_encrypt(QPDF& pdf, Options& o, JSON& j)
+{
+ int R = 0;
+ int P = 0;
+ int V = 0;
+ QPDF::encryption_method_e stream_method = QPDF::e_none;
+ QPDF::encryption_method_e string_method = QPDF::e_none;
+ QPDF::encryption_method_e file_method = QPDF::e_none;
+ bool is_encrypted = pdf.isEncrypted(
+ R, P, V, stream_method, string_method, file_method);
+ JSON j_encrypt = j.addDictionaryMember(
+ "encrypt", JSON::makeDictionary());
+ j_encrypt.addDictionaryMember(
+ "encrypted",
+ JSON::makeBool(is_encrypted));
+ j_encrypt.addDictionaryMember(
+ "userpasswordmatched",
+ JSON::makeBool(is_encrypted && pdf.userPasswordMatched()));
+ j_encrypt.addDictionaryMember(
+ "ownerpasswordmatched",
+ JSON::makeBool(is_encrypted && pdf.ownerPasswordMatched()));
+ JSON j_capabilities = j_encrypt.addDictionaryMember(
+ "capabilities", JSON::makeDictionary());
+ j_capabilities.addDictionaryMember(
+ "accessibility",
+ JSON::makeBool(pdf.allowAccessibility()));
+ j_capabilities.addDictionaryMember(
+ "extract",
+ JSON::makeBool(pdf.allowExtractAll()));
+ j_capabilities.addDictionaryMember(
+ "printlow",
+ JSON::makeBool(pdf.allowPrintLowRes()));
+ j_capabilities.addDictionaryMember(
+ "printhigh",
+ JSON::makeBool(pdf.allowPrintHighRes()));
+ j_capabilities.addDictionaryMember(
+ "modifyassembly",
+ JSON::makeBool(pdf.allowModifyAssembly()));
+ j_capabilities.addDictionaryMember(
+ "modifyforms",
+ JSON::makeBool(pdf.allowModifyForm()));
+ j_capabilities.addDictionaryMember(
+ "moddifyannotations",
+ JSON::makeBool(pdf.allowModifyAnnotation()));
+ j_capabilities.addDictionaryMember(
+ "modifyother",
+ JSON::makeBool(pdf.allowModifyOther()));
+ j_capabilities.addDictionaryMember(
+ "modify",
+ JSON::makeBool(pdf.allowModifyAll()));
+ JSON j_parameters = j_encrypt.addDictionaryMember(
+ "parameters", JSON::makeDictionary());
+ j_parameters.addDictionaryMember("R", JSON::makeInt(R));
+ j_parameters.addDictionaryMember("V", JSON::makeInt(V));
+ j_parameters.addDictionaryMember("P", JSON::makeInt(P));
+ int bits = 0;
+ JSON key = JSON::makeNull();
+ if (is_encrypted)
+ {
+ std::string encryption_key = pdf.getEncryptionKey();
+ bits = QIntC::to_int(encryption_key.length() * 8);
+ if (o.show_encryption_key)
+ {
+ key = JSON::makeString(QUtil::hex_encode(encryption_key));
+ }
+ }
+ j_parameters.addDictionaryMember("bits", JSON::makeInt(bits));
+ j_parameters.addDictionaryMember("key", key);
+ auto fix_method = [is_encrypted](QPDF::encryption_method_e& m) {
+ if (is_encrypted && m == QPDF::e_none)
+ {
+ m = QPDF::e_rc4;
+ }
+ };
+ fix_method(stream_method);
+ fix_method(string_method);
+ fix_method(file_method);
+ std::string s_stream_method = show_encryption_method(stream_method);
+ std::string s_string_method = show_encryption_method(string_method);
+ std::string s_file_method = show_encryption_method(file_method);
+ std::string s_overall_method;
+ if ((stream_method == string_method) &&
+ (stream_method == file_method))
+ {
+ s_overall_method = s_stream_method;
+ }
+ else
+ {
+ s_overall_method = "mixed";
+ }
+ j_parameters.addDictionaryMember(
+ "method", JSON::makeString(s_overall_method));
+ j_parameters.addDictionaryMember(
+ "streammethod", JSON::makeString(s_stream_method));
+ j_parameters.addDictionaryMember(
+ "stringmethod", JSON::makeString(s_string_method));
+ j_parameters.addDictionaryMember(
+ "filemethod", JSON::makeString(s_file_method));
+}
+
static void do_json(QPDF& pdf, Options& o)
{
JSON j = JSON::makeDictionary();
@@ -3869,6 +4050,10 @@ static void do_json(QPDF& pdf, Options& o)
{
do_json_acroform(pdf, o, j);
}
+ if (all_keys || o.json_keys.count("encrypt"))
+ {
+ do_json_encrypt(pdf, o, j);
+ }
// Check against schema
diff --git a/qpdf/qtest/qpdf.test b/qpdf/qtest/qpdf.test
index 57308291..bfc20178 100644
--- a/qpdf/qtest/qpdf.test
+++ b/qpdf/qtest/qpdf.test
@@ -607,6 +607,7 @@ my @json_files = (
['image-streams', []],
['image-streams-small', []],
['field-types', []],
+ ['field-types', ['--show-encryption-key']],
['image-streams', ['--decode-level=all']],
['image-streams', ['--decode-level=specialized']],
['page-labels-and-outlines', ['--json-key=objects']],
@@ -621,6 +622,8 @@ my @json_files = (
['--json-key=objects', '--json-object=trailer', '--json-object=2 0 R']],
['field-types', ['--json-key=acroform']],
['need-appearances', ['--json-key=acroform']],
+ ['V4-aes', ['--json-key=encrypt']],
+ ['V4-aes', ['--json-key=encrypt', '--show-encryption-key']],
);
$n_tests += scalar(@json_files);
foreach my $d (@json_files)
@@ -3176,7 +3179,7 @@ my @encrypted_files =
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
);
-$n_tests += 5 + (2 * (@encrypted_files)) + (6 * (@encrypted_files - 6)) + 9;
+$n_tests += 5 + (2 * (@encrypted_files)) + (7 * (@encrypted_files - 6)) + 9;
$td->runtest("encrypted file",
{$td->COMMAND => "test_driver 2 encrypted-with-images.pdf"},
@@ -3216,7 +3219,9 @@ foreach my $d (@encrypted_files)
$modifyother, $modifyall) = @$d;
my $f = sub { $_[0] ? "allowed" : "not allowed" };
+ my $jf = sub { $_[0] ? "true" : "false" };
my $enc_details = "";
+ my $enc_json = "{\n \"encrypt\": {\n \"capabilities\": {\n";
if ($match_owner)
{
$enc_details .= "Supplied password is owner password\n";
@@ -3235,6 +3240,37 @@ foreach my $d (@encrypted_files)
"modify annotations: " . &$f($modifyannot) . "\n" .
"modify other: " . &$f($modifyother) . "\n" .
"modify anything: " . &$f($modifyall) . "\n";
+ $enc_json .=
+ " \"accessibility\": " . &$jf($accessible) . ",\n" .
+ " \"extract\": " . &$jf($extract) . ",\n" .
+ " \"moddifyannotations\": " . &$jf($modifyannot) . ",\n" .
+ " \"modify\": " . &$jf($modifyall) . ",\n" .
+ " \"modifyassembly\": " . &$jf($modifyassembly) . ",\n" .
+ " \"modifyforms\": " . &$jf($modifyform) . ",\n" .
+ " \"modifyother\": " . &$jf($modifyother) . ",\n" .
+ " \"printhigh\": " . &$jf($printhigh) . ",\n" .
+ " \"printlow\": " . &$jf($printlow) . "\n" .
+ " },\n" .
+ " \"encrypted\": true,\n" .
+ " \"ownerpasswordmatched\": ---opm---,\n" .
+ " \"parameters\": {\n" .
+ " \"P\": ---P---,\n" .
+ " \"R\": ---R---,\n" .
+ " \"V\": ---V---,\n" .
+ " \"bits\": ---bits---,\n" .
+ " \"filemethod\": \"---method---\",\n" .
+ " \"key\": null,\n" .
+ " \"method\": \"---method---\",\n" .
+ " \"streammethod\": \"---method---\",\n" .
+ " \"stringmethod\": \"---method---\"\n" .
+ " },\n" .
+ " \"userpasswordmatched\": ---upm---\n" .
+ " },\n" .
+ " \"parameters\": {\n" .
+ " \"decodelevel\": \"generalized\"\n" .
+ " },\n" .
+ " \"version\": 1\n" .
+ "}\n";
if ($file =~ m/XI-/)
{
$enc_details .=
@@ -3277,6 +3313,16 @@ foreach my $d (@encrypted_files)
my $upass = $3 || "";
my $opass = $4 || "";
my $bits = (($V == 5) ? 256 : ($V == 2) ? 128 : 40);
+ my $method = $bits == 256 ? "AESv3" : "RC4";
+ my $opm = ($pass eq $opass ? "true" : "false");
+ my $upm = ($pass eq $upass ? "true" : "false");
+ $enc_json =~ s/---R---/$R/;
+ $enc_json =~ s/---P---/$P/;
+ $enc_json =~ s/---V---/$V/;
+ $enc_json =~ s/---bits---/$bits/;
+ $enc_json =~ s/---method---/$method/g;
+ $enc_json =~ s/---opm---/$opm/;
+ $enc_json =~ s/---upm---/$upm/;
my $eflags = "-encrypt \"$upass\" \"$opass\" $bits $xeflags --";
if (($pass ne $upass) && ($V >= 5))
@@ -3307,6 +3353,13 @@ foreach my $d (@encrypted_files)
"User password = $upass\n$enc_details",
$td->EXIT_STATUS => 0},
$td->NORMALIZE_NEWLINES);
+ $td->runtest("json encrypt key ($enc_n)",
+ {$td->COMMAND =>
+ "qpdf --json --json-key=encrypt" .
+ " --password=\"$pass\"" .
+ " $file.enc2"},
+ {$td->STRING => $enc_json, $td->EXIT_STATUS => 0},
+ $td->NORMALIZE_NEWLINES);
$td->runtest("decrypt again",
{$td->COMMAND =>
"qpdf --static-id --no-original-object-ids -qdf" .
diff --git a/qpdf/qtest/qpdf/direct-pages-json.out b/qpdf/qtest/qpdf/direct-pages-json.out
index c003161a..9e051daf 100644
--- a/qpdf/qtest/qpdf/direct-pages-json.out
+++ b/qpdf/qtest/qpdf/direct-pages-json.out
@@ -4,6 +4,33 @@
"hasacroform": false,
"needappearances": false
},
+ "encrypt": {
+ "capabilities": {
+ "accessibility": true,
+ "extract": true,
+ "moddifyannotations": true,
+ "modify": true,
+ "modifyassembly": true,
+ "modifyforms": true,
+ "modifyother": true,
+ "printhigh": true,
+ "printlow": true
+ },
+ "encrypted": false,
+ "ownerpasswordmatched": false,
+ "parameters": {
+ "P": 0,
+ "R": 0,
+ "V": 0,
+ "bits": 0,
+ "filemethod": "none",
+ "key": null,
+ "method": "none",
+ "streammethod": "none",
+ "stringmethod": "none"
+ },
+ "userpasswordmatched": false
+ },
"objects": {
"1 0 R": {
"/Pages": "2 0 R",
diff --git a/qpdf/qtest/qpdf/json-V4-aes-encrypt---show-encryption-key.out b/qpdf/qtest/qpdf/json-V4-aes-encrypt---show-encryption-key.out
new file mode 100644
index 00000000..4ee54881
--- /dev/null
+++ b/qpdf/qtest/qpdf/json-V4-aes-encrypt---show-encryption-key.out
@@ -0,0 +1,33 @@
+{
+ "encrypt": {
+ "capabilities": {
+ "accessibility": true,
+ "extract": true,
+ "moddifyannotations": true,
+ "modify": true,
+ "modifyassembly": true,
+ "modifyforms": true,
+ "modifyother": true,
+ "printhigh": true,
+ "printlow": true
+ },
+ "encrypted": true,
+ "ownerpasswordmatched": true,
+ "parameters": {
+ "P": -4,
+ "R": 4,
+ "V": 4,
+ "bits": 128,
+ "filemethod": "AESv2",
+ "key": "474258b004f2ce0017adeb6e79574357",
+ "method": "AESv2",
+ "streammethod": "AESv2",
+ "stringmethod": "AESv2"
+ },
+ "userpasswordmatched": true
+ },
+ "parameters": {
+ "decodelevel": "generalized"
+ },
+ "version": 1
+}
diff --git a/qpdf/qtest/qpdf/json-V4-aes-encrypt.out b/qpdf/qtest/qpdf/json-V4-aes-encrypt.out
new file mode 100644
index 00000000..77f32c23
--- /dev/null
+++ b/qpdf/qtest/qpdf/json-V4-aes-encrypt.out
@@ -0,0 +1,33 @@
+{
+ "encrypt": {
+ "capabilities": {
+ "accessibility": true,
+ "extract": true,
+ "moddifyannotations": true,
+ "modify": true,
+ "modifyassembly": true,
+ "modifyforms": true,
+ "modifyother": true,
+ "printhigh": true,
+ "printlow": true
+ },
+ "encrypted": true,
+ "ownerpasswordmatched": true,
+ "parameters": {
+ "P": -4,
+ "R": 4,
+ "V": 4,
+ "bits": 128,
+ "filemethod": "AESv2",
+ "key": null,
+ "method": "AESv2",
+ "streammethod": "AESv2",
+ "stringmethod": "AESv2"
+ },
+ "userpasswordmatched": true
+ },
+ "parameters": {
+ "decodelevel": "generalized"
+ },
+ "version": 1
+}
diff --git a/qpdf/qtest/qpdf/json-field-types---show-encryption-key.out b/qpdf/qtest/qpdf/json-field-types---show-encryption-key.out
new file mode 100644
index 00000000..e324ecd6
--- /dev/null
+++ b/qpdf/qtest/qpdf/json-field-types---show-encryption-key.out
@@ -0,0 +1,2721 @@
+{
+ "acroform": {
+ "fields": [
+ {
+ "alternativename": "text",
+ "annotation": {
+ "annotationflags": 4,
+ "appearancestate": "",
+ "object": "4 0 R"
+ },
+ "choices": [],
+ "defaultvalue": "",
+ "fieldflags": 0,
+ "fieldtype": "/Tx",
+ "fullname": "text",
+ "ischeckbox": false,
+ "ischoice": false,
+ "isradiobutton": false,
+ "istext": true,
+ "mappingname": "text",
+ "object": "4 0 R",
+ "pageposfrom1": 1,
+ "parent": null,
+ "partialname": "text",
+ "quadding": 0,
+ "value": ""
+ },
+ {
+ "alternativename": "r1",
+ "annotation": {
+ "annotationflags": 4,
+ "appearancestate": "/1",
+ "object": "21 0 R"
+ },
+ "choices": [],
+ "defaultvalue": "/1",
+ "fieldflags": 49152,
+ "fieldtype": "/Btn",
+ "fullname": "r1",
+ "ischeckbox": false,
+ "ischoice": false,
+ "isradiobutton": true,
+ "istext": false,
+ "mappingname": "r1",
+ "object": "21 0 R",
+ "pageposfrom1": 1,
+ "parent": "5 0 R",
+ "partialname": "",
+ "quadding": 0,
+ "value": "/1"
+ },
+ {
+ "alternativename": "r1",
+ "annotation": {
+ "annotationflags": 4,
+ "appearancestate": "/Off",
+ "object": "22 0 R"
+ },
+ "choices": [],
+ "defaultvalue": "/1",
+ "fieldflags": 49152,
+ "fieldtype": "/Btn",
+ "fullname": "r1",
+ "ischeckbox": false,
+ "ischoice": false,
+ "isradiobutton": true,
+ "istext": false,
+ "mappingname": "r1",
+ "object": "22 0 R",
+ "pageposfrom1": 1,
+ "parent": "5 0 R",
+ "partialname": "",
+ "quadding": 0,
+ "value": "/1"
+ },
+ {
+ "alternativename": "r1",
+ "annotation": {
+ "annotationflags": 4,
+ "appearancestate": "/Off",
+ "object": "23 0 R"
+ },
+ "choices": [],
+ "defaultvalue": "/1",
+ "fieldflags": 49152,
+ "fieldtype": "/Btn",
+ "fullname": "r1",
+ "ischeckbox": false,
+ "ischoice": false,
+ "isradiobutton": true,
+ "istext": false,
+ "mappingname": "r1",
+ "object": "23 0 R",
+ "pageposfrom1": 1,
+ "parent": "5 0 R",
+ "partialname": "",
+ "quadding": 0,
+ "value": "/1"
+ },
+ {
+ "alternativename": "checkbox1",
+ "annotation": {
+ "annotationflags": 4,
+ "appearancestate": "/Off",
+ "object": "6 0 R"
+ },
+ "choices": [],
+ "defaultvalue": "/Off",
+ "fieldflags": 0,
+ "fieldtype": "/Btn",
+ "fullname": "checkbox1",
+ "ischeckbox": true,
+ "ischoice": false,
+ "isradiobutton": false,
+ "istext": false,
+ "mappingname": "checkbox1",
+ "object": "6 0 R",
+ "pageposfrom1": 1,
+ "parent": null,
+ "partialname": "checkbox1",
+ "quadding": 0,
+ "value": "/Off"
+ },
+ {
+ "alternativename": "checkbox2",
+ "annotation": {
+ "annotationflags": 4,
+ "appearancestate": "/Yes",
+ "object": "7 0 R"
+ },
+ "choices": [],
+ "defaultvalue": "/Yes",
+ "fieldflags": 0,
+ "fieldtype": "/Btn",
+ "fullname": "checkbox2",
+ "ischeckbox": true,
+ "ischoice": false,
+ "isradiobutton": false,
+ "istext": false,
+ "mappingname": "checkbox2",
+ "object": "7 0 R",
+ "pageposfrom1": 1,
+ "parent": null,
+ "partialname": "checkbox2",
+ "quadding": 0,
+ "value": "/Yes"
+ },
+ {
+ "alternativename": "checkbox3",
+ "annotation": {
+ "annotationflags": 4,
+ "appearancestate": "/Off",
+ "object": "8 0 R"
+ },
+ "choices": [],
+ "defaultvalue": "/Off",
+ "fieldflags": 0,
+ "fieldtype": "/Btn",
+ "fullname": "checkbox3",
+ "ischeckbox": true,
+ "ischoice": false,
+ "isradiobutton": false,
+ "istext": false,
+ "mappingname": "checkbox3",
+ "object": "8 0 R",
+ "pageposfrom1": 1,
+ "parent": null,
+ "partialname": "checkbox3",
+ "quadding": 0,
+ "value": "/Off"
+ },
+ {
+ "alternativename": "r2",
+ "annotation": {
+ "annotationflags": 4,
+ "appearancestate": "/Off",
+ "object": "37 0 R"
+ },
+ "choices": [],
+ "defaultvalue": "/2",
+ "fieldflags": 49152,
+ "fieldtype": "/Btn",
+ "fullname": "r2",
+ "ischeckbox": false,
+ "ischoice": false,
+ "isradiobutton": true,
+ "istext": false,
+ "mappingname": "r2",
+ "object": "37 0 R",
+ "pageposfrom1": 1,
+ "parent": "9 0 R",
+ "partialname": "",
+ "quadding": 0,
+ "value": "/2"
+ },
+ {
+ "alternativename": "r2",
+ "annotation": {
+ "annotationflags": 4,
+ "appearancestate": "/2",
+ "object": "38 0 R"
+ },
+ "choices": [],
+ "defaultvalue": "/2",
+ "fieldflags": 49152,
+ "fieldtype": "/Btn",
+ "fullname": "r2",
+ "ischeckbox": false,
+ "ischoice": false,
+ "isradiobutton": true,
+ "istext": false,
+ "mappingname": "r2",
+ "object": "38 0 R",
+ "pageposfrom1": 1,
+ "parent": "9 0 R",
+ "partialname": "",
+ "quadding": 0,
+ "value": "/2"
+ },
+ {
+ "alternativename": "r2",
+ "annotation": {
+ "annotationflags": 4,
+ "appearancestate": "/Off",
+ "object": "39 0 R"
+ },
+ "choices": [],
+ "defaultvalue": "/2",
+ "fieldflags": 49152,
+ "fieldtype": "/Btn",
+ "fullname": "r2",
+ "ischeckbox": false,
+ "ischoice": false,
+ "isradiobutton": true,
+ "istext": false,
+ "mappingname": "r2",
+ "object": "39 0 R",
+ "pageposfrom1": 1,
+ "parent": "9 0 R",
+ "partialname": "",
+ "quadding": 0,
+ "value": "/2"
+ },
+ {
+ "alternativename": "text2",
+ "annotation": {
+ "annotationflags": 4,
+ "appearancestate": "",
+ "object": "10 0 R"
+ },
+ "choices": [],
+ "defaultvalue": "salad πʬ",
+ "fieldflags": 0,
+ "fieldtype": "/Tx",
+ "fullname": "text2",
+ "ischeckbox": false,
+ "ischoice": false,
+ "isradiobutton": false,
+ "istext": true,
+ "mappingname": "text2",
+ "object": "10 0 R",
+ "pageposfrom1": 1,
+ "parent": null,
+ "partialname": "text2",
+ "quadding": 0,
+ "value": "salad πʬ"
+ },
+ {
+ "alternativename": "combolist1",
+ "annotation": {
+ "annotationflags": 4,
+ "appearancestate": "",
+ "object": "13 0 R"
+ },
+ "choices": [
+ "one",
+ "two",
+ "pi",
+ "four"
+ ],
+ "defaultvalue": "",
+ "fieldflags": 393216,
+ "fieldtype": "/Ch",
+ "fullname": "combolist1",
+ "ischeckbox": false,
+ "ischoice": true,
+ "isradiobutton": false,
+ "istext": false,
+ "mappingname": "combolist1",
+ "object": "13 0 R",
+ "pageposfrom1": 1,
+ "parent": null,
+ "partialname": "combolist1",
+ "quadding": 0,
+ "value": ""
+ },
+ {
+ "alternativename": "list1",
+ "annotation": {
+ "annotationflags": 4,
+ "appearancestate": "",
+ "object": "11 0 R"
+ },
+ "choices": [
+ "five",
+ "six",
+ "seven",
+ "eight"
+ ],
+ "defaultvalue": "",
+ "fieldflags": 0,
+ "fieldtype": "/Ch",
+ "fullname": "list1",
+ "ischeckbox": false,
+ "ischoice": true,
+ "isradiobutton": false,
+ "istext": false,
+ "mappingname": "list1",
+ "object": "11 0 R",
+ "pageposfrom1": 1,
+ "parent": null,
+ "partialname": "list1",
+ "quadding": 0,
+ "value": ""
+ },
+ {
+ "alternativename": "drop1",
+ "annotation": {
+ "annotationflags": 4,
+ "appearancestate": "",
+ "object": "12 0 R"
+ },
+ "choices": [
+ "nine",
+ "ten",
+ "elephant",
+ "twelve"
+ ],
+ "defaultvalue": "",
+ "fieldflags": 131072,
+ "fieldtype": "/Ch",
+ "fullname": "drop1",
+ "ischeckbox": false,
+ "ischoice": true,
+ "isradiobutton": false,
+ "istext": false,
+ "mappingname": "drop1",
+ "object": "12 0 R",
+ "pageposfrom1": 1,
+ "parent": null,
+ "partialname": "drop1",
+ "quadding": 0,
+ "value": ""
+ },
+ {
+ "alternativename": "combodrop1",
+ "annotation": {
+ "annotationflags": 4,
+ "appearancestate": "",
+ "object": "14 0 R"
+ },
+ "choices": [
+ "alpha",
+ "beta",
+ "gamma",
+ "delta"
+ ],
+ "defaultvalue": "",
+ "fieldflags": 393216,
+ "fieldtype": "/Ch",
+ "fullname": "combodrop1",
+ "ischeckbox": false,
+ "ischoice": true,
+ "isradiobutton": false,
+ "istext": false,
+ "mappingname": "combodrop1",
+ "object": "14 0 R",
+ "pageposfrom1": 1,
+ "parent": null,
+ "partialname": "combodrop1",
+ "quadding": 0,
+ "value": ""
+ }
+ ],
+ "hasacroform": true,
+ "needappearances": true
+ },
+ "encrypt": {
+ "capabilities": {
+ "accessibility": true,
+ "extract": true,
+ "moddifyannotations": true,
+ "modify": true,
+ "modifyassembly": true,
+ "modifyforms": true,
+ "modifyother": true,
+ "printhigh": true,
+ "printlow": true
+ },
+ "encrypted": false,
+ "ownerpasswordmatched": false,
+ "parameters": {
+ "P": 0,
+ "R": 0,
+ "V": 0,
+ "bits": 0,
+ "filemethod": "none",
+ "key": null,
+ "method": "none",
+ "streammethod": "none",
+ "stringmethod": "none"
+ },
+ "userpasswordmatched": false
+ },
+ "objects": {
+ "1 0 R": {
+ "/AcroForm": {
+ "/DR": "3 0 R",
+ "/Fields": [
+ "4 0 R",
+ "5 0 R",
+ "6 0 R",
+ "7 0 R",
+ "8 0 R",
+ "9 0 R",
+ "10 0 R",
+ "11 0 R",
+ "12 0 R",
+ "13 0 R",
+ "14 0 R"
+ ],
+ "/NeedAppearances": true
+ },
+ "/Lang": "en-US",
+ "/MarkInfo": {
+ "/Marked": true
+ },
+ "/OpenAction": [
+ "15 0 R",
+ "/XYZ",
+ null,
+ null,
+ 0
+ ],
+ "/Pages": "16 0 R",
+ "/StructTreeRoot": "17 0 R",
+ "/Type": "/Catalog"
+ },
+ "10 0 R": {
+ "/AP": {
+ "/N": "40 0 R"
+ },
+ "/DA": "0.18039 0.20392 0.21176 rg /F2 12 Tf",
+ "/DR": {
+ "/Font": "18 0 R"
+ },
+ "/DV": "salad πʬ",
+ "/F": 4,
+ "/FT": "/Tx",
+ "/P": "15 0 R",
+ "/Rect": [
+ 113.649,
+ 260.151,
+ 351.101,
+ 278.099
+ ],
+ "/Subtype": "/Widget",
+ "/T": "text2",
+ "/Type": "/Annot",
+ "/V": "salad πʬ"
+ },
+ "100 0 R": {
+ "/A": "167 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "101 0 R": {
+ "/A": "168 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "102 0 R": {
+ "/A": "169 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "103 0 R": {
+ "/A": "170 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "104 0 R": {
+ "/A": "171 0 R",
+ "/K": [
+ 4
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "105 0 R": {
+ "/A": "172 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "106 0 R": {
+ "/A": "173 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "107 0 R": {
+ "/A": "174 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "108 0 R": {
+ "/A": "175 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "109 0 R": {
+ "/A": "176 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "11 0 R": {
+ "/AP": {
+ "/N": "42 0 R"
+ },
+ "/DA": "0.18039 0.20392 0.21176 rg /F4 10 Tf",
+ "/DR": {
+ "/Font": "18 0 R"
+ },
+ "/DV": "",
+ "/F": 4,
+ "/FT": "/Ch",
+ "/Opt": [
+ "five",
+ "six",
+ "seven",
+ "eight"
+ ],
+ "/P": "15 0 R",
+ "/Rect": [
+ 158.449,
+ 156.651,
+ 221.001,
+ 232.849
+ ],
+ "/Subtype": "/Widget",
+ "/T": "list1",
+ "/Type": "/Annot",
+ "/V": ""
+ },
+ "110 0 R": {
+ "/A": "177 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "111 0 R": {
+ "/A": "178 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "112 0 R": {
+ "/A": "179 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "113 0 R": {
+ "/A": "180 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "114 0 R": {
+ "/A": "181 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "115 0 R": {
+ "/A": "182 0 R",
+ "/K": [
+ 5
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "116 0 R": {
+ "/A": "183 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "117 0 R": {
+ "/A": "184 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "118 0 R": {
+ "/A": "185 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "119 0 R": {
+ "/A": "186 0 R",
+ "/K": [
+ 6,
+ 7
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "12 0 R": {
+ "/AP": {
+ "/N": "44 0 R"
+ },
+ "/DA": "0.18039 0.20392 0.21176 rg /F4 10 Tf",
+ "/DR": {
+ "/Font": "18 0 R"
+ },
+ "/DV": "",
+ "/F": 4,
+ "/FT": "/Ch",
+ "/Ff": 131072,
+ "/Opt": [
+ "nine",
+ "ten",
+ "elephant",
+ "twelve"
+ ],
+ "/P": "15 0 R",
+ "/Rect": [
+ 159.149,
+ 107.251,
+ 244.201,
+ 130.949
+ ],
+ "/Subtype": "/Widget",
+ "/T": "drop1",
+ "/Type": "/Annot",
+ "/V": ""
+ },
+ "120 0 R": {
+ "/A": "187 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "121 0 R": {
+ "/A": "188 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "122 0 R": {
+ "/A": "189 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "123 0 R": {
+ "/A": "190 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "124 0 R": {
+ "/A": "191 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "125 0 R": {
+ "/A": "192 0 R",
+ "/K": [
+ 8,
+ 9
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "126 0 R": {
+ "/K": [
+ 10
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Form",
+ "/Type": "/StructElem"
+ },
+ "127 0 R": {
+ "/K": [
+ 11
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Form",
+ "/Type": "/StructElem"
+ },
+ "128 0 R": {
+ "/K": [
+ 12
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Form",
+ "/Type": "/StructElem"
+ },
+ "129 0 R": {
+ "/K": [
+ 13
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Form",
+ "/Type": "/StructElem"
+ },
+ "13 0 R": {
+ "/AP": {
+ "/N": "46 0 R"
+ },
+ "/DA": "0.18039 0.20392 0.21176 rg /F4 10 Tf",
+ "/DR": {
+ "/Font": "18 0 R"
+ },
+ "/DV": "",
+ "/F": 4,
+ "/FT": "/Ch",
+ "/Ff": 393216,
+ "/Opt": [
+ "one",
+ "two",
+ "pi",
+ "four"
+ ],
+ "/P": "15 0 R",
+ "/Rect": [
+ 403.949,
+ 159.401,
+ 459.001,
+ 232.849
+ ],
+ "/Subtype": "/Widget",
+ "/T": "combolist1",
+ "/Type": "/Annot",
+ "/V": ""
+ },
+ "130 0 R": {
+ "/K": [
+ 14
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Form",
+ "/Type": "/StructElem"
+ },
+ "131 0 R": {
+ "/K": [
+ 15
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Form",
+ "/Type": "/StructElem"
+ },
+ "132 0 R": {
+ "/K": [
+ 16
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Form",
+ "/Type": "/StructElem"
+ },
+ "133 0 R": {
+ "/K": [
+ 17
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Form",
+ "/Type": "/StructElem"
+ },
+ "134 0 R": {
+ "/K": [
+ 18
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Form",
+ "/Type": "/StructElem"
+ },
+ "135 0 R": {
+ "/K": [
+ 19
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Form",
+ "/Type": "/StructElem"
+ },
+ "136 0 R": {
+ "/K": [
+ 20
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Form",
+ "/Type": "/StructElem"
+ },
+ "137 0 R": {
+ "/K": [
+ 21
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Form",
+ "/Type": "/StructElem"
+ },
+ "138 0 R": {
+ "/K": [
+ 22
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Form",
+ "/Type": "/StructElem"
+ },
+ "139 0 R": {
+ "/K": [
+ 23
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Form",
+ "/Type": "/StructElem"
+ },
+ "14 0 R": {
+ "/AP": {
+ "/N": "48 0 R"
+ },
+ "/DA": "0.18039 0.20392 0.21176 rg /F4 10 Tf",
+ "/DR": {
+ "/Font": "18 0 R"
+ },
+ "/DV": "",
+ "/F": 4,
+ "/FT": "/Ch",
+ "/Ff": 393216,
+ "/Opt": [
+ "alpha",
+ "beta",
+ "gamma",
+ "delta"
+ ],
+ "/P": "15 0 R",
+ "/Rect": [
+ 404.599,
+ 101.451,
+ 476.701,
+ 135.349
+ ],
+ "/Subtype": "/Widget",
+ "/T": "combodrop1",
+ "/Type": "/Annot",
+ "/V": ""
+ },
+ "140 0 R": {
+ "/K": [
+ 24
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Form",
+ "/Type": "/StructElem"
+ },
+ "141 0 R": {
+ "/Ascent": 891,
+ "/CapHeight": 981,
+ "/Descent": -216,
+ "/Flags": 4,
+ "/FontBBox": [
+ -543,
+ -303,
+ 1277,
+ 981
+ ],
+ "/FontFile2": "193 0 R",
+ "/FontName": "/BAAAAA+LiberationSerif",
+ "/ItalicAngle": 0,
+ "/StemV": 80,
+ "/Type": "/FontDescriptor"
+ },
+ "142 0 R": {
+ "/Length": "143 0 R"
+ },
+ "143 0 R": 702,
+ "144 0 R": {
+ "/Ascent": 905,
+ "/CapHeight": 979,
+ "/Descent": -211,
+ "/Flags": 4,
+ "/FontBBox": [
+ -543,
+ -303,
+ 1300,
+ 979
+ ],
+ "/FontName": "/LiberationSans",
+ "/ItalicAngle": 0,
+ "/StemV": 80,
+ "/Type": "/FontDescriptor"
+ },
+ "145 0 R": {
+ "/Ascent": 905,
+ "/CapHeight": 979,
+ "/Descent": -211,
+ "/Flags": 4,
+ "/FontBBox": [
+ -543,
+ -303,
+ 1300,
+ 979
+ ],
+ "/FontFile2": "195 0 R",
+ "/FontName": "/DAAAAA+LiberationSans",
+ "/ItalicAngle": 0,
+ "/StemV": 80,
+ "/Type": "/FontDescriptor"
+ },
+ "146 0 R": {
+ "/Length": "147 0 R"
+ },
+ "147 0 R": 582,
+ "148 0 R": {
+ "/Ascent": 928,
+ "/CapHeight": 1232,
+ "/Descent": -235,
+ "/Flags": 4,
+ "/FontBBox": [
+ -1020,
+ -462,
+ 1792,
+ 1232
+ ],
+ "/FontName": "/DejaVuSans",
+ "/ItalicAngle": 0,
+ "/StemV": 80,
+ "/Type": "/FontDescriptor"
+ },
+ "149 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "15 0 R": {
+ "/Annots": [
+ "4 0 R",
+ "21 0 R",
+ "22 0 R",
+ "23 0 R",
+ "6 0 R",
+ "7 0 R",
+ "8 0 R",
+ "37 0 R",
+ "38 0 R",
+ "39 0 R",
+ "10 0 R",
+ "13 0 R",
+ "11 0 R",
+ "12 0 R",
+ "14 0 R"
+ ],
+ "/Contents": "50 0 R",
+ "/Group": {
+ "/CS": "/DeviceRGB",
+ "/I": true,
+ "/S": "/Transparency"
+ },
+ "/MediaBox": [
+ 0,
+ 0,
+ 612,
+ 792
+ ],
+ "/Parent": "16 0 R",
+ "/Resources": "3 0 R",
+ "/StructParents": 0,
+ "/Type": "/Page"
+ },
+ "150 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "151 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "152 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "153 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "154 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "155 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "156 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "157 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "158 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "159 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "16 0 R": {
+ "/Count": 1,
+ "/Kids": [
+ "15 0 R"
+ ],
+ "/MediaBox": [
+ 0,
+ 0,
+ 612,
+ 792
+ ],
+ "/Resources": "3 0 R",
+ "/Type": "/Pages"
+ },
+ "160 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "161 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "162 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "163 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "164 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "165 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "166 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "167 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "168 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "169 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "17 0 R": {
+ "/K": [
+ "52 0 R"
+ ],
+ "/ParentTree": "53 0 R",
+ "/RoleMap": {
+ "/Document": "/Document",
+ "/Standard": "/P"
+ },
+ "/Type": "/StructTreeRoot"
+ },
+ "170 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "171 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "172 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "173 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "174 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "175 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "176 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "177 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "178 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "179 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "18 0 R": {
+ "/F1": "54 0 R",
+ "/F2": "55 0 R",
+ "/F3": "56 0 R",
+ "/F4": "57 0 R",
+ "/ZaDi": "28 0 R"
+ },
+ "180 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "181 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "182 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "183 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "184 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "185 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "186 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "187 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "188 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "189 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "19 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 137.3,
+ 14.8
+ ],
+ "/Length": "20 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "190 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "191 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "192 0 R": {
+ "/O": "/Layout",
+ "/Placement": "/Block"
+ },
+ "193 0 R": {
+ "/Length": "194 0 R",
+ "/Length1": 16184
+ },
+ "194 0 R": 16184,
+ "195 0 R": {
+ "/Length": "196 0 R",
+ "/Length1": 11088
+ },
+ "196 0 R": 11088,
+ "2 0 R": {
+ "/CreationDate": "D:20190103125434-05'00'",
+ "/Creator": "Writer",
+ "/Producer": "LibreOffice 6.1"
+ },
+ "20 0 R": 12,
+ "21 0 R": {
+ "/AP": {
+ "/N": {
+ "/1": "58 0 R",
+ "/Off": "60 0 R"
+ }
+ },
+ "/AS": "/1",
+ "/DA": "0.18039 0.20392 0.21176 rg /ZaDi 0 Tf",
+ "/DR": {
+ "/Font": {
+ "/ZaDi": "28 0 R"
+ }
+ },
+ "/F": 4,
+ "/FT": "/Btn",
+ "/MK": {
+ "/CA": "l"
+ },
+ "/P": "15 0 R",
+ "/Parent": "5 0 R",
+ "/Rect": [
+ 152.749,
+ 648.501,
+ 164.801,
+ 660.549
+ ],
+ "/Subtype": "/Widget",
+ "/Type": "/Annot"
+ },
+ "22 0 R": {
+ "/AP": {
+ "/N": {
+ "/2": "62 0 R",
+ "/Off": "64 0 R"
+ }
+ },
+ "/AS": "/Off",
+ "/DA": "0.18039 0.20392 0.21176 rg /ZaDi 0 Tf",
+ "/DR": {
+ "/Font": {
+ "/ZaDi": "28 0 R"
+ }
+ },
+ "/F": 4,
+ "/FT": "/Btn",
+ "/MK": {
+ "/CA": "l"
+ },
+ "/P": "15 0 R",
+ "/Parent": "5 0 R",
+ "/Rect": [
+ 152.749,
+ 627.301,
+ 164.801,
+ 639.349
+ ],
+ "/Subtype": "/Widget",
+ "/Type": "/Annot"
+ },
+ "23 0 R": {
+ "/AP": {
+ "/N": {
+ "/3": "66 0 R",
+ "/Off": "68 0 R"
+ }
+ },
+ "/AS": "/Off",
+ "/DA": "0.18039 0.20392 0.21176 rg /ZaDi 0 Tf",
+ "/DR": {
+ "/Font": {
+ "/ZaDi": "28 0 R"
+ }
+ },
+ "/F": 4,
+ "/FT": "/Btn",
+ "/MK": {
+ "/CA": "l"
+ },
+ "/P": "15 0 R",
+ "/Parent": "5 0 R",
+ "/Rect": [
+ 151.399,
+ 606.501,
+ 163.451,
+ 618.549
+ ],
+ "/Subtype": "/Widget",
+ "/Type": "/Annot"
+ },
+ "24 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 12.05,
+ 12.05
+ ],
+ "/Length": "25 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "25 0 R": 12,
+ "26 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 12.05,
+ 12.05
+ ],
+ "/Length": "27 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "27 0 R": 82,
+ "28 0 R": {
+ "/BaseFont": "/ZapfDingbats",
+ "/Subtype": "/Type1",
+ "/Type": "/Font"
+ },
+ "29 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 12.05,
+ 12.05
+ ],
+ "/Length": "30 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "3 0 R": {
+ "/Font": "18 0 R",
+ "/ProcSet": [
+ "/PDF",
+ "/Text"
+ ]
+ },
+ "30 0 R": 12,
+ "31 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 12.05,
+ 12.05
+ ],
+ "/Length": "32 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "32 0 R": 82,
+ "33 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 12.05,
+ 12.05
+ ],
+ "/Length": "34 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "34 0 R": 12,
+ "35 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 12.05,
+ 12.05
+ ],
+ "/Length": "36 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "36 0 R": 82,
+ "37 0 R": {
+ "/AP": {
+ "/N": {
+ "/1": "70 0 R",
+ "/Off": "72 0 R"
+ }
+ },
+ "/AS": "/Off",
+ "/DA": "0.18039 0.20392 0.21176 rg /ZaDi 0 Tf",
+ "/DR": {
+ "/Font": {
+ "/ZaDi": "28 0 R"
+ }
+ },
+ "/F": 4,
+ "/FT": "/Btn",
+ "/MK": {
+ "/CA": "l"
+ },
+ "/P": "15 0 R",
+ "/Parent": "9 0 R",
+ "/Rect": [
+ 118.649,
+ 388.101,
+ 130.701,
+ 400.149
+ ],
+ "/Subtype": "/Widget",
+ "/Type": "/Annot"
+ },
+ "38 0 R": {
+ "/AP": {
+ "/N": {
+ "/2": "74 0 R",
+ "/Off": "76 0 R"
+ }
+ },
+ "/AS": "/2",
+ "/DA": "0.18039 0.20392 0.21176 rg /ZaDi 0 Tf",
+ "/DR": {
+ "/Font": {
+ "/ZaDi": "28 0 R"
+ }
+ },
+ "/F": 4,
+ "/FT": "/Btn",
+ "/MK": {
+ "/CA": "l"
+ },
+ "/P": "15 0 R",
+ "/Parent": "9 0 R",
+ "/Rect": [
+ 119.349,
+ 362.201,
+ 131.401,
+ 374.249
+ ],
+ "/Subtype": "/Widget",
+ "/Type": "/Annot"
+ },
+ "39 0 R": {
+ "/AP": {
+ "/N": {
+ "/3": "78 0 R",
+ "/Off": "80 0 R"
+ }
+ },
+ "/AS": "/Off",
+ "/DA": "0.18039 0.20392 0.21176 rg /ZaDi 0 Tf",
+ "/DR": {
+ "/Font": {
+ "/ZaDi": "28 0 R"
+ }
+ },
+ "/F": 4,
+ "/FT": "/Btn",
+ "/MK": {
+ "/CA": "l"
+ },
+ "/P": "15 0 R",
+ "/Parent": "9 0 R",
+ "/Rect": [
+ 119.349,
+ 333.551,
+ 131.401,
+ 345.599
+ ],
+ "/Subtype": "/Widget",
+ "/Type": "/Annot"
+ },
+ "4 0 R": {
+ "/AP": {
+ "/N": "19 0 R"
+ },
+ "/DA": "0.18039 0.20392 0.21176 rg /F2 12 Tf",
+ "/DR": {
+ "/Font": "18 0 R"
+ },
+ "/DV": "",
+ "/F": 4,
+ "/FT": "/Tx",
+ "/P": "15 0 R",
+ "/Rect": [
+ 123.499,
+ 689.901,
+ 260.801,
+ 704.699
+ ],
+ "/Subtype": "/Widget",
+ "/T": "text",
+ "/Type": "/Annot",
+ "/V": ""
+ },
+ "40 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 237.45,
+ 17.95
+ ],
+ "/Length": "41 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "41 0 R": 12,
+ "42 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 62.55,
+ 76.2
+ ],
+ "/Length": "43 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "43 0 R": 46,
+ "44 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 85.05,
+ 23.7
+ ],
+ "/Length": "45 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "45 0 R": 46,
+ "46 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 55.05,
+ 73.45
+ ],
+ "/Length": "47 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "47 0 R": 47,
+ "48 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 72.1,
+ 33.9
+ ],
+ "/Length": "49 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "49 0 R": 45,
+ "5 0 R": {
+ "/DV": "/1",
+ "/FT": "/Btn",
+ "/Ff": 49152,
+ "/Kids": [
+ "21 0 R",
+ "22 0 R",
+ "23 0 R"
+ ],
+ "/P": "15 0 R",
+ "/T": "r1",
+ "/V": "/1"
+ },
+ "50 0 R": {
+ "/Length": "51 0 R"
+ },
+ "51 0 R": 4747,
+ "52 0 R": {
+ "/K": [
+ "82 0 R",
+ "83 0 R",
+ "84 0 R",
+ "85 0 R",
+ "86 0 R",
+ "87 0 R",
+ "88 0 R",
+ "89 0 R",
+ "90 0 R",
+ "91 0 R",
+ "92 0 R",
+ "93 0 R",
+ "94 0 R",
+ "95 0 R",
+ "96 0 R",
+ "97 0 R",
+ "98 0 R",
+ "99 0 R",
+ "100 0 R",
+ "101 0 R",
+ "102 0 R",
+ "103 0 R",
+ "104 0 R",
+ "105 0 R",
+ "106 0 R",
+ "107 0 R",
+ "108 0 R",
+ "109 0 R",
+ "110 0 R",
+ "111 0 R",
+ "112 0 R",
+ "113 0 R",
+ "114 0 R",
+ "115 0 R",
+ "116 0 R",
+ "117 0 R",
+ "118 0 R",
+ "119 0 R",
+ "120 0 R",
+ "121 0 R",
+ "122 0 R",
+ "123 0 R",
+ "124 0 R",
+ "125 0 R",
+ "126 0 R",
+ "127 0 R",
+ "128 0 R",
+ "129 0 R",
+ "130 0 R",
+ "131 0 R",
+ "132 0 R",
+ "133 0 R",
+ "134 0 R",
+ "135 0 R",
+ "136 0 R",
+ "137 0 R",
+ "138 0 R",
+ "139 0 R",
+ "140 0 R"
+ ],
+ "/P": "17 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Document",
+ "/Type": "/StructElem"
+ },
+ "53 0 R": {
+ "/Nums": [
+ 0,
+ [
+ "82 0 R",
+ "84 0 R",
+ "86 0 R",
+ "93 0 R",
+ "104 0 R",
+ "115 0 R",
+ "119 0 R",
+ "119 0 R",
+ "125 0 R",
+ "125 0 R",
+ "126 0 R",
+ "127 0 R",
+ "128 0 R",
+ "129 0 R",
+ "130 0 R",
+ "131 0 R",
+ "132 0 R",
+ "133 0 R",
+ "134 0 R",
+ "135 0 R",
+ "136 0 R",
+ "137 0 R",
+ "138 0 R",
+ "139 0 R",
+ "140 0 R"
+ ]
+ ]
+ },
+ "54 0 R": {
+ "/BaseFont": "/BAAAAA+LiberationSerif",
+ "/FirstChar": 0,
+ "/FontDescriptor": "141 0 R",
+ "/LastChar": 32,
+ "/Subtype": "/TrueType",
+ "/ToUnicode": "142 0 R",
+ "/Type": "/Font",
+ "/Widths": [
+ 777,
+ 943,
+ 500,
+ 443,
+ 333,
+ 333,
+ 389,
+ 250,
+ 777,
+ 500,
+ 333,
+ 500,
+ 443,
+ 610,
+ 500,
+ 277,
+ 556,
+ 277,
+ 277,
+ 500,
+ 443,
+ 500,
+ 443,
+ 500,
+ 500,
+ 556,
+ 610,
+ 666,
+ 500,
+ 722,
+ 500,
+ 722,
+ 500
+ ]
+ },
+ "55 0 R": {
+ "/BaseFont": "/LiberationSans",
+ "/Encoding": "/WinAnsiEncoding",
+ "/FirstChar": 32,
+ "/FontDescriptor": "144 0 R",
+ "/LastChar": 255,
+ "/Subtype": "/TrueType",
+ "/Type": "/Font",
+ "/Widths": [
+ 277,
+ 277,
+ 354,
+ 556,
+ 556,
+ 889,
+ 666,
+ 190,
+ 333,
+ 333,
+ 389,
+ 583,
+ 277,
+ 333,
+ 277,
+ 277,
+ 556,
+ 556,
+ 556,
+ 556,
+ 556,
+ 556,
+ 556,
+ 556,
+ 556,
+ 556,
+ 277,
+ 277,
+ 583,
+ 583,
+ 583,
+ 556,
+ 1015,
+ 666,
+ 666,
+ 722,
+ 722,
+ 666,
+ 610,
+ 777,
+ 722,
+ 277,
+ 500,
+ 666,
+ 556,
+ 833,
+ 722,
+ 777,
+ 666,
+ 777,
+ 722,
+ 666,
+ 610,
+ 722,
+ 666,
+ 943,
+ 666,
+ 666,
+ 610,
+ 277,
+ 277,
+ 277,
+ 469,
+ 556,
+ 333,
+ 556,
+ 556,
+ 500,
+ 556,
+ 556,
+ 277,
+ 556,
+ 556,
+ 222,
+ 222,
+ 500,
+ 222,
+ 833,
+ 556,
+ 556,
+ 556,
+ 556,
+ 333,
+ 500,
+ 277,
+ 556,
+ 500,
+ 722,
+ 500,
+ 500,
+ 500,
+ 333,
+ 259,
+ 333,
+ 583,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 277,
+ 333,
+ 556,
+ 556,
+ 556,
+ 556,
+ 259,
+ 556,
+ 333,
+ 736,
+ 370,
+ 556,
+ 583,
+ 333,
+ 736,
+ 552,
+ 399,
+ 548,
+ 333,
+ 333,
+ 333,
+ 576,
+ 537,
+ 333,
+ 333,
+ 333,
+ 365,
+ 556,
+ 833,
+ 833,
+ 833,
+ 610,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 666,
+ 1000,
+ 722,
+ 666,
+ 666,
+ 666,
+ 666,
+ 277,
+ 277,
+ 277,
+ 277,
+ 722,
+ 722,
+ 777,
+ 777,
+ 777,
+ 777,
+ 777,
+ 583,
+ 777,
+ 722,
+ 722,
+ 722,
+ 722,
+ 666,
+ 666,
+ 610,
+ 556,
+ 556,
+ 556,
+ 556,
+ 556,
+ 556,
+ 889,
+ 500,
+ 556,
+ 556,
+ 556,
+ 556,
+ 277,
+ 277,
+ 277,
+ 277,
+ 556,
+ 556,
+ 556,
+ 556,
+ 556,
+ 556,
+ 556,
+ 548,
+ 610,
+ 556,
+ 556,
+ 556,
+ 556,
+ 500,
+ 556,
+ 500
+ ]
+ },
+ "56 0 R": {
+ "/BaseFont": "/DAAAAA+LiberationSans",
+ "/FirstChar": 0,
+ "/FontDescriptor": "145 0 R",
+ "/LastChar": 22,
+ "/Subtype": "/TrueType",
+ "/ToUnicode": "146 0 R",
+ "/Type": "/Font",
+ "/Widths": [
+ 750,
+ 333,
+ 556,
+ 333,
+ 556,
+ 556,
+ 500,
+ 722,
+ 556,
+ 556,
+ 500,
+ 277,
+ 666,
+ 556,
+ 500,
+ 556,
+ 556,
+ 777,
+ 556,
+ 277,
+ 222,
+ 556,
+ 556
+ ]
+ },
+ "57 0 R": {
+ "/BaseFont": "/DejaVuSans",
+ "/Encoding": "/WinAnsiEncoding",
+ "/FirstChar": 32,
+ "/FontDescriptor": "148 0 R",
+ "/LastChar": 255,
+ "/Subtype": "/TrueType",
+ "/Type": "/Font",
+ "/Widths": [
+ 317,
+ 400,
+ 459,
+ 837,
+ 636,
+ 950,
+ 779,
+ 274,
+ 390,
+ 390,
+ 500,
+ 837,
+ 317,
+ 360,
+ 317,
+ 336,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 636,
+ 336,
+ 336,
+ 837,
+ 837,
+ 837,
+ 530,
+ 1000,
+ 684,
+ 686,
+ 698,
+ 770,
+ 631,
+ 575,
+ 774,
+ 751,
+ 294,
+ 294,
+ 655,
+ 557,
+ 862,
+ 748,
+ 787,
+ 603,
+ 787,
+ 694,
+ 634,
+ 610,
+ 731,
+ 684,
+ 988,
+ 685,
+ 610,
+ 685,
+ 390,
+ 336,
+ 390,
+ 837,
+ 500,
+ 500,
+ 612,
+ 634,
+ 549,
+ 634,
+ 615,
+ 352,
+ 634,
+ 633,
+ 277,
+ 277,
+ 579,
+ 277,
+ 974,
+ 633,
+ 611,
+ 634,
+ 634,
+ 411,
+ 520,
+ 392,
+ 633,
+ 591,
+ 817,
+ 591,
+ 591,
+ 524,
+ 636,
+ 336,
+ 636,
+ 837,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ 317,
+ 400,
+ 636,
+ 636,
+ 636,
+ 636,
+ 336,
+ 500,
+ 500,
+ 1000,
+ 471,
+ 611,
+ 837,
+ 360,
+ 1000,
+ 500,
+ 500,
+ 837,
+ 400,
+ 400,
+ 500,
+ 636,
+ 636,
+ 317,
+ 500,
+ 400,
+ 471,
+ 611,
+ 969,
+ 969,
+ 969,
+ 530,
+ 684,
+ 684,
+ 684,
+ 684,
+ 684,
+ 684,
+ 974,
+ 698,
+ 631,
+ 631,
+ 631,
+ 631,
+ 294,
+ 294,
+ 294,
+ 294,
+ 774,
+ 748,
+ 787,
+ 787,
+ 787,
+ 787,
+ 787,
+ 837,
+ 787,
+ 731,
+ 731,
+ 731,
+ 731,
+ 610,
+ 604,
+ 629,
+ 612,
+ 612,
+ 612,
+ 612,
+ 612,
+ 612,
+ 981,
+ 549,
+ 615,
+ 615,
+ 615,
+ 615,
+ 277,
+ 277,
+ 277,
+ 277,
+ 611,
+ 633,
+ 611,
+ 611,
+ 611,
+ 611,
+ 611,
+ 837,
+ 611,
+ 633,
+ 633,
+ 633,
+ 633,
+ 591,
+ 634,
+ 591
+ ]
+ },
+ "58 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 12.05,
+ 12.05
+ ],
+ "/Length": "59 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "59 0 R": 220,
+ "6 0 R": {
+ "/AP": {
+ "/N": {
+ "/Off": "24 0 R",
+ "/Yes": "26 0 R"
+ }
+ },
+ "/AS": "/Off",
+ "/DA": "0.18039 0.20392 0.21176 rg /ZaDi 0 Tf",
+ "/DR": {
+ "/Font": {
+ "/ZaDi": "28 0 R"
+ }
+ },
+ "/DV": "/Off",
+ "/F": 4,
+ "/FT": "/Btn",
+ "/MK": {
+ "/CA": "8"
+ },
+ "/P": "15 0 R",
+ "/Rect": [
+ 118.649,
+ 554.301,
+ 130.701,
+ 566.349
+ ],
+ "/Subtype": "/Widget",
+ "/T": "checkbox1",
+ "/Type": "/Annot",
+ "/V": "/Off"
+ },
+ "60 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 12.05,
+ 12.05
+ ],
+ "/Length": "61 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "61 0 R": 12,
+ "62 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 12.05,
+ 12.05
+ ],
+ "/Length": "63 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "63 0 R": 220,
+ "64 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 12.05,
+ 12.05
+ ],
+ "/Length": "65 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "65 0 R": 12,
+ "66 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 12.05,
+ 12.05
+ ],
+ "/Length": "67 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "67 0 R": 220,
+ "68 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 12.05,
+ 12.05
+ ],
+ "/Length": "69 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "69 0 R": 12,
+ "7 0 R": {
+ "/AP": {
+ "/N": {
+ "/Off": "29 0 R",
+ "/Yes": "31 0 R"
+ }
+ },
+ "/AS": "/Yes",
+ "/DA": "0.18039 0.20392 0.21176 rg /ZaDi 0 Tf",
+ "/DR": {
+ "/Font": {
+ "/ZaDi": "28 0 R"
+ }
+ },
+ "/DV": "/Yes",
+ "/F": 4,
+ "/FT": "/Btn",
+ "/MK": {
+ "/CA": "8"
+ },
+ "/P": "15 0 R",
+ "/Rect": [
+ 118.649,
+ 527.751,
+ 130.701,
+ 539.799
+ ],
+ "/Subtype": "/Widget",
+ "/T": "checkbox2",
+ "/Type": "/Annot",
+ "/V": "/Yes"
+ },
+ "70 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 12.05,
+ 12.05
+ ],
+ "/Length": "71 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "71 0 R": 220,
+ "72 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 12.05,
+ 12.05
+ ],
+ "/Length": "73 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "73 0 R": 12,
+ "74 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 12.05,
+ 12.05
+ ],
+ "/Length": "75 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "75 0 R": 220,
+ "76 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 12.05,
+ 12.05
+ ],
+ "/Length": "77 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "77 0 R": 12,
+ "78 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 12.05,
+ 12.05
+ ],
+ "/Length": "79 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "79 0 R": 220,
+ "8 0 R": {
+ "/AP": {
+ "/N": {
+ "/Off": "33 0 R",
+ "/Yes": "35 0 R"
+ }
+ },
+ "/AS": "/Off",
+ "/DA": "0.18039 0.20392 0.21176 rg /ZaDi 0 Tf",
+ "/DR": {
+ "/Font": {
+ "/ZaDi": "28 0 R"
+ }
+ },
+ "/DV": "/Off",
+ "/F": 4,
+ "/FT": "/Btn",
+ "/MK": {
+ "/CA": "8"
+ },
+ "/P": "15 0 R",
+ "/Rect": [
+ 118.649,
+ 500.501,
+ 130.701,
+ 512.549
+ ],
+ "/Subtype": "/Widget",
+ "/T": "checkbox3",
+ "/Type": "/Annot",
+ "/V": "/Off"
+ },
+ "80 0 R": {
+ "/BBox": [
+ 0,
+ 0,
+ 12.05,
+ 12.05
+ ],
+ "/Length": "81 0 R",
+ "/Resources": "3 0 R",
+ "/Subtype": "/Form",
+ "/Type": "/XObject"
+ },
+ "81 0 R": 12,
+ "82 0 R": {
+ "/A": "149 0 R",
+ "/K": [
+ 0
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "83 0 R": {
+ "/A": "150 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "84 0 R": {
+ "/A": "151 0 R",
+ "/K": [
+ 1
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "85 0 R": {
+ "/A": "152 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "86 0 R": {
+ "/A": "153 0 R",
+ "/K": [
+ 2
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "87 0 R": {
+ "/A": "154 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "88 0 R": {
+ "/A": "155 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "89 0 R": {
+ "/A": "156 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "9 0 R": {
+ "/DV": "/2",
+ "/FT": "/Btn",
+ "/Ff": 49152,
+ "/Kids": [
+ "37 0 R",
+ "38 0 R",
+ "39 0 R"
+ ],
+ "/P": "15 0 R",
+ "/T": "r2",
+ "/V": "/2"
+ },
+ "90 0 R": {
+ "/A": "157 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "91 0 R": {
+ "/A": "158 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "92 0 R": {
+ "/A": "159 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "93 0 R": {
+ "/A": "160 0 R",
+ "/K": [
+ 3
+ ],
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "94 0 R": {
+ "/A": "161 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "95 0 R": {
+ "/A": "162 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "96 0 R": {
+ "/A": "163 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "97 0 R": {
+ "/A": "164 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "98 0 R": {
+ "/A": "165 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "99 0 R": {
+ "/A": "166 0 R",
+ "/P": "52 0 R",
+ "/Pg": "15 0 R",
+ "/S": "/Standard",
+ "/Type": "/StructElem"
+ },
+ "trailer": {
+ "/DocChecksum": "/CC322E136FE95DECF8BC297B1A9B2C2E",
+ "/ID": [
+ "ø«Ä{±ßTJ\rùÁZuï\u0000F",
+ "ì®zg+Ìó4…[Tƒ{ —8"
+ ],
+ "/Info": "2 0 R",
+ "/Root": "1 0 R",
+ "/Size": 197
+ }
+ },
+ "outlines": [],
+ "pagelabels": [],
+ "pages": [
+ {
+ "contents": [
+ "50 0 R"
+ ],
+ "images": [],
+ "label": null,
+ "object": "15 0 R",
+ "outlines": [],
+ "pageposfrom1": 1
+ }
+ ],
+ "parameters": {
+ "decodelevel": "generalized"
+ },
+ "version": 1
+}
diff --git a/qpdf/qtest/qpdf/json-field-types.out b/qpdf/qtest/qpdf/json-field-types.out
index 54f91f56..e324ecd6 100644
--- a/qpdf/qtest/qpdf/json-field-types.out
+++ b/qpdf/qtest/qpdf/json-field-types.out
@@ -385,6 +385,33 @@
"hasacroform": true,
"needappearances": true
},
+ "encrypt": {
+ "capabilities": {
+ "accessibility": true,
+ "extract": true,
+ "moddifyannotations": true,
+ "modify": true,
+ "modifyassembly": true,
+ "modifyforms": true,
+ "modifyother": true,
+ "printhigh": true,
+ "printlow": true
+ },
+ "encrypted": false,
+ "ownerpasswordmatched": false,
+ "parameters": {
+ "P": 0,
+ "R": 0,
+ "V": 0,
+ "bits": 0,
+ "filemethod": "none",
+ "key": null,
+ "method": "none",
+ "streammethod": "none",
+ "stringmethod": "none"
+ },
+ "userpasswordmatched": false
+ },
"objects": {
"1 0 R": {
"/AcroForm": {
diff --git a/qpdf/qtest/qpdf/json-image-streams-all.out b/qpdf/qtest/qpdf/json-image-streams-all.out
index 40be701d..c454977f 100644
--- a/qpdf/qtest/qpdf/json-image-streams-all.out
+++ b/qpdf/qtest/qpdf/json-image-streams-all.out
@@ -4,6 +4,33 @@
"hasacroform": false,
"needappearances": false
},
+ "encrypt": {
+ "capabilities": {
+ "accessibility": true,
+ "extract": true,
+ "moddifyannotations": true,
+ "modify": true,
+ "modifyassembly": true,
+ "modifyforms": true,
+ "modifyother": true,
+ "printhigh": true,
+ "printlow": true
+ },
+ "encrypted": false,
+ "ownerpasswordmatched": false,
+ "parameters": {
+ "P": 0,
+ "R": 0,
+ "V": 0,
+ "bits": 0,
+ "filemethod": "none",
+ "key": null,
+ "method": "none",
+ "streammethod": "none",
+ "stringmethod": "none"
+ },
+ "userpasswordmatched": false
+ },
"objects": {
"1 0 R": {
"/Pages": "2 0 R",
diff --git a/qpdf/qtest/qpdf/json-image-streams-small.out b/qpdf/qtest/qpdf/json-image-streams-small.out
index 02ee4ad1..ca02590c 100644
--- a/qpdf/qtest/qpdf/json-image-streams-small.out
+++ b/qpdf/qtest/qpdf/json-image-streams-small.out
@@ -4,6 +4,33 @@
"hasacroform": false,
"needappearances": false
},
+ "encrypt": {
+ "capabilities": {
+ "accessibility": true,
+ "extract": true,
+ "moddifyannotations": true,
+ "modify": true,
+ "modifyassembly": true,
+ "modifyforms": true,
+ "modifyother": true,
+ "printhigh": true,
+ "printlow": true
+ },
+ "encrypted": false,
+ "ownerpasswordmatched": false,
+ "parameters": {
+ "P": 0,
+ "R": 0,
+ "V": 0,
+ "bits": 0,
+ "filemethod": "none",
+ "key": null,
+ "method": "none",
+ "streammethod": "none",
+ "stringmethod": "none"
+ },
+ "userpasswordmatched": false
+ },
"objects": {
"1 0 R": {
"/Pages": "2 0 R",
diff --git a/qpdf/qtest/qpdf/json-image-streams-specialized.out b/qpdf/qtest/qpdf/json-image-streams-specialized.out
index 2b1dc4dd..c3eef9a4 100644
--- a/qpdf/qtest/qpdf/json-image-streams-specialized.out
+++ b/qpdf/qtest/qpdf/json-image-streams-specialized.out
@@ -4,6 +4,33 @@
"hasacroform": false,
"needappearances": false
},
+ "encrypt": {
+ "capabilities": {
+ "accessibility": true,
+ "extract": true,
+ "moddifyannotations": true,
+ "modify": true,
+ "modifyassembly": true,
+ "modifyforms": true,
+ "modifyother": true,
+ "printhigh": true,
+ "printlow": true
+ },
+ "encrypted": false,
+ "ownerpasswordmatched": false,
+ "parameters": {
+ "P": 0,
+ "R": 0,
+ "V": 0,
+ "bits": 0,
+ "filemethod": "none",
+ "key": null,
+ "method": "none",
+ "streammethod": "none",
+ "stringmethod": "none"
+ },
+ "userpasswordmatched": false
+ },
"objects": {
"1 0 R": {
"/Pages": "2 0 R",
diff --git a/qpdf/qtest/qpdf/json-image-streams.out b/qpdf/qtest/qpdf/json-image-streams.out
index e7bec295..83a9fbff 100644
--- a/qpdf/qtest/qpdf/json-image-streams.out
+++ b/qpdf/qtest/qpdf/json-image-streams.out
@@ -4,6 +4,33 @@
"hasacroform": false,
"needappearances": false
},
+ "encrypt": {
+ "capabilities": {
+ "accessibility": true,
+ "extract": true,
+ "moddifyannotations": true,
+ "modify": true,
+ "modifyassembly": true,
+ "modifyforms": true,
+ "modifyother": true,
+ "printhigh": true,
+ "printlow": true
+ },
+ "encrypted": false,
+ "ownerpasswordmatched": false,
+ "parameters": {
+ "P": 0,
+ "R": 0,
+ "V": 0,
+ "bits": 0,
+ "filemethod": "none",
+ "key": null,
+ "method": "none",
+ "streammethod": "none",
+ "stringmethod": "none"
+ },
+ "userpasswordmatched": false
+ },
"objects": {
"1 0 R": {
"/Pages": "2 0 R",
diff --git a/qpdf/qtest/qpdf/json-outlines-with-actions.out b/qpdf/qtest/qpdf/json-outlines-with-actions.out
index d882fe4e..8ec8b6f0 100644
--- a/qpdf/qtest/qpdf/json-outlines-with-actions.out
+++ b/qpdf/qtest/qpdf/json-outlines-with-actions.out
@@ -4,6 +4,33 @@
"hasacroform": false,
"needappearances": false
},
+ "encrypt": {
+ "capabilities": {
+ "accessibility": true,
+ "extract": true,
+ "moddifyannotations": true,
+ "modify": true,
+ "modifyassembly": true,
+ "modifyforms": true,
+ "modifyother": true,
+ "printhigh": true,
+ "printlow": true
+ },
+ "encrypted": false,
+ "ownerpasswordmatched": false,
+ "parameters": {
+ "P": 0,
+ "R": 0,
+ "V": 0,
+ "bits": 0,
+ "filemethod": "none",
+ "key": null,
+ "method": "none",
+ "streammethod": "none",
+ "stringmethod": "none"
+ },
+ "userpasswordmatched": false
+ },
"objects": {
"1 0 R": {
"/Names": {
diff --git a/qpdf/qtest/qpdf/json-outlines-with-old-root-dests.out b/qpdf/qtest/qpdf/json-outlines-with-old-root-dests.out
index 7e67f3c3..64ba1d37 100644
--- a/qpdf/qtest/qpdf/json-outlines-with-old-root-dests.out
+++ b/qpdf/qtest/qpdf/json-outlines-with-old-root-dests.out
@@ -4,6 +4,33 @@
"hasacroform": false,
"needappearances": false
},
+ "encrypt": {
+ "capabilities": {
+ "accessibility": true,
+ "extract": true,
+ "moddifyannotations": true,
+ "modify": true,
+ "modifyassembly": true,
+ "modifyforms": true,
+ "modifyother": true,
+ "printhigh": true,
+ "printlow": true
+ },
+ "encrypted": false,
+ "ownerpasswordmatched": false,
+ "parameters": {
+ "P": 0,
+ "R": 0,
+ "V": 0,
+ "bits": 0,
+ "filemethod": "none",
+ "key": null,
+ "method": "none",
+ "streammethod": "none",
+ "stringmethod": "none"
+ },
+ "userpasswordmatched": false
+ },
"objects": {
"1 0 R": {
"/Dests": "107 0 R",
diff --git a/qpdf/qtest/qpdf/json-page-labels-and-outlines.out b/qpdf/qtest/qpdf/json-page-labels-and-outlines.out
index 41e148f6..696fff78 100644
--- a/qpdf/qtest/qpdf/json-page-labels-and-outlines.out
+++ b/qpdf/qtest/qpdf/json-page-labels-and-outlines.out
@@ -4,6 +4,33 @@
"hasacroform": false,
"needappearances": false
},
+ "encrypt": {
+ "capabilities": {
+ "accessibility": true,
+ "extract": true,
+ "moddifyannotations": true,
+ "modify": true,
+ "modifyassembly": true,
+ "modifyforms": true,
+ "modifyother": true,
+ "printhigh": true,
+ "printlow": true
+ },
+ "encrypted": false,
+ "ownerpasswordmatched": false,
+ "parameters": {
+ "P": 0,
+ "R": 0,
+ "V": 0,
+ "bits": 0,
+ "filemethod": "none",
+ "key": null,
+ "method": "none",
+ "streammethod": "none",
+ "stringmethod": "none"
+ },
+ "userpasswordmatched": false
+ },
"objects": {
"1 0 R": {
"/Outlines": "95 0 R",
diff --git a/qpdf/qtest/qpdf/json-page-labels-num-tree.out b/qpdf/qtest/qpdf/json-page-labels-num-tree.out
index 2c0c198d..6126d404 100644
--- a/qpdf/qtest/qpdf/json-page-labels-num-tree.out
+++ b/qpdf/qtest/qpdf/json-page-labels-num-tree.out
@@ -4,6 +4,33 @@
"hasacroform": false,
"needappearances": false
},
+ "encrypt": {
+ "capabilities": {
+ "accessibility": true,
+ "extract": true,
+ "moddifyannotations": true,
+ "modify": true,
+ "modifyassembly": true,
+ "modifyforms": true,
+ "modifyother": true,
+ "printhigh": true,
+ "printlow": true
+ },
+ "encrypted": false,
+ "ownerpasswordmatched": false,
+ "parameters": {
+ "P": 0,
+ "R": 0,
+ "V": 0,
+ "bits": 0,
+ "filemethod": "none",
+ "key": null,
+ "method": "none",
+ "streammethod": "none",
+ "stringmethod": "none"
+ },
+ "userpasswordmatched": false
+ },
"objects": {
"1 0 R": {
"/PageLabels": "2 0 R",
diff --git a/qpdf/qtest/qpdf/page_api_2-json.out b/qpdf/qtest/qpdf/page_api_2-json.out
index 2b907b19..0402accb 100644
--- a/qpdf/qtest/qpdf/page_api_2-json.out
+++ b/qpdf/qtest/qpdf/page_api_2-json.out
@@ -4,6 +4,33 @@
"hasacroform": false,
"needappearances": false
},
+ "encrypt": {
+ "capabilities": {
+ "accessibility": true,
+ "extract": true,
+ "moddifyannotations": true,
+ "modify": true,
+ "modifyassembly": true,
+ "modifyforms": true,
+ "modifyother": true,
+ "printhigh": true,
+ "printlow": true
+ },
+ "encrypted": false,
+ "ownerpasswordmatched": false,
+ "parameters": {
+ "P": 0,
+ "R": 0,
+ "V": 0,
+ "bits": 0,
+ "filemethod": "none",
+ "key": null,
+ "method": "none",
+ "streammethod": "none",
+ "stringmethod": "none"
+ },
+ "userpasswordmatched": false
+ },
"objects": {
"1 0 R": {
"/Pages": "3 0 R",