From d6151fed06e9c459513d2590826e808023ca7107 Mon Sep 17 00:00:00 2001 From: Neha Sharma Date: Wed, 27 Nov 2024 00:45:59 +0530 Subject: [PATCH] Modified Notebook for Shuang to Update Further --- .../finding_a_new_home.ipynb | 2392 ++++------------- 1 file changed, 523 insertions(+), 1869 deletions(-) diff --git a/samples/04_gis_analysts_data_scientists/finding_a_new_home.ipynb b/samples/04_gis_analysts_data_scientists/finding_a_new_home.ipynb index 63cafe11b6..1144788a2f 100644 --- a/samples/04_gis_analysts_data_scientists/finding_a_new_home.ipynb +++ b/samples/04_gis_analysts_data_scientists/finding_a_new_home.ipynb @@ -211,7 +211,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 4, "metadata": {}, "outputs": [], "source": [ @@ -220,14 +220,14 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "arcpy not present\n" + "arcpy present\n" ] } ], @@ -249,7 +249,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 6, "metadata": {}, "outputs": [ { @@ -257,17 +257,17 @@ "text/html": [ "
\n", "
\n", - " \n", + " \n", " \n", " \n", "
\n", "\n", "
\n", - " finding_a_new_home\n", + " finding_a_new_home\n", " \n", - "
CSV Collection by api_data_owner\n", + "

CSV Collection by api_data_owner\n", "
Last Modified: March 17, 2021\n", - "
0 comments, 46 views\n", + "
0 comments, 141 views\n", "
\n", "
\n", " " @@ -276,19 +276,19 @@ "" ] }, - "execution_count": 4, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "data = gis.content.search('finding_a_new_home owner:api_data_owner type: csv collection')[0]\n", + "data = gis.content.search('finding_a_new_home owner:api_data_owner type: csv collection', outside_org= True)[0]\n", "data" ] }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ @@ -297,7 +297,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 8, "metadata": { "scrolled": true }, @@ -312,16 +312,16 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "WindowsPath('C:/Users/pri10421/AppData/Local/Temp/finding_a_new_home')" + "WindowsPath('C:/Users/Neh13173/AppData/Local/Temp/finding_a_new_home')" ] }, - "execution_count": 7, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -333,19 +333,19 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "['C:\\\\Users\\\\pri10421\\\\AppData\\\\Local\\\\Temp\\\\finding_a_new_home\\\\BuyerSellerIndex.xlsx',\n", - " 'C:\\\\Users\\\\pri10421\\\\AppData\\\\Local\\\\Temp\\\\finding_a_new_home\\\\Crestline3BdrmAveSellingPrice.xlsx',\n", - " 'C:\\\\Users\\\\pri10421\\\\AppData\\\\Local\\\\Temp\\\\finding_a_new_home\\\\ImportantPlaces.xlsx',\n", - " 'C:\\\\Users\\\\pri10421\\\\AppData\\\\Local\\\\Temp\\\\finding_a_new_home\\\\MarketHealthIndex.xlsx']" + "['C:\\\\Users\\\\Neh13173\\\\AppData\\\\Local\\\\Temp\\\\finding_a_new_home\\\\BuyerSellerIndex.xlsx',\n", + " 'C:\\\\Users\\\\Neh13173\\\\AppData\\\\Local\\\\Temp\\\\finding_a_new_home\\\\Crestline3BdrmAveSellingPrice.xlsx',\n", + " 'C:\\\\Users\\\\Neh13173\\\\AppData\\\\Local\\\\Temp\\\\finding_a_new_home\\\\ImportantPlaces.xlsx',\n", + " 'C:\\\\Users\\\\Neh13173\\\\AppData\\\\Local\\\\Temp\\\\finding_a_new_home\\\\MarketHealthIndex.xlsx']" ] }, - "execution_count": 8, + "execution_count": 10, "metadata": {}, "output_type": "execute_result" } @@ -357,10 +357,8 @@ }, { "cell_type": "code", - "execution_count": 9, - "metadata": { - "scrolled": false - }, + "execution_count": 11, + "metadata": {}, "outputs": [], "source": [ "file_name1 = datapath[1]\n", @@ -369,7 +367,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 12, "metadata": {}, "outputs": [ { @@ -442,7 +440,7 @@ "4 2007-05 284000 2007-05-01" ] }, - "execution_count": 10, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -453,7 +451,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 13, "metadata": {}, "outputs": [ { @@ -526,7 +524,7 @@ "139 2018-08 254900 2018-08-01" ] }, - "execution_count": 11, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -537,7 +535,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -546,7 +544,7 @@ "(140, 3)" ] }, - "execution_count": 12, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" } @@ -557,7 +555,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 15, "metadata": {}, "outputs": [], "source": [ @@ -567,7 +565,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -658,7 +656,7 @@ "4 2007-05 284000 2007-05-01 2007 05 01" ] }, - "execution_count": 14, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -669,16 +667,39 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 17, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['2007', '2008', '2009', '2010', '2011', '2012', '2013', '2014',\n", + " '2015', '2016', '2017', '2018'], dtype=object)" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data1.year.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": { + "scrolled": true + }, "outputs": [], "source": [ - "grpby_data1 = data1.groupby(['year']).mean()" + "grpby_data1 = data1.groupby(['year']).mean(numeric_only=True)" ] }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 19, "metadata": {}, "outputs": [ { @@ -687,7 +708,7 @@ "pandas.core.frame.DataFrame" ] }, - "execution_count": 16, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -705,7 +726,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 20, "metadata": {}, "outputs": [], "source": [ @@ -714,7 +735,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 21, "metadata": {}, "outputs": [ { @@ -781,7 +802,7 @@ "4 2011 154766.666667" ] }, - "execution_count": 18, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } @@ -792,7 +813,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 22, "metadata": {}, "outputs": [ { @@ -813,7 +834,7 @@ "Name: value, dtype: float64" ] }, - "execution_count": 19, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -824,7 +845,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 23, "metadata": {}, "outputs": [ { @@ -845,7 +866,7 @@ "Name: year, dtype: object" ] }, - "execution_count": 20, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } @@ -856,7 +877,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 24, "metadata": {}, "outputs": [ { @@ -865,13 +886,13 @@ "Text(0, 0.5, 'average house price')" ] }, - "execution_count": 21, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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pAkePnyI6OhoSKVS7N2792V+fFqMjY2xcuVKTJw4Eb1798bo0aO55RaaNm2KuXPnvvJ7VFiwYAH27NmDN998E++99x58fX1RWFiIK1eu4LfffsO9e/deeAqmZcuWmDx5Ms6fPw97e3v8/PPPyMjIwKZNm14qk1QqxZdffokpU6agc+fOGDNmDBo1aoRLly6hqKgImzdvrvafRX5+PpydnfHWW2/Bx8cHFhYWOHLkCM6fP681ulqVZs2aoU2bNjhy5AgmTZrEbT937hzGjx+Pxo0bo1+/fti6davW67p168b9jvn5+eHtt9/G4sWLkZmZCQ8PD2zevBn37t2rNJL62WefoVu3bujduzemTZuGBw8eYO3atejfvz8GDBhQKd/OnTuhUqmqPA34PLWV//Lly9w/Tm7fvg25XI7/+7//A1A+t3LQoEEAgJCQEGzatAmDBg3CBx98ADc3N8TExGD79u14/fXX4efnp3XcyMhIuLq60lILhoqnqxEJ0Xu5ubls4sSJzMbGhllYWLDAwEB248YN5ubmxiZMmFCp/tatW9xl1idPnqzymBkZGSw4OJi5uLgwY2Nj5uDgwPr168e+//57ruZ5q5mXlJSw+fPnM0dHR2Zqasq6d+/OYmNjWe/evVnv3r21au/evcuCgoKYqakps7W1ZfPnz2e///47A8DOnDmjVRsfH8+GDx/OGjduzCQSCXNzc2MjR45kR48efe7P6FlZk5OTGQC2adMmre07d+5kHTp0YBKJhFlbW7OxY8eyBw8eaNVMmDCBmZubV3qv3r17s9atW1fa7ubmxoKCgrS25efns8WLFzMPDw8mFouZjY0N69atG1uzZg23kvazVBzv0KFDrF27dkwikTAvL69Kn7FiSYXz589XOsbTyy1U2LNnD+vWrRszNTVlUqmUdenShW3fvl2r5kV/FqWlpWzBggXMx8eHWVpaMnNzc+bj41PtpQm++OILZmFhobWUR0XeZz2e/nMsLi5mH374IXNwcGASiYR17tyZHTx4sMr3O3HiBOvWrRszMTFhtra2LDg4mCkUiipru3btyuzs7CotX/EitZX/ecd9+u+AGzdusLfeeov7b9vNzY19+OGHrLCwUKtOrVYzR0dHtmTJEp0+I6k/BIy95OxSQki9s27dOsydOxcPHjxAkyZN+I6jl5o2bYo2bdporZhvSORyOZo1a4ZVq1ZxV7GSuvPnn39izJgxuHPnDjfBnxgWmmNFiIF6ej2ekpISbNy4ES1atKCmqgGTyWRYuHAhVq9e/VJXkpJXs3LlSoSEhFBTZcBoxIoQAzVw4EC4urqiffv2kMvl+PXXX3H16lVs3bq1Wvdfa6gMfcSKEFK7aPI6IQYqMDAQP/74I7Zu3Qq1Wg1vb2/s2LGDWw2eEEJIzaMRK0IIIYSQGkJzrAghhBBCagg1VoQQQgghNYTmWNUhjUaDR48ewdLSkm6+SQghhNQTjDHk5+fDycmp0uLPT6PGqg49evTopW6XQAghhBD+paamwtnZ+bk11FjVoYq7yaempmrd/JMQQggh+kuhUMDFxYX7Hn8eaqzqUMXpP6lUSo0VIYQQUs9UZxoPTV4nhBBCCKkhvDZWoaGh6Ny5MywtLWFnZ4ehQ4ciKSlJqyY9PR3jxo2Dg4MDzM3N0bFjR/z+++9aNTk5ORg7diykUimsrKwwefJkFBQUaNVcvnwZPXv2hImJCVxcXLBq1apKeSIiIuDl5QUTExO0bdsW+/fv19rPGMPSpUvh6OgIU1NTBAQE4NatWzX00yCEEEJIfcdrYxUTE4Pg4GCcOXMGkZGRUCqV6N+/PwoLC7ma8ePHIykpCXv27MGVK1cwfPhwjBw5EvHx8VzN2LFjcfXqVURGRmLfvn04fvw4pk2bxu1XKBTo378/3NzcEBcXh9WrV2P58uX4/vvvuZrTp09j9OjRmDx5MuLj4zF06FAMHToUiYmJXM2qVavw9ddfY8OGDTh79izMzc0RGBiIkpKSWv5JEUIIIaReYHokMzOTAWAxMTHcNnNzc7ZlyxatOmtra/bDDz8wxhi7du0aA8DOnz/P7T9w4AATCATs4cOHjDHG1q9fzxo1asRKS0u5mkWLFjFPT0/u+ciRI1lQUJDW+/j5+bHp06czxhjTaDTMwcGBrV69mtufl5fHJBIJ2759e7U+n1wuZwCYXC6vVj0hhBBC+KfL97dezbGSy+UAAGtra25bt27dsHPnTuTk5ECj0WDHjh0oKSnBa6+9BgCIjY2FlZUVOnXqxL0mICAAQqEQZ8+e5Wp69eoFsVjM1QQGBiIpKQm5ublcTUBAgFaewMBAxMbGAgCSk5ORnp6uVSOTyeDn58fVPK20tBQKhULrQQghhBDDpTeNlUajwZw5c9C9e3e0adOG275r1y4olUo0btwYEokE06dPx+7du+Hh4QGgfA6WnZ2d1rFEIhGsra2Rnp7O1djb22vVVDx/Uc2T+598XVU1TwsNDYVMJuMetIYVIYQQYtj0prEKDg5GYmIiduzYobX9k08+QV5eHo4cOYILFy5g3rx5GDlyJK5cucJT0upbvHgx5HI590hNTeU7EiGEEEJqkV6sYxUSEsJNOn9yRdM7d+7g22+/RWJiIlq3bg0A8PHxwYkTJxAWFoYNGzbAwcEBmZmZWsdTqVTIycmBg4MDAMDBwQEZGRlaNRXPX1Tz5P6KbY6Ojlo17du3r/JzSSQSSCQSnX4WhBBCCKm/eB2xYowhJCQEu3fvRlRUFNzd3bX2FxUVAUCl+/IYGRlBo9EAAPz9/ZGXl4e4uDhuf1RUFDQaDfz8/Lia48ePQ6lUcjWRkZHw9PREo0aNuJqjR49qvU9kZCT8/f0BAO7u7nBwcNCqUSgUOHv2LFdDCCGEkAau9ufSP9uMGTOYTCZjx44dY2lpadyjqKiIMcZYWVkZ8/DwYD179mRnz55lt2/fZmvWrGECgYD9/fff3HEGDBjAOnTowM6ePctOnjzJWrRowUaPHs3tz8vLY/b29mzcuHEsMTGR7dixg5mZmbGNGzdyNadOnWIikYitWbOGXb9+nS1btowZGxuzK1eucDUrVqxgVlZW7K+//mKXL19mQ4YMYe7u7qy4uLhan5euCiSEEELqH12+v3ltrABU+di0aRNXc/PmTTZ8+HBmZ2fHzMzMWLt27Sotv5Cdnc1Gjx7NLCwsmFQqZRMnTmT5+flaNZcuXWI9evRgEomENWnShK1YsaJSnl27drGWLVsysVjMWrdurdW8MVa+5MInn3zC7O3tmUQiYf369WNJSUnV/rzUWBFCCCH1jy7f3wLGGONrtKyhUSgUkMlkkMvldK9AQgghpJ7Q5ftbb64KJK8mOasQj/KK+Y5BCCGENGjUWBmA/+27hj5rjmFz7D2+oxBCCCENGjVWBqCdswwAEH0j8wWVhBBCCKlN1FgZgN4tbSEUADczCvAgt4jvOIQQQkiDRY2VAbAyE8PXrXw9Lhq1IoQQQvhDjZWB6ONVfr/EKGqsCCGEEN5QY2Ug+v7TWJ2+k43iMjXPaQghhJCGiRorA+FpbwknmQlKVRrE3s3iOw4hhBDSIFFjZSAEAgGdDiSEEEJ4Ro2VAak4HRh94zFoQX1CCCGk7lFjZUC6NbeBRCTEw7xi3Mwo4DsOIYQQ0uBQY2VATMVG8G/eGACdDiSEEEL4QI2Vgfn3dCA1VoQQQkhdo8bKwPTxLG+s4lJyIS9S8pyGEEIIaViosTIwLtZmaGFnAbWGIebWY77jEEIIIQ0KNVYGiE4HEkIIIfygxsoAVaxndSwpE2oNLbtACCGE1BVqrAyQr1sjWJqIkFukREJqHt9xCCGEkAaDGisDZGwkRK+WtgDodCAhhBBSl6ixMlB9Pen2NoQQQkhdo8bKQL3maQuBALiWpkC6vITvOIQQQkiDQI2VgWpsIYGPsxUAIDqJRq0IIYSQukCNlQGrWHaBTgcSQgghdYMaKwNW0Vidup2FUpWa5zSEEEKI4aPGyoC1dpLCzlKCojI1zt7N4TsOIYQQYvCosTJgAoGAu3cgnQ4khBBCah81VgauYhX26KRMMEarsBNCCCG1iRorA9ejhQ2MjQS4n12Eu1mFfMchhBBCDBo1VgbOQiKCn3tjALQKOyGEEFLbqLFqAPrQsguEEEJInaDGqgGoWHbhXHIO8kuUPKchhBBCDBc1Vg2Au4053G3ModIwnLyVxXccQgghxGBRY9VA0LILhBBCSO2jxqqB6Mstu/AYGg0tu0AIIYTUBmqsGogu7tYwFxshq6AUiY/kfMchhBBCDBI1Vg2EWCREjxY2AOh0ICGEEFJbqLFqQLjTgdRYEUIIIbWCGqsGpGIC+6UHcjzOL+U5DSGEEGJ4qLFqQOykJmjTRAoAOJZEo1aEEEJITaPGqoHp6/nvTZkJIYQQUrN4baxCQ0PRuXNnWFpaws7ODkOHDkVSUlKlutjYWPTt2xfm5uaQSqXo1asXiouLuf05OTkYO3YspFIprKysMHnyZBQUFGgd4/Lly+jZsydMTEzg4uKCVatWVXqfiIgIeHl5wcTEBG3btsX+/fu19jPGsHTpUjg6OsLU1BQBAQG4detWDf006kbF7W1O3MyCUq3hOQ0hhBBiWHhtrGJiYhAcHIwzZ84gMjISSqUS/fv3R2FhIVcTGxuLAQMGoH///jh37hzOnz+PkJAQCIX/Rh87diyuXr2KyMhI7Nu3D8ePH8e0adO4/QqFAv3794ebmxvi4uKwevVqLF++HN9//z1Xc/r0aYwePRqTJ09GfHw8hg4diqFDhyIxMZGrWbVqFb7++mts2LABZ8+ehbm5OQIDA1FSUlLLP6ma4+NshcbmYuSXqnD+Xg7fcQghhBDDwvRIZmYmA8BiYmK4bX5+fmzJkiXPfM21a9cYAHb+/Hlu24EDB5hAIGAPHz5kjDG2fv161qhRI1ZaWsrVLFq0iHl6enLPR44cyYKCgrSO7efnx6ZPn84YY0yj0TAHBwe2evVqbn9eXh6TSCRs+/bt1fp8crmcAWByubxa9bVl7s545rZoH/u/fVd5zUEIIYTUB7p8f+vVHCu5vHzhSmtrawBAZmYmzp49Czs7O3Tr1g329vbo3bs3Tp48yb0mNjYWVlZW6NSpE7ctICAAQqEQZ8+e5Wp69eoFsVjM1QQGBiIpKQm5ublcTUBAgFaewMBAxMbGAgCSk5ORnp6uVSOTyeDn58fVPK20tBQKhULroQ8qll2g9awIIYSQmqU3jZVGo8GcOXPQvXt3tGnTBgBw9+5dAMDy5csxdepUHDx4EB07dkS/fv24uU3p6emws7PTOpZIJIK1tTXS09O5Gnt7e62aiucvqnly/5Ovq6rmaaGhoZDJZNzDxcVFh59I7enZwhZGQgHuPC5ESnYR33EIIYQQg6E3jVVwcDASExOxY8cObptGUz65evr06Zg4cSI6dOiAL7/8Ep6envj555/5ilptixcvhlwu5x6pqal8RwIAyEyN0cmtEQAg6kYGz2kIIYQQw6EXjVVISAj27duH6OhoODs7c9sdHR0BAN7e3lr1rVq1QkpKCgDAwcEBmZnap7RUKhVycnLg4ODA1WRkaDcQFc9fVPPk/idfV1XN0yQSCaRSqdZDX3CnA5Me85yEEEIIMRy8NlaMMYSEhGD37t2IioqCu7u71v6mTZvCycmp0hIMN2/ehJubGwDA398feXl5iIuL4/ZHRUVBo9HAz8+Pqzl+/DiUSiVXExkZCU9PTzRq1IirOXr0qNb7REZGwt/fHwDg7u4OBwcHrRqFQoGzZ89yNfVJRWN15m42ispUPKchhBBCDETtz6V/thkzZjCZTMaOHTvG0tLSuEdRURFX8+WXXzKpVMoiIiLYrVu32JIlS5iJiQm7ffs2VzNgwADWoUMHdvbsWXby5EnWokULNnr0aG5/Xl4es7e3Z+PGjWOJiYlsx44dzMzMjG3cuJGrOXXqFBOJRGzNmjXs+vXrbNmyZczY2JhduXKFq1mxYgWzsrJif/31F7t8+TIbMmQIc3d3Z8XFxdX6vPpyVSBj5Vc5dl9xlLkt2scOX03nOw4hhBCit3T5/ua1sQJQ5WPTpk1adaGhoczZ2ZmZmZkxf39/duLECa392dnZbPTo0czCwoJJpVI2ceJElp+fr1Vz6dIl1qNHDyaRSFiTJk3YihUrKuXZtWsXa9myJROLxax169bs77//1tqv0WjYJ598wuzt7ZlEImH9+vVjSUlJ1f68+tRYMcbYJ39eYW6L9rGPfr/MdxRCCCFEb+ny/S1gjDG+RssaGoVCAZlMBrlcrhfzraKTMjFx03k4ykxw+qO+EAgEfEcihBBC9I4u3996MXmd8MO/WWOYGAuRJi/B9bR8vuMQQggh9R41Vg2YibERuje3AUA3ZSaEEEJqAjVWDVwfWoWdEEIIqTHUWDVwFY1VfEoucgvLeE5DCCGE1G/UWDVwTaxM4eVgCQ0DYm7SYqGEEELIq6DGitDpQEIIIaSGUGNFuFXYY24+hkqt4TkNIYQQUn9RY0XQwcUKMlNjyIuViE/N4zsOIYQQUm9RY0UgMhKid0tbAHQ6kBBCCHkV1FgRAP+eDoymxooQQgh5adRYEQBA75a2EAqAG+n5eJhXzHccQgghpF6ixooAABqZi9HBtREAGrUihBBCXhY1VoRDpwMJIYTUV2UqDX48cZf3q9upsSKcPp7ljdWpO1koUap5TkMIIYRUT5lKg5lb4/B/f1/Hwt8v85qFGivCaeVoCUeZCUqUGsTezeY7DiGEEPJCFU3VkeuZkIiEGNq+Ca95qLEiHIFAgNc86XQgIYSQ+uHppuqH8Z3Q65/lg/hCjRXR0veJ29swxnhOQwghhFStvKm6iCPXMyHWk6YKoMaKPKW7R2OIRUI8yC3G7cwCvuMQQgghlfzbVGVALBLiRz1pqgBqrMhTzMQidG3WGACtwk4IIUT/6HNTBVBjRarQ15Nub0MIIUT/lKk0CN6mv00VQI0VqUJfL3sAwIX7uZAXK3lOQwghhPzbVEVe09+mCqDGilTBtbEZmtuaQ61hOHHrMd9xCCGENHBPN1X6MlG9KtRYkSo9eXUgIYQQwpcylQYhTzVVvfW0qQKosSLP0Oefxiom6TE0Glp2gRBCSN2raKoO15OmCqDGijxD56bWsJSIkF1YhksP8viOQwghpIF5uqn6fpyv3jdVADVW5BmMjYTo2dIGAK3CTgghpG6VqTT4YLt2U1VxZxB9R40VeaaKmzJHJVFjRQghpG5UNFWHrta/pgqgxoo8R8UvcuJDBTIVJTynIYQQYuiU6vrdVAHUWJHnsLWUwMdZBgCIplErQgghtUipLp9TVZ+bKoAaK/ICfWjZBUIIIbVMq6kyqr9NFUCNFXmBivWsTt7KQqlKzXMaQgghhubppmrj+PrbVAHUWJEXaOMkg42FBIVlapxPzuU7DiGEEAOiVGvwwbZ4raaqTz1uqgBqrMgLCIUC9KGbMhNCCKlhFU3VwavpBtNUAdRYkWqoOB1IE9gJIYTUBENtqgBqrEg19GhhA2MjAZKzCpGcVch3HEIIIfWYUq3BrO1PNFXjDKepAqixItVgaWKMzk2tAdDpQEIIIS+voqk6kPhEU+VlOE0VQI0VqSbudCA1VoQQQl5CQ2iqAGqsSDVV/PKfTc5GQamK5zSEEELqE6Vag9k7/m2qNozraJBNFUCNFammZjbmcGtsBqWa4eStLL7jEEIIqScqmqr9V/5tqvp62fMdq9ZQY0WqRSAQcJML6XQgIYSQ6mhoTRXAc2MVGhqKzp07w9LSEnZ2dhg6dCiSkpKqrGWMYeDAgRAIBPjzzz+19qWkpCAoKAhmZmaws7PDggULoFJpn646duwYOnbsCIlEAg8PD4SHh1d6j7CwMDRt2hQmJibw8/PDuXPntPaXlJQgODgYjRs3hoWFBUaMGIGMjIxX+hnUJ08uu8AY4zkNIYQQfaZUazBnRwLXVH33ruE3VQDPjVVMTAyCg4Nx5swZREZGQqlUon///igsrHxJ/7p16yAQCCptV6vVCAoKQllZGU6fPo3NmzcjPDwcS5cu5WqSk5MRFBSEPn36ICEhAXPmzMGUKVNw6NAhrmbnzp2YN28eli1bhosXL8LHxweBgYHIzPx3dGbu3LnYu3cvIiIiEBMTg0ePHmH48OE1/FPRX37NrGEmNkJmfimuPlLwHYcQQoieqmiq/r6SxjVV/VoZflMFAGB6JDMzkwFgMTExWtvj4+NZkyZNWFpaGgPAdu/eze3bv38/EwqFLD09ndv23XffMalUykpLSxljjC1cuJC1bt1a65ijRo1igYGB3PMuXbqw4OBg7rlarWZOTk4sNDSUMcZYXl4eMzY2ZhEREVzN9evXGQAWGxtbrc8nl8sZACaXy6tVr4+mbD7P3BbtY18ducl3FEIIIXqoTKVmM3+NY26L9jGPj/9mR66lv/hFek6X72+9mmMll8sBANbW1ty2oqIijBkzBmFhYXBwcKj0mtjYWLRt2xb29v92woGBgVAoFLh69SpXExAQoPW6wMBAxMbGAgDKysoQFxenVSMUChEQEMDVxMXFQalUatV4eXnB1dWVq2kIKk4H0npWhBBCnqZ6YqTK2EiADe/6NpyRqn+I+A5QQaPRYM6cOejevTvatGnDbZ87dy66deuGIUOGVPm69PR0raYKAPc8PT39uTUKhQLFxcXIzc2FWq2usubGjRvcMcRiMaysrCrVVLzP00pLS1FaWso9Vyjq/+mzignslx7kIbugFI0tJDwnIoQQog9Uag1mN/CmCtCjqwKDg4ORmJiIHTt2cNv27NmDqKgorFu3jr9gryA0NBQymYx7uLi48B3plTnITODtKAVjwLGkx3zHIYQQogeoqfqXXjRWISEh2LdvH6Kjo+Hs7Mxtj4qKwp07d2BlZQWRSASRqHyAbcSIEXjttdcAAA4ODpWuzKt4XnHq8Fk1UqkUpqamsLGxgZGRUZU1Tx6jrKwMeXl5z6x52uLFiyGXy7lHamqqDj8V/cWdDqSbMhNCSIOnUmswe+e/TdV3YxtuUwXw3FgxxhASEoLdu3cjKioK7u7uWvs/+ugjXL58GQkJCdwDAL788kts2rQJAODv748rV65oXb0XGRkJqVQKb29vrubo0aNax46MjIS/vz8AQCwWw9fXV6tGo9Hg6NGjXI2vry+MjY21apKSkpCSksLVPE0ikUAqlWo9DEHFarnHbz6GUq3hOQ0hhBC+cE3V5X+bqgDvhttUATzPsQoODsa2bdvw119/wdLSkpurJJPJYGpqCgcHhypHg1xdXbkmrH///vD29sa4ceOwatUqpKenY8mSJQgODoZEUj7/5/3338e3336LhQsXYtKkSYiKisKuXbvw999/c8ecN28eJkyYgE6dOqFLly5Yt24dCgsLMXHiRC7T5MmTMW/ePFhbW0MqleKDDz6Av78/unbtWts/Kr3S3sUK1uZi5BSWIe5+Lro2a8x3JEIIIXVMpdZgDjVVlb3MZYdKpZJFRkayDRs2MIVCwRhj7OHDhyw/P1+n4wCo8rFp06bnvubJ5RYYY+zevXts4MCBzNTUlNnY2LD58+czpVKpVRMdHc3at2/PxGIxa9asWZXv8c033zBXV1cmFotZly5d2JkzZ7T2FxcXs5kzZ7JGjRoxMzMzNmzYMJaWllbtz2sIyy1UmLMjnrkt2sc+//sa31EIIYTUMaVKzYK3/rukQuTV+r+kwvPo8v0tYEy3JbTv37+PAQMGICUlBaWlpbh58yaaNWuG2bNno7S0FBs2bKjh1s9wKBQKyGQyyOXyen9acM+lR5i1PR4t7CwQOa8333EIIYTUkYqRqn3/jFStH+uL1w18pEqX72+d51jNnj0bnTp1Qm5uLkxNTbntw4YNqzSPiRiu3i1sYSQU4FZmAVJziviOQwghpA6o1BrM3XWpQTVVutK5sTpx4gSWLFkCsVistb1p06Z4+PBhjQUj+k1mZgxf10YAyu8dSAghxLBVNFV7Lz2ipuo5dG6sNBoN1Gp1pe0PHjyApaVljYQi9UMfWoWdEEIaBOVTTVXYmI7UVD2Dzo1V//79tRbsFAgEKCgowLJly/DGG2/UZDai5/q1Km+sYu9ko7iscrNNCCGkfnuQW4QvDiehx8ooraaqf+uq128kL7Hcwtq1axEYGAhvb2+UlJRgzJgxuHXrFmxsbLB9+/bayEj0VAs7CzSxMsXDvGKcvpPVoBeEI4QQQ6FSa3D0Ria2n0tBzM3HqLjErbG5GCtHtKMlFV5A58bK2dkZly5dws6dO3Hp0iUUFBRg8uTJGDt2rNZkdmL4BAIB+nrZ4Zcz9xF1I5MaK0IIqcdSc4qw60Iqdp5PRWb+v/e57e7RGKO7uOJ1b3tIREY8JqwfXmqBUJFIhLFjx2Ls2LE1nYfUMxWNVfSNTDDGIBAI+I5ECCGkmpRqDY5eLx+dOn7r39EpGwsx3vJ1wTudXdDUxpzfkPWMzo1VaGgo7O3tMWnSJK3tP//8Mx4/foxFixbVWDii//ybN4aJsRCP5CVIysiHl0P9Xp+LEEIagtScIuw4n4JdFx7g8ROjUz08bLjRKbFIL24nXO/o3Fht3LgR27Ztq7S9devWeOedd6ixamBMjI3QrbkNom5kIupGJjVWhBCip8pHpzKw7VwqTjw1OvV2p/LRKbfGNDr1qnRurNLT0+Ho6Fhpu62tLdLS0mokFKlf+njZIepGJqJvZGLmax58xyGEEPKElOx/R6eyCv4dnerZwgZjuriiXysanapJOjdWLi4uOHXqFHcT5AqnTp2Ck5NTjQUj9UdfLzt8AiDufi7yispgZSZ+4WsIIYTUHqVagyPXMrDtXApO3MritttYSDCykzPe6ewK18ZmPCY0XDo3VlOnTsWcOXOgVCrRt29fAMDRo0excOFCzJ8/v8YDEv3XxMoUnvaWSMrIR8zNxxjSvgnfkQghpEG6n12IHedTEVHF6NRYv/LRKWMjGp2qTTo3VgsWLEB2djZmzpyJsrIyAICJiQkWLVqExYsX13hAUj/08bJDUkY+om9kUmNFCCF1qEylQeS1DGw/l4KTt/8dnbK1/Hd0ysWaRqfqioCxiulruikoKMD169dhamqKFi1aQCKR1HQ2g6PL3bHrm3PJORi5MRaNzIxxYcnrMBLSsguEEFKb7mWVj079FpeKrILygQ6BAOjVwhaju7iiXys7Gp2qIbp8f7/UOlYAYGFhgc6dO7/sy4mB6ehqBZmpMXKLlEhIzYWvmzXfkQghxOCUqTQ4fC0d28+l4NTtbG67naUEIzu5YFRnFxqd4lm1Gqvhw4cjPDwcUqkUw4cPf27tH3/8USPBSP0iMhKiV0tb7L30CFE3MqmxIoSQGpScVYgd51LwW9wDZBf+OzrVu2X56FRfLxqd0hfVaqxkMhm3orZMJqvVQKT+6utV0Vg9xoJAL77jEEJIvVaqUuPw1fK5U6fv/Ds6ZS+VYFQnF4zs7ALnRjQ6pW+q1Vht2rQJAMAYw3//+1/Y2trSfQFJJb1b2kEgAK6nKZAmL4ajjH5HCCFEV3cfF/wzd+oBcp4YnXrtidEpEY1O6S2d5lgxxuDh4YGrV6+iRYsWtZWJ1FPW5mJ0cLHCxZQ8RN94jDF+rnxHIoSQeqFUpcahqxnYdvY+ztzN4bY7SE0wsrMLRnZyptGpekKnxkooFKJFixbIzs6mxopUqa+XHS6m5CHqRiY1VoQQUg0X7uVg2i9x3OiUUAC85mmHMV1c8ZqnLY1O1TM6/2mtWLECCxYsQGJiYm3kIfVcHy87AMCp21koUap5TkMIIfpNo2FY8mcicgrL4CA1wex+LXBiUV/8/F5nBHjbU1NVD+m83ML48eNRVFQEHx8fiMXiSnOtcnJynvFK0hB4O0rhIDVBuqIEZ5Nz0LulLd+RCCFEbx2+loEb6fmwlIhwaE4vyMyM+Y5EXpHOjdW6detqIQYxFAKBAH28bLH9XCqib2RSY0UIIc/AGMPXR28BAN7r3pSaKgOhc2M1YcKE2shBDEgfTztsP5eKqBuZWDbIm1uqgxBCyL+OXM/EtTQFzMVGmNzDne84pIa81MrrarUau3fvxvXr1wEA3t7eGDJkCESil17InRiQ7h42EBsJkZJThDuPC+FhZ8F3JEII0SuMMXx19CYAYEK3prAyE/OciNQUnTuhq1evYvDgwUhPT4enpycAYOXKlbC1tcXevXvRpk2bGg9J6hdziQh+zaxx4lYWom9kUmNFCCFPibqRicSHCpiJjTClZzO+45AapPPlBlOmTEHr1q3x4MEDXLx4ERcvXkRqairatWuHadOm1UZGUg/1/efqwKgbmTwnIYQQ/fLk3Kpx/m6wNqfRKkOic2OVkJCA0NBQNGrUiNvWqFEjfPbZZ4iPj6/RcKT+qmiszt/LgaJEyXMaQgjRH8duPsalB3KYGhthGo1WGRydG6uWLVsiIyOj0vbMzEx4eHjUSChS/7k1NkczW3OoNAwnb2XxHYcQQvQCYwxfHfl3tKqxhYTnRKSm6dxYhYaGYtasWfjtt9/w4MEDPHjwAL/99hvmzJmDlStXQqFQcA/SsPX1pNOBhBDypBO3spCQmgcTYyGm0miVQdJ58vqbb74JABg5ciR3GT1jDAAwaNAg7rlAIIBaTStvN2R9vezw48lkHEvKhEbDIBTSsguEkIar/ErA8tGqsX5usLWk0SpDpHNjFR0dXRs5iAHq1NQaFhIRsgrKcOWhHD4uVnxHIoQQ3py+k424+7mQiISY3otGqwyVzo1V7969ayMHMUBikRA9W9jgQGI6om5kUmNFCGmwnpxbNbqLK+ykJjwnIrWF7u5IalXFTZmjk2ieFSGk4TpzNwfn7uVAbCTE+72b8x2H1CJqrEites2z/F6Blx/IkZlfwnMaQgjhR8Uq6+90cYGDjEarDBk1VqRW2VmaoJ2zDABwLOkxz2kIIaTunb2bjTN3y0erZrxGo1WGjhorUuv6/LPsQjQtu0AIaYC+jiqfW/V2J2c4ykx5TkNq20s1ViqVCkeOHMHGjRuRn58PAHj06BEKCgpqNBwxDBWrsJ+4lYUylYbnNIQQUncu3MvBqdvZMDYSYGYfWkS7IdD5qsD79+9jwIABSElJQWlpKV5//XVYWlpi5cqVKC0txYYNG2ojJ6nH2jaRwcZCgqyCUly4l4NuHjZ8RyKEkDpRsW7VW77OaGJFo1UNgc4jVrNnz0anTp2Qm5sLU9N/f0mGDRuGo0eP1mg4YhiEQgE3if3g1XSe0xBCSN24mJKLE7eyIBIKMPM1Gq1qKHRurE6cOIElS5ZALNa+G3fTpk3x8OFDnY4VGhqKzp07w9LSEnZ2dhg6dCiSkpK4/Tk5Ofjggw/g6ekJU1NTuLq6YtasWZDL5VrHSUlJQVBQEMzMzGBnZ4cFCxZApVJp1Rw7dgwdO3aERCKBh4cHwsPDK+UJCwtD06ZNYWJiAj8/P5w7d05rf0lJCYKDg9G4cWNYWFhgxIgRVd43kVQ2pL0TACDiwgPkFJbxnIYQQmpfxbpVIzo6w8XajOc0pK7o3FhpNJoqb1Xz4MEDWFpa6nSsmJgYBAcH48yZM4iMjIRSqUT//v1RWFgIoHze1qNHj7BmzRokJiYiPDwcBw8exOTJk7ljqNVqBAUFoaysDKdPn8bmzZsRHh6OpUuXcjXJyckICgpCnz59kJCQgDlz5mDKlCk4dOgQV7Nz507MmzcPy5Ytw8WLF+Hj44PAwEBkZv474Xru3LnYu3cvIiIiEBMTg0ePHmH48OE6feaGqoeHDdo2kaFYqcamU8l8xyGEkFqVkJqHmJuPYSQUIJjmVjUsTEcjR45kU6dOZYwxZmFhwe7evcvy8/NZ37592Xvvvafr4bRkZmYyACwmJuaZNbt27WJisZgplUrGGGP79+9nQqGQpaenczXfffcdk0qlrLS0lDHG2MKFC1nr1q21jjNq1CgWGBjIPe/SpQsLDg7mnqvVaubk5MRCQ0MZY4zl5eUxY2NjFhERwdVcv36dAWCxsbHV+nxyuZwBYHK5vFr1hubAlUfMbdE+1mbZQSYvLuM7DiGE1JqJm84xt0X72PxdCXxHITVAl+9vnUes1q5di1OnTsHb2xslJSUYM2YMdxpw5cqVr9TkVZzis7a2fm6NVCqFSFQ+7z42NhZt27aFvb09VxMYGAiFQoGrV69yNQEBAVrHCQwMRGxsLACgrKwMcXFxWjVCoRABAQFcTVxcHJRKpVaNl5cXXF1duRryfP29HdDCzgL5JSr8Enuf7ziEEFIrrjyQI+pGJoQC0GhVA6TzVYHOzs64dOkSdu7ciUuXLqGgoACTJ0/G2LFjtSaz60qj0WDOnDno3r072rRpU2VNVlYW/ve//2HatGnctvT0dK2mCgD3PD09/bk1CoUCxcXFyM3NhVqtrrLmxo0b3DHEYjGsrKwq1VS8z9NKS0tRWlrKPVcoFM/6+A2CUCjAzD7NMXfnJfx8MhmTurvDVGzEdyxCCKlRFVcCDm3fBO425jynIXVN58YKAEQiEcaOHYuxY8fWWJDg4GAkJibi5MmTVe5XKBQICgqCt7c3li9fXmPvW5tCQ0Px3//+l+8YemVQOyd8EXkTqTnF2HE+BRO7u/MdiRBCakziQzmOXM8oH63qS6NVDZHOpwI3b96Mv//+m3u+cOFCWFlZoVu3brh//+VO74SEhGDfvn2Ijo6Gs7Nzpf35+fkYMGAALC0tsXv3bhgbG3P7HBwcKl2ZV/HcwcHhuTVSqRSmpqawsbGBkZFRlTVPHqOsrAx5eXnPrHna4sWLIZfLuUdqamo1fhqGTfTEDUi/P36XFgwlhBiUb/5ZZX2QjxOa21rwnIbwQefG6vPPP+dO+cXGxuLbb7/FqlWrYGNjg7lz5+p0LMYYQkJCsHv3bkRFRcHdvfLohUKhQP/+/SEWi7Fnzx6YmGjfvNLf3x9XrlzRunovMjISUqkU3t7eXM3Ta2xFRkbC398fACAWi+Hr66tVo9FocPToUa7G19cXxsbGWjVJSUlISUnhap4mkUgglUq1HqT80mM7SwnS5CXYHf+A7ziEEFIjrqcpcOhqBgQC4AMarWq4dJ0Zb2pqyu7fv88YK7/abty4cYwxxhITE5mNjY1Ox5oxYwaTyWTs2LFjLC0tjXsUFRUxxspn4fv5+bG2bduy27dva9WoVCrGGGMqlYq1adOG9e/fnyUkJLCDBw8yW1tbtnjxYu597t69y8zMzNiCBQvY9evXWVhYGDMyMmIHDx7kanbs2MEkEgkLDw9n165dY9OmTWNWVlZaVxu+//77zNXVlUVFRbELFy4wf39/5u/vX+3P29CvCnzSD8fvMLdF+1jvVVFMqVLzHYcQQl7ZjF8vMLdF+1jw1ji+o5Aapsv3t86Nla2tLbt48SJjjLH27duzLVu2MMYYu337NjM3N9fpWACqfGzatIkxxlh0dPQza5KTk7nj3Lt3jw0cOJCZmpoyGxsbNn/+fG45hgrR0dGsffv2TCwWs2bNmnHv8aRvvvmGubq6MrFYzLp06cLOnDmjtb+4uJjNnDmTNWrUiJmZmbFhw4axtLS0an9eaqz+VVCiZO3/e4i5LdrH/kp4yHccQgh5JTfSFMxt0T7mtmgfS0pX8B2H1DBdvr8FjDGmywjX2LFjcePGDXTo0AHbt29HSkoKGjdujD179uDjjz9GYmJiTQ2mGRyFQgGZTMYtGdHQfX30Fr6IvAkvB0vsn9UTQqGA70iEEPJSgrddxN+X0/BGWwesH+vLdxxSw3T5/tZ5jlVYWBj8/f3x+PFj/P7772jcuDGA8nWeRo8e/XKJSYM0wb8pLCQi3EjPx9EbmS9+ASGE6KFbGfnYfyUNADCrXwue0xC+6TxiRV4ejVhVtuLADWyIuQMfFyv8ObMbBAIatSKE1C+ztsdjz6VHGNDaARvG0WiVIdLl+1vndayOHz/+3P29evXS9ZCkAZvcwx2bTiXjUmoeTt/JRncPG74jEUJItd3OLMDey48AAB/0oysByUs0Vq+99lqlbU+OMlR1g2ZCnsXWUoLRXVwRfvoewqJvU2NFCKlXwqJvgzHgdW97tHaS8R2H6AGd51jl5uZqPTIzM3Hw4EF07twZhw8fro2MxMBN7dUMIqEAp+9k42JKLt9xCCGkWu4+LsBfCQ8BALP60twqUk7nxkomk2k9bGxs8Prrr2PlypVYuHBhbWQkBq6JlSmGd2wCAAiLus1zGkIIqZ6w6DvQMKCflx3aOtNoFSmnc2P1LPb29khKSqqpw5EGZsZrHhAKgKM3MnHtUcO+WTUhRP/dzy7EnxWjVXQlIHmCznOsLl++rPWcMYa0tDSsWLEC7du3r6lcpIFxtzHHG20dse9yGtYfu41vx3TkOxIhhDxTWPRtqDUMr3nawsfFiu84RI/o3Fi1b98eAoEAT6/S0LVrV/z88881Fow0PMF9PLDvchr+vpKGeY8L0IxuYEoI0UOpOUX44yKNVpGq6dxYJScnaz0XCoWwtbWtdHNkQnTVylGKfl52OHojExti7mDVWz58RyKEkErCom9DpWHo2cIGHV0b8R2H6BmdGys3N7fayEEIACC4rweO3sjEHxcfYnZASzSxMuU7EiGEcB7kFuG3uAcAgDkBNFpFKnupyesxMTEYNGgQPDw84OHhgcGDB+PEiRM1nY00QB1dG6Fb88ZQaRh+OH6X7ziEEKJl/bE7UGkYuns0hq+bNd9xiB7SubH69ddfERAQADMzM8yaNQuzZs2Cqakp+vXrh23bttVGRtLABPcpX714+7kUPM4v5TkNIYSUe5RXjIgLqQCA2f1a8pyG6Cud7xXYqlUrTJs2DXPnztXa/sUXX+CHH37A9evXazSgIaF7BVYPYwzD1p9GQmoe3u/dHB8N9OI7EiGE4JM/E/HLmfvwb9YY26d15TsOqUO6fH/rPGJ19+5dDBo0qNL2wYMHV5rYTsjLEAgECPln1OrXM/chL1LynIgQ0tClyYux83z5aBVdCUieR+fGysXFBUePHq20/ciRI3BxcamRUIT09bKDl4MlCkpV2Bx7j+84hJAGbmPMXZSpNejibg3/5o35jkP0mM5XBc6fPx+zZs1CQkICunXrBgA4deoUwsPD8dVXX9V4QNIwCYUCzOzjgVnb4/HzqWRM7uEOc4nOv66EEPLKMhQl2HYuBQAwm0aryAvo/E01Y8YMODg4YO3atdi1axeA8nlXO3fuxJAhQ2o8IGm4gto64ovDSbiXXYTt51IwpWczviMRQhqgjTF3UabSoJNb+VXLhDyPzpPXycujyeu623k+BYt+vwI7SwmOL+wDE2MjviMRQhqQzPwS9FwZjVKVBlsmdUGvlrZ8RyI8qNXJ6xXKysrw4MEDpKSkaD0IqUnDOjjDUWaCzPxS/H7xAd9xCCENzPcxd1Gq0qCDqxV6trDhOw6pB3RurG7duoWePXvC1NQUbm5ucHd3h7u7O5o2bQp3d/fayEgaMLFIiGm9yk8Bboi5A5Vaw3MiQkhDkVVQil/P3gdQPrdKIBDwnIjUBzrPsXrvvfcgEomwb98+ODo60i8aqXXvdHbFt1G3kZpTjD2XHmF4R2e+IxFCGoAfjt9FiVIDH2cZetMpQFJNOjdWCQkJiIuLg5cXLdpI6oap2AiTerhj9aEkrD92B0PbN4FQSA09IaT2ZBeUYkvsP6NVATRaRapP51OB3t7eyMrKqo0shDzTOH83WJqIcDuzAIevpfMdhxBi4H48mYxipRptm8jQx9OO7zikHqlWY6VQKLjHypUrsXDhQhw7dgzZ2dla+xQKRW3nJQ2U1MQY73VrCgD4Nvo26GJWQkhtyS0sw5bT9wCUr7JOo1VEF9U6FWhlZaX1i8UYQ79+/bRqGGMQCARQq9U1m5CQf0zs7o4fTyQj8aECx29l0ZwHQkit+OlkMgrL1PB2lCKgFY1WEd1Uq7GKjo6u7RyEvJC1uRhj/Fzx08lkhEXdpsaKEFLj8orKEE6jVeQVVKux6t27d23nIKRapvZshl9i7+PcvRycS85BF3drviMRQgzIz6fuoaBUBS8HS/T3tuc7DqmHXnqBUEL44CAzwQjf8uUWwqJv85yGEGJI5MVKbDqVDKB8tIquPiYvgxorUu/M6N0cQgEQc/MxrjyQ8x2HEGIgNp1KRn6JCi3tLTCgtQPfcUg9RY0VqXdcG5thsI8TAGD9MRq1IoS8OkWJEj+fLB+t+qAvjVaRl0eNFamXZvbxAAAcvJqO25n5PKchhNR3m0/dg6JEBQ87C7zR1pHvOKQee6nGSqVS4ciRI9i4cSPy88u/1B49eoSCgoIaDUfIs7S0t0Rga3swBqyPvsN3HEJIPVZQqsKP3GiVB4xotIq8Ap0bq/v376Nt27YYMmQIgoOD8fjxYwDAypUr8eGHH9Z4QEKeJfifUau/Lj1Cak4Rz2kIIfXV5tP3IC9WopmtOd5s58R3HFLP6dxYzZ49G506dUJubi5MTU257cOGDcPRo0drNBwhz9PO2Qo9W9hArWHYEEOjVoQQ3RWWqvDjibsAaLSK1AydG6sTJ05gyZIlEIvFWtubNm2Khw8f1lgwQqoj5J9Rq4gLD5CpKOE5DSGkvvnlzH3kFinRtLEZBtFoFakBOjdWGo2mytvWPHjwAJaWljUSipDq6uJujU5ujVCm1uCHf/7VSQgh1VFUpsIPx8v/3gjp2wIiI7qei7w6nX+L+vfvj3Xr1nHPBQIBCgoKsGzZMrzxxhs1mY2QFxIIBAjuWz5qtfVsCnILy3hORAipL7aeSUF2YRlcrc0wtD2NVpGaoXNjtXbtWpw6dQre3t4oKSnBmDFjuNOAK1eurI2MhDzXay1t0dpJiqIyNTb9c48vQgh5nuIyNTYeL5+bGdLHg0arSI3R+TfJ2dkZly5dwscff4y5c+eiQ4cOWLFiBeLj42FnR3cBJ3VPIBBwVwiGn0pGfomS50SEEH239ex9ZBWUwbmRKYZ1bMJ3HGJAXqpFF4lEePfdd7Fq1SqsX78eU6ZM0bpCsLpCQ0PRuXNnWFpaws7ODkOHDkVSUpJWTUlJCYKDg9G4cWNYWFhgxIgRyMjI0KpJSUlBUFAQzMzMYGdnhwULFkClUmnVHDt2DB07doREIoGHhwfCw8Mr5QkLC0PTpk1hYmICPz8/nDt3TucshB8DWjugua05FCUq/Homhe84hBA9VqJUY+M/c6uC+3jAmEarSA3S+bdpz549VT727t2LyMhIJCcnV/tYMTExCA4OxpkzZxAZGQmlUon+/fujsLCQq5k7dy727t2LiIgIxMTE4NGjRxg+fDi3X61WIygoCGVlZTh9+jQ2b96M8PBwLF26lKtJTk5GUFAQ+vTpg4SEBMyZMwdTpkzBoUOHuJqdO3di3rx5WLZsGS5evAgfHx8EBgYiMzOz2lkIf4RCAWa8Vj5q9dPJuyhRVr7AghBCAGD7uRQ8zi9FEytTjOjozHccYmiYjgQCARMKhUwgEGg9KrYJhULWq1cvlpOTo+uhWWZmJgPAYmJiGGOM5eXlMWNjYxYREcHVXL9+nQFgsbGxjDHG9u/fz4RCIUtPT+dqvvvuOyaVSllpaSljjLGFCxey1q1ba73XqFGjWGBgIPe8S5cuLDg4mHuuVquZk5MTCw0NrXaWF5HL5QwAk8vl1aonuilTqVm30KPMbdE+Fn4qme84hBA9VFymYl0+i2Rui/axX2Lv8R2H1BO6fH/rPGIVGRmJzp07IzIyEnK5HHK5HJGRkfDz88O+fftw/PhxZGdnv9Qq7HK5HABgbW0NAIiLi4NSqURAQABX4+XlBVdXV8TGxgIAYmNj0bZtW9jb23M1gYGBUCgUuHr1Klfz5DEqaiqOUVZWhri4OK0aoVCIgIAArqY6WQi/jI2EeL93MwDAxpg7KFNpeE5ECNE3uy6kIkNRCkeZCd7uRKNVpOaJdH3B7Nmz8f3336Nbt27ctn79+sHExATTpk3D1atXsW7dOkyaNEmn42o0GsyZMwfdu3dHmzZtAADp6ekQi8WwsrLSqrW3t0d6ejpX82RTVbG/Yt/zahQKBYqLi5Gbmwu1Wl1lzY0bN6qd5WmlpaUoLS3lnisUihf9GMgreruTC76Ouo1H8hL8mfAQIzu58B2JEKInSlVqfHes/ErAma81h0RkxHMiYoh0HrG6c+cOpFJppe1SqRR375ZPBmzRogWysrJ0Om5wcDASExOxY8cOXSPprdDQUMhkMu7h4kJf8rXNxNgIU3u6AwC+O3YHag3jOREhRF9EXHiANHkJ7KUSvE3/6CK1ROfGytfXFwsWLOBuvgwAjx8/xsKFC9G5c2cAwK1bt3RqIkJCQrBv3z5ER0fD2fnfoVkHBweUlZUhLy9Pqz4jIwMODg5czdNX5lU8f1GNVCqFqakpbGxsYGRkVGXNk8d4UZanLV68mDtdKpfLkZqaWo2fBnlVY/zcIDM1RnJWIQ4kpvEdhxCiB8pUGm60akbv5jAxptEqUjt0bqx++uknJCcnw9nZGR4eHvDw8ICzszPu3buHH3/8EQBQUFCAJUuWvPBYjDGEhIRg9+7diIqKgru7u9Z+X19fGBsba93cOSkpCSkpKfD39wcA+Pv748qVK1pX70VGRkIqlcLb25urefoG0ZGRkdwxxGIxfH19tWo0Gg2OHj3K1VQny9MkEgmkUqnWg9Q+C4kIE7s3BQCERd8BYzRqRUhD9/vFB3iYVwxbSwne6eLKdxxiyF5mdrxarWYHDhxgX331Ffvqq6/YwYMHmVqt1vk4M2bMYDKZjB07doylpaVxj6KiIq7m/fffZ66uriwqKopduHCB+fv7M39/f26/SqVibdq0Yf3792cJCQns4MGDzNbWli1evJiruXv3LjMzM2MLFixg169fZ2FhYczIyIgdPHiQq9mxYweTSCQsPDycXbt2jU2bNo1ZWVlpXW34oiwvQlcF1p3cwlLm/ckB5rZoHztyLf3FLyCEGKwylZp1X1F+xfCPJ+7yHYfUQ7p8f79UY1VTAFT52LRpE1dTXFzMZs6cyRo1asTMzMzYsGHDWFpamtZx7t27xwYOHMhMTU2ZjY0Nmz9/PlMqlVo10dHRrH379kwsFrNmzZppvUeFb775hrm6ujKxWMy6dOnCzpw5o7W/OlmehxqruvX539eY26J9bGjYSabRaPiOQwjhyc5zKcxt0T7m+79IVlSq4jsOqYd0+f4WMKb7eZLCwkLExMQgJSUFZWXaN72dNWvWK46hGS6FQgGZTAa5XE6nBetAZn4JeqyMRplKg21T/dCtuQ3fkQghdUyp1qDf2hik5BThP2+0wtRezfiOROohXb6/dV5uIT4+Hm+88QaKiopQWFgIa2trZGVlcbeTocaK6As7SxOM6uSCX87cx/roO9RYEdLAMMYQFn0bKTlFaGwuxtiuNLeK1D6dJ6/PnTsXgwYNQm5uLkxNTXHmzBncv38fvr6+WLNmTW1kJOSlTe/dDCKhACdvZyEhNY/vOISQOlKiVOPDiMtYd+QWAOCDvh4wE+s8lkCIznRurBISEjB//nwIhUIYGRmhtLQULi4uWLVqFT7++OPayEjIS3NuZIahHcrvXP9t1G2e0xBC6kKmogSjfziD3y8+gJFQgOWDvDGhW1O+Y5EGQufGytjYGEJh+cvs7OyQkpICAJDJZLROE9FLM15rDoEAOHI9AzfSafV7QgzZ5Qd5GPztKcSn5EFmaozNE7vgve7uEAgEfEcjDYTOjVWHDh1w/vx5AEDv3r2xdOlSbN26FXPmzOFuRUOIPmlua4E32jgCANZH3+E5DSGktvyV8BBvb4hFuqIEHnYW+DO4O3q0oLmVpG7p3Fh9/vnncHQs/5L67LPP0KhRI8yYMQOPHz/G999/X+MBCakJM/s0BwDsu/wI97IKeU5DCKlJGg3DqoM3MHtHAkpVGvT1ssMfM7vB3cac72ikAdJpJh9jDHZ2dtzIlJ2dHQ4ePFgrwQipSa2dZOjjaYvopMfYEHMHK0a04zsSIaQG5JcoMXdnAo5cL7/7xvu9m2NBoCeMhHTqj/BDpxErxhg8PDxoLhWpl0L6egAov7XFo7xintMQQl7V/exCDF9/GkeuZ0IsEmLdqPb4aKAXNVWEVzo1VkKhEC1atEB2dnZt5SGk1vi6WcPP3RpKNcMPJ+7yHYcQ8gpO3c7C4G9P4VZmAeylEkRM9+euACaETzrPsVqxYgUWLFiAxMTE2shDSK2qGLXafi4FWQWlPKchhOiKMYbwU8kY//M5yIuV8HGxwp6QHvBxseI7GiEAXmLl9fHjx6OoqAg+Pj4Qi8UwNTXV2p+Tk1Nj4QipaT08bODjLMOlB3L8fDIZCwd48R2JEFJNZSoNlv6ViB3ny6ejDO/QBJ8PbwsTYyOekxHyL50bq3Xr1tVCDELqhkAgwMw+Hpj+Sxx+ib2P6b2bQ2ZqzHcsQsgLZBWUYsavcTh/LxcCAbB4oBem9mxG61MRvaNzYzVhwoTayEFInXm9lT1a2lvgZkYBfom9h5C+LfiORAh5jquP5Ji2JQ4P84phKRHh69Ed0MfLju9YhFRJ5zlWAHDnzh0sWbIEo0ePRmZm+SWuBw4cwNWrV2s0HCG1QSgUYOZr5XOtfjqZjKIyFc+JCCHPsv9KGt76LhYP84rhbmOO3cHdqakiek3nxiomJgZt27bF2bNn8ccff6CgoAAAcOnSJSxbtqzGAxJSG95s5whXazPkFimx/RwtH0KIvtFoGL6IvImZWy+iWKlGzxY2+HNmd3jYWfAdjZDn0rmx+uijj/B///d/iIyMhFgs5rb37dsXZ86cqdFwhNQWkZEQM14rX439++N3UKpS85yIEFKhsFSFmVsv4uujtwAAk3u4Y9N7nSEzo/mQRP/p3FhduXIFw4YNq7Tdzs4OWVlZNRKKkLowvGMTOEhNkKEoxR8XH/IdhxACIDWnCCO+O42DV9MhNhJi1Vvt8Mmb3hAZvdTMFULqnM6/qVZWVkhLS6u0PT4+Hk2a0OJspP6QiIwwtVczAMB3x+5ApdbwnIiQhu3s3WwMCTuFG+n5sLGQYPs0P4zs5MJ3LEJ0onNj9c4772DRokVIT0+HQCCARqPBqVOn8OGHH2L8+PG1kZGQWjO6iwuszcVIySnCvsuV/8FACKkb286mYOyPZ5FTWIY2TaTYE9Idvm7WfMciRGc6N1aff/45vLy84OLigoKCAnh7e6NXr17o1q0blixZUhsZCak1ZmIRJnVvCgBYf+w2NBrGbyBCGhilunzRz493X4FKwxDUzhER07vBycr0xS8mRA8JGGMv9U2SkpKCxMREFBQUoEOHDmjRgtYCehGFQgGZTAa5XA6pVMp3HPIPebESPVZEIb9UhY3jfBHY2oHvSIQ0CLmFZZi59SJi75bff/bD/i0R3MeDFv0kekeX72+dFwg9efIkevToAVdXV7i6ur50SEL0hczUGOP83bD+2B2sj76N/t729Bc7IbUsKT0fU7acR2pOMczFRvhyVHv0p3/UEAOg86nAvn37wt3dHR9//DGuXbtWG5kIqXOTe7jDxFiISw/kiLqRyXccQgxa5LUMDF9/Cqk5xXCxNsXvM7tRU0UMhs6N1aNHjzB//nzExMSgTZs2aN++PVavXo0HDx7URj5C6kRjCwnGdHEDAMz49SJ+ib2HlzxLTgh5BsYYwqJvY9ovF1BYpkbXZtb4K7gHvBxoagQxHC89xwoAkpOTsW3bNmzfvh03btxAr169EBUVVZP5DArNsdJvhaUqzN2ZgMPXMgAAg3ycEDq8LSwkOp8xJ4Q8pbhMjQW/XeKuvh3X1Q1LB3nDmNanIvWALt/fr9RYAYBarcaBAwfwySef4PLly1CraQXrZ6HGSv8xxvDTyWSsOHADKg1DMxtzrH+3I/2LmpBX8CivGNN+uYDEhwqIhAIsH9wa73Z14zsWIdWmy/f3S/9T4dSpU5g5cyYcHR0xZswYtGnTBn///ffLHo4QvSAQCDClZzPsnN4VjjIT3M0qxNCwU4i4QPcTJORlxN3PxeBvTyHxoQKNzIzx6xQ/aqqIQdN5xGrx4sXYsWMHHj16hNdffx1jx47FkCFDYGZmVlsZDQaNWNUvOYVlmLMzAcdvPgYAvO3rjE+HtIGp2IjnZITUDxEXUvGf3YkoU2vg5WCJH8Z3gos1fVeQ+qdWTwV2794dY8eOxciRI2FjY/NKQRsaaqzqH42mfLLtl0duQsMALwdLhI3tiOa2FnxHI0RvqdQahB64gZ9OJgMAAlvb44uR7WFO8xVJPVWnc6xI9VFjVX+dvp2FWTsSkFVQCnOxEVaMaIdBPk58xyJE78iLlAjZfhEnbmUBAGb1a4E5/VpAKKS14Uj9VSeN1bVr15CSkoKysjKt7YMHD36ZwzUI1FjVb5mKEnywPR5nk3MAlF/VtOTNVpCI6NQgIQBw53EBpm6+gLtZhTAxFmLt2+0R1M6R71iEvLJabazu3r2LYcOG4cqVKxAIBNxaPxUrVdNVgc9GjVX9p1Jr8OWRmwiLvgMAaNtEhvVjO9K8EdLgRSdlYtb2eOSXqOAkM8H34zuhTRMZ37EIqRG1elXg7Nmz4e7ujszMTJiZmeHq1as4fvw4OnXqhGPHjr1sZkLqBZGREAsCvbBpYmdYmRnjykM5gr4+gcNX0/mORggvGGP44fhdTA4/j/wSFTq5NcKeD3pQU0UaLJ0bq9jYWHz66aewsbGBUCiEUChEjx49EBoailmzZtVGRkL0Th9PO/w9qyc6uFpBUaLCtF/i8Nnf16BUa/iORkidKVGqMT/iEj7bfx0aBozq5IJtU7vCxkLCdzRCeKNzY6VWq2FpaQkAsLGxwaNHjwAAbm5uSEpKqtl0hOixJlam2DnNH5O6uwMAfjiRjHe+P4M0eTHPyQipfYwxLPjtMv64+BBGQgGWD/LGihFtIRbRSuqkYdP5v4A2bdrg0qVLAAA/Pz+sWrUKp06dwqeffopmzZrVeEBC9JlYJMTSQd7Y8G5HWEpEiLufi6CvT3JrXxFiqH46mYy9lx5BJBTgpwmd8F53d26uLSENmc6N1ZIlS6DRlJ/u+PTTT5GcnIyePXti//79+Prrr2s8ICH1wYA2jtg3qwdaO0mRU1iGCZvO4YvDSVBraDUTYnhO38lC6IEbAIAlQa3wmqcdz4kI0R81so5VTk4OGjVqRP9aeQG6KtDwlSjV+HTfNWw7mwIA6Na8Mb56pwNsLWnOCTEMj/KK8eY3J5FTWIbhHZpg7Ugf+rufGLw6uVfgk6ytrek/LEIAmBgb4fNhbbFuVHuYiY1w+k423vj6BM7czeY7GiGvrESpxvu/xiGnsAytnaT4fHhb+rufkKfQLENCasHQDk2wJ6Q7Wtpb4HF+Kcb8cAZh0behoVODpJ5ijGHpX4m4/ECORmbG2PCuL0yMaXFcQp5GjRUhtcTDzhJ/BnfH8I5NoGHA6kNJmLz5PHILy178YkL0zNazKdh14QGEAuCb0bQoLiHPwmtjdfz4cQwaNAhOTk4QCAT4888/tfYXFBQgJCQEzs7OMDU1hbe3NzZs2KBVU1JSguDgYDRu3BgWFhYYMWIEMjIytGpSUlIQFBQEMzMz2NnZYcGCBVCpVFo1x44dQ8eOHSGRSODh4YHw8PBKecPCwtC0aVOYmJjAz88P586dq5GfAzFcZmIR1r7tg5Uj2kIiEiI66THe/OYk4lNy+Y5GSLXF3c/Ff/deBQAsHOCFHi1seE5EiP7itbEqLCyEj48PwsLCqtw/b948HDx4EL/++iuuX7+OOXPmICQkBHv27OFq5s6di7179yIiIgIxMTF49OgRhg8fzu1Xq9UICgpCWVkZTp8+jc2bNyM8PBxLly7lapKTkxEUFIQ+ffogISEBc+bMwZQpU3Do0CGuZufOnZg3bx6WLVuGixcvwsfHB4GBgcjMzKyFnwwxJAKBAKM6u2L3zO5o2tgMD/OKMXJjLH4+mQy6BzrRd5mKEsz4NQ5KNcMbbR0wvRctq0PIczE9AYDt3r1ba1vr1q3Zp59+qrWtY8eO7D//+Q9jjLG8vDxmbGzMIiIiuP3Xr19nAFhsbCxjjLH9+/czoVDI0tPTuZrvvvuOSaVSVlpayhhjbOHChax169Za7zNq1CgWGBjIPe/SpQsLDg7mnqvVaubk5MRCQ0Or/RnlcjkDwORyebVfQwyLoriMzfj1AnNbtI+5LdrHpm+5wOTFZXzHIqRKpUo1G7H+FHNbtI8FrD3G8kuUfEcihBe6fH/r9Ryrbt26Yc+ePXj48CEYY4iOjsbNmzfRv39/AEBcXByUSiUCAgK413h5ecHV1RWxsbEAym/B07ZtW9jb23M1gYGBUCgUuHr1Klfz5DEqaiqOUVZWhri4OK0aoVCIgIAArqYqpaWlUCgUWg/SsFmaGCNsTEcsH+QNYyMBDl5Nx6BvTiLxoZzvaIRU8n9/X8OF+7mwlIiwcZwvLCQiviMRovf0urH65ptv4O3tDWdnZ4jFYgwYMABhYWHo1asXACA9PR1isRhWVlZar7O3t0d6ejpX82RTVbG/Yt/zahQKBYqLi5GVlQW1Wl1lTcUxqhIaGgqZTMY9XFxcdP8hEIMjEAjwXnd3RLzfDU2sTHE/uwjDvzuNbWdT6NQg0Ru/xT3Altj7AIB177RHM1sLnhMRUj/ofWN15swZ7NmzB3FxcVi7di2Cg4Nx5MgRvqNVy+LFiyGXy7lHamoq35GIHmnvYoW/Z/VAPy87lKk0+Hj3FczbdQmFpaoXv5iQWnTlgRwf774CAJjdrwX6tbJ/wSsIIRX0dly3uLgYH3/8MXbv3o2goCAAQLt27ZCQkIA1a9YgICAADg4OKCsrQ15entaoVUZGBhwcHAAADg4Ola7eq7hq8Mmap68kzMjIgFQqhampKYyMjGBkZFRlTcUxqiKRSCCR0Irb5NmszMT4YXwnfH/iLlYfSsLu+Ie48lCO78Z2RAt7S77jkQYop7AM7/8ahzKVBv287DC7Xwu+IxFSr+jtiJVSqYRSqYRQqB3RyMiIu1ehr68vjI2NcfToUW5/UlISUlJS4O/vDwDw9/fHlStXtK7ei4yMhFQqhbe3N1fz5DEqaiqOIRaL4evrq1Wj0Whw9OhRroaQlyUUCvB+7+bYNsUPdpYS3M4swOBvT+GPiw/4jkYaGJVagw+2X8TDvGK425jji1HtIRTSyuqE6ILXEauCggLcvn2be56cnIyEhARYW1vD1dUVvXv3xoIFC2Bqago3NzfExMRgy5Yt+OKLLwAAMpkMkydPxrx582BtbQ2pVIoPPvgA/v7+6Nq1KwCgf//+8Pb2xrhx47Bq1Sqkp6djyZIlCA4O5kaT3n//fXz77bdYuHAhJk2ahKioKOzatQt///03l23evHmYMGECOnXqhC5dumDdunUoLCzExIkT6/AnRgyZX7PG2D+7J+bsSMDJ21mYt+sSzt/LwbJBrWmFa1InVh9Kwqnb2TATG2HjOF/ITI35jkRI/VPr1yg+R3R0NANQ6TFhwgTGGGNpaWnsvffeY05OTszExIR5enqytWvXMo1Gwx2juLiYzZw5kzVq1IiZmZmxYcOGsbS0NK33uXfvHhs4cCAzNTVlNjY2bP78+Uyp1L5sODo6mrVv356JxWLWrFkztmnTpkp5v/nmG+bq6srEYjHr0qULO3PmjE6fl5ZbINWhUmvYl5FJrOlH5UsyDFx3nCU/LuA7FjFwey895JYB2XfpEd9xCNErunx/Cxijy5Dqii53xybkxK3HmLMjAdmFZbCQiLDqrXZ4o60j37GIAUpKz8ew9adQVKbG9N7NsHhgK74jEaJXdPn+1ts5VoQ0dD1b2OLvWT3RuWkjFJSqMHPrRSzfcxVlKg3f0YgBkRcrMf2XCygqU6OHhw0W9PfkOxIh9Ro1VoToMQeZCbZN7YrpvctvIxJ++h7e3hiLdHkJz8mIIdBoGObsiMe97CI0sTLF16M7QGREXwuEvAr6L4gQPWdsJMTiga3w4/hOkJka41JqHqZuuYBSlZrvaKSeW3f0FqKTHkMiEmLjOF9Ym4v5jkRIvUeNFSH1RIC3PfaEdIeVmTGuPJQjdP8NviOReizyWga+PnoLAPD5sLZo00TGcyJCDAM1VoTUI26NzbH2bR8A5acFDyam8ZyI1Ed3Hhdg3s4EAMAEfzeM8HXmNxAhBoQaK0LqmX6t7DGtV/mcqwW/XUZqThHPiUh9UlCqwvRf4pBfqkLnpo2w5E1vviMRYlCosSKkHloQ6IkOrlbIL1EhZNtFulKQVAtjDAsiLuF2ZgHspRKEje0IY5qsTkiNov+iCKmHjI2E+GZ0h/LJ7A/kWHGA5luRF9sQcxcHEtNhbCTA+rG+sLM04TsSIQaHGitC6innRmZY8898q59PJePw1XSeExF9duLWY6w+VN6ALx/cGr5ujXhORIhhosaKkHrsdW97TOnhDgD4MOISzbciVUrNKcIH2+OhYcCoTi4Y08WV70iEGCxqrAip5xYO8IKPixUUJSp8sD2e5lsRLcVlakz/JQ55RUr4OMvw3yGtIRAI+I5FiMGixoqQek4sEuLb0R0gNREhITUPqw7SfCtSjjGGj3dfwbU0BRqbi/Hdu74wMTbiOxYhBo0aK0IMgIu1GVb/M9/qx5PJOHItg+dERB+En76H3fEPYSQU4NsxHeFkZcp3JEIMHjVWhBiIwNYOmNi9KQBgfsQlPMwr5jcQ4dXZu9n4v7+vAwAWD/SCf/PGPCcipGGgxooQA7J4YCv4OMsgL1YiZNtFKNU036ohSpMXI3jbRag1DEPaO2HyPxc4EEJqHzVWhBgQsUiIb8d0hKWJCPEpeVhzKInvSKSOlarUmPHrRWQVlMHLwRIrhrejyeqE1CFqrAgxMC7WZlj9VjsAwMbjdxF1g+ZbNSTL91xDQmoeZKbG+H5cJ5iKabI6IXWJGitCDNCANo54r1tTAMC8XZfwiOZbNQg7zqVg+7kUCATAV++0h2tjM74jEdLgUGNFiIFa/IYX2jaRIa9IiQ+2x9N8KwMXn5KLpX9dBQB82N8Tr3na8ZyIkIaJGitCDJREZIRvx3SApUSEuPu5WHv4Jt+RSC15nF+KGb9eRJlag8DW9pj5WnO+IxHSYFFjRYgBc2tsjpX/zLfaEHMH0UmZPCciNU2p1iB420WkK0rQ3NYca972ocnqhPCIGitCDNwbbR0x3t8NADBvZwLS5DTfypB8vv86ziXnwEIiwsZxnWBpYsx3JEIaNGqsCGkAPn6jFVo7SZFbpMSs7fFQ0Xwrg7A7/gE2nboHAFg70gcedhb8BiKEUGNFSENgYmyEsDEdYSER4fy9XHx5hOZb1XdXH8mx+I8rAICQPh4IbO3AcyJCCECNFSENRlMbc4QObwsACIu+g5ibj3lORF5WbmEZpv8ShxKlBr1b2mLu6y35jkQI+Qc1VoQ0IIN8nDDWzxUAMHdnAtLlJTwnIrpSaxhm7YjHg9xiuFqb4et3OsBISJPVCdEX1FgR0sB88qY3WjlKkVNYhlk7aL5VfbPmcBJO3MqCqbERNo7zhcyMJqsTok+osSKkgTExNsL6sR1hLjbCueQcfHX0Ft+RSDUduJKG747dAQCsfKsdWjlKeU5ECHkaNVaENEDuNub4/J/5Vt9G38aJWzTfSt/dysjHhxGXAABTerhjsI8Tz4kIIVWhxoqQBmpI+yYY3cUVjAFzdiQgU0HzrfSVokSJ6b/EobBMDf9mjfHRQC++IxFCnoEaK0IasGWDvOHlYInsf+ZbqTWM70jkKRoNw7ydl3A3qxBOMhN8O6YDREb0Vzch+or+6ySkATMxNkLY2I4wExvhzF2ab6WPvo2+jSPXMyAWCbFhnC8aW0j4jkQIeQ5qrAhp4JrbWuDzYeXzrb6JuoVTt7N4TkQqRN/I5BZz/b+hbdDO2YrfQISQF6LGihCCoR2a4J3OLmAMmL0jAZn5NN+Kb/eyCjF7RzwYA8b6uWJkJxe+IxFCqoEaK0IIAGDZoNbwtLdEVkEp5uxIoPlWPMotLMOk8PNQlKjQ0dUKywa15jsSIaSaqLEihAAATMX/zrc6fScb30bd5jtSg1SqUmP6L3G4m1WIJlam2PCuL8Qi+quakPqC/mslhHA87Czwf0PbAADWHb2J03dovlVdYoxh4W+Xce5eDiwlImya2Bl2UhO+YxFCdECNFSFEy/COznjb15mbb/U4v5TvSA3Gl5E38VfCI4iEAnz3ri9a2lvyHYkQoiNqrAghlXw6pA1a2lvgcX4p5u6k+VZ1IeJCKr7+5/TrZ8PaoEcLG54TEUJeBjVWhJBKTMVGCBvTEabGRjh5Owvro2m+VW06fTsLi/+4AgCY+VpzjOrsynMiQsjL4rWxOn78OAYNGgQnJycIBAL8+eeflWquX7+OwYMHQyaTwdzcHJ07d0ZKSgq3v6SkBMHBwWjcuDEsLCwwYsQIZGRkaB0jJSUFQUFBMDMzg52dHRYsWACVSqVVc+zYMXTs2BESiQQeHh4IDw+vlCUsLAxNmzaFiYkJ/Pz8cO7cuRr5ORCij1rYW+J//8y3+vLITZy5m81zIsN0KyMf03+Ng0rD8GY7R3zY35PvSISQV8BrY1VYWAgfHx+EhYVVuf/OnTvo0aMHvLy8cOzYMVy+fBmffPIJTEz+ncw5d+5c7N27FxEREYiJicGjR48wfPhwbr9arUZQUBDKyspw+vRpbN68GeHh4Vi6dClXk5ycjKCgIPTp0wcJCQmYM2cOpkyZgkOHDnE1O3fuxLx587Bs2TJcvHgRPj4+CAwMRGZmZi38ZAjRD2/5OmNER2doGDBrezyyCmi+VU16nF+KieHnkV+iQie3Rljztg+EQgHfsQghr4LpCQBs9+7dWttGjRrF3n333We+Ji8vjxkbG7OIiAhu2/Xr1xkAFhsbyxhjbP/+/UwoFLL09HSu5rvvvmNSqZSVlpYyxhhbuHAha926daX3DgwM5J536dKFBQcHc8/VajVzcnJioaGh1f6McrmcAWByubzaryGEb4WlStZv7THmtmgfe/fHM0yt1vAdySAUlarY4G9OMLdF+1jvVVEsu6CU70iEkGfQ5ftbb+dYaTQa/P3332jZsiUCAwNhZ2cHPz8/rdOFcXFxUCqVCAgI4LZ5eXnB1dUVsbGxAIDY2Fi0bdsW9vb2XE1gYCAUCgWuXr3K1Tx5jIqaimOUlZUhLi5Oq0YoFCIgIICrqUppaSkUCoXWg5D6xkwsQtiYjjAxFuLErSx8F3OH70j1nlrDMGdnPC49kMPKzBibJnaBtbmY71iEkBqgt41VZmYmCgoKsGLFCgwYMACHDx/GsGHDMHz4cMTExAAA0tPTIRaLYWVlpfVae3t7pKenczVPNlUV+yv2Pa9GoVCguLgYWVlZUKvVVdZUHKMqoaGhkMlk3MPFhW5JQeonTwdLfDq4fL7V2sNJOJecw3Oi+i10/3UcupoBsZEQP4zvBHcbc74jEUJqiN42VhqNBgAwZMgQzJ07F+3bt8dHH32EN998Exs2bOA5XfUsXrwYcrmce6SmpvIdiZCX9nYnZwzv0ISbb5VN861eyi+x9/DjyWQAwOq326FzU2ueExFCapLeNlY2NjYQiUTw9vbW2t6qVSvuqkAHBweUlZUhLy9PqyYjIwMODg5czdNXCVY8f1GNVCqFqakpbGxsYGRkVGVNxTGqIpFIIJVKtR6E1FcCgQD/G9oGzW3Nka4owbxdl6Ch9a10En0jE8v2lE9B+LB/Swxp34TnRISQmqa3jZVYLEbnzp2RlJSktf3mzZtwc3MDAPj6+sLY2BhHjx7l9iclJSElJQX+/v4AAH9/f1y5ckXr6r3IyEhIpVKuafP399c6RkVNxTHEYjF8fX21ajQaDY4ePcrVENIQmEtECBvbERKREDE3H2Pj8bt8R6o3rj6SI2TbRWgYMLKTM4L7ePAdiRBSG+pgMv0z5efns/j4eBYfH88AsC+++ILFx8ez+/fvM8YY++OPP5ixsTH7/vvv2a1bt9g333zDjIyM2IkTJ7hjvP/++8zV1ZVFRUWxCxcuMH9/f+bv78/tV6lUrE2bNqx///4sISGBHTx4kNna2rLFixdzNXfv3mVmZmZswYIF7Pr16ywsLIwZGRmxgwcPcjU7duxgEomEhYeHs2vXrrFp06YxKysrrasNX4SuCiSGYvvZ+8xt0T7WbPHf7HxyNt9x9N6jvCLW5bNI5rZoHxvzQywrU6n5jkQI0YEu39+8NlbR0dEMQKXHhAkTuJqffvqJeXh4MBMTE+bj48P+/PNPrWMUFxezmTNnskaNGjEzMzM2bNgwlpaWplVz7949NnDgQGZqaspsbGzY/PnzmVKprJSlffv2TCwWs2bNmrFNmzZVyvvNN98wV1dXJhaLWZcuXdiZM2d0+rzUWBFDodFo2KztF5nbon2s6+dHWA4tFfBM+SVKNmDdcea2aB8LWHuM5RWV8R2JEKIjXb6/BYwxmiRRRxQKBWQyGeRyOc23IvVeQakKg785ibtZhejrZYcfx3eixS2folJrMHnzBcTcfAwbCwn+DO4G50ZmfMcihOhIl+9vvZ1jRQjRbxYSEb4d0xFikRBRNzLxwwmab/UkxhiW7bmKmJuPYWIsxE8TOlFTRUgDQI0VIeSleTtJsXxQawDAqkNJiLufy3Mi/fHDibvYejYFAgHw9Tsd4ONixXckQkgdoMaKEPJKRndxwSAfJ6g1DB9su4i8ojK+I/HuwJU0fL7/BgBgSZA3+rd+9rIshBDDQo0VIeSVCAQCfD6sDZo2NsMjeQk+jLiEhjx182JKLubsTAAATPB3w6TuTXnNQwipW9RYEUJemaWJMTff6sj1TPz0z8riDU1KdhGmbr6AUpUG/bzssHRQawgENKGfkIaEGitCSI1o00SGT94sX3R3xYEbOHIt4wWvMCzyIiUmhp9DdmEZWjtJ8fXoDjCiqyQJaXCosSKE1Jh3/VwR1M4RKg3DlC0XMP2XC3iQW8R3rFpXptJg+q8XcOdxIZxkJvj5vc4wl4j4jkUI4QE1VoSQGiMQCLDmLR9M7uEOI6EAh65mIOCLGHwbdQulKjXf8WoFYwwf/X4ZZ+7mwEIiws8TO8NeasJ3LEIIT6ixIoTUKFOxET550xv7Z/VEF3drlCg1WHP4JgK/PI5jSZkvPkA989XRW/gj/iGMhAKsH9sRXg60+C8hDRk1VoSQWuHpYImd07riq3faw9ZSgnvZRXhv03lM23IBqTmGcXrwj4sPsO7ILQDA/w1tg14tbXlORAjhGzVWhJBaIxAIMKR9E0TN740p/5wePHyt/PTgN0dvoURZf08Pxt7JxqLfLwMA3u/dHKO7uPKciBCiD6ixIoTUOksTYyz55/Sgn7s1SlUarI28icB1xxFdD08P3s4swPRfLkCpZghq64iFgZ58RyKE6AlqrAghdcbTwRI7/jk9aGcpwf3sIkzcdB5T69HpwayCUkwMPwdFiQodXa2wdqQP3XyaEMKhxooQUqcqTg8end8bU3uWnx6M/Of04Nd6fnqwRKn+pwkshqu1GX4Y3wkmxkZ8xyKE6BFqrAghvLA0McZ/grxxYHZPdG1Wfnrwi39OD0bd0L/FRTUahnm7EhCfkgeZqTE2TeyMxhYSvmMRQvQMNVaEEF61tLfE9qld8fXoDrCXlp8enBR+AVM269fpwZWHbmD/lXQYGwmwcZwvmtta8B2JEKKHqLEihPBOIBBgsI8Tjs5/DdN6NYNIKMCR6+WnB9cducn76cFtZ1OwMeYuAGDVW+3QtVljXvMQQvQXNVaEEL1hIRHh4zda4cDsnvBv1hilKg3WHbmF/l8ex9Hr/JwePJaUiU/+SgQAzA1oiWEdnHnJQQipH6ixIoTonRb2ltg21Q/f/HN6MCWnCJM3X8CUzeeRkl13pwevpykQsi0eag3DiI7OmNXPo87emxBSP1FjRQjRSwKBAIP+OT04nTs9mImAL2PwZWTtnx7MUJRgUvh5FJSq4N+sMUKHt4VAQMsqEEKejxorQohes5CIsPiNVjg4pye6ezRGmUqDr47ewutfxuDItdo5PVhYqsKk8PNIk5egua05NrzrC7GI/rokhLwY/U1BCKkXPOws8etkP4SN6QgHqQlSc4oxZcsFTA6v2dODKrUGH2yPx9VHCthYiBE+sQtkZsY1dnxCiGGjxooQUm8IBAIEtXPE0fm98X7v5hAJBTh6o/z04Bc1cHqQMYZP911D1I1MSERC/DC+E1yszWooPSGkIaDGihBS75hLRPhooBcOzumFHh42KFNp8PXRWwj4IgaR1zLAGHup4/50MhlbYu9DIAC+eqc9Org2quHkhBBDR40VIaTe8rCzwC+Tu2D92I5wlJngQW4xpm65gEnh53E/u1CnYx1MTMdn+68DAD4e2AoD2jjWRmRCiIGjxooQUq8JBAK80dYRR+b1xozXmsPYSIDopMd4/cvj+OJwEorLXnx6MCE1D3N2xoMx4N2urpjS070OkhNCDBE1VoQQg2AuEWHRgPLTgz1b/HN6MOo2Ar6IweGr6c88PZiaU4Qpm8+jRKlBH09bLB/UmpZVIIS8NGqsCCEGpbmtBbZMKj896CQzwcO8Ykz7JQ4Tw8/jXpb26UF5sRITw88jq6AM3o5SfDOmI0RG9NciIeTl0d8ghBCDw50enN8bM/85PXgs6TH6f3kca/85PVim0mDGr3G4nVkAB6kJfn6vMywkIr6jE0LqOQF72ctniM4UCgVkMhnkcjmkUinfcQhpMO48LsDyPVdx4lYWAKCJlSla2lsgOukxzMVGiHi/G7yd6L9JQkjVdPn+phErQojBqzg9uOHdf08PRic9hpFQgG/HdqSmihBSY2jcmxDSIAgEAgxo44heLW0RFn0bf8Y/wuyAFujjacd3NEKIAaFTgXWITgUSQggh9Q+dCiSEEEII4QE1VoQQQgghNYQaK0IIIYSQGkKNFSGEEEJIDaHGihBCCCGkhlBjRQghhBBSQ6ixIoQQQgipIbw2VsePH8egQYPg5OQEgUCAP//885m177//PgQCAdatW6e1PScnB2PHjoVUKoWVlRUmT56MgoICrZrLly+jZ8+eMDExgYuLC1atWlXp+BEREfDy8oKJiQnatm2L/fv3a+1njGHp0qVwdHSEqakpAgICcOvWrZf+7IQQQggxPLw2VoWFhfDx8UFYWNhz63bv3o0zZ87Aycmp0r6xY8fi6tWriIyMxL59+3D8+HFMmzaN269QKNC/f3+4ubkhLi4Oq1evxvLly/H9999zNadPn8bo0aMxefJkxMfHY+jQoRg6dCgSExO5mlWrVuHrr7/Ghg0bcPbsWZibmyMwMBAlJSU18JMghBBCiEFgegIA2717d6XtDx48YE2aNGGJiYnMzc2Nffnll9y+a9euMQDs/Pnz3LYDBw4wgUDAHj58yBhjbP369axRo0astLSUq1m0aBHz9PTkno8cOZIFBQVpva+fnx+bPn06Y4wxjUbDHBwc2OrVq7n9eXl5TCKRsO3bt1f7M8rlcgaAyeXyar+GEEIIIfzS5ftbr+dYaTQajBs3DgsWLEDr1q0r7Y+NjYWVlRU6derEbQsICIBQKMTZs2e5ml69ekEsFnM1gYGBSEpKQm5uLlcTEBCgdezAwEDExsYCAJKTk5Genq5VI5PJ4Ofnx9VUpbS0FAqFQutBCCGEEMOl143VypUrIRKJMGvWrCr3p6enw85O+waqIpEI1tbWSE9P52rs7e21aiqev6jmyf1Pvq6qmqqEhoZCJpNxDxcXl+d+XkIIIYTUb3rbWMXFxeGrr75CeHg4BAIB33FeyuLFiyGXy7lHamoq35EIIYQQUov0trE6ceIEMjMz4erqCpFIBJFIhPv372P+/Plo2rQpAMDBwQGZmZlar1OpVMjJyYGDgwNXk5GRoVVT8fxFNU/uf/J1VdVURSKRQCqVaj0IIYQQYrhEfAd4lnHjxlU572ncuHGYOHEiAMDf3x95eXmIi4uDr68vACAqKgoajQZ+fn5czX/+8x8olUoYGxsDACIjI+Hp6YlGjRpxNUePHsWcOXO494qMjIS/vz8AwN3dHQ4ODjh69Cjat28PoPxqw7Nnz2LGjBnV/kyMMe61hBBCCKkfKr63K77Hn6vWp9I/R35+PouPj2fx8fEMAPviiy9YfHw8u3//fpX1T18VyBhjAwYMYB06dGBnz55lJ0+eZC1atGCjR4/m9ufl5TF7e3s2btw4lpiYyHbs2MHMzMzYxo0buZpTp04xkUjE1qxZw65fv86WLVvGjI2N2ZUrV7iaFStWMCsrK/bXX3+xy5cvsyFDhjB3d3dWXFxc7c+bmprKANCDHvSgBz3oQY96+EhNTX3hdz2vI1YXLlxAnz59uOfz5s0DAEyYMAHh4eHVOsbWrVsREhKCfv36QSgUYsSIEfj666+5/TKZDIcPH0ZwcDB8fX1hY2ODpUuXaq111a1bN2zbtg1LlizBxx9/jBYtWuDPP/9EmzZtuJqFCxeisLAQ06ZNQ15eHnr06IGDBw/CxMSk2p/XyckJqampsLS0rPF5YwqFAi4uLkhNTdXbU46UsWZQxppBGWsGZXx1+p4PoIyMMeTn51e5nubTBIxVZ1yL6DuFQgGZTAa5XK7Xv/SU8dVRxppBGWsGZXx1+p4PoIy60NvJ64QQQggh9Q01VoQQQgghNYQaKwMhkUiwbNkySCQSvqM8E2WsGZSxZlDGmkEZX52+5wMooy5ojhUhhBBCSA2hEStCCCGEkBpCjRUhhBBCSA2hxooQQgghpIZQY0UIIYQQUkOosdIToaGh6Ny5MywtLWFnZ4ehQ4ciKSlJq6akpATBwcFo3LgxLCwsMGLEiEo3hk5JSUFQUBDMzMxgZ2eHBQsWQKVScfvfe+89CASCSo/WrVvrTUagfEV9Hx8fmJmZwdHREZMmTUJ2drZeZQwLC0OrVq1gamoKT09PbNmy5YX5ajLjrFmz4OvrC4lEwt3D8mmXL19Gz549YWJiAhcXF6xatUqvMpaUlOC9995D27ZtIRKJMHTo0Grlq8uMx44dw5AhQ+Do6Ahzc3O0b98eW7du1auMSUlJ6NOnD+zt7WFiYoJmzZphyZIlUCqVepPxSbdv34alpSWsrKxemK8uM967d6/Kvx/PnDmjNxmB8lXA16xZg5YtW0IikaBJkyb47LPP9Cbj8uXLq/w5mpub601GADh06BC6du0KS0tL2NraYsSIEbh3794LM74INVZ6IiYmBsHBwThz5gwiIyOhVCrRv39/FBYWcjVz587F3r17ERERgZiYGDx69AjDhw/n9qvVagQFBaGsrAynT5/G5s2bER4ejqVLl3I1X331FdLS0rhHamoqrK2t8fbbb+tNxlOnTmH8+PGYPHkyrl69ioiICJw7dw5Tp07Vm4zfffcdFi9ejOXLl+Pq1av473//i+DgYOzdu7dOMlaYNGkSRo0aVeX7KBQK9O/fH25uboiLi8Pq1auxfPlyfP/993qTUa1Ww9TUFLNmzap003V9yXj69Gm0a9cOv//+Oy5fvoyJEydi/Pjx2Ldvn95kNDY2xvjx43H48GEkJSVh3bp1+OGHH7Bs2TK9yVhBqVRi9OjR6Nmz5wuz8ZXxyJEjWn9P+vr66lXG2bNn48cff8SaNWtw48YN7NmzB126dNGbjB9++KHWzy8tLQ3e3t519j1TnYzJyckYMmQI+vbti4SEBBw6dAhZWVlVHkdn1b6DMKlTmZmZDACLiYlhjJXfTNrY2JhFRERwNdevX2cAWGxsLGOMsf379zOhUMjS09O5mu+++45JpVJWWlpa5fvs3r2bCQQCdu/ePb3JuHr1atasWTOt9/r6669ZkyZN9Cajv78/+/DDD7Xea968eax79+51kvFJy5YtYz4+PpW2r1+/njVq1Ejrz37RokXM09NTbzI+acKECWzIkCE6Z6vLjBXeeOMNNnHiRL3OOHfuXNajRw+9y7hw4UL27rvvsk2bNjGZTKZzvtrMmJyczACw+Pj4l8pVFxmvXbvGRCIRu3Hjht5mfFpCQgIDwI4fP643GSMiIphIJGJqtZrbtmfPHiYQCFhZWZnOOZ9EI1Z6Si6XAwCsra0BAHFxcVAqlVr/qvfy8oKrqytiY2MBALGxsWjbti3s7e25msDAQCgUCly9erXK9/npp58QEBAANzc3vcno7++P1NRU7N+/H4wxZGRk4LfffsMbb7yhNxlLS0sr3YDb1NQU586dq9bpl1fNWB2xsbHo1asXxGKx1udISkpCbm6uXmSsSXWZUS6Xc++jjxlv376NgwcPonfv3nqVMSoqChEREQgLC9M5V11lBIDBgwfDzs4OPXr0wJ49e/Qq4969e9GsWTPs27cP7u7uaNq0KaZMmYKcnBy9yfi0H3/8ES1bttRplLK2M/r6+kIoFGLTpk1Qq9WQy+X45ZdfEBAQAGNjY51zPokaKz2k0WgwZ84cdO/eHW3atAEApKenQywWV5qTYG9vj/T0dK7myWagYn/Fvqc9evQIBw4cwJQpU/QqY/fu3bF161aMGjUKYrEYDg4OkMlkOv9lXJsZAwMD8eOPPyIuLg6MMVy4cAE//vgjlEolsrKyaj1jdej6+8BHxppSlxl37dqF8+fPY+LEiXqXsVu3bjAxMUGLFi3Qs2dPfPrpp3qTMTs7G++99x7Cw8Nf6Qa5tZnRwsICa9euRUREBP7++2/06NEDQ4cO1bm5qs2Md+/exf379xEREYEtW7YgPDwccXFxeOutt/Qm45NKSkqwdetWTJ48WefX1mZGd3d3HD58GB9//DEkEgmsrKzw4MED7Nq1S+ecTxO98hFIjQsODkZiYiJOnjxZq++zefNmWFlZ6TRhuEJtZrx27Rpmz56NpUuXIjAwEGlpaViwYAHef/99/PTTT3qR8ZNPPkF6ejq6du0Kxhjs7e0xYcIErFq1CkJh9f+9Uld/1q+CMv4rOjoaEydOxA8//FCtCz6eVBcZd+7cifz8fFy6dAkLFizAmjVrsHDhQr3IOHXqVIwZMwa9evV6pePUZkYbGxvMmzePe965c2c8evQIq1evxuDBg/Uio0ajQWlpKbZs2YKWLVsCKD/z4Ovri6SkJHh6evKe8Um7d+9Gfn4+JkyYoPNrazNjeno6pk6digkTJmD06NHIz8/H0qVL8dZbbyEyMhICgeClj00jVnomJCQE+/btQ3R0NJydnbntDg4OKCsrQ15enlZ9RkYGHBwcuJqnr4yoeF5RU4Exhp9//hnjxo3TOlWkDxlDQ0PRvXt3LFiwAO3atUNgYCDWr1+Pn3/+GWlpaXqR0dTUFD///DOKiopw7949pKSkoGnTptzVJbWdsTp0+X3gK2NNqKuMMTExGDRoEL788kuMHz9eLzO6uLjA29sbo0ePxooVK7B8+XKo1Wq9yBgVFYU1a9ZAJBJBJBJh8uTJkMvlEIlE+Pnnn/UiY1X8/Pxw+/btatfXdkZHR0eIRCKuqQKAVq1aASi/mlkfMj7pxx9/xJtvvllp9JzvjGFhYZDJZFi1ahU6dOiAXr164ddff8XRo0dx9uxZnbI+jRorPcEYQ0hICHbv3o2oqCi4u7tr7ff19YWxsTGOHj3KbUtKSkJKSgr8/f0BlM9NunLlCjIzM7mayMhISKVSeHt7ax0vJiYGt2/f1ml4tq4yFhUVVRr1MTIy4jLoQ8YKxsbGcHZ2hpGREXbs2IE333zzhSNWNZGxOvz9/XH8+HGtOV+RkZHw9PREo0aN9CLjq6jLjMeOHUNQUBBWrlyJadOm6WXGp2k0GiiVSmg0Gr3IGBsbi4SEBO7x6aefwtLSEgkJCRg2bJheZKxKQkICHB0dX1hXVxm7d+8OlUqFO3fucNtu3rwJAC+cK1vXP8fk5GRER0fX+fdMdTzve+ZF/8280CtNfSc1ZsaMGUwmk7Fjx46xtLQ07lFUVMTVvP/++8zV1ZVFRUWxCxcuMH9/f+bv78/tV6lUrE2bNqx///4sISGBHTx4kNna2rLFixdXer93332X+fn56WXGTZs2MZHo/9u7v5Am2z4O4N/Jk2NzSs7W0qlDgsKdlGZKsJpCsgosCiLISqGoiA6SEvoLyagNKugPRHVQI82UCgryJCom1IGgjoG6XI3GKITAZuQfmm2/9+B53+F8fHnrfW7nePh+YAe77+u67++1oy/bLu4/5ObNmxIMBuXNmzdSUVEhlZWVaZNxeHhYWltbJRAISE9Pj+zatUv0er18/PgxJRlFRN6/fy9er1cOHTokK1asEK/XK16vN7ELcGxsTIxGo+zdu1cGBgako6NDtFqt3L59O20yiogMDg6K1+uVuro6qa6uToxJl4yvX78WrVYrp06dSrrP6Oho2mRsa2uTzs5OGRoakmAwKJ2dnVJQUCD19fVpk3G239kVmKqMbrdb2tvbxe/3i9/vlwsXLkhGRobcvXs3bTLGYjEpLy+XDRs2SH9/v/T29kpVVZXU1tamTcb/OHv2rBQUFMjPnz//Z7ZUZ3z16pWoVCppaWmRQCAgfX19YrfbxWw2J93r/8FilSYAzPm6d+9eYszU1JQcOXJEcnNzRavVyvbt22VkZCTpOqFQSDZv3iwajUaWLFkix48fl+np6aQxY2NjotFo5M6dO2mb8fr162KxWESj0Uh+fr7U19fLp0+f0ibj0NCQrF69WjQajeTk5Mi2bdt+efuzUhltNtuc15lZ7nw+n1itVlGr1WIymcTlcqVdRrPZPOeYdMnY0NAw53mbzZY2GTs6OqS8vFx0Op1kZWWJxWKRixcvytTUVNpknO13ilWqMrrdbiktLRWtVis5OTlSWVmZtK0/HTKKiHz+/Fl27NghOp1OjEajNDY2/lLRT2XGWCwmhYWFcvr06V/6/BYi48OHD6WsrEyysrLEYDDI1q1bxe/3/1beuaj+vRAiIiIi+pv4HysiIiIihbBYERERESmExYqIiIhIISxWRERERAphsSIiIiJSCIsVERERkUJYrIiIiIgUwmJFRPQLqqurcezYsYWOQURpjsWKiEhhHo8HKpXqLw+KJaJ/PhYrIiIiIoWwWBERzTIxMYF9+/ZBp9MhPz8fV65cSTrf2tqKiooKZGdnY9myZdi9eze+fPkCAAiFQqipqQEA5ObmQqVSobGxEQAQj8fhdDpRUlICjUaDVatW4fHjxyldGxHNLxYrIqJZmpub0d3djWfPnuHFixfweDzo7+9PnJ+enobD4YDP58PTp08RCoUS5amoqAhPnjwBAAwPD2NkZATXrl0DADidTty/fx+3bt3C4OAgmpqasGfPHnR3d6d8jUQ0P/gQZiKiGcbHx5GXl4e2tjbs3LkTAPD161cUFhbi4MGDuHr16l/m9Pb2Yu3atfj+/Tt0Oh08Hg9qamoQiUSwePFiAMCPHz+g1+vx8uVLrFu3LjH3wIEDmJycRHt7eyqWR0Tz7I+FDkBElE6CwSCi0SiqqqoSx/R6PVauXJl439fXh/Pnz8Pn8yESiSAejwMAwuEwLBbLnNf98OEDJicnUVtbm3Q8Go2irKxsHlZCRAuBxYqI6DdMTEzAbrfDbrfjwYMHMBgMCIfDsNvtiEaj/3Xe+Pg4AKCrqwsmkynpnFqtntfMRJQ6LFZERDMsX74cixYtQk9PD4qLiwEAkUgEgUAANpsN7969w+joKFwuF4qKigD8+VPgTJmZmQCAWCyWOGaxWKBWqxEOh2Gz2VK0GiJKNRYrIqIZdDod9u/fj+bmZuTl5WHp0qU4c+YMMjL+3OtTXFyMzMxM3LhxA4cPH8bAwAAcDkfSNcxmM1QqFZ4/f44tW7ZAo9EgOzsbJ06cQFNTE+LxOKxWK759+4a3b98iJycHDQ0NC7FcIlIYdwUSEc1y6dIlrF+/HnV1ddi4cSOsVivWrFkDADAYDHC73Xj06BEsFgtcLhcuX76cNN9kMqGlpQUnT56E0WjE0aNHAQAOhwPnzp2D0+lEaWkpNm3ahK6uLpSUlKR8jUQ0P7grkIiIiEgh/MaKiIiISCEsVkREREQKYbEiIiIiUgiLFREREZFCWKyIiIiIFMJiRURERKQQFisiIiIihbBYERERESmExYqIiIhIISxWRERERAphsSIiIiJSCIsVERERkUL+BWxSaRQi7UIPAAAAAElFTkSuQmCC\n", + "image/png": "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", "text/plain": [ "
" ] @@ -898,7 +919,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 25, "metadata": {}, "outputs": [], "source": [ @@ -907,7 +928,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 26, "metadata": {}, "outputs": [ { @@ -918,7 +939,7 @@ "Name: 0, dtype: object" ] }, - "execution_count": 23, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -929,7 +950,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 27, "metadata": {}, "outputs": [], "source": [ @@ -938,7 +959,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 28, "metadata": {}, "outputs": [ { @@ -949,7 +970,7 @@ "Name: 11, dtype: object" ] }, - "execution_count": 25, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } @@ -960,7 +981,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ @@ -969,7 +990,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 30, "metadata": {}, "outputs": [ { @@ -978,7 +999,7 @@ "0.9110983912755316" ] }, - "execution_count": 27, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -1003,7 +1024,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 31, "metadata": {}, "outputs": [ { @@ -1012,7 +1033,7 @@ "343134.83912755316" ] }, - "execution_count": 28, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -1081,7 +1102,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 32, "metadata": {}, "outputs": [], "source": [ @@ -1091,10 +1112,8 @@ }, { "cell_type": "code", - "execution_count": 30, - "metadata": { - "scrolled": false - }, + "execution_count": 33, + "metadata": {}, "outputs": [ { "data": { @@ -1228,7 +1247,7 @@ "4 1020 " ] }, - "execution_count": 30, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -1239,7 +1258,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 34, "metadata": {}, "outputs": [ { @@ -1259,7 +1278,7 @@ "dtype: object" ] }, - "execution_count": 31, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -1270,7 +1289,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 35, "metadata": {}, "outputs": [ { @@ -1282,7 +1301,7 @@ " dtype='object')" ] }, - "execution_count": 32, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } @@ -1300,7 +1319,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 36, "metadata": {}, "outputs": [], "source": [ @@ -1309,7 +1328,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 37, "metadata": {}, "outputs": [], "source": [ @@ -1326,7 +1345,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 38, "metadata": {}, "outputs": [], "source": [ @@ -1335,7 +1354,7 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": 39, "metadata": {}, "outputs": [ { @@ -1344,7 +1363,7 @@ "35.0" ] }, - "execution_count": 36, + "execution_count": 39, "metadata": {}, "output_type": "execute_result" } @@ -1355,7 +1374,7 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": 40, "metadata": {}, "outputs": [ { @@ -1364,7 +1383,7 @@ "294.5" ] }, - "execution_count": 37, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -1375,7 +1394,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 41, "metadata": {}, "outputs": [ { @@ -1448,7 +1467,7 @@ "7399 0.080000 35.0 98043" ] }, - "execution_count": 38, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -1459,7 +1478,7 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": 42, "metadata": {}, "outputs": [ { @@ -1532,7 +1551,7 @@ "753 6.000000 294.5 8403" ] }, - "execution_count": 39, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" } @@ -1550,7 +1569,7 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": 43, "metadata": {}, "outputs": [], "source": [ @@ -1559,8 +1578,10 @@ }, { "cell_type": "code", - "execution_count": 41, - "metadata": {}, + "execution_count": 44, + "metadata": { + "scrolled": true + }, "outputs": [ { "data": { @@ -1701,7 +1722,7 @@ "1609 9.150552 19152 " ] }, - "execution_count": 41, + "execution_count": 44, "metadata": {}, "output_type": "execute_result" } @@ -1712,7 +1733,7 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": 45, "metadata": {}, "outputs": [ { @@ -1847,7 +1868,7 @@ "1224 10.0 9.033149 13104 " ] }, - "execution_count": 42, + "execution_count": 45, "metadata": {}, "output_type": "execute_result" } @@ -1858,7 +1879,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 46, "metadata": {}, "outputs": [ { @@ -1867,7 +1888,7 @@ "0.017123288" ] }, - "execution_count": 43, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" } @@ -1878,7 +1899,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 47, "metadata": {}, "outputs": [ { @@ -1887,7 +1908,7 @@ "10.0" ] }, - "execution_count": 44, + "execution_count": 47, "metadata": {}, "output_type": "execute_result" } @@ -1905,7 +1926,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 48, "metadata": {}, "outputs": [ { @@ -1950,7 +1971,7 @@ "6888 9.622642 79.0 92325" ] }, - "execution_count": 45, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" } @@ -1968,7 +1989,7 @@ }, { "cell_type": "code", - "execution_count": 46, + "execution_count": 49, "metadata": { "scrolled": true }, @@ -1977,7 +1998,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "C:\\Users\\pri10421\\AppData\\Local\\Temp\\ipykernel_17192\\3169181311.py:1: SettingWithCopyWarning: \n", + "C:\\Users\\Neh13173\\AppData\\Local\\Temp\\ipykernel_30180\\3169181311.py:1: SettingWithCopyWarning: \n", "A value is trying to be set on a copy of a slice from a DataFrame\n", "\n", "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", @@ -1991,7 +2012,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 50, "metadata": {}, "outputs": [ { @@ -2000,7 +2021,7 @@ "(7548, 3)" ] }, - "execution_count": 47, + "execution_count": 50, "metadata": {}, "output_type": "execute_result" } @@ -2011,7 +2032,7 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 51, "metadata": {}, "outputs": [ { @@ -2023,7 +2044,7 @@ "dtype: object" ] }, - "execution_count": 48, + "execution_count": 51, "metadata": {}, "output_type": "execute_result" } @@ -2034,7 +2055,7 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": 52, "metadata": {}, "outputs": [], "source": [ @@ -2043,7 +2064,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 53, "metadata": {}, "outputs": [ { @@ -2055,7 +2076,7 @@ "dtype: object" ] }, - "execution_count": 50, + "execution_count": 53, "metadata": {}, "output_type": "execute_result" } @@ -2073,7 +2094,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 54, "metadata": {}, "outputs": [], "source": [ @@ -2090,7 +2111,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 55, "metadata": { "scrolled": true }, @@ -2100,17 +2121,17 @@ "text/html": [ "
\n", " \n", "\n", "
\n", - " USA ZIP Code Boundaries\n", + " USA ZIP Code Boundaries\n", " \n", - "
U.S. ZIP Code Boundaries provides ZIP Code, postal district name, population, and area for the ZIP Code areas in the United States.Feature Layer Collection by esri_dm\n", - "
Last Modified: October 14, 2022\n", - "
0 comments, 215574910 views\n", + "
U.S. ZIP Code Boundaries provides ZIP Code, postal district name, population, and area for the ZIP Code areas in the United States.
Feature Layer Collection by esri_dm\n", + "
Last Modified: August 20, 2024\n", + "
0 comments, 21,68,30,203 views\n", "
\n", "
\n", " " @@ -2127,17 +2148,17 @@ "text/html": [ "
\n", "
\n", - " \n", + " \n", " \n", " \n", "
\n", "\n", "
\n", - " United States ZIP Code Boundaries 2021\n", + " United States ZIP Code Boundaries 2021\n", " \n", - "
This layer shows the ZIP Code level boundaries of United States in 2021, designed to be used in Data Enrichment analysis.Feature Layer Collection by esri_dm\n", - "
Last Modified: September 14, 2022\n", - "
2 comments, 27023 views\n", + "
This layer shows the ZIP Code level boundaries of United States in 2021, designed to be used in Data Enrichment analysis.
Feature Layer Collection by esri_dm\n", + "
Last Modified: May 30, 2023\n", + "
2 comments, 1,19,300 views\n", "
\n", "
\n", " " @@ -2154,23 +2175,23 @@ "text/html": [ "
\n", " \n", "\n", "
\n", - " United States County Boundaries 2018\n", + " USA ZIP Code Areas\n", " \n", - "
This layer shows the County level boundaries of United States in 2018. The boundaries are optimized to improve Data Enrichment analysis performance.Feature Layer Collection by esri_dm\n", - "
Last Modified: August 17, 2021\n", - "
0 comments, 16998 views\n", + "
U.S. ZIP Code Areas provides ZIP Code, postal district name, population, and area for the ZIP Code areas in the United States.
Layer Package by esri_dm\n", + "
Last Modified: December 21, 2023\n", + "
0 comments, 2,27,520 views\n", "
\n", "
\n", " " ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -2181,23 +2202,23 @@ "text/html": [ "
\n", " \n", "\n", "
\n", - " United States State Boundaries 2018\n", + " USA ZIP Code Three-Digit Areas\n", " \n", - "
This layer shows the State level boundaries of United States in 2018. The boundaries are optimized to improve Data Enrichment analysis performance.Feature Layer Collection by esri_dm\n", - "
Last Modified: August 17, 2021\n", - "
1 comments, 1978667 views\n", + "
USA ZIP Code Three-Digit Areas provides the three-digit ZIP Code areas in the United States.
Layer Package by esri_dm\n", + "
Last Modified: December 21, 2023\n", + "
0 comments, 24,756 views\n", "
\n", "
\n", " " ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -2208,23 +2229,23 @@ "text/html": [ "
\n", " \n", "\n", "
\n", - " USA ZIP Code Areas\n", + " United States Tract Boundaries 2021\n", " \n", - "
U.S. ZIP Code Areas provides ZIP Code, postal district name, population, and area for the ZIP Code areas in the United States.Layer Package by esri_dm\n", - "
Last Modified: October 15, 2022\n", - "
3 comments, 193024 views\n", + "
This layer shows the Tract level boundaries of United States in 2021, designed to be used in Data Enrichment analysis.
Feature Layer Collection by esri_dm\n", + "
Last Modified: May 30, 2023\n", + "
0 comments, 861 views\n", "
\n", "
\n", " " ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -2235,23 +2256,23 @@ "text/html": [ "
\n", " \n", "\n", "
\n", - " USA ZIP Code Three-Digit Areas\n", + " United States County Boundaries 2021\n", " \n", - "
USA ZIP Code Three-Digit Areas provides the three-digit ZIP Code areas in the United States.Layer Package by esri_dm\n", - "
Last Modified: December 08, 2022\n", - "
0 comments, 22135 views\n", + "
This layer shows the County level boundaries of United States in 2021, designed to be used in Data Enrichment analysis.
Feature Layer Collection by esri_dm\n", + "
Last Modified: May 30, 2023\n", + "
0 comments, 17,442 views\n", "
\n", "
\n", " " ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -2262,23 +2283,23 @@ "text/html": [ "
\n", " \n", "\n", "
\n", - " United States Tract Boundaries 2021\n", + " United States Boundaries 2021\n", " \n", - "
This layer shows the Tract level boundaries of United States in 2021, designed to be used in Data Enrichment analysis.Feature Layer Collection by esri_dm\n", - "
Last Modified: September 14, 2022\n", - "
0 comments, 390 views\n", + "
United States Boundaries 2021 provides boundaries for several layers of administrative divisions.
Feature Layer Collection by esri_dm\n", + "
Last Modified: May 30, 2023\n", + "
0 comments, 13,104 views\n", "
\n", "
\n", " " ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -2289,23 +2310,23 @@ "text/html": [ "
\n", " \n", "\n", "
\n", - " United States County Boundaries 2021\n", + " United States State Boundaries 2021\n", " \n", - "
This layer shows the County level boundaries of United States in 2021, designed to be used in Data Enrichment analysis.Feature Layer Collection by esri_dm\n", - "
Last Modified: September 14, 2022\n", - "
0 comments, 7412 views\n", + "
This layer shows the State level boundaries of United States in 2021, designed to be used in Data Enrichment analysis.
Feature Layer Collection by esri_dm\n", + "
Last Modified: May 30, 2023\n", + "
0 comments, 96,147 views\n", "
\n", "
\n", " " ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -2316,23 +2337,23 @@ "text/html": [ "
\n", " \n", "\n", "
\n", - " United States ZIP Code Boundaries 2018\n", + " United States Block Group Boundaries 2021\n", " \n", - "
This layer shows the ZIP Code level boundaries of United States in 2018. The boundaries are optimized to improve Data Enrichment analysis performance.Feature Layer Collection by esri_dm\n", - "
Last Modified: August 17, 2021\n", - "
3 comments, 214544 views\n", + "
This layer shows the Block Group boundaries of United States in 2021.
Feature Layer Collection by esri_dm\n", + "
Last Modified: May 30, 2023\n", + "
0 comments, 4,324 views\n", "
\n", "
\n", " " ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -2343,23 +2364,23 @@ "text/html": [ "
\n", " \n", "\n", "
\n", - " United States Boundaries 2021\n", + " United States Country Boundary 2021\n", " \n", - "
United States Boundaries 2021 provides boundaries for several layers of administrative divisions.Feature Layer Collection by esri_dm\n", - "
Last Modified: September 14, 2022\n", - "
0 comments, 4103 views\n", + "
This layer shows the Country boundary of United States in 2021, designed to be used in Data Enrichment analysis.
Feature Layer Collection by esri_dm\n", + "
Last Modified: May 30, 2023\n", + "
0 comments, 1,01,163 views\n", "
\n", "
\n", " " ], "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -2382,7 +2403,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 56, "metadata": {}, "outputs": [], "source": [ @@ -2391,7 +2412,7 @@ }, { "cell_type": "code", - "execution_count": 54, + "execution_count": 57, "metadata": {}, "outputs": [ { @@ -2399,17 +2420,17 @@ "text/html": [ "
\n", "
\n", - " \n", + " \n", " \n", " \n", "
\n", "\n", "
\n", - " United States ZIP Code Boundaries 2021\n", + " United States ZIP Code Boundaries 2021\n", " \n", - "
This layer shows the ZIP Code level boundaries of United States in 2021, designed to be used in Data Enrichment analysis.Feature Layer Collection by esri_dm\n", - "
Last Modified: September 14, 2022\n", - "
2 comments, 27023 views\n", + "
This layer shows the ZIP Code level boundaries of United States in 2021, designed to be used in Data Enrichment analysis.
Feature Layer Collection by esri_dm\n", + "
Last Modified: May 30, 2023\n", + "
2 comments, 1,19,300 views\n", "
\n", "
\n", " " @@ -2418,7 +2439,7 @@ "" ] }, - "execution_count": 54, + "execution_count": 57, "metadata": {}, "output_type": "execute_result" } @@ -2436,7 +2457,7 @@ }, { "cell_type": "code", - "execution_count": 55, + "execution_count": 58, "metadata": {}, "outputs": [ { @@ -2466,7 +2487,7 @@ }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 59, "metadata": {}, "outputs": [], "source": [ @@ -2475,7 +2496,7 @@ }, { "cell_type": "code", - "execution_count": 57, + "execution_count": 60, "metadata": {}, "outputs": [], "source": [ @@ -2484,7 +2505,7 @@ }, { "cell_type": "code", - "execution_count": 58, + "execution_count": 61, "metadata": { "scrolled": true }, @@ -2511,105 +2532,105 @@ " \n", " \n", " OBJECTID\n", - " POPULATION\n", + " ZIP_CODE\n", " PO_NAME\n", - " SHAPE\n", - " SQMI\n", " STATE\n", + " POPULATION\n", + " SQMI\n", " Shape__Area\n", " Shape__Length\n", - " ZIP_CODE\n", + " SHAPE\n", " \n", " \n", " \n", " \n", " 0\n", " 1\n", - " <NA>\n", + " 00001\n", " N Dillingham Census Area\n", - " {\"rings\": [[[-160.431152, 58.689351], [-160.43...\n", - " 16019.53\n", " AK\n", + " <NA>\n", + " 16019.53\n", " 6.657141\n", " 24.677454\n", - " 00001\n", + " {\"rings\": [[[-160.431152, 58.689351], [-160.43...\n", " \n", " \n", " 1\n", " 2\n", - " <NA>\n", + " 00002\n", " Yukon Flats Nat Wildlife\n", - " {\"rings\": [[[-160.038452, 61.947605], [-160.03...\n", - " 95862.85\n", " AK\n", + " <NA>\n", + " 95862.85\n", " 48.948815\n", " 131.77645\n", - " 00002\n", + " {\"rings\": [[[-160.038452, 61.947605], [-160.03...\n", " \n", " \n", " 2\n", " 3\n", - " <NA>\n", + " 00003\n", " Alaska Peninsula NWR\n", - " {\"rings\": [[[-159.900745, 56.439047], [-159.90...\n", - " 14572.9\n", " AK\n", + " <NA>\n", + " 14572.9\n", " 5.655405\n", " 41.564165\n", - " 00003\n", + " {\"rings\": [[[-159.900745, 56.439047], [-159.90...\n", " \n", " \n", " 3\n", " 4\n", - " <NA>\n", + " 00004\n", " W Kenai Peninsula Borough\n", - " {\"rings\": [[[-154.748861, 59.259518], [-154.70...\n", - " 6510.85\n", " AK\n", + " <NA>\n", + " 6510.85\n", " 2.728764\n", " 20.553203\n", - " 00004\n", + " {\"rings\": [[[-154.748861, 59.259518], [-154.70...\n", " \n", " \n", " 4\n", " 5\n", - " <NA>\n", + " 00005\n", " N Lake and Peninsula Borough\n", - " {\"rings\": [[[-156.0002144, 60.9074352], [-155....\n", - " 3760.07\n", " AK\n", + " <NA>\n", + " 3760.07\n", " 1.593722\n", " 9.571684\n", - " 00005\n", + " {\"rings\": [[[-156.0002144, 60.9074352], [-155....\n", " \n", " \n", "\n", "" ], "text/plain": [ - " OBJECTID POPULATION PO_NAME \\\n", - "0 1 N Dillingham Census Area \n", - "1 2 Yukon Flats Nat Wildlife \n", - "2 3 Alaska Peninsula NWR \n", - "3 4 W Kenai Peninsula Borough \n", - "4 5 N Lake and Peninsula Borough \n", + " OBJECTID ZIP_CODE PO_NAME STATE POPULATION \\\n", + "0 1 00001 N Dillingham Census Area AK \n", + "1 2 00002 Yukon Flats Nat Wildlife AK \n", + "2 3 00003 Alaska Peninsula NWR AK \n", + "3 4 00004 W Kenai Peninsula Borough AK \n", + "4 5 00005 N Lake and Peninsula Borough AK \n", "\n", - " SHAPE SQMI STATE \\\n", - "0 {\"rings\": [[[-160.431152, 58.689351], [-160.43... 16019.53 AK \n", - "1 {\"rings\": [[[-160.038452, 61.947605], [-160.03... 95862.85 AK \n", - "2 {\"rings\": [[[-159.900745, 56.439047], [-159.90... 14572.9 AK \n", - "3 {\"rings\": [[[-154.748861, 59.259518], [-154.70... 6510.85 AK \n", - "4 {\"rings\": [[[-156.0002144, 60.9074352], [-155.... 3760.07 AK \n", + " SQMI Shape__Area Shape__Length \\\n", + "0 16019.53 6.657141 24.677454 \n", + "1 95862.85 48.948815 131.77645 \n", + "2 14572.9 5.655405 41.564165 \n", + "3 6510.85 2.728764 20.553203 \n", + "4 3760.07 1.593722 9.571684 \n", "\n", - " Shape__Area Shape__Length ZIP_CODE \n", - "0 6.657141 24.677454 00001 \n", - "1 48.948815 131.77645 00002 \n", - "2 5.655405 41.564165 00003 \n", - "3 2.728764 20.553203 00004 \n", - "4 1.593722 9.571684 00005 " + " SHAPE \n", + "0 {\"rings\": [[[-160.431152, 58.689351], [-160.43... \n", + "1 {\"rings\": [[[-160.038452, 61.947605], [-160.03... \n", + "2 {\"rings\": [[[-159.900745, 56.439047], [-159.90... \n", + "3 {\"rings\": [[[-154.748861, 59.259518], [-154.70... \n", + "4 {\"rings\": [[[-156.0002144, 60.9074352], [-155.... " ] }, - "execution_count": 58, + "execution_count": 61, "metadata": {}, "output_type": "execute_result" } @@ -2620,7 +2641,7 @@ }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 62, "metadata": {}, "outputs": [ { @@ -2629,7 +2650,7 @@ "(32201, 9)" ] }, - "execution_count": 59, + "execution_count": 62, "metadata": {}, "output_type": "execute_result" } @@ -2640,25 +2661,25 @@ }, { "cell_type": "code", - "execution_count": 60, + "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "OBJECTID Int64\n", - "POPULATION Int32\n", - "PO_NAME string\n", - "SHAPE geometry\n", - "SQMI Float64\n", - "STATE string\n", - "Shape__Area Float64\n", - "Shape__Length Float64\n", - "ZIP_CODE string\n", + "OBJECTID Int64\n", + "ZIP_CODE string[python]\n", + "PO_NAME string[python]\n", + "STATE string[python]\n", + "POPULATION Int32\n", + "SQMI Float64\n", + "Shape__Area Float64\n", + "Shape__Length Float64\n", + "SHAPE geometry\n", "dtype: object" ] }, - "execution_count": 60, + "execution_count": 63, "metadata": {}, "output_type": "execute_result" } @@ -2669,7 +2690,7 @@ }, { "cell_type": "code", - "execution_count": 61, + "execution_count": 64, "metadata": {}, "outputs": [], "source": [ @@ -2678,25 +2699,25 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "OBJECTID Int64\n", - "POPULATION Int32\n", - "PO_NAME string\n", - "SHAPE geometry\n", - "SQMI Float64\n", - "STATE string\n", - "Shape__Area Float64\n", - "Shape__Length Float64\n", - "ZIP_CODE int32\n", + "OBJECTID Int64\n", + "ZIP_CODE int32\n", + "PO_NAME string[python]\n", + "STATE string[python]\n", + "POPULATION Int32\n", + "SQMI Float64\n", + "Shape__Area Float64\n", + "Shape__Length Float64\n", + "SHAPE geometry\n", "dtype: object" ] }, - "execution_count": 62, + "execution_count": 65, "metadata": {}, "output_type": "execute_result" } @@ -2707,7 +2728,7 @@ }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 66, "metadata": {}, "outputs": [], "source": [ @@ -2716,7 +2737,7 @@ }, { "cell_type": "code", - "execution_count": 64, + "execution_count": 67, "metadata": {}, "outputs": [ { @@ -2725,7 +2746,7 @@ "(7548, 11)" ] }, - "execution_count": 64, + "execution_count": 67, "metadata": {}, "output_type": "execute_result" } @@ -2736,7 +2757,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 68, "metadata": {}, "outputs": [], "source": [ @@ -2745,13 +2766,32 @@ }, { "cell_type": "code", - "execution_count": 66, + "execution_count": 77, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "FolderException", + "evalue": "The item could not be added: {'error': {'code': 403, 'messageCode': 'SB_0003', 'message': 'Subscription is expired', 'details': []}}", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mFolderException\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[77], line 1\u001b[0m\n\u001b[1;32m----> 1\u001b[0m mergd_lyr \u001b[38;5;241m=\u001b[39m gis2\u001b[38;5;241m.\u001b[39mcontent\u001b[38;5;241m.\u001b[39mimport_data(merged_df,\n\u001b[0;32m 2\u001b[0m title\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mMergedLayer_2024\u001b[39m\u001b[38;5;124m'\u001b[39m,\n\u001b[0;32m 3\u001b[0m tags\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mdatascience, dlpk\u001b[39m\u001b[38;5;124m'\u001b[39m)\n", + "File \u001b[1;32m~\\AppData\\Local\\ESRI\\conda\\envs\\dl\\Lib\\site-packages\\arcgis\\gis\\__init__.py:8566\u001b[0m, in \u001b[0;36mContentManager.import_data\u001b[1;34m(self, df, address_fields, folder, item_id, **kwargs)\u001b[0m\n\u001b[0;32m 8563\u001b[0m overwrite \u001b[38;5;241m=\u001b[39m kwargs\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124moverwrite\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mFalse\u001b[39;00m)\n\u001b[0;32m 8564\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m _geo\u001b[38;5;241m.\u001b[39m_is_geoenabled(df) \u001b[38;5;129;01mor\u001b[39;00m overwrite:\n\u001b[0;32m 8565\u001b[0m \u001b[38;5;66;03m# Item Workflow\u001b[39;00m\n\u001b[1;32m-> 8566\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _cm_helper\u001b[38;5;241m.\u001b[39mimport_as_item(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_gis, df, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m 8567\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 8568\u001b[0m \u001b[38;5;66;03m# Feature Collection Workflow\u001b[39;00m\n\u001b[0;32m 8569\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m _cm_helper\u001b[38;5;241m.\u001b[39mimport_as_fc(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_gis, df, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n", + "File \u001b[1;32m~\\AppData\\Local\\ESRI\\conda\\envs\\dl\\Lib\\site-packages\\arcgis\\gis\\_impl\\_content_manager\\_import_data.py:273\u001b[0m, in \u001b[0;36mimport_as_item\u001b[1;34m(gis, df, **kwargs)\u001b[0m\n\u001b[0;32m 271\u001b[0m \u001b[38;5;66;03m# Create the file\u001b[39;00m\n\u001b[0;32m 272\u001b[0m file \u001b[38;5;241m=\u001b[39m _create_file(df, file_type, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m--> 273\u001b[0m file_item, new_item \u001b[38;5;241m=\u001b[39m _create_items(gis, file, file_type, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[0;32m 274\u001b[0m \u001b[38;5;66;03m# normal workflow, simply create file item and new item\u001b[39;00m\n\u001b[0;32m 275\u001b[0m \u001b[38;5;66;03m# If not overwrite or insert, return the new item\u001b[39;00m\n\u001b[0;32m 276\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m overwrite:\n", + "File \u001b[1;32m~\\AppData\\Local\\ESRI\\conda\\envs\\dl\\Lib\\site-packages\\arcgis\\gis\\_impl\\_content_manager\\_import_data.py:160\u001b[0m, in \u001b[0;36m_create_items\u001b[1;34m(gis, file, file_type, **kwargs)\u001b[0m\n\u001b[0;32m 150\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m 151\u001b[0m \u001b[38;5;66;03m# Get the root folder\u001b[39;00m\n\u001b[0;32m 152\u001b[0m folder \u001b[38;5;241m=\u001b[39m gis\u001b[38;5;241m.\u001b[39mcontent\u001b[38;5;241m.\u001b[39mfolders\u001b[38;5;241m.\u001b[39mget()\n\u001b[0;32m 153\u001b[0m file_item \u001b[38;5;241m=\u001b[39m folder\u001b[38;5;241m.\u001b[39madd(\n\u001b[0;32m 154\u001b[0m item_properties\u001b[38;5;241m=\u001b[39m{\n\u001b[0;32m 155\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtitle\u001b[39m\u001b[38;5;124m\"\u001b[39m: title,\n\u001b[0;32m 156\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtype\u001b[39m\u001b[38;5;124m\"\u001b[39m: file_type,\n\u001b[0;32m 157\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtags\u001b[39m\u001b[38;5;124m\"\u001b[39m: tags,\n\u001b[0;32m 158\u001b[0m },\n\u001b[0;32m 159\u001b[0m file\u001b[38;5;241m=\u001b[39mfile,\n\u001b[1;32m--> 160\u001b[0m )\u001b[38;5;241m.\u001b[39mresult()\n\u001b[0;32m 162\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m file_type \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mCSV\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[0;32m 163\u001b[0m \u001b[38;5;66;03m# analyze the csv for publish params\u001b[39;00m\n\u001b[0;32m 164\u001b[0m publish_parameters \u001b[38;5;241m=\u001b[39m gis\u001b[38;5;241m.\u001b[39mcontent\u001b[38;5;241m.\u001b[39manalyze(item\u001b[38;5;241m=\u001b[39mfile_item, file_type\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcsv\u001b[39m\u001b[38;5;124m\"\u001b[39m)[\n\u001b[0;32m 165\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mpublishParameters\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 166\u001b[0m ]\n", + "File \u001b[1;32m~\\AppData\\Local\\ESRI\\conda\\envs\\dl\\Lib\\concurrent\\futures\\_base.py:449\u001b[0m, in \u001b[0;36mFuture.result\u001b[1;34m(self, timeout)\u001b[0m\n\u001b[0;32m 447\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m CancelledError()\n\u001b[0;32m 448\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state \u001b[38;5;241m==\u001b[39m FINISHED:\n\u001b[1;32m--> 449\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m__get_result()\n\u001b[0;32m 451\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_condition\u001b[38;5;241m.\u001b[39mwait(timeout)\n\u001b[0;32m 453\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_state \u001b[38;5;129;01min\u001b[39;00m [CANCELLED, CANCELLED_AND_NOTIFIED]:\n", + "File \u001b[1;32m~\\AppData\\Local\\ESRI\\conda\\envs\\dl\\Lib\\concurrent\\futures\\_base.py:401\u001b[0m, in \u001b[0;36mFuture.__get_result\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 399\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception:\n\u001b[0;32m 400\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m--> 401\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_exception\n\u001b[0;32m 402\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[0;32m 403\u001b[0m \u001b[38;5;66;03m# Break a reference cycle with the exception in self._exception\u001b[39;00m\n\u001b[0;32m 404\u001b[0m \u001b[38;5;28mself\u001b[39m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n", + "File \u001b[1;32m~\\AppData\\Local\\ESRI\\conda\\envs\\dl\\Lib\\concurrent\\futures\\thread.py:58\u001b[0m, in \u001b[0;36m_WorkItem.run\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 55\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m\n\u001b[0;32m 57\u001b[0m \u001b[38;5;28;01mtry\u001b[39;00m:\n\u001b[1;32m---> 58\u001b[0m result \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfn(\u001b[38;5;241m*\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mkwargs)\n\u001b[0;32m 59\u001b[0m \u001b[38;5;28;01mexcept\u001b[39;00m \u001b[38;5;167;01mBaseException\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m exc:\n\u001b[0;32m 60\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mfuture\u001b[38;5;241m.\u001b[39mset_exception(exc)\n", + "File \u001b[1;32m~\\AppData\\Local\\ESRI\\conda\\envs\\dl\\Lib\\site-packages\\arcgis\\gis\\_impl\\_content_manager\\folder\\core.py:405\u001b[0m, in \u001b[0;36mFolder._add_async_streaming\u001b[1;34m(self, url, params, upload_size, file_list)\u001b[0m\n\u001b[0;32m 403\u001b[0m itemid \u001b[38;5;241m=\u001b[39m data\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mid\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m) \u001b[38;5;129;01mor\u001b[39;00m data\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mitemId\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[0;32m 404\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m itemid \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m--> 405\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m FolderException(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThe item could not be added: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mstr\u001b[39m(data)\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 406\u001b[0m parts_url: \u001b[38;5;28mstr\u001b[39m \u001b[38;5;241m=\u001b[39m url\u001b[38;5;241m.\u001b[39mreplace(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m/addItem\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m/items/\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mitemid\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m/addPart\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 407\u001b[0m commit_url: \u001b[38;5;28mstr\u001b[39m \u001b[38;5;241m=\u001b[39m url\u001b[38;5;241m.\u001b[39mreplace(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m/addItem\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m/items/\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mitemid\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m/commit\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "\u001b[1;31mFolderException\u001b[0m: The item could not be added: {'error': {'code': 403, 'messageCode': 'SB_0003', 'message': 'Subscription is expired', 'details': []}}" + ] + } + ], "source": [ - "mergd_lyr = gis.content.import_data(merged_df,\n", - " title='MergedLayer',\n", - " tags='datascience')" + "mergd_lyr = gis2.content.import_data(merged_df,\n", + " title='MergedLayer_2024',\n", + " tags='datascience, dlpk')" ] }, { @@ -2779,25 +2819,9 @@ }, { "cell_type": "code", - "execution_count": 67, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 67, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "m1 = gis.map('United States', 8)\n", "m1" @@ -2805,7 +2829,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -2819,14 +2843,18 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "m1.add_layer(mergd_lyr, {\"renderer\":\"ClassedColorRenderer\",\n", - " \"field_name\":cur_field_name,\n", - " \"opacity\":0.7\n", - " })" + "m1.content.add(mergd_lyr)\n", + "sm = m1.content.renderer(0).smart_mapping()\n", + "sm.class_breaks_renderer(\n", + " break_type=\"color\",\n", + " field = cur_field_name,\n", + ")\n", + "\n", + "m1.zoom_to_layer(mergd_lyr)" ] }, { @@ -2838,25 +2866,9 @@ }, { "cell_type": "code", - "execution_count": 69, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 69, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "m2 = gis.map('Redlands, CA')\n", "m2" @@ -2864,7 +2876,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -2878,14 +2890,18 @@ }, { "cell_type": "code", - "execution_count": 70, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "m2.add_layer(mergd_lyr, {\"renderer\":\"ClassedSizeRenderer\",\n", - " \"field_name\":cur_field_name,\n", - " \"opacity\":0.7\n", - " })" + "m2.content.add(mergd_lyr)\n", + "sm = m2.content.renderer(0).smart_mapping()\n", + "sm.class_breaks_renderer(\n", + " break_type=\"size\",\n", + " field = cur_field_name,\n", + ")\n", + "\n", + "m2.zoom_to_layer(mergd_lyr)" ] }, { @@ -2914,7 +2930,7 @@ }, { "cell_type": "code", - "execution_count": 71, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -2924,76 +2940,16 @@ }, { "cell_type": "code", - "execution_count": 72, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
PlaceStreetCityStateZip
0Lisa's job380 New York StreetRedlandsCA92373
1Mark's job4511 E Guasti RoadOntarioCA91761
\n", - "
" - ], - "text/plain": [ - " Place Street City State Zip\n", - "0 Lisa's job 380 New York Street Redlands CA 92373\n", - "1 Mark's job 4511 E Guasti Road Ontario CA 91761" - ] - }, - "execution_count": 72, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "data3.head()" ] }, { "cell_type": "code", - "execution_count": 73, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -3002,22 +2958,9 @@ }, { "cell_type": "code", - "execution_count": 74, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0 380 New York Street Redlands CA\n", - "1 4511 E Guasti Road Ontario CA\n", - "Name: Address, dtype: object" - ] - }, - "execution_count": 74, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "data3['Address']" ] @@ -3031,25 +2974,9 @@ }, { "cell_type": "code", - "execution_count": 75, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 75, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "m3 = gis.map('Redlands, CA', 10)\n", "m3" @@ -3057,38 +2984,55 @@ }, { "cell_type": "code", - "execution_count": 76, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from arcgis.geocoding import geocode\n", - "data3_addr1 = geocode(data3.Address[0])[0]\n", - "popup = { \n", - " \"title\" : \"Lisa's job\", \n", - " \"content\" : data3_addr1['address']\n", - " }\n", - "m3.draw(data3_addr1['location'], popup,\n", - " symbol = {\"angle\":0,\"xoffset\":0,\"yoffset\":0,\n", - " \"type\":\"esriPMS\", \"url\":\"https://static.arcgis.com/images/Symbols/PeoplePlaces/School.png\",\n", - " \"contentType\":\"image/png\",\"width\":24,\"height\":24})" + "from arcgis.map.popups import PopupInfo\n", + "from arcgis.map.symbols import PictureMarkerSymbolEsriPMS\n", + "\n", + "sr = m3.extent['spatialReference']['latestWkid']\n", + "data3_addr1 = geocode(data3.Address[0], out_sr=sr)[0]\n", + "\n", + "popup = PopupInfo(title = \"Lisa's job\", description = data3_addr1['address'])\n", + "\n", + "symbol = PictureMarkerSymbolEsriPMS(\n", + " angle=0,\n", + " xoffset=0,\n", + " yoffset=0,\n", + " content_type=\"image/png\",\n", + " width=24,\n", + " height=25,\n", + " type=\"esriPMS\",\n", + " url=\"https://static.arcgis.com/images/Symbols/PeoplePlaces/School.png\",\n", + ")\n", + "\n", + "m3.content.draw(data3_addr1['location'], popup = popup, symbol = symbol)" ] }, { "cell_type": "code", - "execution_count": 77, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "from arcgis.geocoding import geocode\n", - "data3_addr2 = geocode(data3.Address[1])[0]\n", - "popup = { \n", - " \"title\" : \"Mark's job\", \n", - " \"content\" : data3_addr2['address']\n", - " }\n", - "m3.draw(data3_addr2['location'], popup,\n", - " symbol = {\"angle\":0,\"xoffset\":0,\"yoffset\":0,\n", - " \"type\":\"esriPMS\", \"url\":\"https://static.arcgis.com/images/Symbols/PeoplePlaces/School.png\",\n", - " \"contentType\":\"image/png\",\"width\":24,\"height\":24})" + "data3_addr2 = geocode(data3.Address[1], out_sr=sr)[0]\n", + "\n", + "popup = PopupInfo(title = \"Mark's job\", description = data3_addr2['address'])\n", + "\n", + "symbol = PictureMarkerSymbolEsriPMS(\n", + " angle=0,\n", + " xoffset=0,\n", + " yoffset=0,\n", + " content_type=\"image/png\",\n", + " width=24,\n", + " height=25,\n", + " type=\"esriPMS\",\n", + " url=\"https://static.arcgis.com/images/Symbols/PeoplePlaces/School.png\",\n", + ")\n", + "\n", + "m3.content.draw(data3_addr2['location'], popup = popup, symbol = symbol)" ] }, { @@ -3100,7 +3044,7 @@ }, { "cell_type": "code", - "execution_count": 78, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -3109,7 +3053,7 @@ }, { "cell_type": "code", - "execution_count": 79, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -3125,7 +3069,7 @@ }, { "cell_type": "code", - "execution_count": 80, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -3142,7 +3086,7 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -3151,8 +3095,10 @@ }, { "cell_type": "code", - "execution_count": 82, - "metadata": {}, + "execution_count": null, + "metadata": { + "scrolled": true + }, "outputs": [], "source": [ "dissolved_lyr = dissolve_boundaries(drive_time_lyr)" @@ -3160,25 +3106,9 @@ }, { "cell_type": "code", - "execution_count": 83, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 83, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "m_3 = gis.map('Redlands, CA', 9)\n", "m_3" @@ -3186,27 +3116,32 @@ }, { "cell_type": "code", - "execution_count": 84, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "m_3.add_layer(dissolved_lyr)" + "m_3.content.add(dissolved_lyr)" ] }, { "cell_type": "code", - "execution_count": 85, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "m_3.draw(data3_addr1['location'], popup,\n", - " symbol = {\"angle\":0,\"xoffset\":0,\"yoffset\":0,\n", - " \"type\":\"esriPMS\", \"url\":\"https://static.arcgis.com/images/Symbols/PeoplePlaces/School.png\",\n", - " \"contentType\":\"image/png\",\"width\":24,\"height\":24})\n", - "m_3.draw(data3_addr2['location'], popup,\n", - " symbol = {\"angle\":0,\"xoffset\":0,\"yoffset\":0,\n", - " \"type\":\"esriPMS\", \"url\":\"https://static.arcgis.com/images/Symbols/PeoplePlaces/School.png\",\n", - " \"contentType\":\"image/png\",\"width\":24,\"height\":24})" + "symbol = PictureMarkerSymbolEsriPMS(\n", + " angle=0,\n", + " xoffset=0,\n", + " yoffset=0,\n", + " content_type=\"image/png\",\n", + " width=24,\n", + " height=25,\n", + " type=\"esriPMS\",\n", + " url=\"https://static.arcgis.com/images/Symbols/PeoplePlaces/School.png\",\n", + ")\n", + "\n", + "m_3.content.draw(data3_addr1['location'], popup = popup, symbol = symbol)\n", + "m_3.content.draw(data3_addr2['location'], popup = popup, symbol = symbol)" ] }, { @@ -3240,7 +3175,7 @@ }, { "cell_type": "code", - "execution_count": 86, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -3250,397 +3185,9 @@ }, { "cell_type": "code", - "execution_count": 87, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
RegionTypeRegionNameCityStateMetroCBSATitleSizeRankMarketHealthIndexSellForGainPrevForeclosed...ZHVIMoMYoYForecastYoYPctChangeStockOfREOsNegativeEquityDelinquencyDaysOnMarketUnnamed: 19zipstring
0Zip1001AgawamMASpringfield, MA, MASpringfield, MANaN1.62236575.000.0500...214000.00.2811625.2631580.047047NaN0.0690280.06806381.0NaN1001
1Zip1002AmherstMASpringfield, MA, MASpringfield, MANaN5.49134192.310.0000...331400.00.4851436.9722400.046192NaN0.0454150.03846287.5NaN1002
2Zip1007BelchertownMASpringfield, MA, MASpringfield, MANaN4.664384100.000.0000...277400.00.3254974.6792450.054387NaN0.0463030.04838794.5NaN1007
3Zip1008BlandfordMASpringfield, MA, MASpringfield, MANaN2.5412810.00NaN...224000.00.2237148.8435370.061817NaN0.0601090.09090973.0NaN1008
4Zip1010BrimfieldMASpringfield, MA, MASpringfield, MANaN3.103101100.00NaN...255700.00.4715132.6083470.060555NaN0.0667780.07500073.0NaN1010
..................................................................
14893Zip75033FriscoTXDallas-Fort Worth, TX, TXDallas-Fort Worth, TXNaN9.095852100.000.0000...395800.0-0.0757381.0467190.066809NaNNaNNaN74.0NaN75033
14894Zip84009South JordanUTSalt Lake City, UT, UTSalt Lake City, UTNaN6.135052NaN0.0000...409200.00.5405419.1200000.040208NaNNaNNaN48.0NaN84009
14895Zip97003BeavertonORPortland, OR, ORPortland, ORNaN6.806954100.000.0000...346900.00.1732605.3766710.037766NaNNaNNaN44.0NaN97003
14896Zip97703BendORBend, OR, ORBend, ORNaN6.566653100.00NaN...590700.00.2886256.489995-0.011788NaNNaNNaN77.0NaN97703
14897Zip29486SummervilleSCCharleston, SC, SCCharleston, SCNaN6.81500991.300.0196...192200.00.4179737.3143500.019964NaNNaNNaN83.5NaN29486
\n", - "

14898 rows × 21 columns

\n", - "
" - ], - "text/plain": [ - " RegionType RegionName City State Metro \\\n", - "0 Zip 1001 Agawam MA Springfield, MA, MA \n", - "1 Zip 1002 Amherst MA Springfield, MA, MA \n", - "2 Zip 1007 Belchertown MA Springfield, MA, MA \n", - "3 Zip 1008 Blandford MA Springfield, MA, MA \n", - "4 Zip 1010 Brimfield MA Springfield, MA, MA \n", - "... ... ... ... ... ... \n", - "14893 Zip 75033 Frisco TX Dallas-Fort Worth, TX, TX \n", - "14894 Zip 84009 South Jordan UT Salt Lake City, UT, UT \n", - "14895 Zip 97003 Beaverton OR Portland, OR, OR \n", - "14896 Zip 97703 Bend OR Bend, OR, OR \n", - "14897 Zip 29486 Summerville SC Charleston, SC, SC \n", - "\n", - " CBSATitle SizeRank MarketHealthIndex SellForGain \\\n", - "0 Springfield, MA NaN 1.622365 75.00 \n", - "1 Springfield, MA NaN 5.491341 92.31 \n", - "2 Springfield, MA NaN 4.664384 100.00 \n", - "3 Springfield, MA NaN 2.541281 0.00 \n", - "4 Springfield, MA NaN 3.103101 100.00 \n", - "... ... ... ... ... \n", - "14893 Dallas-Fort Worth, TX NaN 9.095852 100.00 \n", - "14894 Salt Lake City, UT NaN 6.135052 NaN \n", - "14895 Portland, OR NaN 6.806954 100.00 \n", - "14896 Bend, OR NaN 6.566653 100.00 \n", - "14897 Charleston, SC NaN 6.815009 91.30 \n", - "\n", - " PrevForeclosed ... ZHVI MoM YoY \\\n", - "0 0.0500 ... 214000.0 0.281162 5.263158 \n", - "1 0.0000 ... 331400.0 0.485143 6.972240 \n", - "2 0.0000 ... 277400.0 0.325497 4.679245 \n", - "3 NaN ... 224000.0 0.223714 8.843537 \n", - "4 NaN ... 255700.0 0.471513 2.608347 \n", - "... ... ... ... ... ... \n", - "14893 0.0000 ... 395800.0 -0.075738 1.046719 \n", - "14894 0.0000 ... 409200.0 0.540541 9.120000 \n", - "14895 0.0000 ... 346900.0 0.173260 5.376671 \n", - "14896 NaN ... 590700.0 0.288625 6.489995 \n", - "14897 0.0196 ... 192200.0 0.417973 7.314350 \n", - "\n", - " ForecastYoYPctChange StockOfREOs NegativeEquity Delinquency \\\n", - "0 0.047047 NaN 0.069028 0.068063 \n", - "1 0.046192 NaN 0.045415 0.038462 \n", - "2 0.054387 NaN 0.046303 0.048387 \n", - "3 0.061817 NaN 0.060109 0.090909 \n", - "4 0.060555 NaN 0.066778 0.075000 \n", - "... ... ... ... ... \n", - "14893 0.066809 NaN NaN NaN \n", - "14894 0.040208 NaN NaN NaN \n", - "14895 0.037766 NaN NaN NaN \n", - "14896 -0.011788 NaN NaN NaN \n", - "14897 0.019964 NaN NaN NaN \n", - "\n", - " DaysOnMarket Unnamed: 19 zipstring \n", - "0 81.0 NaN 1001 \n", - "1 87.5 NaN 1002 \n", - "2 94.5 NaN 1007 \n", - "3 73.0 NaN 1008 \n", - "4 73.0 NaN 1010 \n", - "... ... ... ... \n", - "14893 74.0 NaN 75033 \n", - "14894 48.0 NaN 84009 \n", - "14895 44.0 NaN 97003 \n", - "14896 77.0 NaN 97703 \n", - "14897 83.5 NaN 29486 \n", - "\n", - "[14898 rows x 21 columns]" - ] - }, - "execution_count": 87, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "data4" ] @@ -3654,7 +3201,7 @@ }, { "cell_type": "code", - "execution_count": 88, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -3663,7 +3210,7 @@ }, { "cell_type": "code", - "execution_count": 89, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -3672,182 +3219,45 @@ }, { "cell_type": "code", - "execution_count": 90, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
CityMarketHealthIndexZHVIForecastYoYPctChangezipstring
0Agawam1.622365214000.00.0470471001
1Amherst5.491341331400.00.0461921002
2Belchertown4.664384277400.00.0543871007
3Blandford2.541281224000.00.0618171008
4Brimfield3.103101255700.00.0605551010
\n", - "
" - ], - "text/plain": [ - " City MarketHealthIndex ZHVI ForecastYoYPctChange zipstring\n", - "0 Agawam 1.622365 214000.0 0.047047 1001\n", - "1 Amherst 5.491341 331400.0 0.046192 1002\n", - "2 Belchertown 4.664384 277400.0 0.054387 1007\n", - "3 Blandford 2.541281 224000.0 0.061817 1008\n", - "4 Brimfield 3.103101 255700.0 0.060555 1010" - ] - }, - "execution_count": 90, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "matket_health_index.head()" ] }, { "cell_type": "code", - "execution_count": 91, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "City object\n", - "MarketHealthIndex float64\n", - "ZHVI float64\n", - "ForecastYoYPctChange float64\n", - "zipstring int64\n", - "dtype: object" - ] - }, - "execution_count": 91, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "matket_health_index.dtypes" ] }, { "cell_type": "code", - "execution_count": 92, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "0.000671231" - ] - }, - "execution_count": 92, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "matket_health_index['MarketHealthIndex'].min()" ] }, { "cell_type": "code", - "execution_count": 93, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "10.0" - ] - }, - "execution_count": 93, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "matket_health_index['MarketHealthIndex'].max()" ] }, { "cell_type": "code", - "execution_count": 94, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "C:\\Users\\shi10484\\AppData\\Local\\ESRI\\conda\\envs\\dl_testing2\\lib\\site-packages\\pandas\\core\\frame.py:4301: SettingWithCopyWarning: \n", - "A value is trying to be set on a copy of a slice from a DataFrame\n", - "\n", - "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n", - " errors=errors,\n" - ] - } - ], + "outputs": [], "source": [ "matket_health_index.rename(columns={\"zipstring\": \"ZIP_CODE\"},\n", " inplace=True)" @@ -3855,69 +3265,9 @@ }, { "cell_type": "code", - "execution_count": 95, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
CityMarketHealthIndexZHVIForecastYoYPctChangeZIP_CODE
13351Crestline9.944288205600.00.06808492322
13353Crestline2.882937228900.00.06729692325
\n", - "
" - ], - "text/plain": [ - " City MarketHealthIndex ZHVI ForecastYoYPctChange ZIP_CODE\n", - "13351 Crestline 9.944288 205600.0 0.068084 92322\n", - "13353 Crestline 2.882937 228900.0 0.067296 92325" - ] - }, - "execution_count": 95, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "matket_health_index[matket_health_index['City']=='Crestline']" ] @@ -3931,346 +3281,54 @@ }, { "cell_type": "code", - "execution_count": 96, - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
OBJECTIDPOPULATIONPO_NAMESHAPESQMISTATEShape__AreaShape__LengthZIP_CODE
01-99N Dillingham Census Area{\"rings\": [[[-160.186183929443, 58.82004642486...16279.47AK6.76504824.6029211
12-99Yukon Flats Nat Wildlife{\"rings\": [[[-159.971336364746, 64.42843627929...95704.72AK48.867324130.9445742
23-99Alaska Peninsula NWR{\"rings\": [[[-159.347519999648, 55.77196200034...14491.70AK5.62272141.4431073
34-99W Kenai Peninsula Boroug{\"rings\": [[[-153.309794000393, 58.85487400023...6568.13AK2.75154620.4609704
45-99N Lake and Peninsula Bor{\"rings\": [[[-153.436194999999, 60.90853799962...3713.14AK1.5737909.4747105
\n", - "
" - ], - "text/plain": [ - " OBJECTID POPULATION PO_NAME \\\n", - "0 1 -99 N Dillingham Census Area \n", - "1 2 -99 Yukon Flats Nat Wildlife \n", - "2 3 -99 Alaska Peninsula NWR \n", - "3 4 -99 W Kenai Peninsula Boroug \n", - "4 5 -99 N Lake and Peninsula Bor \n", - "\n", - " SHAPE SQMI STATE \\\n", - "0 {\"rings\": [[[-160.186183929443, 58.82004642486... 16279.47 AK \n", - "1 {\"rings\": [[[-159.971336364746, 64.42843627929... 95704.72 AK \n", - "2 {\"rings\": [[[-159.347519999648, 55.77196200034... 14491.70 AK \n", - "3 {\"rings\": [[[-153.309794000393, 58.85487400023... 6568.13 AK \n", - "4 {\"rings\": [[[-153.436194999999, 60.90853799962... 3713.14 AK \n", - "\n", - " Shape__Area Shape__Length ZIP_CODE \n", - "0 6.765048 24.602921 1 \n", - "1 48.867324 130.944574 2 \n", - "2 5.622721 41.443107 3 \n", - "3 2.751546 20.460970 4 \n", - "4 1.573790 9.474710 5 " - ] - }, - "execution_count": 96, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "zip_df.head()" - ] - }, - { - "cell_type": "code", - "execution_count": 97, - "metadata": {}, - "outputs": [], - "source": [ - "zip_df = zip_df.astype({\"ZIP_CODE\": int})" - ] - }, - { - "cell_type": "code", - "execution_count": 98, - "metadata": {}, - "outputs": [], - "source": [ - "health_df = pd.merge(zip_df, matket_health_index, on='ZIP_CODE')" - ] - }, - { - "cell_type": "code", - "execution_count": 99, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
OBJECTIDPOPULATIONPO_NAMESHAPESQMISTATEShape__AreaShape__LengthZIP_CODECityMarketHealthIndexZHVIForecastYoYPctChange
024117332Agawam{'rings': [[[-72.6304370002673, 42.09945499964...12.08MA0.0034040.3172091001Agawam1.622365214000.00.047047
124229871Amherst{'rings': [[[-72.4439000000849, 42.42276600025...58.03MA0.0164250.9263671002Amherst5.491341331400.00.046192
224515242Belchertown{'rings': [[[-72.4083589996681, 42.35153699983...55.85MA0.0157860.6986731007Belchertown4.664384277400.00.054387
32461749Blandford{'rings': [[[-72.9898204997162, 42.24787710014...60.62MA0.0171120.6761751008Blandford2.541281224000.00.061817
42474398Brimfield{'rings': [[[-72.2559969998616, 42.18105099970...37.28MA0.0105150.5873401010Brimfield3.103101255700.00.060555
\n", - "
" - ], - "text/plain": [ - " OBJECTID POPULATION PO_NAME \\\n", - "0 241 17332 Agawam \n", - "1 242 29871 Amherst \n", - "2 245 15242 Belchertown \n", - "3 246 1749 Blandford \n", - "4 247 4398 Brimfield \n", - "\n", - " SHAPE SQMI STATE \\\n", - "0 {'rings': [[[-72.6304370002673, 42.09945499964... 12.08 MA \n", - "1 {'rings': [[[-72.4439000000849, 42.42276600025... 58.03 MA \n", - "2 {'rings': [[[-72.4083589996681, 42.35153699983... 55.85 MA \n", - "3 {'rings': [[[-72.9898204997162, 42.24787710014... 60.62 MA \n", - "4 {'rings': [[[-72.2559969998616, 42.18105099970... 37.28 MA \n", - "\n", - " Shape__Area Shape__Length ZIP_CODE City MarketHealthIndex \\\n", - "0 0.003404 0.317209 1001 Agawam 1.622365 \n", - "1 0.016425 0.926367 1002 Amherst 5.491341 \n", - "2 0.015786 0.698673 1007 Belchertown 4.664384 \n", - "3 0.017112 0.676175 1008 Blandford 2.541281 \n", - "4 0.010515 0.587340 1010 Brimfield 3.103101 \n", - "\n", - " ZHVI ForecastYoYPctChange \n", - "0 214000.0 0.047047 \n", - "1 331400.0 0.046192 \n", - "2 277400.0 0.054387 \n", - "3 224000.0 0.061817 \n", - "4 255700.0 0.060555 " - ] - }, - "execution_count": 99, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "zip_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "zip_df = zip_df.astype({\"ZIP_CODE\": int})" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "health_df = pd.merge(zip_df, matket_health_index, on='ZIP_CODE')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "health_df.head()" ] }, { "cell_type": "code", - "execution_count": 100, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(14890, 13)" - ] - }, - "execution_count": 100, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "health_df.shape" ] }, { "cell_type": "code", - "execution_count": 101, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -4279,8 +3337,10 @@ }, { "cell_type": "code", - "execution_count": 102, - "metadata": {}, + "execution_count": null, + "metadata": { + "scrolled": true + }, "outputs": [], "source": [ "hlth_lyr = gis.content.import_data(health_df,\n", @@ -4289,33 +3349,17 @@ }, { "cell_type": "code", - "execution_count": 103, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 103, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ - "m4 = gis.map('United States', 5)\n", + "m4 = gis.map('United States')\n", "m4" ] }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -4329,20 +3373,28 @@ }, { "cell_type": "code", - "execution_count": 104, - "metadata": {}, + "execution_count": null, + "metadata": { + "scrolled": true + }, "outputs": [], "source": [ - "m4.add_layer(hlth_lyr, {\"renderer\":\"ClassedColorRenderer\",\n", - " \"field_name\":cur_field_name,\n", - " \"classificationMethod\":'quantile',\n", - " \"opacity\":0.7\n", - " })" + "m4.content.add(hlth_lyr)\n", + "sm = m4.content.renderer(0).smart_mapping()\n", + "sm.class_breaks_renderer(\n", + " break_type=\"color\",\n", + " field = cur_field_name,\n", + " classification_method = quantile\n", + " opacity = 0.7\n", + " \n", + ")\n", + "\n", + "m4.zoom_to_layer(hlth_lyr)" ] }, { "cell_type": "code", - "execution_count": 105, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -4351,7 +3403,7 @@ }, { "cell_type": "code", - "execution_count": 106, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -4360,7 +3412,7 @@ }, { "cell_type": "code", - "execution_count": 107, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -4369,7 +3421,7 @@ }, { "cell_type": "code", - "execution_count": 108, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -4378,7 +3430,7 @@ }, { "cell_type": "code", - "execution_count": 109, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -4389,38 +3441,9 @@ }, { "cell_type": "code", - "execution_count": 110, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "
\n", - " \n", - " \n", - " \n", - "
\n", - "\n", - "
\n", - " Market Health Data Within drive time Buffer556026\n", - " \n", - "
Feature Layer Collection by arcgis_python\n", - "
Last Modified: March 16, 2021\n", - "
0 comments, 0 views\n", - "
\n", - "
\n", - " " - ], - "text/plain": [ - "" - ] - }, - "execution_count": 110, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "zip_intersect" ] @@ -4434,7 +3457,7 @@ }, { "cell_type": "code", - "execution_count": 111, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -4443,7 +3466,7 @@ }, { "cell_type": "code", - "execution_count": 112, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -4452,45 +3475,18 @@ }, { "cell_type": "code", - "execution_count": 113, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(326, 66)" - ] - }, - "execution_count": 113, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "overlay_df.shape" ] }, { "cell_type": "code", - "execution_count": 114, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 114, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "m5 = gis.map('Redlands, CA', 9)\n", "m5" @@ -4498,16 +3494,16 @@ }, { "cell_type": "code", - "execution_count": 115, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "m5.add_layer(hlth_lyr, {\"renderer\":\"ClassedColorRenderer\",\n", + "m5.content.add(hlth_lyr, {\"renderer\":\"ClassedColorRenderer\",\n", " \"field_name\":cur_field_name,\n", " \"classificationMethod\":'quantile',\n", " \"opacity\":0.7\n", " })\n", - "m5.add_layer(drive_time_lyr)" + "m5.content.add(drive_time_lyr)" ] }, { @@ -4526,25 +3522,9 @@ }, { "cell_type": "code", - "execution_count": 116, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 116, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "m6 = gis.map('Redlands, CA', 9)\n", "m6" @@ -4552,16 +3532,16 @@ }, { "cell_type": "code", - "execution_count": 117, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "m6.add_layer(hlth_lyr, { \"renderer\":\"ClassedColorRenderer\",\n", + "m6.content.add(hlth_lyr, { \"renderer\":\"ClassedColorRenderer\",\n", " \"field_name\":\"ZHVI\",\n", " \"classificationMethod\":'quantile',\n", " \"opacity\":0.7\n", " })\n", - "m6.add_layer(drive_time_lyr)" + "m6.content.add(drive_time_lyr)" ] }, { @@ -4580,25 +3560,9 @@ }, { "cell_type": "code", - "execution_count": 118, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 118, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "m7 = gis.map('Redlands, CA', 9)\n", "m7" @@ -4606,7 +3570,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ @@ -4620,16 +3584,16 @@ }, { "cell_type": "code", - "execution_count": 119, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "m7.add_layer(hlth_lyr, {\"renderer\":\"ClassedColorRenderer\",\n", + "m7.content.add(hlth_lyr, {\"renderer\":\"ClassedColorRenderer\",\n", " \"field_name\":cur_field_name2,\n", " \"classificationMethod\":'quantile',\n", " \"opacity\":0.7\n", " })\n", - "m7.add_layer(drive_time_lyr)" + "m7.content.add(drive_time_lyr)" ] }, { @@ -4669,310 +3633,9 @@ }, { "cell_type": "code", - "execution_count": 120, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
OBJECTIDFID_AC9111_A7E54F7Didsource_countryxyarea_typebuffer_unitsbuffer_units_aliasbuffer_radii...statezip_codecitymarket_health_indexzhviforecast_yo_y_pct_changeShape__Area_1Shape__Length_1AnalysisAreaSHAPE
0610US-117.55283034.064356NetworkServiceAreaMinutesDrive Time Minutes45...CA90606West Whittier-Los Nietos8.2722514855000.0723751.417656e+0722316.3230332.240247{\"rings\": [[[-13143194.2534, 4028915.1404], [-...
1910US-117.55283034.064356NetworkServiceAreaMinutesDrive Time Minutes45...CA90640Montebello8.1675395385000.0618073.105525e+0734167.8786351.995545{\"rings\": [[[-13143598.3654, 4032788.2902], [-...
21910US-117.55283034.064356NetworkServiceAreaMinutesDrive Time Minutes45...CA91702Azusa9.1381394576000.0863002.658000e+08142848.23483922.824592{\"rings\": [[[-13123459.7947, 4048654.942], [-1...
32010US-117.55283034.064356NetworkServiceAreaMinutesDrive Time Minutes45...CA91706Baldwin Park9.2153314603000.0881735.812360e+0745215.15646639.756145{\"rings\": [[[-13129357.7083, 4047200.0046], [-...
42910US-117.55283034.064356NetworkServiceAreaMinutesDrive Time Minutes45...CA91732El Monte9.2032495065000.0652991.813936e+0725827.62055812.414794{\"rings\": [[[-13135851.7534, 4040662.4451], [-...
53010US-117.55283034.064356NetworkServiceAreaMinutesDrive Time Minutes45...CA91733South El Monte9.6153855017000.0932552.645891e+0727366.70430617.640998{\"rings\": [[[-13139099.6109, 4037245.849], [-1...
617910US-117.55283034.064356NetworkServiceAreaMinutesDrive Time Minutes45...CA91752Eastvale8.2709095038000.0645085.733285e+0737863.19770539.309396{\"rings\": [[[-13082747.7254, 4033299.2511], [-...
718021US-117.19487234.057237NetworkServiceAreaMinutesDrive Time Minutes45...CA91752Eastvale8.2709095038000.0645085.733285e+0737863.19770539.309396{\"rings\": [[[-13082747.7254, 4033299.2511], [-...
\n", - "

8 rows × 66 columns

\n", - "
" - ], - "text/plain": [ - " OBJECTID FID_AC9111_A7E54F7D id source_country x y \\\n", - "0 6 1 0 US -117.552830 34.064356 \n", - "1 9 1 0 US -117.552830 34.064356 \n", - "2 19 1 0 US -117.552830 34.064356 \n", - "3 20 1 0 US -117.552830 34.064356 \n", - "4 29 1 0 US -117.552830 34.064356 \n", - "5 30 1 0 US -117.552830 34.064356 \n", - "6 179 1 0 US -117.552830 34.064356 \n", - "7 180 2 1 US -117.194872 34.057237 \n", - "\n", - " area_type buffer_units buffer_units_alias buffer_radii ... \\\n", - "0 NetworkServiceArea Minutes Drive Time Minutes 45 ... \n", - "1 NetworkServiceArea Minutes Drive Time Minutes 45 ... \n", - "2 NetworkServiceArea Minutes Drive Time Minutes 45 ... \n", - "3 NetworkServiceArea Minutes Drive Time Minutes 45 ... \n", - "4 NetworkServiceArea Minutes Drive Time Minutes 45 ... \n", - "5 NetworkServiceArea Minutes Drive Time Minutes 45 ... \n", - "6 NetworkServiceArea Minutes Drive Time Minutes 45 ... \n", - "7 NetworkServiceArea Minutes Drive Time Minutes 45 ... \n", - "\n", - " state zip_code city market_health_index zhvi \\\n", - "0 CA 90606 West Whittier-Los Nietos 8.272251 485500 \n", - "1 CA 90640 Montebello 8.167539 538500 \n", - "2 CA 91702 Azusa 9.138139 457600 \n", - "3 CA 91706 Baldwin Park 9.215331 460300 \n", - "4 CA 91732 El Monte 9.203249 506500 \n", - "5 CA 91733 South El Monte 9.615385 501700 \n", - "6 CA 91752 Eastvale 8.270909 503800 \n", - "7 CA 91752 Eastvale 8.270909 503800 \n", - "\n", - " forecast_yo_y_pct_change Shape__Area_1 Shape__Length_1 AnalysisArea \\\n", - "0 0.072375 1.417656e+07 22316.323033 2.240247 \n", - "1 0.061807 3.105525e+07 34167.878635 1.995545 \n", - "2 0.086300 2.658000e+08 142848.234839 22.824592 \n", - "3 0.088173 5.812360e+07 45215.156466 39.756145 \n", - "4 0.065299 1.813936e+07 25827.620558 12.414794 \n", - "5 0.093255 2.645891e+07 27366.704306 17.640998 \n", - "6 0.064508 5.733285e+07 37863.197705 39.309396 \n", - "7 0.064508 5.733285e+07 37863.197705 39.309396 \n", - "\n", - " SHAPE \n", - "0 {\"rings\": [[[-13143194.2534, 4028915.1404], [-... \n", - "1 {\"rings\": [[[-13143598.3654, 4032788.2902], [-... \n", - "2 {\"rings\": [[[-13123459.7947, 4048654.942], [-1... \n", - "3 {\"rings\": [[[-13129357.7083, 4047200.0046], [-... \n", - "4 {\"rings\": [[[-13135851.7534, 4040662.4451], [-... \n", - "5 {\"rings\": [[[-13139099.6109, 4037245.849], [-1... \n", - "6 {\"rings\": [[[-13082747.7254, 4033299.2511], [-... \n", - "7 {\"rings\": [[[-13082747.7254, 4033299.2511], [-... \n", - "\n", - "[8 rows x 66 columns]" - ] - }, - "execution_count": 120, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "query_str = '((ZHVI > 350000) AND (ZHVI < 600000) AND (' + cur_field_name + ' > 8) AND (' + cur_field_name2 + '> 0.06)) AND (1=1)'\n", "\n", @@ -4982,25 +3645,9 @@ }, { "cell_type": "code", - "execution_count": 117, - "metadata": { - "scrolled": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "" - ], - "text/plain": [ - "" - ] - }, - "execution_count": 117, - "metadata": {}, - "output_type": "execute_result" - } - ], + "execution_count": null, + "metadata": {}, + "outputs": [], "source": [ "m9 = gis.map('United States')\n", "m9" @@ -5008,11 +3655,11 @@ }, { "cell_type": "code", - "execution_count": 122, + "execution_count": null, "metadata": {}, "outputs": [], "source": [ - "m9.add_layer(zip_hlth_intersect,\n", + "m9.content.add(zip_hlth_intersect,\n", " {\"definition_expression\": query_str,\n", " \"classificationMethod\":'quantile'})\n", "m9.zoom_to_layer(zip_hlth_intersect)" @@ -5038,6 +3685,13 @@ "source": [ "The results show possible cities and ZIP Codes where they can explore homes for sale. We can use real estate websites such as Zillow.com or Realtor.com to see if they can find a home in their price range with the characteristics and qualities they're are looking for." ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -5046,9 +3700,9 @@ "notebookRuntimeVersion": "9.0" }, "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python [conda env:conda-dl] *", "language": "python", - "name": "python3" + "name": "conda-env-conda-dl-py" }, "language_info": { "codemirror_mode": { @@ -5060,9 +3714,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.16" + "version": "3.11.10" } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 }