mscore 25.0.4__tar.gz → 25.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. {mscore-25.0.4 → mscore-25.3.0}/PKG-INFO +21 -11
  2. mscore-25.3.0/README.md +136 -0
  3. {mscore-25.0.4 → mscore-25.3.0}/mscore/__init__.pye +5 -3
  4. {mscore-25.0.4 → mscore-25.3.0}/mscore/activate.pye +46 -46
  5. mscore-25.3.0/mscore/data_variables/__init__.pye +7 -0
  6. {mscore-25.0.4 → mscore-25.3.0}/mscore/data_variables/hcc_descriptors.pye +4 -2
  7. {mscore-25.0.4 → mscore-25.3.0}/mscore/data_variables/hierarchies.pye +4 -3
  8. mscore-25.3.0/mscore/data_variables/variable_dict.pye +1858 -0
  9. {mscore-25.0.4 → mscore-25.3.0}/mscore/demography_builder.pye +4 -3
  10. {mscore-25.0.4 → mscore-25.3.0}/mscore/demography_vars_applicator.pye +4 -3
  11. {mscore-25.0.4 → mscore-25.3.0}/mscore/file_handler.pye +74 -73
  12. {mscore-25.0.4 → mscore-25.3.0}/mscore/hcc_handler.pye +4 -2
  13. mscore-25.3.0/mscore/ram_models.pye +560 -0
  14. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Crosswalks/F2225CW.TXT +84 -10
  15. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Crosswalks/F2425CW.TXT +84 -10
  16. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Crosswalks/F2825CW.TXT +97 -4
  17. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/application_tables/application_format_fact.parquet +0 -0
  18. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/application_tables/application_model_coefficient.parquet +0 -0
  19. mscore-25.3.0/mscore/reference_data/application_tables/application_model_dimension.parquet +0 -0
  20. mscore-25.3.0/mscore/scoring_handler.pye +757 -0
  21. {mscore-25.0.4 → mscore-25.3.0}/mscore/utilities/__init__.pye +4 -3
  22. mscore-25.3.0/mscore/utilities/authentication.pye +523 -0
  23. {mscore-25.0.4 → mscore-25.3.0}/mscore/utilities/cli.pye +60 -69
  24. {mscore-25.0.4 → mscore-25.3.0}/mscore/utilities/context.pye +4 -3
  25. mscore-25.3.0/mscore/utilities/data_models.pye +97 -0
  26. {mscore-25.0.4 → mscore-25.3.0}/mscore/utilities/data_validation.pye +4 -3
  27. {mscore-25.0.4 → mscore-25.3.0}/mscore/utilities/file_organizer.pye +4 -3
  28. {mscore-25.0.4 → mscore-25.3.0}/mscore/utilities/licensing.pye +4 -3
  29. {mscore-25.0.4 → mscore-25.3.0}/mscore/utilities/log_handler.pye +4 -3
  30. {mscore-25.0.4 → mscore-25.3.0}/mscore/utilities/user_models.pye +4 -3
  31. {mscore-25.0.4 → mscore-25.3.0}/mscore.egg-info/PKG-INFO +21 -11
  32. {mscore-25.0.4 → mscore-25.3.0}/mscore.egg-info/SOURCES.txt +1 -0
  33. {mscore-25.0.4 → mscore-25.3.0}/pyproject.toml +1 -1
  34. mscore-25.0.4/mscore/data_variables/__init__.pye +0 -6
  35. mscore-25.0.4/mscore/data_variables/variable_dict.pye +0 -1066
  36. mscore-25.0.4/mscore/ram_models.pye +0 -473
  37. mscore-25.0.4/mscore/reference_data/application_tables/application_model_dimension.parquet +0 -0
  38. mscore-25.0.4/mscore/scoring_handler.pye +0 -769
  39. mscore-25.0.4/mscore/utilities/authentication.pye +0 -521
  40. mscore-25.0.4/mscore/utilities/data_models.pye +0 -98
  41. {mscore-25.0.4 → mscore-25.3.0}/mscore/__main__.py +0 -0
  42. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Crosswalks/F2221CW.TXT +0 -0
  43. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Crosswalks/F2222CW.TXT +0 -0
  44. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Crosswalks/F2223CW.TXT +0 -0
  45. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Crosswalks/F2224CW.TXT +0 -0
  46. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Crosswalks/F2421CW.TXT +0 -0
  47. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Crosswalks/F2422CW.TXT +0 -0
  48. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Crosswalks/F2423CW.TXT +0 -0
  49. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Crosswalks/F2424CW.TXT +0 -0
  50. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Crosswalks/F2824CW.TXT +0 -0
  51. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Model_Coefficients/2021_CMS-HCC_V22.csv +0 -0
  52. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Model_Coefficients/2021_CMS-HCC_V222179O1.csv +0 -0
  53. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Model_Coefficients/2021_CMS-HCC_V24.csv +0 -0
  54. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Model_Coefficients/2021_CMS-HCC_V242186P1.csv +0 -0
  55. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Model_Coefficients/2022_CMS-HCC_V22.csv +0 -0
  56. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Model_Coefficients/2022_CMS-HCC_V222279O1.csv +0 -0
  57. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Model_Coefficients/2022_CMS-HCC_V24.csv +0 -0
  58. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Model_Coefficients/2022_CMS-HCC_V242286P1.csv +0 -0
  59. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Model_Coefficients/2023_CMS-HCC_V22.csv +0 -0
  60. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Model_Coefficients/2023_CMS-HCC_V24.csv +0 -0
  61. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Model_Coefficients/2024_CMS-HCC_V22.csv +0 -0
  62. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Model_Coefficients/2024_CMS-HCC_V24.csv +0 -0
  63. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Model_Coefficients/2024_CMS-HCC_V28.csv +0 -0
  64. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Model_Coefficients/2025_CMS-HCC_V22.csv +0 -0
  65. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Model_Coefficients/2025_CMS-HCC_V24.csv +0 -0
  66. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/Model_Coefficients/2025_CMS-HCC_V28.csv +0 -0
  67. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/model_formats_all_columns/2023_CMS-HCC_V222379O1_format.csv +0 -0
  68. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/model_formats_all_columns/2023_CMS-HCC_V242386P1_format.csv +0 -0
  69. {mscore-25.0.4 → mscore-25.3.0}/mscore/reference_data/model_formats_all_columns/2024_CMS-HCC_V28_format.csv +0 -0
  70. {mscore-25.0.4 → mscore-25.3.0}/mscore.egg-info/dependency_links.txt +0 -0
  71. {mscore-25.0.4 → mscore-25.3.0}/mscore.egg-info/entry_points.txt +0 -0
  72. {mscore-25.0.4 → mscore-25.3.0}/mscore.egg-info/requires.txt +0 -0
  73. {mscore-25.0.4 → mscore-25.3.0}/mscore.egg-info/top_level.txt +0 -0
  74. {mscore-25.0.4 → mscore-25.3.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.4
2
2
  Name: mscore
3
- Version: 25.0.4
3
+ Version: 25.3.0
4
4
  Summary: MScore: Risk Scores Made Easy
5
5
  Home-page: https://github.com/elevendatacorp/mscore.git
6
6
  Author: RAM Development Team
@@ -11,6 +11,17 @@ Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Operating System :: OS Independent
12
12
  Requires-Python: >=3.10
13
13
  Description-Content-Type: text/markdown
14
+ Requires-Dist: pandas
15
+ Requires-Dist: pyarrow
16
+ Requires-Dist: numpy
17
+ Requires-Dist: requests
18
+ Requires-Dist: getmac
19
+ Requires-Dist: cython
20
+ Requires-Dist: pydantic
21
+ Requires-Dist: cryptography
22
+ Requires-Dist: sourcedefender
23
+ Dynamic: author
24
+ Dynamic: home-page
14
25
 
15
26
  <p align="center">
16
27
  <a href="https://www.riskadjustmentmodel.com/" target="_blank">
@@ -103,23 +114,22 @@ auth = AuthorizeLicense(staging_key).validate()
103
114
 
104
115
  model = MScore(
105
116
  authorizer = auth,
106
- year = '2024',
107
- version = 'V24',
117
+ year = '2025',
118
+ version = 'V28',
108
119
  model = 'CMS-HCC',
109
120
  person_data = person_df,
110
121
  diag_data = diag_df,
111
122
  columns = 'all-fields',
112
- rf_output = True,
113
123
  )
114
124
 
115
- v24_2024_scores = model.score_mscore()
125
+ scores = model.score_mscore()
116
126
 
117
- print(v24_2024_scores.risk_scores)
118
- print(v24_2024_scores.relative_factors)
127
+ print(scores.risk_scores)
128
+ print(scores.relative_factors)
119
129
  ```
120
- The resulting 'v24_2024_scores' output is a data model object of pandas.DataFrames. You can access your risk scores or relative factors data sets by calling the respective model name from the grouped data model.
121
- - <span style="font-family:courier-new">v24_2024_scores.risk_scores</span>
122
- - <span style="font-family:courier-new">v24_2024_scores.relative_factors</span>
130
+ The resulting 'scores' output is a data model object of pandas.DataFrames. You can access your risk scores or relative factors data sets by calling the respective model name from the grouped data model.
131
+ - <span style="font-family:courier-new">scores.risk_scores</span>
132
+ - <span style="font-family:courier-new">scores.relative_factors</span>
123
133
 
124
134
  From here you can proceed to use the risk score or relative factor DataFrames for further downstream processing or utilize the [Pandas](https://pandas.pydata.org/docs/user_guide/index.html) built-in methods to save to a file type of your choosing.
125
135
 
@@ -0,0 +1,136 @@
1
+ <p align="center">
2
+ <a href="https://www.riskadjustmentmodel.com/" target="_blank">
3
+ <img src="https://ram-site-assets-pub.s3.us-east-1.amazonaws.com/images/mscore_registered_logo_updated_subtitle.png">
4
+ </a>
5
+ </p>
6
+
7
+ ---
8
+
9
+ M<span style="font-size:.8em;">SCORE<sup>®</sup></span> is a python package designed to streamline the CMS-HCC model risk score calculation process for health plans and providers participating in Medicare Advantage and value-based care. It provides a SAS®-free alternative to produce HCCs and risk scores. It streamlines your data processing for enhanced accessibility and allows you to keep your data secure in-house, so you can focus on execution of your risk adjustment strategy.
10
+
11
+ ## Features
12
+ - **Implement Anywhere**: M<span style="font-size:.8em;">SCORE<sup>®</sup></span> unlocks multiple integration opportunities including real-time scoring, embedding in EHR or enterprise data warehouse, incorporating into cloud applications, and traditional batch scoring.
13
+ - **SAS<sup><span style="font-size:.8em;">&reg;</span></sup>-Free**: Create HCC and risk scores without SAS<sup><span style="font-size:.8em;">&reg;</span></sup> software, reduce software license costs and the headache of recoding and maintaining the software in another programming language.
14
+ - **Enhanced Output**: M<span style="font-size:.8em;">SCORE<sup>®</sup></span> provides the numeric relative factor value for each HCC assigned to a person allowing for a deeper understanding of how each factor contributes to an individual's overall risk score.
15
+ - **Reliable**: Validated on over 1 million plus enrollees. M<span style="font-size:.8em;">SCORE<sup>®</sup></span> is rigorously tested and updated with each HCC model release.
16
+ - **CMS-HCC Model Support**: Supports HCC models V22, V24, and V28, covering payment years 2021-2025 with upgrades for each release from CMS (Initial, Mid-Year, Final).
17
+ - **Easy to Set Up & Maintain**: Easily installed and upgraded using pip, Python's standard package manager.
18
+ - **Platform Compatibility**: Compatible with Windows, Mac, and Linux operating systems.
19
+ - **Optimized Performance**: Efficient processing with fast runtimes, ensuring quick and accurate risk score calculations.
20
+ - **Improved Data Security**: Securely process personal health information within your organization's IT infrastructure.
21
+
22
+
23
+ ## Installation
24
+
25
+ pip install mscore
26
+
27
+ ## Registration
28
+
29
+ Registration is required to use the <code>mscore</code> package. Please visit https://riskadjustmentmodel.com/registration to create user account and obtain a license key.
30
+
31
+ ## Trial License
32
+
33
+ After you've installed <code>mscore</code>, run the following command to activate your free 30-day trial. An internet connection is required to activate & run the package.
34
+
35
+ mscore -a <license key>
36
+
37
+ ## Subscribe
38
+
39
+ To use M<span style="font-size:.8em;">SCORE<sup>®</sup></span> for internal business operations beyond the 30-day trial period, a pay-as-you-go subscription and payment method is needed. Please set up your payment method in our [customer portal](https://riskadjustmentmodel.com/account/login/) on the billing tab. To license M<span style="font-size:.8em;">SCORE<sup>®</sup></span> for commercial purposes other than internal business operations, please [contact us](https://riskadjustmentmodel.com/contact-us) directly for alternative licensing.
40
+
41
+ For more information on pricing, please see our product page. If you do not see a price you like, then please email us so we can discuss your requirements.
42
+
43
+ Academic users are eligible for a free license of our software. Please [contact us](https://riskadjustmentmodel.com/contact-us) to obtain your complimentary academic license.
44
+
45
+
46
+ ## Basic Use
47
+
48
+ Before you can run your scores, you will need to generate an authorization token object.
49
+
50
+ ```python
51
+ import sourcedefender #This package is required at the top
52
+ from mscore import AuthorizeLicense, MScore
53
+
54
+ auth = AuthorizeLicense(staging_key).validate()
55
+ ```
56
+ > **<span style="color:orange">_NOTE:_</span>** You must import sourcedefender at the top of every package that imports MScore.
57
+
58
+ The <code>mscore</code> class requires 7 arguments in order to run with 2 optional arguments.
59
+
60
+ ### Required
61
+ * <code>authorizer</code> - The authorization token obtained when <span style="font-family:courier-new">AuthroizeLicense</span> is ran
62
+ * <code>year</code>
63
+ * <code>version</code>
64
+ * <code>model</code>
65
+ * <code>person_data</code> (Pandas DataFrame, csv, or parquet file)
66
+ * <code>diag_data</code> (Pandas DataFrame, csv, or parquet file)
67
+ * <code>columns</code>
68
+
69
+ ### Optional
70
+ * <code>rf-output</code> (boolean) - Generates a file of your scores Relative Factors
71
+ * <code>dev</code> (boolean) - Runs the application in 'Development' mode
72
+
73
+ **_NOTE:_** The example below assumes you already have a [Pandas](https://pandas.pydata.org/) DataFrame generated for your person and diagnosis datasets.
74
+ If you don't have this data yet and want to test <code>mscore</code>, download our synthetic data files here:
75
+ * [Person File](https://mph-static-site.s3.amazonaws.com/static/tutorial-files/person.csv)
76
+ * [Diagnosis File](https://mph-static-site.s3.amazonaws.com/static/tutorial-files/diag.csv)
77
+
78
+
79
+ ```python
80
+ import sourcedefender
81
+ import pandas as pd
82
+ from mscore import AuthorizeLicense, MScore
83
+
84
+ # Generate DataFrames if using our test files
85
+ person_df = pd.read_csv('person.csv')
86
+ diag_df = pd.read_csv('diag.csv')
87
+
88
+ auth = AuthorizeLicense(staging_key).validate()
89
+
90
+ model = MScore(
91
+ authorizer = auth,
92
+ year = '2025',
93
+ version = 'V28',
94
+ model = 'CMS-HCC',
95
+ person_data = person_df,
96
+ diag_data = diag_df,
97
+ columns = 'all-fields',
98
+ )
99
+
100
+ scores = model.score_mscore()
101
+
102
+ print(scores.risk_scores)
103
+ print(scores.relative_factors)
104
+ ```
105
+ The resulting 'scores' output is a data model object of pandas.DataFrames. You can access your risk scores or relative factors data sets by calling the respective model name from the grouped data model.
106
+ - <span style="font-family:courier-new">scores.risk_scores</span>
107
+ - <span style="font-family:courier-new">scores.relative_factors</span>
108
+
109
+ From here you can proceed to use the risk score or relative factor DataFrames for further downstream processing or utilize the [Pandas](https://pandas.pydata.org/docs/user_guide/index.html) built-in methods to save to a file type of your choosing.
110
+
111
+ ### Supported Data
112
+ The <code>mscore</code> class attributes, <code>person_data</code> and <code>diag_data</code>, will accept a Pandas.DataFrame object, CSV or Parquet filepath directly without the need to load your input data to DataFrame first. The resulting outputs will be a Pandas DataFrame object.
113
+
114
+ ### Supported Environments
115
+
116
+ M<span style="font-size:.8em;">SCORE<sup>®</sup></span> is designed to be universally compatible, ensuring seamless integration across various platforms.
117
+
118
+ • Operating Systems: Windows, macOS, Linux
119
+ • Python Versions: 3.10 or greater (both 32-bit and 64-bit architectures)
120
+
121
+ If your required environment is not listed, please contact us as support@riskadjustmentmodel.com for an alternate solution.
122
+
123
+ ## User Resources
124
+ For a more in-depth dive into all available model options, arguments, and reference documents, visit our [User Guides](https://riskadjustmentmodel.com/resources/user-guides).
125
+
126
+ ## Support
127
+
128
+ We are experts in Risk Adjustment and we're here to help. Whether it's general questions, billing, or integration support, please [contact us](https://riskadjustmentmodel.com/contact-us)📧. We are here to make risk scoring easy.
129
+
130
+ ## Stay Connected
131
+
132
+ Please [subscribe](https://riskadjustmentmodel.com/articles#userEmail) to our newsletter, to receive updates on new M<span style="font-size:.8em;">SCORE<sup>®</sup></span> features, model releases, tutorials, and to stay up-to-date on the latest news in risk adjustment.
133
+
134
+ ## Legal
135
+
136
+ To review the M<span style="font-size:.8em;">SCORE<sup>®</sup></span> license agreement, please visit [EULA](https://riskadjustmentmodel.com/legal/eula) webpage.
@@ -1,6 +1,6 @@
1
1
  ---BEGIN PYE FILE---
2
2
  ?xs8yw=-%~arI6N8WsJJ
3
- j&Hn`vPyJHQk8a?X3EQ5
3
+ h;O`=vPyJHQk8a?X3EQ5
4
4
  ?*TsJz2(cM58Ovcu^x+j
5
5
  N%H~=8sc4*N=1_DDgAJB
6
6
  M3B(hFT|1vA^WQWmdr^c
@@ -8,7 +8,7 @@ f^K9E%rAIgb`1~P6SebA
8
8
  ?EsgI=d&bZI6;L|5MvhI
9
9
  0j=ES&;x+;&%JCepm!Tf
10
10
  DIAv;pvFo2aL)H&7B;q}
11
- ^Jaq2ce#S+;fPEz9U<))
11
+ ^Jap~cfEq=;fPEz9U<))
12
12
  xzH|Ol_YNteO{TTau!4K
13
13
  n|dgn8xRAB0r38HO6o^9
14
14
  Q^8=FsiiX{7suX;fkaKb
@@ -56,5 +56,7 @@ SDs$d1KPE8Iw)m;nCn(e
56
56
  DGb~bqM&BFLfy-A^!~`^
57
57
  GQ$zf9NYf$O6%*(1!HI0
58
58
  Pq40ro_|52vi6ZL{dl7S
59
- v75ta)0RV&DzRk;j!}L
59
+ wVlLa?}>GnJF?TmheRB)
60
+ W8<_d7wPN0jk^dv4}qr8
61
+ js
60
62
  ----END PYE FILE----
@@ -1,7 +1,7 @@
1
1
  ---BEGIN PYE FILE---
2
2
  t#zYF!{gsj#j-v7Bh`z?
3
- hA9;St4e$<RGyg%tK^1t
4
- >L41xFjqJu&r#g5w?y`9
3
+ fGHIMt4e$<RGyg%tK^1t
4
+ >J}QnFjqJu&r#g5w?y`9
5
5
  wg14PfY;vL>`9+Y0x8Ai
6
6
  VH@rgn)QFly2w<;4eoXU
7
7
  HFX!t*Og*!5U}2n#{|Ue
@@ -64,49 +64,49 @@ SZ+&H5qe4#K{<qB<zl>!
64
64
  gG5Qx?l?s|WN*YrTf+*j
65
65
  $3PV@=_ME3nj{;KXec}K
66
66
  n?JHRVK$u1iEl$Vj0ZS#
67
- U(*igl$vd7qhsD%+a;>7
68
- WPMcGiaeqgk&~r3$mj?c
69
- Q|n^1MtI(UXB?XdJ`pC4
70
- mLDj=yD=1^;$MT;G#_Mv
71
- +nmYAZMiUKSLuTT#OT!+
72
- wn(B|a0tDqN@GfPPhHRt
73
- Zv7sC%f~KkM9GTc%4A#=
74
- 5^;g!D99?KkGs=cwurk&
75
- `2bTlHI{*{Nj@9oi68x>
76
- m`JbEZzG+->Q=JHo)efM
77
- sHTFiXinDmX|$@974RBT
78
- Q_3D^%)bI)>@WH*qJV%L
79
- YtZ%33iH^U-xqAOx<yJ}
80
- 6_k7EW+;&Vh$aVA-1+M!
81
- C7DC@6pbzh@)^NsvC5~P
82
- )|rHo8+CpgU6kW<+`p)k
83
- !9a1^`?gI9!1w-1<K|^r
84
- fo{Z-AF*m%NBd3t%w!;*
85
- o1@);JlNiQv$JG*!iCxT
86
- w0duuLr6uIMIQ>~5O$Cs
87
- ujaQsy-g>AIXM+~yiN?z
88
- K{Y(CcCMd+mWX`$CPttf
89
- B`EOdPEbqa%)pf`R&fNA
90
- 9(?eu81}ygb*ugoxe>Hv
91
- 8FL_9P<k;eQHVevZFweo
92
- H%GRjw`<*}%LGNl^rb01
93
- fzgDZ%hmdwHvsSQg@fUS
94
- m;r_V%U1=%FxlV_uFxS|
95
- RdA<gqb|xJrP$uylpi@8
96
- =oyjM2HaYd=P7$|tlTD5
97
- qkk<Rn1mC}wu&(Ze9S|B
98
- 5qd;GB24G(6%4YgiyKN^
99
- #-1|45I?eZ9-$<Cm$oLd
100
- AK(s=Sv~x_H2$+~H)Gus
101
- 4jxCsu;&T$*Ri<v0}0J9
102
- WiFTDG1b361z7gaA?VK@
103
- +|BByyPWPvirBBhuA-^c
104
- p|2t!S*!=ce=}#Q>3M)N
105
- 7!cM%xPGGE<AfQOICMCA
106
- Rm&U-%>}E0H@wfS!{qSJ
107
- XMUDt0V*e4oYI*E4|{TH
108
- {NX7k4&2uF7b>id&cTBB
109
- CnB>wYIc@nyR9@07&o_{
110
- Au4c$u*8ehi{K>f_2S=c
67
+ U(*igl$vd7qhsD%+a;&E
68
+ b8$?|n+l{BsF?08%JmHr
69
+ 7}ag5Ol#GwZV03Ua%f}I
70
+ >QO4|yD=1^;$MT;G#?^^
71
+ r^uy_X#N6VexS4;+Wv|d
72
+ nO(bGFGjVjc79D}K?l_d
73
+ W5*Pi+W9kiM}nKz$0ImL
74
+ R}R&>c#U`8!MXWdwurj{
75
+ `+NshcEZT`2x?O8#beEc
76
+ k6HYLbvvES;TVO(wI9r9
77
+ yy<|rby30Mbh4|YF7XdX
78
+ U)xVZjr>+Ax^Av#?au#L
79
+ Bd)NG2-(=2-xn$P=>Sl4
80
+ 6_j$qW+;&Vh$aVA$>;Gc
81
+ YrARn6pbzh@)^NsvC8+&
82
+ pV!csO(6$V2$Qik-1P0r
83
+ !3iSTy7*%l`26xt@Zd36
84
+ l6H`u2)|cZ7qTY5m1JSv
85
+ &+3c8Xq}pM&;4dI>iLb9
86
+ {W&Vv5Di8521`S;RVtD=
87
+ x5K?Vwooy+a2613`&kN}
88
+ 2skyEd7_e+ouqK;97n8o
89
+ W_-E63oi$)kA>TQ6D)Y$
90
+ T2zeqbie#VJNUa2%}C@S
91
+ 19LqRWo;NML5Oh$W<MP*
92
+ D@*U^qIA)l+7m{^){rTA
93
+ <lo5Yh>*0-a(}z4)yBN~
94
+ )<vy@pEgF9d5@u6=bvv}
95
+ F){OGyHdprug}uPh7J!M
96
+ =wG^+6WSEr>Lg}*rrZit
97
+ onj_C)u2+2;=^Z0D1{6#
98
+ Zaxe?XA$MbP*m~m+fPb3
99
+ p51qmO<esr9^f)1k?CCK
100
+ AB9%Z9Brt(J+Ss7B{APx
101
+ Uk*Chn&%1g*ZBVSMhA?2
102
+ A}PM8R^^pH1z7gaA?VK@
103
+ +|BCp>BXc!!<PHX>#XR9
104
+ =KNVOB-a3jeKTRU!aSCG
105
+ UO$*S!*1WD<iShCcP2+S
106
+ L)2I@lzXwOH@wfS!{qSJ
107
+ XMWQ?LT`5n)~e7;TXQ#O
108
+ y|Zq0b<C^&Jpj3c&fDJh
109
+ Vl47+rE$49x$RJ467P42
110
+ VP-SW&x%*jJt-gI`SI5e
111
111
  E|sRw8T`!o-c<M#&EoU
112
112
  ----END PYE FILE----
@@ -0,0 +1,7 @@
1
+ ---BEGIN PYE FILE---
2
+ S{1Ws^W#b^PPF`=H8his
3
+ G}iZPtj81O3Dvxu2NMzJ
4
+ >-X_7z^LC|`1dQS8^oIJ
5
+ c;+J(MoRt}3%SvUgO`Fo
6
+ &h?w~IN4dzh$KV
7
+ ----END PYE FILE----
@@ -1,6 +1,6 @@
1
1
  ---BEGIN PYE FILE---
2
2
  2&-mmphj(rr7yv(zTi|c
3
- mKh}2@3c5DS5<d*(yX50
3
+ kQpS{@3c5DS5<d*(yX50
4
4
  uV)`@#Q_cN&gFEPt6awl
5
5
  Q8~o9tz0{2@ODki@N!rk
6
6
  R)etp8qKH$-BFrO2Qqw!
@@ -992,5 +992,7 @@ sD4Chx41c7R?qNys{oC{
992
992
  HToC7rCYc2hpZm2Am~xv
993
993
  A|44C!j#2VyAKSs>oWX8
994
994
  35}p?ipUp^4*PD^r{-tb
995
- b(A@*xtw~vx9dl#@m*)X
995
+ b&x-+u%Km&wE9FJHB@rl
996
+ #!2PU820?GGf#c<;zEr!
997
+ l~w
996
998
  ----END PYE FILE----
@@ -1,6 +1,6 @@
1
1
  ---BEGIN PYE FILE---
2
2
  f*k4g01cQo#au&Hk}?Bo
3
- ;29+LOTDy#($I=O1h5~j
3
+ <{2dROTDy#($I=O1h5~j
4
4
  I47tojU6C|K^0)w41f8F
5
5
  0l8&g_}s4e{z2F%9^65B
6
6
  #sxnPa5gd%#YF9AbMcgc
@@ -404,6 +404,7 @@ XZ4qWq=roBbeDQhlPoHI
404
404
  4XR2a&z`2WThnLumHBKD
405
405
  C}l#;F^89N_Zc<z6A@S)
406
406
  Q#W(og{((T>24$5b0#I0
407
- =QxN{i||3KdQ}9rb<|F}
408
- @}4!I
407
+ =QxN{i}XjVb7>oZcEwE$
408
+ HkTm6GLcg{AT8pU2$;mV
409
+ w+P&qH#Y
409
410
  ----END PYE FILE----