diff --git a/pymisp/tools/reportlab_generator.py b/pymisp/tools/reportlab_generator.py index 0e26e80..7441909 100644 --- a/pymisp/tools/reportlab_generator.py +++ b/pymisp/tools/reportlab_generator.py @@ -309,11 +309,11 @@ def get_value_link_to_event(misp_event, item, col2_style, config=None, color=Tru ''' # Does MispEven has the attribute ? - if hasattr(misp_event, item[1]): + if is_safe_attribute(misp_event, item[1]): # It has the requested attribute .. building upon it. # Does misp_object has an uuid and do we know the baseurl ? - if hasattr(misp_event, "uuid") and config is not None and moduleconfig[0] in config: + if is_safe_attribute(misp_event, "uuid") and config is not None and moduleconfig[0] in config: # We can build links curr_uuid = str(getattr(misp_event, "uuid")) curr_baseurl = config[moduleconfig[0]] @@ -348,7 +348,7 @@ def get_timestamp_value(misp_event, item, col2_style): :param col2_style: style to be applied on the returned paragraph :return: a Paragraph to add in the pdf, regarding the values of "timestamp" ''' - if hasattr(misp_event, item[1]): + if is_safe_attribute(misp_event, item[1]): return Paragraph(str(getattr(misp_event, item[1]).strftime(EXPORT_DATE_FORMAT)), col2_style) return Paragraph(item[2], col2_style) @@ -363,7 +363,7 @@ def get_creator_organisation_value(misp_event, item, col2_style): :param col2_style: style to be applied on the returned paragraph :return: a Paragraph to add in the pdf, regarding the values of "creator organisation" ''' - if hasattr(misp_event, item[1]): + if is_safe_attribute(misp_event, item[1]): return Paragraph(safe_string(getattr(getattr(misp_event, item[1]), item[3])), col2_style) return Paragraph(item[2], col2_style) @@ -378,7 +378,7 @@ def get_attributes_number_value(misp_event, item, col2_style): :param col2_style: style to be applied on the returned paragraph :return: a Paragraph to add in the pdf, regarding the values of "attributes" ''' - if hasattr(misp_event, item[1]): + if is_safe_attribute(misp_event, item[1]): return Paragraph(str(len(getattr(misp_event, item[1]))), col2_style) return Paragraph(item[2], col2_style) @@ -393,7 +393,7 @@ def get_tag_value(misp_event, item, col2_style): :param col2_style: style to be applied on the returned paragraph :return: a Paragraph to add in the pdf, regarding the values of "tags" ''' - if hasattr(misp_event, item[1]): + if is_safe_attribute_table(misp_event, item[1]): table_event_tags = create_flowable_table_from_tags(misp_event) return table_event_tags return Paragraph(item[2], col2_style) @@ -418,12 +418,10 @@ def get_published_value(misp_event, item, col2_style): YES_ANSWER = " Yes (" NO_ANSWER = "No" - answer = "" - # Formatting similar to MISP Event web view - if hasattr(misp_event, item[1]): + if is_safe_attribute(misp_event, item[1]): if getattr(misp_event, item[1]): # == True - if hasattr(misp_event, item[3]): + if is_safe_attribute(misp_event, item[3]): # Published and have published date answer = Paragraph(YES_ANSWER + getattr(misp_event, item[3]).strftime(EXPORT_DATE_FORMAT) + ")", col2_style) @@ -445,6 +443,9 @@ def is_safe_attribute(curr_object, attribute_name): return hasattr(curr_object, attribute_name) and getattr(curr_object, attribute_name) is not None and getattr( curr_object, attribute_name) != "" +def is_safe_attribute_table(curr_object, attribute_name): + return hasattr(curr_object, attribute_name) and getattr(curr_object, attribute_name) is not None and getattr( + curr_object, attribute_name) != [] def create_flowable_table_from_one_attribute(misp_attribute): ''' @@ -465,7 +466,7 @@ def create_flowable_table_from_one_attribute(misp_attribute): # Handle the special case of links STANDARD_TYPE = True - if hasattr(misp_attribute, 'type') and (getattr(misp_attribute, 'type') in [LINK_TYPE, URL_TYPE]): + if is_safe_attribute(misp_attribute, 'type') and (getattr(misp_attribute, 'type') in [LINK_TYPE, URL_TYPE]): # getattr(misp_attribute, 'type') == LINK_TYPE or getattr(misp_attribute, 'type') == URL_TYPE): # Special case for links STANDARD_TYPE = False @@ -492,12 +493,53 @@ def create_flowable_table_from_one_attribute(misp_attribute): # Tags item = ["Tags", 'Tag', "None"] - if hasattr(misp_attribute, item[1]): + if is_safe_attribute_table(misp_attribute, item[1]): data.append([Paragraph(item[0], col1_style), get_tag_value(misp_attribute, item, col2_style)]) return create_flowable_table_from_data(data) +def create_flowable_table_from_one_object(misp_object): + ''' + Returns a table (flowable) representing the object + :param misp_attribute: A misp object + :return: a table representing this misp's object's attributes, to add to the pdf as a flowable + ''' + data = [] + col1_style, col2_style = get_table_styles() + + # To reduce code size, and automate it a bit, triplet (Displayed Name, object_attribute_name, + # to_display_if_not_present) are store in the following list + list_attr_automated = [["UUID", 'uuid', "None"], + ["Description", 'description', "None"], + ["Meta Category", 'meta-category', "None"], + ["Object Name", 'name', "None"], + ["Comment", 'comment', "None"], + ["Type", 'type', "None"], + ["Object Name", 'name', "None"]] + + # Automated adding of standard (python) attributes of the misp object + for item in list_attr_automated: + if is_safe_attribute(misp_object, item[1]): + # The attribute exists, we fetch it and create the row + data.append([Paragraph(item[0], col1_style), + get_unoverflowable_paragraph(getattr(misp_object, item[1]), col2_style)]) + + # The attribute does not exist, you may want to print a default text on the row. Then use as a else case : + # data.append([Paragraph(item[0], col1_style), Paragraph(item[2], col2_style)]) + + data = [create_flowable_table_from_data(data)] + + # Handle all the attributes + if is_safe_attribute(misp_object, "Attribute"): + data += create_flowable_table_from_attributes(misp_object) + + # Add a page break at the end of an object + data.append(PageBreak()) + + return data + + def create_tags_table_from_data(data): ''' Given a list of flowables tags (2D/list of list), creates a Table with styles adapted to tags. @@ -589,7 +631,7 @@ def get_image_value(misp_attribute, item, col2_style): answer = img except OSError: logger.error( - "Trying to add an attachment during PDF export generation. Attachement joining failed. Attachmement may not be an image.") + "Trying to add an attachment during PDF export generation. Attachement joining failed. Attachement may not be an image.") answer = get_unoverflowable_paragraph( "" + NOT_A_PICTURE_MESSAGE + "", col2_style, False) @@ -771,16 +813,16 @@ def create_flowable_table_from_attributes(misp_event): sample_style_sheet = getSampleStyleSheet() i = 0 - if hasattr(misp_event, "Attribute"): + if is_safe_attribute_table(misp_event, "Attribute"): # There is some attributes for this object for item in getattr(misp_event, "Attribute"): # you can use a spacer instead of title to separate paragraph: flowable_table.append(Spacer(1, 5 * mm)) - flowable_table.append(Paragraph("Attribute #" + str(i), sample_style_sheet['Heading3'])) + flowable_table.append(Paragraph("Attribute #" + str(i), sample_style_sheet['Heading4'])) flowable_table.append(create_flowable_table_from_one_attribute(item)) i += 1 else: # No attributes for this object - flowable_table.append(Paragraph("No attributes", sample_style_sheet['Heading2'])) + flowable_table.append(Paragraph("No attributes", sample_style_sheet['Heading4'])) return flowable_table @@ -796,7 +838,7 @@ def create_flowable_table_from_tags(misp_event): col1_style, col2_style = get_table_styles() i = 0 - if hasattr(misp_event, "Tag") and len(getattr(misp_event, "Tag")) > 1: # 'Tag' can exist and be empty + if is_safe_attribute_table(misp_event, "Tag") : # and len(getattr(misp_event, "Tag")) > 1: # 'Tag' can exist and be empty # There is some tags for this object for item in getattr(misp_event, "Tag"): flowable_table.append(create_flowable_tag(item)) @@ -809,6 +851,34 @@ def create_flowable_table_from_tags(misp_event): return answer_tags +def create_flowable_table_from_objects(misp_event): + ''' + Returns a list of flowables representing the list of objects of a misp event. + The list is composed of a serie of + [ header object, table of object information, [ header of attribute, table of attribute]*] to add to the pdf + :param misp_event: A misp event + :return: a table of flowables + ''' + + flowable_table = [] + sample_style_sheet = getSampleStyleSheet() + i = 0 + + if is_safe_attribute_table(misp_event, "Object"): + + # There is a list of objects + for item in getattr(misp_event, "Object"): + # you can use a spacer instead of title to separate paragraph: flowable_table.append(Spacer(1, 5 * mm)) + flowable_table.append(Paragraph("Object #" + str(i), sample_style_sheet['Heading3'])) + flowable_table += create_flowable_table_from_one_object(item) + i += 1 + else: + # No object found + flowable_table.append(Paragraph("No object", sample_style_sheet['Heading3'])) + + return flowable_table + + ######################################################################## # Handling static parts drawn on the upper layer @@ -884,12 +954,20 @@ def collect_parts(misp_event, config=None): sample_style_sheet = getSampleStyleSheet() # Create stuff - title = get_value_link_to_event(misp_event, ["Info", 'info', "None"], sample_style_sheet['Heading1'], config, False) - subtitle = Paragraph("General information", sample_style_sheet['Heading2']) - attributes = Paragraph("Attributes", sample_style_sheet['Heading2']) + title_style = ParagraphStyle(name='Column_1', parent=sample_style_sheet['Heading1'], alignment=TA_CENTER) + title = get_value_link_to_event(misp_event, ["Info", 'info', "None"], title_style, config, False) - table_event_general = create_flowable_table_from_event(misp_event, config) - table_event_attribute = create_flowable_table_from_attributes(misp_event) + subtitle = Paragraph("General information", sample_style_sheet['Heading2']) + table_general_metainformation = create_flowable_table_from_event(misp_event, config) + + event_attributes_title = Paragraph("Attributes", sample_style_sheet['Heading2']) + table_direct_attributes = create_flowable_table_from_attributes(misp_event) + + event_objects_title = Paragraph("Objects", sample_style_sheet['Heading2']) + table_objects = create_flowable_table_from_objects(misp_event) + + event_sighting_title = Paragraph("Sighting", sample_style_sheet['Heading2']) + # TODO : table_event_sightings = create_flowable_table_from_sightings(misp_event) # If you want to output the full json (as debug), just add next line # paragraph_2 = Paragraph(str(misp_event.to_json()), sample_style_sheet['Code']) @@ -897,12 +975,20 @@ def collect_parts(misp_event, config=None): # Add all parts to final PDF flowables.append(title) flowables.append(subtitle) - flowables.append(table_event_general) + flowables.append(table_general_metainformation) flowables.append(PageBreak()) - flowables.append(attributes) - flowables += table_event_attribute + flowables.append(event_attributes_title) + flowables += table_direct_attributes + + flowables.append(PageBreak()) + flowables.append(event_objects_title) + flowables += table_objects + + # TODO : flowables.append(PageBreak()) + # TODO : flowables.append(event_sighting_title) + # TODO : flowables += table_event_sightings return flowables diff --git a/tests/reportlab_testfiles/mainly_objects_1.json b/tests/reportlab_testfiles/mainly_objects_1.json new file mode 100644 index 0000000..61b04a6 --- /dev/null +++ b/tests/reportlab_testfiles/mainly_objects_1.json @@ -0,0 +1,1092 @@ +{ + "Event": { + "threat_level_id": "3", + "timestamp": "1550654276", + "info": "MAR-10164494.r1.v1 (SamSam ransomware)", + "published": true, + "date": "2018-11-27", + "analysis": "0", + "uuid": "5c066053-0e94-46eb-9746-4b7d950d210f", + "publish_timestamp": "1550654277", + "Orgc": { + "name": "CIRCL", + "uuid": "55f6ea5e-2c60-40e5-964f-47a8950d210f" + }, + "Tag": [ + { + "name": "tlp:white", + "exportable": true, + "colour": "#ffffff" + }, + { + "name": "misp-galaxy:malpedia=\"SamSam\"", + "exportable": true, + "colour": "#0088cc" + }, + { + "name": "misp-galaxy:ransomware=\"Samas-Samsam\"", + "exportable": true, + "colour": "#0088cc" + } + ], + "Object": [ + { + "sharing_group_id": "0", + "timestamp": "1543921747", + "description": "Object describing the original file used to import data in MISP.", + "distribution": "3", + "template_version": "2", + "template_uuid": "4cd560e9-2cfe-40a1-9964-7b2e797ecac5", + "comment": "", + "name": "original-imported-file", + "uuid": "9b90b222-5a6e-4a68-8980-c85eb5e4e079", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543921748", + "value": "STIX 1.1.1", + "type": "text", + "to_ids": false, + "object_relation": "format", + "comment": "", + "uuid": "82d92392-8ee1-4db9-857c-89cb1cf93a54", + "category": "Other" + }, + { + "timestamp": "1543921748", + "value": "MAR-10164494.r1.v1.stix.xml", + "type": "attachment", + "to_ids": false, + "object_relation": "imported-sample", + "comment": "", + "data": "PHN0aXg6U1RJWF9QYWNrYWdlIHhtbG5zOmN5Ym94Q29tbW9uPSJodHRwOi8vY3lib3gubWl0cmUub3JnL2NvbW1vbi0yIiB4bWxuczpjeWJveD0iaHR0cDovL2N5Ym94Lm1pdHJlLm9yZy9jeWJveC0yIiB4bWxuczpjeWJveFZvY2Ficz0iaHR0cDovL2N5Ym94Lm1pdHJlLm9yZy9kZWZhdWx0X3ZvY2FidWxhcmllcy0yIiB4bWxuczpGaWxlT2JqPSJodHRwOi8vY3lib3gubWl0cmUub3JnL29iamVjdHMjRmlsZU9iamVjdC0yIiB4bWxuczpXaW5FeGVjdXRhYmxlRmlsZU9iaj0iaHR0cDovL2N5Ym94Lm1pdHJlLm9yZy9vYmplY3RzI1dpbkV4ZWN1dGFibGVGaWxlT2JqZWN0LTIiIHhtbG5zOldpbkZpbGVPYmo9Imh0dHA6Ly9jeWJveC5taXRyZS5vcmcvb2JqZWN0cyNXaW5GaWxlT2JqZWN0LTIiIHhtbG5zOm1hcmtpbmc9Imh0dHA6Ly9kYXRhLW1hcmtpbmcubWl0cmUub3JnL01hcmtpbmctMSIgeG1sbnM6dGxwTWFya2luZz0iaHR0cDovL2RhdGEtbWFya2luZy5taXRyZS5vcmcvZXh0ZW5zaW9ucy9NYXJraW5nU3RydWN0dXJlI1RMUC0xIiB4bWxuczpUT1VNYXJraW5nPSJodHRwOi8vZGF0YS1tYXJraW5nLm1pdHJlLm9yZy9leHRlbnNpb25zL01hcmtpbmdTdHJ1Y3R1cmUjVGVybXNfT2ZfVXNlLTEiIHhtbG5zOm1hZWNCdW5kbGU9Imh0dHA6Ly9tYWVjLm1pdHJlLm9yZy9YTUxTY2hlbWEvbWFlYy1idW5kbGUtNCIgeG1sbnM6bWFlY1BhY2thZ2U9Imh0dHA6Ly9tYWVjLm1pdHJlLm9yZy9YTUxTY2hlbWEvbWFlYy1wYWNrYWdlLTIiIHhtbG5zOm1hZWNWb2NhYnM9Imh0dHA6Ly9tYWVjLm1pdHJlLm9yZy9kZWZhdWx0X3ZvY2FidWxhcmllcy0xIiB4bWxuczppbmNpZGVudD0iaHR0cDovL3N0aXgubWl0cmUub3JnL0luY2lkZW50LTEiIHhtbG5zOmluZGljYXRvcj0iaHR0cDovL3N0aXgubWl0cmUub3JnL0luZGljYXRvci0yIiB4bWxuczp0dHA9Imh0dHA6Ly9zdGl4Lm1pdHJlLm9yZy9UVFAtMSIgeG1sbnM6c3RpeENvbW1vbj0iaHR0cDovL3N0aXgubWl0cmUub3JnL2NvbW1vbi0xIiB4bWxuczpzdGl4Vm9jYWJzPSJodHRwOi8vc3RpeC5taXRyZS5vcmcvZGVmYXVsdF92b2NhYnVsYXJpZXMtMSIgeG1sbnM6c3RpeC1tYWVjPSJodHRwOi8vc3RpeC5taXRyZS5vcmcvZXh0ZW5zaW9ucy9NYWx3YXJlI01BRUM0LjEtMSIgeG1sbnM6c3RpeD0iaHR0cDovL3N0aXgubWl0cmUub3JnL3N0aXgtMSIgeG1sbnM6TkNDSUM9Imh0dHA6Ly93d3cudXMtY2VydC5nb3YvIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4c2k6c2NoZW1hTG9jYXRpb249IiAgaHR0cDovL2N5Ym94Lm1pdHJlLm9yZy9jb21tb24tMiBodHRwOi8vY3lib3gubWl0cmUub3JnL1hNTFNjaGVtYS9jb21tb24vMi4xL2N5Ym94X2NvbW1vbi54c2QgIGh0dHA6Ly9jeWJveC5taXRyZS5vcmcvY3lib3gtMiBodHRwOi8vY3lib3gubWl0cmUub3JnL1hNTFNjaGVtYS9jb3JlLzIuMS9jeWJveF9jb3JlLnhzZCAgaHR0cDovL2N5Ym94Lm1pdHJlLm9yZy9kZWZhdWx0X3ZvY2FidWxhcmllcy0yIGh0dHA6Ly9jeWJveC5taXRyZS5vcmcvWE1MU2NoZW1hL2RlZmF1bHRfdm9jYWJ1bGFyaWVzLzIuMS9jeWJveF9kZWZhdWx0X3ZvY2FidWxhcmllcy54c2QgIGh0dHA6Ly9jeWJveC5taXRyZS5vcmcvb2JqZWN0cyNGaWxlT2JqZWN0LTIgaHR0cDovL2N5Ym94Lm1pdHJlLm9yZy9YTUxTY2hlbWEvb2JqZWN0cy9GaWxlLzIuMS9GaWxlX09iamVjdC54c2QgIGh0dHA6Ly9jeWJveC5taXRyZS5vcmcvb2JqZWN0cyNXaW5FeGVjdXRhYmxlRmlsZU9iamVjdC0yIGh0dHA6Ly9jeWJveC5taXRyZS5vcmcvWE1MU2NoZW1hL29iamVjdHMvV2luX0V4ZWN1dGFibGVfRmlsZS8yLjEvV2luX0V4ZWN1dGFibGVfRmlsZV9PYmplY3QueHNkICBodHRwOi8vY3lib3gubWl0cmUub3JnL29iamVjdHMjV2luRmlsZU9iamVjdC0yIGh0dHA6Ly9jeWJveC5taXRyZS5vcmcvWE1MU2NoZW1hL29iamVjdHMvV2luX0ZpbGUvMi4xL1dpbl9GaWxlX09iamVjdC54c2QgIGh0dHA6Ly9kYXRhLW1hcmtpbmcubWl0cmUub3JnL01hcmtpbmctMSBodHRwOi8vc3RpeC5taXRyZS5vcmcvWE1MU2NoZW1hL2RhdGFfbWFya2luZy8xLjEuMS9kYXRhX21hcmtpbmcueHNkICBodHRwOi8vZGF0YS1tYXJraW5nLm1pdHJlLm9yZy9leHRlbnNpb25zL01hcmtpbmdTdHJ1Y3R1cmUjVExQLTEgaHR0cDovL3N0aXgubWl0cmUub3JnL1hNTFNjaGVtYS9leHRlbnNpb25zL21hcmtpbmcvdGxwLzEuMS4xL3RscF9tYXJraW5nLnhzZCAgaHR0cDovL2RhdGEtbWFya2luZy5taXRyZS5vcmcvZXh0ZW5zaW9ucy9NYXJraW5nU3RydWN0dXJlI1Rlcm1zX09mX1VzZS0xIGh0dHA6Ly9zdGl4Lm1pdHJlLm9yZy9YTUxTY2hlbWEvZXh0ZW5zaW9ucy9tYXJraW5nL3Rlcm1zX29mX3VzZS8xLjAuMS90ZXJtc19vZl91c2VfbWFya2luZy54c2QgIGh0dHA6Ly9tYWVjLm1pdHJlLm9yZy9YTUxTY2hlbWEvbWFlYy1idW5kbGUtNCBodHRwOi8vbWFlYy5taXRyZS5vcmcvbGFuZ3VhZ2UvdmVyc2lvbjQuMS9tYWVjX2J1bmRsZV9zY2hlbWEueHNkICBodHRwOi8vbWFlYy5taXRyZS5vcmcvWE1MU2NoZW1hL21hZWMtcGFja2FnZS0yIGh0dHA6Ly9tYWVjLm1pdHJlLm9yZy9sYW5ndWFnZS92ZXJzaW9uNC4xL21hZWNfcGFja2FnZV9zY2hlbWEueHNkICBodHRwOi8vbWFlYy5taXRyZS5vcmcvZGVmYXVsdF92b2NhYnVsYXJpZXMtMSBodHRwOi8vbWFlYy5taXRyZS5vcmcvbGFuZ3VhZ2UvdmVyc2lvbjQuMS9tYWVjX2RlZmF1bHRfdm9jYWJ1bGFyaWVzLnhzZCAgaHR0cDovL3N0aXgubWl0cmUub3JnL0luY2lkZW50LTEgaHR0cDovL3N0aXgubWl0cmUub3JnL1hNTFNjaGVtYS9pbmNpZGVudC8xLjEuMS9pbmNpZGVudC54c2QgIGh0dHA6Ly9zdGl4Lm1pdHJlLm9yZy9JbmRpY2F0b3ItMiBodHRwOi8vc3RpeC5taXRyZS5vcmcvWE1MU2NoZW1hL2luZGljYXRvci8yLjEuMS9pbmRpY2F0b3IueHNkICBodHRwOi8vc3RpeC5taXRyZS5vcmcvVFRQLTEgaHR0cDovL3N0aXgubWl0cmUub3JnL1hNTFNjaGVtYS90dHAvMS4xLjEvdHRwLnhzZCAgaHR0cDovL3N0aXgubWl0cmUub3JnL2NvbW1vbi0xIGh0dHA6Ly9zdGl4Lm1pdHJlLm9yZy9YTUxTY2hlbWEvY29tbW9uLzEuMS4xL3N0aXhfY29tbW9uLnhzZCAgaHR0cDovL3N0aXgubWl0cmUub3JnL2RlZmF1bHRfdm9jYWJ1bGFyaWVzLTEgaHR0cDovL3N0aXgubWl0cmUub3JnL1hNTFNjaGVtYS9kZWZhdWx0X3ZvY2FidWxhcmllcy8xLjEuMS9zdGl4X2RlZmF1bHRfdm9jYWJ1bGFyaWVzLnhzZCAgaHR0cDovL3N0aXgubWl0cmUub3JnL2V4dGVuc2lvbnMvTWFsd2FyZSNNQUVDNC4xLTEgaHR0cDovL3N0aXgubWl0cmUub3JnL1hNTFNjaGVtYS9leHRlbnNpb25zL21hbHdhcmUvbWFlY180LjEvMS4wLjEvbWFlY180LjFfbWFsd2FyZS54c2QgIGh0dHA6Ly9zdGl4Lm1pdHJlLm9yZy9zdGl4LTEgaHR0cDovL3N0aXgubWl0cmUub3JnL1hNTFNjaGVtYS9jb3JlLzEuMS4xL3N0aXhfY29yZS54c2QiIGlkPSJOQ0NJQzpQYWNrYWdlLTY0MjhmNjNjLTA4MTYtNDViZS1iMTQ3LTRkMDRlZDVmYmNmOSIgdmVyc2lvbj0iMS4xLjEiIHRpbWVzdGFtcD0iMjAxOC0xMS0yN1QxNDowMjoyMS0wNTowMCI+CiAgICA8c3RpeDpTVElYX0hlYWRlcj4KICAgICAgICA8c3RpeDpUaXRsZT5NQVItMTAxNjQ0OTQucjEudjE8L3N0aXg6VGl0bGU+CiAgICAgICAgPHN0aXg6UGFja2FnZV9JbnRlbnQ+TWFsd2FyZSBDaGFyYWN0ZXJpemF0aW9uPC9zdGl4OlBhY2thZ2VfSW50ZW50PgogICAgICAgIDxzdGl4OkhhbmRsaW5nPgogICAgICAgICAgICA8bWFya2luZzpNYXJraW5nPgogICAgICAgICAgICAgICAgPG1hcmtpbmc6Q29udHJvbGxlZF9TdHJ1Y3R1cmU+Ly9ub2RlKCkgfCAvL0AqPC9tYXJraW5nOkNvbnRyb2xsZWRfU3RydWN0dXJlPgogICAgICAgICAgICAgICAgPG1hcmtpbmc6TWFya2luZ19TdHJ1Y3R1cmUgeHNpOnR5cGU9InRscE1hcmtpbmc6VExQTWFya2luZ1N0cnVjdHVyZVR5cGUiIGNvbG9yPSJXSElURSIvPgogICAgICAgICAgICAgICAgPG1hcmtpbmc6TWFya2luZ19TdHJ1Y3R1cmUgeHNpOnR5cGU9IlRPVU1hcmtpbmc6VGVybXNPZlVzZU1hcmtpbmdTdHJ1Y3R1cmVUeXBlIj4KICAgICAgICAgICAgICAgICAgICA8VE9VTWFya2luZzpUZXJtc19PZl9Vc2U+VGhpcyBkb2N1bWVudCBpcyBtYXJrZWQgVExQOldISVRFLiBEaXNjbG9zdXJlIGlzIG5vdCBsaW1pdGVkLiBTb3VyY2VzIG1heSB1c2UgVExQOldISVRFIHdoZW4gaW5mb3JtYXRpb24gY2FycmllcyBtaW5pbWFsIG9yIG5vIGZvcmVzZWVhYmxlIHJpc2sgb2YgbWlzdXNlLCBpbiBhY2NvcmRhbmNlIHdpdGggYXBwbGljYWJsZSBydWxlcyBhbmQgcHJvY2VkdXJlcyBmb3IgcHVibGljIHJlbGVhc2UuIFN1YmplY3QgdG8gc3RhbmRhcmQgY29weXJpZ2h0IHJ1bGVzLCBUTFA6V0hJVEUgaW5mb3JtYXRpb24gbWF5IGJlIGRpc3RyaWJ1dGVkIHdpdGhvdXQgcmVzdHJpY3Rpb24uIEZvciBtb3JlIGluZm9ybWF0aW9uIG9uIHRoZSBUcmFmZmljIExpZ2h0IFByb3RvY29sLCBzZWUgaHR0cDovL3d3dy51cy1jZXJ0Lmdvdi90bHAuPC9UT1VNYXJraW5nOlRlcm1zX09mX1VzZT4KICAgICAgICAgICAgICAgIDwvbWFya2luZzpNYXJraW5nX1N0cnVjdHVyZT4KICAgICAgICAgICAgPC9tYXJraW5nOk1hcmtpbmc+CiAgICAgICAgPC9zdGl4OkhhbmRsaW5nPgogICAgICAgIDxzdGl4OkluZm9ybWF0aW9uX1NvdXJjZT4KICAgICAgICAgICAgPHN0aXhDb21tb246SWRlbnRpdHk+CiAgICAgICAgICAgICAgICA8c3RpeENvbW1vbjpOYW1lPlVTLUNFUlQ8L3N0aXhDb21tb246TmFtZT4KICAgICAgICAgICAgPC9zdGl4Q29tbW9uOklkZW50aXR5PgogICAgICAgICAgICA8c3RpeENvbW1vbjpUaW1lPgogICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlByb2R1Y2VkX1RpbWU+MjAxOC0xMS0yN1QxNDowMjoyMS0wNTowMDwvY3lib3hDb21tb246UHJvZHVjZWRfVGltZT4KICAgICAgICAgICAgPC9zdGl4Q29tbW9uOlRpbWU+CiAgICAgICAgICAgIDxzdGl4Q29tbW9uOlRvb2xzPgogICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlRvb2w+CiAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOk5hbWU+Qk1hY2hpbmU8L2N5Ym94Q29tbW9uOk5hbWU+CiAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOkRlc2NyaXB0aW9uPjg5PC9jeWJveENvbW1vbjpEZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVyc2lvbj43LjEuMDwvY3lib3hDb21tb246VmVyc2lvbj4KICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246VG9vbD4KICAgICAgICAgICAgPC9zdGl4Q29tbW9uOlRvb2xzPgogICAgICAgIDwvc3RpeDpJbmZvcm1hdGlvbl9Tb3VyY2U+CiAgICA8L3N0aXg6U1RJWF9IZWFkZXI+CiAgICA8c3RpeDpPYnNlcnZhYmxlcyBjeWJveF9tYWpvcl92ZXJzaW9uPSIyIiBjeWJveF9taW5vcl92ZXJzaW9uPSIxIiBjeWJveF91cGRhdGVfdmVyc2lvbj0iMCI+CiAgICAgICAgPGN5Ym94Ok9ic2VydmFibGUgaWQ9Ik5DQ0lDOk9ic2VydmFibGUtNDYyOGM1MTktMzRiNC00Y2ViLTlkZmEtYmQwYTcxMmQ1OTcwIj4KICAgICAgICAgICAgPGN5Ym94OkRlc2NyaXB0aW9uPjwhW0NEQVRBW1RoaXMgZmlsZSBpcyBhIC5ORVQgQ2xhc3MgTGlicmFyeSBtb2R1bGUgZGVzaWduZWQgdG8gZGVjcnlwdCB0aGUgZW5jcnlwdGVkIGRhdGEgZmlsZSB3aXRoIGEgIi5zdHViYmlu4oCdIGV4dGVuc2lvbiB1c2luZyBhIFJpam5kYWVsIGVuY3J5cHRpb24gYWxnb3JpdGhtLgoKRGlzcGxheWVkIGJlbG93IGlzIHRoZSBlbmNyeXB0aW9uIGtleSBhbmQgdGhlIGluaXRpYWxpemF0aW9uIHZlY3RvciB1c2VkIGZvciBkZWNyeXB0aW9uLiAKCi0tQmVnaW4gZW5jcnlwdGlvbiBpbmZvcm1hdGlvbi0tCnJpam5kYWVsLktleSA9IGhkZmdraGlvaXVneWZ5Z2hkc2VlcnRkZnlndQpyaWpuZGFlbC5JViA9IGdodHJmZGZkZXdzZGZndHloZ2pnZ2hmZGcKLS1FbmQgZW5jcnlwdGlvbiBpbmZvcm1hdGlvbi0tXV0+PC9jeWJveDpEZXNjcmlwdGlvbj4KICAgICAgICAgICAgPGN5Ym94Ok9iamVjdCBpZD0iTkNDSUM6V2luRXhlY3V0YWJsZUZpbGUtZWFmN2UxYmMtNWY4Mi00MjViLTkxYjAtYzE2YmIzY2Y3OTEzIj4KICAgICAgICAgICAgICAgIDxjeWJveDpQcm9wZXJ0aWVzIHhzaTp0eXBlPSJXaW5FeGVjdXRhYmxlRmlsZU9iajpXaW5kb3dzRXhlY3V0YWJsZUZpbGVPYmplY3RUeXBlIj4KICAgICAgICAgICAgICAgICAgICA8RmlsZU9iajpGaWxlX05hbWU+Q2xhc3NMaWJyYXJ5MS5kbGw8L0ZpbGVPYmo6RmlsZV9OYW1lPgogICAgICAgICAgICAgICAgICAgIDxGaWxlT2JqOlNpemVfSW5fQnl0ZXM+NTEyMDwvRmlsZU9iajpTaXplX0luX0J5dGVzPgogICAgICAgICAgICAgICAgICAgIDxGaWxlT2JqOkZpbGVfRm9ybWF0PlBFMzIgZXhlY3V0YWJsZSAoRExMKSAoY29uc29sZSkgSW50ZWwgODAzODYgTW9uby8uTmV0IGFzc2VtYmx5LCBmb3IgTVMgV2luZG93czwvRmlsZU9iajpGaWxlX0Zvcm1hdD4KICAgICAgICAgICAgICAgICAgICA8RmlsZU9iajpIYXNoZXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlR5cGUgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5NRDU8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+NzZiZDc5Zjc3NGFlODkyZmQ2YTMwYjY0NjMwNTBhOTE8L2N5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlR5cGUgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5TSEExPC9jeWJveENvbW1vbjpUeXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPjRkN2E2MGJkMWZiMzY3N2E1NTNmMjZkOTU0MzBjMTA3Yzg0ODUxMjk8L2N5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlR5cGUgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5TSEEyNTY8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+OWIyM2JmYzM1YjE4ZWQ4MDEwNGM0OTZiMmFhNzIyYjNlNTZmZjljZWI5ZGFlNjBkMWFmZjcyMzAzMjFjMWQxMjwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPlNIQTUxMjwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT42N2UwMDQ2ZGIwYjU2NWExYWMxODYyYmJkNTM2MDE2YzNlYTk4NGY4ZmNlYWRhYTMxYjRjOTllN2E4YjQzNGIxNzBkNWJhZGJiMTBjMmMyNWUyNjRiMTdiYmYyZjk3NTc2ZjI1MmU3ZWY3NDI3OWIzYjg0NWIxNTUzY2VmOTgyOTwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPlNTREVFUDwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT40ODo2RGhhbWZoUmQ0dHZEbzRYYmdqL2FhclUzTFQ4OFZNTThVWDhpMDIrS2ZBTmJVN2dqQlJkMXRyV084bEdPKzNMOm0rNURvQWJnZlU4OFNwaTBvQU5ic2dqTVBZcDNYSUk8L2N5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgPC9GaWxlT2JqOkhhc2hlcz4KICAgICAgICAgICAgICAgICAgICA8RmlsZU9iajpQZWFrX0VudHJvcHk+NC4wMDQ5NjQ8L0ZpbGVPYmo6UGVha19FbnRyb3B5PgogICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpIZWFkZXJzPgogICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6RmlsZV9IZWFkZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6TnVtYmVyX09mX1NlY3Rpb25zPjQ8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOk51bWJlcl9PZl9TZWN0aW9ucz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpUaW1lX0RhdGVfU3RhbXA+MjAxOC0wMS0yOCAwNjowOToxNS0wNTowMDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6VGltZV9EYXRlX1N0YW1wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlNpemVfT2ZfT3B0aW9uYWxfSGVhZGVyPjUxMjwvV2luRXhlY3V0YWJsZUZpbGVPYmo6U2l6ZV9PZl9PcHRpb25hbF9IZWFkZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6SGFzaGVzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPk1ENTwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPjM0OTQzZjE4ZmQyYTk5Y2MzZjVjYWJlNDNiNDc2NWY4PC9jeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOkhhc2hlcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpGaWxlX0hlYWRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOkVudHJvcHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6VmFsdWU+Mi41NDc5MjwvV2luRXhlY3V0YWJsZUZpbGVPYmo6VmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6RW50cm9weT4KICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOkhlYWRlcnM+CiAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlJlc291cmNlcz4KICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlZlcnNpb25JbmZvUmVzb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6Q29tcGFueU5hbWUvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOkZpbGVEZXNjcmlwdGlvbj5DbGFzc0xpYnJhcnkxPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpGaWxlRGVzY3JpcHRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6RmlsZVZlcnNpb24+MS4wLjAuMDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6RmlsZVZlcnNpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6SW50ZXJuYWxOYW1lPkNsYXNzTGlicmFyeTEuZGxsPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpJbnRlcm5hbE5hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6TGVnYWxDb3B5cmlnaHQ+Q29weXJpZ2h0IMKpICAyMDE4PC9XaW5FeGVjdXRhYmxlRmlsZU9iajpMZWdhbENvcHlyaWdodD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpPcmlnaW5hbEZpbGVuYW1lPkNsYXNzTGlicmFyeTEuZGxsPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpPcmlnaW5hbEZpbGVuYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlByb2R1Y3ROYW1lPkNsYXNzTGlicmFyeTE8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlByb2R1Y3ROYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlByb2R1Y3RWZXJzaW9uPjEuMC4wLjA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlByb2R1Y3RWZXJzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlZlcnNpb25JbmZvUmVzb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpSZXNvdXJjZXM+CiAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb25zPgogICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6U2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9uX0hlYWRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6TmFtZT4udGV4dDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6TmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6U2l6ZV9PZl9SYXdfRGF0YT4zMDcyPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpTaXplX09mX1Jhd19EYXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9uX0hlYWRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpFbnRyb3B5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpWYWx1ZT40Ljg1NjY3PC9XaW5FeGVjdXRhYmxlRmlsZU9iajpWYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6RW50cm9weT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpIZWFkZXJfSGFzaGVzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPk1ENTwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPjA2MjE5ZmU2ZTMwZTE1ZGNlMTI2ODhjYTJiNDM0ODkwPC9jeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOkhlYWRlcl9IYXNoZXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6U2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6U2VjdGlvbl9IZWFkZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOk5hbWU+LnJzcmM8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOk5hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlNpemVfT2ZfUmF3X0RhdGE+MTAyNDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6U2l6ZV9PZl9SYXdfRGF0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6U2VjdGlvbl9IZWFkZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6RW50cm9weT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6VmFsdWU+Mi44ODgzMzU8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpFbnRyb3B5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOkhlYWRlcl9IYXNoZXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpUeXBlIHhzaTp0eXBlPSJjeWJveFZvY2FiczpIYXNoTmFtZVZvY2FiLTEuMCI+TUQ1PC9jeWJveENvbW1vbjpUeXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+MTFiNThmYzlhYzQ1MTY4Yjg3MWNjNTAzOTliN2M4NmM8L2N5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6SGVhZGVyX0hhc2hlcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6U2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9uX0hlYWRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6TmFtZT4ucmVsb2M8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOk5hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlNpemVfT2ZfUmF3X0RhdGE+NTEyPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpTaXplX09mX1Jhd19EYXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9uX0hlYWRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpFbnRyb3B5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpWYWx1ZT4wLjA4MTUzOTwvV2luRXhlY3V0YWJsZUZpbGVPYmo6VmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOkVudHJvcHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6SGVhZGVyX0hhc2hlcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlR5cGUgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5NRDU8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT5lYzQ1YTUzNWYzOGZiNmRjNGFjNGVkN2NiZjYzYjc1NDwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpIZWFkZXJfSGFzaGVzPgogICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9ucz4KICAgICAgICAgICAgICAgIDwvY3lib3g6UHJvcGVydGllcz4KICAgICAgICAgICAgPC9jeWJveDpPYmplY3Q+CiAgICAgICAgPC9jeWJveDpPYnNlcnZhYmxlPgogICAgICAgIDxjeWJveDpPYnNlcnZhYmxlIGlkPSJOQ0NJQzpPYnNlcnZhYmxlLWU2MmVlMmYxLTIxNTUtNGM5ZS1hZDA2LWQ3OWZmOTdmNjg5OSI+CiAgICAgICAgICAgIDxjeWJveDpEZXNjcmlwdGlvbj48IVtDREFUQVtUaGlzIGZpbGUgaXMgYSBQRTMyIC5ORVQgZXhlY3V0YWJsZSBkZXNpZ25lZCB0byBzZWFyY2ggYW5kIGxvYWQgYW4gZW5jcnlwdGVkIGRhdGEgZmlsZSB3aXRoIGEgIi5zdHViYmluIiBleHRlbnNpb24gb250byB0aGUgdmljdGltJ3Mgc3lzdGVtLiBJZiB0aGUgZmlsZSBleGlzdHMsIGl0IHdpbGwgdXRpbGl6ZSB0aGUgUmlqbmRhZWwgYWxnb3JpdGhtIGluIHRoZSBDbGFzcyBMaWJyYXJ5IGZpbGUgKENsYXNzTGlicmFyeTEuZGxsKSB0byBkZWNyeXB0IHRoZSBkYXRhIGZpbGUuIEFmdGVyIGRlY3J5cHRpb24sIHRoZSBmaWxlIGRlbGV0ZXMgdGhlIGVuY3J5cHRlZCBkYXRhIGZpbGUuIFRoZSBlbmNyeXB0ZWQgZmlsZSB3aXRoIGEgIi5zdHViYmluIiBleHRlbnNpb24gd2FzIG5vdCBhdmFpbGFibGUgZm9yIGFuYWx5c2lzLl1dPjwvY3lib3g6RGVzY3JpcHRpb24+CiAgICAgICAgICAgIDxjeWJveDpPYmplY3QgaWQ9Ik5DQ0lDOldpbkV4ZWN1dGFibGVGaWxlLTJkMmQ1M2NmLTQzZGEtNDJmYS04MWMyLWUxMGFlYzEzYjMzYSI+CiAgICAgICAgICAgICAgICA8Y3lib3g6UHJvcGVydGllcyB4c2k6dHlwZT0iV2luRXhlY3V0YWJsZUZpbGVPYmo6V2luZG93c0V4ZWN1dGFibGVGaWxlT2JqZWN0VHlwZSI+CiAgICAgICAgICAgICAgICAgICAgPEZpbGVPYmo6RmlsZV9OYW1lPm1zd2ludXBkYXRlLmV4ZTwvRmlsZU9iajpGaWxlX05hbWU+CiAgICAgICAgICAgICAgICAgICAgPEZpbGVPYmo6U2l6ZV9Jbl9CeXRlcz42MTQ0PC9GaWxlT2JqOlNpemVfSW5fQnl0ZXM+CiAgICAgICAgICAgICAgICAgICAgPEZpbGVPYmo6RmlsZV9Gb3JtYXQ+UEUzMiBleGVjdXRhYmxlIChjb25zb2xlKSBJbnRlbCA4MDM4NiBNb25vLy5OZXQgYXNzZW1ibHksIGZvciBNUyBXaW5kb3dzPC9GaWxlT2JqOkZpbGVfRm9ybWF0PgogICAgICAgICAgICAgICAgICAgIDxGaWxlT2JqOkhhc2hlcz4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPk1ENTwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT5iOTY2MjBkOGEwOGZhNDM2ZWEyMmVmNDgwZGQ4ODNjZTwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPlNIQTE8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+YTFhYjc0ZDJmMDZhNTQyZTc3ZWEyYzZkNjQxYWFlNGVkMTYzYTJkYTwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPlNIQTI1NjwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT43MzhjOTVmNWJmZTYzYTUzMGIyMDBhMGQ3M2YzNjNkNDZjNTY3MWMxZmNiYjY5YzIxN2UxNWEzNTE2NTAxYTg2PC9jeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpUeXBlIHhzaTp0eXBlPSJjeWJveFZvY2FiczpIYXNoTmFtZVZvY2FiLTEuMCI+U0hBNTEyPC9jeWJveENvbW1vbjpUeXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPjJhOWY0ZWJiMDI1YzhlN2I0ZTA3NGQzMDE0Nzc2NTZmZmFkNjYzMThkYTVlYTM1ZGRjODM2M2MxN2Y0YmRiZjUwMTc3ODUzOTEzMzI2MWFkYmI5ZjQ0MTA2NmExZTJiNzkyNDAzMDZhZDE4NzdmNWVmMTcwMDljOGYwNWZmNGE2PC9jeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpUeXBlIHhzaTp0eXBlPSJjeWJveFZvY2FiczpIYXNoTmFtZVZvY2FiLTEuMCI+U1NERUVQPC9jeWJveENvbW1vbjpUeXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPjQ4OjZaTU1FaWtHQWdTN3pmTUZtWlVYN09MYnFNTW91NlpWcXNQSVVsZjQxY2pHUFJNZk5GcmJ2WmlKWTUyN3FuZkY6L2lrR0FnUzdiMDgwN00rQW5kNmM2bUJpSllQZXpOdDwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICA8L0ZpbGVPYmo6SGFzaGVzPgogICAgICAgICAgICAgICAgICAgIDxGaWxlT2JqOlBhY2tlcl9MaXN0PgogICAgICAgICAgICAgICAgICAgICAgICA8RmlsZU9iajpQYWNrZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8RmlsZU9iajpOYW1lPk1pY3Jvc29mdCBWaXN1YWwgQyMgdjcuMCAvIEJhc2ljIC5ORVQ8L0ZpbGVPYmo6TmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9GaWxlT2JqOlBhY2tlcj4KICAgICAgICAgICAgICAgICAgICA8L0ZpbGVPYmo6UGFja2VyX0xpc3Q+CiAgICAgICAgICAgICAgICAgICAgPEZpbGVPYmo6UGVha19FbnRyb3B5PjQuMjM4OTYxPC9GaWxlT2JqOlBlYWtfRW50cm9weT4KICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6SGVhZGVycz4KICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOkZpbGVfSGVhZGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOk51bWJlcl9PZl9TZWN0aW9ucz40PC9XaW5FeGVjdXRhYmxlRmlsZU9iajpOdW1iZXJfT2ZfU2VjdGlvbnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6VGltZV9EYXRlX1N0YW1wPjIwMTgtMDEtMjggMDY6MDk6MTctMDU6MDA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlRpbWVfRGF0ZV9TdGFtcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpTaXplX09mX09wdGlvbmFsX0hlYWRlcj41MTI8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlNpemVfT2ZfT3B0aW9uYWxfSGVhZGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOkhhc2hlcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlR5cGUgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5NRDU8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT43ZjFkYzRiZDcxNmJjMDM3ZGVhMjUxYzRkZmYxMmNkZDwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpIYXNoZXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6RmlsZV9IZWFkZXI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpFbnRyb3B5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlZhbHVlPjIuNTM4NTc5PC9XaW5FeGVjdXRhYmxlRmlsZU9iajpWYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpFbnRyb3B5PgogICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6SGVhZGVycz4KICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6UmVzb3VyY2VzPgogICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6VmVyc2lvbkluZm9SZXNvdXJjZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpDb21wYW55TmFtZT5vaWF1b3lxdGZocWl3dXI1NzhxMjZ0cmdxaXd1ZSBmZmggaXVmaXVxd3l0ZiA3OHd0ODwvV2luRXhlY3V0YWJsZUZpbGVPYmo6Q29tcGFueU5hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6RmlsZURlc2NyaXB0aW9uPmRraGprYXN5ZmFmYSAgdWRmaXUgYXNkIGZ1aXlzZmQgZml1c2RmaCBvaWFmaXVheTwvV2luRXhlY3V0YWJsZUZpbGVPYmo6RmlsZURlc2NyaXB0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOkZpbGVWZXJzaW9uPjc2LjcuOTkuMTI8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOkZpbGVWZXJzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOkludGVybmFsTmFtZT5yb2NrMi5leGU8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOkludGVybmFsTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpMZWdhbENvcHlyaWdodD5pdXN5IGVyZ3k4d2VqIHVkZyB1eTwvV2luRXhlY3V0YWJsZUZpbGVPYmo6TGVnYWxDb3B5cmlnaHQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6T3JpZ2luYWxGaWxlbmFtZT5yb2NrMi5leGU8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOk9yaWdpbmFsRmlsZW5hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6UHJvZHVjdE5hbWU+OTh5NDc5OHQgcWl5IGVyOTk4ZXJnZyBpdWVyeSA4IG84dWlleWZ1aSBxZXdoZml1b3lhZmlidXd5IGV5N2ZxIGl1eWk8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlByb2R1Y3ROYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlByb2R1Y3RWZXJzaW9uPjc2LjcuOTkuMTI8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlByb2R1Y3RWZXJzaW9uPgogICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlZlcnNpb25JbmZvUmVzb3VyY2U+CiAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpSZXNvdXJjZXM+CiAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb25zPgogICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6U2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9uX0hlYWRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6TmFtZT4udGV4dDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6TmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6U2l6ZV9PZl9SYXdfRGF0YT4zMDcyPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpTaXplX09mX1Jhd19EYXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9uX0hlYWRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpFbnRyb3B5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpWYWx1ZT40Ljk0NjI3MjwvV2luRXhlY3V0YWJsZUZpbGVPYmo6VmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOkVudHJvcHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6SGVhZGVyX0hhc2hlcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlR5cGUgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5NRDU8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT5jODA3NjU4NDQ4NmEyNzQ1MjgxZTQ5NDVkYTliOGIxMzwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpIZWFkZXJfSGFzaGVzPgogICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb25fSGVhZGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpOYW1lPi5yc3JjPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpOYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpTaXplX09mX1Jhd19EYXRhPjIwNDg8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlNpemVfT2ZfUmF3X0RhdGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb25fSGVhZGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOkVudHJvcHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlZhbHVlPjMuOTE3Mzk1PC9XaW5FeGVjdXRhYmxlRmlsZU9iajpWYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6RW50cm9weT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpIZWFkZXJfSGFzaGVzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPk1ENTwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPjFlZmU4OGFhNDc1NmQwNTllYzFkM2I0OWUzNDJkZTVkPC9jeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOkhlYWRlcl9IYXNoZXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6U2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6U2VjdGlvbl9IZWFkZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOk5hbWU+LnJlbG9jPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpOYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpTaXplX09mX1Jhd19EYXRhPjUxMjwvV2luRXhlY3V0YWJsZUZpbGVPYmo6U2l6ZV9PZl9SYXdfRGF0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6U2VjdGlvbl9IZWFkZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6RW50cm9weT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6VmFsdWU+MC4wODE1Mzk8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpFbnRyb3B5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOkhlYWRlcl9IYXNoZXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpUeXBlIHhzaTp0eXBlPSJjeWJveFZvY2FiczpIYXNoTmFtZVZvY2FiLTEuMCI+TUQ1PC9jeWJveENvbW1vbjpUeXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+NzA0OGRhYWMzOGM5MzViMzhlMDg2YWRjZDgwMzVkMmE8L2N5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6SGVhZGVyX0hhc2hlcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9uPgogICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6U2VjdGlvbnM+CiAgICAgICAgICAgICAgICA8L2N5Ym94OlByb3BlcnRpZXM+CiAgICAgICAgICAgIDwvY3lib3g6T2JqZWN0PgogICAgICAgIDwvY3lib3g6T2JzZXJ2YWJsZT4KICAgICAgICA8Y3lib3g6T2JzZXJ2YWJsZSBpZD0iTkNDSUM6T2JzZXJ2YWJsZS04YjFlNDcyZi1lZGJjLTRlOWMtYmUwZi0yNTUwYzUzZjRlNTIiPgogICAgICAgICAgICA8Y3lib3g6RGVzY3JpcHRpb24+PCFbQ0RBVEFbVGhpcyBmaWxlIGlzIGEgYmF0Y2ggZmlsZSBkZXNpZ25lZCB0byBleGVjdXRlIG1zd2ludXBkYXRlLmV4ZSB3aXRoIHByZWRlZmluZWQgYXJndW1lbnRzLiBEaXNwbGF5ZWQgYmVsb3cgYXJlIHRoZSBhcmd1bWVudHM6CgotLUJlZ2luIGFyZ3VtZW50cy0tCkZvcm1hdDogJW15cnVubmVyJSAlcGFzc3dvcmQlICVwYXRoJSAldG90YWxwcmljZSUgJXByaWNlcGVyaG9zdCUKU2FtcGxlOiBtc3dpbnVwZGF0ZS5leGUgPHBhc3N3b3JkPiBqdXh0YXBvc2l0aW9uYWwgNSAwLjgKLS1FbmQgYXJndW1lbnRzLS1dXT48L2N5Ym94OkRlc2NyaXB0aW9uPgogICAgICAgICAgICA8Y3lib3g6T2JqZWN0IGlkPSJOQ0NJQzpGaWxlLWE0NDIwY2YyLWIxZWMtNGRkZS05ODk1LTA5MzVkZjczMWM5NSI+CiAgICAgICAgICAgICAgICA8Y3lib3g6UHJvcGVydGllcyB4c2k6dHlwZT0iRmlsZU9iajpGaWxlT2JqZWN0VHlwZSI+CiAgICAgICAgICAgICAgICAgICAgPEZpbGVPYmo6RmlsZV9OYW1lPmcwNGluc3QuYmF0PC9GaWxlT2JqOkZpbGVfTmFtZT4KICAgICAgICAgICAgICAgICAgICA8RmlsZU9iajpTaXplX0luX0J5dGVzPjI3NjwvRmlsZU9iajpTaXplX0luX0J5dGVzPgogICAgICAgICAgICAgICAgICAgIDxGaWxlT2JqOkZpbGVfRm9ybWF0PkFTQ0lJIHRleHQsIHdpdGggQ1JMRiBsaW5lIHRlcm1pbmF0b3JzPC9GaWxlT2JqOkZpbGVfRm9ybWF0PgogICAgICAgICAgICAgICAgICAgIDxGaWxlT2JqOkhhc2hlcz4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPk1ENTwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4wMmMxOWJiZjhlMTliYjY5ZmM3ODcwZWM4NzJkMzU1ZTwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPlNIQTE8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+Y2M3NjU4NmVmOTQxMjIzMjllODI1Yzc4YWFkMmVjYjlhYzA2NDM0MzwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPlNIQTI1NjwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT5iYmQ0MTAyZmUyNWU3M2MwODE1ZDBjMDIwZDYwZDQ3ZGJiZmJlNzllZjFlNDkwZTdiNGY5NzY0MGRkOTMyYjU4PC9jeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpUeXBlIHhzaTp0eXBlPSJjeWJveFZvY2FiczpIYXNoTmFtZVZvY2FiLTEuMCI+U0hBNTEyPC9jeWJveENvbW1vbjpUeXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPjI4MzY4MWI1YjhlNzg0NDBiZjQ3NGM4ZTUwNTA0ZTZlODJmMjViZDNmNjI0MGQ1ZTcwNjAwZTQzZmM5ZmQ2MDlhNzhlZTdiODM3YzliNjhhYTI1ZWQxM2YyZWU3MzVmMzYwYTE4ZTYxNGRlZDE1ZTExYmI2MjA0M2NkMDI4Yzk5PC9jeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpUeXBlIHhzaTp0eXBlPSJjeWJveFZvY2FiczpIYXNoTmFtZVZvY2FiLTEuMCI+U1NERUVQPC9jeWJveENvbW1vbjpUeXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPjY6SkYxWnpBK1FyYWdYc29OTFlqQ2xBVnlYSEkrQ0l3WkFMSUNMQTlYRVVYUi9KZ1c6TDFKNGFTSkYrZHlYbytCYjBMRVVoeVc8L2N5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgPC9GaWxlT2JqOkhhc2hlcz4KICAgICAgICAgICAgICAgICAgICA8RmlsZU9iajpQZWFrX0VudHJvcHk+NC45NjI3MzU8L0ZpbGVPYmo6UGVha19FbnRyb3B5PgogICAgICAgICAgICAgICAgPC9jeWJveDpQcm9wZXJ0aWVzPgogICAgICAgICAgICA8L2N5Ym94Ok9iamVjdD4KICAgICAgICA8L2N5Ym94Ok9ic2VydmFibGU+CiAgICA8L3N0aXg6T2JzZXJ2YWJsZXM+CiAgICA8c3RpeDpJbmRpY2F0b3JzPgogICAgICAgIDxzdGl4OkluZGljYXRvciBpZD0iTkNDSUM6aW5kaWNhdG9yLWM1MWJiZjk3LWUwNTgtNGYwMi05ZTQyLTlkMWIzNjI0YzdjMiIgdGltZXN0YW1wPSIyMDE4LTExLTI4VDE0OjA1OjIzLjg5NTUyMCswMDowMCIgeHNpOnR5cGU9ImluZGljYXRvcjpJbmRpY2F0b3JUeXBlIj4KICAgICAgICAgICAgPGluZGljYXRvcjpUaXRsZT5NRDUgYW5kIFNIQTEgb2YgTWFsaWNpb3VzIEZpbGU8L2luZGljYXRvcjpUaXRsZT4KICAgICAgICAgICAgPGluZGljYXRvcjpUeXBlPk1hbHdhcmUgQXJ0aWZhY3RzPC9pbmRpY2F0b3I6VHlwZT4KICAgICAgICAgICAgPGluZGljYXRvcjpPYnNlcnZhYmxlIGlkPSJOQ0NJQzpPYnNlcnZhYmxlLWFmNDkxYzgwLTkzYTctNDgzMS1hYTk1LWQ5MWQ0MTNlYzU4ZCI+CiAgICAgICAgICAgICAgICA8Y3lib3g6T2JqZWN0IGlkPSJOQ0NJQzpGaWxlLTdmNThjZTk1LWNjNjAtNDY2ZC1iNDA1LWQ0NzIyNmM1ZjBiZiI+CiAgICAgICAgICAgICAgICAgICAgPGN5Ym94OlByb3BlcnRpZXMgeHNpOnR5cGU9IkZpbGVPYmo6RmlsZU9iamVjdFR5cGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8RmlsZU9iajpIYXNoZXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSBjb25kaXRpb249IkVxdWFscyIgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5NRDU8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlIGNvbmRpdGlvbj0iRXF1YWxzIj43NmJkNzlmNzc0YWU4OTJmZDZhMzBiNjQ2MzA1MGE5MTwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSBjb25kaXRpb249IkVxdWFscyIgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5TSEExPC9jeWJveENvbW1vbjpUeXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZSBjb25kaXRpb249IkVxdWFscyI+NGQ3YTYwYmQxZmIzNjc3YTU1M2YyNmQ5NTQzMGMxMDdjODQ4NTEyOTwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSBjb25kaXRpb249IkVxdWFscyIgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5TSEEyNTY8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlIGNvbmRpdGlvbj0iRXF1YWxzIj45YjIzYmZjMzViMThlZDgwMTA0YzQ5NmIyYWE3MjJiM2U1NmZmOWNlYjlkYWU2MGQxYWZmNzIzMDMyMWMxZDEyPC9jeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9GaWxlT2JqOkhhc2hlcz4KICAgICAgICAgICAgICAgICAgICA8L2N5Ym94OlByb3BlcnRpZXM+CiAgICAgICAgICAgICAgICA8L2N5Ym94Ok9iamVjdD4KICAgICAgICAgICAgPC9pbmRpY2F0b3I6T2JzZXJ2YWJsZT4KICAgICAgICAgICAgPGluZGljYXRvcjpJbmRpY2F0ZWRfVFRQPgogICAgICAgICAgICAgICAgPHN0aXhDb21tb246VFRQIGlkcmVmPSJOQ0NJQzp0dHAtNWQwZjkzNmUtYjZjZS00ODU3LWIzYjQtZGZlZmFlNTlmNGI5IiB4c2k6dHlwZT0idHRwOlRUUFR5cGUiLz4KICAgICAgICAgICAgPC9pbmRpY2F0b3I6SW5kaWNhdGVkX1RUUD4KICAgICAgICAgICAgPGluZGljYXRvcjpJbmRpY2F0ZWRfVFRQPgogICAgICAgICAgICAgICAgPHN0aXhDb21tb246VFRQIGlkcmVmPSJOQ0NJQzp0dHAtZGQ3NDgwODUtNDFmYy00MjkzLTk4MWMtZGUwMjZmM2U1M2VmIiB4c2k6dHlwZT0idHRwOlRUUFR5cGUiLz4KICAgICAgICAgICAgPC9pbmRpY2F0b3I6SW5kaWNhdGVkX1RUUD4KICAgICAgICAgICAgPGluZGljYXRvcjpJbmRpY2F0ZWRfVFRQPgogICAgICAgICAgICAgICAgPHN0aXhDb21tb246VFRQIGlkcmVmPSJOQ0NJQzp0dHAtZTJlYjc0MTAtYTYwOC00OGFiLTgyMTMtMzcwY2EzZmY1MjljIiB4c2k6dHlwZT0idHRwOlRUUFR5cGUiLz4KICAgICAgICAgICAgPC9pbmRpY2F0b3I6SW5kaWNhdGVkX1RUUD4KICAgICAgICAgICAgPGluZGljYXRvcjpJbmRpY2F0ZWRfVFRQPgogICAgICAgICAgICAgICAgPHN0aXhDb21tb246VFRQIGlkcmVmPSJOQ0NJQzp0dHAtYmIyZmNlMGUtZjUzMS00MDVmLWEzNzktNmFhOTRjYmJlMDEyIiB4c2k6dHlwZT0idHRwOlRUUFR5cGUiLz4KICAgICAgICAgICAgPC9pbmRpY2F0b3I6SW5kaWNhdGVkX1RUUD4KICAgICAgICAgICAgPGluZGljYXRvcjpQcm9kdWNlcj4KICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOklkZW50aXR5PgogICAgICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOk5hbWU+TkNDSUM8L3N0aXhDb21tb246TmFtZT4KICAgICAgICAgICAgICAgIDwvc3RpeENvbW1vbjpJZGVudGl0eT4KICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOlRpbWU+CiAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlByb2R1Y2VkX1RpbWU+MjAxOC0xMS0yOFQxNDowNToyMyswMDowMDwvY3lib3hDb21tb246UHJvZHVjZWRfVGltZT4KICAgICAgICAgICAgICAgIDwvc3RpeENvbW1vbjpUaW1lPgogICAgICAgICAgICA8L2luZGljYXRvcjpQcm9kdWNlcj4KICAgICAgICA8L3N0aXg6SW5kaWNhdG9yPgogICAgICAgIDxzdGl4OkluZGljYXRvciBpZD0iTkNDSUM6aW5kaWNhdG9yLWRlMjJhYTI4LWRkMDYtNGMzNC05MWU0LWQzZmRjOTM3NDJiMiIgdGltZXN0YW1wPSIyMDE4LTExLTI4VDE0OjA1OjIzLjk3ODY5OSswMDowMCIgeHNpOnR5cGU9ImluZGljYXRvcjpJbmRpY2F0b3JUeXBlIj4KICAgICAgICAgICAgPGluZGljYXRvcjpUaXRsZT5NRDUgYW5kIFNIQTEgb2YgTWFsaWNpb3VzIEZpbGU8L2luZGljYXRvcjpUaXRsZT4KICAgICAgICAgICAgPGluZGljYXRvcjpUeXBlPk1hbHdhcmUgQXJ0aWZhY3RzPC9pbmRpY2F0b3I6VHlwZT4KICAgICAgICAgICAgPGluZGljYXRvcjpPYnNlcnZhYmxlIGlkPSJOQ0NJQzpPYnNlcnZhYmxlLWQ4YzUxOGRjLWU1Y2QtNGQ0My04NDliLWJlY2FkZGMwNWNjMiI+CiAgICAgICAgICAgICAgICA8Y3lib3g6T2JqZWN0IGlkPSJOQ0NJQzpGaWxlLWJkMWRiYjMxLWQzMTYtNDkxMS1iMmNiLTRlNzFkMTZkMWRiYiI+CiAgICAgICAgICAgICAgICAgICAgPGN5Ym94OlByb3BlcnRpZXMgeHNpOnR5cGU9IkZpbGVPYmo6RmlsZU9iamVjdFR5cGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8RmlsZU9iajpIYXNoZXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSBjb25kaXRpb249IkVxdWFscyIgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5NRDU8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlIGNvbmRpdGlvbj0iRXF1YWxzIj5iOTY2MjBkOGEwOGZhNDM2ZWEyMmVmNDgwZGQ4ODNjZTwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSBjb25kaXRpb249IkVxdWFscyIgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5TSEExPC9jeWJveENvbW1vbjpUeXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZSBjb25kaXRpb249IkVxdWFscyI+YTFhYjc0ZDJmMDZhNTQyZTc3ZWEyYzZkNjQxYWFlNGVkMTYzYTJkYTwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSBjb25kaXRpb249IkVxdWFscyIgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5TSEEyNTY8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlIGNvbmRpdGlvbj0iRXF1YWxzIj43MzhjOTVmNWJmZTYzYTUzMGIyMDBhMGQ3M2YzNjNkNDZjNTY3MWMxZmNiYjY5YzIxN2UxNWEzNTE2NTAxYTg2PC9jeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9GaWxlT2JqOkhhc2hlcz4KICAgICAgICAgICAgICAgICAgICA8L2N5Ym94OlByb3BlcnRpZXM+CiAgICAgICAgICAgICAgICA8L2N5Ym94Ok9iamVjdD4KICAgICAgICAgICAgPC9pbmRpY2F0b3I6T2JzZXJ2YWJsZT4KICAgICAgICAgICAgPGluZGljYXRvcjpJbmRpY2F0ZWRfVFRQPgogICAgICAgICAgICAgICAgPHN0aXhDb21tb246VFRQIGlkcmVmPSJOQ0NJQzp0dHAtZWZmMmQ5ZjItNjllNS00NDk5LThlNmQtODZkNmVkNDgxYWMwIiB4c2k6dHlwZT0idHRwOlRUUFR5cGUiLz4KICAgICAgICAgICAgPC9pbmRpY2F0b3I6SW5kaWNhdGVkX1RUUD4KICAgICAgICAgICAgPGluZGljYXRvcjpJbmRpY2F0ZWRfVFRQPgogICAgICAgICAgICAgICAgPHN0aXhDb21tb246VFRQIGlkcmVmPSJOQ0NJQzp0dHAtZTJlYjc0MTAtYTYwOC00OGFiLTgyMTMtMzcwY2EzZmY1MjljIiB4c2k6dHlwZT0idHRwOlRUUFR5cGUiLz4KICAgICAgICAgICAgPC9pbmRpY2F0b3I6SW5kaWNhdGVkX1RUUD4KICAgICAgICAgICAgPGluZGljYXRvcjpJbmRpY2F0ZWRfVFRQPgogICAgICAgICAgICAgICAgPHN0aXhDb21tb246VFRQIGlkcmVmPSJOQ0NJQzp0dHAtYmIyZmNlMGUtZjUzMS00MDVmLWEzNzktNmFhOTRjYmJlMDEyIiB4c2k6dHlwZT0idHRwOlRUUFR5cGUiLz4KICAgICAgICAgICAgPC9pbmRpY2F0b3I6SW5kaWNhdGVkX1RUUD4KICAgICAgICAgICAgPGluZGljYXRvcjpQcm9kdWNlcj4KICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOklkZW50aXR5PgogICAgICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOk5hbWU+TkNDSUM8L3N0aXhDb21tb246TmFtZT4KICAgICAgICAgICAgICAgIDwvc3RpeENvbW1vbjpJZGVudGl0eT4KICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOlRpbWU+CiAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlByb2R1Y2VkX1RpbWU+MjAxOC0xMS0yOFQxNDowNToyMyswMDowMDwvY3lib3hDb21tb246UHJvZHVjZWRfVGltZT4KICAgICAgICAgICAgICAgIDwvc3RpeENvbW1vbjpUaW1lPgogICAgICAgICAgICA8L2luZGljYXRvcjpQcm9kdWNlcj4KICAgICAgICA8L3N0aXg6SW5kaWNhdG9yPgogICAgICAgIDxzdGl4OkluZGljYXRvciBpZD0iTkNDSUM6aW5kaWNhdG9yLTRkYjdjOTRmLWQ1MjQtNDk3NC1iNDQ5LTI1ZjBhZTQzN2EwZSIgdGltZXN0YW1wPSIyMDE4LTExLTI4VDE0OjA1OjI0LjA1NTc4NyswMDowMCIgeHNpOnR5cGU9ImluZGljYXRvcjpJbmRpY2F0b3JUeXBlIj4KICAgICAgICAgICAgPGluZGljYXRvcjpUaXRsZT5NRDUgYW5kIFNIQTEgb2YgTWFsaWNpb3VzIEZpbGU8L2luZGljYXRvcjpUaXRsZT4KICAgICAgICAgICAgPGluZGljYXRvcjpUeXBlPk1hbHdhcmUgQXJ0aWZhY3RzPC9pbmRpY2F0b3I6VHlwZT4KICAgICAgICAgICAgPGluZGljYXRvcjpPYnNlcnZhYmxlIGlkPSJOQ0NJQzpPYnNlcnZhYmxlLTI0OTczYzY1LTNlMjctNGYxZS05NDRlLTBmZWU1ZDljNGVjNCI+CiAgICAgICAgICAgICAgICA8Y3lib3g6T2JqZWN0IGlkPSJOQ0NJQzpGaWxlLWE3MzY0MzY0LWU0OGQtNGE3Yy1iM2JkLWVjZTYyMmY3ZjMxZSI+CiAgICAgICAgICAgICAgICAgICAgPGN5Ym94OlByb3BlcnRpZXMgeHNpOnR5cGU9IkZpbGVPYmo6RmlsZU9iamVjdFR5cGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8RmlsZU9iajpIYXNoZXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSBjb25kaXRpb249IkVxdWFscyIgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5NRDU8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlIGNvbmRpdGlvbj0iRXF1YWxzIj4wMmMxOWJiZjhlMTliYjY5ZmM3ODcwZWM4NzJkMzU1ZTwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSBjb25kaXRpb249IkVxdWFscyIgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5TSEExPC9jeWJveENvbW1vbjpUeXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZSBjb25kaXRpb249IkVxdWFscyI+Y2M3NjU4NmVmOTQxMjIzMjllODI1Yzc4YWFkMmVjYjlhYzA2NDM0MzwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSBjb25kaXRpb249IkVxdWFscyIgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5TSEEyNTY8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlIGNvbmRpdGlvbj0iRXF1YWxzIj5iYmQ0MTAyZmUyNWU3M2MwODE1ZDBjMDIwZDYwZDQ3ZGJiZmJlNzllZjFlNDkwZTdiNGY5NzY0MGRkOTMyYjU4PC9jeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgPC9GaWxlT2JqOkhhc2hlcz4KICAgICAgICAgICAgICAgICAgICA8L2N5Ym94OlByb3BlcnRpZXM+CiAgICAgICAgICAgICAgICA8L2N5Ym94Ok9iamVjdD4KICAgICAgICAgICAgPC9pbmRpY2F0b3I6T2JzZXJ2YWJsZT4KICAgICAgICAgICAgPGluZGljYXRvcjpJbmRpY2F0ZWRfVFRQPgogICAgICAgICAgICAgICAgPHN0aXhDb21tb246VFRQIGlkcmVmPSJOQ0NJQzp0dHAtMmVkNTE2MDAtZGRkMi00ZDBmLWE2ZjEtYjM3NDNhZTBmOTUzIiB4c2k6dHlwZT0idHRwOlRUUFR5cGUiLz4KICAgICAgICAgICAgPC9pbmRpY2F0b3I6SW5kaWNhdGVkX1RUUD4KICAgICAgICAgICAgPGluZGljYXRvcjpJbmRpY2F0ZWRfVFRQPgogICAgICAgICAgICAgICAgPHN0aXhDb21tb246VFRQIGlkcmVmPSJOQ0NJQzp0dHAtZTJlYjc0MTAtYTYwOC00OGFiLTgyMTMtMzcwY2EzZmY1MjljIiB4c2k6dHlwZT0idHRwOlRUUFR5cGUiLz4KICAgICAgICAgICAgPC9pbmRpY2F0b3I6SW5kaWNhdGVkX1RUUD4KICAgICAgICAgICAgPGluZGljYXRvcjpJbmRpY2F0ZWRfVFRQPgogICAgICAgICAgICAgICAgPHN0aXhDb21tb246VFRQIGlkcmVmPSJOQ0NJQzp0dHAtYmIyZmNlMGUtZjUzMS00MDVmLWEzNzktNmFhOTRjYmJlMDEyIiB4c2k6dHlwZT0idHRwOlRUUFR5cGUiLz4KICAgICAgICAgICAgPC9pbmRpY2F0b3I6SW5kaWNhdGVkX1RUUD4KICAgICAgICAgICAgPGluZGljYXRvcjpQcm9kdWNlcj4KICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOklkZW50aXR5PgogICAgICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOk5hbWU+TkNDSUM8L3N0aXhDb21tb246TmFtZT4KICAgICAgICAgICAgICAgIDwvc3RpeENvbW1vbjpJZGVudGl0eT4KICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOlRpbWU+CiAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlByb2R1Y2VkX1RpbWU+MjAxOC0xMS0yOFQxNDowNToyNCswMDowMDwvY3lib3hDb21tb246UHJvZHVjZWRfVGltZT4KICAgICAgICAgICAgICAgIDwvc3RpeENvbW1vbjpUaW1lPgogICAgICAgICAgICA8L2luZGljYXRvcjpQcm9kdWNlcj4KICAgICAgICA8L3N0aXg6SW5kaWNhdG9yPgogICAgPC9zdGl4OkluZGljYXRvcnM+CiAgICA8c3RpeDpUVFBzPgogICAgICAgIDxzdGl4OlRUUCBpZD0iTkNDSUM6dHRwLTVkMGY5MzZlLWI2Y2UtNDg1Ny1iM2I0LWRmZWZhZTU5ZjRiOSIgdGltZXN0YW1wPSIyMDE4LTExLTI4VDE0OjA1OjIzLjg5NDIyOSswMDowMCIgeHNpOnR5cGU9InR0cDpUVFBUeXBlIj4KICAgICAgICAgICAgPHR0cDpUaXRsZT5NQUVDIENoYXJhY3Rlcml6YXRpb24gb2YgNzZiZDc5Zjc3NGFlODkyZmQ2YTMwYjY0NjMwNTBhOTE8L3R0cDpUaXRsZT4KICAgICAgICAgICAgPHR0cDpCZWhhdmlvcj4KICAgICAgICAgICAgICAgIDx0dHA6TWFsd2FyZT4KICAgICAgICAgICAgICAgICAgICA8dHRwOk1hbHdhcmVfSW5zdGFuY2UgeHNpOnR5cGU9InN0aXgtbWFlYzpNQUVDNC4xSW5zdGFuY2VUeXBlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPHN0aXgtbWFlYzpNQUVDIGlkPSJOQ0NJQzpwYWNrYWdlLTRmYzY2ZjFlLWZlZjMtNDE4NS1hYWM2LTNmMmQ3OGZkOTgyOSIgc2NoZW1hX3ZlcnNpb249IjIuMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY1BhY2thZ2U6TWFsd2FyZV9TdWJqZWN0cz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY1BhY2thZ2U6TWFsd2FyZV9TdWJqZWN0IGlkPSJOQ0NJQzptYWx3YXJlX3N1YmplY3QtNTZmNTAyMTUtMDczYi00N2FhLTg1YmItYTFhZTk4MmU5MGQyIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNQYWNrYWdlOk1hbHdhcmVfSW5zdGFuY2VfT2JqZWN0X0F0dHJpYnV0ZXMgaWRyZWY9Ik5DQ0lDOldpbkV4ZWN1dGFibGVGaWxlLWVhZjdlMWJjLTVmODItNDI1Yi05MWIwLWMxNmJiM2NmNzkxMyIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY1BhY2thZ2U6RmluZGluZ3NfQnVuZGxlcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjUGFja2FnZTpCdW5kbGUgZGVmaW5lZF9zdWJqZWN0PSJ0cnVlIiBpZD0iTkNDSUM6YnVuZGxlLTc3Y2IxOGMyLWM5NzAtNDBhMS04YjU3LTRkMTllZDM0YmJlOCIgc2NoZW1hX3ZlcnNpb249IjQuMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb25zPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+Q2xhbUFWPC9jeWJveENvbW1vbjpWZW5kb3I+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPldpbi5Ucm9qYW4uQWdlbnQtNjUzODI0MS0wPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPk1jQWZlZTwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5SYW5zb213YXJlLUdKWSE3NkJENzlGNzc0QUU8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+Szc8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+Umlza3dhcmUgKCAwMDQwZWZmNzEgKTwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5TeXN0d2VhazwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT50cm9qYW4uZG93bmxvYWRlcjwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5DeXJlbjwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5XMzIvVHJvamFuLlVSUkktMzUxNzwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5TeW1hbnRlYzwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5Ucm9qYW4uR2VuLjI8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+QW50aXk8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VHJvamFuL1dpbjMyLkFHZW5lcmljPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPkJpdERlZmVuZGVyPC9jeWJveENvbW1vbjpWZW5kb3I+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPlRyb2phbi5HZW5lcmljS0QuMzAzNjk0MTc8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+TWljcm9zb2Z0IFNlY3VyaXR5IEVzc2VudGlhbHM8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+UmFuc29tOk1TSUwvU2FtYXMuRDwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5Tb3Bob3M8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VHJvai9TYW1hcy1GPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPlRyZW5kTWljcm8gSG91c2UgQ2FsbDwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5UUk9KX1NUVUJEQ1JZUC5BPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPlRyZW5kTWljcm88L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VFJPSl9TVFVCRENSWVAuQTwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5FbXNpc29mdDwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5Ucm9qYW4uR2VuZXJpY0tELjMwMzY5NDE3IChCKTwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5BaG5sYWI8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VHJvamFuL1dpbjMyLkJsYWNrPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPkVTRVQ8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+YSB2YXJpYW50IG9mIE1TSUwvUnVubmVyLk4gdHJvamFuPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPk5BTk9BVjwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5Ucm9qYW4uV2luMzIuUnVubmVyLmZmdmZibDwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5Ja2FydXM8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+UmFuc29tLk1TSUwuU2FtYXM8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNQYWNrYWdlOkJ1bmRsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjUGFja2FnZTpGaW5kaW5nc19CdW5kbGVzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY1BhY2thZ2U6TWFsd2FyZV9TdWJqZWN0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjUGFja2FnZTpNYWx3YXJlX1N1YmplY3RzPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N0aXgtbWFlYzpNQUVDPgogICAgICAgICAgICAgICAgICAgIDwvdHRwOk1hbHdhcmVfSW5zdGFuY2U+CiAgICAgICAgICAgICAgICA8L3R0cDpNYWx3YXJlPgogICAgICAgICAgICA8L3R0cDpCZWhhdmlvcj4KICAgICAgICAgICAgPHR0cDpSZXNvdXJjZXM+CiAgICAgICAgICAgICAgICA8dHRwOkluZnJhc3RydWN0dXJlPgogICAgICAgICAgICAgICAgICAgIDx0dHA6T2JzZXJ2YWJsZV9DaGFyYWN0ZXJpemF0aW9uIGN5Ym94X21ham9yX3ZlcnNpb249IjIiIGN5Ym94X21pbm9yX3ZlcnNpb249IjEiIGN5Ym94X3VwZGF0ZV92ZXJzaW9uPSIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Ok9ic2VydmFibGUgaWRyZWY9Ik5DQ0lDOk9ic2VydmFibGUtNDYyOGM1MTktMzRiNC00Y2ViLTlkZmEtYmQwYTcxMmQ1OTcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jeWJveDpPYnNlcnZhYmxlPgogICAgICAgICAgICAgICAgICAgIDwvdHRwOk9ic2VydmFibGVfQ2hhcmFjdGVyaXphdGlvbj4KICAgICAgICAgICAgICAgIDwvdHRwOkluZnJhc3RydWN0dXJlPgogICAgICAgICAgICA8L3R0cDpSZXNvdXJjZXM+CiAgICAgICAgPC9zdGl4OlRUUD4KICAgICAgICA8c3RpeDpUVFAgaWQ9Ik5DQ0lDOnR0cC1kZDc0ODA4NS00MWZjLTQyOTMtOTgxYy1kZTAyNmYzZTUzZWYiIHRpbWVzdGFtcD0iMjAxOC0xMS0yOFQxNDowNToyMy45MTQ4MDErMDA6MDAiIHhzaTp0eXBlPSJ0dHA6VFRQVHlwZSI+CiAgICAgICAgICAgIDx0dHA6VGl0bGU+ZG93bmxvYWRlcjwvdHRwOlRpdGxlPgogICAgICAgICAgICA8dHRwOlJlc291cmNlcz4KICAgICAgICAgICAgICAgIDx0dHA6SW5mcmFzdHJ1Y3R1cmU+CiAgICAgICAgICAgICAgICAgICAgPHR0cDpPYnNlcnZhYmxlX0NoYXJhY3Rlcml6YXRpb24gY3lib3hfbWFqb3JfdmVyc2lvbj0iMiIgY3lib3hfbWlub3JfdmVyc2lvbj0iMSIgY3lib3hfdXBkYXRlX3ZlcnNpb249IjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3g6T2JzZXJ2YWJsZSBpZHJlZj0iTkNDSUM6T2JzZXJ2YWJsZS00NjI4YzUxOS0zNGI0LTRjZWItOWRmYS1iZDBhNzEyZDU5NzAiPgogICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Ok9ic2VydmFibGU+CiAgICAgICAgICAgICAgICAgICAgPC90dHA6T2JzZXJ2YWJsZV9DaGFyYWN0ZXJpemF0aW9uPgogICAgICAgICAgICAgICAgPC90dHA6SW5mcmFzdHJ1Y3R1cmU+CiAgICAgICAgICAgIDwvdHRwOlJlc291cmNlcz4KICAgICAgICA8L3N0aXg6VFRQPgogICAgICAgIDxzdGl4OlRUUCBpZD0iTkNDSUM6dHRwLWUyZWI3NDEwLWE2MDgtNDhhYi04MjEzLTM3MGNhM2ZmNTI5YyIgdGltZXN0YW1wPSIyMDE4LTExLTI4VDE0OjA1OjIzLjkxNTMzMSswMDowMCIgeHNpOnR5cGU9InR0cDpUVFBUeXBlIj4KICAgICAgICAgICAgPHR0cDpUaXRsZT5yYW5zb213YXJlPC90dHA6VGl0bGU+CiAgICAgICAgICAgIDx0dHA6UmVzb3VyY2VzPgogICAgICAgICAgICAgICAgPHR0cDpJbmZyYXN0cnVjdHVyZT4KICAgICAgICAgICAgICAgICAgICA8dHRwOk9ic2VydmFibGVfQ2hhcmFjdGVyaXphdGlvbiBjeWJveF9tYWpvcl92ZXJzaW9uPSIyIiBjeWJveF9taW5vcl92ZXJzaW9uPSIxIiBjeWJveF91cGRhdGVfdmVyc2lvbj0iMCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveDpPYnNlcnZhYmxlIGlkcmVmPSJOQ0NJQzpPYnNlcnZhYmxlLTQ2MjhjNTE5LTM0YjQtNGNlYi05ZGZhLWJkMGE3MTJkNTk3MCI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3g6T2JzZXJ2YWJsZT4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Ok9ic2VydmFibGUgaWRyZWY9Ik5DQ0lDOk9ic2VydmFibGUtZTYyZWUyZjEtMjE1NS00YzllLWFkMDYtZDc5ZmY5N2Y2ODk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jeWJveDpPYnNlcnZhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3g6T2JzZXJ2YWJsZSBpZHJlZj0iTkNDSUM6T2JzZXJ2YWJsZS04YjFlNDcyZi1lZGJjLTRlOWMtYmUwZi0yNTUwYzUzZjRlNTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Ok9ic2VydmFibGU+CiAgICAgICAgICAgICAgICAgICAgPC90dHA6T2JzZXJ2YWJsZV9DaGFyYWN0ZXJpemF0aW9uPgogICAgICAgICAgICAgICAgPC90dHA6SW5mcmFzdHJ1Y3R1cmU+CiAgICAgICAgICAgIDwvdHRwOlJlc291cmNlcz4KICAgICAgICA8L3N0aXg6VFRQPgogICAgICAgIDxzdGl4OlRUUCBpZD0iTkNDSUM6dHRwLWJiMmZjZTBlLWY1MzEtNDA1Zi1hMzc5LTZhYTk0Y2JiZTAxMiIgdGltZXN0YW1wPSIyMDE4LTExLTI4VDE0OjA1OjIzLjkxNTgyNyswMDowMCIgeHNpOnR5cGU9InR0cDpUVFBUeXBlIj4KICAgICAgICAgICAgPHR0cDpUaXRsZT50cm9qYW48L3R0cDpUaXRsZT4KICAgICAgICAgICAgPHR0cDpSZXNvdXJjZXM+CiAgICAgICAgICAgICAgICA8dHRwOkluZnJhc3RydWN0dXJlPgogICAgICAgICAgICAgICAgICAgIDx0dHA6T2JzZXJ2YWJsZV9DaGFyYWN0ZXJpemF0aW9uIGN5Ym94X21ham9yX3ZlcnNpb249IjIiIGN5Ym94X21pbm9yX3ZlcnNpb249IjEiIGN5Ym94X3VwZGF0ZV92ZXJzaW9uPSIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Ok9ic2VydmFibGUgaWRyZWY9Ik5DQ0lDOk9ic2VydmFibGUtNDYyOGM1MTktMzRiNC00Y2ViLTlkZmEtYmQwYTcxMmQ1OTcwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jeWJveDpPYnNlcnZhYmxlPgogICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3g6T2JzZXJ2YWJsZSBpZHJlZj0iTkNDSUM6T2JzZXJ2YWJsZS1lNjJlZTJmMS0yMTU1LTRjOWUtYWQwNi1kNzlmZjk3ZjY4OTkiPgogICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Ok9ic2VydmFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveDpPYnNlcnZhYmxlIGlkcmVmPSJOQ0NJQzpPYnNlcnZhYmxlLThiMWU0NzJmLWVkYmMtNGU5Yy1iZTBmLTI1NTBjNTNmNGU1MiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3g6T2JzZXJ2YWJsZT4KICAgICAgICAgICAgICAgICAgICA8L3R0cDpPYnNlcnZhYmxlX0NoYXJhY3Rlcml6YXRpb24+CiAgICAgICAgICAgICAgICA8L3R0cDpJbmZyYXN0cnVjdHVyZT4KICAgICAgICAgICAgPC90dHA6UmVzb3VyY2VzPgogICAgICAgIDwvc3RpeDpUVFA+CiAgICAgICAgPHN0aXg6VFRQIGlkPSJOQ0NJQzp0dHAtZWZmMmQ5ZjItNjllNS00NDk5LThlNmQtODZkNmVkNDgxYWMwIiB0aW1lc3RhbXA9IjIwMTgtMTEtMjhUMTQ6MDU6MjMuOTc3NjUyKzAwOjAwIiB4c2k6dHlwZT0idHRwOlRUUFR5cGUiPgogICAgICAgICAgICA8dHRwOlRpdGxlPk1BRUMgQ2hhcmFjdGVyaXphdGlvbiBvZiBiOTY2MjBkOGEwOGZhNDM2ZWEyMmVmNDgwZGQ4ODNjZTwvdHRwOlRpdGxlPgogICAgICAgICAgICA8dHRwOkJlaGF2aW9yPgogICAgICAgICAgICAgICAgPHR0cDpNYWx3YXJlPgogICAgICAgICAgICAgICAgICAgIDx0dHA6TWFsd2FyZV9JbnN0YW5jZSB4c2k6dHlwZT0ic3RpeC1tYWVjOk1BRUM0LjFJbnN0YW5jZVR5cGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3RpeC1tYWVjOk1BRUMgaWQ9Ik5DQ0lDOnBhY2thZ2UtZGU3MGNlY2EtMzk1NC00YzllLWFhNzYtMTE1YWM1OTM0ZmZkIiBzY2hlbWFfdmVyc2lvbj0iMi4xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjUGFja2FnZTpNYWx3YXJlX1N1YmplY3RzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjUGFja2FnZTpNYWx3YXJlX1N1YmplY3QgaWQ9Ik5DQ0lDOm1hbHdhcmVfc3ViamVjdC02Yzc3ZjAwNy05NjM5LTQ1MDMtYjRiYy0wMzI0ZmEzOTJhODUiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY1BhY2thZ2U6TWFsd2FyZV9JbnN0YW5jZV9PYmplY3RfQXR0cmlidXRlcyBpZHJlZj0iTkNDSUM6V2luRXhlY3V0YWJsZUZpbGUtMmQyZDUzY2YtNDNkYS00MmZhLTgxYzItZTEwYWVjMTNiMzNhIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjUGFja2FnZTpGaW5kaW5nc19CdW5kbGVzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNQYWNrYWdlOkJ1bmRsZSBkZWZpbmVkX3N1YmplY3Q9InRydWUiIGlkPSJOQ0NJQzpidW5kbGUtYzcyZTRmMzYtZDQxMC00NmJiLWE2ZWUtZDVmNjM4MjRhMWU1IiBzY2hlbWFfdmVyc2lvbj0iNC4xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5NY0FmZWU8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+UmFuc29td2FyZS1HSlghQjk2NjIwRDhBMDhGPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPk5ldEdhdGU8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+TWFsd2FyZS5HZW5lcmljPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPks3PC9jeWJveENvbW1vbjpWZW5kb3I+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPlJpc2t3YXJlICggMDA0MGVmZjcxICk8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+U3lzdHdlYWs8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+bWFsd2FyZS5zaHVyaWtlbjwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5DeXJlbjwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5XMzIvVHJvamFuLlZZQVAtMjYxMTwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5TeW1hbnRlYzwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5Ucm9qYW4uR2VuLjI8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+WmlsbHlhITwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5Ucm9qYW4uU2FtYXMuV2luMzIuMzI8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+QW50aXk8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VHJvamFuW1JhbnNvbV0vTVNJTC5TYW1hczwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5CaXREZWZlbmRlcjwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5Ucm9qYW4uR2VuZXJpY0tELjMwMzY3OTkxPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPk1pY3Jvc29mdCBTZWN1cml0eSBFc3NlbnRpYWxzPC9jeWJveENvbW1vbjpWZW5kb3I+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPlJhbnNvbTpNU0lML1NhbWFzPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPlNvcGhvczwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5NYWwvS3J5cHRpay1CVjwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5UcmVuZE1pY3JvIEhvdXNlIENhbGw8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VFJPSl9SVU5ORVIuR0JCPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPlRyZW5kTWljcm88L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VFJPSl9SVU5ORVIuR0JCPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPkVtc2lzb2Z0PC9jeWJveENvbW1vbjpWZW5kb3I+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPlRyb2phbi5HZW5lcmljS0QuMzAzNjc5OTEgKEIpPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPkF2aXJhPC9jeWJveENvbW1vbjpWZW5kb3I+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPlRSL1NhbWFzLnF5YnVoPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPkFobmxhYjwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5Ucm9qYW4vV2luMzIuU2FtYXM8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+RVNFVDwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5hIHZhcmlhbnQgb2YgTVNJTC9SdW5uZXIuTiB0cm9qYW48L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+TkFOT0FWPC9jeWJveENvbW1vbjpWZW5kb3I+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPlRyb2phbi5XaW4zMi5HZW5lcmljLmV5bXNjZTwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5Ja2FydXM8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+UmFuc29tLk1TSUwuU2FtYXM8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNQYWNrYWdlOkJ1bmRsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjUGFja2FnZTpGaW5kaW5nc19CdW5kbGVzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY1BhY2thZ2U6TWFsd2FyZV9TdWJqZWN0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjUGFja2FnZTpNYWx3YXJlX1N1YmplY3RzPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N0aXgtbWFlYzpNQUVDPgogICAgICAgICAgICAgICAgICAgIDwvdHRwOk1hbHdhcmVfSW5zdGFuY2U+CiAgICAgICAgICAgICAgICA8L3R0cDpNYWx3YXJlPgogICAgICAgICAgICA8L3R0cDpCZWhhdmlvcj4KICAgICAgICAgICAgPHR0cDpSZXNvdXJjZXM+CiAgICAgICAgICAgICAgICA8dHRwOkluZnJhc3RydWN0dXJlPgogICAgICAgICAgICAgICAgICAgIDx0dHA6T2JzZXJ2YWJsZV9DaGFyYWN0ZXJpemF0aW9uIGN5Ym94X21ham9yX3ZlcnNpb249IjIiIGN5Ym94X21pbm9yX3ZlcnNpb249IjEiIGN5Ym94X3VwZGF0ZV92ZXJzaW9uPSIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Ok9ic2VydmFibGUgaWRyZWY9Ik5DQ0lDOk9ic2VydmFibGUtZTYyZWUyZjEtMjE1NS00YzllLWFkMDYtZDc5ZmY5N2Y2ODk5Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jeWJveDpPYnNlcnZhYmxlPgogICAgICAgICAgICAgICAgICAgIDwvdHRwOk9ic2VydmFibGVfQ2hhcmFjdGVyaXphdGlvbj4KICAgICAgICAgICAgICAgIDwvdHRwOkluZnJhc3RydWN0dXJlPgogICAgICAgICAgICA8L3R0cDpSZXNvdXJjZXM+CiAgICAgICAgPC9zdGl4OlRUUD4KICAgICAgICA8c3RpeDpUVFAgaWQ9Ik5DQ0lDOnR0cC0yZWQ1MTYwMC1kZGQyLTRkMGYtYTZmMS1iMzc0M2FlMGY5NTMiIHRpbWVzdGFtcD0iMjAxOC0xMS0yOFQxNDowNToyNC4wNTQ5NjYrMDA6MDAiIHhzaTp0eXBlPSJ0dHA6VFRQVHlwZSI+CiAgICAgICAgICAgIDx0dHA6VGl0bGU+TUFFQyBDaGFyYWN0ZXJpemF0aW9uIG9mIDAyYzE5YmJmOGUxOWJiNjlmYzc4NzBlYzg3MmQzNTVlPC90dHA6VGl0bGU+CiAgICAgICAgICAgIDx0dHA6QmVoYXZpb3I+CiAgICAgICAgICAgICAgICA8dHRwOk1hbHdhcmU+CiAgICAgICAgICAgICAgICAgICAgPHR0cDpNYWx3YXJlX0luc3RhbmNlIHhzaTp0eXBlPSJzdGl4LW1hZWM6TUFFQzQuMUluc3RhbmNlVHlwZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxzdGl4LW1hZWM6TUFFQyBpZD0iTkNDSUM6cGFja2FnZS03OTBkMjc3NS04YWYwLTRkNTUtOTFkNi04Nzg4YjFlMTk3NzMiIHNjaGVtYV92ZXJzaW9uPSIyLjEiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNQYWNrYWdlOk1hbHdhcmVfU3ViamVjdHM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNQYWNrYWdlOk1hbHdhcmVfU3ViamVjdCBpZD0iTkNDSUM6bWFsd2FyZV9zdWJqZWN0LWU4MTUxNDUyLWI3NjItNDdkMy05NWEwLTg4OWVjOGIzN2RkYyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjUGFja2FnZTpNYWx3YXJlX0luc3RhbmNlX09iamVjdF9BdHRyaWJ1dGVzIGlkcmVmPSJOQ0NJQzpGaWxlLWE0NDIwY2YyLWIxZWMtNGRkZS05ODk1LTA5MzVkZjczMWM5NSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY1BhY2thZ2U6RmluZGluZ3NfQnVuZGxlcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjUGFja2FnZTpCdW5kbGUgZGVmaW5lZF9zdWJqZWN0PSJ0cnVlIiBpZD0iTkNDSUM6YnVuZGxlLTE2NDdhYzZmLWIyNDctNGVlMC1iOGIyLTYwZmE3MTVlZmY0ZCIgc2NoZW1hX3ZlcnNpb249IjQuMSI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb25zPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+TWNBZmVlPC9jeWJveENvbW1vbjpWZW5kb3I+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPkJBVC9TdGFydGVyLmg8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+U3ltYW50ZWM8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VHJvamFuLk1hbHNjcmlwdDwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5NaWNyb3NvZnQgU2VjdXJpdHkgRXNzZW50aWFsczwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5SYW5zb206QkFUL1NhbWFzPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPlNvcGhvczwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5Ucm9qL1JhbnNSdW4tQTwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9ucz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY1BhY2thZ2U6QnVuZGxlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNQYWNrYWdlOkZpbmRpbmdzX0J1bmRsZXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjUGFja2FnZTpNYWx3YXJlX1N1YmplY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNQYWNrYWdlOk1hbHdhcmVfU3ViamVjdHM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3RpeC1tYWVjOk1BRUM+CiAgICAgICAgICAgICAgICAgICAgPC90dHA6TWFsd2FyZV9JbnN0YW5jZT4KICAgICAgICAgICAgICAgIDwvdHRwOk1hbHdhcmU+CiAgICAgICAgICAgIDwvdHRwOkJlaGF2aW9yPgogICAgICAgICAgICA8dHRwOlJlc291cmNlcz4KICAgICAgICAgICAgICAgIDx0dHA6SW5mcmFzdHJ1Y3R1cmU+CiAgICAgICAgICAgICAgICAgICAgPHR0cDpPYnNlcnZhYmxlX0NoYXJhY3Rlcml6YXRpb24gY3lib3hfbWFqb3JfdmVyc2lvbj0iMiIgY3lib3hfbWlub3JfdmVyc2lvbj0iMSIgY3lib3hfdXBkYXRlX3ZlcnNpb249IjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3g6T2JzZXJ2YWJsZSBpZHJlZj0iTkNDSUM6T2JzZXJ2YWJsZS04YjFlNDcyZi1lZGJjLTRlOWMtYmUwZi0yNTUwYzUzZjRlNTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Ok9ic2VydmFibGU+CiAgICAgICAgICAgICAgICAgICAgPC90dHA6T2JzZXJ2YWJsZV9DaGFyYWN0ZXJpemF0aW9uPgogICAgICAgICAgICAgICAgPC90dHA6SW5mcmFzdHJ1Y3R1cmU+CiAgICAgICAgICAgIDwvdHRwOlJlc291cmNlcz4KICAgICAgICA8L3N0aXg6VFRQPgogICAgPC9zdGl4OlRUUHM+CiAgICA8c3RpeDpJbmNpZGVudHM+CiAgICAgICAgPHN0aXg6SW5jaWRlbnQgaWQ9Ik5DQ0lDOmluY2lkZW50LTYxNTA3MzRhLTkxMDctNDg0Yy04ZjYzLTM1N2I1MGRhYzM2NyIgdGltZXN0YW1wPSIyMDE4LTAzLTA5VDEyOjA4OjIxLTA1OjAwIiB4c2k6dHlwZT0iaW5jaWRlbnQ6SW5jaWRlbnRUeXBlIj4KICAgICAgICAgICAgPGluY2lkZW50OlRpdGxlPjEwMTY0NDk0LnIxLnYxPC9pbmNpZGVudDpUaXRsZT4KICAgICAgICAgICAgPGluY2lkZW50OkRlc2NyaXB0aW9uPjwhW0NEQVRBWyMjIyMjIEluY2lkZW50IFN1bW1hcnkgIyMjIyMKCk5vbmUKCiMjIyMjIFJlcG9ydCBTdW1tYXJ5ICMjIyMjCgpUaHJlZSBhcnRpZmFjdHMgd2VyZSBzdWJtaXR0ZWQgZm9yIGFuYWx5c2lzLgoKIyMjIyMgQ29uY2x1c2lvbiAjIyMjIwoKTm9uZQoKIyMjIyMgTWl0aWdhdGlvbiAjIyMjIwoKTm9uZV1dPjwvaW5jaWRlbnQ6RGVzY3JpcHRpb24+CiAgICAgICAgICAgIDxpbmNpZGVudDpDYXRlZ29yaWVzPgogICAgICAgICAgICAgICAgPGluY2lkZW50OkNhdGVnb3J5IHhzaTp0eXBlPSJzdGl4Vm9jYWJzOkluY2lkZW50Q2F0ZWdvcnlWb2NhYi0xLjAiPk1hbGljaW91cyBDb2RlPC9pbmNpZGVudDpDYXRlZ29yeT4KICAgICAgICAgICAgPC9pbmNpZGVudDpDYXRlZ29yaWVzPgogICAgICAgICAgICA8aW5jaWRlbnQ6UmVsYXRlZF9JbmRpY2F0b3JzPgogICAgICAgICAgICAgICAgPGluY2lkZW50OlJlbGF0ZWRfSW5kaWNhdG9yPgogICAgICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOkluZGljYXRvciBpZHJlZj0iTkNDSUM6aW5kaWNhdG9yLWM1MWJiZjk3LWUwNTgtNGYwMi05ZTQyLTlkMWIzNjI0YzdjMiIgeHNpOnR5cGU9ImluZGljYXRvcjpJbmRpY2F0b3JUeXBlIi8+CiAgICAgICAgICAgICAgICA8L2luY2lkZW50OlJlbGF0ZWRfSW5kaWNhdG9yPgogICAgICAgICAgICAgICAgPGluY2lkZW50OlJlbGF0ZWRfSW5kaWNhdG9yPgogICAgICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOkluZGljYXRvciBpZHJlZj0iTkNDSUM6aW5kaWNhdG9yLWRlMjJhYTI4LWRkMDYtNGMzNC05MWU0LWQzZmRjOTM3NDJiMiIgeHNpOnR5cGU9ImluZGljYXRvcjpJbmRpY2F0b3JUeXBlIi8+CiAgICAgICAgICAgICAgICA8L2luY2lkZW50OlJlbGF0ZWRfSW5kaWNhdG9yPgogICAgICAgICAgICAgICAgPGluY2lkZW50OlJlbGF0ZWRfSW5kaWNhdG9yPgogICAgICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOkluZGljYXRvciBpZHJlZj0iTkNDSUM6aW5kaWNhdG9yLTRkYjdjOTRmLWQ1MjQtNDk3NC1iNDQ5LTI1ZjBhZTQzN2EwZSIgeHNpOnR5cGU9ImluZGljYXRvcjpJbmRpY2F0b3JUeXBlIi8+CiAgICAgICAgICAgICAgICA8L2luY2lkZW50OlJlbGF0ZWRfSW5kaWNhdG9yPgogICAgICAgICAgICA8L2luY2lkZW50OlJlbGF0ZWRfSW5kaWNhdG9ycz4KICAgICAgICAgICAgPGluY2lkZW50OlJlbGF0ZWRfT2JzZXJ2YWJsZXM+CiAgICAgICAgICAgICAgICA8aW5jaWRlbnQ6UmVsYXRlZF9PYnNlcnZhYmxlPgogICAgICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOlJlbGF0aW9uc2hpcD5NYWxpY2lvdXMgQXJ0aWZhY3QgRGV0ZWN0ZWQ8L3N0aXhDb21tb246UmVsYXRpb25zaGlwPgogICAgICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOk9ic2VydmFibGUgaWRyZWY9Ik5DQ0lDOk9ic2VydmFibGUtNDYyOGM1MTktMzRiNC00Y2ViLTlkZmEtYmQwYTcxMmQ1OTcwIj4KICAgICAgICAgICAgICAgICAgICA8L3N0aXhDb21tb246T2JzZXJ2YWJsZT4KICAgICAgICAgICAgICAgIDwvaW5jaWRlbnQ6UmVsYXRlZF9PYnNlcnZhYmxlPgogICAgICAgICAgICAgICAgPGluY2lkZW50OlJlbGF0ZWRfT2JzZXJ2YWJsZT4KICAgICAgICAgICAgICAgICAgICA8c3RpeENvbW1vbjpSZWxhdGlvbnNoaXA+TWFsaWNpb3VzIEFydGlmYWN0IERldGVjdGVkPC9zdGl4Q29tbW9uOlJlbGF0aW9uc2hpcD4KICAgICAgICAgICAgICAgICAgICA8c3RpeENvbW1vbjpPYnNlcnZhYmxlIGlkcmVmPSJOQ0NJQzpPYnNlcnZhYmxlLWU2MmVlMmYxLTIxNTUtNGM5ZS1hZDA2LWQ3OWZmOTdmNjg5OSI+CiAgICAgICAgICAgICAgICAgICAgPC9zdGl4Q29tbW9uOk9ic2VydmFibGU+CiAgICAgICAgICAgICAgICA8L2luY2lkZW50OlJlbGF0ZWRfT2JzZXJ2YWJsZT4KICAgICAgICAgICAgICAgIDxpbmNpZGVudDpSZWxhdGVkX09ic2VydmFibGU+CiAgICAgICAgICAgICAgICAgICAgPHN0aXhDb21tb246UmVsYXRpb25zaGlwPk1hbGljaW91cyBBcnRpZmFjdCBEZXRlY3RlZDwvc3RpeENvbW1vbjpSZWxhdGlvbnNoaXA+CiAgICAgICAgICAgICAgICAgICAgPHN0aXhDb21tb246T2JzZXJ2YWJsZSBpZHJlZj0iTkNDSUM6T2JzZXJ2YWJsZS04YjFlNDcyZi1lZGJjLTRlOWMtYmUwZi0yNTUwYzUzZjRlNTIiPgogICAgICAgICAgICAgICAgICAgIDwvc3RpeENvbW1vbjpPYnNlcnZhYmxlPgogICAgICAgICAgICAgICAgPC9pbmNpZGVudDpSZWxhdGVkX09ic2VydmFibGU+CiAgICAgICAgICAgIDwvaW5jaWRlbnQ6UmVsYXRlZF9PYnNlcnZhYmxlcz4KICAgICAgICAgICAgPGluY2lkZW50OkxldmVyYWdlZF9UVFBzPgogICAgICAgICAgICAgICAgPGluY2lkZW50OkxldmVyYWdlZF9UVFA+CiAgICAgICAgICAgICAgICAgICAgPHN0aXhDb21tb246VFRQIGlkcmVmPSJOQ0NJQzp0dHAtNWQwZjkzNmUtYjZjZS00ODU3LWIzYjQtZGZlZmFlNTlmNGI5IiB4c2k6dHlwZT0idHRwOlRUUFR5cGUiLz4KICAgICAgICAgICAgICAgIDwvaW5jaWRlbnQ6TGV2ZXJhZ2VkX1RUUD4KICAgICAgICAgICAgICAgIDxpbmNpZGVudDpMZXZlcmFnZWRfVFRQPgogICAgICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOlRUUCBpZHJlZj0iTkNDSUM6dHRwLWRkNzQ4MDg1LTQxZmMtNDI5My05ODFjLWRlMDI2ZjNlNTNlZiIgeHNpOnR5cGU9InR0cDpUVFBUeXBlIi8+CiAgICAgICAgICAgICAgICA8L2luY2lkZW50OkxldmVyYWdlZF9UVFA+CiAgICAgICAgICAgICAgICA8aW5jaWRlbnQ6TGV2ZXJhZ2VkX1RUUD4KICAgICAgICAgICAgICAgICAgICA8c3RpeENvbW1vbjpUVFAgaWRyZWY9Ik5DQ0lDOnR0cC1lMmViNzQxMC1hNjA4LTQ4YWItODIxMy0zNzBjYTNmZjUyOWMiIHhzaTp0eXBlPSJ0dHA6VFRQVHlwZSIvPgogICAgICAgICAgICAgICAgPC9pbmNpZGVudDpMZXZlcmFnZWRfVFRQPgogICAgICAgICAgICAgICAgPGluY2lkZW50OkxldmVyYWdlZF9UVFA+CiAgICAgICAgICAgICAgICAgICAgPHN0aXhDb21tb246VFRQIGlkcmVmPSJOQ0NJQzp0dHAtYmIyZmNlMGUtZjUzMS00MDVmLWEzNzktNmFhOTRjYmJlMDEyIiB4c2k6dHlwZT0idHRwOlRUUFR5cGUiLz4KICAgICAgICAgICAgICAgIDwvaW5jaWRlbnQ6TGV2ZXJhZ2VkX1RUUD4KICAgICAgICAgICAgICAgIDxpbmNpZGVudDpMZXZlcmFnZWRfVFRQPgogICAgICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOlRUUCBpZHJlZj0iTkNDSUM6dHRwLWVmZjJkOWYyLTY5ZTUtNDQ5OS04ZTZkLTg2ZDZlZDQ4MWFjMCIgeHNpOnR5cGU9InR0cDpUVFBUeXBlIi8+CiAgICAgICAgICAgICAgICA8L2luY2lkZW50OkxldmVyYWdlZF9UVFA+CiAgICAgICAgICAgICAgICA8aW5jaWRlbnQ6TGV2ZXJhZ2VkX1RUUD4KICAgICAgICAgICAgICAgICAgICA8c3RpeENvbW1vbjpUVFAgaWRyZWY9Ik5DQ0lDOnR0cC0yZWQ1MTYwMC1kZGQyLTRkMGYtYTZmMS1iMzc0M2FlMGY5NTMiIHhzaTp0eXBlPSJ0dHA6VFRQVHlwZSIvPgogICAgICAgICAgICAgICAgPC9pbmNpZGVudDpMZXZlcmFnZWRfVFRQPgogICAgICAgICAgICA8L2luY2lkZW50OkxldmVyYWdlZF9UVFBzPgogICAgICAgIDwvc3RpeDpJbmNpZGVudD4KICAgIDwvc3RpeDpJbmNpZGVudHM+Cjwvc3RpeDpTVElYX1BhY2thZ2U+", + "uuid": "dc91e612-5d87-475c-aa4d-7e1f490cb62d", + "category": "External analysis" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543921748", + "description": "File object describing a file with meta-information", + "distribution": "3", + "template_version": "15", + "template_uuid": "688c46fb-5edb-40a3-8273-1af7923e2215", + "comment": "", + "name": "file", + "uuid": "7f58ce95-cc60-466d-b405-d47226c5f0bf", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543921749", + "value": "9b23bfc35b18ed80104c496b2aa722b3e56ff9ceb9dae60d1aff7230321c1d12", + "type": "sha256", + "to_ids": true, + "object_relation": "sha256", + "comment": "", + "uuid": "a5274885-a3c6-40bc-92dd-258429767e47", + "category": "Payload delivery" + }, + { + "timestamp": "1543921749", + "value": "4d7a60bd1fb3677a553f26d95430c107c8485129", + "type": "sha1", + "to_ids": true, + "object_relation": "sha1", + "comment": "", + "uuid": "b58f054c-98d9-4c03-8f9f-7c4dc1372862", + "category": "Payload delivery" + }, + { + "timestamp": "1543921748", + "value": "76bd79f774ae892fd6a30b6463050a91", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "44b093a2-d15c-44b5-b76e-83500aa2f718", + "category": "Payload delivery" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543921750", + "description": "File object describing a file with meta-information", + "distribution": "3", + "template_version": "15", + "template_uuid": "688c46fb-5edb-40a3-8273-1af7923e2215", + "comment": "", + "name": "file", + "uuid": "bd1dbb31-d316-4911-b2cb-4e71d16d1dbb", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543921751", + "value": "738c95f5bfe63a530b200a0d73f363d46c5671c1fcbb69c217e15a3516501a86", + "type": "sha256", + "to_ids": true, + "object_relation": "sha256", + "comment": "", + "uuid": "4902e608-ce21-4615-aa2b-a8e85ef114ca", + "category": "Payload delivery" + }, + { + "timestamp": "1543921750", + "value": "a1ab74d2f06a542e77ea2c6d641aae4ed163a2da", + "type": "sha1", + "to_ids": true, + "object_relation": "sha1", + "comment": "", + "uuid": "21562b9a-60fd-4a5e-ae86-d0aa491fbeb9", + "category": "Payload delivery" + }, + { + "timestamp": "1543921750", + "value": "b96620d8a08fa436ea22ef480dd883ce", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "a54d44f7-d2cc-4117-bdfe-d098ea589243", + "category": "Payload delivery" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543921751", + "description": "File object describing a file with meta-information", + "distribution": "3", + "template_version": "15", + "template_uuid": "688c46fb-5edb-40a3-8273-1af7923e2215", + "comment": "", + "name": "file", + "uuid": "a7364364-e48d-4a7c-b3bd-ece622f7f31e", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543921752", + "value": "bbd4102fe25e73c0815d0c020d60d47dbbfbe79ef1e490e7b4f97640dd932b58", + "type": "sha256", + "to_ids": true, + "object_relation": "sha256", + "comment": "", + "uuid": "f2b8d31e-236b-4517-9a7a-1d8aa643925c", + "category": "Payload delivery" + }, + { + "timestamp": "1543921752", + "value": "cc76586ef94122329e825c78aad2ecb9ac064343", + "type": "sha1", + "to_ids": true, + "object_relation": "sha1", + "comment": "", + "uuid": "825df6c8-e826-4b69-a0e3-881b6ab1f993", + "category": "Payload delivery" + }, + { + "timestamp": "1543921751", + "value": "02c19bbf8e19bb69fc7870ec872d355e", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "03916da4-5f9f-442a-98e1-c7783dcd2748", + "category": "Payload delivery" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543921753", + "description": "Object describing a section of a Portable Executable", + "distribution": "3", + "template_version": "2", + "template_uuid": "198a17d2-a135-4b25-9a32-5aa4e632014a", + "comment": "", + "name": "pe-section", + "uuid": "855cd93b-6e6c-4827-9cfa-479873ce217a", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543921753", + "value": "512", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "fbd9f037-6344-455d-aa3a-a1c827c2cb91", + "category": "Other" + }, + { + "timestamp": "1543921753", + "value": "34943f18fd2a99cc3f5cabe43b4765f8", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "975863e8-6eac-4f53-9857-30ce88281312", + "category": "Payload delivery" + }, + { + "timestamp": "1543921753", + "value": "2.54792", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "faaecaa5-c3d4-4437-b4d0-77a0f471c147", + "category": "Other" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543921753", + "description": "Object describing a section of a Portable Executable", + "distribution": "3", + "template_version": "2", + "template_uuid": "198a17d2-a135-4b25-9a32-5aa4e632014a", + "comment": "", + "name": "pe-section", + "uuid": "b1432908-95e3-47e7-8ae3-ee66ea5ff4f8", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543921754", + "value": "3072", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "b996c7bf-9c1f-47d9-9798-cee99cd331a3", + "category": "Other" + }, + { + "timestamp": "1543921754", + "value": ".text", + "type": "text", + "to_ids": false, + "object_relation": "name", + "comment": "", + "uuid": "e574c16b-d9a0-442a-b61b-67631517cc75", + "category": "Other" + }, + { + "timestamp": "1543921754", + "value": "4.85667", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "814011e2-3808-4228-a2d2-49db8e211c59", + "category": "Other" + }, + { + "timestamp": "1543921753", + "value": "06219fe6e30e15dce12688ca2b434890", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "2534ce8b-44fc-4021-a4f7-36bce8a11484", + "category": "Payload delivery" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543921754", + "description": "Object describing a section of a Portable Executable", + "distribution": "3", + "template_version": "2", + "template_uuid": "198a17d2-a135-4b25-9a32-5aa4e632014a", + "comment": "", + "name": "pe-section", + "uuid": "d0951bc8-2196-4ad1-94bf-191486da007a", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543921754", + "value": "1024", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "d606f2f8-d8e4-4591-9681-237e5324c42a", + "category": "Other" + }, + { + "timestamp": "1543921754", + "value": ".rsrc", + "type": "text", + "to_ids": false, + "object_relation": "name", + "comment": "", + "uuid": "6de6fcae-866a-42ec-a084-e824075d8f31", + "category": "Other" + }, + { + "timestamp": "1543921754", + "value": "2.888335", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "6410600b-0dc3-48de-a5de-3894cb33d76b", + "category": "Other" + }, + { + "timestamp": "1543921754", + "value": "11b58fc9ac45168b871cc50399b7c86c", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "81809d10-f2c2-4db2-9434-f02ee1062389", + "category": "Payload delivery" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543921754", + "description": "Object describing a section of a Portable Executable", + "distribution": "3", + "template_version": "2", + "template_uuid": "198a17d2-a135-4b25-9a32-5aa4e632014a", + "comment": "", + "name": "pe-section", + "uuid": "46929908-aa81-4a2e-922d-0888eef9c399", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543921755", + "value": "512", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "d1b2d7c2-d9c0-4d80-b591-e71de543928f", + "category": "Other" + }, + { + "timestamp": "1543921755", + "value": "0.081539", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "1fa3c44f-75b9-4330-9d55-5eeac9047851", + "category": "Other" + }, + { + "timestamp": "1543921755", + "value": ".reloc", + "type": "text", + "to_ids": false, + "object_relation": "name", + "comment": "", + "uuid": "b8aac6e6-7e01-4af7-9063-a93ff88b2f5b", + "category": "Other" + }, + { + "timestamp": "1543921754", + "value": "ec45a535f38fb6dc4ac4ed7cbf63b754", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "4bbd64ab-476e-47a1-9e48-70c23aa90b39", + "category": "Payload delivery" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543921755", + "description": "Object describing a Portable Executable", + "distribution": "3", + "template_version": "3", + "template_uuid": "cf7adecc-d4f0-4e88-9d90-f978ee151a07", + "comment": "", + "name": "pe", + "uuid": "5afacb97-2453-4507-84cf-2e4c5d9c3fa4", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543921755", + "value": "4", + "type": "counter", + "to_ids": false, + "object_relation": "number-sections", + "comment": "", + "uuid": "bb0b6f6a-fcf1-4dd5-956d-78497ad83d95", + "category": "Other" + }, + { + "timestamp": "1543921755", + "value": "ClassLibrary1.dll", + "type": "filename", + "to_ids": true, + "object_relation": "original-filename", + "comment": "", + "uuid": "52e69a5a-8f8c-45e8-a58b-40ca2c28206f", + "category": "Payload delivery" + }, + { + "timestamp": "1543921755", + "value": "ClassLibrary1.dll", + "type": "filename", + "to_ids": true, + "object_relation": "internal-filename", + "comment": "", + "uuid": "a56299e1-f7aa-4414-a4d8-0a321bd2bcb4", + "category": "Payload delivery" + } + ], + "ObjectReference": [ + { + "relationship_type": "header-of", + "timestamp": "1550654277", + "referenced_uuid": "855cd93b-6e6c-4827-9cfa-479873ce217a", + "comment": "", + "uuid": "5c066064-b00c-4fe6-997b-4478950d210f" + }, + { + "relationship_type": "included-in", + "timestamp": "1550654277", + "referenced_uuid": "b1432908-95e3-47e7-8ae3-ee66ea5ff4f8", + "comment": "", + "uuid": "5c066064-f734-4102-8497-4824950d210f" + }, + { + "relationship_type": "included-in", + "timestamp": "1550654277", + "referenced_uuid": "d0951bc8-2196-4ad1-94bf-191486da007a", + "comment": "", + "uuid": "5c066064-eb98-485e-aa9e-4eca950d210f" + }, + { + "relationship_type": "included-in", + "timestamp": "1550654277", + "referenced_uuid": "46929908-aa81-4a2e-922d-0888eef9c399", + "comment": "", + "uuid": "5c066064-9880-4d24-82fa-48a0950d210f" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543921755", + "description": "File object describing a file with meta-information", + "distribution": "3", + "template_version": "15", + "template_uuid": "688c46fb-5edb-40a3-8273-1af7923e2215", + "comment": "", + "name": "file", + "uuid": "eaf7e1bc-5f82-425b-91b0-c16bb3cf7913", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543921757", + "value": "5120", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "ff97ee13-ae78-4494-9e32-abb29372252b", + "category": "Other" + }, + { + "timestamp": "1543921757", + "value": "4.004964", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "4a854987-43e7-4518-bcad-82c344c2706a", + "category": "Other" + }, + { + "timestamp": "1543921757", + "value": "PE32 executable (DLL) (console) Intel 80386 Mono/.Net assembly, for MS Windows", + "type": "mime-type", + "to_ids": false, + "object_relation": "mimetype", + "comment": "", + "uuid": "64581c76-5506-4b33-a5ef-ef4fc6990f9c", + "category": "Artifacts dropped" + }, + { + "timestamp": "1543921757", + "value": "ClassLibrary1.dll", + "type": "filename", + "to_ids": false, + "object_relation": "filename", + "comment": "", + "uuid": "2d12f4b2-82b7-4f8f-be16-aca15d66336a", + "category": "Payload delivery" + }, + { + "timestamp": "1543921757", + "value": "48:6DhamfhRd4tvDo4Xbgj/aarU3LT88VMM8UX8i02+KfANbU7gjBRd1trWO8lGO+3L:m+5DoAbgfU88Spi0oANbsgjMPYp3XII", + "type": "ssdeep", + "to_ids": false, + "object_relation": "ssdeep", + "comment": "", + "uuid": "5b7065ce-59e3-4681-b3ae-7ad1ed2f1bcb", + "category": "Payload delivery" + }, + { + "timestamp": "1543921756", + "value": "67e0046db0b565a1ac1862bbd536016c3ea984f8fceadaa31b4c99e7a8b434b170d5badbb10c2c25e264b17bbf2f97576f252e7ef74279b3b845b1553cef9829", + "type": "sha512", + "to_ids": false, + "object_relation": "sha512", + "comment": "", + "uuid": "269a789f-8bac-4e0a-8f1e-c99fe9afbdb6", + "category": "Payload delivery" + }, + { + "timestamp": "1543921756", + "value": "9b23bfc35b18ed80104c496b2aa722b3e56ff9ceb9dae60d1aff7230321c1d12", + "type": "sha256", + "to_ids": false, + "object_relation": "sha256", + "comment": "", + "uuid": "91169b8c-5966-42d4-929c-f07308f6a2d1", + "category": "Payload delivery" + }, + { + "timestamp": "1543921755", + "value": "4d7a60bd1fb3677a553f26d95430c107c8485129", + "type": "sha1", + "to_ids": false, + "object_relation": "sha1", + "comment": "", + "uuid": "15654d0a-a355-451a-b482-7296b6b4d734", + "category": "Payload delivery" + }, + { + "timestamp": "1543921755", + "value": "76bd79f774ae892fd6a30b6463050a91", + "type": "md5", + "to_ids": false, + "object_relation": "md5", + "comment": "", + "uuid": "34d5396c-21d6-4967-93b8-719906477480", + "category": "Payload delivery" + } + ], + "ObjectReference": [ + { + "relationship_type": "included-in", + "timestamp": "1550654277", + "referenced_uuid": "5afacb97-2453-4507-84cf-2e4c5d9c3fa4", + "comment": "", + "uuid": "5c066064-6890-4af1-9854-4d61950d210f" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543921757", + "description": "Object describing a section of a Portable Executable", + "distribution": "3", + "template_version": "2", + "template_uuid": "198a17d2-a135-4b25-9a32-5aa4e632014a", + "comment": "", + "name": "pe-section", + "uuid": "65e8a61f-cd5e-46b3-8e43-f6ee835fb3ec", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543921758", + "value": "512", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "e0326762-3601-4967-8d7f-f2365dc3f7a2", + "category": "Other" + }, + { + "timestamp": "1543921757", + "value": "7f1dc4bd716bc037dea251c4dff12cdd", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "ad11b1f4-d965-4ef2-b1bc-96c42475805f", + "category": "Payload delivery" + }, + { + "timestamp": "1543921757", + "value": "2.538579", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "c5911227-4c80-4705-bd3b-67f3d1aaa83f", + "category": "Other" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543921758", + "description": "Object describing a section of a Portable Executable", + "distribution": "3", + "template_version": "2", + "template_uuid": "198a17d2-a135-4b25-9a32-5aa4e632014a", + "comment": "", + "name": "pe-section", + "uuid": "39cb5a66-0f5f-4e01-a711-6cd8e9f09843", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543921758", + "value": ".text", + "type": "text", + "to_ids": false, + "object_relation": "name", + "comment": "", + "uuid": "01404fa1-ba6f-4563-bc08-14152d211892", + "category": "Other" + }, + { + "timestamp": "1543921758", + "value": "3072", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "05362ad8-db47-410a-9224-ede9e9f8848c", + "category": "Other" + }, + { + "timestamp": "1543921758", + "value": "4.946272", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "ae1e0206-92ae-4dc1-93a6-9d51d9472ccd", + "category": "Other" + }, + { + "timestamp": "1543921758", + "value": "c8076584486a2745281e4945da9b8b13", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "406d93ff-2c26-426f-870b-d3d8992ea4d1", + "category": "Payload delivery" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543921758", + "description": "Object describing a section of a Portable Executable", + "distribution": "3", + "template_version": "2", + "template_uuid": "198a17d2-a135-4b25-9a32-5aa4e632014a", + "comment": "", + "name": "pe-section", + "uuid": "1f222148-e8da-40d6-9f6c-6972afbaf41d", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543921759", + "value": "2048", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "ea0281d0-cc3b-4aef-a90a-12b4b6e67942", + "category": "Other" + }, + { + "timestamp": "1543921759", + "value": ".rsrc", + "type": "text", + "to_ids": false, + "object_relation": "name", + "comment": "", + "uuid": "4f2e09db-03f3-4b74-8d54-a71c90aa96ac", + "category": "Other" + }, + { + "timestamp": "1543921759", + "value": "3.917395", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "6c5b147b-6a38-4d37-9268-7b7cd55f66bc", + "category": "Other" + }, + { + "timestamp": "1543921758", + "value": "1efe88aa4756d059ec1d3b49e342de5d", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "3f0fa297-a812-449f-87d7-ef05305e47f8", + "category": "Payload delivery" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543921759", + "description": "Object describing a section of a Portable Executable", + "distribution": "3", + "template_version": "2", + "template_uuid": "198a17d2-a135-4b25-9a32-5aa4e632014a", + "comment": "", + "name": "pe-section", + "uuid": "8b5d0a9d-268b-42fa-8d68-a4df4450d56e", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543921759", + "value": ".reloc", + "type": "text", + "to_ids": false, + "object_relation": "name", + "comment": "", + "uuid": "ff47d3a8-a634-403a-b35b-9d2743afaced", + "category": "Other" + }, + { + "timestamp": "1543921759", + "value": "0.081539", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "e26f47c7-57ba-4fcb-aa9c-acbd5db5beb8", + "category": "Other" + }, + { + "timestamp": "1543921759", + "value": "7048daac38c935b38e086adcd8035d2a", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "484bf645-2a7e-4663-b740-117f1528e0d5", + "category": "Payload delivery" + }, + { + "timestamp": "1543921759", + "value": "512", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "01ce6561-f841-4a07-a3ef-eb64593ae9bc", + "category": "Other" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543921759", + "description": "Object describing a Portable Executable", + "distribution": "3", + "template_version": "3", + "template_uuid": "cf7adecc-d4f0-4e88-9d90-f978ee151a07", + "comment": "", + "name": "pe", + "uuid": "5dd2cbdd-b576-4e07-970f-dc3c40164068", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543921759", + "value": "mswinupdate.exe", + "type": "filename", + "to_ids": true, + "object_relation": "internal-filename", + "comment": "", + "uuid": "e932385e-5696-4df3-9373-25c794b128cd", + "category": "Payload delivery" + }, + { + "timestamp": "1543921759", + "value": "mswinupdate.exe", + "type": "filename", + "to_ids": true, + "object_relation": "original-filename", + "comment": "", + "uuid": "f01d815e-41a3-4950-9786-1c6b9aea2057", + "category": "Payload delivery" + }, + { + "timestamp": "1543921759", + "value": "4", + "type": "counter", + "to_ids": false, + "object_relation": "number-sections", + "comment": "", + "uuid": "0afd8ad6-3501-4ae1-8372-760a7b4f2975", + "category": "Other" + } + ], + "ObjectReference": [ + { + "relationship_type": "header-of", + "timestamp": "1550654277", + "referenced_uuid": "65e8a61f-cd5e-46b3-8e43-f6ee835fb3ec", + "comment": "", + "uuid": "5c066064-850c-4bec-a7a0-42a0950d210f" + }, + { + "relationship_type": "included-in", + "timestamp": "1550654277", + "referenced_uuid": "39cb5a66-0f5f-4e01-a711-6cd8e9f09843", + "comment": "", + "uuid": "5c066065-2770-4baf-a6af-405f950d210f" + }, + { + "relationship_type": "included-in", + "timestamp": "1550654277", + "referenced_uuid": "1f222148-e8da-40d6-9f6c-6972afbaf41d", + "comment": "", + "uuid": "5c066065-6abc-43d0-b952-4233950d210f" + }, + { + "relationship_type": "included-in", + "timestamp": "1550654277", + "referenced_uuid": "8b5d0a9d-268b-42fa-8d68-a4df4450d56e", + "comment": "", + "uuid": "5c066065-0868-4b7c-9683-4b25950d210f" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543921759", + "description": "File object describing a file with meta-information", + "distribution": "3", + "template_version": "15", + "template_uuid": "688c46fb-5edb-40a3-8273-1af7923e2215", + "comment": "", + "name": "file", + "uuid": "2d2d53cf-43da-42fa-81c2-e10aec13b33a", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543921759", + "value": "b96620d8a08fa436ea22ef480dd883ce", + "type": "md5", + "to_ids": false, + "object_relation": "md5", + "comment": "", + "uuid": "a71bbf57-504f-44ff-8d65-fba9ed2732a1", + "category": "Payload delivery" + }, + { + "timestamp": "1543921760", + "value": "a1ab74d2f06a542e77ea2c6d641aae4ed163a2da", + "type": "sha1", + "to_ids": false, + "object_relation": "sha1", + "comment": "", + "uuid": "60db42a9-c6f8-4c88-93f1-2b19fe1d55cb", + "category": "Payload delivery" + }, + { + "timestamp": "1543921760", + "value": "738c95f5bfe63a530b200a0d73f363d46c5671c1fcbb69c217e15a3516501a86", + "type": "sha256", + "to_ids": false, + "object_relation": "sha256", + "comment": "", + "uuid": "38fcacf2-a903-4977-bafc-a2996b0a481f", + "category": "Payload delivery" + }, + { + "timestamp": "1543921761", + "value": "2a9f4ebb025c8e7b4e074d301477656ffad66318da5ea35ddc8363c17f4bdbf501778539133261adbb9f441066a1e2b79240306ad1877f5ef17009c8f05ff4a6", + "type": "sha512", + "to_ids": false, + "object_relation": "sha512", + "comment": "", + "uuid": "9eed5a45-8184-4380-a7db-4053b2a29a44", + "category": "Payload delivery" + }, + { + "timestamp": "1543921761", + "value": "48:6ZMMEikGAgS7zfMFmZUX7OLbqMMou6ZVqsPIUlf41cjGPRMfNFrbvZiJY527qnfF:/ikGAgS7b0807M+And6c6mBiJYPezNt", + "type": "ssdeep", + "to_ids": false, + "object_relation": "ssdeep", + "comment": "", + "uuid": "5b7b8028-7041-4837-9f57-0c16987931ef", + "category": "Payload delivery" + }, + { + "timestamp": "1543921762", + "value": "mswinupdate.exe", + "type": "filename", + "to_ids": false, + "object_relation": "filename", + "comment": "", + "uuid": "1fd7a8d2-1563-4ddd-9c1e-0c000a785feb", + "category": "Payload delivery" + }, + { + "timestamp": "1543921762", + "value": "PE32 executable (console) Intel 80386 Mono/.Net assembly, for MS Windows", + "type": "mime-type", + "to_ids": false, + "object_relation": "mimetype", + "comment": "", + "uuid": "31e0407b-393d-4365-8116-6ee430ef6a6a", + "category": "Artifacts dropped" + }, + { + "timestamp": "1543921762", + "value": "4.238961", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "3bf70ff1-6da3-450b-9012-9e8350d849dc", + "category": "Other" + }, + { + "timestamp": "1543921762", + "value": "6144", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "5e36d5a4-9de7-4e84-b682-ba720d96ed2a", + "category": "Other" + } + ], + "ObjectReference": [ + { + "relationship_type": "included-in", + "timestamp": "1550654277", + "referenced_uuid": "5dd2cbdd-b576-4e07-970f-dc3c40164068", + "comment": "", + "uuid": "5c066065-1d9c-4524-ad25-406d950d210f" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543921762", + "description": "File object describing a file with meta-information", + "distribution": "3", + "template_version": "15", + "template_uuid": "688c46fb-5edb-40a3-8273-1af7923e2215", + "comment": "", + "name": "file", + "uuid": "a4420cf2-b1ec-4dde-9895-0935df731c95", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543921762", + "value": "02c19bbf8e19bb69fc7870ec872d355e", + "type": "md5", + "to_ids": false, + "object_relation": "md5", + "comment": "", + "uuid": "8412d295-191b-4ede-adfa-a506262e245e", + "category": "Payload delivery" + }, + { + "timestamp": "1543921762", + "value": "cc76586ef94122329e825c78aad2ecb9ac064343", + "type": "sha1", + "to_ids": false, + "object_relation": "sha1", + "comment": "", + "uuid": "678dc841-7084-4707-9818-43ef4ea08aae", + "category": "Payload delivery" + }, + { + "timestamp": "1543921763", + "value": "bbd4102fe25e73c0815d0c020d60d47dbbfbe79ef1e490e7b4f97640dd932b58", + "type": "sha256", + "to_ids": false, + "object_relation": "sha256", + "comment": "", + "uuid": "b516bbab-9eab-439d-8d02-f4b77297b2e6", + "category": "Payload delivery" + }, + { + "timestamp": "1543921763", + "value": "283681b5b8e78440bf474c8e50504e6e82f25bd3f6240d5e70600e43fc9fd609a78ee7b837c9b68aa25ed13f2ee735f360a18e614ded15e11bb62043cd028c99", + "type": "sha512", + "to_ids": false, + "object_relation": "sha512", + "comment": "", + "uuid": "572f0e04-9432-4935-9b74-94341d46845b", + "category": "Payload delivery" + }, + { + "timestamp": "1543921764", + "value": "6:JF1ZzA+QragXsoNLYjClAVyXHI+CIwZALICLA9XEUXR/JgW:L1J4aSJF+dyXo+Bb0LEUhyW", + "type": "ssdeep", + "to_ids": false, + "object_relation": "ssdeep", + "comment": "", + "uuid": "2584285f-5586-4077-b4e3-d8e80c52af81", + "category": "Payload delivery" + }, + { + "timestamp": "1543921764", + "value": "g04inst.bat", + "type": "filename", + "to_ids": false, + "object_relation": "filename", + "comment": "", + "uuid": "e9850817-0144-4ea7-a168-b0dff36a6414", + "category": "Payload delivery" + }, + { + "timestamp": "1543921764", + "value": "ASCII text, with CRLF line terminators", + "type": "mime-type", + "to_ids": false, + "object_relation": "mimetype", + "comment": "", + "uuid": "baf2e0ac-9660-4281-b908-5755f425c677", + "category": "Artifacts dropped" + }, + { + "timestamp": "1543921764", + "value": "4.962735", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "6d3922b6-21e8-4cbe-af33-403c761fd43c", + "category": "Other" + }, + { + "timestamp": "1543921764", + "value": "276", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "bd111546-233c-41c8-8f25-3a5ad50bec74", + "category": "Other" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/tests/reportlab_testfiles/mainly_objects_2.json b/tests/reportlab_testfiles/mainly_objects_2.json new file mode 100644 index 0000000..0c01864 --- /dev/null +++ b/tests/reportlab_testfiles/mainly_objects_2.json @@ -0,0 +1,977 @@ +{ + "Event": { + "threat_level_id": "3", + "timestamp": "1550653819", + "info": "MAR-10219351.r1.v2 (SamSam ransomware)", + "published": true, + "date": "2018-11-27", + "analysis": "0", + "uuid": "5c0661f7-77a0-4ec9-bdcf-d447950d210f", + "publish_timestamp": "1550653820", + "Orgc": { + "name": "CIRCL", + "uuid": "55f6ea5e-2c60-40e5-964f-47a8950d210f" + }, + "Tag": [ + { + "name": "tlp:white", + "exportable": true, + "colour": "#ffffff" + }, + { + "name": "misp-galaxy:malpedia=\"SamSam\"", + "exportable": true, + "colour": "#0088cc" + }, + { + "name": "misp-galaxy:ransomware=\"Samas-Samsam\"", + "exportable": true, + "colour": "#0088cc" + } + ], + "Attribute": [ + { + "timestamp": "1543922167", + "value": "Global\\\u51b0\u01e3", + "type": "mutex", + "to_ids": false, + "object_relation": null, + "comment": "", + "uuid": "9c22cd87-034c-4f13-b5b6-0b11ce921c19", + "category": "Artifacts dropped" + } + ], + "Object": [ + { + "sharing_group_id": "0", + "timestamp": "1543922167", + "description": "Object describing the original file used to import data in MISP.", + "distribution": "3", + "template_version": "2", + "template_uuid": "4cd560e9-2cfe-40a1-9964-7b2e797ecac5", + "comment": "", + "name": "original-imported-file", + "uuid": "0b3ce6aa-7d13-4598-89df-292867dc711b", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543922167", + "value": "MAR-10219351.r1.v2.stix.xml", + "type": "attachment", + "to_ids": false, + "object_relation": "imported-sample", + "comment": "", + "data": "PHN0aXg6U1RJWF9QYWNrYWdlIHhtbG5zOmN5Ym94Q29tbW9uPSJodHRwOi8vY3lib3gubWl0cmUub3JnL2NvbW1vbi0yIiB4bWxuczpjeWJveD0iaHR0cDovL2N5Ym94Lm1pdHJlLm9yZy9jeWJveC0yIiB4bWxuczpjeWJveFZvY2Ficz0iaHR0cDovL2N5Ym94Lm1pdHJlLm9yZy9kZWZhdWx0X3ZvY2FidWxhcmllcy0yIiB4bWxuczpGaWxlT2JqPSJodHRwOi8vY3lib3gubWl0cmUub3JnL29iamVjdHMjRmlsZU9iamVjdC0yIiB4bWxuczpNdXRleE9iaj0iaHR0cDovL2N5Ym94Lm1pdHJlLm9yZy9vYmplY3RzI011dGV4T2JqZWN0LTIiIHhtbG5zOldpbkV4ZWN1dGFibGVGaWxlT2JqPSJodHRwOi8vY3lib3gubWl0cmUub3JnL29iamVjdHMjV2luRXhlY3V0YWJsZUZpbGVPYmplY3QtMiIgeG1sbnM6V2luRmlsZU9iaj0iaHR0cDovL2N5Ym94Lm1pdHJlLm9yZy9vYmplY3RzI1dpbkZpbGVPYmplY3QtMiIgeG1sbnM6bWFya2luZz0iaHR0cDovL2RhdGEtbWFya2luZy5taXRyZS5vcmcvTWFya2luZy0xIiB4bWxuczp0bHBNYXJraW5nPSJodHRwOi8vZGF0YS1tYXJraW5nLm1pdHJlLm9yZy9leHRlbnNpb25zL01hcmtpbmdTdHJ1Y3R1cmUjVExQLTEiIHhtbG5zOlRPVU1hcmtpbmc9Imh0dHA6Ly9kYXRhLW1hcmtpbmcubWl0cmUub3JnL2V4dGVuc2lvbnMvTWFya2luZ1N0cnVjdHVyZSNUZXJtc19PZl9Vc2UtMSIgeG1sbnM6bWFlY0J1bmRsZT0iaHR0cDovL21hZWMubWl0cmUub3JnL1hNTFNjaGVtYS9tYWVjLWJ1bmRsZS00IiB4bWxuczptYWVjUGFja2FnZT0iaHR0cDovL21hZWMubWl0cmUub3JnL1hNTFNjaGVtYS9tYWVjLXBhY2thZ2UtMiIgeG1sbnM6bWFlY1ZvY2Ficz0iaHR0cDovL21hZWMubWl0cmUub3JnL2RlZmF1bHRfdm9jYWJ1bGFyaWVzLTEiIHhtbG5zOmluY2lkZW50PSJodHRwOi8vc3RpeC5taXRyZS5vcmcvSW5jaWRlbnQtMSIgeG1sbnM6aW5kaWNhdG9yPSJodHRwOi8vc3RpeC5taXRyZS5vcmcvSW5kaWNhdG9yLTIiIHhtbG5zOnR0cD0iaHR0cDovL3N0aXgubWl0cmUub3JnL1RUUC0xIiB4bWxuczpzdGl4Q29tbW9uPSJodHRwOi8vc3RpeC5taXRyZS5vcmcvY29tbW9uLTEiIHhtbG5zOnN0aXhWb2NhYnM9Imh0dHA6Ly9zdGl4Lm1pdHJlLm9yZy9kZWZhdWx0X3ZvY2FidWxhcmllcy0xIiB4bWxuczpzdGl4LW1hZWM9Imh0dHA6Ly9zdGl4Lm1pdHJlLm9yZy9leHRlbnNpb25zL01hbHdhcmUjTUFFQzQuMS0xIiB4bWxuczpzdGl4PSJodHRwOi8vc3RpeC5taXRyZS5vcmcvc3RpeC0xIiB4bWxuczpOQ0NJQz0iaHR0cDovL3d3dy51cy1jZXJ0Lmdvdi8iIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iICBodHRwOi8vY3lib3gubWl0cmUub3JnL2NvbW1vbi0yIGh0dHA6Ly9jeWJveC5taXRyZS5vcmcvWE1MU2NoZW1hL2NvbW1vbi8yLjEvY3lib3hfY29tbW9uLnhzZCAgaHR0cDovL2N5Ym94Lm1pdHJlLm9yZy9jeWJveC0yIGh0dHA6Ly9jeWJveC5taXRyZS5vcmcvWE1MU2NoZW1hL2NvcmUvMi4xL2N5Ym94X2NvcmUueHNkICBodHRwOi8vY3lib3gubWl0cmUub3JnL2RlZmF1bHRfdm9jYWJ1bGFyaWVzLTIgaHR0cDovL2N5Ym94Lm1pdHJlLm9yZy9YTUxTY2hlbWEvZGVmYXVsdF92b2NhYnVsYXJpZXMvMi4xL2N5Ym94X2RlZmF1bHRfdm9jYWJ1bGFyaWVzLnhzZCAgaHR0cDovL2N5Ym94Lm1pdHJlLm9yZy9vYmplY3RzI0ZpbGVPYmplY3QtMiBodHRwOi8vY3lib3gubWl0cmUub3JnL1hNTFNjaGVtYS9vYmplY3RzL0ZpbGUvMi4xL0ZpbGVfT2JqZWN0LnhzZCAgaHR0cDovL2N5Ym94Lm1pdHJlLm9yZy9vYmplY3RzI011dGV4T2JqZWN0LTIgaHR0cDovL2N5Ym94Lm1pdHJlLm9yZy9YTUxTY2hlbWEvb2JqZWN0cy9NdXRleC8yLjEvTXV0ZXhfT2JqZWN0LnhzZCAgaHR0cDovL2N5Ym94Lm1pdHJlLm9yZy9vYmplY3RzI1dpbkV4ZWN1dGFibGVGaWxlT2JqZWN0LTIgaHR0cDovL2N5Ym94Lm1pdHJlLm9yZy9YTUxTY2hlbWEvb2JqZWN0cy9XaW5fRXhlY3V0YWJsZV9GaWxlLzIuMS9XaW5fRXhlY3V0YWJsZV9GaWxlX09iamVjdC54c2QgIGh0dHA6Ly9jeWJveC5taXRyZS5vcmcvb2JqZWN0cyNXaW5GaWxlT2JqZWN0LTIgaHR0cDovL2N5Ym94Lm1pdHJlLm9yZy9YTUxTY2hlbWEvb2JqZWN0cy9XaW5fRmlsZS8yLjEvV2luX0ZpbGVfT2JqZWN0LnhzZCAgaHR0cDovL2RhdGEtbWFya2luZy5taXRyZS5vcmcvTWFya2luZy0xIGh0dHA6Ly9zdGl4Lm1pdHJlLm9yZy9YTUxTY2hlbWEvZGF0YV9tYXJraW5nLzEuMS4xL2RhdGFfbWFya2luZy54c2QgIGh0dHA6Ly9kYXRhLW1hcmtpbmcubWl0cmUub3JnL2V4dGVuc2lvbnMvTWFya2luZ1N0cnVjdHVyZSNUTFAtMSBodHRwOi8vc3RpeC5taXRyZS5vcmcvWE1MU2NoZW1hL2V4dGVuc2lvbnMvbWFya2luZy90bHAvMS4xLjEvdGxwX21hcmtpbmcueHNkICBodHRwOi8vZGF0YS1tYXJraW5nLm1pdHJlLm9yZy9leHRlbnNpb25zL01hcmtpbmdTdHJ1Y3R1cmUjVGVybXNfT2ZfVXNlLTEgaHR0cDovL3N0aXgubWl0cmUub3JnL1hNTFNjaGVtYS9leHRlbnNpb25zL21hcmtpbmcvdGVybXNfb2ZfdXNlLzEuMC4xL3Rlcm1zX29mX3VzZV9tYXJraW5nLnhzZCAgaHR0cDovL21hZWMubWl0cmUub3JnL1hNTFNjaGVtYS9tYWVjLWJ1bmRsZS00IGh0dHA6Ly9tYWVjLm1pdHJlLm9yZy9sYW5ndWFnZS92ZXJzaW9uNC4xL21hZWNfYnVuZGxlX3NjaGVtYS54c2QgIGh0dHA6Ly9tYWVjLm1pdHJlLm9yZy9YTUxTY2hlbWEvbWFlYy1wYWNrYWdlLTIgaHR0cDovL21hZWMubWl0cmUub3JnL2xhbmd1YWdlL3ZlcnNpb240LjEvbWFlY19wYWNrYWdlX3NjaGVtYS54c2QgIGh0dHA6Ly9tYWVjLm1pdHJlLm9yZy9kZWZhdWx0X3ZvY2FidWxhcmllcy0xIGh0dHA6Ly9tYWVjLm1pdHJlLm9yZy9sYW5ndWFnZS92ZXJzaW9uNC4xL21hZWNfZGVmYXVsdF92b2NhYnVsYXJpZXMueHNkICBodHRwOi8vc3RpeC5taXRyZS5vcmcvSW5jaWRlbnQtMSBodHRwOi8vc3RpeC5taXRyZS5vcmcvWE1MU2NoZW1hL2luY2lkZW50LzEuMS4xL2luY2lkZW50LnhzZCAgaHR0cDovL3N0aXgubWl0cmUub3JnL0luZGljYXRvci0yIGh0dHA6Ly9zdGl4Lm1pdHJlLm9yZy9YTUxTY2hlbWEvaW5kaWNhdG9yLzIuMS4xL2luZGljYXRvci54c2QgIGh0dHA6Ly9zdGl4Lm1pdHJlLm9yZy9UVFAtMSBodHRwOi8vc3RpeC5taXRyZS5vcmcvWE1MU2NoZW1hL3R0cC8xLjEuMS90dHAueHNkICBodHRwOi8vc3RpeC5taXRyZS5vcmcvY29tbW9uLTEgaHR0cDovL3N0aXgubWl0cmUub3JnL1hNTFNjaGVtYS9jb21tb24vMS4xLjEvc3RpeF9jb21tb24ueHNkICBodHRwOi8vc3RpeC5taXRyZS5vcmcvZGVmYXVsdF92b2NhYnVsYXJpZXMtMSBodHRwOi8vc3RpeC5taXRyZS5vcmcvWE1MU2NoZW1hL2RlZmF1bHRfdm9jYWJ1bGFyaWVzLzEuMS4xL3N0aXhfZGVmYXVsdF92b2NhYnVsYXJpZXMueHNkICBodHRwOi8vc3RpeC5taXRyZS5vcmcvZXh0ZW5zaW9ucy9NYWx3YXJlI01BRUM0LjEtMSBodHRwOi8vc3RpeC5taXRyZS5vcmcvWE1MU2NoZW1hL2V4dGVuc2lvbnMvbWFsd2FyZS9tYWVjXzQuMS8xLjAuMS9tYWVjXzQuMV9tYWx3YXJlLnhzZCAgaHR0cDovL3N0aXgubWl0cmUub3JnL3N0aXgtMSBodHRwOi8vc3RpeC5taXRyZS5vcmcvWE1MU2NoZW1hL2NvcmUvMS4xLjEvc3RpeF9jb3JlLnhzZCIgaWQ9Ik5DQ0lDOlBhY2thZ2UtYTRkZWUxMDktMWRiYi00NGU5LWE3OTYtMzJlMjQ5NTNmNzZkIiB2ZXJzaW9uPSIxLjEuMSIgdGltZXN0YW1wPSIyMDE4LTExLTI3VDEzOjQ2OjI0LTA1OjAwIj4KICAgIDxzdGl4OlNUSVhfSGVhZGVyPgogICAgICAgIDxzdGl4OlRpdGxlPk1BUi0xMDIxOTM1MS5yMS52Mjwvc3RpeDpUaXRsZT4KICAgICAgICA8c3RpeDpQYWNrYWdlX0ludGVudD5NYWx3YXJlIENoYXJhY3Rlcml6YXRpb248L3N0aXg6UGFja2FnZV9JbnRlbnQ+CiAgICAgICAgPHN0aXg6SGFuZGxpbmc+CiAgICAgICAgICAgIDxtYXJraW5nOk1hcmtpbmc+CiAgICAgICAgICAgICAgICA8bWFya2luZzpDb250cm9sbGVkX1N0cnVjdHVyZT4vL25vZGUoKSB8IC8vQCo8L21hcmtpbmc6Q29udHJvbGxlZF9TdHJ1Y3R1cmU+CiAgICAgICAgICAgICAgICA8bWFya2luZzpNYXJraW5nX1N0cnVjdHVyZSB4c2k6dHlwZT0idGxwTWFya2luZzpUTFBNYXJraW5nU3RydWN0dXJlVHlwZSIgY29sb3I9IldISVRFIi8+CiAgICAgICAgICAgICAgICA8bWFya2luZzpNYXJraW5nX1N0cnVjdHVyZSB4c2k6dHlwZT0iVE9VTWFya2luZzpUZXJtc09mVXNlTWFya2luZ1N0cnVjdHVyZVR5cGUiPgogICAgICAgICAgICAgICAgICAgIDxUT1VNYXJraW5nOlRlcm1zX09mX1VzZT5UaGlzIGRvY3VtZW50IGlzIG1hcmtlZCBUTFA6V0hJVEUuIERpc2Nsb3N1cmUgaXMgbm90IGxpbWl0ZWQuIFNvdXJjZXMgbWF5IHVzZSBUTFA6V0hJVEUgd2hlbiBpbmZvcm1hdGlvbiBjYXJyaWVzIG1pbmltYWwgb3Igbm8gZm9yZXNlZWFibGUgcmlzayBvZiBtaXN1c2UsIGluIGFjY29yZGFuY2Ugd2l0aCBhcHBsaWNhYmxlIHJ1bGVzIGFuZCBwcm9jZWR1cmVzIGZvciBwdWJsaWMgcmVsZWFzZS4gU3ViamVjdCB0byBzdGFuZGFyZCBjb3B5cmlnaHQgcnVsZXMsIFRMUDpXSElURSBpbmZvcm1hdGlvbiBtYXkgYmUgZGlzdHJpYnV0ZWQgd2l0aG91dCByZXN0cmljdGlvbi4gRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIFRyYWZmaWMgTGlnaHQgUHJvdG9jb2wsIHNlZSBodHRwOi8vd3d3LnVzLWNlcnQuZ292L3RscC48L1RPVU1hcmtpbmc6VGVybXNfT2ZfVXNlPgogICAgICAgICAgICAgICAgPC9tYXJraW5nOk1hcmtpbmdfU3RydWN0dXJlPgogICAgICAgICAgICA8L21hcmtpbmc6TWFya2luZz4KICAgICAgICA8L3N0aXg6SGFuZGxpbmc+CiAgICAgICAgPHN0aXg6SW5mb3JtYXRpb25fU291cmNlPgogICAgICAgICAgICA8c3RpeENvbW1vbjpJZGVudGl0eT4KICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOk5hbWU+VVMtQ0VSVDwvc3RpeENvbW1vbjpOYW1lPgogICAgICAgICAgICA8L3N0aXhDb21tb246SWRlbnRpdHk+CiAgICAgICAgICAgIDxzdGl4Q29tbW9uOlRpbWU+CiAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246UHJvZHVjZWRfVGltZT4yMDE4LTExLTI3VDEzOjQ2OjI0LTA1OjAwPC9jeWJveENvbW1vbjpQcm9kdWNlZF9UaW1lPgogICAgICAgICAgICA8L3N0aXhDb21tb246VGltZT4KICAgICAgICAgICAgPHN0aXhDb21tb246VG9vbHM+CiAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VG9vbD4KICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246TmFtZT5CTWFjaGluZTwvY3lib3hDb21tb246TmFtZT4KICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246RGVzY3JpcHRpb24+MTYyPC9jeWJveENvbW1vbjpEZXNjcmlwdGlvbj4KICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVyc2lvbj43LjEuMDwvY3lib3hDb21tb246VmVyc2lvbj4KICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246VG9vbD4KICAgICAgICAgICAgPC9zdGl4Q29tbW9uOlRvb2xzPgogICAgICAgIDwvc3RpeDpJbmZvcm1hdGlvbl9Tb3VyY2U+CiAgICA8L3N0aXg6U1RJWF9IZWFkZXI+CiAgICA8c3RpeDpPYnNlcnZhYmxlcyBjeWJveF9tYWpvcl92ZXJzaW9uPSIyIiBjeWJveF9taW5vcl92ZXJzaW9uPSIxIiBjeWJveF91cGRhdGVfdmVyc2lvbj0iMCI+CiAgICAgICAgPGN5Ym94Ok9ic2VydmFibGUgaWQ9Ik5DQ0lDOk9ic2VydmFibGUtYmNjY2ZiYWUtMzljMS00YWRkLThjNzctZjA5ZWZkOTVlYWEzIj4KICAgICAgICAgICAgPGN5Ym94OkRlc2NyaXB0aW9uPjwhW0NEQVRBW1RoaXMgZmlsZSBpcyBhIDMyLWJpdCBXaW5kb3dzIGV4ZWN1dGFibGUuIFRoZSBmaWxlIGhhcyBiZWVuIGlkZW50aWZpZWQgYXMgcmFuc29td2FyZSB3cml0dGVuIGluIEMgU2hhcnAgKEMjKS4gSXQgY29udGFpbnMgYSBuYW1lc3BhY2UgbmFtZWQgInByZWxlY3R1cmVkZXhlIiBhbmQgYSBjbGFzcyBuYW1lZCAiUHJvZ3JhbS4iIAogClRoaXMgcmFuc29td2FyZSBpcyBpbnZva2VkIHVzaW5nIHRoZSBmb2xsb3dpbmcgY29tbWFuZC1saW5lIGZvcm1hdDoKCi0tIEJlZ2luIGNvbW1hbmQgZm9ybWF0IC0tCgpwcmVsZWN0dXJlZGV4ZS5leGUgPGFyZ3YwPiA8YXJndjE+IDxhcmd2Mj4gPGFyZ3YzPgoKLS0gRW5kIGNvbW1hbmQgZm9ybWF0IC0tCgpUaGUgZXhlY3V0aW9uIHdpbGwgcXVpdCBpZiA0IGFyZ3VtZW50cyBhcmUgbm90IHVzZWQuIAoKVGhpcyByYW5zb213YXJlIHVzZXMgQWR2YW5jZWQgRW5jcnlwdGlvbiBTdGFuZGFyZCAoQUVTKSBlbmNyeXB0aW9uLiBXaGVuIGV4ZWN1dGVkLCBpdCB1c2VzIGEgY29tbWFuZC1saW5lIGFyZ3VtZW50IDxhcmd2MD4gYXMgYSBjb21wb25lbnQgZm9yIHRoZSBBRVMgUmlqbmRhZWwgS2V5IGFuZCBpbml0aWFsaXphdGlvbiB2ZWN0b3IgKElWKS4gPGFyZ3YxPiA8YXJndjI+IDxhcmd2Mz4gYXJlIGZpbGVzIGFuZCBkaXJlY3RvcmllcyB0byBiZSBlbmNyeXB0ZWQvZGVjcnlwdGVkLgoKSXQgcmVhZHMgYSBmaWxlIG5hbWVkICIqLm5pa2UyMDE4IiBpbiB0aGUgc2FtZSBkaXJlY3Rvcnkgd2hlcmUgdGhpcyBleGVjdXRhYmxlIHJlc2lkZXMuIElmIHRoZSBmaWxlICIqLm5pa2UyMDE4IiBkb2VzIG5vdCBleGlzdCwgdGhlIGV4ZWN1dGlvbiBxdWl0cy4gSXQgcmVtb3ZlcyAiKi5uaWtlMjAxOCIgYWZ0ZXIgaXQgcmVhZHMgdGhlIGZpbGUgY29udGVudC5dXT48L2N5Ym94OkRlc2NyaXB0aW9uPgogICAgICAgICAgICA8Y3lib3g6T2JqZWN0IGlkPSJOQ0NJQzpXaW5FeGVjdXRhYmxlRmlsZS1jZjU3MTAwYi0wNmUzLTQ2MmItYmFmMS03MWQ0YjAwOTY5ODMiPgogICAgICAgICAgICAgICAgPGN5Ym94OlByb3BlcnRpZXMgeHNpOnR5cGU9IldpbkV4ZWN1dGFibGVGaWxlT2JqOldpbmRvd3NFeGVjdXRhYmxlRmlsZU9iamVjdFR5cGUiPgogICAgICAgICAgICAgICAgICAgIDxGaWxlT2JqOkZpbGVfTmFtZT5wcmVsZWN0dXJlZGV4ZS5leGU8L0ZpbGVPYmo6RmlsZV9OYW1lPgogICAgICAgICAgICAgICAgICAgIDxGaWxlT2JqOlNpemVfSW5fQnl0ZXM+MTAyNDUxMjwvRmlsZU9iajpTaXplX0luX0J5dGVzPgogICAgICAgICAgICAgICAgICAgIDxGaWxlT2JqOkZpbGVfRm9ybWF0PlBFMzIgZXhlY3V0YWJsZSAoY29uc29sZSkgSW50ZWwgODAzODYgTW9uby8uTmV0IGFzc2VtYmx5LCBmb3IgTVMgV2luZG93czwvRmlsZU9iajpGaWxlX0Zvcm1hdD4KICAgICAgICAgICAgICAgICAgICA8RmlsZU9iajpIYXNoZXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlR5cGUgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5NRDU8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+MjIyZDdmZGUzN2FlMzQ0ODI0YTk3MDg3ZDQ3M2NkY2Q8L2N5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlR5cGUgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5TSEExPC9jeWJveENvbW1vbjpUeXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPjkwMjA1YTI3NjFlZDdhYzNiMTg4MjMwNzg2ZWMyYmViZDMwZWZmYmE8L2N5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlR5cGUgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5TSEEyNTY8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+NWQ2NWViZGRlMWFlZjhmMjMxMTRmOTU0NTQyODdlNzQxMDk2NTI4OGYxNDRkODgwZWNlMmEyYjhjMzEyODY0NTwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPlNIQTUxMjwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4xNzdmMjVjMmU0NTRiNTM2NjcxOWE1NTM2ZTI1ZGJmMTZhYjVjYjAxYjE4ODZiMThlYTE0Nzc2NzE2NTExOTFjYmY2NjNjZjE3NTQ5OTBjNjE4YmUxZDdjMzZiZjUyM2FhYWM4NTI4ZDk0YTFkNDk1ODMyMTNkYzhhMGRlZTk4YTwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPlNTREVFUDwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4yNDU3NjpQTHZxeGs3K3kvNE5tV1BXS3JiRTZxcUU1NkhnbHg4enVkSmhUeUd3Y0tlOis8L2N5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgPC9GaWxlT2JqOkhhc2hlcz4KICAgICAgICAgICAgICAgICAgICA8RmlsZU9iajpQYWNrZXJfTGlzdD4KICAgICAgICAgICAgICAgICAgICAgICAgPEZpbGVPYmo6UGFja2VyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZpbGVPYmo6TmFtZT5NaWNyb3NvZnQgVmlzdWFsIEMjIHY3LjAgLyBCYXNpYyAuTkVUPC9GaWxlT2JqOk5hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvRmlsZU9iajpQYWNrZXI+CiAgICAgICAgICAgICAgICAgICAgPC9GaWxlT2JqOlBhY2tlcl9MaXN0PgogICAgICAgICAgICAgICAgICAgIDxGaWxlT2JqOlBlYWtfRW50cm9weT40LjY5NTc5NDwvRmlsZU9iajpQZWFrX0VudHJvcHk+CiAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOkhlYWRlcnM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpGaWxlX0hlYWRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpOdW1iZXJfT2ZfU2VjdGlvbnM+NDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6TnVtYmVyX09mX1NlY3Rpb25zPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlRpbWVfRGF0ZV9TdGFtcD4yMDE4LTA5LTE2IDAzOjMxOjUxLTA0OjAwPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpUaW1lX0RhdGVfU3RhbXA+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6U2l6ZV9PZl9PcHRpb25hbF9IZWFkZXI+NTEyPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpTaXplX09mX09wdGlvbmFsX0hlYWRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpIYXNoZXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpUeXBlIHhzaTp0eXBlPSJjeWJveFZvY2FiczpIYXNoTmFtZVZvY2FiLTEuMCI+TUQ1PC9jeWJveENvbW1vbjpUeXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+NWUxMzE3YWY5OTU2YmUxMmRlZWJkZWE0OWFhZTE0ZjU8L2N5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6SGFzaGVzPgogICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOkZpbGVfSGVhZGVyPgogICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6RW50cm9weT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpWYWx1ZT4yLjcyMzQwMzwvV2luRXhlY3V0YWJsZUZpbGVPYmo6VmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6RW50cm9weT4KICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOkhlYWRlcnM+CiAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb25zPgogICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6U2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9uX0hlYWRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6TmFtZT4udGV4dDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6TmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6U2l6ZV9PZl9SYXdfRGF0YT4xMDIwOTI4PC9XaW5FeGVjdXRhYmxlRmlsZU9iajpTaXplX09mX1Jhd19EYXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9uX0hlYWRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpFbnRyb3B5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpWYWx1ZT40LjY5NTE1NzwvV2luRXhlY3V0YWJsZUZpbGVPYmo6VmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOkVudHJvcHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6SGVhZGVyX0hhc2hlcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlR5cGUgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5NRDU8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4xMjQxMjBhNmI4NjFmZGZmZjc1NmUxOWE3N2E1M2UwNTwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpIZWFkZXJfSGFzaGVzPgogICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb25fSGVhZGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpOYW1lPi5yc3JjPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpOYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpTaXplX09mX1Jhd19EYXRhPjI1NjA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlNpemVfT2ZfUmF3X0RhdGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb25fSGVhZGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOkVudHJvcHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlZhbHVlPjMuNzIyMzwvV2luRXhlY3V0YWJsZUZpbGVPYmo6VmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOkVudHJvcHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6SGVhZGVyX0hhc2hlcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlR5cGUgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5NRDU8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT44YTJkNzJmZWM5ZDI1MzU0NDBlMGY4M2I1OTI1M2YyYjwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpIZWFkZXJfSGFzaGVzPgogICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb25fSGVhZGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpOYW1lPi5yZWxvYzwvV2luRXhlY3V0YWJsZUZpbGVPYmo6TmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6U2l6ZV9PZl9SYXdfRGF0YT41MTI8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlNpemVfT2ZfUmF3X0RhdGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb25fSGVhZGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOkVudHJvcHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlZhbHVlPjAuMTAxOTE8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpFbnRyb3B5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOkhlYWRlcl9IYXNoZXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpUeXBlIHhzaTp0eXBlPSJjeWJveFZvY2FiczpIYXNoTmFtZVZvY2FiLTEuMCI+TUQ1PC9jeWJveENvbW1vbjpUeXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+YjIyNzI5MWZlYWUxMGE4M2U3NjJjMmJjOWQ5NTlhN2Y8L2N5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6SGVhZGVyX0hhc2hlcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9uPgogICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6U2VjdGlvbnM+CiAgICAgICAgICAgICAgICA8L2N5Ym94OlByb3BlcnRpZXM+CiAgICAgICAgICAgICAgICA8Y3lib3g6UmVsYXRlZF9PYmplY3RzPgogICAgICAgICAgICAgICAgICAgIDxjeWJveDpSZWxhdGVkX09iamVjdCBpZHJlZj0iTkNDSUM6V2luRXhlY3V0YWJsZUZpbGUtYmIwMTliODMtYmNhYS00MzUzLWJmMmUtZWEyNDI1ZDM5OGRlIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94OlJlbGF0aW9uc2hpcCB4c2k6dHlwZT0iY3lib3hWb2NhYnM6T2JqZWN0UmVsYXRpb25zaGlwVm9jYWItMS4xIj5SZWxhdGVkX1RvPC9jeWJveDpSZWxhdGlvbnNoaXA+CiAgICAgICAgICAgICAgICAgICAgPC9jeWJveDpSZWxhdGVkX09iamVjdD4KICAgICAgICAgICAgICAgICAgICA8Y3lib3g6UmVsYXRlZF9PYmplY3QgaWRyZWY9Ik5DQ0lDOk11dGV4LTljMjJjZDg3LTAzNGMtNGYxMy1iNWI2LTBiMTFjZTkyMWMxOSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveDpSZWxhdGlvbnNoaXAgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOk9iamVjdFJlbGF0aW9uc2hpcFZvY2FiLTEuMSI+Q3JlYXRlZDwvY3lib3g6UmVsYXRpb25zaGlwPgogICAgICAgICAgICAgICAgICAgIDwvY3lib3g6UmVsYXRlZF9PYmplY3Q+CiAgICAgICAgICAgICAgICA8L2N5Ym94OlJlbGF0ZWRfT2JqZWN0cz4KICAgICAgICAgICAgPC9jeWJveDpPYmplY3Q+CiAgICAgICAgPC9jeWJveDpPYnNlcnZhYmxlPgogICAgICAgIDxjeWJveDpPYnNlcnZhYmxlIGlkPSJOQ0NJQzpPYnNlcnZhYmxlLWJhOTNhNmY1LWE0ZDQtNDNiMC1iM2RkLWFjZDg4ZmIwZmZjNyI+CiAgICAgICAgICAgIDxjeWJveDpPYmplY3QgaWQ9Ik5DQ0lDOk11dGV4LTljMjJjZDg3LTAzNGMtNGYxMy1iNWI2LTBiMTFjZTkyMWMxOSI+CiAgICAgICAgICAgICAgICA8Y3lib3g6UHJvcGVydGllcyB4c2k6dHlwZT0iTXV0ZXhPYmo6TXV0ZXhPYmplY3RUeXBlIj4KICAgICAgICAgICAgICAgICAgICA8TXV0ZXhPYmo6TmFtZT5HbG9iYWxc5Yawx6M8L011dGV4T2JqOk5hbWU+CiAgICAgICAgICAgICAgICA8L2N5Ym94OlByb3BlcnRpZXM+CiAgICAgICAgICAgICAgICA8Y3lib3g6UmVsYXRlZF9PYmplY3RzPgogICAgICAgICAgICAgICAgICAgIDxjeWJveDpSZWxhdGVkX09iamVjdCBpZHJlZj0iTkNDSUM6V2luRXhlY3V0YWJsZUZpbGUtY2Y1NzEwMGItMDZlMy00NjJiLWJhZjEtNzFkNGIwMDk2OTgzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94OlJlbGF0aW9uc2hpcCB4c2k6dHlwZT0iY3lib3hWb2NhYnM6T2JqZWN0UmVsYXRpb25zaGlwVm9jYWItMS4xIj5DcmVhdGVkX0J5PC9jeWJveDpSZWxhdGlvbnNoaXA+CiAgICAgICAgICAgICAgICAgICAgPC9jeWJveDpSZWxhdGVkX09iamVjdD4KICAgICAgICAgICAgICAgIDwvY3lib3g6UmVsYXRlZF9PYmplY3RzPgogICAgICAgICAgICA8L2N5Ym94Ok9iamVjdD4KICAgICAgICA8L2N5Ym94Ok9ic2VydmFibGU+CiAgICAgICAgPGN5Ym94Ok9ic2VydmFibGUgaWQ9Ik5DQ0lDOk9ic2VydmFibGUtZTIxMmE2OWYtZTM4MS00MmI1LTllYzctZjk2MGQ3ZTBkMTRmIj4KICAgICAgICAgICAgPGN5Ym94OkRlc2NyaXB0aW9uPjwhW0NEQVRBW1RoaXMgZHluYW1pYyBsaW5rIGxpYnJhcnkgKERMTCkgY29udGFpbnMgZnVuY3Rpb25zIHVzZWQgYnkgdGhlIHJhbnNvbXdhcmUgInByZWxlY3R1cmVkZXhlLmV4ZSIgKDIyMmQ3ZmRlMzdhZTM0NDgyNGE5NzA4N2Q0NzNjZGNkKS4KCkl0IGNvbnRhaW5zIGEgbmFtZXNwYWNlIG5hbWVkICJwcm90ZXVzZGxsbCIgYW5kIGEgY2xhc3MgbmFtZWQgIkNsYXNzMS4iCgpJdCBjb250YWlucyBmdW5jdGlvbnMgdG8gZ2VuZXJhdGUgdGhlIEFFUyBSaWpuZGFlbCBLZXkgYW5kIElWLCBmdW5jdGlvbiB0byBjcmVhdGUgdGhlIFJpam5kYWVsIGRlY3J5cHRvciBhbmQgZnVuY3Rpb24gdG8gZW5jcnlwdC9kZWNyeXB0IHZpY3RpbSdzIGZpbGVzLgogIApUaGUgQUVTIFJpam5kYWVsIEtleSBhbmQgSVYgaXMgZ2VuZXJhdGVkIGZyb20gdGhlIGZvbGxvd2luZyBwcmVkZWZpbmVkIGJ5dGVzIGFuZCB0aGUgZmlyc3QgY29tbWFuZCBsaW5lIGFyZ3VtZW50IDxhcmd2MD4uICAgICAgCgotLSBCZWdpbiBwcmVkZWZpbmVkIGJ5dGVzIHRvIGdlbmVyYXRlIFJpam5kYWVsIEtleSBhbmQgSVYgLS0KCjB4NDkgCjB4NzYKMHg2MQoweDZFCjB4MjAKMHg0RAoweDY1CjB4NjQKMHg3NgoweDY1CjB4NjQKMHg2NQoweDc2CgotLSBFbmQgcHJlZGVmaW5lZCBieXRlcyB0byBnZW5lcmF0ZSBSaWpuZGFlbCBLZXkgYW5kIElWIC0tXV0+PC9jeWJveDpEZXNjcmlwdGlvbj4KICAgICAgICAgICAgPGN5Ym94Ok9iamVjdCBpZD0iTkNDSUM6V2luRXhlY3V0YWJsZUZpbGUtYmIwMTliODMtYmNhYS00MzUzLWJmMmUtZWEyNDI1ZDM5OGRlIj4KICAgICAgICAgICAgICAgIDxjeWJveDpQcm9wZXJ0aWVzIHhzaTp0eXBlPSJXaW5FeGVjdXRhYmxlRmlsZU9iajpXaW5kb3dzRXhlY3V0YWJsZUZpbGVPYmplY3RUeXBlIj4KICAgICAgICAgICAgICAgICAgICA8RmlsZU9iajpGaWxlX05hbWU+cHJvdGV1c2RsbGwuZGxsPC9GaWxlT2JqOkZpbGVfTmFtZT4KICAgICAgICAgICAgICAgICAgICA8RmlsZU9iajpTaXplX0luX0J5dGVzPjQwOTYwMDwvRmlsZU9iajpTaXplX0luX0J5dGVzPgogICAgICAgICAgICAgICAgICAgIDxGaWxlT2JqOkZpbGVfRm9ybWF0PlBFMzIgZXhlY3V0YWJsZSAoRExMKSAoY29uc29sZSkgSW50ZWwgODAzODYgTW9uby8uTmV0IGFzc2VtYmx5LCBmb3IgTVMgV2luZG93czwvRmlsZU9iajpGaWxlX0Zvcm1hdD4KICAgICAgICAgICAgICAgICAgICA8RmlsZU9iajpIYXNoZXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlR5cGUgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5NRDU8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+ZmUzYWU4NGE4ZGVmYzgwOWU3MzRiYmQwNzM2ZjgyZGU8L2N5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlR5cGUgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5TSEExPC9jeWJveENvbW1vbjpUeXBlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPjA0YTJlYTRjNzhmNzhkNjI4ODAwYzBhNWNiOTU0N2EwYzBiMTQzNzg8L2N5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlR5cGUgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5TSEEyNTY8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+ZDhkOTE5ZDg4NGI4NmU0ZDU5Nzc1OThiYzlkNjM3ZWQ1M2UyMWQ1OTY0NjI5ZDA0MjcwNzdlMDhkZGJjYmE2ODwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPlNIQTUxMjwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT45Y2I2ZGRiOGEwYjkzMjlmZTA4ZmNmOGEwMmQ0NWM0MzIyMjQzMmQ2ZTE0NWY1NWRlYWNiMDE5Zjc3Mjk3MDUxM2QzZGRmYTU4OWEwMDJjMGFiZjE5MGZhODcxMmQ0MWUwOGFhYjUxODM2Njg1YWVkOWJmMzBkMTE4ZWEwMGE1ZTwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPlNTREVFUDwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4zMDcyOlNhNkorT0lhelE5NFpQYXFhN1lIbUlad1VTVG9RZW1USUM2OkErT0lhMDk0WlBSYWtILytVU0U8L2N5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgPC9GaWxlT2JqOkhhc2hlcz4KICAgICAgICAgICAgICAgICAgICA8RmlsZU9iajpQYWNrZXJfTGlzdD4KICAgICAgICAgICAgICAgICAgICAgICAgPEZpbGVPYmo6UGFja2VyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPEZpbGVPYmo6TmFtZT5NaWNyb3NvZnQgVmlzdWFsIEMjIC8gQmFzaWMgLk5FVDwvRmlsZU9iajpOYW1lPgogICAgICAgICAgICAgICAgICAgICAgICA8L0ZpbGVPYmo6UGFja2VyPgogICAgICAgICAgICAgICAgICAgIDwvRmlsZU9iajpQYWNrZXJfTGlzdD4KICAgICAgICAgICAgICAgICAgICA8RmlsZU9iajpQZWFrX0VudHJvcHk+NC42NDU2NTQ8L0ZpbGVPYmo6UGVha19FbnRyb3B5PgogICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpIZWFkZXJzPgogICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6RmlsZV9IZWFkZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6TnVtYmVyX09mX1NlY3Rpb25zPjQ8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOk51bWJlcl9PZl9TZWN0aW9ucz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpUaW1lX0RhdGVfU3RhbXA+MjAxOC0wOS0xNiAwMzozMTo1MS0wNDowMDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6VGltZV9EYXRlX1N0YW1wPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlNpemVfT2ZfT3B0aW9uYWxfSGVhZGVyPjUxMjwvV2luRXhlY3V0YWJsZUZpbGVPYmo6U2l6ZV9PZl9PcHRpb25hbF9IZWFkZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6SGFzaGVzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPk1ENTwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPjM5N2I3NjNkMTA2YjJmMzQ3YzVhNTYzOTIyMjczNTUxPC9jeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOkhhc2hlcz4KICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpGaWxlX0hlYWRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOkVudHJvcHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6VmFsdWU+Mi43MTQ2MTg8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOkVudHJvcHk+CiAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpIZWFkZXJzPgogICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9ucz4KICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6U2VjdGlvbl9IZWFkZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOk5hbWU+LnRleHQ8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOk5hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlNpemVfT2ZfUmF3X0RhdGE+NDA2NTI4PC9XaW5FeGVjdXRhYmxlRmlsZU9iajpTaXplX09mX1Jhd19EYXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9uX0hlYWRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpFbnRyb3B5PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpWYWx1ZT40LjY1MDQ3NzwvV2luRXhlY3V0YWJsZUZpbGVPYmo6VmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOkVudHJvcHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6SGVhZGVyX0hhc2hlcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlR5cGUgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5NRDU8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT5hZDI1ZTk2Y2FlMjAxNjMzMTEyOWVjNDY0MzUzNTgyMjwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpIZWFkZXJfSGFzaGVzPgogICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb25fSGVhZGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpOYW1lPi5yc3JjPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpOYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpTaXplX09mX1Jhd19EYXRhPjIwNDg8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlNpemVfT2ZfUmF3X0RhdGE+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb25fSGVhZGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOkVudHJvcHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlZhbHVlPjIuOTg3NDcxPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpWYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6RW50cm9weT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpIZWFkZXJfSGFzaGVzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VHlwZSB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPk1ENTwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPjAxNzg0Yjg3NmQxNGIxMzg0NDkxMzE4ZjhmY2UwN2Q1PC9jeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Q29tbW9uOkhhc2g+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOkhlYWRlcl9IYXNoZXM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6U2VjdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6U2VjdGlvbl9IZWFkZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFdpbkV4ZWN1dGFibGVGaWxlT2JqOk5hbWU+LnJlbG9jPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpOYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxXaW5FeGVjdXRhYmxlRmlsZU9iajpTaXplX09mX1Jhd19EYXRhPjUxMjwvV2luRXhlY3V0YWJsZUZpbGVPYmo6U2l6ZV9PZl9SYXdfRGF0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvV2luRXhlY3V0YWJsZUZpbGVPYmo6U2VjdGlvbl9IZWFkZXI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6RW50cm9weT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6VmFsdWU+MC4xMDE5MTwvV2luRXhlY3V0YWJsZUZpbGVPYmo6VmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOkVudHJvcHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8V2luRXhlY3V0YWJsZUZpbGVPYmo6SGVhZGVyX0hhc2hlcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlR5cGUgeHNpOnR5cGU9ImN5Ym94Vm9jYWJzOkhhc2hOYW1lVm9jYWItMS4wIj5NRDU8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT44MTY4NDk4ODZhYTI4ZTU2ZGIwY2QwNjVmYWUzODg5NzwvY3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpIZWFkZXJfSGFzaGVzPgogICAgICAgICAgICAgICAgICAgICAgICA8L1dpbkV4ZWN1dGFibGVGaWxlT2JqOlNlY3Rpb24+CiAgICAgICAgICAgICAgICAgICAgPC9XaW5FeGVjdXRhYmxlRmlsZU9iajpTZWN0aW9ucz4KICAgICAgICAgICAgICAgIDwvY3lib3g6UHJvcGVydGllcz4KICAgICAgICAgICAgICAgIDxjeWJveDpSZWxhdGVkX09iamVjdHM+CiAgICAgICAgICAgICAgICAgICAgPGN5Ym94OlJlbGF0ZWRfT2JqZWN0IGlkcmVmPSJOQ0NJQzpXaW5FeGVjdXRhYmxlRmlsZS1jZjU3MTAwYi0wNmUzLTQ2MmItYmFmMS03MWQ0YjAwOTY5ODMiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3g6UmVsYXRpb25zaGlwIHhzaTp0eXBlPSJjeWJveFZvY2FiczpPYmplY3RSZWxhdGlvbnNoaXBWb2NhYi0xLjEiPlJlbGF0ZWRfVG88L2N5Ym94OlJlbGF0aW9uc2hpcD4KICAgICAgICAgICAgICAgICAgICA8L2N5Ym94OlJlbGF0ZWRfT2JqZWN0PgogICAgICAgICAgICAgICAgPC9jeWJveDpSZWxhdGVkX09iamVjdHM+CiAgICAgICAgICAgIDwvY3lib3g6T2JqZWN0PgogICAgICAgIDwvY3lib3g6T2JzZXJ2YWJsZT4KICAgIDwvc3RpeDpPYnNlcnZhYmxlcz4KICAgIDxzdGl4OkluZGljYXRvcnM+CiAgICAgICAgPHN0aXg6SW5kaWNhdG9yIGlkPSJOQ0NJQzppbmRpY2F0b3ItNDI0MDFlMDAtOGVlOC00ZDE4LThjMjYtZjZkNTgyZmI0OTVhIiB0aW1lc3RhbXA9IjIwMTgtMTEtMjhUMTQ6MDU6NTAuODgwNDcyKzAwOjAwIiB4c2k6dHlwZT0iaW5kaWNhdG9yOkluZGljYXRvclR5cGUiPgogICAgICAgICAgICA8aW5kaWNhdG9yOlRpdGxlPk1ENSBhbmQgU0hBMSBvZiBNYWxpY2lvdXMgRmlsZTwvaW5kaWNhdG9yOlRpdGxlPgogICAgICAgICAgICA8aW5kaWNhdG9yOlR5cGU+TWFsd2FyZSBBcnRpZmFjdHM8L2luZGljYXRvcjpUeXBlPgogICAgICAgICAgICA8aW5kaWNhdG9yOk9ic2VydmFibGUgaWQ9Ik5DQ0lDOk9ic2VydmFibGUtNmIyNGQ1MjUtMTdjZC00M2FlLTgwZjEtMjZjMDgwZDM4MmFiIj4KICAgICAgICAgICAgICAgIDxjeWJveDpPYmplY3QgaWQ9Ik5DQ0lDOkZpbGUtMmU0MmUxN2UtMTI5ZS00YTUwLThiODUtZTI1MDE3ZTRhMjAwIj4KICAgICAgICAgICAgICAgICAgICA8Y3lib3g6UHJvcGVydGllcyB4c2k6dHlwZT0iRmlsZU9iajpGaWxlT2JqZWN0VHlwZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxGaWxlT2JqOkhhc2hlcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpUeXBlIGNvbmRpdGlvbj0iRXF1YWxzIiB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPk1ENTwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWUgY29uZGl0aW9uPSJFcXVhbHMiPjIyMmQ3ZmRlMzdhZTM0NDgyNGE5NzA4N2Q0NzNjZGNkPC9jeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpUeXBlIGNvbmRpdGlvbj0iRXF1YWxzIiB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPlNIQTE8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlIGNvbmRpdGlvbj0iRXF1YWxzIj45MDIwNWEyNzYxZWQ3YWMzYjE4ODIzMDc4NmVjMmJlYmQzMGVmZmJhPC9jeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpUeXBlIGNvbmRpdGlvbj0iRXF1YWxzIiB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPlNIQTI1NjwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWUgY29uZGl0aW9uPSJFcXVhbHMiPjVkNjVlYmRkZTFhZWY4ZjIzMTE0Zjk1NDU0Mjg3ZTc0MTA5NjUyODhmMTQ0ZDg4MGVjZTJhMmI4YzMxMjg2NDU8L2N5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICA8L0ZpbGVPYmo6SGFzaGVzPgogICAgICAgICAgICAgICAgICAgIDwvY3lib3g6UHJvcGVydGllcz4KICAgICAgICAgICAgICAgIDwvY3lib3g6T2JqZWN0PgogICAgICAgICAgICA8L2luZGljYXRvcjpPYnNlcnZhYmxlPgogICAgICAgICAgICA8aW5kaWNhdG9yOkluZGljYXRlZF9UVFA+CiAgICAgICAgICAgICAgICA8c3RpeENvbW1vbjpUVFAgaWRyZWY9Ik5DQ0lDOnR0cC1jODVlMDA2ZS05N2M1LTQ5MWMtYjQzOS0yNTg4NDA5MmI4NWYiIHhzaTp0eXBlPSJ0dHA6VFRQVHlwZSIvPgogICAgICAgICAgICA8L2luZGljYXRvcjpJbmRpY2F0ZWRfVFRQPgogICAgICAgICAgICA8aW5kaWNhdG9yOkluZGljYXRlZF9UVFA+CiAgICAgICAgICAgICAgICA8c3RpeENvbW1vbjpUVFAgaWRyZWY9Ik5DQ0lDOnR0cC03NzllN2Y5Ni04ZDA5LTQ4ZGMtYjIyMi1hN2NhN2NhZjIyNWEiIHhzaTp0eXBlPSJ0dHA6VFRQVHlwZSIvPgogICAgICAgICAgICA8L2luZGljYXRvcjpJbmRpY2F0ZWRfVFRQPgogICAgICAgICAgICA8aW5kaWNhdG9yOkluZGljYXRlZF9UVFA+CiAgICAgICAgICAgICAgICA8c3RpeENvbW1vbjpUVFAgaWRyZWY9Ik5DQ0lDOnR0cC01ZDkxYjY2MC03ZTljLTQ0YzQtYTI4Yy1hZDE2MWFkYTM0YWMiIHhzaTp0eXBlPSJ0dHA6VFRQVHlwZSIvPgogICAgICAgICAgICA8L2luZGljYXRvcjpJbmRpY2F0ZWRfVFRQPgogICAgICAgICAgICA8aW5kaWNhdG9yOlByb2R1Y2VyPgogICAgICAgICAgICAgICAgPHN0aXhDb21tb246SWRlbnRpdHk+CiAgICAgICAgICAgICAgICAgICAgPHN0aXhDb21tb246TmFtZT5OQ0NJQzwvc3RpeENvbW1vbjpOYW1lPgogICAgICAgICAgICAgICAgPC9zdGl4Q29tbW9uOklkZW50aXR5PgogICAgICAgICAgICAgICAgPHN0aXhDb21tb246VGltZT4KICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246UHJvZHVjZWRfVGltZT4yMDE4LTExLTI4VDE0OjA1OjUwKzAwOjAwPC9jeWJveENvbW1vbjpQcm9kdWNlZF9UaW1lPgogICAgICAgICAgICAgICAgPC9zdGl4Q29tbW9uOlRpbWU+CiAgICAgICAgICAgIDwvaW5kaWNhdG9yOlByb2R1Y2VyPgogICAgICAgIDwvc3RpeDpJbmRpY2F0b3I+CiAgICAgICAgPHN0aXg6SW5kaWNhdG9yIGlkPSJOQ0NJQzppbmRpY2F0b3ItMDUxZTdjN2UtMzY3NS00MGRhLWI5MzctOTFmZjJkNjEwYzE5IiB0aW1lc3RhbXA9IjIwMTgtMTEtMjhUMTQ6MDU6NTAuOTY0NzU0KzAwOjAwIiB4c2k6dHlwZT0iaW5kaWNhdG9yOkluZGljYXRvclR5cGUiPgogICAgICAgICAgICA8aW5kaWNhdG9yOlRpdGxlPk1ENSBhbmQgU0hBMSBvZiBNYWxpY2lvdXMgRmlsZTwvaW5kaWNhdG9yOlRpdGxlPgogICAgICAgICAgICA8aW5kaWNhdG9yOlR5cGU+TWFsd2FyZSBBcnRpZmFjdHM8L2luZGljYXRvcjpUeXBlPgogICAgICAgICAgICA8aW5kaWNhdG9yOk9ic2VydmFibGUgaWQ9Ik5DQ0lDOk9ic2VydmFibGUtNmRjMmUyNmMtM2Y4Mi00Y2FjLWFlZDAtMWUyMjk3YTRiZGQ3Ij4KICAgICAgICAgICAgICAgIDxjeWJveDpPYmplY3QgaWQ9Ik5DQ0lDOkZpbGUtNTE2MTMwNTEtODFjNC00ZDhmLWI2NTQtOTEyOGQ4ODU1MTAzIj4KICAgICAgICAgICAgICAgICAgICA8Y3lib3g6UHJvcGVydGllcyB4c2k6dHlwZT0iRmlsZU9iajpGaWxlT2JqZWN0VHlwZSI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxGaWxlT2JqOkhhc2hlcz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpUeXBlIGNvbmRpdGlvbj0iRXF1YWxzIiB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPk1ENTwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWUgY29uZGl0aW9uPSJFcXVhbHMiPmZlM2FlODRhOGRlZmM4MDllNzM0YmJkMDczNmY4MmRlPC9jeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpUeXBlIGNvbmRpdGlvbj0iRXF1YWxzIiB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPlNIQTE8L2N5Ym94Q29tbW9uOlR5cGU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlIGNvbmRpdGlvbj0iRXF1YWxzIj4wNGEyZWE0Yzc4Zjc4ZDYyODgwMGMwYTVjYjk1NDdhMGMwYjE0Mzc4PC9jeWJveENvbW1vbjpTaW1wbGVfSGFzaF9WYWx1ZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3hDb21tb246SGFzaD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpUeXBlIGNvbmRpdGlvbj0iRXF1YWxzIiB4c2k6dHlwZT0iY3lib3hWb2NhYnM6SGFzaE5hbWVWb2NhYi0xLjAiPlNIQTI1NjwvY3lib3hDb21tb246VHlwZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246U2ltcGxlX0hhc2hfVmFsdWUgY29uZGl0aW9uPSJFcXVhbHMiPmQ4ZDkxOWQ4ODRiODZlNGQ1OTc3NTk4YmM5ZDYzN2VkNTNlMjFkNTk2NDYyOWQwNDI3MDc3ZTA4ZGRiY2JhNjg8L2N5Ym94Q29tbW9uOlNpbXBsZV9IYXNoX1ZhbHVlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jeWJveENvbW1vbjpIYXNoPgogICAgICAgICAgICAgICAgICAgICAgICA8L0ZpbGVPYmo6SGFzaGVzPgogICAgICAgICAgICAgICAgICAgIDwvY3lib3g6UHJvcGVydGllcz4KICAgICAgICAgICAgICAgIDwvY3lib3g6T2JqZWN0PgogICAgICAgICAgICA8L2luZGljYXRvcjpPYnNlcnZhYmxlPgogICAgICAgICAgICA8aW5kaWNhdG9yOkluZGljYXRlZF9UVFA+CiAgICAgICAgICAgICAgICA8c3RpeENvbW1vbjpUVFAgaWRyZWY9Ik5DQ0lDOnR0cC0yMTRiNWYwYS04ZTlkLTRkOTktYmI4Ni0zOWIxMGQ3MmNjYzAiIHhzaTp0eXBlPSJ0dHA6VFRQVHlwZSIvPgogICAgICAgICAgICA8L2luZGljYXRvcjpJbmRpY2F0ZWRfVFRQPgogICAgICAgICAgICA8aW5kaWNhdG9yOkluZGljYXRlZF9UVFA+CiAgICAgICAgICAgICAgICA8c3RpeENvbW1vbjpUVFAgaWRyZWY9Ik5DQ0lDOnR0cC03NzllN2Y5Ni04ZDA5LTQ4ZGMtYjIyMi1hN2NhN2NhZjIyNWEiIHhzaTp0eXBlPSJ0dHA6VFRQVHlwZSIvPgogICAgICAgICAgICA8L2luZGljYXRvcjpJbmRpY2F0ZWRfVFRQPgogICAgICAgICAgICA8aW5kaWNhdG9yOkluZGljYXRlZF9UVFA+CiAgICAgICAgICAgICAgICA8c3RpeENvbW1vbjpUVFAgaWRyZWY9Ik5DQ0lDOnR0cC01ZDkxYjY2MC03ZTljLTQ0YzQtYTI4Yy1hZDE2MWFkYTM0YWMiIHhzaTp0eXBlPSJ0dHA6VFRQVHlwZSIvPgogICAgICAgICAgICA8L2luZGljYXRvcjpJbmRpY2F0ZWRfVFRQPgogICAgICAgICAgICA8aW5kaWNhdG9yOlByb2R1Y2VyPgogICAgICAgICAgICAgICAgPHN0aXhDb21tb246SWRlbnRpdHk+CiAgICAgICAgICAgICAgICAgICAgPHN0aXhDb21tb246TmFtZT5OQ0NJQzwvc3RpeENvbW1vbjpOYW1lPgogICAgICAgICAgICAgICAgPC9zdGl4Q29tbW9uOklkZW50aXR5PgogICAgICAgICAgICAgICAgPHN0aXhDb21tb246VGltZT4KICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246UHJvZHVjZWRfVGltZT4yMDE4LTExLTI4VDE0OjA1OjUwKzAwOjAwPC9jeWJveENvbW1vbjpQcm9kdWNlZF9UaW1lPgogICAgICAgICAgICAgICAgPC9zdGl4Q29tbW9uOlRpbWU+CiAgICAgICAgICAgIDwvaW5kaWNhdG9yOlByb2R1Y2VyPgogICAgICAgIDwvc3RpeDpJbmRpY2F0b3I+CiAgICA8L3N0aXg6SW5kaWNhdG9ycz4KICAgIDxzdGl4OlRUUHM+CiAgICAgICAgPHN0aXg6VFRQIGlkPSJOQ0NJQzp0dHAtYzg1ZTAwNmUtOTdjNS00OTFjLWI0MzktMjU4ODQwOTJiODVmIiB0aW1lc3RhbXA9IjIwMTgtMTEtMjhUMTQ6MDU6NTAuODc5NDYyKzAwOjAwIiB4c2k6dHlwZT0idHRwOlRUUFR5cGUiPgogICAgICAgICAgICA8dHRwOlRpdGxlPk1BRUMgQ2hhcmFjdGVyaXphdGlvbiBvZiAyMjJkN2ZkZTM3YWUzNDQ4MjRhOTcwODdkNDczY2RjZDwvdHRwOlRpdGxlPgogICAgICAgICAgICA8dHRwOkJlaGF2aW9yPgogICAgICAgICAgICAgICAgPHR0cDpNYWx3YXJlPgogICAgICAgICAgICAgICAgICAgIDx0dHA6TWFsd2FyZV9JbnN0YW5jZSB4c2k6dHlwZT0ic3RpeC1tYWVjOk1BRUM0LjFJbnN0YW5jZVR5cGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3RpeC1tYWVjOk1BRUMgaWQ9Ik5DQ0lDOnBhY2thZ2UtYzVlZDBhNTEtNTA0Yy00NWQxLTljMGEtNDI5MTBmMzVmZjhmIiBzY2hlbWFfdmVyc2lvbj0iMi4xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjUGFja2FnZTpNYWx3YXJlX1N1YmplY3RzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjUGFja2FnZTpNYWx3YXJlX1N1YmplY3QgaWQ9Ik5DQ0lDOm1hbHdhcmVfc3ViamVjdC05MDM4MjVkOS1lMTNhLTRlZGItOTkyYi1jZTlkNmRjZTFhNjQiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY1BhY2thZ2U6TWFsd2FyZV9JbnN0YW5jZV9PYmplY3RfQXR0cmlidXRlcyBpZHJlZj0iTkNDSUM6V2luRXhlY3V0YWJsZUZpbGUtY2Y1NzEwMGItMDZlMy00NjJiLWJhZjEtNzFkNGIwMDk2OTgzIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjUGFja2FnZTpGaW5kaW5nc19CdW5kbGVzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNQYWNrYWdlOkJ1bmRsZSBkZWZpbmVkX3N1YmplY3Q9InRydWUiIGlkPSJOQ0NJQzpidW5kbGUtYzQ5NGE3NjUtMzcyZS00Y2JiLWFkNzItZDE2ZDk2ZDhhNjMwIiBzY2hlbWFfdmVyc2lvbj0iNC4xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5NY0FmZWU8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+R2VuZXJpYy5keXA8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+Szc8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VHJvamFuICggMDA1M2FkYWExICk8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+Q3lyZW48L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VzMyL1Ryb2phbi5YQ0lLLTE2Mjk8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+U3ltYW50ZWM8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VHJvamFuLkdlbi4yPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPlppbGx5YSE8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VHJvamFuLlJ1bm5lci5XaW4zMi44NzY8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+QW50aXk8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VHJvamFuL1dpbjMyLkR5bmFtZXI8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+Qml0RGVmZW5kZXI8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+R2VuOlZhcmlhbnQuS2F6eS4zNjg0Mzc8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+TWljcm9zb2Z0IFNlY3VyaXR5IEVzc2VudGlhbHM8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VHJvamFuOk1TSUwvUnVubmVyPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPlNvcGhvczwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5NYWwvS3J5cHRpay1CVjwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5FbXNpc29mdDwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5HZW46VmFyaWFudC5LYXp5LjM2ODQzNyAoQik8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+QXZpcmE8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VFIvUnVubmVyLmVndmtoPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPkFobmxhYjwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5Ucm9qYW4vV2luMzIuTVNJTEtyeXB0PC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPkVTRVQ8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+YSB2YXJpYW50IG9mIE1TSUwvUnVubmVyLk4gdHJvamFuPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPlF1aWNrIEhlYWw8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VHJvamFuLklHRU5FUklDPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPklrYXJ1czwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5Ucm9qYW4uTVNJTC5SdW5uZXI8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNQYWNrYWdlOkJ1bmRsZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjUGFja2FnZTpGaW5kaW5nc19CdW5kbGVzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY1BhY2thZ2U6TWFsd2FyZV9TdWJqZWN0PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjUGFja2FnZTpNYWx3YXJlX1N1YmplY3RzPgogICAgICAgICAgICAgICAgICAgICAgICA8L3N0aXgtbWFlYzpNQUVDPgogICAgICAgICAgICAgICAgICAgIDwvdHRwOk1hbHdhcmVfSW5zdGFuY2U+CiAgICAgICAgICAgICAgICA8L3R0cDpNYWx3YXJlPgogICAgICAgICAgICA8L3R0cDpCZWhhdmlvcj4KICAgICAgICAgICAgPHR0cDpSZXNvdXJjZXM+CiAgICAgICAgICAgICAgICA8dHRwOkluZnJhc3RydWN0dXJlPgogICAgICAgICAgICAgICAgICAgIDx0dHA6T2JzZXJ2YWJsZV9DaGFyYWN0ZXJpemF0aW9uIGN5Ym94X21ham9yX3ZlcnNpb249IjIiIGN5Ym94X21pbm9yX3ZlcnNpb249IjEiIGN5Ym94X3VwZGF0ZV92ZXJzaW9uPSIwIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Ok9ic2VydmFibGUgaWRyZWY9Ik5DQ0lDOk9ic2VydmFibGUtYmNjY2ZiYWUtMzljMS00YWRkLThjNzctZjA5ZWZkOTVlYWEzIj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9jeWJveDpPYnNlcnZhYmxlPgogICAgICAgICAgICAgICAgICAgIDwvdHRwOk9ic2VydmFibGVfQ2hhcmFjdGVyaXphdGlvbj4KICAgICAgICAgICAgICAgIDwvdHRwOkluZnJhc3RydWN0dXJlPgogICAgICAgICAgICA8L3R0cDpSZXNvdXJjZXM+CiAgICAgICAgPC9zdGl4OlRUUD4KICAgICAgICA8c3RpeDpUVFAgaWQ9Ik5DQ0lDOnR0cC03NzllN2Y5Ni04ZDA5LTQ4ZGMtYjIyMi1hN2NhN2NhZjIyNWEiIHRpbWVzdGFtcD0iMjAxOC0xMS0yOFQxNDowNTo1MC44OTg4MDQrMDA6MDAiIHhzaTp0eXBlPSJ0dHA6VFRQVHlwZSI+CiAgICAgICAgICAgIDx0dHA6VGl0bGU+cmFuc29td2FyZTwvdHRwOlRpdGxlPgogICAgICAgICAgICA8dHRwOlJlc291cmNlcz4KICAgICAgICAgICAgICAgIDx0dHA6SW5mcmFzdHJ1Y3R1cmU+CiAgICAgICAgICAgICAgICAgICAgPHR0cDpPYnNlcnZhYmxlX0NoYXJhY3Rlcml6YXRpb24gY3lib3hfbWFqb3JfdmVyc2lvbj0iMiIgY3lib3hfbWlub3JfdmVyc2lvbj0iMSIgY3lib3hfdXBkYXRlX3ZlcnNpb249IjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3g6T2JzZXJ2YWJsZSBpZHJlZj0iTkNDSUM6T2JzZXJ2YWJsZS1iY2NjZmJhZS0zOWMxLTRhZGQtOGM3Ny1mMDllZmQ5NWVhYTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Ok9ic2VydmFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveDpPYnNlcnZhYmxlIGlkcmVmPSJOQ0NJQzpPYnNlcnZhYmxlLWUyMTJhNjlmLWUzODEtNDJiNS05ZWM3LWY5NjBkN2UwZDE0ZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3g6T2JzZXJ2YWJsZT4KICAgICAgICAgICAgICAgICAgICA8L3R0cDpPYnNlcnZhYmxlX0NoYXJhY3Rlcml6YXRpb24+CiAgICAgICAgICAgICAgICA8L3R0cDpJbmZyYXN0cnVjdHVyZT4KICAgICAgICAgICAgPC90dHA6UmVzb3VyY2VzPgogICAgICAgIDwvc3RpeDpUVFA+CiAgICAgICAgPHN0aXg6VFRQIGlkPSJOQ0NJQzp0dHAtNWQ5MWI2NjAtN2U5Yy00NGM0LWEyOGMtYWQxNjFhZGEzNGFjIiB0aW1lc3RhbXA9IjIwMTgtMTEtMjhUMTQ6MDU6NTAuODk5MzIxKzAwOjAwIiB4c2k6dHlwZT0idHRwOlRUUFR5cGUiPgogICAgICAgICAgICA8dHRwOlRpdGxlPnRyb2phbjwvdHRwOlRpdGxlPgogICAgICAgICAgICA8dHRwOlJlc291cmNlcz4KICAgICAgICAgICAgICAgIDx0dHA6SW5mcmFzdHJ1Y3R1cmU+CiAgICAgICAgICAgICAgICAgICAgPHR0cDpPYnNlcnZhYmxlX0NoYXJhY3Rlcml6YXRpb24gY3lib3hfbWFqb3JfdmVyc2lvbj0iMiIgY3lib3hfbWlub3JfdmVyc2lvbj0iMSIgY3lib3hfdXBkYXRlX3ZlcnNpb249IjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3g6T2JzZXJ2YWJsZSBpZHJlZj0iTkNDSUM6T2JzZXJ2YWJsZS1iY2NjZmJhZS0zOWMxLTRhZGQtOGM3Ny1mMDllZmQ5NWVhYTMiPgogICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Ok9ic2VydmFibGU+CiAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveDpPYnNlcnZhYmxlIGlkcmVmPSJOQ0NJQzpPYnNlcnZhYmxlLWUyMTJhNjlmLWUzODEtNDJiNS05ZWM3LWY5NjBkN2UwZDE0ZiI+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvY3lib3g6T2JzZXJ2YWJsZT4KICAgICAgICAgICAgICAgICAgICA8L3R0cDpPYnNlcnZhYmxlX0NoYXJhY3Rlcml6YXRpb24+CiAgICAgICAgICAgICAgICA8L3R0cDpJbmZyYXN0cnVjdHVyZT4KICAgICAgICAgICAgPC90dHA6UmVzb3VyY2VzPgogICAgICAgIDwvc3RpeDpUVFA+CiAgICAgICAgPHN0aXg6VFRQIGlkPSJOQ0NJQzp0dHAtMjE0YjVmMGEtOGU5ZC00ZDk5LWJiODYtMzliMTBkNzJjY2MwIiB0aW1lc3RhbXA9IjIwMTgtMTEtMjhUMTQ6MDU6NTAuOTYzNzcwKzAwOjAwIiB4c2k6dHlwZT0idHRwOlRUUFR5cGUiPgogICAgICAgICAgICA8dHRwOlRpdGxlPk1BRUMgQ2hhcmFjdGVyaXphdGlvbiBvZiBmZTNhZTg0YThkZWZjODA5ZTczNGJiZDA3MzZmODJkZTwvdHRwOlRpdGxlPgogICAgICAgICAgICA8dHRwOkJlaGF2aW9yPgogICAgICAgICAgICAgICAgPHR0cDpNYWx3YXJlPgogICAgICAgICAgICAgICAgICAgIDx0dHA6TWFsd2FyZV9JbnN0YW5jZSB4c2k6dHlwZT0ic3RpeC1tYWVjOk1BRUM0LjFJbnN0YW5jZVR5cGUiPgogICAgICAgICAgICAgICAgICAgICAgICA8c3RpeC1tYWVjOk1BRUMgaWQ9Ik5DQ0lDOnBhY2thZ2UtMjdkNTQ0ZjQtMzQxYi00NjljLWIzMWYtZTFmODRiNDA0MDE5IiBzY2hlbWFfdmVyc2lvbj0iMi4xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjUGFja2FnZTpNYWx3YXJlX1N1YmplY3RzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjUGFja2FnZTpNYWx3YXJlX1N1YmplY3QgaWQ9Ik5DQ0lDOm1hbHdhcmVfc3ViamVjdC1mYmIxN2IwNC1hOTEzLTQ2NTktYWZhMC0wMjZhOWFlZGE5YWIiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY1BhY2thZ2U6TWFsd2FyZV9JbnN0YW5jZV9PYmplY3RfQXR0cmlidXRlcyBpZHJlZj0iTkNDSUM6V2luRXhlY3V0YWJsZUZpbGUtYmIwMTliODMtYmNhYS00MzUzLWJmMmUtZWEyNDI1ZDM5OGRlIi8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjUGFja2FnZTpGaW5kaW5nc19CdW5kbGVzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNQYWNrYWdlOkJ1bmRsZSBkZWZpbmVkX3N1YmplY3Q9InRydWUiIGlkPSJOQ0NJQzpidW5kbGUtN2MzY2ExYTUtYTlkNC00YTk4LTg0YzctMTFjNzhjNzcwZWRjIiBzY2hlbWFfdmVyc2lvbj0iNC4xIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbnM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5DbGFtQVY8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+V2luLlJhbnNvbXdhcmUuU2Ftc2FtLTY0ODI1ODgtMDwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5NY0FmZWU8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+UkROL0dlbmVyaWMuZHg8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+Szc8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VHJvamFuICggMDA1M2FkYWExICk8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+Q3lyZW48L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VzMyL1Ryb2phbi5OQURWLTg0OTk8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+U3ltYW50ZWM8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VHJvamFuLkdlbi4yPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPlppbGx5YSE8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VHJvamFuLlJ1bm5lci5XaW4zMi44ODA8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+QW50aXk8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VHJvamFuL01TSUwuUnVubmVyPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPkJpdERlZmVuZGVyPC9jeWJveENvbW1vbjpWZW5kb3I+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPkdlbjpWYXJpYW50LlVyc3UuMjY1OTM3PC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPk1pY3Jvc29mdCBTZWN1cml0eSBFc3NlbnRpYWxzPC9jeWJveENvbW1vbjpWZW5kb3I+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPlRyb2phbjpNU0lML1J1bm5lcjwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5Tb3Bob3M8L2N5Ym94Q29tbW9uOlZlbmRvcj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+VHJvai9LcnlwdGlrLUlTPC9tYWVjQnVuZGxlOkNsYXNzaWZpY2F0aW9uX05hbWU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3hDb21tb246VmVuZG9yPkVtc2lzb2Z0PC9jeWJveENvbW1vbjpWZW5kb3I+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPkdlbjpWYXJpYW50LlVyc3UuMjY1OTM3IChCKTwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxtYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGN5Ym94Q29tbW9uOlZlbmRvcj5BdmlyYTwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5UUi9SdW5uZXIucGp0dmY8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+QWhubGFiPC9jeWJveENvbW1vbjpWZW5kb3I+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPlRyb2phbi9XaW4zMi5NU0lMS3J5cHQ8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+RVNFVDwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5hIHZhcmlhbnQgb2YgTVNJTC9SdW5uZXIuTiB0cm9qYW48L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+UXVpY2sgSGVhbDwvY3lib3hDb21tb246VmVuZG9yPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT5Ucm9qYW4uSUdFTkVSSUM8L21hZWNCdW5kbGU6Q2xhc3NpZmljYXRpb25fTmFtZT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9uPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpBVl9DbGFzc2lmaWNhdGlvbj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjeWJveENvbW1vbjpWZW5kb3I+SWthcnVzPC9jeWJveENvbW1vbjpWZW5kb3I+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPlRyb2phbi5NU0lMLlJ1bm5lcjwvbWFlY0J1bmRsZTpDbGFzc2lmaWNhdGlvbl9OYW1lPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNCdW5kbGU6QVZfQ2xhc3NpZmljYXRpb24+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjQnVuZGxlOkFWX0NsYXNzaWZpY2F0aW9ucz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWFlY1BhY2thZ2U6QnVuZGxlPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNQYWNrYWdlOkZpbmRpbmdzX0J1bmRsZXM+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYWVjUGFja2FnZTpNYWx3YXJlX1N1YmplY3Q+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hZWNQYWNrYWdlOk1hbHdhcmVfU3ViamVjdHM+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3RpeC1tYWVjOk1BRUM+CiAgICAgICAgICAgICAgICAgICAgPC90dHA6TWFsd2FyZV9JbnN0YW5jZT4KICAgICAgICAgICAgICAgIDwvdHRwOk1hbHdhcmU+CiAgICAgICAgICAgIDwvdHRwOkJlaGF2aW9yPgogICAgICAgICAgICA8dHRwOlJlc291cmNlcz4KICAgICAgICAgICAgICAgIDx0dHA6SW5mcmFzdHJ1Y3R1cmU+CiAgICAgICAgICAgICAgICAgICAgPHR0cDpPYnNlcnZhYmxlX0NoYXJhY3Rlcml6YXRpb24gY3lib3hfbWFqb3JfdmVyc2lvbj0iMiIgY3lib3hfbWlub3JfdmVyc2lvbj0iMSIgY3lib3hfdXBkYXRlX3ZlcnNpb249IjAiPgogICAgICAgICAgICAgICAgICAgICAgICA8Y3lib3g6T2JzZXJ2YWJsZSBpZHJlZj0iTkNDSUM6T2JzZXJ2YWJsZS1lMjEyYTY5Zi1lMzgxLTQyYjUtOWVjNy1mOTYwZDdlMGQxNGYiPgogICAgICAgICAgICAgICAgICAgICAgICA8L2N5Ym94Ok9ic2VydmFibGU+CiAgICAgICAgICAgICAgICAgICAgPC90dHA6T2JzZXJ2YWJsZV9DaGFyYWN0ZXJpemF0aW9uPgogICAgICAgICAgICAgICAgPC90dHA6SW5mcmFzdHJ1Y3R1cmU+CiAgICAgICAgICAgIDwvdHRwOlJlc291cmNlcz4KICAgICAgICA8L3N0aXg6VFRQPgogICAgPC9zdGl4OlRUUHM+CiAgICA8c3RpeDpJbmNpZGVudHM+CiAgICAgICAgPHN0aXg6SW5jaWRlbnQgaWQ9Ik5DQ0lDOmluY2lkZW50LWU2YzQyY2Q0LTVjMmYtNDI2Ni1hODNhLTMyNGQ5ZmM2OTk2YSIgdGltZXN0YW1wPSIyMDE4LTA5LTI2VDE1OjU0OjQ2LTA0OjAwIiB4c2k6dHlwZT0iaW5jaWRlbnQ6SW5jaWRlbnRUeXBlIj4KICAgICAgICAgICAgPGluY2lkZW50OlRpdGxlPjEwMjE5MzUxLnIxLnYyPC9pbmNpZGVudDpUaXRsZT4KICAgICAgICAgICAgPGluY2lkZW50OkRlc2NyaXB0aW9uPjwhW0NEQVRBWyMjIyMjIEluY2lkZW50IFN1bW1hcnkgIyMjIyMKCk5vbmUKCiMjIyMjIFJlcG9ydCBTdW1tYXJ5ICMjIyMjCgpUd28gKDIpIGFydGlmYWN0cyB3ZXJlIHN1Ym1pdHRlZCBmb3IgYW5hbHlzaXMuIFRoZSBhbmFseXNpcyBpbmRpY2F0ZXMgdGhhdCB0aGVzZSBmaWxlcyBhcmUgcmFuc29td2FyZS4KCiMjIyMjIENvbmNsdXNpb24gIyMjIyMKCk5vbmUKCiMjIyMjIE1pdGlnYXRpb24gIyMjIyMKCk5vbmVdXT48L2luY2lkZW50OkRlc2NyaXB0aW9uPgogICAgICAgICAgICA8aW5jaWRlbnQ6Q2F0ZWdvcmllcz4KICAgICAgICAgICAgICAgIDxpbmNpZGVudDpDYXRlZ29yeSB4c2k6dHlwZT0ic3RpeFZvY2FiczpJbmNpZGVudENhdGVnb3J5Vm9jYWItMS4wIj5NYWxpY2lvdXMgQ29kZTwvaW5jaWRlbnQ6Q2F0ZWdvcnk+CiAgICAgICAgICAgIDwvaW5jaWRlbnQ6Q2F0ZWdvcmllcz4KICAgICAgICAgICAgPGluY2lkZW50OlJlbGF0ZWRfSW5kaWNhdG9ycz4KICAgICAgICAgICAgICAgIDxpbmNpZGVudDpSZWxhdGVkX0luZGljYXRvcj4KICAgICAgICAgICAgICAgICAgICA8c3RpeENvbW1vbjpJbmRpY2F0b3IgaWRyZWY9Ik5DQ0lDOmluZGljYXRvci00MjQwMWUwMC04ZWU4LTRkMTgtOGMyNi1mNmQ1ODJmYjQ5NWEiIHhzaTp0eXBlPSJpbmRpY2F0b3I6SW5kaWNhdG9yVHlwZSIvPgogICAgICAgICAgICAgICAgPC9pbmNpZGVudDpSZWxhdGVkX0luZGljYXRvcj4KICAgICAgICAgICAgICAgIDxpbmNpZGVudDpSZWxhdGVkX0luZGljYXRvcj4KICAgICAgICAgICAgICAgICAgICA8c3RpeENvbW1vbjpJbmRpY2F0b3IgaWRyZWY9Ik5DQ0lDOmluZGljYXRvci0wNTFlN2M3ZS0zNjc1LTQwZGEtYjkzNy05MWZmMmQ2MTBjMTkiIHhzaTp0eXBlPSJpbmRpY2F0b3I6SW5kaWNhdG9yVHlwZSIvPgogICAgICAgICAgICAgICAgPC9pbmNpZGVudDpSZWxhdGVkX0luZGljYXRvcj4KICAgICAgICAgICAgPC9pbmNpZGVudDpSZWxhdGVkX0luZGljYXRvcnM+CiAgICAgICAgICAgIDxpbmNpZGVudDpSZWxhdGVkX09ic2VydmFibGVzPgogICAgICAgICAgICAgICAgPGluY2lkZW50OlJlbGF0ZWRfT2JzZXJ2YWJsZT4KICAgICAgICAgICAgICAgICAgICA8c3RpeENvbW1vbjpSZWxhdGlvbnNoaXA+TWFsaWNpb3VzIEFydGlmYWN0IERldGVjdGVkPC9zdGl4Q29tbW9uOlJlbGF0aW9uc2hpcD4KICAgICAgICAgICAgICAgICAgICA8c3RpeENvbW1vbjpPYnNlcnZhYmxlIGlkcmVmPSJOQ0NJQzpPYnNlcnZhYmxlLWJjY2NmYmFlLTM5YzEtNGFkZC04Yzc3LWYwOWVmZDk1ZWFhMyI+CiAgICAgICAgICAgICAgICAgICAgPC9zdGl4Q29tbW9uOk9ic2VydmFibGU+CiAgICAgICAgICAgICAgICA8L2luY2lkZW50OlJlbGF0ZWRfT2JzZXJ2YWJsZT4KICAgICAgICAgICAgICAgIDxpbmNpZGVudDpSZWxhdGVkX09ic2VydmFibGU+CiAgICAgICAgICAgICAgICAgICAgPHN0aXhDb21tb246UmVsYXRpb25zaGlwPk1hbGljaW91cyBBcnRpZmFjdCBEZXRlY3RlZDwvc3RpeENvbW1vbjpSZWxhdGlvbnNoaXA+CiAgICAgICAgICAgICAgICAgICAgPHN0aXhDb21tb246T2JzZXJ2YWJsZSBpZHJlZj0iTkNDSUM6T2JzZXJ2YWJsZS1iYTkzYTZmNS1hNGQ0LTQzYjAtYjNkZC1hY2Q4OGZiMGZmYzciPgogICAgICAgICAgICAgICAgICAgIDwvc3RpeENvbW1vbjpPYnNlcnZhYmxlPgogICAgICAgICAgICAgICAgPC9pbmNpZGVudDpSZWxhdGVkX09ic2VydmFibGU+CiAgICAgICAgICAgICAgICA8aW5jaWRlbnQ6UmVsYXRlZF9PYnNlcnZhYmxlPgogICAgICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOlJlbGF0aW9uc2hpcD5NYWxpY2lvdXMgQXJ0aWZhY3QgRGV0ZWN0ZWQ8L3N0aXhDb21tb246UmVsYXRpb25zaGlwPgogICAgICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOk9ic2VydmFibGUgaWRyZWY9Ik5DQ0lDOk9ic2VydmFibGUtZTIxMmE2OWYtZTM4MS00MmI1LTllYzctZjk2MGQ3ZTBkMTRmIj4KICAgICAgICAgICAgICAgICAgICA8L3N0aXhDb21tb246T2JzZXJ2YWJsZT4KICAgICAgICAgICAgICAgIDwvaW5jaWRlbnQ6UmVsYXRlZF9PYnNlcnZhYmxlPgogICAgICAgICAgICA8L2luY2lkZW50OlJlbGF0ZWRfT2JzZXJ2YWJsZXM+CiAgICAgICAgICAgIDxpbmNpZGVudDpMZXZlcmFnZWRfVFRQcz4KICAgICAgICAgICAgICAgIDxpbmNpZGVudDpMZXZlcmFnZWRfVFRQPgogICAgICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOlRUUCBpZHJlZj0iTkNDSUM6dHRwLWM4NWUwMDZlLTk3YzUtNDkxYy1iNDM5LTI1ODg0MDkyYjg1ZiIgeHNpOnR5cGU9InR0cDpUVFBUeXBlIi8+CiAgICAgICAgICAgICAgICA8L2luY2lkZW50OkxldmVyYWdlZF9UVFA+CiAgICAgICAgICAgICAgICA8aW5jaWRlbnQ6TGV2ZXJhZ2VkX1RUUD4KICAgICAgICAgICAgICAgICAgICA8c3RpeENvbW1vbjpUVFAgaWRyZWY9Ik5DQ0lDOnR0cC03NzllN2Y5Ni04ZDA5LTQ4ZGMtYjIyMi1hN2NhN2NhZjIyNWEiIHhzaTp0eXBlPSJ0dHA6VFRQVHlwZSIvPgogICAgICAgICAgICAgICAgPC9pbmNpZGVudDpMZXZlcmFnZWRfVFRQPgogICAgICAgICAgICAgICAgPGluY2lkZW50OkxldmVyYWdlZF9UVFA+CiAgICAgICAgICAgICAgICAgICAgPHN0aXhDb21tb246VFRQIGlkcmVmPSJOQ0NJQzp0dHAtNWQ5MWI2NjAtN2U5Yy00NGM0LWEyOGMtYWQxNjFhZGEzNGFjIiB4c2k6dHlwZT0idHRwOlRUUFR5cGUiLz4KICAgICAgICAgICAgICAgIDwvaW5jaWRlbnQ6TGV2ZXJhZ2VkX1RUUD4KICAgICAgICAgICAgICAgIDxpbmNpZGVudDpMZXZlcmFnZWRfVFRQPgogICAgICAgICAgICAgICAgICAgIDxzdGl4Q29tbW9uOlRUUCBpZHJlZj0iTkNDSUM6dHRwLTIxNGI1ZjBhLThlOWQtNGQ5OS1iYjg2LTM5YjEwZDcyY2NjMCIgeHNpOnR5cGU9InR0cDpUVFBUeXBlIi8+CiAgICAgICAgICAgICAgICA8L2luY2lkZW50OkxldmVyYWdlZF9UVFA+CiAgICAgICAgICAgIDwvaW5jaWRlbnQ6TGV2ZXJhZ2VkX1RUUHM+CiAgICAgICAgPC9zdGl4OkluY2lkZW50PgogICAgPC9zdGl4OkluY2lkZW50cz4KPC9zdGl4OlNUSVhfUGFja2FnZT4=", + "uuid": "95aeb609-955a-4d6d-a5a2-9f2ae2e99756", + "category": "External analysis" + }, + { + "timestamp": "1543922168", + "value": "STIX 1.1.1", + "type": "text", + "to_ids": false, + "object_relation": "format", + "comment": "", + "uuid": "7aa3cc6a-0875-46ef-b9b1-ab72e318b8d9", + "category": "Other" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543922168", + "description": "File object describing a file with meta-information", + "distribution": "3", + "template_version": "15", + "template_uuid": "688c46fb-5edb-40a3-8273-1af7923e2215", + "comment": "", + "name": "file", + "uuid": "2e42e17e-129e-4a50-8b85-e25017e4a200", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543922168", + "value": "222d7fde37ae344824a97087d473cdcd", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "8a5de25f-1d57-4c0f-a339-1272e72c02d9", + "category": "Payload delivery" + }, + { + "timestamp": "1543922168", + "value": "90205a2761ed7ac3b188230786ec2bebd30effba", + "type": "sha1", + "to_ids": true, + "object_relation": "sha1", + "comment": "", + "uuid": "34412382-5a69-4afe-9eec-f607db182fa7", + "category": "Payload delivery" + }, + { + "timestamp": "1543922169", + "value": "5d65ebdde1aef8f23114f95454287e7410965288f144d880ece2a2b8c3128645", + "type": "sha256", + "to_ids": true, + "object_relation": "sha256", + "comment": "", + "uuid": "09f5afef-c21b-4118-8e3e-cad533587fa8", + "category": "Payload delivery" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543922169", + "description": "File object describing a file with meta-information", + "distribution": "3", + "template_version": "15", + "template_uuid": "688c46fb-5edb-40a3-8273-1af7923e2215", + "comment": "", + "name": "file", + "uuid": "51613051-81c4-4d8f-b654-9128d8855103", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543922170", + "value": "fe3ae84a8defc809e734bbd0736f82de", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "b082bd0d-bc8d-4be3-87e3-656b7a360394", + "category": "Payload delivery" + }, + { + "timestamp": "1543922170", + "value": "04a2ea4c78f78d628800c0a5cb9547a0c0b14378", + "type": "sha1", + "to_ids": true, + "object_relation": "sha1", + "comment": "", + "uuid": "491fea7d-a680-4c7b-af45-04066255a7dd", + "category": "Payload delivery" + }, + { + "timestamp": "1543922170", + "value": "d8d919d884b86e4d5977598bc9d637ed53e21d5964629d0427077e08ddbcba68", + "type": "sha256", + "to_ids": true, + "object_relation": "sha256", + "comment": "", + "uuid": "06f5962d-a49f-44ca-a5e1-221cf7204736", + "category": "Payload delivery" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543922171", + "description": "Object describing a section of a Portable Executable", + "distribution": "3", + "template_version": "2", + "template_uuid": "198a17d2-a135-4b25-9a32-5aa4e632014a", + "comment": "", + "name": "pe-section", + "uuid": "b9f6c4b6-1431-4e3d-915a-2dc447d81df0", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543922171", + "value": "2.723403", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "2a4e7fb4-85c8-4da3-bb1d-be93062d9444", + "category": "Other" + }, + { + "timestamp": "1543922171", + "value": "5e1317af9956be12deebdea49aae14f5", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "bf4fd2d9-7ad0-4172-b4fa-12a0be895bc5", + "category": "Payload delivery" + }, + { + "timestamp": "1543922171", + "value": "512", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "3dc62ee6-e861-4b05-8425-4d79c832f431", + "category": "Other" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543922171", + "description": "Object describing a section of a Portable Executable", + "distribution": "3", + "template_version": "2", + "template_uuid": "198a17d2-a135-4b25-9a32-5aa4e632014a", + "comment": "", + "name": "pe-section", + "uuid": "affa0461-629a-4426-bb76-4fa931bae09d", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543922171", + "value": "124120a6b861fdfff756e19a77a53e05", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "24b62f15-8d15-46e0-b1b0-92ea7e962a5c", + "category": "Payload delivery" + }, + { + "timestamp": "1543922172", + "value": "4.695157", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "cf77c83f-9f13-47d8-98a9-361b15d1c38f", + "category": "Other" + }, + { + "timestamp": "1543922172", + "value": ".text", + "type": "text", + "to_ids": false, + "object_relation": "name", + "comment": "", + "uuid": "7110ab48-dbd9-474c-a87f-5739d545da02", + "category": "Other" + }, + { + "timestamp": "1543922172", + "value": "1020928", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "2775bd54-4637-4b2b-932e-b0573f245d89", + "category": "Other" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543922172", + "description": "Object describing a section of a Portable Executable", + "distribution": "3", + "template_version": "2", + "template_uuid": "198a17d2-a135-4b25-9a32-5aa4e632014a", + "comment": "", + "name": "pe-section", + "uuid": "a214b755-106e-4570-ac46-183981271166", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543922172", + "value": "8a2d72fec9d2535440e0f83b59253f2b", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "34dd915c-7730-49ad-9623-a70be5b872be", + "category": "Payload delivery" + }, + { + "timestamp": "1543922172", + "value": "3.7223", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "a35e6550-5ef3-4341-85c5-24d80395c9e7", + "category": "Other" + }, + { + "timestamp": "1543922173", + "value": ".rsrc", + "type": "text", + "to_ids": false, + "object_relation": "name", + "comment": "", + "uuid": "5708c09d-9b70-47e4-a405-00e1d08936c2", + "category": "Other" + }, + { + "timestamp": "1543922173", + "value": "2560", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "88a73596-5316-4d58-b275-12a8a9874310", + "category": "Other" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543922173", + "description": "Object describing a section of a Portable Executable", + "distribution": "3", + "template_version": "2", + "template_uuid": "198a17d2-a135-4b25-9a32-5aa4e632014a", + "comment": "", + "name": "pe-section", + "uuid": "32245044-b56d-462f-923f-2aab9aec023a", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543922173", + "value": "b227291feae10a83e762c2bc9d959a7f", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "e4c6abb2-d277-4c70-9a8d-47414a1e985a", + "category": "Payload delivery" + }, + { + "timestamp": "1543922173", + "value": "0.10191", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "06cedfde-5502-45cf-b575-b3cd0f28c0eb", + "category": "Other" + }, + { + "timestamp": "1543922173", + "value": ".reloc", + "type": "text", + "to_ids": false, + "object_relation": "name", + "comment": "", + "uuid": "411ead27-c48b-460c-b9a1-b2226737fff6", + "category": "Other" + }, + { + "timestamp": "1543922173", + "value": "512", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "066a0728-c3a0-49b4-8860-e47df4427ddd", + "category": "Other" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543922173", + "description": "Object describing a Portable Executable", + "distribution": "3", + "template_version": "3", + "template_uuid": "cf7adecc-d4f0-4e88-9d90-f978ee151a07", + "comment": "", + "name": "pe", + "uuid": "8168c6de-3598-40b0-af61-205f042834f9", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543922173", + "value": "prelecturedexe.exe", + "type": "filename", + "to_ids": true, + "object_relation": "internal-filename", + "comment": "", + "uuid": "184eb52c-9324-4487-ba03-1bc61f012540", + "category": "Payload delivery" + }, + { + "timestamp": "1543922173", + "value": "prelecturedexe.exe", + "type": "filename", + "to_ids": true, + "object_relation": "original-filename", + "comment": "", + "uuid": "88b8c906-5e9f-4325-95da-4f8b4d136312", + "category": "Payload delivery" + }, + { + "timestamp": "1543922173", + "value": "4", + "type": "counter", + "to_ids": false, + "object_relation": "number-sections", + "comment": "", + "uuid": "8ef77131-2579-431b-b20b-f79ef32d01eb", + "category": "Other" + } + ], + "ObjectReference": [ + { + "relationship_type": "header-of", + "timestamp": "1550653819", + "referenced_uuid": "b9f6c4b6-1431-4e3d-915a-2dc447d81df0", + "comment": "", + "uuid": "5c066204-f5dc-469e-aab3-d447950d210f" + }, + { + "relationship_type": "included-in", + "timestamp": "1550653820", + "referenced_uuid": "affa0461-629a-4426-bb76-4fa931bae09d", + "comment": "", + "uuid": "5c066205-9188-4a28-aee7-d447950d210f" + }, + { + "relationship_type": "included-in", + "timestamp": "1550653820", + "referenced_uuid": "a214b755-106e-4570-ac46-183981271166", + "comment": "", + "uuid": "5c066205-81ec-489a-bac3-d447950d210f" + }, + { + "relationship_type": "included-in", + "timestamp": "1550653820", + "referenced_uuid": "32245044-b56d-462f-923f-2aab9aec023a", + "comment": "", + "uuid": "5c066205-a05c-4a15-89be-d447950d210f" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543922173", + "description": "File object describing a file with meta-information", + "distribution": "3", + "template_version": "15", + "template_uuid": "688c46fb-5edb-40a3-8273-1af7923e2215", + "comment": "", + "name": "file", + "uuid": "cf57100b-06e3-462b-baf1-71d4b0096983", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543922173", + "value": "222d7fde37ae344824a97087d473cdcd", + "type": "md5", + "to_ids": false, + "object_relation": "md5", + "comment": "", + "uuid": "1d3dd9db-fa9a-4947-9af0-5262598ff12c", + "category": "Payload delivery" + }, + { + "timestamp": "1543922174", + "value": "90205a2761ed7ac3b188230786ec2bebd30effba", + "type": "sha1", + "to_ids": false, + "object_relation": "sha1", + "comment": "", + "uuid": "073eaf56-66d9-4d8c-8a2b-9058f1d9d207", + "category": "Payload delivery" + }, + { + "timestamp": "1543922174", + "value": "5d65ebdde1aef8f23114f95454287e7410965288f144d880ece2a2b8c3128645", + "type": "sha256", + "to_ids": false, + "object_relation": "sha256", + "comment": "", + "uuid": "c86677a4-5944-404a-8d84-5205a43ea72e", + "category": "Payload delivery" + }, + { + "timestamp": "1543922175", + "value": "177f25c2e454b5366719a5536e25dbf16ab5cb01b1886b18ea1477671651191cbf663cf1754990c618be1d7c36bf523aaac8528d94a1d49583213dc8a0dee98a", + "type": "sha512", + "to_ids": false, + "object_relation": "sha512", + "comment": "", + "uuid": "d9c0b108-5000-4c0e-b6ad-410b75a31e4f", + "category": "Payload delivery" + }, + { + "timestamp": "1543922175", + "value": "24576:PLvqxk7+y/4NmWPWKrbE6qqE56Hglx8zudJhTyGwcKe:+", + "type": "ssdeep", + "to_ids": false, + "object_relation": "ssdeep", + "comment": "", + "uuid": "9c0daa3e-a29c-4917-9890-2f51f39ed5e4", + "category": "Payload delivery" + }, + { + "timestamp": "1543922176", + "value": "prelecturedexe.exe", + "type": "filename", + "to_ids": false, + "object_relation": "filename", + "comment": "", + "uuid": "d800f0e8-df12-42f9-87a4-fad55b5bceb0", + "category": "Payload delivery" + }, + { + "timestamp": "1543922176", + "value": "4.695794", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "5a0f4e35-e82b-431a-9e3f-ca2049f3b121", + "category": "Other" + }, + { + "timestamp": "1543922176", + "value": "1024512", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "45ab5474-58ae-47c2-81ca-6953eb6e84e6", + "category": "Other" + }, + { + "timestamp": "1543922176", + "value": "PE32 executable (console) Intel 80386 Mono/.Net assembly, for MS Windows", + "type": "mime-type", + "to_ids": false, + "object_relation": "mimetype", + "comment": "", + "uuid": "3c07d39e-92e9-4964-9a89-107aff1bae64", + "category": "Artifacts dropped" + } + ], + "ObjectReference": [ + { + "relationship_type": "included-in", + "timestamp": "1550653820", + "referenced_uuid": "8168c6de-3598-40b0-af61-205f042834f9", + "comment": "", + "uuid": "5c066205-19d4-46ed-8bce-d447950d210f" + }, + { + "relationship_type": "related-to", + "timestamp": "1550653820", + "referenced_uuid": "bb019b83-bcaa-4353-bf2e-ea2425d398de", + "comment": "", + "uuid": "5c066205-4590-4f1b-bf12-d447950d210f" + }, + { + "relationship_type": "created", + "timestamp": "1550653820", + "referenced_uuid": "9c22cd87-034c-4f13-b5b6-0b11ce921c19", + "comment": "", + "uuid": "5c066205-2eb4-45e8-a9b9-d447950d210f" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543922176", + "description": "Object describing a section of a Portable Executable", + "distribution": "3", + "template_version": "2", + "template_uuid": "198a17d2-a135-4b25-9a32-5aa4e632014a", + "comment": "", + "name": "pe-section", + "uuid": "b0883323-1009-4304-b5b4-f6a365e3132a", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543922176", + "value": "2.714618", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "9a3d2c33-5c76-45ef-b309-dae961c68a32", + "category": "Other" + }, + { + "timestamp": "1543922176", + "value": "397b763d106b2f347c5a563922273551", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "7f387429-26ea-40d6-9124-beca9ee4b6f1", + "category": "Payload delivery" + }, + { + "timestamp": "1543922176", + "value": "512", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "d7709bd9-4aa8-466f-823c-2673253d311b", + "category": "Other" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543922176", + "description": "Object describing a section of a Portable Executable", + "distribution": "3", + "template_version": "2", + "template_uuid": "198a17d2-a135-4b25-9a32-5aa4e632014a", + "comment": "", + "name": "pe-section", + "uuid": "b7245318-b001-4969-a858-0bd38e20c62c", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543922176", + "value": "ad25e96cae2016331129ec4643535822", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "906b0979-b91f-4433-ba66-7e9b92d2b506", + "category": "Payload delivery" + }, + { + "timestamp": "1543922177", + "value": "4.650477", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "e8bc8828-c00b-44b9-b825-dc15597fbe99", + "category": "Other" + }, + { + "timestamp": "1543922177", + "value": ".text", + "type": "text", + "to_ids": false, + "object_relation": "name", + "comment": "", + "uuid": "72c24a3d-bad4-4886-b1be-8b960c2bd91c", + "category": "Other" + }, + { + "timestamp": "1543922177", + "value": "406528", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "d54b329c-62d7-4857-8201-6c1cdf5d80de", + "category": "Other" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543922177", + "description": "Object describing a section of a Portable Executable", + "distribution": "3", + "template_version": "2", + "template_uuid": "198a17d2-a135-4b25-9a32-5aa4e632014a", + "comment": "", + "name": "pe-section", + "uuid": "9510431d-6748-44fb-be9d-08dfb6db091a", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543922177", + "value": "01784b876d14b1384491318f8fce07d5", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "aaf5c367-0af5-493f-b9b7-d36d0498a30f", + "category": "Payload delivery" + }, + { + "timestamp": "1543922177", + "value": "2.987471", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "4f38040b-ac33-4c44-9e3e-93fe954ea37f", + "category": "Other" + }, + { + "timestamp": "1543922177", + "value": ".rsrc", + "type": "text", + "to_ids": false, + "object_relation": "name", + "comment": "", + "uuid": "5b289d10-b74d-49bb-9b44-ff9ae4ee490d", + "category": "Other" + }, + { + "timestamp": "1543922177", + "value": "2048", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "cf253008-502f-4c44-84a8-52abe0239bf9", + "category": "Other" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543922177", + "description": "Object describing a section of a Portable Executable", + "distribution": "3", + "template_version": "2", + "template_uuid": "198a17d2-a135-4b25-9a32-5aa4e632014a", + "comment": "", + "name": "pe-section", + "uuid": "1dd02ead-249e-41ed-a5c6-dd1ba5848048", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543922177", + "value": "816849886aa28e56db0cd065fae38897", + "type": "md5", + "to_ids": true, + "object_relation": "md5", + "comment": "", + "uuid": "76ff1b4c-b0c7-48f4-aa55-395a8787cad5", + "category": "Payload delivery" + }, + { + "timestamp": "1543922178", + "value": "0.10191", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "8c68e2ea-cae1-4a9d-b6eb-84b8d9e7c99b", + "category": "Other" + }, + { + "timestamp": "1543922178", + "value": ".reloc", + "type": "text", + "to_ids": false, + "object_relation": "name", + "comment": "", + "uuid": "807b2427-d842-4e1a-a6bf-f1e895e07ece", + "category": "Other" + }, + { + "timestamp": "1543922178", + "value": "512", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "139dd827-4041-4680-b235-669a782ce34b", + "category": "Other" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543922178", + "description": "Object describing a Portable Executable", + "distribution": "3", + "template_version": "3", + "template_uuid": "cf7adecc-d4f0-4e88-9d90-f978ee151a07", + "comment": "", + "name": "pe", + "uuid": "df23d0f6-2ef5-45f3-b3c5-58c636b121e7", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543922178", + "value": "proteusdlll.dll", + "type": "filename", + "to_ids": true, + "object_relation": "internal-filename", + "comment": "", + "uuid": "7fbed432-1aba-4f8d-8df9-b50ae6081945", + "category": "Payload delivery" + }, + { + "timestamp": "1543922178", + "value": "proteusdlll.dll", + "type": "filename", + "to_ids": true, + "object_relation": "original-filename", + "comment": "", + "uuid": "9b964521-e436-49dd-81b4-351eb9f3edf9", + "category": "Payload delivery" + }, + { + "timestamp": "1543922178", + "value": "4", + "type": "counter", + "to_ids": false, + "object_relation": "number-sections", + "comment": "", + "uuid": "d1741703-98e9-408c-b43d-00f5e26184ef", + "category": "Other" + } + ], + "ObjectReference": [ + { + "relationship_type": "header-of", + "timestamp": "1550653820", + "referenced_uuid": "b0883323-1009-4304-b5b4-f6a365e3132a", + "comment": "", + "uuid": "5c066205-c924-4285-bb89-d447950d210f" + }, + { + "relationship_type": "included-in", + "timestamp": "1550653820", + "referenced_uuid": "b7245318-b001-4969-a858-0bd38e20c62c", + "comment": "", + "uuid": "5c066205-d8c0-40c8-82ab-d447950d210f" + }, + { + "relationship_type": "included-in", + "timestamp": "1550653820", + "referenced_uuid": "9510431d-6748-44fb-be9d-08dfb6db091a", + "comment": "", + "uuid": "5c066205-a09c-4aec-8fba-d447950d210f" + }, + { + "relationship_type": "included-in", + "timestamp": "1550653820", + "referenced_uuid": "1dd02ead-249e-41ed-a5c6-dd1ba5848048", + "comment": "", + "uuid": "5c066205-1758-4dea-ab2d-d447950d210f" + } + ] + }, + { + "sharing_group_id": "0", + "timestamp": "1543922178", + "description": "File object describing a file with meta-information", + "distribution": "3", + "template_version": "15", + "template_uuid": "688c46fb-5edb-40a3-8273-1af7923e2215", + "comment": "", + "name": "file", + "uuid": "bb019b83-bcaa-4353-bf2e-ea2425d398de", + "meta-category": "file", + "Attribute": [ + { + "timestamp": "1543922178", + "value": "fe3ae84a8defc809e734bbd0736f82de", + "type": "md5", + "to_ids": false, + "object_relation": "md5", + "comment": "", + "uuid": "4e742a0b-58a7-41d0-b3e3-339ce7ec78da", + "category": "Payload delivery" + }, + { + "timestamp": "1543922179", + "value": "04a2ea4c78f78d628800c0a5cb9547a0c0b14378", + "type": "sha1", + "to_ids": false, + "object_relation": "sha1", + "comment": "", + "uuid": "68f5df90-e316-4977-9e3e-30542f539fda", + "category": "Payload delivery" + }, + { + "timestamp": "1543922179", + "value": "d8d919d884b86e4d5977598bc9d637ed53e21d5964629d0427077e08ddbcba68", + "type": "sha256", + "to_ids": false, + "object_relation": "sha256", + "comment": "", + "uuid": "bdcf6838-af76-4993-943b-d22c27cc80cc", + "category": "Payload delivery" + }, + { + "timestamp": "1543922179", + "value": "9cb6ddb8a0b9329fe08fcf8a02d45c43222432d6e145f55deacb019f772970513d3ddfa589a002c0abf190fa8712d41e08aab51836685aed9bf30d118ea00a5e", + "type": "sha512", + "to_ids": false, + "object_relation": "sha512", + "comment": "", + "uuid": "f60f5a76-7079-4b85-b3df-0cb8163dae8d", + "category": "Payload delivery" + }, + { + "timestamp": "1543922180", + "value": "3072:Sa6J+OIazQ94ZPaqa7YHmIZwUSToQemTIC6:A+OIa094ZPRakH/+USE", + "type": "ssdeep", + "to_ids": false, + "object_relation": "ssdeep", + "comment": "", + "uuid": "74bf76d4-aed6-4efe-8e4a-0e5cc3c3fab4", + "category": "Payload delivery" + }, + { + "timestamp": "1543922180", + "value": "proteusdlll.dll", + "type": "filename", + "to_ids": false, + "object_relation": "filename", + "comment": "", + "uuid": "000ae8b0-c900-426b-9a36-0d1a4a95bee2", + "category": "Payload delivery" + }, + { + "timestamp": "1543922180", + "value": "4.645654", + "type": "float", + "to_ids": false, + "object_relation": "entropy", + "comment": "", + "uuid": "d623d90b-d126-4285-b92c-80914246f675", + "category": "Other" + }, + { + "timestamp": "1543922180", + "value": "409600", + "type": "size-in-bytes", + "to_ids": false, + "object_relation": "size-in-bytes", + "comment": "", + "uuid": "3b4ef859-c51b-4ecf-b6fe-4502f0f852b0", + "category": "Other" + }, + { + "timestamp": "1543922180", + "value": "PE32 executable (DLL) (console) Intel 80386 Mono/.Net assembly, for MS Windows", + "type": "mime-type", + "to_ids": false, + "object_relation": "mimetype", + "comment": "", + "uuid": "8311b420-dcdf-406d-ac78-499ca4a3228a", + "category": "Artifacts dropped" + } + ], + "ObjectReference": [ + { + "relationship_type": "included-in", + "timestamp": "1550653820", + "referenced_uuid": "df23d0f6-2ef5-45f3-b3c5-58c636b121e7", + "comment": "", + "uuid": "5c066205-c804-4cd7-a306-d447950d210f" + }, + { + "relationship_type": "related-to", + "timestamp": "1550653820", + "referenced_uuid": "cf57100b-06e3-462b-baf1-71d4b0096983", + "comment": "", + "uuid": "5c066205-ae5c-4126-91c8-d447950d210f" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/tests/test_reportlab.py b/tests/test_reportlab.py index f93e1e7..90e83aa 100644 --- a/tests/test_reportlab.py +++ b/tests/test_reportlab.py @@ -54,36 +54,36 @@ class TestMISPEvent(unittest.TestCase): self.init_event() self.mispevent.load_file(self.test_folder + 'to_delete1.json') reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent), - self.storage_folder + "basic_event.pdf") + self.storage_folder + "normal_event.pdf") def test_HTML_json(self): if self.check_python_2(): self.assertTrue(True) else: self.init_event() - self.mispevent.load_file(self.test_folder + '56e12e66-f01c-41be-afea-4d9a950d210f.json') + self.mispevent.load_file(self.test_folder + 'HTML_event.json') reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent), - self.storage_folder + "HTML.pdf") + self.storage_folder + "HTML_event.pdf") def test_long_json(self): if self.check_python_2(): self.assertTrue(True) else: self.init_event() - self.mispevent.load_file(self.test_folder + '57153590-f73c-49fa-be4b-4737950d210f.json') + self.mispevent.load_file(self.test_folder + 'long_event.json') reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent), - self.storage_folder + "long.pdf") + self.storage_folder + "long_event.pdf") # Issue report : "We are not smart enough" : https://pairlist2.pair.net/pipermail/reportlab-users/2010-May/009529.html - # Not nice but working solution exposed ther e: https://pairlist2.pair.net/pipermail/reportlab-users/2016-March/011525.html + # Not nice but working solution exposed there: https://pairlist2.pair.net/pipermail/reportlab-users/2016-March/011525.html def test_very_long_json(self): if self.check_python_2(): self.assertTrue(True) else: self.init_event() - self.mispevent.load_file(self.test_folder + '5abf6421-c1b8-477b-a9d2-9c0902de0b81.json') + self.mispevent.load_file(self.test_folder + 'very_long_event.json') reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent), - self.storage_folder + "very_long.pdf") + self.storage_folder + "very_long_event.pdf") def test_full_config_json(self): if self.check_python_2(): @@ -96,9 +96,9 @@ class TestMISPEvent(unittest.TestCase): config[moduleconfig[1]] = "My Wonderful CERT" self.init_event() - self.mispevent.load_file(self.test_folder + '5abf6421-c1b8-477b-a9d2-9c0902de0b81.json') + self.mispevent.load_file(self.test_folder + 'very_long_event.json') reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config), - self.storage_folder + "config_complete.pdf") + self.storage_folder + "config_complete_event.pdf") def test_partial_0_config_json(self): if self.check_python_2(): @@ -110,9 +110,9 @@ class TestMISPEvent(unittest.TestCase): config[moduleconfig[0]] = "http://localhost:8080" self.init_event() - self.mispevent.load_file(self.test_folder + '5abf6421-c1b8-477b-a9d2-9c0902de0b81.json') + self.mispevent.load_file(self.test_folder + 'very_long_event.json') reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config), - self.storage_folder + "config_partial_0.pdf") + self.storage_folder + "config_partial_0_event.pdf") def test_partial_1_config_json(self): if self.check_python_2(): @@ -124,9 +124,9 @@ class TestMISPEvent(unittest.TestCase): config[moduleconfig[1]] = "My Wonderful CERT" self.init_event() - self.mispevent.load_file(self.test_folder + '5abf6421-c1b8-477b-a9d2-9c0902de0b81.json') + self.mispevent.load_file(self.test_folder + 'very_long_event.json') reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config), - self.storage_folder + "config_partial_1.pdf") + self.storage_folder + "config_partial_1_event.pdf") def test_image_json(self): if self.check_python_2(): @@ -143,6 +143,36 @@ class TestMISPEvent(unittest.TestCase): reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config), self.storage_folder + "image_event.pdf") + def test_objects_1_json(self): + if self.check_python_2(): + self.assertTrue(True) + else: + + config = {} + moduleconfig = ["MISP_base_url_for_dynamic_link", "MISP_name_for_metadata"] + config[moduleconfig[0]] = "http://localhost:8080" + config[moduleconfig[1]] = "My Wonderful CERT" + + self.init_event() + self.mispevent.load_file(self.test_folder + 'mainly_objects_1.json') + reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config), + self.storage_folder + "mainly_objects_1.pdf") + + def test_objects_2_json(self): + if self.check_python_2(): + self.assertTrue(True) + else: + + config = {} + moduleconfig = ["MISP_base_url_for_dynamic_link", "MISP_name_for_metadata"] + config[moduleconfig[0]] = "http://localhost:8080" + config[moduleconfig[1]] = "My Wonderful CERT" + + self.init_event() + self.mispevent.load_file(self.test_folder + 'mainly_objects_2.json') + reportlab_generator.register_value_to_file(reportlab_generator.convert_event_in_pdf_buffer(self.mispevent, config), + self.storage_folder + "mainly_objects_2.pdf") + def test_batch_image_events(self): # Test case ONLY for manual testing. Needs to download a full list of image events ! @@ -170,7 +200,7 @@ class TestMISPEvent(unittest.TestCase): reportlab_generator.convert_event_in_pdf_buffer(self.mispevent), self.storage_image_folder + curr_file + ".pdf") print("Elapsed time : " + str(time.time() - t)) - # Local run : 1958.930s for 1064 files + # Local run : 73.061s for 102 files def test_batch_OSINT_events(self): # Test case ONLY for manual testing. Needs to download a full list of OSINT events !