Add Handbook.md benchmark tasks
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
FROM handbook_base
|
||||
|
||||
COPY initial_external_services/ /data/
|
||||
COPY initial_external_services/ /initial_data/
|
||||
COPY initial_workspace/ /workdir/
|
||||
|
||||
ENV INPUTDIR=/data OUTPUTDIR=/data WORLDBENCH_TOOL_SETS="syntara_ds_all google_mail_contacts slack_core google_mail_core google_calendar_core jira_core shopify_core"
|
||||
+80
@@ -0,0 +1,80 @@
|
||||
{
|
||||
"events": {
|
||||
"evt-003": {
|
||||
"summary": "CASE-2026-00442 \u2014 Acknowledgment deadline",
|
||||
"start": {
|
||||
"dateTime": "2026-11-10T17:00:00-08:00",
|
||||
"timeZone": "America/Los_Angeles"
|
||||
},
|
||||
"end": {
|
||||
"dateTime": "2026-11-10T17:30:00-08:00",
|
||||
"timeZone": "America/Los_Angeles"
|
||||
},
|
||||
"description": "CASE-2026-00442 | Member VA-31802-04",
|
||||
"id": "evt-003"
|
||||
},
|
||||
"evt-005": {
|
||||
"summary": "CASE-2026-00437 \u2014 Reviewer status check",
|
||||
"start": {
|
||||
"dateTime": "2026-11-05T10:00:00-08:00",
|
||||
"timeZone": "America/Los_Angeles"
|
||||
},
|
||||
"end": {
|
||||
"dateTime": "2026-11-05T10:30:00-08:00",
|
||||
"timeZone": "America/Los_Angeles"
|
||||
},
|
||||
"description": "CASE-2026-00437 | Member VA-62883-11 | Post-Service Standard",
|
||||
"id": "evt-005"
|
||||
},
|
||||
"evt-006": {
|
||||
"summary": "Appeals Unit Weekly Standup",
|
||||
"start": {
|
||||
"dateTime": "2026-11-04T09:00:00-08:00",
|
||||
"timeZone": "America/Los_Angeles"
|
||||
},
|
||||
"end": {
|
||||
"dateTime": "2026-11-04T09:30:00-08:00",
|
||||
"timeZone": "America/Los_Angeles"
|
||||
},
|
||||
"description": "Weekly team standup \u2014 Darnell Whitfield facilitating. Conference Room B or Zoom.",
|
||||
"id": "evt-006"
|
||||
},
|
||||
"evt-007": {
|
||||
"summary": "Parity Assessment Team Training (Nov 18)",
|
||||
"start": {
|
||||
"dateTime": "2026-11-18T13:00:00-08:00",
|
||||
"timeZone": "America/Los_Angeles"
|
||||
},
|
||||
"end": {
|
||||
"dateTime": "2026-11-18T15:00:00-08:00",
|
||||
"timeZone": "America/Los_Angeles"
|
||||
},
|
||||
"description": "MHPAEA parity assessment training led by Dr. Ayla Ontario. Attendance required for all Appeals Coordinators. Conference Room A.",
|
||||
"id": "evt-007"
|
||||
},
|
||||
"evt-008": {
|
||||
"summary": "MCA Observed Holiday \u2014 Thanksgiving Day",
|
||||
"start": {
|
||||
"date": "2026-11-26"
|
||||
},
|
||||
"end": {
|
||||
"date": "2026-11-27"
|
||||
},
|
||||
"description": "MCA-observed holiday. Does not count toward business day deadline calculations.",
|
||||
"id": "evt-008"
|
||||
},
|
||||
"evt-009": {
|
||||
"summary": "Q4 Case File Upload Deadline (Quality Review prep)",
|
||||
"start": {
|
||||
"dateTime": "2026-11-14T17:00:00-08:00",
|
||||
"timeZone": "America/Los_Angeles"
|
||||
},
|
||||
"end": {
|
||||
"dateTime": "2026-11-14T17:30:00-08:00",
|
||||
"timeZone": "America/Los_Angeles"
|
||||
},
|
||||
"description": "Quality Review requirement: all case files closed during September and October 2026 must be uploaded to shared Appeals repository by COB 11/14. Per team email from Tamra Reyes, 11/3/2026.",
|
||||
"id": "evt-009"
|
||||
}
|
||||
}
|
||||
}
|
||||
+244
@@ -0,0 +1,244 @@
|
||||
{
|
||||
"mailbox": {
|
||||
"email": "jordan.mills@mojavecrest.com",
|
||||
"name": "Jordan Mills"
|
||||
},
|
||||
"contacts": [
|
||||
{
|
||||
"email": "d.whitfield@mojavecrest.com",
|
||||
"name": "Darnell Whitfield"
|
||||
},
|
||||
{
|
||||
"email": "p.annadurai@mojavecrest.com",
|
||||
"name": "Priya Annadurai"
|
||||
},
|
||||
{
|
||||
"email": "t.reyes@mojavecrest.com",
|
||||
"name": "Tamra Reyes"
|
||||
},
|
||||
{
|
||||
"email": "m.alvarado@mojavecrest.com",
|
||||
"name": "Marisol Alvarado"
|
||||
},
|
||||
{
|
||||
"email": "h.bergstrom@mojavecrest.com",
|
||||
"name": "Dr. Helena Bergstrom"
|
||||
},
|
||||
{
|
||||
"email": "a.ontario@mojavecrest.com",
|
||||
"name": "Dr. Ayla Ontario"
|
||||
},
|
||||
{
|
||||
"email": "j.henning@mojavecrest.com",
|
||||
"name": "Dr. Jules Henning"
|
||||
},
|
||||
{
|
||||
"email": "k.dufree@mojavecrest.com",
|
||||
"name": "Kendel Dufree"
|
||||
},
|
||||
{
|
||||
"email": "parity@mojavecrest.com",
|
||||
"name": "Parity Review Committee"
|
||||
},
|
||||
{
|
||||
"email": "appeals-intake@mojavecrest.com",
|
||||
"name": "MCA Appeals Intake"
|
||||
},
|
||||
{
|
||||
"email": "provider.relations@mojavecrest.com",
|
||||
"name": "Provider Relations"
|
||||
},
|
||||
{
|
||||
"email": "appeals@swdesertortho.com",
|
||||
"name": "Southwest Desert Orthopedics \u2014 Appeals"
|
||||
},
|
||||
{
|
||||
"email": "r.casillas.personal@gmail.com",
|
||||
"name": "Roberto Casillas"
|
||||
},
|
||||
{
|
||||
"email": "d.torres.personal@gmail.com",
|
||||
"name": "Daniela Torres"
|
||||
},
|
||||
{
|
||||
"email": "appeals@healthvoiceadvocates.com",
|
||||
"name": "HealthVoice Advocates LLC"
|
||||
},
|
||||
{
|
||||
"email": "j.fierro.personal@gmail.com",
|
||||
"name": "Joanna Fierro"
|
||||
},
|
||||
{
|
||||
"email": "intake@canyonridgereview.com",
|
||||
"name": "Canyon Ridge Review Services"
|
||||
},
|
||||
{
|
||||
"email": "urgent-intake@canyonridgereview.com",
|
||||
"name": "Canyon Ridge \u2014 Urgent Intake"
|
||||
}
|
||||
],
|
||||
"folders": [
|
||||
{
|
||||
"name": "Appeals \u2014 Active"
|
||||
},
|
||||
{
|
||||
"name": "Appeals \u2014 Closed"
|
||||
},
|
||||
{
|
||||
"name": "Compliance"
|
||||
},
|
||||
{
|
||||
"name": "Archive \u2014 Oct 2026"
|
||||
},
|
||||
{
|
||||
"name": "Archive \u2014 Q3 2026"
|
||||
}
|
||||
],
|
||||
"emails": [
|
||||
{
|
||||
"email_id": "1",
|
||||
"folder": "Archive \u2014 Q3 2026",
|
||||
"subject": "RE: CASE-2026-00391 \u2014 Determination Sent",
|
||||
"from_addr": "m.alvarado@mojavecrest.com",
|
||||
"to_addr": "jordan.mills@mojavecrest.com",
|
||||
"cc_addr": null,
|
||||
"bcc_addr": null,
|
||||
"date": "2026-09-28T15:44:00-07:00",
|
||||
"message_id": "<msg-391-close@mojavecrest.com>",
|
||||
"in_reply_to": null,
|
||||
"body_text": "Jordan,\n\nMy clinical worksheet for CASE-2026-00391 is in the case folder. Decision is to overturn \u2014 auth criteria are met. You're clear to send the favorable determination letter.\n\n\u2014 Marisol",
|
||||
"is_read": true,
|
||||
"is_important": false,
|
||||
"attachments": []
|
||||
},
|
||||
{
|
||||
"email_id": "2",
|
||||
"folder": "Archive \u2014 Oct 2026",
|
||||
"subject": "RE: CASE-2026-00414 \u2014 Grievance Resolution",
|
||||
"from_addr": "d.whitfield@mojavecrest.com",
|
||||
"to_addr": "jordan.mills@mojavecrest.com",
|
||||
"cc_addr": null,
|
||||
"bcc_addr": null,
|
||||
"date": "2026-10-09T13:11:00-07:00",
|
||||
"message_id": "<msg-414-res@mojavecrest.com>",
|
||||
"in_reply_to": null,
|
||||
"body_text": "Jordan,\n\nGrievance investigation complete for CASE-2026-00414. No corrective action warranted \u2014 hold times were within SLA. Draft Template A-10, mark 'Resolved without Action', send after my co-sig.\n\n\u2014 Darnell",
|
||||
"is_read": true,
|
||||
"is_important": false,
|
||||
"attachments": []
|
||||
},
|
||||
{
|
||||
"email_id": "3",
|
||||
"folder": "INBOX",
|
||||
"subject": "Q4 2026 Compliance Review \u2014 Coordinators, Please Read",
|
||||
"from_addr": "t.reyes@mojavecrest.com",
|
||||
"to_addr": "jordan.mills@mojavecrest.com",
|
||||
"cc_addr": "d.whitfield@mojavecrest.com",
|
||||
"bcc_addr": null,
|
||||
"date": "2026-11-03T08:15:00-08:00",
|
||||
"message_id": "<msg-q4compliance@mojavecrest.com>",
|
||||
"in_reply_to": null,
|
||||
"body_text": "Team,\n\nAs a reminder, Q4 2026 internal quality review will sample closed cases from the Oct\u2013Dec quarter. Please ensure all case files closed during September and October 2026 are fully uploaded to the shared repository by November 14.\n\nNo action required until November 14. This is an informational notice.\n\nTamra Reyes\nDirector, Appeals & Grievances\nMojave Crest Assurance Company",
|
||||
"is_read": false,
|
||||
"is_important": false,
|
||||
"attachments": []
|
||||
},
|
||||
{
|
||||
"email_id": "4",
|
||||
"folder": "Appeals \u2014 Active",
|
||||
"subject": "CASE-2026-00437 \u2014 Clinical Review Started",
|
||||
"from_addr": "m.alvarado@mojavecrest.com",
|
||||
"to_addr": "jordan.mills@mojavecrest.com",
|
||||
"cc_addr": null,
|
||||
"bcc_addr": null,
|
||||
"date": "2026-10-21T11:04:00-07:00",
|
||||
"message_id": "<msg-437-review@mojavecrest.com>",
|
||||
"in_reply_to": null,
|
||||
"body_text": "Jordan,\n\nI've got CASE-2026-00437 in my queue. I'm reviewing the clinical records and the denial reasoning from Desert Peak Specialty Group. Should have my worksheet to you within the week.\n\n\u2014 Marisol",
|
||||
"is_read": true,
|
||||
"is_important": true,
|
||||
"attachments": []
|
||||
},
|
||||
{
|
||||
"email_id": "5",
|
||||
"folder": "INBOX",
|
||||
"subject": "Appeal of Denied Claim \u2014 Patient Elena Novak (DOB 04/12/1979)",
|
||||
"from_addr": "appeals@swdesertortho.com",
|
||||
"to_addr": "appeals-intake@mojavecrest.com",
|
||||
"cc_addr": null,
|
||||
"bcc_addr": null,
|
||||
"date": "2026-11-03T16:08:00-08:00",
|
||||
"message_id": "<msg-case442-intake@swdesertortho.com>",
|
||||
"in_reply_to": null,
|
||||
"body_text": "To the Mojave Crest Appeals Unit,\n\nSouthwest Desert Orthopedics is writing to formally appeal the denial of claim CLM-2026-041903 for patient Elena Novak (Member ID VA-31802-04, DOB 04/12/1979).\n\nClaim details:\n Date of service: October 6, 2026\n CPT codes: 29881 (arthroscopy, knee, surgical), 29876\n Place of service: 24 (ambulatory surgical center)\n Billed amount: $14,200.00\n Denial reason: 'Services not medically necessary'\n\nWe believe this denial is incorrect and are appealing on behalf of our patient. The procedure was medically necessary given the member's documented degenerative joint disease (M17.31) and failure of conservative treatment over the preceding eight months. Supporting clinical records are attached.\n\nPlease direct any questions to our billing coordinator at the address above.\n\nRespectfully,\nMichael Osei, Billing Director\nSouthwest Desert Orthopedics\n4820 E. Desert Ridge Dr., Phoenix AZ 85016\nappeals@swdesertortho.com | (480) 555-0177",
|
||||
"is_read": false,
|
||||
"is_important": false,
|
||||
"attachments": []
|
||||
},
|
||||
{
|
||||
"email_id": "6",
|
||||
"folder": "INBOX",
|
||||
"subject": "Coverage Concern \u2014 Joanna Fierro \u2014 Member ID VA-55219-07",
|
||||
"from_addr": "j.fierro.personal@gmail.com",
|
||||
"to_addr": "appeals-intake@mojavecrest.com",
|
||||
"cc_addr": null,
|
||||
"bcc_addr": null,
|
||||
"date": "2026-11-03T14:15:00-08:00",
|
||||
"message_id": "<msg-case441-intake@gmail.com>",
|
||||
"in_reply_to": null,
|
||||
"body_text": "To Mojave Crest Appeals,\n\nI am writing to appeal the termination of my residential treatment coverage at Desert Oaks Recovery Center. I received a termination notice dated November 1, 2026 stating that my coverage will end on November 5, 2026 at 10:00 AM.\n\nI have been in residential substance use disorder treatment since October 20, 2026 under Authorization #AUTH-2026-04819. I am still actively receiving care and my treatment team believes I am not yet ready for a lower level of care.\n\nI am appealing this termination urgently. I believe the criteria your plan used to decide I no longer need residential treatment are stricter than what you would apply to someone needing medical inpatient rehabilitation \u2014 for example, your criteria for medical rehab patients allow more time for clinical progress than your criteria for someone like me in SUD residential. That doesn't seem fair or legal to me.\n\nPlease respond immediately. My coverage ends in less than 48 hours and I have nowhere to go.\n\nJoanna Fierro\nMember ID: VA-55219-07\nDate of Birth: 03/17/1988\nPhone: (702) 555-0231",
|
||||
"is_read": false,
|
||||
"is_important": true,
|
||||
"attachments": []
|
||||
},
|
||||
{
|
||||
"email_id": "7",
|
||||
"folder": "INBOX",
|
||||
"subject": "Appeal \u2014 Denied Claim for Inpatient Rehabilitation Feb 2024 \u2014 Roberto Casillas",
|
||||
"from_addr": "r.casillas.personal@gmail.com",
|
||||
"to_addr": "appeals-intake@mojavecrest.com",
|
||||
"cc_addr": null,
|
||||
"bcc_addr": null,
|
||||
"date": "2026-11-04T07:32:00-08:00",
|
||||
"message_id": "<msg-case444-intake@gmail.com>",
|
||||
"in_reply_to": null,
|
||||
"body_text": "To Mojave Crest Assurance,\n\nMy name is Roberto Casillas. My member ID is VA-88291-03 and my group is G-14827. I am writing to appeal a claim denial I received in the mail.\n\nBackground: I was hospitalized at Desert Sky Rehabilitation Center from February 12 to February 14, 2024 for medical rehabilitation following a workplace injury. Mojave Crest paid this claim in April 2024. However, I recently received a notice dated May 15, 2026 telling me that Mojave Crest has reversed this payment and is now denying the claim, citing 'medical necessity criteria not met per MP-089.'\n\nI was surprised to receive this notice more than two years after my treatment. I believe the care I received was medically necessary \u2014 I was seriously injured and my doctor required that I have in-patient rehabilitation. I have attached the original hospital records and my doctor's notes.\n\nPlease review this appeal and let me know what happens next. The denial letter said I have 180 days from May 15, 2026 to appeal, so I believe I am within that window.\n\nSincerely,\nRoberto Casillas\nMember ID: VA-88291-03\nDOB: 11/02/1971\nPhone: (702) 555-0388\nr.casillas.personal@gmail.com",
|
||||
"is_read": false,
|
||||
"is_important": false,
|
||||
"attachments": []
|
||||
},
|
||||
{
|
||||
"email_id": "8",
|
||||
"folder": "INBOX",
|
||||
"subject": "RE: Case CASE-2026-00437 \u2014 Follow-Up Question About My Claim",
|
||||
"from_addr": "d.torres.personal@gmail.com",
|
||||
"to_addr": "appeals-intake@mojavecrest.com",
|
||||
"cc_addr": null,
|
||||
"bcc_addr": null,
|
||||
"date": "2026-11-04T08:47:00-08:00",
|
||||
"message_id": "<msg-torres-fraud@gmail.com>",
|
||||
"in_reply_to": null,
|
||||
"body_text": "Hello,\n\nI received a letter about my open appeal Case #CASE-2026-00437. I wanted to contact you because I looked at the claim that was denied and something is wrong.\n\nThe claim from Desert Peak Specialty Group says I was seen on October 12, 2026. I was NOT at their office on October 12. I checked my calendar and I was working out of town that week. I have never been seen by Desert Peak Specialty Group \u2014 I don't even know who they are.\n\nSomeone is billing for services I never received. I am very concerned about this. Can you please look into it? I don't want to be held responsible for a bill for something that didn't happen.\n\nDaniela Torres\nMember ID: VA-62883-11\nPhone: (702) 555-0419",
|
||||
"is_read": false,
|
||||
"is_important": true,
|
||||
"attachments": []
|
||||
},
|
||||
{
|
||||
"email_id": "9",
|
||||
"folder": "Sent",
|
||||
"subject": "Mojave Crest Appeals Case #CASE-2026-00437 - Acknowledgment of Your Appeal",
|
||||
"from_addr": "jordan.mills@mojavecrest.com",
|
||||
"to_addr": "d.torres.personal@gmail.com",
|
||||
"cc_addr": null,
|
||||
"bcc_addr": null,
|
||||
"date": "2026-10-17T09:05:00-07:00",
|
||||
"message_id": "<msg-437-ack-sent@mojavecrest.com>",
|
||||
"in_reply_to": null,
|
||||
"body_text": "Dear Ms. Torres,\n\nThis letter confirms that Mojave Crest Assurance Company has received your appeal regarding the denial of neurology and EEG services billed by Desert Peak Specialty Group (CPT codes 99244 and 95819, date of service October 12, 2026).\n\n Case Number: CASE-2026-00437\n Member ID: VA-62883-11\n Date Received: October 14, 2026\n Appeal Type: Post-Service Standard\n Decision Due By: December 13, 2026\n\nSincerely,\nJordan Mills\nAppeals & Grievances Coordinator\nMojave Crest Assurance Company\nPhone: (702) 555-0148\nCase #: CASE-2026-00437",
|
||||
"is_read": true,
|
||||
"is_important": false,
|
||||
"attachments": []
|
||||
}
|
||||
],
|
||||
"next_email_id": 10
|
||||
}
|
||||
+695
@@ -0,0 +1,695 @@
|
||||
{
|
||||
"users": {
|
||||
"U001": {
|
||||
"id": "U001",
|
||||
"team_id": "TMCA",
|
||||
"name": "jordan.mills",
|
||||
"deleted": false,
|
||||
"real_name": "Jordan Mills",
|
||||
"profile": {
|
||||
"real_name": "Jordan Mills",
|
||||
"display_name": "jordanm",
|
||||
"email": "jordan.mills@mojavecrest.com",
|
||||
"title": "Appeals & Grievances Coordinator"
|
||||
},
|
||||
"is_admin": false,
|
||||
"is_bot": false
|
||||
},
|
||||
"U002": {
|
||||
"id": "U002",
|
||||
"team_id": "TMCA",
|
||||
"name": "darnell.whitfield",
|
||||
"deleted": false,
|
||||
"real_name": "Darnell Whitfield",
|
||||
"profile": {
|
||||
"real_name": "Darnell Whitfield",
|
||||
"display_name": "dwhitfield",
|
||||
"email": "d.whitfield@mojavecrest.com",
|
||||
"title": "Appeals Supervisor"
|
||||
},
|
||||
"is_admin": true,
|
||||
"is_bot": false
|
||||
},
|
||||
"U003": {
|
||||
"id": "U003",
|
||||
"team_id": "TMCA",
|
||||
"name": "priya.annadurai",
|
||||
"deleted": false,
|
||||
"real_name": "Priya Annadurai",
|
||||
"profile": {
|
||||
"real_name": "Priya Annadurai",
|
||||
"display_name": "pannadurai",
|
||||
"email": "p.annadurai@mojavecrest.com",
|
||||
"title": "Senior Appeals Coordinator"
|
||||
},
|
||||
"is_admin": false,
|
||||
"is_bot": false
|
||||
},
|
||||
"U004": {
|
||||
"id": "U004",
|
||||
"team_id": "TMCA",
|
||||
"name": "marisol.alvarado",
|
||||
"deleted": false,
|
||||
"real_name": "Marisol Alvarado",
|
||||
"profile": {
|
||||
"real_name": "Marisol Alvarado",
|
||||
"display_name": "malvarado",
|
||||
"email": "m.alvarado@mojavecrest.com",
|
||||
"title": "Lead RN Reviewer"
|
||||
},
|
||||
"is_admin": false,
|
||||
"is_bot": false
|
||||
},
|
||||
"U005": {
|
||||
"id": "U005",
|
||||
"team_id": "TMCA",
|
||||
"name": "ayla.ontario",
|
||||
"deleted": false,
|
||||
"real_name": "Dr. Ayla Ontario",
|
||||
"profile": {
|
||||
"real_name": "Dr. Ayla Ontario",
|
||||
"display_name": "aontario",
|
||||
"email": "a.ontario@mojavecrest.com",
|
||||
"title": "Medical Director, Behavioral Health / Parity Review Committee Chair"
|
||||
},
|
||||
"is_admin": false,
|
||||
"is_bot": false
|
||||
},
|
||||
"U006": {
|
||||
"id": "U006",
|
||||
"team_id": "TMCA",
|
||||
"name": "kendel.dufree",
|
||||
"deleted": false,
|
||||
"real_name": "Kendel Dufree",
|
||||
"profile": {
|
||||
"real_name": "Kendel Dufree",
|
||||
"display_name": "kdufree",
|
||||
"email": "k.dufree@mojavecrest.com",
|
||||
"title": "Compliance Officer"
|
||||
},
|
||||
"is_admin": false,
|
||||
"is_bot": false
|
||||
},
|
||||
"U007": {
|
||||
"id": "U007",
|
||||
"team_id": "TMCA",
|
||||
"name": "helena.bergstrom",
|
||||
"deleted": false,
|
||||
"real_name": "Dr. Helena Bergstrom",
|
||||
"profile": {
|
||||
"real_name": "Dr. Helena Bergstrom",
|
||||
"display_name": "hbergstrom",
|
||||
"email": "h.bergstrom@mojavecrest.com",
|
||||
"title": "Medical Director, Medical/Surgical"
|
||||
},
|
||||
"is_admin": false,
|
||||
"is_bot": false
|
||||
},
|
||||
"U008": {
|
||||
"id": "U008",
|
||||
"team_id": "TMCA",
|
||||
"name": "parity.committee",
|
||||
"deleted": false,
|
||||
"real_name": "Parity Review Committee",
|
||||
"profile": {
|
||||
"real_name": "Parity Review Committee",
|
||||
"display_name": "parity-committee",
|
||||
"email": "parity@mojavecrest.com",
|
||||
"title": "Parity Review Committee \u2014 Chaired by Dr. Ontario"
|
||||
},
|
||||
"is_admin": false,
|
||||
"is_bot": false
|
||||
},
|
||||
"U009": {
|
||||
"id": "U009",
|
||||
"team_id": "TMCA",
|
||||
"name": "tamra.reyes",
|
||||
"deleted": false,
|
||||
"real_name": "Tamra Reyes",
|
||||
"profile": {
|
||||
"real_name": "Tamra Reyes",
|
||||
"display_name": "treyes",
|
||||
"email": "t.reyes@mojavecrest.com",
|
||||
"title": "Director, Appeals & Grievances"
|
||||
},
|
||||
"is_admin": true,
|
||||
"is_bot": false
|
||||
},
|
||||
"U010": {
|
||||
"id": "U010",
|
||||
"team_id": "TMCA",
|
||||
"name": "jules.henning",
|
||||
"deleted": false,
|
||||
"real_name": "Dr. Jules Henning",
|
||||
"profile": {
|
||||
"real_name": "Dr. Jules Henning",
|
||||
"display_name": "jhenning",
|
||||
"email": "j.henning@mojavecrest.com",
|
||||
"title": "Pharmacy Director"
|
||||
},
|
||||
"is_admin": false,
|
||||
"is_bot": false
|
||||
}
|
||||
},
|
||||
"channels": {
|
||||
"C001": {
|
||||
"id": "C001",
|
||||
"name": "appeals-intake",
|
||||
"is_channel": true,
|
||||
"is_group": false,
|
||||
"is_im": false,
|
||||
"is_mpim": false,
|
||||
"is_private": false,
|
||||
"created": 1735689600,
|
||||
"is_archived": false,
|
||||
"is_general": false,
|
||||
"unlinked": 0,
|
||||
"name_normalized": "appeals-intake",
|
||||
"is_shared": false,
|
||||
"is_org_shared": false,
|
||||
"is_ext_shared": false,
|
||||
"is_pending_ext_shared": false,
|
||||
"pending_shared": [],
|
||||
"pending_connected_team_ids": [],
|
||||
"context_team_id": "TMCA",
|
||||
"updated": 1735689600,
|
||||
"creator": "U002",
|
||||
"shared_team_ids": [
|
||||
"TMCA"
|
||||
],
|
||||
"is_member": true,
|
||||
"topic": {
|
||||
"value": "New case logging, general unit announcements, routing questions",
|
||||
"creator": "U002",
|
||||
"last_set": 1735689600
|
||||
},
|
||||
"purpose": {
|
||||
"value": "For logging new appeals cases and general Appeals unit announcements. Do NOT post PHI.",
|
||||
"creator": "U002",
|
||||
"last_set": 1735689600
|
||||
}
|
||||
},
|
||||
"C002": {
|
||||
"id": "C002",
|
||||
"name": "appeals-clinical-queue",
|
||||
"is_channel": true,
|
||||
"is_group": false,
|
||||
"is_im": false,
|
||||
"is_mpim": false,
|
||||
"is_private": false,
|
||||
"created": 1735689600,
|
||||
"is_archived": false,
|
||||
"is_general": false,
|
||||
"unlinked": 0,
|
||||
"name_normalized": "appeals-clinical-queue",
|
||||
"is_shared": false,
|
||||
"is_org_shared": false,
|
||||
"is_ext_shared": false,
|
||||
"is_pending_ext_shared": false,
|
||||
"pending_shared": [],
|
||||
"pending_connected_team_ids": [],
|
||||
"context_team_id": "TMCA",
|
||||
"updated": 1735689600,
|
||||
"creator": "U002",
|
||||
"shared_team_ids": [
|
||||
"TMCA"
|
||||
],
|
||||
"is_member": true,
|
||||
"topic": {
|
||||
"value": "Routing cases to RN Reviewer and Medical Director teams",
|
||||
"creator": "U002",
|
||||
"last_set": 1735689600
|
||||
},
|
||||
"purpose": {
|
||||
"value": "Post Format B-1 clinical routing messages here for standard cases. No PHI.",
|
||||
"creator": "U002",
|
||||
"last_set": 1735689600
|
||||
}
|
||||
},
|
||||
"C003": {
|
||||
"id": "C003",
|
||||
"name": "appeals-urgent",
|
||||
"is_channel": true,
|
||||
"is_group": false,
|
||||
"is_im": false,
|
||||
"is_mpim": false,
|
||||
"is_private": false,
|
||||
"created": 1735689600,
|
||||
"is_archived": false,
|
||||
"is_general": false,
|
||||
"unlinked": 0,
|
||||
"name_normalized": "appeals-urgent",
|
||||
"is_shared": false,
|
||||
"is_org_shared": false,
|
||||
"is_ext_shared": false,
|
||||
"is_pending_ext_shared": false,
|
||||
"pending_shared": [],
|
||||
"pending_connected_team_ids": [],
|
||||
"context_team_id": "TMCA",
|
||||
"updated": 1735689600,
|
||||
"creator": "U002",
|
||||
"shared_team_ids": [
|
||||
"TMCA"
|
||||
],
|
||||
"is_member": true,
|
||||
"topic": {
|
||||
"value": "Expedited cases, deadline alerts, CAT-level compliance events",
|
||||
"creator": "U002",
|
||||
"last_set": 1735689600
|
||||
},
|
||||
"purpose": {
|
||||
"value": "URGENT matters only. Expedited cases, imminent deadlines, compliance escalations.",
|
||||
"creator": "U002",
|
||||
"last_set": 1735689600
|
||||
}
|
||||
},
|
||||
"C004": {
|
||||
"id": "C004",
|
||||
"name": "appeals-parity",
|
||||
"is_channel": true,
|
||||
"is_group": false,
|
||||
"is_im": false,
|
||||
"is_mpim": false,
|
||||
"is_private": false,
|
||||
"created": 1735689600,
|
||||
"is_archived": false,
|
||||
"is_general": false,
|
||||
"unlinked": 0,
|
||||
"name_normalized": "appeals-parity",
|
||||
"is_shared": false,
|
||||
"is_org_shared": false,
|
||||
"is_ext_shared": false,
|
||||
"is_pending_ext_shared": false,
|
||||
"pending_shared": [],
|
||||
"pending_connected_team_ids": [],
|
||||
"context_team_id": "TMCA",
|
||||
"updated": 1735689600,
|
||||
"creator": "U002",
|
||||
"shared_team_ids": [
|
||||
"TMCA"
|
||||
],
|
||||
"is_member": true,
|
||||
"topic": {
|
||||
"value": "Mental health parity compliance \u2014 general team discussion. No member PHI in this channel.",
|
||||
"creator": "U002",
|
||||
"last_set": 1735689600
|
||||
},
|
||||
"purpose": {
|
||||
"value": "For general discussion about MHPAEA compliance, policy updates, and team training. No member PHI.",
|
||||
"creator": "U002",
|
||||
"last_set": 1735689600
|
||||
}
|
||||
},
|
||||
"C005": {
|
||||
"id": "C005",
|
||||
"name": "appeals-compliance",
|
||||
"is_channel": true,
|
||||
"is_group": false,
|
||||
"is_im": false,
|
||||
"is_mpim": false,
|
||||
"is_private": false,
|
||||
"created": 1735689600,
|
||||
"is_archived": false,
|
||||
"is_general": false,
|
||||
"unlinked": 0,
|
||||
"name_normalized": "appeals-compliance",
|
||||
"is_shared": false,
|
||||
"is_org_shared": false,
|
||||
"is_ext_shared": false,
|
||||
"is_pending_ext_shared": false,
|
||||
"pending_shared": [],
|
||||
"pending_connected_team_ids": [],
|
||||
"context_team_id": "TMCA",
|
||||
"updated": 1735689600,
|
||||
"creator": "U002",
|
||||
"shared_team_ids": [
|
||||
"TMCA"
|
||||
],
|
||||
"is_member": true,
|
||||
"topic": {
|
||||
"value": "Regulatory complaints, DOI notifications, audit requests, deemed exhausted events",
|
||||
"creator": "U002",
|
||||
"last_set": 1735689600
|
||||
},
|
||||
"purpose": {
|
||||
"value": "Compliance event notifications (Format B-4). Do NOT post suspected fraud flags here \u2014 use DM to @kdufree instead.",
|
||||
"creator": "U002",
|
||||
"last_set": 1735689600
|
||||
}
|
||||
},
|
||||
"C006": {
|
||||
"id": "C006",
|
||||
"name": "appeals-general",
|
||||
"is_channel": true,
|
||||
"is_group": false,
|
||||
"is_im": false,
|
||||
"is_mpim": false,
|
||||
"is_private": false,
|
||||
"created": 1735689600,
|
||||
"is_archived": false,
|
||||
"is_general": true,
|
||||
"unlinked": 0,
|
||||
"name_normalized": "appeals-general",
|
||||
"is_shared": false,
|
||||
"is_org_shared": false,
|
||||
"is_ext_shared": false,
|
||||
"is_pending_ext_shared": false,
|
||||
"pending_shared": [],
|
||||
"pending_connected_team_ids": [],
|
||||
"context_team_id": "TMCA",
|
||||
"updated": 1735689600,
|
||||
"creator": "U002",
|
||||
"shared_team_ids": [
|
||||
"TMCA"
|
||||
],
|
||||
"is_member": true,
|
||||
"topic": {
|
||||
"value": "General questions, kudos, non-case discussion",
|
||||
"creator": "U002",
|
||||
"last_set": 1735689600
|
||||
},
|
||||
"purpose": {
|
||||
"value": "General team channel. MCA holiday schedule posted here each December.",
|
||||
"creator": "U002",
|
||||
"last_set": 1735689600
|
||||
}
|
||||
},
|
||||
"D001": {
|
||||
"id": "D001",
|
||||
"name": "DM-jordan-darnell",
|
||||
"is_channel": false,
|
||||
"is_group": false,
|
||||
"is_im": true,
|
||||
"is_mpim": false,
|
||||
"is_private": true,
|
||||
"created": 1767225600,
|
||||
"is_archived": false,
|
||||
"is_general": false,
|
||||
"unlinked": 0,
|
||||
"name_normalized": "DM-jordan-darnell",
|
||||
"is_shared": false,
|
||||
"is_org_shared": false,
|
||||
"is_ext_shared": false,
|
||||
"is_pending_ext_shared": false,
|
||||
"pending_shared": [],
|
||||
"pending_connected_team_ids": [],
|
||||
"context_team_id": "TMCA",
|
||||
"updated": 1767225600,
|
||||
"creator": "U001",
|
||||
"shared_team_ids": [
|
||||
"TMCA"
|
||||
],
|
||||
"is_member": true,
|
||||
"members": [
|
||||
"U001",
|
||||
"U002"
|
||||
],
|
||||
"user": "U002"
|
||||
},
|
||||
"D002": {
|
||||
"id": "D002",
|
||||
"name": "DM-jordan-priya",
|
||||
"is_channel": false,
|
||||
"is_group": false,
|
||||
"is_im": true,
|
||||
"is_mpim": false,
|
||||
"is_private": true,
|
||||
"created": 1767225600,
|
||||
"is_archived": false,
|
||||
"is_general": false,
|
||||
"unlinked": 0,
|
||||
"name_normalized": "DM-jordan-priya",
|
||||
"is_shared": false,
|
||||
"is_org_shared": false,
|
||||
"is_ext_shared": false,
|
||||
"is_pending_ext_shared": false,
|
||||
"pending_shared": [],
|
||||
"pending_connected_team_ids": [],
|
||||
"context_team_id": "TMCA",
|
||||
"updated": 1767225600,
|
||||
"creator": "U001",
|
||||
"shared_team_ids": [
|
||||
"TMCA"
|
||||
],
|
||||
"is_member": true,
|
||||
"members": [
|
||||
"U001",
|
||||
"U003"
|
||||
],
|
||||
"user": "U003"
|
||||
},
|
||||
"D003": {
|
||||
"id": "D003",
|
||||
"name": "DM-jordan-kdufree",
|
||||
"is_channel": false,
|
||||
"is_group": false,
|
||||
"is_im": true,
|
||||
"is_mpim": false,
|
||||
"is_private": true,
|
||||
"created": 1767225600,
|
||||
"is_archived": false,
|
||||
"is_general": false,
|
||||
"unlinked": 0,
|
||||
"name_normalized": "DM-jordan-kdufree",
|
||||
"is_shared": false,
|
||||
"is_org_shared": false,
|
||||
"is_ext_shared": false,
|
||||
"is_pending_ext_shared": false,
|
||||
"pending_shared": [],
|
||||
"pending_connected_team_ids": [],
|
||||
"context_team_id": "TMCA",
|
||||
"updated": 1767225600,
|
||||
"creator": "U001",
|
||||
"shared_team_ids": [
|
||||
"TMCA"
|
||||
],
|
||||
"is_member": true,
|
||||
"members": [
|
||||
"U001",
|
||||
"U006"
|
||||
],
|
||||
"user": "U006"
|
||||
},
|
||||
"D004": {
|
||||
"id": "D004",
|
||||
"name": "DM-jordan-parity-committee",
|
||||
"is_channel": false,
|
||||
"is_group": false,
|
||||
"is_im": true,
|
||||
"is_mpim": false,
|
||||
"is_private": true,
|
||||
"created": 1767225600,
|
||||
"is_archived": false,
|
||||
"is_general": false,
|
||||
"unlinked": 0,
|
||||
"name_normalized": "DM-jordan-parity-committee",
|
||||
"is_shared": false,
|
||||
"is_org_shared": false,
|
||||
"is_ext_shared": false,
|
||||
"is_pending_ext_shared": false,
|
||||
"pending_shared": [],
|
||||
"pending_connected_team_ids": [],
|
||||
"context_team_id": "TMCA",
|
||||
"updated": 1767225600,
|
||||
"creator": "U001",
|
||||
"shared_team_ids": [
|
||||
"TMCA"
|
||||
],
|
||||
"is_member": true,
|
||||
"members": [
|
||||
"U001",
|
||||
"U008"
|
||||
],
|
||||
"user": "U008"
|
||||
}
|
||||
},
|
||||
"messages": {
|
||||
"C001": [
|
||||
{
|
||||
"type": "message",
|
||||
"user": "U001",
|
||||
"text": "Good morning team \u2014 CASE-2026-00437 in queue, post-service standard, Oct 14 receipt. Ack sent. Routing to @malvarado for clinical review.",
|
||||
"ts": "1792000800.000100",
|
||||
"team": "TMCA",
|
||||
"reply_count": 1,
|
||||
"latest_reply": "1792004400.000200",
|
||||
"reply_users": [
|
||||
"U004"
|
||||
],
|
||||
"reply_users_count": 1
|
||||
},
|
||||
{
|
||||
"type": "message",
|
||||
"user": "U004",
|
||||
"text": "Got it \u2014 have the case file. Will start review this week.",
|
||||
"ts": "1792004400.000200",
|
||||
"team": "TMCA",
|
||||
"thread_ts": "1792000800.000100",
|
||||
"parent_user_id": "U001"
|
||||
},
|
||||
{
|
||||
"type": "message",
|
||||
"user": "U001",
|
||||
"text": "CASE-2026-00391 closed \u2014 overturn. Determination letter sent 9/28. Closing in log.",
|
||||
"ts": "1793060000.000300",
|
||||
"team": "TMCA"
|
||||
},
|
||||
{
|
||||
"type": "message",
|
||||
"user": "U001",
|
||||
"text": "CASE-2026-00414 closed \u2014 grievance resolved without action. Template A-10 sent 10/9.",
|
||||
"ts": "1793318400.000400",
|
||||
"team": "TMCA"
|
||||
}
|
||||
],
|
||||
"C002": [
|
||||
{
|
||||
"type": "message",
|
||||
"user": "U001",
|
||||
"text": "CLINICAL ROUTING\nCase #: CASE-2026-00437\nType: Post-Service Standard\nService Classification: Medical/Surgical\nStandard of Review: Medical Necessity\nDeadline: 2026-12-13\nParity Flag: NO\nCase Folder: /appeals/CASE-2026-00437/",
|
||||
"ts": "1792001100.000100",
|
||||
"team": "TMCA",
|
||||
"reply_count": 1,
|
||||
"latest_reply": "1792001220.000200",
|
||||
"reply_users": [
|
||||
"U004"
|
||||
],
|
||||
"reply_users_count": 1
|
||||
},
|
||||
{
|
||||
"type": "message",
|
||||
"user": "U004",
|
||||
"text": "Picked up CASE-2026-00437. Will start clinical review this week.",
|
||||
"ts": "1792001220.000200",
|
||||
"team": "TMCA",
|
||||
"thread_ts": "1792001100.000100",
|
||||
"parent_user_id": "U001"
|
||||
}
|
||||
],
|
||||
"C003": [],
|
||||
"C004": [
|
||||
{
|
||||
"type": "message",
|
||||
"user": "U005",
|
||||
"text": "Hey team \u2014 just a reminder that the parity training session is coming up on November 18. It is on the shared calendar. All coordinators are expected to attend. Let me know if there are scheduling conflicts.",
|
||||
"ts": "1792627200.000100",
|
||||
"team": "TMCA",
|
||||
"reply_count": 1,
|
||||
"latest_reply": "1792627380.000200",
|
||||
"reply_users": [
|
||||
"U003"
|
||||
],
|
||||
"reply_users_count": 1
|
||||
},
|
||||
{
|
||||
"type": "message",
|
||||
"user": "U003",
|
||||
"text": "Thanks for the heads-up, Dr. Ontario.",
|
||||
"ts": "1792627380.000200",
|
||||
"team": "TMCA",
|
||||
"thread_ts": "1792627200.000100",
|
||||
"parent_user_id": "U005"
|
||||
}
|
||||
],
|
||||
"C005": [
|
||||
{
|
||||
"type": "message",
|
||||
"user": "U001",
|
||||
"text": "COMPLIANCE EVENT\nCase #: CASE-2026-00389\nEvent Type: Miscategorization\nDate of Event: 2026-09-10\nDiscovered: 2026-09-10 14:30\nSummary: Case initially classified as Post-Service Standard; on supervisor review determined to be Pre-Service Expedited. Clock recalculated. No deadline missed.\nImmediate Actions Taken: Case reclassified, clock corrected, supervisor notified. File updated.\nCase Folder: /appeals/CASE-2026-00389/",
|
||||
"ts": "1789075800.000100",
|
||||
"team": "TMCA",
|
||||
"reply_count": 1,
|
||||
"latest_reply": "1789079400.000200",
|
||||
"reply_users": [
|
||||
"U006"
|
||||
],
|
||||
"reply_users_count": 1
|
||||
},
|
||||
{
|
||||
"type": "message",
|
||||
"user": "U006",
|
||||
"text": "Noted and logged. Good catch \u2014 document the reclassification in the case file and confirm the corrected deadline with @dwhitfield.",
|
||||
"ts": "1789079400.000200",
|
||||
"team": "TMCA",
|
||||
"thread_ts": "1789075800.000100",
|
||||
"parent_user_id": "U001"
|
||||
}
|
||||
],
|
||||
"C006": [
|
||||
{
|
||||
"type": "message",
|
||||
"user": "U002",
|
||||
"text": "Reminder: MCA observed holidays for 2026 are posted in the pinned doc in this channel. Thanksgiving is on November 26.",
|
||||
"ts": "1793145600.000100",
|
||||
"team": "TMCA",
|
||||
"reply_count": 1,
|
||||
"latest_reply": "1793145720.000200",
|
||||
"reply_users": [
|
||||
"U003"
|
||||
],
|
||||
"reply_users_count": 1
|
||||
},
|
||||
{
|
||||
"type": "message",
|
||||
"user": "U003",
|
||||
"text": "Thanks for the reminder. Also: next team training on parity assessment is scheduled for November 18.",
|
||||
"ts": "1793145720.000200",
|
||||
"team": "TMCA",
|
||||
"thread_ts": "1793145600.000100",
|
||||
"parent_user_id": "U002"
|
||||
},
|
||||
{
|
||||
"type": "message",
|
||||
"user": "U009",
|
||||
"text": "FYI all \u2014 Nevada DOI has issued draft bulletin NV-2026-07 on MHPAEA documentation requirements. It's in comment period through December 15. No action required from coordinators at this time \u2014 Compliance is tracking. Will brief the team when final.",
|
||||
"ts": "1793318400.000300",
|
||||
"team": "TMCA",
|
||||
"reply_count": 1,
|
||||
"latest_reply": "1793318520.000400",
|
||||
"reply_users": [
|
||||
"U006"
|
||||
],
|
||||
"reply_users_count": 1
|
||||
},
|
||||
{
|
||||
"type": "message",
|
||||
"user": "U006",
|
||||
"text": "Confirmed \u2014 Compliance is monitoring. No changes to current procedures until further notice. @treyes will send a unit-wide update once the bulletin is finalized.",
|
||||
"ts": "1793318520.000400",
|
||||
"team": "TMCA",
|
||||
"thread_ts": "1793318400.000300",
|
||||
"parent_user_id": "U009"
|
||||
}
|
||||
],
|
||||
"D001": [
|
||||
{
|
||||
"type": "message",
|
||||
"user": "U001",
|
||||
"text": "Hey Darnell \u2014 quick question on CASE-2026-00402. It's a benefit exclusion, $22,800. I know admin/exclusion cases don't need clinical review, but should I still loop in @hbergstrom given the member's medical necessity framing?",
|
||||
"ts": "1791849600.000100",
|
||||
"team": "TMCA",
|
||||
"reply_count": 1,
|
||||
"latest_reply": "1791849720.000200",
|
||||
"reply_users": [
|
||||
"U002"
|
||||
],
|
||||
"reply_users_count": 1
|
||||
},
|
||||
{
|
||||
"type": "message",
|
||||
"user": "U002",
|
||||
"text": "Sounds right to me \u2014 draft the letter and I will co-sign. No need to loop in clinical for 00402.",
|
||||
"ts": "1791849720.000200",
|
||||
"team": "TMCA",
|
||||
"thread_ts": "1791849600.000100",
|
||||
"parent_user_id": "U001"
|
||||
}
|
||||
],
|
||||
"D002": [],
|
||||
"D003": [],
|
||||
"D004": []
|
||||
},
|
||||
"counters": {
|
||||
"messageId": 1000000
|
||||
}
|
||||
}
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
%PDF-1.4
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Contents 9 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Contents 10 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/PageMode /UseNone /Pages 8 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Author (\(anonymous\)) /CreationDate (D:20260413175810+00'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260413175810+00'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Count 2 /Kids [ 4 0 R 5 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1867
|
||||
>>
|
||||
stream
|
||||
Gb"/'968iG&AJ$Cm%mW,'/Kddp._gAe=PAp/1!*?nHC6_$)p<B+=Yp5rqJ*:OJ69C13:S]p=P&6I=/ZBmK\PuM8,k]+0GW.bi&FA":0_7*/JIa0`)6tZa9+56q_hi\,f$,S26'`\Mur6;Hr^"[RMb]Lnh%JWbcpoiDU!=c6=+\gg(H*N8a>V4Is<-3rOFj]Y280G;k`EmFO9NqZaC9E8K)1%%m$5+,AU-K:"M-\cX__,1;Fd0FW5q_IRZl&!VAohMR-0+bsS<QcYOd[bqm^<o8(uDnC*c$4n\NL$OdTaYt#T.=%A!"b2-)36K]D$FYP#^=fTZdC0/V5p6M8UC6jADV>RH3&b!F(qt#;07]M@4UTK>_=9BB,G;tp"#'e3"u`2Q5[tL,6Db4Tpllc\Dth+F.16L8<%i_G2A\&f$uSmOC`q-[kGWD4(d%[OZ:"!hf@9=@j]sWfGdeZuF+9:hdp^^79a@F=KJ-T-,)LY:Y"]I[p5E0*NotI)An&ql`%p16FD^0/`As..5i*OLUsiIc$OaII0a0]!;=>Kh#"C`9lUNSDl463-Up/8tp83QoQ>?EqG%M<C['6)=QKu08"q8PgJHbcicO:&MW`iOAeUdn)dpgVP;s)qq\J$E!mcbU\9o.taiS,-QcrXVST>DDHS6<!q_Ehb%pj*DTj]l2%7*9m3W1?hA(:3:/:Kk3%L!,U-n`aU\F$)km04nM)CaK9.Wk93;2\jMXI-`\EmF_tH@8qNV*EQn9V%4qeo3j_akb`I:S)3#HY)kMQGAo@Pq(TOTG4fW4n@C_a['a>gQ6L1B#)ILB9(Bu$aHdg3S?9(C4S"lc7@"#019k;L.h6hEi@\1eLV.+rE!IJ"25q!s>cpN>,C!a$@Z\N^H7K=7"#"se,o'iqJ<\6Z5WA2NAPHV9aV>L2)4bJ^44E74/;.A@l%.P02$i",8;(gPI[\H6)Bc_1==/9_5o!iFCK[7*=fZt'C$H&LP.K"c8R75)lF.ftG^GSTg[/DE^![B_*3jRrRsILiWsu;j""Ph[f5as_q(9pa')?a`W+DB^kZsdN-hA,DIA61DS(KJjmBp-:&UR:3@DH@5NtnbL57_[mA(KA+2io?N6\NV&@;BT/r!h9u.felXb)u"oL>%o-,+hDg8/ULB16LR'7%2'76"um:r]M'"$SY(N^=&h"U:!N,Z$5+g0Q7GiB%kERc!\+n;T+LRTX6DlfY^+qBeC8=qJcpIhL:H37C^5b2EZBpbcbCp.p$EJC;r&DbZ2te-O++0@!GGc(TP$".hNSO^.E;/\RTd*;Zg5_;>+MYTOQBc4NYIJ8<\c#,[MpWDK>O-@q"^JV%O7fdr!-Uf<I2&=.iC9)Oa)fB^-J&a!fUjqsiXHUZp3G9G4iP`52$K]iFFMW:n5s#kaLnBQWTH0bgu?\[o"Q`NTN`/XO;ujm`#O\Jas3XE=DLCP\+Ef#ga!]9@Ch]/<:Q_dl/tN8b7ik+<qU^PD(:;,9BMoG8VJgjCqMT>Td:a\):i<Tgck\D#uoRn:o2F`.oCem8Ya9D="<\YL$uC7T5PC_5,GZ?1G4V;%%\h%NKXMh=cG&1)2<R06PT%T;0g^*Fk%)mW<k4"<:mTWG/d$XClW]#haO^t-4K[Ou?5h8=;+K:;)k:g])(*r1@?)\j;p#%70eA0,OfdsSjK;q54Q^[ta8:p5dm_r4eVb0oQU`aZSang3%"hXI;S]@N<<`V*;`e,8a*\m8e:_96U60j,=_+N/Rh:Wn&A@+)=fG^#IuK6FO&<J/uG,fD$`>MpMC3OYqM,7nY!5ca>feCn8]pKQ=$R6nLDTpQ4a:u6Z!i=^"0ME>jDkKZL*3kok%=Aq^Y>^Q^Z.7,&sHu\LL!GDE7dG;Si~>endstream
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 812
|
||||
>>
|
||||
stream
|
||||
Gat=(;/ao;&:X)O\2QIeZIis)NjfV/$,g4n("/mMPFGfU=,n;;-XA!H4;XnICfG[FOW*P+rpK4OmONpW*Ys4R!oUs9c>FIQ%eCF>;)En#(V$%IILb!_o3r&jl%G3K(5J:%#BYqGOOt9070aKM0J1B8hP*ZF/A3kY10`k%RMr<L&YoN.4m#dibhAfm^SYD<KT>!1fV29\2W,lb^ulC6L]a>,E#qZp-D7Y)Jb]N4DdiEbN^[p;EeC=r_S':a>DTY;O4$qI=Kkn#gd_1Q2!fF4?4K)hp'r'd"7mOOS;2Y3I!!3a#d2;_KaQ)]>)BZ6.Ded@C[ZS-ZFI+%3Bt[WUT%WQC2>="gD4M$(Aejc&/gVu&=087,s>f&d2#W<TZ^@KnX:`!g-VLYKS<)V%a6CF)M4bi[;Yt"NaaKNKjf^>;Mg>XUle^]$?sVB)[EE%5Nln;_i&j08BkGQP6$sY,h+0K16WTX`iKP4TWMd_#K#IsP?(*$67T6>G\EYgU#THFa&DuPJrV%bISNo)_KILj^OUZ7;g:^)MT:+m>BeT38B7:-X32WbS2XSDF$a[@*kiQMR0^,)G$1?h/()K@[28,pPHN;YR0U<W3e$63'&s>k1-IV\Ts?]4k!_HbL?'3jgY44NZ>PX:Z=%7.10^`!O@j5/ZnI^jhc06-7,$I(SFh_[*Z"`tPY\&o7iK(Mo]\.P@Wjb?nG5;[*U%IKJC/U.DZpYAlEKe#`8a,_Qu0%MAWW`mLHDhVNL%rkRYNC`>Qe[eVC5ZDrIX?Raj]Wk4;r;7e8@`TAh+5g+TJiU@hF2Z#7Q%`C,(Z,~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000102 00000 n
|
||||
0000000209 00000 n
|
||||
0000000321 00000 n
|
||||
0000000514 00000 n
|
||||
0000000708 00000 n
|
||||
0000000776 00000 n
|
||||
0000001056 00000 n
|
||||
0000001121 00000 n
|
||||
0000003079 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<43eae749aaeac318caf686e79d5e7a89><43eae749aaeac318caf686e79d5e7a89>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11
|
||||
>>
|
||||
startxref
|
||||
3982
|
||||
%%EOF
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
%PDF-1.4
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Contents 9 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Contents 10 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/PageMode /UseNone /Pages 8 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Author (\(anonymous\)) /CreationDate (D:20260413183559+00'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260413183559+00'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Count 2 /Kids [ 4 0 R 5 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1905
|
||||
>>
|
||||
stream
|
||||
Gb"/'95iQE&AI=/b[ggaBN1+?kN9]s2oR+`A%+^S>Sr=+e^\Faa_;Ofj*)nKMX8E)e5Hlpcrd1-n]d.O+"%25r#sU/56a)S_YXiH#_h@ILoHfHr!P-D-i]\J-0_pIHPD0R9s<-dq?5>>CWV-=N)h><93S#gg2L<AV&$dN"u*U%rA=J!#o@fPM^;%5M_B;'Rg].CHTe"XI!Yt=n$%0IVd1=]n/6_!ES,n'Lu&3,cTiga_n9A2omNFp0V@7>4f&WnDSpuP5)44`([74n[cS$\?Jjn<DmOU].M+A!Q0XJT/[I5mO%Ko64D4.Ln8Q&i@$*oi&Z/,0s$7q6=0j^XGcFshEH#b9Ylqd\-I./,e34/^1;RuG0[6B2Z9?PsMg?]oOWY;OP<uheVt_]#XPWAu+OfFPOK$t1:0]\be/6i6`RmJNNm9q%cdSKYlcAe-#@(3ND3UZV0uCP2O_=E83BS?@XnHfk97?TX7?0Ge3c\e`B]dC7Q/^n?`Vh"9EgX+`Nt5Naq8AGZM'jG7p.s-,/D-5A7@@QkGeesZ3N*D2\Bj1?0#/;767/M61+N"#L+JWdq#C5J7U4cb<i-bCCL[b!/.3O.\GLNF=n((n8mG@(5")WReo\<qn#Ya!,5',"4j>\fEGX!,di\kkndP>tnjOL1L96^0TeT8H[>#4bRV-"rdX:`73i*Uo<omu+BUG(uY+O4%cS,0`j[]GtZ"gmn1Ed$$k"R)#W>N5.@].UIa0^X2UWJ.&fd\d2I99gJ&(>hn-`+GGo]C=BKoE:LL$QqJo?4bb:p2c?B?5]kH^j\K'B[!8!!1Do&O,\(M@G=MB2Ppb#G1Eb=QI9+/<&4K`1]j+4QTIQT6%@Dmc;#\'@Lj973!X:J-UfT#&-u7pS%p,i)NQdU]TljOE7Z9d1&3Yd1Y)"E!_4'g0gB9_)/]L)rXh#\u2Dm21focKKb=N01rL8%rdeEX9a)L5SN,gCDi/+=KDIP.I-KrR_$jk9jNq5g:%RJH[CtYqs@ee^![B_*3aLsRlXP9RffnL!ui]K[W5Hkkm]9e;t5(HW+"nLk\XImVQ1d.?(rESS(KK=jgEd\)10NbI_l`YNsK4gj8R;3bY%b*#":#V"K6\b[Z\)l5Cfl?!jE/d'"JKfW*cMMo!o$)!Rn@,Ua#`'aXbkL:eKo2s&4YS$a;rt*[suu5of$MfEZB`)*!:D1$qDuj2GoR7$t%dK2TQ#A,"G+a\0IScjsV_o&a`K)oA.(Z,),"0u"kNfXXUA<HId8$(!eJhAD@IJRqu;04].qUG/YS4\KeZBjc/N>6Beq.*&Tsf<D6P+(aD3Us$Vi&]]a.S*YXmYV:6_=pZ8hds]huf<I2&=.t_J/Mr+2d,_+&+/3;@m`54*QD.$sdYVUH&::$&kcJ:&::5;+KWgES)-gNBlO?>Wk\N'c-BY;[/GfRL-^O_(d2Skq_s@h`r%uet,atOE;tjqL]'j(tAN#]e./hCJ^Ga]fo-]%ZCGO0UcfJH6#SE4^H:u(W&W\80AaPb%Q1Pp'MC1k*Us^.C[gi]b,=6_[&)-&Wcp#<u^\QtN^L3\uC!OXQIc?E'Z9'!D?oQa,`)mY1161l/Yu;/dd#d3@nA(.:E>Y__,]>"@QJ`V!2f+BuJ7$isedb5ki:>t`Kic+'I/#<A.4dq.e<5?=p/"P44MRe>I==&P$]9'7$?/`Sh+M>U%&sJpM:BS?'g-u$GKm6PXoX21>GK_m&o-_c`E>rX@-3P`g^dJ[<2_1XKtfoX;)JkBGol$T1<d61Rqg',X*HY)@\&?rI@OlrV)s'`gtqGRE>;#GIQQu[(k'6P!iK:k#i)FH:?Yj!&e.%#+tb*c9uXd*[Jks-Zhb34neC-gcXc#<bM%m>Uaq'fTlUA!\CiV.T4!CXl5-t*Jo=$U\=[4iq&^nsZqC~>endstream
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 695
|
||||
>>
|
||||
stream
|
||||
Gat='?#/1K'Re<23,_I1l<:4Z[C=G'ARk,9e-l\8U>"4UMC`>Ei\[k]^M>4]BH-Lr"I?R33p5_^HNdkbUAO'fn0u9.B)s0<Pn6NO+T$o:XS9=SG+#*[L(h\N*/hFrTD/,LGX`<#ZAN)O%S"SVUd('b8Al)mQ:k*[aqhMXRMoaY_GnhtTftd9M!TO_plj<&dNghBH7l\&U8)Y7GGKG#KnX7I@6sB7$%df`9@uKE%JcI^5aG"_:f&9ABrci/(2Fp+g-UbO*G*;-b+he&)QrE<*CFkMfaC$(UR6nikSIbe;\U\m5Ik<$>c/D,C6WR![,ji*Ges+ToX'O'C,E'_YX-De=is\[F7s;e^*V\#S=U1J4&0'K2+eh\@-Cb)N'##+;/aGCIg_]5\9uHDWb2&aAl=ZY_^LF)@]O#jLW=WEj5Z+U5$68SY<]\!K.C,p;s!6gDHoHp\=QYffO[X?[j8.-Z9anb0=IQ8k]pgM15G=g,B\,t60EUbrS*U0PMa$oa/n_Yk@Y%7b(Jh'X1)4[SM>#am2Xgs9/ZI%kE8'4p`C;dGCOdVZm^Q8fC3^Q1)at'j*f1e^@EE_PG,eXI<sGMh9?;K@*#srm/`ehndk7Ed$nIuf4EBqA_R^Hm]de>e?d!$W7d)HZ;XgVgHk^hbO=]oeS..5Ls^Y*):>`<3W+fuYFRN_-*QZ#mk9'a5lU~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000102 00000 n
|
||||
0000000209 00000 n
|
||||
0000000321 00000 n
|
||||
0000000514 00000 n
|
||||
0000000708 00000 n
|
||||
0000000776 00000 n
|
||||
0000001056 00000 n
|
||||
0000001121 00000 n
|
||||
0000003117 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<1f38f828513074857a50b4bdc13c92b0><1f38f828513074857a50b4bdc13c92b0>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11
|
||||
>>
|
||||
startxref
|
||||
3903
|
||||
%%EOF
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
%PDF-1.4
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Contents 9 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Contents 10 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/PageMode /UseNone /Pages 8 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Author (\(anonymous\)) /CreationDate (D:20260413173846+00'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260413173846+00'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Count 2 /Kids [ 4 0 R 5 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1927
|
||||
>>
|
||||
stream
|
||||
Gb"/gh/D%+&A[2p=5:tQ[ocU,ho_E-Vcem(EG`0MJ\3ZLD6&jHQ]dkNfH7jQ7EMhe.<`0$_lsu7'^EDWjP<Tg!?FBmrXDm.DeJS%*<BWbC_"D3/=:j9X4c181SQ.#%ijIl@3!bX(gif,)Q>=!0O(4c",JP1(l#9RHCAL!piI:gi:d0KnFIB":9LHM(f%!$-H!Ggr;Zb>4M:R^$>*XRp);5G3Z,b)r9VG^oYs2h3Y5d?aP_-(jV3G8^p4Bgj*Q#)$l?');94oN5rseEFMg(DYUY`8hc?q!X)q'H&0d=doefO'o`\#e)Y,(D(l&\-_kY6rO-0Zopi$OhJ/!U)d03dIlRq^M*#lpTJM2uQ$SZ\?kmYeE_"L`8RVrblnNlb`_m_<4&S-K&6:eTD*3YmKr:S>L7(Ra`ZD!Su0eWcNei9p#*Fg<,[<4NqI:(aoQS[CJmW!*r?DY;/`X1KrRr$pLjm_AG)fe(HUGRMIN+Z"VS31k(_UQY`ZW;rbo/R3LBZ"4GF*@E0Q'qA'.4BZMo#q#-H8u@nZnO)_Qi\&/nDkRR#"C.OX%1tCk350fKLdU@c+U)"MWI##IQc/9Vjl>]1t1t7C]TuAj,FA/lSHe?VlEcuZ<H`EL8c0AeW@L$U2NKCLHBgNCD#PeTQuhp9_@G9i^`i#.VGWRPjkP*9ft:f2s$EFif&P9GuHd^CdX5?CHZ?7[Lt4]e:Wg;rQKEg!"MI=YA>Ng6POgpLh\E:DL:#M1s<:C,,S6!_6P)HR6r()hr_h^O6ECZDC<-0TA:VEB(p7kFo1lI1@=DXQLFNm0TFXq4^1BY.i'7<=b'59AWSP_//aH=,s8Jdc(dB'\tMtp+(GLD'&kM[1Af;CWc/2]CGd^QkDZU=KSAndZ,@bZUj?ej;$'GbKM!`4^&T&2Rg@ic'B:sc#+UNH=K(nialuN`\$lp?bgM,P\V<T3QA&1$j#>G=0>n=T,\ri=/BOTS@NW!Of2U77hd?ds#XaG$FC(\7@'+nC)LG7e6t!VI/AEFsTL=R+Qb04I'3]7'h&]Zi&[.M48^?d,rfm!2g-n_7Y=.i;r&gOZM!or0Veonde<SX#'h@mVK80J%O<63YkkBj6h(^GI:M\$MnP=t`h-hgJ8,inZ*%M$T+=rUs=@;IJ29<g#8i[<<I$sQhGDn@Q\q<mA'DAPaYSLW,W[q1IV;WoH"PA(\gb[:lRj.62RcQ5/;N@r(h*EJu"6U`$;3DZa@\J"dT]E4bj=B-uX1?%mO"e<\m9)HKTrL,%L4kDT-/KK#qEWZu(a"Rr(;s&o$[nT*cu[OuQ>[4SeVs&U$MtQ4IJlSAf-3orX$JjCaDS;5h4ZNGO\uL(.ar7<!QWS+B.'Gcf/bb;-pnYL?gg=e=n^nS;-W!WZZY7h3/P?7!T#<;26+?p,m(J#/fGaW>7;-;S8BJDKG?ij'Xq<W\!P")ZfYl8o1Q1M%pMDQGZkD8Q0hoEQr`N0aUc;15Ste-m`]$21;AD)VpU>`13EC1*YH(!!3Ncr"N^\UG3g4,Wmf5o\p!H<'jUR[EO\nea5BRHrZ/MK+^$Df3-u.$Va3u/3"fCeq@mTlc:qCf?K^kb6P;J%`Ym$&s%160cdI:`91@$%N7,BUBtBRDij9UeMPk=\roY-1%Cc_tC:&]#`,@`%')+f:MXNS:0e:D92p-OVg\iI\=&%TSpYnZ4e_hlCGcbQMd:W&cGQpinJof<p8iG^@[uLZ%LNQER$^Ool1$bYkBmoe"rFbe`Dd3I3D%4KiSt"=eSe3Uk09]MJ,c'%gf6V]!nJ)C<6%*XrnE?CK"ioYD-uMsG4lbH]VO6(].:3gpW);U]Se&O?9H(b!SKrk>B5;M<k&am1l(BJX=Nu`DYMrNAG/r7?<]#&U&["iij$K'TeXLj1r4s'\?%_*^NA!FMenZ>3NG)uZM&+9e,fA<-H6V-#~>endstream
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 707
|
||||
>>
|
||||
stream
|
||||
Gas1\>u03?&:Dg-R(%eWban@]2el3'`E+3L6AgF+HgMf\cfs7G-5&PWCF>eWU<&MD=jPB0B%@TH0A54B!r+sunIGpD@[]XWK0H.K31Y6lG2rif)Ik`6)9atcenipr2YkABj5sfF,M"[\8b\p[0NUo!T+e<OjrV6i=tE5+:hBlr/BKri',aEM7m`e`ToJWS1oRgSCBHTZ5ugZ,;&5!l3L"7$=>D14o)h[Y1&ZtS&I9/Td7q\qQ:R7<!%04Zi\ERjifH'CBZ$+tiLSgKk[d]%[+&(8Bn_A`jABf;OqDT`jZBb@*L#7CMH3Y;W27qQHHPJhoMDn.#?rVRqO=\_hY-jD]PSX*]F?e3Kjj<7/F8EW/Y'PnH0'9uLKPISE0Df)#@a`#&J"R#9!MHA]JJ#rY!c5L?RCcWOg=Tg=/ADlEh8KufUtPPDa@D?AA$'GJ!qZDYHuetQ1+/*+Y$b`?H:gZ]6BObaKFCY1$`##q/:Ua`Er/!\MX_.RHJ.`9a70OL)fZ?jiF&EI`EUKqI^%[6Q&SOL&Y*e_-h*uT/FC[`=G:1L(YTSgTuoS3t(Zc6U#SHmEc^\r\Nshq@q.])pG,&A\AV@j`C$i7@"t6M.8?+M>;?u/=J6Z'tpl63%o&Y':`.WS/cGGe>krA.#3/lpjR@HnO*j7N'=q8*m]kb85@*5ZUhnV8`0)`A\;l'%_Y,VE"SXj3^#<s~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000102 00000 n
|
||||
0000000209 00000 n
|
||||
0000000321 00000 n
|
||||
0000000514 00000 n
|
||||
0000000708 00000 n
|
||||
0000000776 00000 n
|
||||
0000001056 00000 n
|
||||
0000001121 00000 n
|
||||
0000003139 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<5e46d68cb11c8302af1ab21921387d33><5e46d68cb11c8302af1ab21921387d33>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11
|
||||
>>
|
||||
startxref
|
||||
3937
|
||||
%%EOF
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
%PDF-1.4
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Contents 9 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Contents 10 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/PageMode /UseNone /Pages 8 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Author (\(anonymous\)) /CreationDate (D:20260413173846+00'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260413173846+00'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Count 2 /Kids [ 4 0 R 5 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1997
|
||||
>>
|
||||
stream
|
||||
Gb"/'D/\E'&H88.0jgr$<T<WH%6NH,6E`D7KEL+'-frOk?=9sEF).80W^"5(p=^@f*U&D\<DA_1XQS]5fpR,u&CBs6jSsii^cNXpr^_PVi6QsVRK`]:0_2E]>nJC9GJWeX'ZN!n?PA>J<$R[)558p#@K<[0'uQ+kqQAs!2Epe$k`$ZK$pK_[3$$7k(sHTaVLsXIIXW84"qP(tJH$A^+5j$!K,?f3mi`1='*lo8+N>Hnmk[a;$A0I/8HP*t,<Qi5+%BHUZ7')lcX@Z/R@jpg!bq:DFo&NRf-CSE1RYk(0B-eh$aVAs4BsS-Lj6g*\q;_sd,19\.GRFE#/<MX$MSbRnGYn$?/*0&abiRWKi)gtL2JuQn8&JK=2E?JK@l1hRV*S2Km4lm#fWU$DSZcg"bZU]#D'slGr]h2'gO?3#;C<0Y?,/6+]/EmWpG#b?GD<_=M)JY@CrB,4rG/]2f5jEJ!@k&_`%'kmG5_^HtFS]EHH3]b(QIV(IkM@8+S_K;SH^]7oOSVkfV*S)J)n7J6X0tdd(%TEXT2^.lUl[$STdk@Gm.LD#MQ\R$WGe$-B;S'RO+Q2Tl@'qg,(N=#Y,lBr9oO3!_@q`Z#Sgn#nPe?HQSWkM:_K/"#F6\m!Mm<qO'rnaJe>lW]&7*RJ'7,UWBY9_jnL1.l2VUQk8F1eh5_L,[)?B4=9WI"#!S2/lC5<I(\^:!6SS`LV>EnT:eaI7XMgX,^Bm'7pd,hDCs]MQ,>_:)_CB>;hUPP^0KL7qLi4L[?tpYj=1.WGsmn+!1B-j:2,$`hW(9d<*qsYq<0:jhWbl8%-1n8L$5\aHAgXB9kfoA?]TdPqM$`7;U8u"R)0B'n'CCaJ'6H>fn$BO&j-b]rTY91n6>+jq/![R:;(?*9HIF.!PkGT*_>nLiWS0-FOoM^^CejNV*F<:fsZ=VTJ'rPC'YKDP![P_s/0ZJM@OX5Z_l:R97NLA?u_>\`C.R`%KUrqkdi)joSK2jllqkU%<lI,ct'Bqo7%4="1B,%^t8_G#4pPcKirdT-pusJAW7,8eJOq]8phN=S`Yg?^aDX;_LQ]Zh,T92i&OgIE1!YOf9k7jY#E;>lmeb)BjU3?ql-!HIImWBn+i%)TrX7._!;rdZ4;IcoH7Lp-G&hf3o1I.oeu$&Ngg_aO4WNphtsFNnQcJSLOH%EU3jrUFKIs;Pi?@-^*+DE#om1_krfE(agcVQ;m?ed131(/\p"kQq'^p-oQB5"sn2Y,@;)OTSs>7Jn'6imF\sS6Zr!8#8*.U9>3,'lN>sZ<qnoi[p[1M][8Ym0't]C[s2\]lT323=P,.WeC.c9iC]ok_J0Yn(&9[H^)jL4:6@jLDbAJQY6!gk2+Eq-OOji.Bb\qTe^N8$fdu:UnZ&_T;R:N*3>f]^on;0oG,ob4XX!sJ'">9*]l/XqQ3>r_p4=;P(DKLpL%0-OI8V_Q/EJD4IlJ@H'2<2QPBKX#0hh/9aiH_&MGgP"T*f1Z$aWWQ(\3]^gZS&<d9?pMOfhlEjFk)Sm$uF&X.9ph3jA3WkfRtlUFRX7%UCO2^Or[=Ot8P;P3de^AYc/=S4QmVq@_4S4?$i.I%<nj6B[Vu$V&V<J!+=AkL+i#QcbGe3(eC%A^e=dSPIAYZhUna]`1!Ph#jgDCq898ZG^N>P`l$"/1\L*4Jc36hP/ThHa5dU!bjXtDQstdnuN$K*6Du[G9<r2T8%!o.*.(',GX1/]H$WB:KCR*.jr.GH[j!q=d_+\I$!d&HHZ&cP*SfOE6b(M_<B'"422PM)@u3m+)?!C:!++uNUU&pQ?8$&`K0<>?6,EpRnfCJ,^]M?:Y%L.n_bIB<9uC[i%2H2MHQakjE,m%-e3\,LQ$HgWWKL=EIbZO`Gl?79c%IO?"G0l<Dn-s&c%*7></.h9(^Kh;f=e3^P8G3%?lqSo]A2qPt+ql>?PHU,X(/!>HJ>-Pu8dABU67u_RkO^#dOmk<"!chL,#LRFNF[Am+TmaZE@d[:NsiZ#$69Ss&^)Q~>endstream
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1630
|
||||
>>
|
||||
stream
|
||||
Gat=+?#S1a&:O#NQj9d35cnh*5O.%5&df==$#P?K<!dF/9sVaCc.YpK`/hZGfBY7&M$k_KZ<GSpfpT0&@ujlB4S,*pLgEj?oX.11UWJb5^^4]FSh;?[hiBlMGo"ksX+dhARQWMiJss0R"J%ts`GM_j)hX2G?1M0V]V\<"V+a9G>RAO\Cc$A1,,qOoM!+QV)kPGT<jJSr0(?QCMjtP,PmPdB2<=nn'j#263DJpUnj5_AK[0bE0VC,,0HH4"@5K7MGJcCPj90*]k\8h_Q44u%#'AkD"?b-LYb=;;@i"GoG)"T'0P&(/>L\Z0/.LFm20?k7m"Duq&)-PtTg(`o6*u@MN.r[-bYhh!`t<S\dodaI[&MhQ_j6Z+57!:7//4X6opi2(pI6WpmT8u8(p*&Q0(Y8W;6L?"NCH?:e'4C5REr<@[lLBYf*C"ce/Wk+:4]r%=@K]O;TT*`6j`X5qn2)C<r]2`Kl3`Yq4M(lo(@IjLka;`1fYt;aYR)MI9<Rk585X?/:%@(m^,9cF[[6,'C(+"p2<sFLoLu9Q"'/G`2C">P_uh>C3c-dTM.bhW`@?n--m6e&lLMQ`Y"TcjHr,9?QR\k@aZ&2CZ,S5<pEJR"W\s6^-n2rOeY[:>bX.HSBo+TRtkudod=]]WB\5<>/H9^lUhu7diq@%SOa4Y'Qau0SEdX]]^/4g2=^l2/+kHtN1ppj%<W3DF-g'S@a:;g"pj$in-fKZoP&EpDl*(bYiuYf%fc:e$F/n-d1-"%Nn>40@>KV5f5H\>OB.k-YV9'TY;3[D]<9t2+76RB1@<Q2RSM(#gY)PUrn,46\rB_-W\^gtMqu@PgDtGYL(?Pr3SHVI]"P=06hkU'^N8FRH.b1AHltc<)#F!cE5'Mcp3>u)Hh(mK"lo0/?o)!UmOmgr+$@"Q+IF0:Qmq0M>8E`_%ZQaP&g^1FDgJ7K)8-`pR%eaFS-@h+!/LDU`d;?a8%qmg.k-cll:d;@8>6U<'X)YAat^KWF)7-[cQ.=;W'up7Sc[1f&jI";N*t_g;lXS0mS\M</VA5Z2%knro+jGkdjoObUdc;'@O]:]nF31`*6*IGA'];]]I\%[%G3U3$<)iH>0c8+7+pm#CtmEgM=R"-+d<,'6UFC,0nWj=@8/jQcms[i@1nQWLq:*X\LDO*OpHHY<>7Z[V]7RXY:D*"`aSt4ONfiE-a!Q3:KB;C7?0hFiEG0\VV$>7Sc;pA<6Ld/._U)fmhj`bqe[88DG;@k"I*\iJf<8.[N1>c!HX5r:kUL4bW+n`#!21)7bjJ05A#D7d(l?5+%b$_L0_7s`GQ*QdMII20pb>BIY3(nmCt[4Y=G@bWf'i3Gm%=N7opQ%bp="%6WT'F*br+4m1UN+11,p=Q8@:3p?VL"*aFM)-CYrre'9M*j=rRNcJ[?_dS4g4]#f](7@"Z=4^#iWbOIUoU*/Rl%A"_7<r_l=Io:Z<:OVh;N"4:MHK`5K4,suchCq:Hht]_6mi"_.7^f/klGrQ>/FGIh94Gaj0j>=]i'VLfDqYJNXet[s_(\r;<%LXidscm\Y"*Dg'iuitD.[k%V2`6lf#RES=7fY>n9sttih;/%NLt=_EV/qKM&XJYql5M6Pj*:RO.VM8RWHCeIj^+qoKSoTZoA~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000102 00000 n
|
||||
0000000209 00000 n
|
||||
0000000321 00000 n
|
||||
0000000514 00000 n
|
||||
0000000708 00000 n
|
||||
0000000776 00000 n
|
||||
0000001056 00000 n
|
||||
0000001121 00000 n
|
||||
0000003209 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<80bc575a46146972228e0225d25d5998><80bc575a46146972228e0225d25d5998>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11
|
||||
>>
|
||||
startxref
|
||||
4931
|
||||
%%EOF
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
%PDF-1.4
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Contents 9 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Contents 10 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/PageMode /UseNone /Pages 8 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Author (\(anonymous\)) /CreationDate (D:20260413161015+00'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260413161015+00'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Count 2 /Kids [ 4 0 R 5 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2254
|
||||
>>
|
||||
stream
|
||||
Gb!#\>BALX(k'`6pg/,uG(Sa9->s$#9.,f8SBQ(%0>\JjXg+jAP@^XVIQtr[\N@%ELM`nC&^kmT3<ou>n]-a+K*B&]%l^*h0MLtK@+^nWr]ToPX'\q_g=c&4D4A$Qf6"RC?a&sd;-@qU?_A,I$s-Oc9jts41sa&ur=BmbLTd935'4jDM%?0!jD!BeFn+pUiF?Nmr<)gZ_#F\bXWn\!2uM?g_QAfl>t&1=U1cZq1aC?R!h-"Uq"OhBVV-S#MM3ks-mUV4-7d6\.kSXulIrC`D&9@[N-\>jl2!23o&VGs)!.:'Los9>?qB:)7Y32S/:N<Mq_%dN\If%Z>PQu1C_,S'%?D*XiB&@`(/3Pk:Bp"7i-6_2X_eu:gBOeIQu*e;&V7s39l/6pB]>4SR!ma]6^4Z(__tN`[rQNj1WSPp<K(.EW7a1VfYBh<a,@n0&(c%a*NqT<WPo%d/[pUcYCQ*)Cs%JjH:a2OBUlmpjXEj^9640H/Bt[YDfr9KS'`?g.geG&d7][)7_[lt&\\J0H@M%5YCjL?NCgk&r+S^>9++Rdn'QY<VNc^UGmpDcd`M`MDsnJYjX^?1EMXPEDBY$SQKu)+`AGWO(D_ro?YL"_Q1nf4D[O47?m=3E[A<8mkaO0CRlff?Q>IHj(GsIH$k%Kk/b)X51.u8GWt+*Hd^7u421/9&)7h2tMeD/"FA04nT%0Rs(86S_>5WQ"A=0_(Mh>$=J.Mg8',At)"XTK&G_e#Ah6J%g,Z%OWG$J%26Q](hQk.q4"%1==$lqM+"(Vc=!J^R3?%4u96YY:le^B\2%&TN*B'?\fiRGM+_k4:--p'[bdt"bR9d-!)Qr=W/F-tCCc<-A6=V2F3Bga+;@%H@Di_V`td$Q1X6pif8UbUTJdP;&5]$,/V9;DAhV848VN/'Yd?V(s6@ERS+n4&MX)+PIY!4"OUj3$I;q*>QF\t#W8FOE#/";@aO<nDFl3pe8P-&L4lndHfn79UfWYRCTMkq!XRKXIG:0#];u0ntq:-nHSU:^uiM]HO%tO^;NWC">u@6uj2K,WR2s/M-7#)MhR+,uVle%$Q>J=[U7AjZ(J/Z@F66#o>cZ+b]a"EeH=.U'8CUMp]HWK+9&]A_jfk<B=qqIDa^:`6iULLfh4pi=.$KlpVFuW7=Y0iuFJ%gT$h0j.bVRZs*`XGN=f,H;@grn1^m6CjAdH&'I'b5E:d+W6W:RA(^1]Hmn-8doYTh&s[O_@bcuLM6KISW:Y0`CSsQoO0+cl`2_O9;$O;rTRhT'QEdoUBN'esRk[ZT_LK]G9Cf0Pbc7KC%9YrjCRj`O=lD?%W:Egh-O1%(anrTl0FS54rjoXu`J)0[`G(:L!+b_eA(/Dj,g:nB[`t+:$R2JfC2,/1TDRYt%jq8F1W%_=&=\="A&f\`7m>`$8,Z3c^D=a=ZdsW,no)TUHX$IY(`(Z6RH49G]YL[$8]HF<q3%OHQB@"%6aEiF*>=ZL3R]?X5cMo7?DpJTThq"@EE;P:be85X<N!n)+?Q0/#Bu]Bo=iYh_@*?;i+?&`</S\rp'p$DW#41I>:iK$[ltMtICO],K@acT=#!e:YaHmJf-t$;&u3O+&5W=Tq/AB>A`d\U8.,A&naPf<eS\Ig$cia-(ZAG#*ekqar(s6!+!lkinnaoe_f=E=8t?jK?TAe\0Z0YB;S&3J$^M-qWJP]B^o>tN*:>"N_*h-8(2be3](.9X-5Ijt=M2\VLOlH'p,W"CXkbE>7bhSm)C%-,PUFtG8&cTI!Ob>\0*V>,Q\aKrOouAT,oS<J>[#ad][6OdYoVq;'"V@@iO8`gKW_b"95(`3iMT+q2>b]?$&od#*5WMgl!kY29W@CoJVe"SRUm8.M.^$WV5d8]Qo6Y2[_bm32qfl2Z1m#YGI(:)q%ag3*JR\iQXsq<e834L_CAM]gj,*LkeFYl[t&:%bQLi5!%F%['8UX(=#?($<sYm8DrqrkN>6nMZVW!=mHGOu"]6m`C5N"A_D"?F[lMWofV^8ep_(B8<J)nM*iCMXh_qsRTnLI2"QSJnPff4AKEa\;1WYo()W=>sYH1_7TchDh?;'sGB,p6+A,KC02RiI)LqbX*086&3P%BePYnTNW4e^m'Yr(E+W1X_!E\i"+m6Jtu-b%ErjSo=I.Qi0H9%CXsW)RX4'3(tsH./\3F</RCaZ'Y\@oHt'9K#n_04@d\nQID+h.-p=_C5L-5H8;c>H,fUs!$_m-e:NRe]Ks\Un#=(L\,UIhJ^+sfu!WWDc,HX?W)@2,Q~>endstream
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2380
|
||||
>>
|
||||
stream
|
||||
Gat=,CN&4R')eD/;.!@n=X@D/fECbZ)8]po8dH5(mN!b)b-;oLXC'Gb_f@V!rgmjh0F:%O&IOS>F]W_9WDh?PaMc9Mms[[sGsT2pZ,j4bYp@LI**V.EBQ<VA`2YY"LUpblehV]ReOb]iGi5##SQe6TJsO0B(k(.Z]6uI2Y2+;*R[rjsc+SNJh1'0SbBR2Nf@RaiQ"LZZY'%j;1nrHuP)5o!OfoEEs6&K!M*KDIR23QN>%.)m2)Fd9O@fY2'g!H-k7kO=4'HKgA3%odSs&W$*`'I\/eeI5./[=6L#VXOq]8a!f]FjJ-SisSji+rYhm#f2q&0,`?E?6p,+3!J$k8JTCXRReT5qoQ#c-pCiKbh-(Kon"/YtFjQ_koIi(W3e11hP!'8X*cHX,tupS,*_N2M0an+jo+H=j'nPL8Xg](Q:FY)=qRRU)O&/o<F=9SuHhKf"R8+i>N'CkQCF1:>'afb]ZadHaTbf<.'Pl8RGtZ)%k9C)QMDb4)6l_/!nL5F]V4]6&ur/)e89CKFCM4mKU:QdffMeL_0RE)!CjKu:)XbG(q:!!sG]fN1L^3krEr.:k7GEA!BE>R<'En:SAsM3)'fiK@e)D-jn[+gYdC#jBCRn;a>tq;A\a?g%(2MZ^O2%Xu[V+H\CCibIMkDO']GBUHF<jfJ[8FNnA2,_!QZYhFUZeo6k!K=B;UWo&!Ff1DYab8!XP5f)k+o0"CY(AQ`u`9\McLtescdO(err;1(#D6c2BJ%L[>U[;<.%(a&X9F$LGBX4;WUWM`CGVKFXbjTIg#IA>qI.5,n(Z7;_f'1b"\'1#F[GAG=:Q\e?BN,c9n)/qc%N;8-8Z]TA0I;1NKbrle87Jig3V!@=c&/E3iTHFQ#U8n(KqO(KcEi\aRdd]oj_JBXh4E$hDL/1^9YX=O'C&"196DF-eI9+r5D,j!D8skl;<%IAWhoV$]/6Cj<![tZS'c]]N"Vqqj_o:s*Ae?+SWAah]K/gYp.?uUTf4U.a,@k?'Zp^MS$e(<bs@#&9n[.)rq8d<K$&=*3$Vr,OllW]PRl7k9DVlspF,BurW`Jd,(?lGHoN'@(ZW+6?-Vf@)k7qVkk'm<m+@)tF`&+`flO`L\D_le1),5<=X6h_WltcN0)1#+I\j\4.L:%.L2ce%V<I6\e7EOEQUF82aINL&;H6PuBm'[dMR5R%WNF_gBPT?\^)%i*4Ps1"gHC"FC/3+i=H5Ln936Y?T-ro*#3h$[)h[:IBhtX2k)t!%7I2"AhE19C+1Y-"1&LIkI\@InD-7tGGiET3@u7ZgK*KfhBQ-=kaVA+-`hS=*A2p=:q"j=He9@FX[":%$&?U=Q$3G2QI7PYcl`tKX<+oT(;$P*S->GHTe-!^OA6bDq+KgtA7h8C*a]5LdfdM\Sri1g%CF-#?";MXgYF[Eiaq2):8:[^V^o0rC>Xa4Qc$0PA$'JF_mQ%*u4Ni:65"Oc%g'3b)^p[PXd%mW2>W3)r"3GSYL'Vi<#rEbjS"p;lVA,F4)*$SX,UjGS*_Bk=A6,4h#Je>YfbKk-V`J'WA)*!o)/jR=hD,R/MN]g4`8B+fb1W]KR>+6<68t)/MK)Z\T%EmALCMVjBH>')a8-o5i>+_Srsiu8kFeZ^`ot\BG.\YCo^>9h6d,+60VNE[_2N3ZG)j+A]-$9j$Uem#KOM1FBmc!A5n@CT\X\s8M0?O3+L:9\Wk,"kBFau2E(ZRLh]u?J8WtD`DgLe?CRg0)K#X.-$_pBOPnKdf`B]<NGpOsp-4-8^G.jm?DFSKiD(JsY%k[`GnecjJj\NSYM\a"nF*4Bs+7=%!Cu(qW,[R#p!'V<1c"1C";Q,O!\+G%c1:;_n6Io_@l<.kOFD*ab1n2NW&!Q[[Cf]t-1^"+1!>i+dG6dJ^mH*%6bSaf)M7W<u>p(2bKo,:n>a/?aF@5\BjE`b*LcfU:4,4;T*M3_#+2k#gkQ[XH1,t;$^dN3Cbs8n9Sa$-B0h4!bI#t4?+'>mn3bs`upUAVPbJ>Q#'?(N1g<p<G<-k_;Hu>@6eoR(S9AlEffBR`kYc)'[6)eFXaJFs#X&_Q(0@=j1oAYke<dEt'633F`l2((1ZqtJ"]`nCQ@\!fI"+e0)a;5m)[##PgTEiOlMueVg!9UiM),H`X&LOL+oG#1F:R;.jWQ#Jr^d*qb:O:l3/Fp@<j7+UWiO.2#iQbZ`!c^Zj47[aM6/5u99<[B!X%Vn#48mHB_k4PA>4/)"j_aS4?"p7IB+D64h[[_3Pk#OXK/u0EU9D[nqrQF=[73K[Ir,b<)[,C+[?f5$JU2aFgP>L_l%Nh9INmBdcV;S>l,RZSfAf3k8#.a5Cs_[fej#P9rk(G(**hS)jORb8_%P`41fS)&%S5Ra9g`I_S%q^:TY&RmrrKdGJ1:~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000102 00000 n
|
||||
0000000209 00000 n
|
||||
0000000321 00000 n
|
||||
0000000514 00000 n
|
||||
0000000708 00000 n
|
||||
0000000776 00000 n
|
||||
0000001056 00000 n
|
||||
0000001121 00000 n
|
||||
0000003466 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<e7c444237f110a8fd62f87825fa52ae7><e7c444237f110a8fd62f87825fa52ae7>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11
|
||||
>>
|
||||
startxref
|
||||
5938
|
||||
%%EOF
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
%PDF-1.4
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Contents 9 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Contents 10 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/PageMode /UseNone /Pages 8 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Author (\(anonymous\)) /CreationDate (D:20260413161015+00'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260413161015+00'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Count 2 /Kids [ 4 0 R 5 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2222
|
||||
>>
|
||||
stream
|
||||
Gb!#\gN)"=&:O:SoZL9tPV)3]n/DRpO>>Ghfi>$Bb9.6JM3,eL_TPtDIX=O/EL1)a%i\S$4Nqo>^.b.$#3bhlaPXf8i807D:BhX_perk_bm+1KHN)Hu.mr]?HJl5*gl-$[>iW.@4D%QY>jrPC`<='n<_QHEE';J;n4c-#`o-B&qkXOg;/begHTZ`u[>,e#qf2,T*e++hrX\K__TgXD7.:Y8G#>cW-s@>mCP/AO_U=B.3s]Mg_UHsY]UEFGH7KcZ31u@,Tp)Q+-SnrC39o5#F_qqt0o^LA7d9b*:\*TfN#C`I^lY]i874^BHqJuAk:E4@_a=ZXKA6b2mN$\h0l.BjrJ%5+`:0<1IKu`f3[_a(2E790VmT49EEf*D*4'3$)?D\7D.8]H_[SdiL$?XK0LX&e'"4cS^D34G(c_fPW%`*4;8%&AY^qWZNu*B7+0P-M3aR)VPD]g=>Af.C07iT4Cs%>f\k.u:BUlmHjXEj^94M%8Ce_YuDKW0BS^JWj.gfRFd7]*n7_W?L&\\J0HG>U!c\&m_NH)\Nph<::9+t-ln'Z_=-Bs.*3<kTTC#sr^\+bf=neM3)\C(d][r@@AQKu)+`AGWO(D_rn?YL"_Q1nf4D[O47?nBoO[A<8mkaO0CRlff?VJR/E(GsIH$k%Kk/FcO41.u8GWt+*Hd^7u421/9&)7h2tMeD/"FA04nT%0Rs(=9uu/UfdOA/MZj('gmX0gZ9O-ShP:C6Vi3j5GC5m&'.e,(MEN[c=BX*;XWCa*cOj))KdtSY<qk^Q2(I5Jj'P\F5EsF]7";S$b)L*uiZf\n:07l!`2V6,T>$oI)dd8CN*q#u)S4;j^JrATO6cQqgeM!a-*NO\%qa944=O5iPU&3RF-@;+*c.YbX#-c-e?O?+S7"O\;JH>bs_N"2mPLU,*ENCRD=c'YG#'EQ4,0&4#qYBjA1g,X2R[M[lY!#447l3Pds1L=J0;PYO<^@S,ReL-.gp8s'l[#V:UYE&u6t.q.fmV+\)9@`4@k.>;>$!ij(b&N=6b0@FWhP@cc<S4HC"M^6=cYD%\d8-=uIbX>)!MIDUN+DV6#:,re_Sh+9k=i,k'$jan%=ujG>E)?\qO2YdAJtPJ%@[X^-HBesZ<S\3JQ#j=f*TAX+5^5Xa(qljK%COpXEh"@[D-ODRI9`#LRWd/ql43d?A,!OopE,05Sh89fo3n%Wji?ml!*+;hD%&Jmf+1<"EB6I9,>m.G/B7'ZPmDFFMbHpt13Z@/FP2NX6EIJP(Sr3(%iY45H5ULfLbbf?q^0=c:&%N;@nE9J,h$LB5slELkScO0:0-!W,c\Kki+->k3I)^5)8^ockHiE=/1qVp/9YMK)Bbe2N^Xb>Ot[EPg+ll-m1;9`:fB_IqpHGV\hNQ3?>s_?$aJA,5.1?<Ds5)eDqOs:pM5POA_-]r<rNP2CN%D2!J;SC\)X")`!`ZhP%77"QnM%BA/U6V5:"u5h(_30Q9BYJ"dH$'l%Q-*%#(\qMR.W<C$r\3Xu\^`#MJW@41O=(SbJBZ-=04X2/[R@8u646C0s3>)&<[.I&giCjjqJH^CRgBC@E-9j!s2+*#93AiB"rY9O\]]&^Jk??U(%bYKT*^"\IYp+W`h,?gW%0^OT!tnDa3XQ\Qa+*C!Nfm3ap6gNb\QpgLf%JPp,MoN0<@3DArkNKiiWiI[n8da[411N3\jP/A<9.Ms\9_Skh1<gQ!]_8M!0$&ePfoak4Ss3KA*C@-0^0[=Nickr`2V`^ZU4>QVlMIA$Br_gtTjV"K#PU&Q5@Q=m`#qi>q8m^_0ZIhWlR=oIC;RiR</"s!qgCd[ACA;L?baSLnNeGCi;]NXjV<MJ.r_0<Y'u7boJnCDS2">DHVc:'<*n(=Jf2?\>d>aHM60pc/LV)4jR=&cePSJpTesBr`#ZP``bJL9YTXaSO/Z8X2qV2+WIF/^!_0r+Ir_6(F#J-Xle@@nR"a`DaG\sPO".P9*iG;:ne[\SaEOoWOD5/4C6PpP2W-Kgp#Vs.!2MHN=Vbq\E\Q8UNi4F6CK.Puhghh;UYqe;YIq;T#Ma.OB$\<[S'U$fcj*ZG&7u40XPgE^%-<qr0<*!@Da3WS4=`Qd5Xg:"\s1jV/^qS!OC>V&,W4)[3DH'PX;l?O8*R#DC3"%@67qLpYH;qL0Tgr/r<@U28A.0&YQ[k-h]e]C@dq*'=&XT,Bp!8"eo$00=kD]($^:8Q@Dn["?)W3\aMnmlX;8:B]~>endstream
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2312
|
||||
>>
|
||||
stream
|
||||
Gat=+CN&3'(B'h3EPJS%4X(s%fED'"dY(@Ob(Bk\R?f%VN*S\[rT^[/L/J!G4h(@),R!eK:gthSh<2?3hQk5@a3t"dM!3<>If!rDA^b*WQ=Dn]\=rHPm+[q.m;sB6om!fLj,[B9`H[(QY3F;eeL)YVp$8##YV!=C+Cj?`"/iQ5gO$@"5Rpg*hjR_)hH%W*Zu'tt)&@#:HK8HkU@Y@IM5"F@D\=ArnT(&9+)(1<MdKh^YklV4RJ9fR-%b.r]3Y$K2YP48oX7V[jYYk>9#bXm3ql[c:_\_Yn8l,K`RBV:/ZL)Kk.eu5A=OCWMgb-0@F]hi8+u]HiQ]7_P$*OTcq$`q-GB0@.8S`V5l+e(mc[F@,0N*VUD,n;Bc>t7Hm1e>1%1em_:%b"MbAnJ05=_5GkrG1cY&!_2nK0]N,GiVZS0F>?$tnbm/"qFBrbZO;H/6#UcB2-1;(QOB$kF\9YFp-m7YL-kk1/$g9k=YINo&Q/_BKg?3<C721-k)@'s%VcfT2u/e-iR[J1jBfpC3"T6dZb-1uT7lBR'8\>D.I_;JD@Z7+uO5f+fPp/R6FcQB;d8sp)US4dB?=2N-*r#i1K,32frpdhaBDEb`u+g^<m#\`I6plD2fq=(gQ?g%(:MZ^O2%=cLR+H\B:`KfBAAsMj/0;B^#]GrDMpYpc*B6D9RD:bFXnfj=-(6G340l*"3+H/0OA\OoSfYDY_2G'U`pQR@8W-b!@Z[X58DSJe4RuR,m+-^cSam*p)m5"0,[WC+Zkl,!F*A/]!]*3U$hi0ir(3;1Hr8I?m3;\"e"E06=JXR6eSR.k*b:FN8lb+tB'Ii-?7V1-L##\RhW,PLt@cP.P,4T_!]J/5N,o/#!,>mCSXB7Xo5GpW;/B<38"X'*^^W9#.CVn\(P])YEFP!5.rNr?-9YX7M'C&"1%<\*fe^Sts4+jE"?,jm,..R6[eZ8TU;ArP<.YPR9eS%$m`W3g%ZF=juT6itUDe!8dT8o,JIF=$XYQ`ZGHBAb(ToAJj]+K$7*"3\9%+l`n[kH1"YmQ%97`K6hc2A*]*cOnUoVi2c8_?%UT*-!g@6,@R8$g<Z0tG&oX4bC5K<pa[Sc1't?2GJI/kj/<qb@YT\(kXcL8n$,I0?QPQT=$9"As-7YE`0Y"X2/M=<,(p_>?8IFV,Sb3DiWcEeP`:WX:5/AfX-5UpV/=ellRV]o)pcXmj+OW:r&[qq&#KbmBg?bE3$q\H4>\4AijI87/1F)Di7)?TR(!C!;J`@cLkfJ]h-]Eh-N21G%65P[_/)C8XfShDTj9nWmn9E&o!MDeOB>7G"lfpi1O;)UiMCrT/.d]?WuO_0gHc<k]maJN/=+;T\U//=\O3RTE=M!V2Y8RS>L(JEe?s=(ORSlck6\LUXPL.Tb_.Pf+u"e\o.DP.*@Q'c!+:Q5C$A#[D3m5ZMu6<2O'+U;5MpI"\U)afHdIRo1,D2_g+/M7dFa3G3@F&F7:89o:E5aHg3V=UJo"0UIneLCpmfMD/F1O\([d':qXU@KZHNC!;gc$EnaGCK-SdE2@EO_prkIK6VN@b`R.n3"RN$AV>oTX-8gRbIp[r,Qsg1aT0:>.ppV<ri<p@k]*t)ij3G!,Ve9S5iY(!2\0uVdTg;SAo]t9$lAd7PDs9fH8E4/YN+S8\+N[3fY*nbX7HK=[n=Lkg%#u/_#L'_YeWM!/!WMLhC9(>ofcB(UrkQMrXbT_-K$gSQ@5R@,edr<D5n6<?_gmnh5uW>J4is7+^4K4j>i`k2Ob2X\0!S@H7a"(qI0K4cj7o:*'Tcb]6gjS1!:UGA#8%V&ZRJj\<9Il%ANEQQg:lM_1O3`$Gp`T!c#MmJ[]d^Xo24.NLC1$9G-?6Y8;K@ShlBf@\0C?duN';7\.FpSH7P/-LhHl5d%0HA+*Sk2n"[eM%f0,X]4%`d?<!n>`aa#o]^DU8CKs]^FXT9#,s%7:j>1u.]h2'N2X#U.Ujc8@[4EYs0G1pQumoL//#McdI,LfW80s#]>e2;ao.1=XX"Th3E5nKM6p)nP-lX;fB2)Hm%Y6WMQ-T/]<PDa.Sc)/%)WoYkQ!<_"V4[<7>rolSYfs,$bVR*4:7k'&4WigpZ/.l1`DA?Q[Lo$AMLi#[8EIE]aL/n^6QEV!Q30e^1KEDYI\>[eRMqR-2uOkc>o!%jDL/omKXuUh.i<W2glr(9"FtNVf(D!kY&5C:A(GcDig+GJ%(6p%ANKN@a"!'Ono0\2o+jZo1RP]qEV4L?C2K8lMH#7er;`fGGI+mXO-IQPM_dhrjohJ*8I+bdW_rQ=CM";Xc.V7@mCGs6_s=S5W:mDlZDhbs+a2,~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000102 00000 n
|
||||
0000000209 00000 n
|
||||
0000000321 00000 n
|
||||
0000000514 00000 n
|
||||
0000000708 00000 n
|
||||
0000000776 00000 n
|
||||
0000001056 00000 n
|
||||
0000001121 00000 n
|
||||
0000003434 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<fa4b6a94da5a21243024bd1d1ae28606><fa4b6a94da5a21243024bd1d1ae28606>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11
|
||||
>>
|
||||
startxref
|
||||
5838
|
||||
%%EOF
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
%PDF-1.4
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Contents 9 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Contents 10 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/PageMode /UseNone /Pages 8 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Author (\(anonymous\)) /CreationDate (D:20260413161015+00'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260413161015+00'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Count 2 /Kids [ 4 0 R 5 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2226
|
||||
>>
|
||||
stream
|
||||
Gb!#\>BALX(k'`6pg/,uG(Sa9->s$#9.,fX319#)?A'mqXg+jAP@^XVIQtr[\N@%ELM`nC&^kmT3<ou>n]-a+K*B&]%l^*h0MLu6@+^nWr]ToPX'\q_g=c&4D4A$Qf6"RCB30?%W%>L;0@5R_L+B?mVQf$*RciY!IL(ql_q31,+1b8HYn*Dqq"^mFlJg\3_oL'dqZlV?JH$4M>=UB!DtpXXKj,Kb]8FJZ7+$6fBh"a/">ij3naQWd9sY$%'an^q:e7J19idLB)(i`clIrC`D&9@[N-\>jl2!23o&VH^)<IC(Los9>?qB:)8qJVW/=s]VI2@?bg^&Ph/UVFS[YODOL<#+gn=:2@$`7gQ-\HJVE'+l*ei!uXD1gD_bdNMYLd5J*-8t*H2"A[:9L%s@+\L=O@@O:k>Ih:pR:C8s.`SS]eEi\fCg\F/j$dGSLMK#AN`R:YeD^PmQ<V>B=2=QO2J#5p]d1Z81sY$5nrtHjV7A*4Ni$0N[lW06:2,fp'nm^NkbZBO,@>HK#[`4(]g#'Vf0Na0`].=7r\UG0V$/9mpLlf.'?\/&49eXlC#srb\+bf=neM3)\C(d][h-S:bOo,Q@[c?8$O`Oi?YL"_Q1nf4D[O47?nBoO[A<8mkaO0CRlff?Q>IHj(GsIH$k%Kk/b)X51.u8GWt+*Hd^7u421/9&)7h2tMeD/"FA04nT%0Rs(86S_>5WQ"A=0_(Mh>$=J.Mg8',At)"XTK&G_e#Ah6J%g,Z%OWG$J%26Q](hQk.q4"%1==$lqM+"(Vc=!J^R3?2nVDLXNWcWhh0C(ecl2c-U=V_l7p6L-K>8;0IJOV?(<CRR/p10W-2=jtNJ`S['dMZ6ChDPDDPk^cKSg`1_ErTJ96:Lk]SN8Ro,sV.C.JFID/5QU^_[8qTD6(_;1Rc:AYO@D_##n4&MX)+PIY!4"OUj3$I;q*>QF\t#W8FOE#/";@aO<nDFl3pe8P-&L4lndHfn79UfWYRCTMkqj3ZKXIG:0#];u0ntod.4c\V:^uiM]HO%tO^;NWC">u@6uj2K,WR2s/M-7#)MhR+,uVle%$Q>J=[U7AjZ#qZZ@F66#o>cZ+b]a"EeH=.U'8CUMp]HGK+9&]A_jfk<B=qqIDa^:`6iULLfh4pi=.$KlpVFuW7=Y0iuFJ%gT$h0j.bVbZs*`XGN:tOoU`\oi*fUJg%(Xo+-q1OIN0F5:n<Bn`j"3CrD:]SV_dBm&s[O_@bcuLM6KISW:XUPCSsQoO0+cl`2_O9;$O;rTRhT'QEdoUBN'esRk[ZT_LK]G9Cf0P9WOun%9YrjCRj`O=lD?%W:Egh-O1%(anrTl0FS54524l3i^2V>i\X,6!&?UqfQ;*]$1f:?D6r?RK#m22RMlOeQi9pu#NPg4$c:K)&=\="A&f\`7m>`$8,Z3c^D=a=ZdsW,no)TUHX$IY(`(Z6)<ZAo?=6j#,\'0YHqDa4b=KSN+k]o^NX8=aSEU\<TN#K,02s7;:oI![33.7-k2*`=Wmg!OO<)ZSK0)i\H!ffDiIt6.E3h&k.RiAtqZ_%]<"/-`Xd5fM>9Aau52<lQ_.tleX-fr-fM!!6lP-NXM,E>&Lo5a;IQ/@\1@r-m,_^`$GkcCYC:C8D"_<M+Msr5L%muLAI]1]LNtTGoGrAIniOJ7YV9V3N?TAe\0ZBeD;S&3J$^M-qWJP]B^o>tN*:>"N_,sPL(2be3](.9X-5Ijt=M2\VLOlH'p,W"CXkbE>7bhSm)C%-,PUFtG8&cTI!Ob>\0*V>,Q\aKrOouAT,oS<J>[#ad][6OdYoVq;'"V@@iO8`gKW_b"95(`3iMT+q2>b]?$&od#*5WMgl!kY29W@CoJVe"SRUm8.M.^$WV5d8]Qo6Y2[_bm32qfl2Z1m#YGI(:)q%ag3*JR\iQXsq<e834L_CAM]gj,*LkeFYl[t&:%bQLi5!%F%['8UX(=#?($<sYm8DrqtAN>6nMF&43RmAZb.nM+r,j:IBMi_$*p8OJs:>^Qi%Zr`qI;DGSEj*V_:`^XC"7jL`HW+S*uV7rm<:W"uK28V*I/#Sh?'KX0>R-U)*,7,)?c6k#]KWKJh&`$r2_M.\KD>!"&r7p$mP677jT>e,9#Bj&Xq^st1IHRi0gA32L;;pl=:QOa$QnsnF(0j=jb0l[\WHMW8OKP=X<.&)q(e00W!^;)0b2a@5QdPUtCjo-\J*,LKGJ5"V#M9P)j)PF_Hnho1iB(D*^t$21G0j_~>endstream
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 2355
|
||||
>>
|
||||
stream
|
||||
Gat=,CN&4R')eD/;.!@n=V6^3C^9NF)8]po8dH5(mN!b)b*WAoldrN20O2k`^Sfcr+<bEAKYjKh?!U`Yl;VmW1@_[BHOpd;RaK1%(0NQ?Q=N"16aKu8bg*qn=d>lMOQWmSQLRVMc=/oQ"4qYY_Wm3q[/At.kh;?gFiijYG1YErCjW?B&*uQ-psdeTj([U[=8QT2Sj?Jjk)fa[7-A&+'1KSY?RJJFcd-/8J"YINc2Msq_Wisn-K85QPuo#-Cq%Z];tS.SZs#]9Egj.Z-0#_'SbpT8-sDEq&`dsRMPh!RHW4.Pc/0p?A=OCWNs"pdA!Oe"1\r/!XP@#J1<U4Gl731mV#S.njbc.)OF\L.>8i>`A=9X0Pi>AcRYH';1Jn_+QusfO+POQuEG9FX8,HUJT)OGYk;1$@R-h%N7bd6Rp*CTZM_Aq9gmf67D)=p[MFu6L1kgH'_]o(rKOuGa[D_:]Q]>k/lVFs)f7pR,N>WkIPi57e"$T?q^6CBtXZ,=eAoZQX*TPI<pi$,bQ.0B#4P/_YH7cP;ZHs$3[(7:uIe?hZ7D/an\E(H>.['Df__k%8P7%uc'%tBlnFHoMaPSW_$7[<+d:?%B=7922XB?ea2"rf=@qfl8]5-!L3Bd,s"l8iu^M!EdOYN*[b4'D[9)-aG7@]*]9O$I+Z;'(0%Z;7KFY.4MNf,/2fEAj%^_gjsb.KQE3u@4Y:mC&KV-'CP&"EoQ-&au`^<Mnq3Kbi#;e9^9XEJmRQ>*VGC3*_J1+uG3F4iJ8ra@_Qc%^kuN'7\?K?qHg'SJ2h\@_'$^)ld^)eWE+lGU,k=2Vj091%8-hA:Hppi3+)ZD^!>1KHP=S?f\-q_)>Rr*0Uobh%rp@OZBZ&X8e#o4JZrPU?_\oR2F$KC(:sP3n_-m;J5mL%<]0Mh^udQJQ3NAPALg0+us;'1o08mK6Q01gY)VG-48*&/;+0nh4*Z[`VJkJp"bdp+o6G"K-Iihs.^580Iaj*uf-CFe%Oi/,a]'eStU/0+nI;PS)b2CD#1<6'-(\O=_+&"-K>)1,]DNAB[6c1g$LfTGit>IB%mG&p@%E(BNYBIZqUT58fJo_tt$O:EFBlS=SH_l($J4D'-[HKkXY$a78Y<_gPWt+GEeHl9Z5d1+3&n0TRn"XH[']"X21C&.W$V'E]ACI\gl-k<qa-a;kMR;H6P%1i!,D,-?o7l<S06lt\?6^(ihH*&LLSD"m]^W]<@T?oddD6J$a!O=0=;#3h$[)hY#^Bj9b)k)sEj7I2"A4ui*j+1Y.MAfioO'M:+8QM$qH-f-b2/b,,5[N(>5]j'c]Y3BOR*'Epar;fWI2d]=X^?qGd'o[X_B]X#-&;W^;6RoWMQ\CX#6LtPAEe/UMU1P'46g+Z8N2n`&`O.J\ki6A.\]Ro41F4cu?Sui\>KQ.>5t(ssXuYW6)$3kY#uHnH)3lY<X(^I11L@q)Jn.oFHVq<kT&i3V+!gEHn`?:_8\cl<OnbNBb&cAq(^qZ_6OaXi1(n7_Ji614/soOI;In^=B9Aud5hdQDR?C]mC*!eQXibOle3;FAC)Z5#]NT.68A&NH&1LAs#SZ*rQ'J]Ih3n+1#XUJ4$P_WsHp"P,Y7;MEa3cr)caNM)`.ZkK%K>+sI@,VPVAc5=_n4m/2q,O6C^`,[gYRb#%XJfErD0t4Hb[?sk;,MDR=o"Si@4_Us$70(JU*fP.Z&>]<?SU4IB'lQl=^\+7rV(hJDV\VG"&%M+oPZfJ@OVHE(8Z[39GSTO2Q&FhN:@4p!NV<%R6^6^1]QMWY2OKU`2sDA_25Y2dEou&CB>W,nKlS0X4QZIJ)e^M,tKLJ;a7`qk;T_W4,P8"X`8>;6RF9W/kC^(0l+G[LE6.[@cb9+<Y&mM>@Ms>p'e,JB=qXdrc(a=J<Z"oNpTh2]@K7h]GLO*lL1_ZDS4Bdf?`T:N`UYY8P>5?jsTGAsM3">.P5Vb[m<\!9C$N%kRE*[@/>]6Z[Qr3M<0^U6pu'>?ZR[Q(C5<J6Ntgot2MaW4n/Aad?2lS`ClY<#(TT8g90]%\ulnUgKfS2Wr%&\c)&?Q@pG58+WB[OVTE@ZFrQj%D4&45i^E?4I8TE9Y4I4=3E:V!JM9ho3Cc9VRM?n-E5HNO5YX3njJ"CXtbT$D4t2/>gF]$"_F<d='5rMUc,6W]#EWca`lP7Y&h+.esBFXor:[NgO7;hS].55(L$73Hf89$bjD1/\@M:<lMh&Z>a09@r^#q3C!i8X_i=%VZ!&@sj1dO/j=R+uLgnP@oLPOUj`R9qFFIrX:ERZ#h$_[u62fGqbdsujIn"b)J2]:dd-;,[h"Ui[\Zd(/`;e72QS+R85GIahCNg5TTeTmU^Xeae=#lq[rr\%]B<V~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000102 00000 n
|
||||
0000000209 00000 n
|
||||
0000000321 00000 n
|
||||
0000000514 00000 n
|
||||
0000000708 00000 n
|
||||
0000000776 00000 n
|
||||
0000001056 00000 n
|
||||
0000001121 00000 n
|
||||
0000003438 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<19d52624f69b685de05b4c5e47ddf772><19d52624f69b685de05b4c5e47ddf772>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11
|
||||
>>
|
||||
startxref
|
||||
5885
|
||||
%%EOF
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
%PDF-1.4
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Contents 9 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Contents 10 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/PageMode /UseNone /Pages 8 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Author (\(anonymous\)) /CreationDate (D:20260413173846+00'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260413173846+00'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Count 2 /Kids [ 4 0 R 5 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1935
|
||||
>>
|
||||
stream
|
||||
Gb"/gh/B&X&A[2p=3O<;?e',^nmTV/0@$CS22O![762kN)d(j"0lRL[kGj#ZB48X/#%CqDWN$jeJLpE#ZTIbg9gH`0.K4WDJ9Neoqjme]0Ui/!2%sT:_U\#>lPWQ_6O.FoU+hVl`L'btTc0m^%:Q\3.hmdcX\^Ka$m!Td(-\;b0Y"gr0RCB`bD3._$qA_1Vh`[U-2rCD3uQk&IKQo00`)1%RlVD(8,V_n@J@c-oK!Pp%:nrFU`"fIkOCB_alFM7-lp1T3q.FUEJWds)6^SY$XO"blJ([uD3h=r&VSA=iVH`rH#`q\KR\VE(5@2=du;Q76*u/V*9LB87k*4]Sd'[0+Ug<i$b/AJ0%EZ9RtN>Ec^]h"TK9JB"11b+*#5./;I\<3BWad0'-i[V7OTU;d-<Vt"c)nL4&_8UF,SDEg&d90fmpEL#nH5;)j.'Ne>_fGg/btYftMWjCMGkpnhq@5GW.1ZFha9\f;D?$FWHEN%j&8PEOei9\M?H-rPVhh`N/g)HWdT80P21eIHnu!#8ZDpCk2Gr^QW!MJmDKGjp@o8qqOCr#Glu+p\=$A$SY<d67/M4Emia4)R<I/i:!!gNB"M#/PS$;a2V/Q=Vfj2n8NfQ=n#>>b,VBU]Er"MN9P(Jh\jhN,3?]_4`+jF1:0>g9S42Gb;J?ViJUa^$sP1>9kBbQC(,%'1"X2Y8b9nqm?Ce](mW^!cnI$t>i)Fb*tS7;23]4C(q#p?R1Kd(k"R)#W>N5.@&MDrTkP*!N@GI9AZO#pqQSa5+/X0K8#<g<p$R9PKB/EU_sQ"A];p^$?dCXd@@mdW[PmO+1.YX>!'X1A&NoY!Z6b8PB486%B--SgOJTbD/-spMa<?UlguVFGT06?mmbhBQ-D]UZMcC=.+.a@9(rT:FhASfo!AAac-08WDJ<Yt7J8X;!M]-+._.>%Mf6YnVpSQ'c>6q.JdM"Kn<$QA*rP2q%gM&8UncifoYUn^0#1XFbW+?AH7BQ7mVU4Gi-+_HKM(XXmqWX+04ae&rm<5`3NjOEO*HkcXVSaUOeHX[nJX$phC:Thtr/PDCZ1tG,e1gMeoKLUHj*?RX0'IZ9-FQTRH*(+ebVgn4%9S;]#[t]d4h^*?=_W@X+H,>G4t:c3Xe]h4#@MVS!3?8e8(M)X[4BcMT84U*0Zp_5/:ucII#mP&9'JJ-YBbZ+!-;-$Tn4cc=$\=Ph@o(DJZdW>BeSL'KB\O*I*:gc8dSFd],(]LRL=k(hAq632ij*)J30dn#+$OLr!'68jU)Gsc/AjN/pin3@mK;]99Ki.aQDW=5u\PE''%?9B6DD,#.A89GoDCmMPdQU.YVZ#-ABtm*\3+cZ@C](0QrRV$#_<BD6Eu\d2HY!6m8aVBEg%UP?1iS6F'J^j8DhJiDR"(in?AK^$>^U._7L;]s/kG[3[FD*ID!!"dT9u#Q+`UL+O6[\I<@/7mElqc%%1/:t6YrL'[=VP'/>0^">'`enL<9L(Qik72bO;?V3)gL$>N*M*.NDFUX=eh?e^5>]kYZ!*q[0%WKs4k5\dLG5_iO>l-Kc.Cir-V*t=n>h+q;(3u'\]]EkS;DsPgQBFE8>)IA34I**k=b%[;SN.@RAZPhVA,g3+^Q,.rALU+5cDreXau"*AN?6'f2L,7CN84]nKPWO"6<W<V*D4HC7*<[@4:a.sb?HgGI1+g.-BM5%hu`Z4>+X:&,sZ]$7J3otokAXTN4`C$feQ/Xj(5][#',KA:c\37=Sj91V(ub5q&oWKoo<rs-'g+l-DEIY-Ug.-OY:#gZ#iQ.Y=kedn@mr+QbL-/gmmBO3TCKua(8W7`cugL_'EQYg@qjSje8bQj9V=f^3Mgi^Rf#!%r'#sH.E`^WN1-fPX2CJq=>DJ.S%)alrYe#D.&<<j(5`^j`:$+hD)`#`C/<cPU-%P;oEu6!kss0%3C,?nfZ%np*Zn?hS9~>endstream
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 709
|
||||
>>
|
||||
stream
|
||||
Gas1\>u03?&:Dg-R(%eWN6aIjIA7R3<eXG-OH:Z[_d5Dpcfarg*#"/NhmJYE!E!CLkH&</2D]-"O>##;dh;F:`UPkf&Rh+q`'K@H:Rk.+IsYXW*/uZm71A<^f[Xfcj#6GMFMc;aRO2:gZm>VIWlA9r$%>XRWgJ/.$?EBoW?KLn10]oaKL[e^/!#WOfhr^P<FsN*5?A%ub_&M^-Bf45>WGc/a&k&BA+]l":RHUN;&Fs;gn::%;(Ri$:B=43-H0P:qT0n!nPFrjmDBmV6dYG%DJ?)K_;bk/O3+0PW2q,sXNS(`QRX;jeI=T7jWKmfC&+^lFn@*K-4[I\p@U@ODnV.jIGVDm[baKCLn^j>Fr&%A:((^\WNI8&mkBZo&[&Mu\0n^7$DZQd>nQMT*Uh3oUFVGUc<".aF!<2a_,]TZ<h(OK!B-m4a'4X*,oJB/nTV;bk>fp_/bSP''-rhnafBMFI/gX`"khEF4D'"7.K=7'ldRFk1:K^rYI(GNAI9if%6<8]bE5$>r/O.uoZn$@L,,-<$icn=#(s<tHoCof#=!lN1)+t_hOO=6f3':=%/JD_h4ZVEr+FeZoHBU<2OI(&bBb6_X/GYa9.W/`;o`K@POe1B>dRkl$Vn^8^dZdES)L(ok2^L[Vcb&"Vf]GDK'ucb(f/(h_W\=5ai!q:QpbB\cn85#aR[qF?5RV8SV%3bG:oWa%lr/sU&~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000102 00000 n
|
||||
0000000209 00000 n
|
||||
0000000321 00000 n
|
||||
0000000514 00000 n
|
||||
0000000708 00000 n
|
||||
0000000776 00000 n
|
||||
0000001056 00000 n
|
||||
0000001121 00000 n
|
||||
0000003147 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<87f7b3701a119e96a87611737a0a4876><87f7b3701a119e96a87611737a0a4876>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11
|
||||
>>
|
||||
startxref
|
||||
3947
|
||||
%%EOF
|
||||
BIN
Binary file not shown.
+93
@@ -0,0 +1,93 @@
|
||||
%PDF-1.4
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Contents 9 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Contents 10 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/PageMode /UseNone /Pages 8 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Author (\(anonymous\)) /CreationDate (D:20260413171048+00'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260413171048+00'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Count 2 /Kids [ 4 0 R 5 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1924
|
||||
>>
|
||||
stream
|
||||
Gb"/g?Z2]/&A[2p.H[J,n'ho7ItkTr[P)cFM1%9Bl(kt.?la=-i*.>7<;l<WK`ts*LtuC6WbS7217jo)g"i(RD@!39:%I2u)W8blM[orH#4<+[Tbu^:KX#mtm>OT\^($C'Tead?>fND]d#:qqqV\O(M[%*6?8PCOkhCusRJ<cI6go2E1\a(eiI&:W@B`khcNeY]r-N`O)r,je#OYZ4hns`q#%RF]hn*l1ST,4K$:NVQdeb"0.><?9Yp=nRC^L]Aeq`d:i3UL7&2.H/5;Q',=;aZifLG&V7PQaAK+Ki,%t2^_Ci]ol/AV>'1rbZP,itG\#&sc%b0u1:"?q8S_B4ji_dmiqfB51lNBYKs+cYCfU\k`]<O5j21^u-U)5,u&`3^L\*)gneN(='jTpeeU%62BUB<ZcuPDY_c-P'LH>G.:S"dhG"fW/J_73]3;X"hH4.*[[gp5M.'ekE\4hTj(HKBlPQqq_IiS[4V8C2Xf5fpY>YI)`S2FZVI)l%UVI`4Vr*Ge%@p@@e?qBZa(E?95Wj;+C@3OC.]?dbFA$jW52j#4lIko1tp-_LBEc[XMa,o[@:]Z]TSp+n<.X.$P\Kq0JnL>Lg!L.Cs(pfEN&=`"sHVf4TsI04g]Uo1Hic&/MfMPp1?@U2Etg%sRB)^-P<I!l['>U>o@90#$n]ZuRkVP",4E\gFkMiCb==Wh"JQcY?"qe8h7-<^PUl65*-Dr,gT90PSoc%]!.Q63mcCAkXARQ0>5^@t.@7^0qY:5WJq$Bur@q*5h,%NFD$@oMKJ7O5<Ue$1bs(_X7-lC-5jFF_\fK]11/T``DK0Jtrtci3UA^_';Sq>qoG9)Q#$0A.`#MB`dpp"sJC').\kj]3FLc'1XLhm9N_(>W>Ir?O%27iK7S\!AZs.2b"BI_"'rkCAHKj+CY1.^gZ/TnHrVdc9s))=$!8$lC92JD^"IpQ6%lXY:0U2jp)q:0,>FT&hbqq2Dbk2QRl)%@[5dtP#]aG9ENC7$XhrO"gA-RW_`NGhPY:DYLsF%hN<7`UW(R69sgNgBXn.eHXG;Sm7M:0S_p^E-0Ds"X6R9"W_Tnm4C0qEn)D$U?"1->jf%8jNp(6[%m:gS2F:Npmgnm@A!Y^?)o*[.ro'VlHe;6N;L\bZ`!X:@nAU4iCT,pb,5@*%0o&&\Y$rIM:;nBV4Xb##BA]upCB9`7b!JZtlE>h.^q:o;4U5i/8\bhr,_a3pnfW6n%n\<eR(F.>;3GpVL#*l'e2NE800q`LF+YVHE..oCZ#[C/XQK!e+sqW%3%,p9JSm@hINY)K(C!`CkaNDXY8sZJ*#@bL*p%,6F\7ZTlC7^R<9jCH6G-"Qh.6Pr_dDaSKb;%`Y+#n$7rm<9!Y`m01gMUu'2M,86aC%jj*dn(G"P[ZNeL'k4V'/2Ar4!#\_$P.-hdc#8qqt-Kb5E7Q-Rf#Pf8?!+!H"%_f'7Uf25B;M7!IP,!f$[BNno9'GBT&L9/qN6UDTY1h9OLi^WmS!;-LHmRJYaM)\#a.6id!F6.pYX^!k/foD[,HF<T0+PDdI^I'Zp3f[NEmhg@BeK7)\MOEQMc]V@J(!r0MhJ"7!SrP(ae38Rs&q4nfLbi?U?q=aV\t%/irLX5]s+(("!EM$0#qjbW'<tc43b(hI;35W=qEG5AD8:;bQI6!0'"\I``;1Y@($3\Ujh:ofIM58Q-@f/p.Z:EX3CI?VgrAUd]FE(c`;^jkN,p0'loAH,plOZJYn('+T6MmQ&0^?b374;3n5!0fCK#f;I(U<A-Sos%]n=`1rYhrZGN02I\+>>MeBY*FYo@WV1S.t72gL]Qc^qB#bKG$[8",Z*EP,6Ii\e_+2@;AdN>2.!o5th+RROgG-/uPWE[S@2OUk%+2W@'Kl)(K7?<meERq.Re`RQ"-cEMr'WV6`ES:*'0[TY6'rZ&i/T?a.VXo~>endstream
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 731
|
||||
>>
|
||||
stream
|
||||
Gat='?#SFN'Rf.GS@?nF9k+h<ln-C9b![\2XBHpGb"XM)>s=WcTLf%OFTQZ"Mg1U?g!7k43S3G#1Y?<DHB'c=CP^1&%#cF$K/o6ME/5WQr,&Z$ZI=N^is'=/FraLQ_]30i9[#tn)&g5eiOg@KcFD>3[KUS3%_Nstd5U\FKAb<"q#Mgpr`(p@6hlK,F!^V1N45OAF%WgYGG;1)YB$g8mtqhq@SP2WJs+5B6Pg<W-&E<[ha57s;C1:QEgfX\Qo(d9k!I68a%#?Jbe^m1*Ka5@$\_]!9,-udYqVCHRiW3WYV"T8DpXFlQUW/7R`q&[L(r7RpSl*D_F*H4;Jk:SSV*O-ECFY7)a%rqRl!hh',`0NaY#\%[?_Di#@4smPU47OaAb9toU7hMl\qs0hD4hT$gLh"If%#ie%s:BMAbRtN/-6qGC_[R\%-iX\(s4'8DU$uh<QikX&9aRA[=$(IDMl/L^I'VMCn0l*5U*ePftQ-,/"uWCFZ_cC:co\r(IKI;.cV8F@a,+?)`M,p'i(LVP:$19<D6WQDVdH*U3WlSXjl9mFE<V+j-q\c5!['bc`+#A$_cMn:$r#)gQieK@>"gRUUS2Vq(U`Gb!uMoBh2%^"W6e_68d;l7)PO=9u)e[hX1!^5Hf14f)eu\i.H+Yn8J*eLF]uM=I4_p)HFsig(35O)EA40t1fB_2Ws%^M#@Vl.f@2@P-X9X5VA/YKH,>15ihe&WIV!AjC_~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000102 00000 n
|
||||
0000000209 00000 n
|
||||
0000000321 00000 n
|
||||
0000000514 00000 n
|
||||
0000000708 00000 n
|
||||
0000000776 00000 n
|
||||
0000001056 00000 n
|
||||
0000001121 00000 n
|
||||
0000003136 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<ff4cf36f76f1ce1ea492a91b8dbc550c><ff4cf36f76f1ce1ea492a91b8dbc550c>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11
|
||||
>>
|
||||
startxref
|
||||
3958
|
||||
%%EOF
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
%PDF-1.4
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Contents 9 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Contents 10 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/PageMode /UseNone /Pages 8 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Author (\(anonymous\)) /CreationDate (D:20260413175810+00'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260413175810+00'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Count 2 /Kids [ 4 0 R 5 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1862
|
||||
>>
|
||||
stream
|
||||
Gb"/'h/h:0&:`#5YqJ%+4,n$thg(t?f1W#5.+$7]-816.5Wrp^foXBOs7fgOZ8':b\5.NdQs_0-a)>&5rCJ>DieJ6*@1;XC#&jMc5Uak=5]">mfgiQ@SUE^I>13#Y%4DSDQs#Bi`>P\<g6)]I(p-UWNj;!NZJkV6:E=gDMdULFpL3jY$8*]-dhrRle'F6:m3VbG],;,t^V5<Q2jh:5o;3",pk58f*,[,6@b*g.%`mRdaDqL&0]Z@@j7+/F;sM3L<^]%V3M^`+9Xe94"g<H`qR/J6gSJ[`J5DXb>ecWiApj\i(5fX.@3T1QQ"6@a/s6AP:Z7)C?B6_srOG?j9_Ju6Y?1j53Kk7E:$Ncgk1JVe)OV16ij]"+JO9MYTdZ-3MCB^tL3(""%eJ;!0rTI'"_Odt^(H_?(cFiAW%g2lkd>J23=(S7IMph4G)'kupm(D&)*PW:%b\BWaPlBfBec<6;&[:f/i/V:]d),UW+#CY=t<q(k<-u-QG\O?]RT/!bQjGMR!\u+k&;W;c@T8&Qu:KB!Zpm1G7I4I,9HFNJP36DK2;k'XRqC`WM,42"9*d31PfsQ=C-aDqC_IA_f>1cK$!mG_h#k.<oTiWn7DjQ@a*=hk2(p)'.G$kko$'eM!'BKgD7'@=(&#B_AB>E=ftfBS'!SXobcPM@tB=G.J(MQm?BZ=(ff16d'=ZD>i+]MT:Rtua&<E9Ct/.$AjR''b*t\=;mB$:a%g-sT'[((7[455EHPlbqf%-F+1Ccm<_E*jl0[<n)C]0>#<,^Cn#e"dY%DMU?C(nT[W^ui;IloB!"mOD.3<^<q3&XYZW4_m#G1Fqa>74.-<BJA`F4ru\B:)\+mBgYgqgU+9e+%@Qa')+":ko6%+:qJDabf^i'gG?Ua#.5OE%fGkQW*=X;Pgs\Uq[CUGGV^B:AaNM=?ESh,E('#([^7M3+jr:,d3eDW!QYZWuuFLFU4pf!7D2ZW?r)e'o,"-$>pQP.D@0ePA>SnFRt0[bJXhH_DIE3+D&m2t`&]<XW<M#?Fa@YN;pNo37eNVXg@&;9L^FdCW,%T$CQYpPHVZD.:[F[F]./8*h[WqZ0?O5?8?%J+$_ba/l[5Y9?]lNsM#3_q*8=q$4,a<WL]:ZpCk4)JW?RM0pjC.Ufj/Q`1]!+jr2-%SH%\q"Kc`>(AW5ns(P%(<%Ir`86(:^q_[@RV=G(/;NJQ8_i)A#?>UK0_R18\/CM>$iN$h/T8Bl^*;?@'cUCMJb^%^A*++-?-TDt8@[qfC<(k+%rApci<.Wc_NdZL6=6WMo[GV-jfX0R9pGTY32kId0Meun/^e0<4c&9XU73-/pK/9E8?%8$Q0G_o^rt@KUFT0>CCSO_,rB`Rb[ZlRQ2UJseBrAP3$nr:%-$4AN8?%-CK,Xj8VDC]>VnM8Xr%LLP'eeT,?>4W0O/WYgft?hbaOGuPDb^/5AUc8dSm76<44l&a0Jpe,X5!m'ZhcFEFo,T1@n_;INJ1C,>*IWdBCebj6S4"rgKoFiL/E'jT6U)V)OU.j`,2Oe^e%4=%i:=X1>#BM/&T!%Vu^,.C+&BE2D<M.btb3q4!"3EtBX7c'\]857USp!hY[<WX[X[PoUS[<`!+&ciq_V<h3dZ;.+0H(JC)PQgWfrV*RiKEMtNZ&Wck.Rmt@dQ3#Y:%[dQ+^iU71\?">as6"h](@$$]D)dLIW@Y)FALtZm-"!r0jpch*ZYOu&<,>nf386QC;l<9)5'V<H+suV"*e[Y!k?1rk#)lbu!RK&s\^=/rTP?/rR>0@iE!a1n/]UnWB*9Dj$afb"6*:*^GeTFPQl0FMY25m&L%=jt%@:aD<Lf2P4EjP8d.uCh@nn$ZEUaBD?%b8%S&MX,"e>N%p2dt?~>endstream
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 812
|
||||
>>
|
||||
stream
|
||||
Gat=(?#SIO%"-C)i7l[gFY2^Ml/"J)/N0\7Q3IEu"=OtRE>6KW-co*mm)P0QPAKW<4:DF'JYnIg*A7h1H<Br:$\/b/\@?+c36YI>L=$Rp?f5PQqq5Jkbf^<O-Y#cG=<(d.n'O"95[kCo(EH3)_6b?`WC<.W=aFd=A@BW(2)SR",=i&;Hd&V]R'fEdISIXV#p$jaYskLBD88fOJBoYK&-kO7i&m<i9gE92#4i;Jha7A3*/iaTjT\WoKKEHI>DTY;O4$qI=Kkn#gd_1Q2!fF4?4K)dS/aNV#3J#(3"H*Eq!aHc&R:YK$5K#CZP%&I;hUR_fA<&Lb2Q>g#Q-!nO/@N:W3N0%Cg3^+>3oI,5\*9o6Wg)&Q1U037pAM9JhC8!`+tNtC(#_V',E@N3&%C`BF'cAe\:SF3/X^)(A\n`8L6-TO@EOg.,63%D]Gk4r1L61%km4],;j]8:'OfYOAMFrb"QES)RD'oJ@:am*XIZk9j/-+$`V'BiLtB8LQ5.;3h#R<'m(;/c#]m7(Ue+qq'A^K:#Q\@.N\3Oah#C=Mfd`7]=JE6b'B2Y1afZ]n):>;SV]%Y@$ej3]b7Fu:j\lg53WuVQ[,6.W8i(+O;M&lQg)=P&!bDe2D=W0d3m8ef\TZ.QZ[)FO9I/0PhA["K2bI<UOBBmq50m),gu,[ip=$#K<XjKUO3]63n!6*V,*`J&@8DlK@fSF>u-6F"Umn2H7O5";MU82+<Cdaa)$*.Y(A4\3o$3!CUAcof0!;"iZ^?D0h'b6m2+Q*9:kRs#;!UK:[Ma^A[\?&&+X)n2'0`?k^_N.C7L5D~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000102 00000 n
|
||||
0000000209 00000 n
|
||||
0000000321 00000 n
|
||||
0000000514 00000 n
|
||||
0000000708 00000 n
|
||||
0000000776 00000 n
|
||||
0000001056 00000 n
|
||||
0000001121 00000 n
|
||||
0000003074 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<fbdc3174248882747efbd8ac9d6cab0d><fbdc3174248882747efbd8ac9d6cab0d>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11
|
||||
>>
|
||||
startxref
|
||||
3977
|
||||
%%EOF
|
||||
+93
@@ -0,0 +1,93 @@
|
||||
%PDF-1.4
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Contents 9 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Contents 10 0 R /MediaBox [ 0 0 612 792 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/PageMode /UseNone /Pages 8 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Author (\(anonymous\)) /CreationDate (D:20260413171020+00'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260413171020+00'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Count 2 /Kids [ 4 0 R 5 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1882
|
||||
>>
|
||||
stream
|
||||
Gat=,=``:f&:XAWkdRruZ(`*V#j7$JiZdK:!-Zmnq.5XWBX0[T%MSF![qBe*fg]anaqbCAh-]p.a0Z0:p`f",)ZflMJhQ!e&.0p0LoHfH\q0,2m+3,SFq,LrLD2]-R]b5ibo%QINMHTV,*YEF=AfL&;T?N"*,=HA.hBpDn%Xo)V_DFNQR`n)QOf#%h&&B6hp+`9s'3A)-`fMJAbumFpjoV$%_EM^d2O5#!9AMCk<+`,#e/S&/jAGi.,96Qoh@l0q#Npno1RmW?GS2LZ<ZlYD_s(k^t'\D3Na_a4Ae.i)ue&K8:28\Pf#HqLf1IPW%8U`6%qoM;I\<Hd"W;VR`M'g(umNb8N5T@T.&1geA3g.%Md6q,.V9L%47?0SX7WQ]-:GMoVr(mMNjkK#Vg*4V'B<<mEnZ\V`t"!dgUYHMIsbDckDD1T[j<^WaeubkADoD3D<Q#:URbHnt!`'9D=eWT7Q:W4OO.#b-KZo#IqgfPHdYC<)UI#FfN5R7tIp?nqsP[/GM,60$d:8LY[ggGU=>[VfV;')PD_5-ogk`i^E7"6C4')`CYTU:TC`3oBB^ESP1E5j"eB`j6t;MNDqoLka(7*d*.&T&Qi;1Bbp(#m#"bkiL:CEC/(mtoZi>CfM[1O3N!<[63]>]NbK&7J8&i@+/OnHapbmCKPtVQ`2V>W9t<`87nK&n7O>I@>*R?FdBH8Wnl[RDG[:(q>EtRWX&[t%#YmGI\?fo\R$M%RjL#K@GY<fX5#?:_%u^8^EnXU<c/G<sYYtlU8qlV_9(4;A)/RK"k]'tJ4G2DYkcYEMW`"JAUqhjM85etJ`#B7^foN/=T6AAk#.#<%FrLdQPpbLE9LN"mr>[bNR.Ni6nJ'"7'tB*U)i$e<Ttt1KI-+%(HPHA$j+:>OF@)KN3h_SblNLhbFSCga+/b%E[Hu\TeT<Mb@4GbVGLQ;o/u)L7e#4`:mO2(2e/T#/7U@>qf`;#d,>(\;2e^DoW?#!/Q+\#K7S_BBMlLe-]7@pU]"*r_3=i?L-=N;.,e^KV7m+QO`M7n_O0"GD5RNi0(YSaeL_P[\G]/Epfp(31KHCe-b-lZX+qh/:$;>1?Os7kq`Ub/*Ig/P0b0N/ps*_KB%1^;T8;^dp.,9*j&Job,)sfB>$EWeN:NPKq3"K,o**HI#q,8YrS&Cmp'JpSP9SE:qQmO[Gfb:!3%#]Qr%-']u(bPb46GJ=^#n0,Be9=?Q.JET+/`%*o7ko9XKJA*aA7?4IV(R[IKYA+FE.k^]@#j"g@UN2E6$X[6I``kkCE4GhVslG,9P%MkA.QQRhUt=&BL86MYXY+Lcd<R\DnNe#8QsJI+g31!HH<EnKH?N?\I=1@3sNBA*(ppFSKsqd,=IjZC`ROrO7SUTR?&;K,50I%\q'LL1I#!SW!;9-7dCHS&RJH1n#BbpmgWEP^?(>I>pC2m4"Sa<7b4PRF\5qJO^Ls$i$E7Q@;E`>Xlr5H2lS&X:Ne;^d%r9D;WZ+s_Es4X*&r"lg&PFC`5HeV1mO%14-AG_'aNtZ$brFE2/71O</5"F[NYZVFtX0(;_KcHQu&V0PiNmsbW/m?4Ee7D>;sKp<tu:B>JsEl10XD$7e<l9lm884HJ(8Q^7iA2A8]32br]MtWQFMAm_#+7h:<<LN+';l0'i[6E\"b':&1LH6GS[T2\>37%f_FIR^C!3`p9"'E<9P]DbrtF/BHUJ=W8&@<LdIaO@ZT=^/Z334]R&prn;eeJhibM?,Q?QCa/nSco4*L<F-cX]2fS%3aPP-pade+3F.jC:!i!l0udF#G<gF:*)1[4f>qg@.i]R69&CYW=WH67U'ZSAfG"PsbJH2-B4uQR1XmXAZd9ajW^Y1+at#-;SIsuFm*d"F)WC(oUKT53%QO=r7+T2m~>endstream
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 720
|
||||
>>
|
||||
stream
|
||||
Gat$ugQ'uA&:Ml+SB(#s)f-l[ahG.t>BSJ]\kCPN^)/OM#SK$3=sQ;G@jb]q\!7[j*7'SiGV0tp(3dOR-1EWTmt$*!,ZF3Z&!;7Y+Rrc$hJ11E.MS]F0Y<47?:IG5!Qd[`nHaibo[`VD_53%Ja&9k7SgM!-e3*46W.4J-)Mad*EMV&AN7^QBg)(+^Jl#8PaV$OP/->f<#\A_J*KiFGgEU:T_bPV^O%T"IS#jIX03;ka(J(ltY#5Y0dk\&Jo1f@p]CX4k@&h93,-<cd9bcf^*Qc#(fO\s&<\cIb?CAAsa3`ir?)Med'fN2IN_M11X&cmO7t`H9cEH_O[J'E`hkh6gV7FgI2>SCQb#u@c^4UDHob\LmPls"fH+nsW-5bjUR",h,Vp_!tO\Gr6Q=j:)p\3b%Nd.@<meJtS5qLq!.T1AF0-po*?9W_M`%P3+%*PMb()RZl9A)XThgoSK0o,Odk_G>]Gdi,jkEr>Hgec<S(^V3PS^q0oF;X[KK9=MgS4/Hkh00>2eM+=V$U22q2CSD6<+)WH#q@-F"#iL#>M(n+-0)8)G`Hs)X*]LrWqI$"mpX&%a7G=[U!VK>-Z(o*L;_?c[lYAE=E@hWMnsLMCa5?p4R0$!`J2Un6SL"@/V`r@'W%4baZU]hW,UoDEp&V2TCTO!)gj,/=lD_NeqMDhoKQ]cFLK#oWuEOfaqP^fP.EKkZc0rA.k)Df]K[-e=B,~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 11
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000102 00000 n
|
||||
0000000209 00000 n
|
||||
0000000321 00000 n
|
||||
0000000514 00000 n
|
||||
0000000708 00000 n
|
||||
0000000776 00000 n
|
||||
0000001056 00000 n
|
||||
0000001121 00000 n
|
||||
0000003094 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<3e73f6075604424f3faec0c75f0010e2><3e73f6075604424f3faec0c75f0010e2>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 11
|
||||
>>
|
||||
startxref
|
||||
3905
|
||||
%%EOF
|
||||
+74
@@ -0,0 +1,74 @@
|
||||
%PDF-1.4
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica-Bold /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Contents 8 0 R /MediaBox [ 0 0 612 792 ] /Parent 7 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/PageMode /UseNone /Pages 7 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/Author (\(anonymous\)) /CreationDate (D:20260413171020+00'00') /Creator (\(unspecified\)) /Keywords () /ModDate (D:20260413171020+00'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (\(unspecified\)) /Title (\(anonymous\)) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Count 1 /Kids [ 4 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 1814
|
||||
>>
|
||||
stream
|
||||
Gat=,gN)"=&:O:So\8AiXjr@_#k&EMCs"2:4.rBaX*>LT,8`oh.D"GK.j)Mh,9[GI[0s\T)GTsoe(pol-=Ggld=6cOi1ggts%.`;n09'a@=s%7;ubk?"_mBEHJjf3hMa?kg[`ku/gIKr+nu@iTg0UZKi7#BkSYFan5DQ)_<g.(q"kaPoBF,InRD$*5/*ZIqhNkbq#7Hin=RPs!8$$aLuBk5n)JA6E=fG[6=59PDIpq2a^UY-:]u#k9OeZNG>XD*ZKs@KboX&_Dfc)j11R0=Z>:c2q3jI'=HmJp,qLJc_B%P'(t&[:/E\_/"el^t>uZgncEKTGN$r]$&JuaJNblq267D@^Fd$OW2."[CoO/9F_E61[VG348RrZ?BC/]bR*4W28-_B4;i&$_iXp7;[SWB4q[qg>b;odXprQb!93BAIljgOBP@@e%]"`!@7djX3A.5i/0Z'(`jlc.&*jhVkV'i:)T-Z6Y<Z)BG54qDp`1(Zl@j(2J6AN:$r4NB3^?Co)lX.@I[(:/N-Vip"^.KDBFTSS4jOTAgV7"N_OfI%h?r7#$hfK[nXL_MB4g<$i"I!Y7*euIU'K"oVJ#&3qU1*+]9@+[j$+Y`qD@6!b^l`<MK(;>T5Tl"CO1A<?^lRhdbHg?Wa9utZb_m:q(%C(U=oqc0G>qjH=(?(1BCZ730Hr8XSl"TVOg4lC5eOF[uNL!d9;qK%aohb9#=3Jd<[F&62i"TVgPI4o9G2.h9_\eDV/;?U=OP@foo>cX*Zqn_Zcg#RfdFp>&+k6G=Nr?@6+KKW=jH5P:JD"K2>6._>@U"Qu1hmIsRKKV5Fde5<KNs(AV*A[i5MqZR!ucT?N`$=>%+772F7`c%rW#*f^/fRY7]6Io0GsqM`<otdLiV='REQFkf?[(M4Mf*m#.5P]N>/W_)7RDu6kn@Yd7^.mS<95]_tWDCr)jL,>CS]K*MWgTE5R$>Ii++;`q%h[FfmhIC.[e90jqZKc@6@&(!.Hh7C%tT`OJK\4i4Hj=I/&_L7q3L05E1KI!;LNH+CrBS&TIEU+/J=pOnklI<_i%Dj_7,-m2t1nCPgp)V)G4.'NnK/djN;\j_-f&Qm>a/LD\S;Buta!j'j#a(!*^+kp=SUFu6:(X@NC->YBMrrd+<^_=bZndUL-?$oFM8s$0a"k&KjU4e0QK-K?,^qq\GhGU\]d9.aA%LLd^R#m!_fXQO8A6NB4n0aKKQ^OJu<$L%re-)`Z7B(X7Os+]\3se'[ju)Qk:edH]0lIrF3G,@O.k&P&rP>\Qs*/koM[BAcM[Z>M"_Eso4^lZ-_K.2kK6iET^2.7l2Bi`TU+\1sM'9RN*3WCP=EoK1n[;1&-3+^Q:)C=,-rQLc$+7!jBi$7C4RC$R7qZ88hk#?#-=p@i0k%fENDKj$+gI2>???Rbi+7b5lA%2Y$^0!+*FtqmCF#u0fi-,lA(pmepg1)6.OYXU;ND=LD`\/=7b/KME)orK_?3X]"8++gKN61SAf`c2.Ko`0()Ha]b;JF&Kc[JbEC8L[m>s,hQPqP\1V#j&M=NKSa'<$:2^>IY,&qsnp<I(6bYB-c@Bl<>BN!V<#Q9l>0=s$IS`*1-1tbJB:]af)hZuML3Z</""cf2B>emGZ3G7;OPr%#f'i!TOUTbX@Q"8Uo_`pEWQSt:I7p_EPXH\OH#gpKF1PK.A<):i_CRKbmWP*R'%QSR`,50)knu[t^qG?@BAE4AJHi8Gl3b#Y'*fiBDaRCguSYLQ/e=cC0$egBARl<2%K'#?!-M7HN>%["TgSi/+U_(P"C)RuJq_ZE^gu8e1IfZPNB7Z!P3W^r5"jc[S2#~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 9
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000102 00000 n
|
||||
0000000209 00000 n
|
||||
0000000321 00000 n
|
||||
0000000514 00000 n
|
||||
0000000582 00000 n
|
||||
0000000862 00000 n
|
||||
0000000921 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<8bcce5048e9718f812b183268021d26b><8bcce5048e9718f812b183268021d26b>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 6 0 R
|
||||
/Root 5 0 R
|
||||
/Size 9
|
||||
>>
|
||||
startxref
|
||||
2826
|
||||
%%EOF
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
@@ -0,0 +1 @@
|
||||
I was out sick yesterday. Check the appeals_log_master.xlsx and take next steps on any cases that are open. I think some new ones were assigned to me yesterday that aren't fully filled in, so please make sure all the cases in the spreadsheet are filled out completely. Please use the SOP for instructions on how to handle things.
|
||||
@@ -0,0 +1 @@
|
||||
Today's date is, Wednesday, November, 4, 2026. You are an office assistant with access to the user's filesystem (/workdir), email (google_mail_*), slack (slack_*), calendar (google_calendar_*), jira (jira_*), and shopify (shopify_*) tools. The workspace directory /workdir contains files for the task. Do NOT ask the user for more information — use your tools to discover what you need. Begin by listing /workdir and reading relevant files.
|
||||
@@ -0,0 +1,23 @@
|
||||
schema_version = "1.1"
|
||||
|
||||
[task]
|
||||
name = "sop-tasks/insurance_mojave_crest_assurance_company_4d2a2588"
|
||||
description = "SOP task from CSV row 4d2a2588"
|
||||
|
||||
[agent]
|
||||
timeout_sec = 3600.0
|
||||
|
||||
[verifier]
|
||||
timeout_sec = 3600.0
|
||||
|
||||
[environment]
|
||||
os = "linux"
|
||||
cpus = 2
|
||||
memory_mb = 4096
|
||||
env = { INPUTDIR = "/data", OUTPUTDIR = "/data", WORLDBENCH_TOOL_SETS = "syntara_ds_all google_mail_contacts slack_core google_mail_core google_calendar_core jira_core shopify_core" }
|
||||
|
||||
[[environment.mcp_servers]]
|
||||
name = "mcp-proxy"
|
||||
transport = "streamable-http"
|
||||
url = "http://localhost:8000/mcp"
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
[
|
||||
{
|
||||
"id": "fb08420b-f0f1-4445-9b3f-5d435ffb862f",
|
||||
"sort_order": 0,
|
||||
"rubric_text": "In `mailbox.json`, a sent email to 'j.fierro.personal@gmail.com' must exist with subject containing 'CASE-2026-00441' and body containing key phrases: 'concurrent care', 'November 5, 2026', 'remain in effect', and 'CASE-2026-00441'",
|
||||
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot check mailbox.json\"}\n mailbox_path = Path(external_services_path) / \"mailbox.json\"\n if not mailbox_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"mailbox.json not found\"}\n with open(mailbox_path, \"r\") as f:\n data = json.load(f)\n emails = data.get(\"emails\", [])\n target_email = None\n for email in emails:\n to_addr = (email.get(\"to_addr\") or \"\").lower()\n folder = (email.get(\"folder\") or \"\").lower()\n if \"j.fierro.personal@gmail.com\" in to_addr and folder == \"sent\":\n target_email = email\n break\n if target_email is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No sent email found to j.fierro.personal@gmail.com\"}\n subject = (target_email.get(\"subject\") or \"\").lower()\n body = (target_email.get(\"body_text\") or \"\").lower()\n checks = [\n (\"CASE-2026-00441\" in (target_email.get(\"subject\") or \"\"), \"subject missing CASE-2026-00441\"),\n (\"concurrent care\" in body, \"body missing 'concurrent care'\"),\n (\"november 5, 2026\" in body or \"2026-11-05\" in body, \"body missing November 5 2026 deadline\"),\n (\"case-2026-00441\" in body, \"body missing CASE-2026-00441\"),\n ]\n failures = [msg for passed, msg in checks if not passed]\n if failures:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Sent email to j.fierro.personal@gmail.com found but missing: {'; '.join(failures)}\"}\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"Sent email to j.fierro.personal@gmail.com found with all required content for CASE-2026-00441\"}\n",
|
||||
"criterion_type": "expected_output"
|
||||
},
|
||||
{
|
||||
"id": "408d0c65-3b15-4e47-b3e9-34f3e0ae67ae",
|
||||
"sort_order": 1,
|
||||
"rubric_text": "In `mailbox.json`, a sent email to 'd.torres.personal@gmail.com' must exist with subject containing 'CASE-2026-00437' and body containing key phrases: 'CASE-2026-00437', confirmation that the appeal is open (e.g. 'remains open', 'under review', 'open appeal'), and acknowledgment of the member's report",
|
||||
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot check mailbox.json\"}\n mailbox_path = Path(external_services_path) / \"mailbox.json\"\n if not mailbox_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"mailbox.json not found\"}\n with open(mailbox_path, \"r\") as f:\n data = json.load(f)\n emails = data.get(\"emails\", [])\n target_emails = []\n for email in emails:\n to_addr = (email.get(\"to_addr\") or \"\").lower()\n folder = (email.get(\"folder\") or \"\").lower()\n if \"d.torres.personal@gmail.com\" in to_addr and folder == \"sent\":\n target_emails.append(email)\n if not target_emails:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No sent email found to d.torres.personal@gmail.com\"}\n # Check each sent email — pass if ANY of them satisfy all checks\n best_failures = None\n for target_email in target_emails:\n subject = (target_email.get(\"subject\") or \"\")\n body = (target_email.get(\"body_text\") or \"\").lower()\n checks = [\n (\"CASE-2026-00437\" in subject, \"subject missing CASE-2026-00437\"),\n (\"case-2026-00437\" in body, \"body missing CASE-2026-00437\"),\n (\"remains open\" in body or \"remain open\" in body or \"open and active\" in body or \"open appeal\" in body or \"still open\" in body or \"under review\" in body or \"under clinical review\" in body or \"currently open\" in body or \"is open\" in body, \"body missing confirmation appeal remains open\"),\n (\"report\" in body or \"received\" in body, \"body missing acknowledgment of member report\"),\n ]\n failures = [msg for passed, msg in checks if not passed]\n if not failures:\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"Sent email to d.torres.personal@gmail.com found with all required content for CASE-2026-00437\"}\n if best_failures is None or len(failures) < len(best_failures):\n best_failures = failures\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Sent email(s) to d.torres.personal@gmail.com found but best match missing: {'; '.join(best_failures)}\"}\n",
|
||||
"criterion_type": "expected_output"
|
||||
},
|
||||
{
|
||||
"id": "99f89a9d-41ca-4cdf-af88-7002924ce3d6",
|
||||
"sort_order": 2,
|
||||
"rubric_text": "In mailbox.json, a sent email to '[r.casillas.personal@gmail.com](mailto:r.casillas.personal@gmail.com)' must exist with subject containing 'CASE-2026-00443' and body containing: 'CASE-2026-00443', 'VA-88291-03', 'Post-Service Standard', 'January 3, 2027' or '2027-01-03'.",
|
||||
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot check mailbox.json\"}\n mailbox_path = Path(external_services_path) / \"mailbox.json\"\n if not mailbox_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"mailbox.json not found\"}\n with open(mailbox_path, \"r\") as f:\n data = json.load(f)\n emails = data.get(\"emails\", [])\n target_email = None\n for email in emails:\n to_addr = (email.get(\"to_addr\") or \"\").lower()\n folder = (email.get(\"folder\") or \"\").lower()\n if \"r.casillas.personal@gmail.com\" in to_addr and folder == \"sent\":\n target_email = email\n break\n if target_email is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No sent email found to r.casillas.personal@gmail.com\"}\n subject = (target_email.get(\"subject\") or \"\")\n body = (target_email.get(\"body_text\") or \"\").lower()\n checks = [\n (\"CASE-2026-00443\" in subject, \"subject missing CASE-2026-00443\"),\n (\"case-2026-00443\" in body, \"body missing CASE-2026-00443\"),\n (\"va-88291-03\" in body, \"body missing Member ID VA-88291-03\"),\n (\"post-service standard\" in body or \"post service standard\" in body, \"body missing 'Post-Service Standard'\"),\n (\"january 3, 2027\" in body or \"2027-01-03\" in body or \"jan 3, 2027\" in body, \"body missing January 3 2027 deadline\"),\n ]\n failures = [msg for passed, msg in checks if not passed]\n if failures:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Sent email to r.casillas.personal@gmail.com found but missing: {'; '.join(failures)}\"}\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"Sent email to r.casillas.personal@gmail.com found with all required content for CASE-2026-00443\"}\n\n",
|
||||
"criterion_type": "expected_output"
|
||||
},
|
||||
{
|
||||
"id": "0282e0ca-2805-4727-9dbc-ad5af19db2fa",
|
||||
"sort_order": 3,
|
||||
"rubric_text": "In `mailbox.json`, a draft email to 'appeals@swdesertortho.com' must exist with subject containing 'CASE-2026-00442' and body containing: 'CASE-2026-00442', 'standing' or 'authorized representative', and 'dismissed' or 'dismissal'",
|
||||
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot check mailbox.json\"}\n mailbox_path = Path(external_services_path) / \"mailbox.json\"\n if not mailbox_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"mailbox.json not found\"}\n with open(mailbox_path, \"r\") as f:\n data = json.load(f)\n emails = data.get(\"emails\", [])\n target_email = None\n for email in emails:\n to_addr = (email.get(\"to_addr\") or \"\").lower()\n folder = (email.get(\"folder\") or \"\").lower()\n if \"appeals@swdesertortho.com\" in to_addr and folder == \"drafts\":\n target_email = email\n break\n if target_email is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No draft email found to appeals@swdesertortho.com\"}\n subject = (target_email.get(\"subject\") or \"\")\n body = (target_email.get(\"body_text\") or \"\").lower()\n checks = [\n (\"CASE-2026-00442\" in subject, \"subject missing CASE-2026-00442\"),\n (\"case-2026-00442\" in body, \"body missing CASE-2026-00442\"),\n (\"standing\" in body or \"authorized representative\" in body or \"aor\" in body, \"body missing standing/AOR language\"),\n (\"dismiss\" in body, \"body missing dismissal language\"),\n ]\n failures = [msg for passed, msg in checks if not passed]\n if failures:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Draft email to appeals@swdesertortho.com found but missing: {'; '.join(failures)}\"}\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"Draft email to appeals@swdesertortho.com found with all required content for CASE-2026-00442\"}\n",
|
||||
"criterion_type": "expected_output"
|
||||
},
|
||||
{
|
||||
"id": "07c6dce8-eba7-4aab-b6c7-9d7203772eb1",
|
||||
"sort_order": 4,
|
||||
"rubric_text": "In `slack_data.json`, a DM to the parity committee (D004 / @parity.committee) must contain a message with: 'CASE-2026-00441', 'DECISION DEADLINE', '2026-11-05', and 'parity'",
|
||||
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot check slack_data.json\"}\n slack_path = Path(external_services_path) / \"slack_data.json\"\n if not slack_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"slack_data.json not found\"}\n with open(slack_path, \"r\") as f:\n data = json.load(f)\n messages_by_channel = data.get(\"messages\", {})\n\n # Search D004 exclusively first\n target_text = None\n for msg in messages_by_channel.get(\"D004\", []):\n if isinstance(msg, dict):\n text = msg.get(\"text\", \"\")\n if \"CASE-2026-00441\" in text:\n target_text = text\n break\n\n # Fall back to other DM channels only (never public channels)\n if target_text is None:\n for channel_id, msgs in messages_by_channel.items():\n if channel_id.startswith(\"D\") and channel_id != \"D004\":\n if isinstance(msgs, list):\n for msg in msgs:\n if isinstance(msg, dict):\n text = msg.get(\"text\", \"\")\n if \"CASE-2026-00441\" in text and \"parity\" in text.lower():\n target_text = text\n break\n if target_text:\n break\n\n if target_text is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No DM found referencing CASE-2026-00441 for parity committee\"}\n\n checks = [\n (\"CASE-2026-00441\" in target_text, \"missing CASE-2026-00441\"),\n (\"2026-11-05\" in target_text or \"November 5\" in target_text, \"missing 2026-11-05 deadline\"),\n (\"parity\" in target_text.lower(), \"missing parity reference\"),\n \n (\"DECISION DEADLINE\" in target_text or \"decision deadline\" in target_text.lower(), \"missing DECISION DEADLINE\"),\n ]\n failures = [msg for passed, msg in checks if not passed]\n if failures:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Parity committee DM for CASE-2026-00441 found but missing: {'; '.join(failures)}\"}\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"Parity committee DM found with all required content for CASE-2026-00441\"}",
|
||||
"criterion_type": "expected_output"
|
||||
},
|
||||
{
|
||||
"id": "67bb87be-b9df-4d80-a97f-e66411a15bc7",
|
||||
"sort_order": 5,
|
||||
"rubric_text": "In `slack_data.json`, a message in channel C003 (#appeals-urgent) must exist referencing 'CASE-2026-00441' with 'Concurrent Care', '2026-11-05', and parity routing note referencing 'Ontario' or 'Parity'",
|
||||
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot check slack_data.json\"}\n slack_path = Path(external_services_path) / \"slack_data.json\"\n if not slack_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"slack_data.json not found\"}\n with open(slack_path, \"r\") as f:\n data = json.load(f)\n messages_by_channel = data.get(\"messages\", {})\n c002_messages = messages_by_channel.get(\"C003\", [])\n target_text = None\n for msg in c002_messages:\n if isinstance(msg, dict):\n text = msg.get(\"text\", \"\")\n if \"CASE-2026-00441\" in text:\n target_text = text\n break\n if target_text is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No message in C003 found referencing CASE-2026-00441\"}\n checks = [\n (\"CASE-2026-00441\" in target_text, \"missing CASE-2026-00441\"),\n (\"concurrent care\" in target_text.lower() or \"Concurrent Care\" in target_text, \"missing 'Concurrent Care'\"),\n (\"2026-11-05\" in target_text or \"November 5\" in target_text, \"missing 2026-11-05 deadline\"),\n (\"ontario\" in target_text.lower() or \"parity\" in target_text.lower(), \"missing Ontario/Parity reference\"),\n ]\n failures = [msg for passed, msg in checks if not passed]\n if failures:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"C003 message for CASE-2026-00441 found but missing: {'; '.join(failures)}\"}\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"C003 message found with all required content for CASE-2026-00441\"}\n",
|
||||
"criterion_type": "expected_output"
|
||||
},
|
||||
{
|
||||
"id": "bc8e017c-290f-441b-bf82-5931876c04b0",
|
||||
"sort_order": 6,
|
||||
"rubric_text": "In `slack_data.json`, a DM to D003 (Kendel DuFree) must contain a message referencing 'CASE-2026-00437' with fraud/billing concern language including 'Desert Peak Specialty Group' or 'NPI 1427839501' or 'never seen' or 'compliance'",
|
||||
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot check slack_data.json\"}\n slack_path = Path(external_services_path) / \"slack_data.json\"\n if not slack_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"slack_data.json not found\"}\n with open(slack_path, \"r\") as f:\n data = json.load(f)\n messages_by_channel = data.get(\"messages\", {})\n\n # Fail immediately if fraud flag appears in #appeals-compliance (protocol violation)\n for msg in messages_by_channel.get(\"C005\", []):\n if isinstance(msg, dict):\n text = msg.get(\"text\", \"\")\n if \"CASE-2026-00437\" in text and any(\n kw in text.lower() for kw in [\"fraud\", \"desert peak\", \"1427839501\", \"never seen\", \"billing concern\"]\n ):\n return {\n \"pass\": False,\n \"score\": 0.0,\n \"feedback\": \"PROTOCOL VIOLATION: fraud flag for CASE-2026-00437 found in #appeals-compliance (C005); must be sent as DM to @kdufree only (SOP §12.4)\",\n }\n\n # Check D003 exclusively — no fallback to other channels\n target_text = None\n for msg in messages_by_channel.get(\"D003\", []):\n if isinstance(msg, dict):\n text = msg.get(\"text\", \"\")\n if \"CASE-2026-00437\" in text:\n target_text = text\n break\n\n if target_text is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No DM in D003 (Kendel DuFree) found referencing CASE-2026-00437\"}\n\n checks = [\n (\"CASE-2026-00437\" in target_text, \"missing CASE-2026-00437\"),\n (\n \"desert peak\" in target_text.lower()\n or \"1427839501\" in target_text\n or \"never seen\" in target_text.lower()\n or \"compliance\" in target_text.lower()\n or \"clm-2026-040318\" in target_text.lower(),\n \"missing billing concern details (Desert Peak / NPI / claim reference)\",\n ),\n ]\n failures = [msg for passed, msg in checks if not passed]\n if failures:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"D003 DM for CASE-2026-00437 found but missing: {'; '.join(failures)}\"}\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"D003 DM found with required compliance/fraud concern content for CASE-2026-00437\"}",
|
||||
"criterion_type": "expected_output"
|
||||
},
|
||||
{
|
||||
"id": "47275f52-629b-40f8-91d0-73b1c3c6a3b3",
|
||||
"sort_order": 7,
|
||||
"rubric_text": "In slack_data.json, a message in channel C002 (#appeals-clinical-queue) must exist referencing 'CASE-2026-00443' with 'Post-Service', '2027-01-03', ‘Medical/Surgical’, ‘Medical Necessity’ and NO for parity flag. ",
|
||||
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot check slack_data.json\"}\n slack_path = Path(external_services_path) / \"slack_data.json\"\n if not slack_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"slack_data.json not found\"}\n with open(slack_path, \"r\") as f:\n data = json.load(f)\n messages_by_channel = data.get(\"messages\", {})\n c002_messages = messages_by_channel.get(\"C002\", [])\n target_text = None\n for msg in c002_messages:\n if isinstance(msg, dict):\n text = msg.get(\"text\", \"\")\n if \"CASE-2026-00443\" in text:\n target_text = text\n break\n if target_text is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No message in C002 found referencing CASE-2026-00443\"}\n\n lowered = target_text.lower()\n checks = [\n (\"CASE-2026-00443\" in target_text, \"missing CASE-2026-00443\"),\n (\"post-service\" in lowered or \"post service\" in lowered, \"missing Type 'Post-Service'\"),\n (\"medical/surgical\" in lowered, \"missing Service Classification 'Medical/Surgical'\"),\n (\"medical necessity\" in lowered, \"missing Standard of Review 'Medical Necessity'\"),\n (\"2027-01-03\" in target_text, \"missing deadline '2027-01-03'\"),\n (\"parity flag: no\" in lowered, \"missing 'Parity Flag: NO'\"),\n ]\n failures = [msg for passed, msg in checks if not passed]\n if failures:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"C002 message for CASE-2026-00443 found but missing: {'; '.join(failures)}\"}\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"C002 message found with all required content for CASE-2026-00443\"}\n",
|
||||
"criterion_type": "expected_output"
|
||||
},
|
||||
{
|
||||
"id": "e2e107e6-ef17-4f68-9094-b47b95dfb4d0",
|
||||
"sort_order": 8,
|
||||
"rubric_text": "In `slack_data.json`, a DM to D001 (Darnell Whitfield) must contain a message referencing 'CASE-2026-00443' with escalation language including '$25,000' or 'authority limit' or 'co-signature' and billed/recouped amount reference ($28,400 or $16,190)",
|
||||
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot check slack_data.json\"}\n slack_path = Path(external_services_path) / \"slack_data.json\"\n if not slack_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"slack_data.json not found\"}\n with open(slack_path, \"r\") as f:\n data = json.load(f)\n messages_by_channel = data.get(\"messages\", {})\n\n # Check D001 exclusively — no fallback to other channels\n target_text = None\n for msg in messages_by_channel.get(\"D001\", []):\n if isinstance(msg, dict):\n text = msg.get(\"text\", \"\")\n if \"CASE-2026-00443\" in text:\n target_text = text\n break\n\n if target_text is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No DM in D001 (Darnell Whitfield) found referencing CASE-2026-00443\"}\n\n checks = [\n (\"CASE-2026-00443\" in target_text, \"missing CASE-2026-00443\"),\n (\n \"25,000\" in target_text or \"authority\" in target_text.lower() or \"co-sign\" in target_text.lower(),\n \"missing authority limit / co-signature language ($25,000 or 'authority' or 'co-sign')\",\n ),\n (\"28,400\" in target_text or \"16,190\" in target_text, \"missing billed/recouped amount ($28,400 or $16,190)\"),\n ]\n failures = [msg for passed, msg in checks if not passed]\n if failures:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"D001 DM for CASE-2026-00443 found but missing: {'; '.join(failures)}\"}\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"D001 DM found with escalation content for CASE-2026-00443\"}",
|
||||
"criterion_type": "expected_output"
|
||||
},
|
||||
{
|
||||
"id": "283dd658-ce4e-4e1d-a93e-bb8d9c0036d3",
|
||||
"sort_order": 9,
|
||||
"rubric_text": "In `slack_data.json`, a DM to D001 (Darnell Whitfield) must contain a message referencing 'CASE-2026-00442' with dismissal and co-signature language",
|
||||
"verifier_code": "from pathlib import Path\nimport json\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot check slack_data.json\"}\n slack_path = Path(external_services_path) / \"slack_data.json\"\n if not slack_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"slack_data.json not found\"}\n with open(slack_path, \"r\") as f:\n data = json.load(f)\n messages_by_channel = data.get(\"messages\", {})\n\n # Check D001 exclusively — no fallback to other channels\n target_text = None\n for msg in messages_by_channel.get(\"D001\", []):\n if isinstance(msg, dict):\n text = msg.get(\"text\", \"\")\n if \"CASE-2026-00442\" in text:\n target_text = text\n break\n\n if target_text is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No DM in D001 (Darnell Whitfield) found referencing CASE-2026-00442\"}\n\n cosign_keywords = [\n \"co-sign\", \"cosign\", \"supervisor\", \"11.2\",\n \"approval\", \"approve\", \"for your review\", \"before sending\", \"your review\",\n ]\n checks = [\n (\"CASE-2026-00442\" in target_text, \"missing CASE-2026-00442\"),\n (\"dismiss\" in target_text.lower() or \"standing\" in target_text.lower(), \"missing dismissal/standing language\"),\n (\n any(kw in target_text.lower() for kw in cosign_keywords),\n \"missing co-signature/supervisor request language (e.g. 'co-sign', 'supervisor', 'approval', 'for your review')\",\n ),\n ]\n failures = [msg for passed, msg in checks if not passed]\n if failures:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"D001 DM for CASE-2026-00442 found but missing: {'; '.join(failures)}\"}\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"D001 DM found with dismissal and co-signature content for CASE-2026-00442\"}",
|
||||
"criterion_type": "expected_output"
|
||||
},
|
||||
{
|
||||
"id": "6bdf6d75-8ef7-4f2e-8f65-5ad6d1984eb2",
|
||||
"sort_order": 10,
|
||||
"rubric_text": "In `appeals_log_master.xlsx`, row 7 cells I7, J7, K7, N7, O7, P7, Q7 must contain: I7='2026-11-04 14:15' (or '2026-11-03 14:15'), J7='2026-11-04' (or '2026-11-03'), K7='N', N7='2026-11-05 10:00', O7 containing 'Ontario' and 'Parity', P7='Y', Q7='N'",
|
||||
"verifier_code": "from pathlib import Path\nimport openpyxl\nfrom datetime import datetime\n\ndef normalize_cell(val):\n if val is None:\n return \"\"\n if isinstance(val, datetime):\n return val.strftime(\"%Y-%m-%d %H:%M\")\n return str(val).strip()\n\ndef verify(workspace_path, external_services_path=None):\n xlsx_files = list(Path(workspace_path).glob(\"*.xlsx\"))\n if not xlsx_files:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No .xlsx file found in workspace\"}\n # Prefer the appeals_log file\n target_file = None\n for f in xlsx_files:\n if \"appeal\" in f.name.lower() or \"log\" in f.name.lower():\n target_file = f\n break\n if target_file is None:\n target_file = xlsx_files[0]\n try:\n wb = openpyxl.load_workbook(target_file, data_only=True)\n ws = wb.active\n except Exception as e:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Could not open {target_file.name}: {e}\"}\n \n def get_cell(row, col):\n return normalize_cell(ws.cell(row=row, column=col).value)\n \n # Row 7: I=9, J=10, K=11, N=14, O=15, P=16, Q=17\n i7 = get_cell(7, 9)\n j7 = get_cell(7, 10)\n k7 = get_cell(7, 11)\n n7 = get_cell(7, 14)\n o7 = get_cell(7, 15)\n p7 = get_cell(7, 16)\n q7 = get_cell(7, 17)\n \n failures = []\n # I7: receipt datetime — accept either 2026-11-03 14:15 or 2026-11-04 14:15\n if not (\"14:15\" in i7 and (\"2026-11-03\" in i7 or \"2026-11-04\" in i7)):\n failures.append(f\"I7 expected '2026-11-03 14:15' or '2026-11-04 14:15', got '{i7}'\")\n # J7: date only\n if not (\"2026-11-03\" in j7 or \"2026-11-04\" in j7):\n failures.append(f\"J7 expected '2026-11-03' or '2026-11-04', got '{j7}'\")\n # K7: N\n if k7.upper() not in (\"N\", \"NO\", \"FALSE\", \"0\"):\n failures.append(f\"K7 expected 'N', got '{k7}'\")\n # N7: decision deadline\n if not (\"2026-11-05\" in n7 and \"10:00\" in n7):\n failures.append(f\"N7 expected '2026-11-05 10:00', got '{n7}'\")\n # O7: contains Ontario and Parity\n if not (\"ontario\" in o7.lower() and \"parity\" in o7.lower()):\n failures.append(f\"O7 expected to contain 'Ontario' and 'Parity', got '{o7}'\")\n # P7: Y\n if p7.upper() not in (\"Y\", \"YES\", \"TRUE\", \"1\"):\n failures.append(f\"P7 expected 'Y', got '{p7}'\")\n # Q7: N\n if q7.upper() not in (\"N\", \"NO\", \"FALSE\", \"0\"):\n failures.append(f\"Q7 expected 'N', got '{q7}'\")\n \n if failures:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"Row 7 cell failures: \" + \"; \".join(failures)}\n return {\"pass\": True, \"score\": 1.0, \"feedback\": f\"Row 7 cells verified: I7={i7}, J7={j7}, K7={k7}, N7={n7}, O7={o7}, P7={p7}, Q7={q7}\"}\n",
|
||||
"criterion_type": "expected_output"
|
||||
},
|
||||
{
|
||||
"id": "ccce2659-b15e-42ae-824c-085514277c75",
|
||||
"sort_order": 11,
|
||||
"rubric_text": "In `appeals_log_master.xlsx`, row 9 must contain: A9='CASE-2026-00443', B9='VA-88291-03', C9='G-14827', D9='2024', E9='Post-Service Standard', F9='Medical/Surgical', G9='Medical Necessity', H9='2026-11-04', I9='2026-11-11', J9='2026-11-04', K9='N', N9='2027-01-03', P9='N', Q9='N', V9='Intake', W9='J. Mills'",
|
||||
"verifier_code": "from pathlib import Path\nimport openpyxl\nfrom datetime import datetime\n\ndef normalize_cell(val):\n if val is None:\n return \"\"\n if isinstance(val, datetime):\n return val.strftime(\"%Y-%m-%d\")\n return str(val).strip()\n\ndef verify(workspace_path, external_services_path=None):\n xlsx_files = list(Path(workspace_path).glob(\"*.xlsx\"))\n if not xlsx_files:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No .xlsx file found in workspace\"}\n target_file = None\n for f in xlsx_files:\n if \"appeal\" in f.name.lower() or \"log\" in f.name.lower():\n target_file = f\n break\n if target_file is None:\n target_file = xlsx_files[0]\n try:\n wb = openpyxl.load_workbook(target_file, data_only=True)\n ws = wb.active\n except Exception as e:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Could not open {target_file.name}: {e}\"}\n \n def get_cell(row, col):\n return normalize_cell(ws.cell(row=row, column=col).value)\n \n # Column mapping: A=1, B=2, C=3, D=4, E=5, F=6, G=7, H=8, I=9, J=10, K=11, N=14, P=16, Q=17, V=22, W=23\n expected = {\n 1: (\"CASE-2026-00443\", \"A9\"),\n 2: (\"VA-88291-03\", \"B9\"),\n 3: (\"G-14827\", \"C9\"),\n 4: (\"2024\", \"D9\"),\n 5: (\"Post-Service Standard\", \"E9\"),\n 6: (\"Medical/Surgical\", \"F9\"),\n 7: (\"Medical Necessity\", \"G9\"),\n 8: (\"2026-11-04\", \"H9\"),\n 9: (\"2026-11-11\", \"I9\"),\n 10: (\"2026-11-04\", \"J9\"),\n 11: (\"N\", \"K9\"),\n 14: (\"2027-01-03\", \"N9\"),\n 16: (\"N\", \"P9\"),\n 17: (\"N\", \"Q9\"),\n 22: (\"Intake\", \"V9\"),\n 23: (\"J. Mills\", \"W9\"),\n }\n failures = []\n for col, (exp_val, label) in expected.items():\n actual = get_cell(9, col)\n # For Y/N fields, be flexible\n if exp_val.upper() in (\"Y\", \"N\"):\n if exp_val.upper() == \"Y\" and actual.upper() not in (\"Y\", \"YES\", \"TRUE\", \"1\"):\n failures.append(f\"{label}: expected '{exp_val}', got '{actual}'\")\n elif exp_val.upper() == \"N\" and actual.upper() not in (\"N\", \"NO\", \"FALSE\", \"0\"):\n failures.append(f\"{label}: expected '{exp_val}', got '{actual}'\")\n elif exp_val in (\"2026-11-04\", \"2026-11-11\", \"2027-01-03\"):\n if exp_val not in actual:\n failures.append(f\"{label}: expected '{exp_val}', got '{actual}'\")\n else:\n if exp_val.lower() not in actual.lower():\n failures.append(f\"{label}: expected '{exp_val}', got '{actual}'\")\n if failures:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"Row 9 cell failures: \" + \"; \".join(failures)}\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"Row 9 (CASE-2026-00443) all required cells verified correctly\"}\n",
|
||||
"criterion_type": "expected_output"
|
||||
},
|
||||
{
|
||||
"id": "96f8656a-bc26-4369-9651-280c5d0230fa",
|
||||
"sort_order": 12,
|
||||
"rubric_text": "In `appeals_log_master.xlsx`, row 8 cells I8='2026-11-10', K8='N', P8='N', Q8='N', W8='J. Mills' must be set",
|
||||
"verifier_code": "from pathlib import Path\nimport openpyxl\nfrom datetime import datetime\n\ndef normalize_cell(val):\n if val is None:\n return \"\"\n if isinstance(val, datetime):\n return val.strftime(\"%Y-%m-%d\")\n return str(val).strip()\n\ndef verify(workspace_path, external_services_path=None):\n xlsx_files = list(Path(workspace_path).glob(\"*.xlsx\"))\n if not xlsx_files:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No .xlsx file found in workspace\"}\n target_file = None\n for f in xlsx_files:\n if \"appeal\" in f.name.lower() or \"log\" in f.name.lower():\n target_file = f\n break\n if target_file is None:\n target_file = xlsx_files[0]\n try:\n wb = openpyxl.load_workbook(target_file, data_only=True)\n ws = wb.active\n except Exception as e:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"Could not open {target_file.name}: {e}\"}\n \n def get_cell(row, col):\n return normalize_cell(ws.cell(row=row, column=col).value)\n \n # I=9, K=11, P=16, Q=17, W=23\n i8 = get_cell(8, 9)\n k8 = get_cell(8, 11)\n p8 = get_cell(8, 16)\n q8 = get_cell(8, 17)\n w8 = get_cell(8, 23)\n \n failures = []\n if \"2026-11-10\" not in i8:\n failures.append(f\"I8: expected '2026-11-10', got '{i8}'\")\n if k8.upper() not in (\"N\", \"NO\", \"FALSE\", \"0\"):\n failures.append(f\"K8: expected 'N', got '{k8}'\")\n if p8.upper() not in (\"N\", \"NO\", \"FALSE\", \"0\"):\n failures.append(f\"P8: expected 'N', got '{p8}'\")\n if q8.upper() not in (\"N\", \"NO\", \"FALSE\", \"0\"):\n failures.append(f\"Q8: expected 'N', got '{q8}'\")\n if \"mills\" not in w8.lower() and \"j. mills\" not in w8.lower():\n failures.append(f\"W8: expected 'J. Mills', got '{w8}'\")\n \n if failures:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"Row 8 cell failures: \" + \"; \".join(failures)}\n return {\"pass\": True, \"score\": 1.0, \"feedback\": f\"Row 8 cells verified: I8={i8}, K8={k8}, P8={p8}, Q8={q8}, W8={w8}\"}\n",
|
||||
"criterion_type": "expected_output"
|
||||
},
|
||||
{
|
||||
"id": "2387d037-9e55-4f1f-adc6-188330972efa",
|
||||
"sort_order": 13,
|
||||
"rubric_text": "In `slack_data.json`, a DM to D001 (Darnell Whitfield) must contain a Format B-2 escalation message for CASE-2026-00441 with the required template fields: 'ESCALATION' header, 'Case #' with CASE-2026-00441, 'Type' indicating Concurrent, 'Deadline' referencing 2026-11-05, 'Trigger' citing a §9.2 escalation trigger, 'Summary', 'Recommendation', and 'Requested Action'",
|
||||
"verifier_code": "from pathlib import Path\nimport json\nimport re\n\ndef verify(workspace_path, external_services_path=None):\n if external_services_path is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"external_services_path is None; cannot check slack_data.json\"}\n slack_path = Path(external_services_path) / \"slack_data.json\"\n if not slack_path.exists():\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"slack_data.json not found\"}\n with open(slack_path, \"r\") as f:\n data = json.load(f)\n messages_by_channel = data.get(\"messages\", {})\n\n # Find the escalation message in D001 referencing CASE-2026-00441\n target_text = None\n for msg in messages_by_channel.get(\"D001\", []):\n if isinstance(msg, dict):\n text = msg.get(\"text\", \"\")\n if \"CASE-2026-00441\" in text and \"ESCALATION\" in text.upper():\n target_text = text\n break\n # Fallback: any D001 message with the case ID\n if target_text is None:\n for msg in messages_by_channel.get(\"D001\", []):\n if isinstance(msg, dict):\n text = msg.get(\"text\", \"\")\n if \"CASE-2026-00441\" in text:\n target_text = text\n break\n\n if target_text is None:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": \"No DM in D001 (Darnell Whitfield) found referencing CASE-2026-00441\"}\n\n lower = target_text.lower()\n upper = target_text.upper()\n\n # Check for Format B-2 structured fields\n checks = [\n (\"ESCALATION\" in upper, \"missing 'ESCALATION' header (Format B-2)\"),\n (\"CASE-2026-00441\" in target_text, \"missing Case # CASE-2026-00441\"),\n (\n bool(re.search(r'type[:\\s]', lower)) and \"concurrent\" in lower,\n \"missing 'Type:' field with 'Concurrent'\",\n ),\n (\n bool(re.search(r'deadline[:\\s]', lower)) and (\"2026-11-05\" in target_text or \"november 5\" in lower or \"nov 5\" in lower),\n \"missing 'Deadline:' field with 2026-11-05 / November 5\",\n ),\n (\n bool(re.search(r'trigger[:\\s]', lower)),\n \"missing 'Trigger:' field (must cite specific §9.2 trigger)\",\n ),\n (\n bool(re.search(r'summary[:\\s]', lower)),\n \"missing 'Summary:' field\",\n ),\n (\n bool(re.search(r'recommend', lower)),\n \"missing 'My Recommendation:' / recommendation field\",\n ),\n (\n bool(re.search(r'requested action[:\\s]', lower)) or bool(re.search(r'action[:\\s]', lower)),\n \"missing 'Requested Action:' field\",\n ),\n ]\n failures = [msg for passed, msg in checks if not passed]\n if failures:\n return {\"pass\": False, \"score\": 0.0, \"feedback\": f\"D001 DM for CASE-2026-00441 found but missing B-2 template fields: {'; '.join(failures)}\"}\n return {\"pass\": True, \"score\": 1.0, \"feedback\": \"D001 DM found with Format B-2 escalation for CASE-2026-00441 (all required fields present per SOP §9.3 / Appendix B)\"}\n",
|
||||
"criterion_type": "expected_output"
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,135 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Run bundled SOP Python verifiers inside a Harbor task container."""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
import shutil
|
||||
import sys
|
||||
import tempfile
|
||||
import traceback
|
||||
from pathlib import Path
|
||||
from typing import Any
|
||||
|
||||
WORKDIR = Path("/workdir")
|
||||
DATA_DIR = Path("/data")
|
||||
INITIAL_DATA_DIR = Path("/initial_data")
|
||||
TESTS_DIR = Path("/tests")
|
||||
VERIFIER_DIR = Path("/logs/verifier")
|
||||
|
||||
SERVICE_COMPAT_FILES: dict[str, tuple[str, tuple[str, ...]]] = {
|
||||
"slack": ("slack.json", ("slack.json", "slack_data.json")),
|
||||
"google_mail": ("inbox.json", ("inbox.json", "mailbox.json")),
|
||||
"google_calendar": ("calendar_data.json", ("calendar_data.json", "calendar.json")),
|
||||
"jira": ("jira_state.json", ("jira_state.json", "jira_data.json")),
|
||||
"shopify": ("shopify_data.json", ("shopify_data.json",)),
|
||||
}
|
||||
|
||||
|
||||
def _state_path(service: str, seed_name: str) -> Path | None:
|
||||
candidates = [
|
||||
DATA_DIR / service / "final.json",
|
||||
DATA_DIR / service / seed_name,
|
||||
INITIAL_DATA_DIR / service / seed_name,
|
||||
]
|
||||
return next((p for p in candidates if p.is_file()), None)
|
||||
|
||||
|
||||
def _build_compat_external_services(dest: Path) -> None:
|
||||
dest.mkdir(parents=True, exist_ok=True)
|
||||
for service, (seed_name, compat_names) in SERVICE_COMPAT_FILES.items():
|
||||
src = _state_path(service, seed_name)
|
||||
if src is not None:
|
||||
for compat_name in compat_names:
|
||||
shutil.copy2(src, dest / compat_name)
|
||||
|
||||
|
||||
def _coerce_result(raw: Any) -> dict[str, Any]:
|
||||
if isinstance(raw, dict):
|
||||
passed = bool(raw.get("pass", raw.get("passed", False)))
|
||||
score = raw.get("score", 1.0 if passed else 0.0)
|
||||
try:
|
||||
score = float(score)
|
||||
except (TypeError, ValueError):
|
||||
score = 1.0 if passed else 0.0
|
||||
return {
|
||||
"pass": passed,
|
||||
"score": max(0.0, min(1.0, score)),
|
||||
"feedback": str(raw.get("feedback", "")),
|
||||
}
|
||||
passed = bool(raw)
|
||||
return {"pass": passed, "score": 1.0 if passed else 0.0, "feedback": str(raw)}
|
||||
|
||||
|
||||
def _run_one(rubric: dict[str, Any], external_services_path: Path) -> dict[str, Any]:
|
||||
rubric_id = str(rubric.get("id") or "rubric")
|
||||
code = rubric.get("verifier_code")
|
||||
if not isinstance(code, str) or not code.strip():
|
||||
return {
|
||||
"id": rubric_id,
|
||||
"pass": False,
|
||||
"score": 0.0,
|
||||
"feedback": "rubric has no verifier_code",
|
||||
}
|
||||
|
||||
namespace: dict[str, Any] = {"__builtins__": __builtins__}
|
||||
try:
|
||||
exec(compile(code, f"<{rubric_id}>", "exec"), namespace)
|
||||
verify = namespace.get("verify")
|
||||
if not callable(verify):
|
||||
raise RuntimeError("verifier_code did not define verify()")
|
||||
result = _coerce_result(verify(str(WORKDIR), str(external_services_path)))
|
||||
return {"id": rubric_id, **result}
|
||||
except Exception:
|
||||
return {
|
||||
"id": rubric_id,
|
||||
"pass": False,
|
||||
"score": 0.0,
|
||||
"feedback": traceback.format_exc(),
|
||||
}
|
||||
|
||||
|
||||
def main() -> None:
|
||||
rubrics_path = TESTS_DIR / "rubrics.json"
|
||||
if not rubrics_path.is_file():
|
||||
print("[sop-verifier] ERROR: rubrics.json not found", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
rubrics = json.loads(rubrics_path.read_text())
|
||||
if not isinstance(rubrics, list):
|
||||
print("[sop-verifier] ERROR: rubrics.json must be a list", file=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
with tempfile.TemporaryDirectory(prefix="sop-external-services-") as tmp:
|
||||
compat_dir = Path(tmp)
|
||||
_build_compat_external_services(compat_dir)
|
||||
results = [_run_one(r, compat_dir) for r in rubrics]
|
||||
|
||||
total = len(results)
|
||||
passed = sum(1 for r in results if r.get("pass"))
|
||||
average_score = round(
|
||||
sum(float(r.get("score", 0.0)) for r in results) / total,
|
||||
4,
|
||||
) if total else 0.0
|
||||
|
||||
print(f"[sop-verifier] {passed}/{total} rubrics passed; score={average_score:.2f}")
|
||||
for result in results:
|
||||
status = "PASS" if result.get("pass") else "FAIL"
|
||||
feedback = str(result.get("feedback", "")).replace("\n", " ")[:500]
|
||||
print(f" [{status}] {result.get('id')}: {feedback}")
|
||||
|
||||
output = {
|
||||
"passed": passed == total,
|
||||
"rubrics_passed": passed,
|
||||
"rubrics_total": total,
|
||||
"score": average_score,
|
||||
"rubric_results": results,
|
||||
}
|
||||
(TESTS_DIR / "results.json").write_text(json.dumps(output, indent=2) + "\n")
|
||||
|
||||
VERIFIER_DIR.mkdir(parents=True, exist_ok=True)
|
||||
(VERIFIER_DIR / "reward.txt").write_text(str(average_score))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1 @@
|
||||
Today is Wednesday, November 4, 2026. I was out sick yesterday. Check the appeals_log_master.xlsx and take next steps on any cases that are open. I think some new ones were assigned to me yesterday that aren't fully filled in, so please make sure all the cases in the spreadsheet are filled out completely. Please use the SOP for instructions on how to handle things.
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/bin/bash
|
||||
pip install openpyxl pdfplumber python-docx 2>/dev/null
|
||||
python /tests/sop_verifier.py
|
||||
Reference in New Issue
Block a user