Copy disabled (too large)
Download .txt
Showing preview only (16,003K chars total). Download the full file to get everything.
Repository: topepo/rstudio-conf-2019
Branch: master
Commit: 2aaf4c24cd90
Files: 138
Total size: 26.7 MB
Directory structure:
gitextract_urgunsiu/
├── .gitignore
├── LICENSE
├── Materials/
│ ├── Backup_Slides.R
│ ├── Backup_Slides.html
│ ├── Data/
│ │ └── okc.RData
│ ├── Materials.Rproj
│ ├── Part_1_Getting_Started.R
│ ├── Part_1_Getting_Started.html
│ ├── Part_2_Basic_Principles.R
│ ├── Part_2_Basic_Principles.html
│ ├── Part_2_Basic_Principles_files/
│ │ ├── DiagrammeR-styles-0.2/
│ │ │ └── styles.css
│ │ ├── Proj4Leaflet-1.0.1/
│ │ │ ├── proj4-compressed.js
│ │ │ └── proj4leaflet.js
│ │ ├── grViz-binding-1.0.0/
│ │ │ └── grViz.js
│ │ ├── htmlwidgets-1.3/
│ │ │ └── htmlwidgets.js
│ │ ├── leaflet-1.3.1/
│ │ │ ├── leaflet.css
│ │ │ └── leaflet.js
│ │ ├── leaflet-binding-2.0.2/
│ │ │ └── leaflet.js
│ │ ├── leaflet-providers-1.1.17/
│ │ │ ├── leaflet-providers.js
│ │ │ ├── package.json
│ │ │ ├── providers.json
│ │ │ └── rstudio_install.md
│ │ ├── leaflet-providers-plugin-2.0.2/
│ │ │ └── leaflet-providers-plugin.js
│ │ ├── leafletfix-1.0.0/
│ │ │ └── leafletfix.css
│ │ ├── rstudio_leaflet-1.3.1/
│ │ │ └── rstudio_leaflet.css
│ │ └── viz-0.3/
│ │ └── viz.js
│ ├── Part_2_Hands_On_1.R
│ ├── Part_2_Hands_On_2.R
│ ├── Part_3_Feature_Engineering.R
│ ├── Part_3_Feature_Engineering.html
│ ├── Part_3_Hands_On_1.R
│ ├── Part_4_Regression_Modeling.R
│ ├── Part_4_Regression_Modeling.html
│ ├── Part_4_Regression_Modeling_files/
│ │ └── figure-html/
│ │ └── widgets/
│ │ ├── girafe_libs/
│ │ │ ├── d3-lasso-0.0.5/
│ │ │ │ └── lasso.js
│ │ │ ├── ggiraphjs-0.1.0/
│ │ │ │ └── styles.css
│ │ │ ├── girafe-binding-0.6.0/
│ │ │ │ └── girafe.js
│ │ │ ├── htmlwidgets-1.3/
│ │ │ │ └── htmlwidgets.js
│ │ │ └── pymjs-1.3.2/
│ │ │ └── pym.v1.js
│ │ ├── widget_bagged-pred-plot.html
│ │ ├── widget_bagged-resid-plot.html
│ │ ├── widget_glmn-pred-plot.html
│ │ ├── widget_glmn-resid-plot.html
│ │ ├── widget_mars-pred-plot.html
│ │ └── widget_mars-resid-plot.html
│ ├── Part_5_Classification.R
│ ├── Part_5_Classification.html
│ ├── Part_5_Hands_On_1.R
│ ├── Part_5_Hands_On_2.R
│ ├── RData/
│ │ ├── glmn_mod.RData
│ │ ├── mars_gcv_bag.RData
│ │ ├── mars_gcv_mod.RData
│ │ └── mars_mod.RData
│ ├── Room_1_Scratch.R
│ ├── fonts_mtheme.css
│ ├── fonts_mtheme_max.css
│ ├── libs/
│ │ ├── DiagrammeR-styles-0.2/
│ │ │ └── styles.css
│ │ ├── Proj4Leaflet-1.0.1/
│ │ │ ├── proj4-compressed.js
│ │ │ └── proj4leaflet.js
│ │ ├── crosstalk-1.0.0/
│ │ │ ├── css/
│ │ │ │ └── crosstalk.css
│ │ │ └── js/
│ │ │ └── crosstalk.js
│ │ ├── d3-lasso-0.0.5/
│ │ │ └── lasso.js
│ │ ├── ggiraphjs-0.1.0/
│ │ │ └── styles.css
│ │ ├── girafe-binding-0.6.0/
│ │ │ └── girafe.js
│ │ ├── grViz-binding-1.0.0/
│ │ │ └── grViz.js
│ │ ├── htmlwidgets-1.2/
│ │ │ └── htmlwidgets.js
│ │ ├── htmlwidgets-1.3/
│ │ │ └── htmlwidgets.js
│ │ ├── jquery-1.11.3/
│ │ │ ├── jquery-AUTHORS.txt
│ │ │ └── jquery.js
│ │ ├── kePrint-0.0.1/
│ │ │ └── kePrint.js
│ │ ├── leaflet-1.3.1/
│ │ │ ├── leaflet.css
│ │ │ └── leaflet.js
│ │ ├── leaflet-binding-2.0.1/
│ │ │ ├── leaflet.js
│ │ │ ├── leaflet.yaml
│ │ │ ├── lib/
│ │ │ │ ├── leaflet/
│ │ │ │ │ ├── leaflet.css
│ │ │ │ │ └── leaflet.js
│ │ │ │ ├── leaflet-measure/
│ │ │ │ │ └── leaflet-measure.css
│ │ │ │ ├── leaflet-omnivore/
│ │ │ │ │ ├── LICENSE
│ │ │ │ │ ├── index.js
│ │ │ │ │ └── package.json
│ │ │ │ ├── leaflet-providers/
│ │ │ │ │ ├── leaflet-providers.js
│ │ │ │ │ ├── package.json
│ │ │ │ │ ├── providers.json
│ │ │ │ │ └── rstudio_install.md
│ │ │ │ ├── leafletfix/
│ │ │ │ │ └── leafletfix.css
│ │ │ │ └── rstudio_leaflet/
│ │ │ │ └── rstudio_leaflet.css
│ │ │ └── plugins/
│ │ │ ├── Leaflet-MiniMap/
│ │ │ │ ├── Control.MiniMap.css
│ │ │ │ ├── Control.MiniMap.js
│ │ │ │ └── Minimap-binding.js
│ │ │ ├── Leaflet.EasyButton/
│ │ │ │ ├── EasyButton-binding.js
│ │ │ │ ├── LICENSE
│ │ │ │ ├── easy-button.css
│ │ │ │ └── easy-button.js
│ │ │ ├── Leaflet.Graticule/
│ │ │ │ ├── Graticule-binding.js
│ │ │ │ ├── L.Graticule.js
│ │ │ │ └── Leaflet.Graticule.js
│ │ │ ├── Leaflet.SimpleGraticule/
│ │ │ │ ├── L.SimpleGraticule.css
│ │ │ │ ├── L.SimpleGraticule.js
│ │ │ │ └── SimpleGraticule-binding.js
│ │ │ ├── Leaflet.Terminator/
│ │ │ │ ├── L.Terminator.js
│ │ │ │ └── Terminator-binding.js
│ │ │ ├── Leaflet.awesome-markers/
│ │ │ │ ├── fonts/
│ │ │ │ │ └── FontAwesome.otf
│ │ │ │ ├── leaflet.awesome-markers.css
│ │ │ │ └── leaflet.awesome-markers.js
│ │ │ ├── Leaflet.markercluster/
│ │ │ │ ├── MIT-LICENCE.txt
│ │ │ │ ├── MarkerCluster.Default.css
│ │ │ │ ├── MarkerCluster.css
│ │ │ │ ├── leaflet.markercluster.freezable.js
│ │ │ │ ├── leaflet.markercluster.js
│ │ │ │ ├── leaflet.markercluster.layersupport.js
│ │ │ │ └── package.json
│ │ │ ├── Proj4Leaflet/
│ │ │ │ ├── proj4-compressed.js
│ │ │ │ └── proj4leaflet.js
│ │ │ ├── leaflet-locationfilter/
│ │ │ │ ├── locationfilter-bindings.js
│ │ │ │ ├── locationfilter.css
│ │ │ │ └── locationfilter.js
│ │ │ └── leaflet-providers-plugin/
│ │ │ └── leaflet-providers-plugin.js
│ │ ├── leaflet-binding-2.0.2/
│ │ │ └── leaflet.js
│ │ ├── leaflet-providers-1.1.17/
│ │ │ ├── leaflet-providers.js
│ │ │ ├── package.json
│ │ │ ├── providers.json
│ │ │ └── rstudio_install.md
│ │ ├── leaflet-providers-plugin-2.0.1/
│ │ │ └── leaflet-providers-plugin.js
│ │ ├── leaflet-providers-plugin-2.0.2/
│ │ │ └── leaflet-providers-plugin.js
│ │ ├── leafletfix-1.0.0/
│ │ │ └── leafletfix.css
│ │ ├── plotly-binding-4.8.0/
│ │ │ └── plotly.js
│ │ ├── plotly-htmlwidgets-css-1.39.2/
│ │ │ └── plotly-htmlwidgets.css
│ │ ├── pymjs-1.3.2/
│ │ │ └── pym.v1.js
│ │ ├── rstudio_leaflet-1.3.1/
│ │ │ └── rstudio_leaflet.css
│ │ ├── viz-0.3/
│ │ │ └── viz.js
│ │ └── widgetframe-binding-0.3.1/
│ │ └── widgetframe.js
│ ├── macros.js
│ ├── mtheme_max.css
│ ├── scratch-part-3.R
│ ├── scratch_1.R
│ ├── tidymodels.R
│ └── tidymodels.html
├── Preparations/
│ └── installs.R
└── README.md
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
# History files
.Rhistory
.Rapp.history
# Session Data files
.RData
# Example code in package build process
*-Ex.R
# Output files from R CMD build
/*.tar.gz
# Output files from R CMD check
/*.Rcheck/
# RStudio files
.Rproj.user/
# produced vignettes
vignettes/*.html
vignettes/*.pdf
# OAuth2 token, see https://github.com/hadley/httr/releases/tag/v0.3
.httr-oauth
# knitr and R markdown default cache directories
/*_cache/
/cache/
# Temporary files created by R markdown
*.utf8.md
*.knit.md
# Shiny token, see https://shiny.rstudio.com/articles/shinyapps.html
rsconnect/
.Rproj.user
.DS_Store
================================================
FILE: LICENSE
================================================
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
================================================
FILE: Materials/Backup_Slides.R
================================================
# Slides for Applied Machine Learning workshop at 2019 RStudio ---
# Conference -----------------------------------------------------
# Backup Slides
# Slide 3 -------------------------------------------------------
library(tidymodels)
# also will need
library(furrr)
library(rstanarm)
library(probably)
library(emo)
# Slide 10 ------------------------------------------------------
make_fit <- function(recipe, ...) {
logistic_reg() %>%
set_engine("stan", chains = 4, cores = 1, QR = TRUE, init = 0, iter = 5000, seed = 25622) %>%
fit(..., data = juice(recipe))
}
make_preds <- function(splits, recipes, models, ...) {
# Get the dummy variables
holdout <- bake(recipes, new_data = assessment(splits))
holdout %>%
bind_cols(predict(models, holdout %>% select(-Class), type = "class")) %>%
bind_cols(predict(models, holdout %>% select(-Class), type = "prob")) %>%
bind_cols(predict(models, holdout %>% select(-Class), type = "conf_int", std_error = TRUE)) %>%
dplyr::select(Class, starts_with(".")) %>%
# Get information about the resample and the original data index
mutate(
resample = labels(splits) %>% pull(id),
.row = as.integer(splits, data = "assessment")
) %>%
as_tibble()
}
# Slide 11 ------------------------------------------------------
load("Data/okc.RData")
keywords <- names(okc_train)[32:91]
okc_lr_train <-
okc_train %>%
dplyr::select(Class, where_town, age, male, diet,
religion, education, !!!keywords)
dummies <-
recipe(Class ~ ., data = okc_lr_train) %>%
step_dummy(all_nominal(), -Class) %>%
step_downsample(Class) %>%
step_zv(all_predictors())
# For parallel processing
# or plan("sequential")
# plan("multicore") # non-windows implementation
set.seed(9798)
okc_splits <-
vfold_cv(okc_lr_train) %>%
mutate(
recipes = map(splits, prepper, dummies),
# The next line takes a long time to execute.
# It took 77 min using 10 cores for me.
models = future_map(recipes, make_fit, Class ~ .)
) %>%
mutate(
preds = pmap(., make_preds)
)
# Slide 12 ------------------------------------------------------
okc_tr_res <-
okc_splits %>%
pull(preds) %>%
bind_rows()
std_error_mod <-
nls(
.std_error ~ a * sqrt((.pred_stem) * (1 - .pred_stem)),
data = okc_tr_res,
start = list(a = .5)
)
okc_tr_res <-
okc_tr_res %>%
mutate(
bl_std_error = predict(std_error_mod, .),
fold = .std_error/bl_std_error,
cut_point = 1.5 * bl_std_error
)
ggplot(okc_tr_res, aes(x = .pred_stem, y = .std_error)) +
geom_point(aes(col = Class), alpha = .3) +
geom_line(aes(y = bl_std_error), col = rgb(0, 0, 0, .75), lty = 2) +
ylab("Std Dev of Posterior") +
xlab("STEM Probability (Posterior Mean)")
# Slide 14 ------------------------------------------------------
av_std_error <-
nls(
.std_error ~ a *
sqrt((.pred_stem) *
(1 - .pred_stem)),
data = okc_tr_res,
start = list(a = .5)
)
okc_tr_res <-
okc_tr_res %>%
mutate(
exp_std_err = predict(av_std_error, .),
fold_above = .std_error/exp_std_err
)
okc_tr_res %>%
dplyr::select(.pred_stem, .std_error,
exp_std_err, fold_above) %>%
slice(1:8)
# Slide 16 ------------------------------------------------------
okc_tr_res <-
okc_tr_res %>%
mutate(
in_eq_zone =
fold_above > 10 &
(.pred_stem > 0.45 | .pred_stem < 0.55),
new_pred =
class_pred(.pred_class, which = which(in_eq_zone))
)
okc_tr_res %>%
dplyr::select(.pred_class, new_pred) %>%
slice(1:5)
okc_tr_res %>% pull(new_pred) %>% class()
okc_tr_res %>% pull(new_pred) %>% levels()
okc_tr_res %>% slice(1:6) %>% pull(new_pred) %>% as.factor()
# Slide 17 ------------------------------------------------------
okc_tr_res %>% slice(1:5) %>% pull(new_pred)
okc_tr_res %>%
summarise(reportable = reportable_rate(new_pred))
okc_tr_res %>%
mutate(new_pred = as.factor(new_pred)) %>%
kap(Class, new_pred)
# Slide 19 ------------------------------------------------------
up <- ji("white_check_mark")
down <- ji("rage")
prec_example <- tibble(
truth = factor(c(up, down, up, down, down), levels = c(up, down)),
estimate = factor(c(up, down, up, up, down), levels = c(up, down))
)
prec_example
precision(prec_example, truth, estimate)
# Slide 21 ------------------------------------------------------
eh <- ji("shrug")
prec_multi <- tibble(
truth = factor(c(up, eh, up, down, down), levels = c(up, down, eh)),
estimate = factor(c(up, down, up, eh, down), levels = c(up, down, eh))
)
prec_multi
precision(prec_multi, truth, estimate)
# Slide 22 ------------------------------------------------------
precision(prec_multi, truth, estimate, estimator = "macro_weighted")
# Slide 25 ------------------------------------------------------
library(tidymodels)
library(AmesHousing)
library(tidypredict)
ames <- make_ames() %>%
dplyr::select(-matches("Qu")) %>%
# Manually log the variables :-(
mutate(
Sale_Price = log10(Sale_Price),
Lot_Area = log10(Lot_Area),
Gr_Liv_Area = log10(Gr_Liv_Area)
)
set.seed(4595)
data_split <-
initial_split(ames, strata = "Sale_Price")
ames_train <- training(data_split)
ames_test <- testing(data_split)
ames_mod <-
lm(Sale_Price ~ Bldg_Type + Neighborhood +
Year_Built + Gr_Liv_Area +
Full_Bath + Lot_Area +
Central_Air*Year_Sold,
data = ames_train)
acceptable_formula(ames_mod) # Silence is golden here
ames_sql <- tidypredict_fit(ames_mod)
# Check against `lm()`:
tidypredict_test(ames_mod, ames_test)
# Slide 26 ------------------------------------------------------
print(ames_sql)
tidypredict_sql(ames_mod, dbplyr::simulate_mssql()) %>% substr(1, 85)
================================================
FILE: Materials/Backup_Slides.html
================================================
<!DOCTYPE html>
<html>
<head>
<title>Applied Machine Learning - Backup Slides</title>
<meta charset="utf-8">
<meta name="author" content="Max Kuhn (RStudio)" />
<link rel="stylesheet" href="mtheme_max.css" type="text/css" />
<link rel="stylesheet" href="fonts_mtheme_max.css" type="text/css" />
</head>
<body>
<textarea id="source">
class: center, middle, inverse, title-slide
# Applied Machine Learning - Backup Slides
### Max Kuhn (RStudio)
---
# Outline
* Equivocal Zones
* Multiclass Model Statistics
* `tidypredict`
---
# tidymodels
```r
library(tidymodels)
```
```
## ── Attaching packages ──────────────────────────────────────────────────────────────────────── tidymodels 0.0.2 ──
```
```
## ✔ broom 0.5.1 ✔ purrr 0.2.5
## ✔ dials 0.0.2 ✔ recipes 0.1.4
## ✔ dplyr 0.7.8 ✔ rsample 0.0.4
## ✔ infer 0.4.0 ✔ tibble 2.0.0
## ✔ parsnip 0.0.1 ✔ yardstick 0.0.2
```
```
## ── Conflicts ─────────────────────────────────────────────────────────────────────────── tidymodels_conflicts() ──
## ✖ purrr::discard() masks scales::discard()
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ✖ rsample::populate() masks Rcpp::populate()
## ✖ recipes::step() masks stats::step()
```
---
layout: false
class: inverse, middle, center
# Applicability and Equivocals
---
# Medical diagnostic analysis of assay results
<img src="Backup_Slides_files/figure-html/diag-dist-1.svg" width="75%" style="display: block; margin: auto;" />
---
# Add a cutoff via ROC curve
<img src="Backup_Slides_files/figure-html/diag-roc-1.svg" width="75%" style="display: block; margin: auto;" />
---
# Mandated buffer of equivocal results
<img src="Backup_Slides_files/figure-html/diag-eq-1.svg" width="75%" style="display: block; margin: auto;" />
---
# Equivocals and applicability domains
.pull-left[
Are there times when we should _not_ report a model result?
Just because we get a predicted value, it should not be assumed to be appropriate or _applicable_.
There is a modeling sub-field for determining the [_applicability domain_](https://scholar.google.com/scholar?hl=en&as_sdt=0%2C5&q=%22applicability+domain%22&btnG=) of a model and deciding when to report a prediction.
]
.pull-right[
As a real example, in drug discovery, computational chemistry models are built to predict various types of drug toxicity.
.font90[
* Using assay results for existing compounds, predictions can be made on _proposed_ compounds prior to their synthesis.
* Some models attempt to predict when prospective compounds are _toxic_.
* If a prediction were to be called **equivocal** or **unapplicable** (but interesting), the medicinal chemist and/or project biologist could then review the chemical structure and other properties in more detail (or send to a definitive screening assay).
]
]
---
# OkC Data
As a simple example, let's use the OkCupid data set with a reduced set of predictors.
A Bayesian logistic regression model with diffuse Gaussian priors ( `\(\beta_j \sim N(0, 10)\)` ) was fit the data to make model predictions.
From this, we can get predictions of the probability of STEM as well as posterior _distribution_ estimates.
A quasi standard error of fit was computed using the standard deviation of the posterior distribution.
* Recall that the standard error of the simple binomial rate `\(p\)` is `\(\sqrt{p (1- p) / n}\)`.
10-fold cross-validation was used to compute out-of-sample predictions of each profile.
Other models, notably random forest, can compute uncertainty measures for prediction.
---
# Helper Functions
```r
# requires rstanarm package too.
make_fit <- function(recipe, ...) {
logistic_reg() %>%
set_engine("stan", chains = 4, cores = 1, QR = TRUE, init = 0, iter = 5000, seed = 25622) %>%
fit(..., data = juice(recipe))
}
make_preds <- function(splits, recipes, models, ...) {
# Get the dummy variables
holdout <- bake(recipes, new_data = assessment(splits))
holdout %>%
bind_cols(predict(models, holdout %>% select(-Class), type = "class")) %>%
bind_cols(predict(models, holdout %>% select(-Class), type = "prob")) %>%
bind_cols(predict(models, holdout %>% select(-Class), type = "conf_int", std_error = TRUE)) %>%
dplyr::select(Class, starts_with(".")) %>%
# Get information about the resample and the original data index
mutate(
resample = labels(splits) %>% pull(id),
.row = as.integer(splits, data = "assessment")
) %>%
as_tibble()
}
```
---
# Modeling Code
.pull-left[
```r
load("Data/okc.RData")
keywords <- names(okc_train)[32:91]
okc_lr_train <-
okc_train %>%
dplyr::select(Class, where_town, age, male, diet,
religion, education, !!!keywords)
dummies <-
recipe(Class ~ ., data = okc_lr_train) %>%
step_dummy(all_nominal(), -Class) %>%
step_downsample(Class) %>%
step_zv(all_predictors())
```
]
.pull-right[
```r
library(furrr)
# or plan("sequential")
plan("multicore") # non-windows implementation
set.seed(9798)
okc_splits <-
vfold_cv(okc_lr_train) %>%
mutate(
recipes = map(splits, prepper, dummies),
# The next line takes a long time to execute.
# It took 77 min using 10 cores for me.
models = future_map(recipes, make_fit, Class ~ .)
) %>%
mutate(
preds = pmap(., make_preds)
)
```
]
---
# Predicted Probability versus Uncertainty
<img src="Backup_Slides_files/figure-html/backup-mean-sd-bayes-1.svg" width="70%" style="display: block; margin: auto;" />
---
# Two samples with very similar _mean_ probabilities
.pull-left[
<table>
<thead>
<tr>
<th style="text-align:left;"> Class </th>
<th style="text-align:right;"> STEM Prob </th>
<th style="text-align:right;"> Std Err </th>
<th style="text-align:right;"> Fold </th>
<th style="text-align:right;"> Sample # </th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left;"> stem </td>
<td style="text-align:right;"> 0.210 </td>
<td style="text-align:right;"> 0.061 </td>
<td style="text-align:right;"> 0.421 </td>
<td style="text-align:right;"> 3651 </td>
</tr>
<tr>
<td style="text-align:left;"> other </td>
<td style="text-align:right;"> 0.206 </td>
<td style="text-align:right;"> 0.494 </td>
<td style="text-align:right;"> 3.427 </td>
<td style="text-align:right;"> 1132 </td>
</tr>
</tbody>
</table>
Why might this be? Two of many reasons are:
* It could be due to different models in cross-validation (but it's not here).
* The sample might not be _applicable_ if it is very different from the other samples in the training set (i.e. extrapolation).
]
.pull-right[
<img src="Backup_Slides_files/figure-html/two-sample-post-1.svg" width="110%" style="display: block; margin: auto;" />
]
---
# Adding a _post hoc_ equivocal zone
.pull-left[
We'll label samples as equivocal using rules:
* any sample whose standard error is 10-fold above the estimated average standard error **or**
* any sample with a predicted probability between 0.45 and 0.55.
To estimate the average standard error, we'll use the standard deviation of the binomial parameter.
```r
av_std_error <-
nls(
.std_error ~ a *
sqrt((.pred_stem) *
(1 - .pred_stem)),
data = okc_tr_res,
start = list(a = .5)
)
```
]
.pull-right[
.code70[
```r
okc_tr_res <-
okc_tr_res %>%
mutate(
exp_std_err = predict(av_std_error, .),
fold_above = .std_error/exp_std_err
)
okc_tr_res %>%
dplyr::select(.pred_stem, .std_error,
exp_std_err, fold_above) %>%
slice(1:8)
```
```
## # A tibble: 8 x 4
## .pred_stem .std_error exp_std_err fold_above
## <dbl> <dbl> <dbl> <dbl>
## 1 2.22e-16 0.0234 0.00000000531 4405600.
## 2 1.86e- 1 0.102 0.139 0.736
## 3 3.77e- 1 0.165 0.173 0.955
## 4 6.03e- 2 0.0942 0.0848 1.11
## 5 2.96e- 2 0.0644 0.0604 1.07
## 6 5.59e- 1 0.0971 0.177 0.549
## 7 1.54e- 1 0.143 0.129 1.11
## 8 9.67e- 1 0.0200 0.0638 0.314
```
]
]
---
# The `probably` Package
[`probably`](https://tidymodels.github.io/probably) contains methods for post-processing class probability predictions, such as
* calibrating probability estimates (not yet implemented)
* determining appropriate thresholds for two-class data sets
* equivocal predictions
`probably` has a new type of object called [`class_pred`](https://tidymodels.github.io/probably/reference/class_pred.html) that is like a factor but can include which samples should _not_ be reported.
The object type builds on Hadley's new [`vctrs`](https://vctrs.r-lib.org/) package.
---
# `class_pred` Objects
.pull-left[
.code70[
```r
library(probably)
okc_tr_res <-
okc_tr_res %>%
mutate(
in_eq_zone =
fold_above > 10 &
(.pred_stem > 0.45 | .pred_stem < 0.55),
new_pred =
class_pred(.pred_class, which = which(in_eq_zone))
)
okc_tr_res %>%
dplyr::select(.pred_class, new_pred) %>%
slice(1:5)
```
```
## # A tibble: 5 x 2
## .pred_class new_pred
## <fct> <clss_prd>
## 1 other [EQ]
## 2 other other
## 3 other other
## 4 other other
## 5 other other
```
]
]
.pull-right[
.code70[
```r
okc_tr_res %>% pull(new_pred) %>% class()
```
```
## [1] "class_pred" "vctrs_vctr"
```
```r
okc_tr_res %>% pull(new_pred) %>% levels()
```
```
## [1] "stem" "other"
```
```r
okc_tr_res %>% slice(1:6) %>% pull(new_pred) %>% as.factor()
```
```
## [1] <NA> other other other other stem
## Levels: stem other
```
]
]
---
# Performance Metrics with Equivocals
.pull-left[
Equivocals are not included when performance is calculated (e.g. accuracy) and the _reportable rate_ should also be inlcuded.
.code70[
```r
okc_tr_res %>% slice(1:5) %>% pull(new_pred)
```
```
## [1] [EQ] other other other other
## Levels: stem other
## Reportable: 80.0%
```
```r
okc_tr_res %>%
summarise(reportable = reportable_rate(new_pred))
```
```
## # A tibble: 1 x 1
## reportable
## <dbl>
## 1 0.950
```
]
]
.pull-right[
When converted to a factor, equivocal values are converted to missing.
* The next version of `yardstick` will automatically convert `class_pred` to factor before computing metrics.
.code70[
```r
okc_tr_res %>%
mutate(new_pred = as.factor(new_pred)) %>%
kap(Class, new_pred)
```
```
## # A tibble: 1 x 3
## .metric .estimator .estimate
## <chr> <chr> <dbl>
## 1 kap binary 0.270
```
]
]
---
layout: false
class: inverse, middle, center
# Multiclass Metrics
---
# Multiclass Metrics With yardstick <img src="images/yardstick.png" class="title-hex">
Multiclass? This just means your outcome has >2 possibilities (Religion: Catholic, Atheist, Buddhist, etc).
.pull-left[
Consider binary `precision()`:
$$
Pr = \frac{TP}{TP + FP}
$$
```
## # A tibble: 5 x 2
## truth estimate
## <fct> <fct>
## 1 ✅ ✅
## 2 😡 😡
## 3 ✅ ✅
## 4 😡 ✅
## 5 😡 😡
```
]
.pull-right[
`$$TP = 2$$`
`$$FP = 1$$`
`$$Pr = \frac{2}{2 + 1} = \frac{2}{3}$$`
```r
precision(prec_example, truth, estimate)
```
```
## # A tibble: 1 x 3
## .metric .estimator .estimate
## <chr> <chr> <dbl>
## 1 precision binary 0.667
```
]
---
# Macro Averaging <img src="images/yardstick.png" class="title-hex">
What does this look like in multiclass world?
.pull-left[
```
## # A tibble: 5 x 2
## truth estimate
## <fct> <fct>
## 1 ✅ ✅
## 2 🤷 😡
## 3 ✅ ✅
## 4 😡 🤷
## 5 😡 😡
```
One technique for dealing with this is _macro averaging_. This reduces the problem to multiple one-vs-all comparisons.
]
--
.pull-right[
1) Convert `truth`/`estimate` to binary with levels: ✅ and `other`.
2) Compute `precision()` to get `Pr_1`.
3) Repeat 1) and 2) for each level to get `Pr_1`, `Pr_2`, `Pr_3`.
4) Average the results:
$$
Pr_{macro} = \frac{Pr_1 + Pr_2 + Pr_3}{3}
$$
]
---
# Macro Averaging <img src="images/yardstick.png" class="title-hex">
.pull-left[
```r
prec_multi
```
```
## # A tibble: 5 x 2
## truth estimate
## <fct> <fct>
## 1 ✅ ✅
## 2 🤷 😡
## 3 ✅ ✅
## 4 😡 🤷
## 5 😡 😡
```
$$
`\begin{align}
Pr_1 &= \frac{2}{2 + 0} = 1\\
Pr_2 &= \frac{1}{1 + 1} = 0.5\\
Pr_3 &= \frac{0}{0 + 1} = 0
\end{align}`
$$
]
.pull-right[
`$$Pr_{macro} = \frac{1 + 0.5 + 0}{3} = 0.5$$`
```r
precision(prec_multi, truth, estimate)
```
```
## # A tibble: 1 x 3
## .metric .estimator .estimate
## <chr> <chr> <dbl>
## 1 precision macro 0.5
```
]
???
yardstick automatically detects that you have a multiclass outcome.
---
# Caveats <img src="images/yardstick.png" class="title-hex">
Macro averaging gives each class _equal weight_ to the total precision value (`1/3` here). This may not be realistic when a class imbalance is present.
In that case, you can use a _weighted macro average_ which weights by the frequency of that class in the `truth` column.
```r
precision(prec_multi, truth, estimate, estimator = "macro_weighted")
```
```
## # A tibble: 1 x 3
## .metric .estimator .estimate
## <chr> <chr> <dbl>
## 1 precision macro_weighted 0.6
```
--
There is additionally a _micro average_ that gives each _observation_ equal weight rather than each _class_. This gives classes with more observations more influence.
Find more information at the [yardstick vignette](https://tidymodels.github.io/yardstick/articles/multiclass.html).
---
layout: false
class: inverse, middle, center
# tidypredict
---
# Converting Prediction Equations to SQL
`tidypredict` can convert some R model objects into SQL code that can be used for deployment.
The current set of models are: `lm()`, `glm()`, `randomForest()`, and `ranger()`.
There is work underway for `earth()`, `cubist()`, and tree-based models via `as.party()`.
There are currently some restrictions: no-line functions, non-treatment contrasts, and a [few others](https://tidypredict.netlify.com/articles/lm/#highlights-limitations).
Linear model prediction intervals can be computed though!
---
# An Example
.pull-left[
```r
library(tidymodels)
library(AmesHousing)
library(tidypredict)
ames <- make_ames() %>%
dplyr::select(-matches("Qu")) %>%
# Manually log the variables :-(
mutate(
Sale_Price = log10(Sale_Price),
Lot_Area = log10(Lot_Area),
Gr_Liv_Area = log10(Gr_Liv_Area)
)
set.seed(4595)
data_split <-
initial_split(ames, strata = "Sale_Price")
ames_train <- training(data_split)
ames_test <- testing(data_split)
```
]
.pull-right[
```r
ames_mod <-
lm(Sale_Price ~ Bldg_Type + Neighborhood +
Year_Built + Gr_Liv_Area +
Full_Bath + Lot_Area +
Central_Air*Year_Sold,
data = ames_train)
acceptable_formula(ames_mod) # Silence is golden here
ames_sql <- tidypredict_fit(ames_mod)
# Check against `lm()`:
tidypredict_test(ames_mod, ames_test)
```
```
## tidypredict test results
## Difference threshold: 1e-12
##
## All results are within the difference threshold
```
]
]
---
# Scoring
A taste of the model equation as an R expression:
```
## 18.5002644076146 + (ifelse(Bldg_Type == "TwoFmCon", 1, 0)) *
## (-0.0164418404830365) + (ifelse(Bldg_Type == "Duplex", 1,
## 0)) * (-0.0790188658258443) + (ifelse(Bldg_Type == "Twnhs",
## 1, 0)) * (-0.0476581323558805) + (ifelse(Bldg_Type == "TwnhsE",
## 1, 0)) * (-0.00400678175266399) + (ifelse(Neighborhood ==
```
or SQL:
```r
tidypredict_sql(ames_mod, dbplyr::simulate_mssql()) %>% substr(1, 85)
```
```
## [1] "18.5002644076146 + (CASE WHEN ((`Bldg_Type` = 'TwoFmCon') = 'TRUE') THEN (1.0) WHEN ..."
```
One cool thing about this is that these expressions do not require all of the predictors when the model includes feature selection (_a la_ MARS or CART).
</textarea>
<script src="https://remarkjs.com/downloads/remark-latest.min.js"></script>
<script>var slideshow = remark.create({
"ratio": "16:9",
"highlightLanguage": "R",
"countIncrementalSlides": false
});
if (window.HTMLWidgets) slideshow.on('afterShowSlide', function (slide) {
window.dispatchEvent(new Event('resize'));
});
(function() {
var d = document, s = d.createElement("style"), r = d.querySelector(".remark-slide-scaler");
if (!r) return;
s.type = "text/css"; s.innerHTML = "@page {size: " + r.style.width + " " + r.style.height +"; }";
d.head.appendChild(s);
})();</script>
<script>
(function() {
var i, text, code, codes = document.getElementsByTagName('code');
for (i = 0; i < codes.length;) {
code = codes[i];
if (code.parentNode.tagName !== 'PRE' && code.childElementCount === 0) {
text = code.textContent;
if (/^\\\((.|\s)+\\\)$/.test(text) || /^\\\[(.|\s)+\\\]$/.test(text) ||
/^\$\$(.|\s)+\$\$$/.test(text) ||
/^\\begin\{([^}]+)\}(.|\s)+\\end\{[^}]+\}$/.test(text)) {
code.outerHTML = code.innerHTML; // remove <code></code>
continue;
}
}
i++;
}
})();
</script>
<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
(function () {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-MML-AM_CHTML';
if (location.protocol !== 'file:' && /^https?:/.test(script.src))
script.src = script.src.replace(/^https?:/, '');
document.getElementsByTagName('head')[0].appendChild(script);
})();
</script>
</body>
</html>
================================================
FILE: Materials/Materials.Rproj
================================================
Version: 1.0
RestoreWorkspace: Default
SaveWorkspace: Default
AlwaysSaveHistory: Default
EnableCodeIndexing: Yes
UseSpacesForTab: Yes
NumSpacesForTab: 2
Encoding: UTF-8
RnwWeave: knitr
LaTeX: pdfLaTeX
================================================
FILE: Materials/Part_1_Getting_Started.R
================================================
# Slides for Applied Machine Learning workshop at 2019 RStudio ---
# Conference -----------------------------------------------------
# Part_1_Getting_Started.R
# Slide 7 --------------------------------------------------------
library(tidymodels)
# Slide 12 -------------------------------------------------------
## contains("Sepal")
##
## # instead of
##
## c("Sepal.Width", "Sepal.Length")
## merged <- inner_join(a, b)
##
## # is equal to
##
## merged <- a %>%
## inner_join(b)
# Slide 13 -------------------------------------------------------
library(tidyverse)
ames_prices <- "http://bit.ly/2whgsQM" %>%
read_delim(delim = "\t") %>%
rename_at(vars(contains(' ')), funs(gsub(' ', '_', .))) %>%
rename(Sale_Price = SalePrice) %>%
filter(!is.na(Electrical)) %>%
select(-Order, -PID, -Garage_Yr_Blt)
ames_prices %>%
group_by(Alley) %>%
summarize(
mean_price = mean(Sale_Price / 1000),
n = sum(!is.na(Sale_Price))
)
# Slide 14 -------------------------------------------------------
library(ggplot2)
ggplot(ames_prices,
aes(x = Garage_Type,
y = Sale_Price)) +
geom_violin() +
coord_trans(y = "log10") +
xlab("Garage Type") +
ylab("Sale Price")
# Slide 15 -------------------------------------------------------
library(purrr)
mini_ames <- ames_prices %>%
select(Alley, Sale_Price, Yr_Sold) %>%
filter(!is.na(Alley))
head(mini_ames, n = 5)
by_alley <- split(mini_ames, mini_ames$Alley)
map(by_alley, head, n = 2)
# Slide 16 -------------------------------------------------------
map(by_alley, nrow)
map_int(by_alley, nrow)
map(
by_alley,
~summarise(.x, max_price = max(Sale_Price))
)
# Slide 17 -------------------------------------------------------
ames_lst_col <- nest(mini_ames, -Alley)
ames_lst_col
ames_lst_col %>%
mutate(
n_row = map_int(data, nrow),
max = map_dbl(data, ~max(.x$Sale_Price))
)
# Slide 18 -------------------------------------------------------
ames_lst_col
unnest(ames_lst_col, data)
# Slide 19 -------------------------------------------------------
mtcars %>% select(mpg, wt, hp) %>% slice(1:2)
# Slide 20 -------------------------------------------------------
cols <- c("mpg", "wt", "hp")
mtcars %>% select(!!!cols) %>% names()
value <- 5
mtcars %>% select(!!!cols) %>% mutate(x = !!value) %>% slice(1:2)
# Slide 21 -------------------------------------------------------
library(AmesHousing)
ames <- make_ames()
================================================
FILE: Materials/Part_1_Getting_Started.html
================================================
<!DOCTYPE html>
<html>
<head>
<title>Applied Machine Learning - Getting Started</title>
<meta charset="utf-8">
<meta name="author" content="Max Kuhn (RStudio)" />
<script src="libs/htmlwidgets-1.2/htmlwidgets.js"></script>
<script src="libs/jquery-1.12.4/jquery.min.js"></script>
<link href="libs/leaflet-1.3.1/leaflet.css" rel="stylesheet" />
<script src="libs/leaflet-1.3.1/leaflet.js"></script>
<link href="libs/leafletfix-1.0.0/leafletfix.css" rel="stylesheet" />
<script src="libs/Proj4Leaflet-1.0.1/proj4-compressed.js"></script>
<script src="libs/Proj4Leaflet-1.0.1/proj4leaflet.js"></script>
<link href="libs/rstudio_leaflet-1.3.1/rstudio_leaflet.css" rel="stylesheet" />
<script src="libs/leaflet-binding-2.0.1/leaflet.js"></script>
<script src="libs/leaflet-providers-1.1.17/leaflet-providers.js"></script>
<script src="libs/leaflet-providers-plugin-2.0.1/leaflet-providers-plugin.js"></script>
<link rel="stylesheet" href="mtheme_max.css" type="text/css" />
<link rel="stylesheet" href="fonts_mtheme_max.css" type="text/css" />
</head>
<body>
<textarea id="source">
class: center, middle, inverse, title-slide
# Applied Machine Learning - Getting Started
### Max Kuhn (RStudio)
---
# Course Overview
> The session will step through the process of building, visualizing, testing and comparing models that are focused on prediction. The goal of the course is to provide a thorough workflow in R that can be used with many different regression or classification techniques. Case studies are used to illustrate functionality.
> _Basic familiarity with R is required._
The *goal* is for you to be able to easily build predictive/machine learning models in R using a variety of packages and model types.
* "Models that are focused on prediction"... what does that mean?
* "Machine Learning"... so this is deep learning with massive data sets, right?
The course is broken up into sections for _regression_ (predicting a numeric outcome) and _classification_ (predicting a category).
---
# Why R for Modeling?
.pull-left[
* _R has cutting edge models_.
Machine learning developers in some domains use R as their primary computing environment and their work often results in R packages.
* _It is easy to port or link to other applications_.
R doesn't try to be everything to everyone. If you prefer models implemented in C, C++, `tensorflow`, `keras`, `python`, `stan`, or `Weka`, you can access these applications without leaving R.
]
.pull-right[
* _R and R packages are built by people who **do** data analysis_.
* _The S language is very mature_.
* The machine learning environment in R is extremely rich.
]
---
# Downsides to Modeling in R
.pull-left[
* R is a data analysis language and is not C or Java. If a high performance deployment is required, R can be treated like a prototyping language.
* R is mostly memory-bound. There are plenty of exceptions to this though.
]
.pull-right[
The main issue is one of _consistency of interface_. For example:
* There are two methods for specifying what terms are in a model<sup>1</sup>. Not all models have both.
* 99% of model functions automatically generate dummy variables.
* Sparse matrices can be used (unless they can't).
]
.footnote[[1] There are now three but the last one is brand new and will be discussed later.]
---
# Syntax for Computing Predicted Class Probabilities
|Function |Package |Code |
|:------------|:------------|:------------------------------------------|
|`lda` |`MASS` |`predict(obj)` |
|`glm` |`stats` |`predict(obj, type = "response")` |
|`gbm` |`gbm` |`predict(obj, type = "response", n.trees)` |
|`mda` |`mda` |`predict(obj, type = "posterior")` |
|`rpart` |`rpart` |`predict(obj, type = "prob")` |
|`Weka` |`RWeka` |`predict(obj, type = "probability")` |
|`logitboost` |`LogitBoost` |`predict(obj, type = "raw", nIter)` |
We'll see a solution for this later in the class.
---
# Different Philosophies Used Here
There are two main philosophies to data analysis code that will be discussed in this workshop:
.pull-left[
The more _traditional approach_ uses high-level syntax and is perhaps the most untidy code that you will encounter.
[`caret`](https://topepo.github.io/caret) is the primary package for untidy predictive modeling:
1. More traditional R coding style.
1. High-level "I'll do that for you" syntax.
1. More comprehensive (for now) and less modular.
1. Contains many optimizations and is easily parallelized.
]
.pull-right[
The _tidy modeling_ approach espouses the tenets of the [tidyverse](http://www.tidyverse.org/):
1. Reuse existing data structures.
1. Compose simple functions with the pipe.
1. Embrace functional programming.
1. Design for humans.
This approach is exemplified by the new set of tidyverse package...
]
---
# `tidymodels` Collection of Packages <img src="images/tidymodels_hex.png" class="title-hex">
```r
library(tidymodels)
```
```
## ── Attaching packages ──────────────────────────────────────────────────────────── tidymodels 0.0.2 ──
```
```
## ✔ broom 0.5.0 ✔ purrr 0.2.5
## ✔ dials 0.0.2 ✔ recipes 0.1.4.9000
## ✔ dplyr 0.7.8 ✔ rsample 0.0.3
## ✔ ggplot2 3.1.0 ✔ tibble 1.4.2
## ✔ infer 0.4.0 ✔ yardstick 0.0.2
## ✔ parsnip 0.0.1
```
```
## ── Conflicts ─────────────────────────────────────────────────────────────── tidymodels_conflicts() ──
## ✖ purrr::discard() masks scales::discard()
## ✖ rsample::fill() masks tidyr::fill()
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ✖ recipes::step() masks stats::step()
## ✖ yardstick::tidy() masks rsample::tidy(), recipes::tidy(), broom::tidy()
```
Plus [`tidypredict`](http://tidypredict.netlify.com/), [`tidyposterior`](https://tidymodels.github.io/tidyposterior/), [`tidytext`](https://github.com/juliasilge/tidytext), and more in development.
---
# Example Data Set - House Prices
For regression problems, we will use the Ames IA housing data. There are 2,930 properties in the data.
The Sale Price was recorded along with 81 predictors, including:
* Location (e.g. neighborhood) and lot information.
* House components (garage, fireplace, pool, porch, etc.).
* General assessments such as overall quality and condition.
* Number of bedrooms, baths, and so on.
More details can be found in [De Cock (2011, Journal of Statistics Education)](http://ww2.amstat.org/publications/jse/v19n3/decock.pdf).
The raw data are at [`http://bit.ly/2whgsQM`](http://bit.ly/2whgsQM) but we will use a processed version found in the [`AmesHousing`](https://github.com/topepo/AmesHousing) package.
---
# Example Data Set - House Prices
<div id="htmlwidget-88153b9aaff3b8afd14e" style="width:100%;height:480px;" class="leaflet html-widget"></div>
<script type="application/json" data-for="htmlwidget-88153b9aaff3b8afd14e">{"x":{"options":{"crs":{"crsClass":"L.CRS.EPSG3857","code":null,"proj4def":null,"projectedBounds":null,"options":{}}},"calls":[{"method":"addProviderTiles","args":["Stamen.Toner",null,null,{"errorTileUrl":"","noWrap":false,"detectRetina":false}]},{"method":"addCircles","args":[[42.054035,42.053014,42.052659,42.051245,42.055147,42.054592,42.055227,42.053395,42.056375,42.055318,42.046574,42.043363,42.039085,42.038971,42.040326,42.041146,42.040391,42.0418387,42.039211,42.039211,42.038538,42.035943,42.036095,42.037424,42.048494,42.0459375,42.049514,42.047447,42.044895,42.043984,42.042908,42.0430839,42.044847,42.043969,42.044052,42.044176,42.044883,42.0435919,42.042308,42.040396,42.04137,42.038515,42.039841,42.038443,42.038521,42.038249,42.0381282,42.035869,42.040085,42.041119,42.035867,42.03594,42.0347571,42.034848,42.034748,42.034851,42.036873,42.037093,42.0530363,42.05139,42.049322,42.056398,42.054626,42.055228,42.055184,42.055154,42.05337,42.053306,42.053307,42.0564419,42.056461,42.0488934,42.048486,42.048796,42.0467129,42.046635,42.043135,42.042241,42.044843,42.044774,42.044926,42.04488,42.040645,42.038492,42.0407264,42.040011,42.039902,42.040888,42.041104,42.039463,42.038596,42.03464,42.036182,42.034741,42.037452,42.035951,42.036178,42.049306,42.048294,42.046827,42.048608,42.048724,42.04806,42.04579,42.044886,42.043966,42.044125,42.043991,42.044083,42.045473,42.044914,42.04297,42.042233,42.043238,42.040931,42.040857,42.0404571,42.039674,42.0385265,42.038356,42.038398,42.037122,42.0372232,42.034918,42.034686,42.036223,42.035829,42.034746,42.0417879,42.04015,42.040295,42.04124,42.038509,42.038349,42.039047,42.040766,42.038811,42.037129,42.035712,42.035787,42.035841,42.037233,42.03602,42.035968,42.03572,42.035706,42.037214,42.0347542,42.034858,42.037049,42.038948,42.038257,42.035287,42.0525525,42.051446,42.049587,42.056306,42.05539,42.055304,42.054328,42.0564348,42.054693,42.04845,42.0458538,42.0471033,42.046584,42.047541,42.048185,42.043845,42.042398,42.044773,42.044773,42.041229,42.04066,42.039235,42.040112,42.0417754,42.0417764,42.041811,42.038323,42.04102,42.0418699,42.041172,42.040296,42.0380577,42.036178,42.036102,42.03713,42.034679,42.048952,42.047782,42.0470858,42.0470799,42.046935,42.046572,42.042373,42.0423032,42.044736,42.043988,42.044791,42.044853,42.044304,42.042187,42.0438199,42.042023,42.042304,42.040479,42.040301,42.040391,42.0404436,42.039531,42.038516,42.039445,42.0372039,42.03471,42.035893,42.040021,42.040142,42.041173,42.038686,42.039987,42.039568,42.03807,42.037125,42.037104,42.035813,42.037162,42.037006,42.037291,42.034811,42.034564,42.034789,42.034686,42.0347301,42.034636,42.034801,42.036973,42.037025,42.035724,42.051297,42.051357,42.049671,42.050443,42.055392,42.055264,42.054603,42.053407,42.054612,42.053547,42.05346,42.053503,42.0562952,42.056395,42.05467,42.054789,42.055319,42.0488205,42.047811,42.048292,42.046504,42.044758,42.043984,42.043929,42.043121,42.042124,42.04227,42.044036,42.042577,42.042485,42.042479,42.044921,42.043609,42.043627,42.039141,42.040143,42.0417369,42.039069,42.0413937,42.0417604,42.04074,42.041245,42.041332,42.039212,42.0392,42.034615,42.0362,42.03465,42.034906,42.034755,42.049216,42.048934,42.046714,42.045809,42.0459325,42.046882,42.044053,42.043143,42.044735,42.043932,42.043946,42.0423095,42.044218,42.045669,42.043952,42.043233,42.0426969,42.042728,42.04302,42.0418697,42.041243,42.040773,42.040451,42.03981,42.039369,42.039482,42.03846,42.03837,42.0384781,42.038545,42.034789,42.035932,42.036077,42.036027,42.039338,42.039983,42.040146,42.038888,42.035733,42.035921,42.037329,42.037203,42.035954,42.035876,42.037106,42.035862,42.036002,42.037084,42.034685,42.034614,42.034564,42.036949,42.035423,42.0346,42.035034,42.053406,42.053327,42.0531078,42.052519,42.050507,42.055131,42.053459,42.05446,42.054385,42.055319,42.048947,42.048946,42.046496,42.045706,42.045728,42.045728,42.045885,42.045878,42.04795,42.04657,42.045685,42.043214,42.044978,42.042114,42.040072,42.038434,42.04102,42.0414084,42.041314,42.040273,42.040143,42.039195,42.038351,42.039202,42.0380632,42.034612,42.036024,42.037463,42.034831,42.035987,42.037247,42.0493,42.049031,42.04665,42.048528,42.0422973,42.042156,42.043129,42.044735,42.043897,42.04498,42.044975,42.044254,42.042105,42.043626,42.0427,42.042905,42.041821,42.040745,42.040252,42.039447,42.038357,42.039387,42.038602,42.0383475,42.038836,42.040276,42.039351,42.034617,42.037097,42.040944,42.040811,42.040105,42.040081,42.040297,42.040148,42.0385,42.038497,42.038297,42.041874,42.0416529,42.040768,42.03902,42.036098,42.035782,42.035996,42.036099,42.036053,42.034805,42.03471,42.034662,42.034829,42.034757,42.034708,42.036792,42.03548,42.034618,42.034753,42.0345614],[-93.619754,-93.619756,-93.6193873,-93.61732,-93.626231,-93.626537,-93.628806,-93.627112,-93.622769,-93.624373,-93.626137,-93.623383,-93.626939,-93.627536,-93.626785,-93.627809,-93.625728,-93.622904,-93.622864,-93.620651,-93.620504,-93.62475,-93.624601,-93.621431,-93.618221,-93.6184183,-93.614307,-93.614244,-93.617693,-93.617553,-93.617117,-93.6177041,-93.618626,-93.616582,-93.614882,-93.613301,-93.61513,-93.614241,-93.613624,-93.615622,-93.617092,-93.61722,-93.618428,-93.615475,-93.611642,-93.618788,-93.6192014,-93.620341,-93.607275,-93.606905,-93.61061,-93.605969,-93.609218,-93.607801,-93.605943,-93.606742,-93.604835,-93.603705,-93.6188955,-93.619562,-93.615524,-93.625856,-93.626554,-93.628707,-93.626603,-93.62655,-93.627037,-93.625657,-93.625542,-93.6234986,-93.6223289,-93.6256036,-93.626521,-93.628903,-93.627047,-93.624612,-93.622991,-93.622465,-93.623485,-93.622635,-93.622476,-93.623411,-93.629415,-93.628658,-93.6273127,-93.627836,-93.627985,-93.626979,-93.624581,-93.622685,-93.621699,-93.625633,-93.62568,-93.623705,-93.624612,-93.622644,-93.622494,-93.619673,-93.617963,-93.615686,-93.615602,-93.615558,-93.614619,-93.614216,-93.619029,-93.618784,-93.61864,-93.61488,-93.616434,-93.614751,-93.614059,-93.614768,-93.61588,-93.614543,-93.620016,-93.618478,-93.6165473,-93.618549,-93.6190376,-93.617219,-93.6124,-93.617207,-93.6167912,-93.618605,-93.618607,-93.620336,-93.61719,-93.617182,-93.610355,-93.607655,-93.610588,-93.610649,-93.608196,-93.608927,-93.609226,-93.606573,-93.60552,-93.609059,-93.608977,-93.61061,-93.608903,-93.60891,-93.606891,-93.606889,-93.607814,-93.605968,-93.606786,-93.609945,-93.610605,-93.604987,-93.604047,-93.603879,-93.603701,-93.6188286,-93.6163289,-93.617424,-93.626544,-93.627875,-93.626511,-93.630208,-93.624265,-93.624873,-93.62649,-93.6264356,-93.6261431,-93.624762,-93.62462,-93.624632,-93.624499,-93.621336,-93.622673,-93.622662,-93.629259,-93.629555,-93.6277409,-93.629884,-93.6277098,-93.6267969,-93.626171,-93.626762,-93.623267,-93.6219226,-93.621566,-93.622076,-93.6285065,-93.622644,-93.622644,-93.623556,-93.620487,-93.6167,-93.616552,-93.6178602,-93.6169916,-93.615685,-93.615614,-93.617179,-93.6193303,-93.619022,-93.618634,-93.617544,-93.617543,-93.613222,-93.614856,-93.613077,-93.612394,-93.613383,-93.617238,-93.617084,-93.617086,-93.6194043,-93.615621,-93.61707,-93.612264,-93.6165173,-93.618457,-93.61076,-93.607422,-93.610663,-93.605189,-93.605659,-93.607174,-93.604106,-93.608219,-93.607957,-93.608909,-93.60688,-93.605971,-93.60597,-93.606788,-93.610604,-93.607948,-93.608765,-93.608903,-93.6071073,-93.607799,-93.607801,-93.604986,-93.604837,-93.603702,-93.618504,-93.618503,-93.617273,-93.61728,-93.627736,-93.626331,-93.626565,-93.629118,-93.626722,-93.627112,-93.628047,-93.62805,-93.6247461,-93.621646,-93.624798,-93.624798,-93.624431,-93.6257971,-93.62919,-93.626518,-93.625898,-93.624758,-93.624592,-93.624541,-93.624745,-93.623636,-93.624606,-93.623104,-93.621352,-93.621344,-93.62232,-93.622834,-93.621452,-93.62144,-93.626945,-93.630023,-93.6279875,-93.626864,-93.6276375,-93.6249615,-93.624484,-93.62326,-93.621368,-93.622804,-93.621503,-93.625632,-93.623704,-93.621485,-93.620497,-93.620491,-93.619383,-93.61706,-93.615687,-93.616099,-93.618143,-93.615535,-93.618786,-93.618404,-93.619352,-93.617521,-93.615281,-93.6168658,-93.613046,-93.611697,-93.612347,-93.613457,-93.613983,-93.610875,-93.612301,-93.6192677,-93.617242,-93.61848,-93.615622,-93.618428,-93.617075,-93.612414,-93.612401,-93.61245,-93.612075,-93.612252,-93.618606,-93.617191,-93.618445,-93.615616,-93.607117,-93.609148,-93.610561,-93.605388,-93.610609,-93.610611,-93.610623,-93.607957,-93.607963,-93.607963,-93.606932,-93.605968,-93.60674,-93.606782,-93.605942,-93.606746,-93.606746,-93.604836,-93.603701,-93.603703,-93.604562,-93.618462,-93.618182,-93.6192621,-93.616439,-93.617432,-93.62626,-93.625373,-93.627981,-93.627849,-93.624411,-93.628857,-93.62895,-93.627935,-93.625976,-93.626097,-93.626161,-93.627517,-93.628069,-93.6269,-93.626345,-93.624612,-93.623414,-93.623564,-93.622312,-93.630156,-93.626765,-93.627065,-93.6282949,-93.621621,-93.621362,-93.622017,-93.62357,-93.622649,-93.621399,-93.6270261,-93.624738,-93.623704,-93.622645,-93.620494,-93.621426,-93.62143,-93.619673,-93.616852,-93.616012,-93.615629,-93.6181153,-93.620355,-93.618389,-93.619334,-93.617499,-93.618625,-93.612886,-93.612566,-93.615882,-93.613296,-93.614251,-93.612462,-93.618319,-93.618481,-93.618593,-93.617225,-93.617069,-93.612464,-93.613491,-93.6136767,-93.615474,-93.61547,-93.612263,-93.617182,-93.610772,-93.608909,-93.608984,-93.607582,-93.60942,-93.610278,-93.610501,-93.607257,-93.608422,-93.609073,-93.606508,-93.605384,-93.60674,-93.605727,-93.609054,-93.610503,-93.608903,-93.608904,-93.606743,-93.609053,-93.609053,-93.609053,-93.606892,-93.606893,-93.606744,-93.603704,-93.605839,-93.604687,-93.604568,-93.6050674],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#0000FF","weight":5,"opacity":0.25,"fill":true,"fillColor":"#0000FF","fillOpacity":0.2},"North_Ames",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.025747,42.024614,42.024604,42.024604,42.021321,42.018411,42.01867,42.022186,42.022045,42.021395,42.021133,42.018662,42.019069,42.016121,42.018721,42.017749,42.016275,42.016253,42.01404,42.014092,42.014023,42.026626,42.026482,42.026414,42.026372,42.025707,42.025293,42.025577,42.024628,42.024596,42.024613,42.024765,42.024327,42.024399,42.02322,42.021171,42.021176,42.021207,42.020817,42.019784,42.018996,42.0197228,42.018597,42.017569,42.016903,42.018667,42.016862,42.016399,42.01571,42.016551,42.01613,42.015713,42.021384,42.020087,42.019184,42.019697,42.019548,42.019691,42.020666,42.020991,42.021788,42.020843,42.017109,42.018722,42.018847,42.01877,42.018703,42.016973,42.016978,42.0181479,42.018875,42.018866,42.018006,42.017856,42.017856,42.016819,42.016797,42.016274,42.016271,42.016468,42.013957,42.014054,42.013512,42.013392,42.025411,42.025275,42.027368,42.027193,42.021173,42.01915,42.019153,42.018501,42.018786,42.017423,42.017517,42.017914,42.017766,42.016276,42.015974,42.01626,42.015949,42.022136,42.021234,42.018839,42.019769,42.020694,42.02107,42.021275,42.020796,42.020991,42.018735,42.018412,42.018354,42.018709,42.017598,42.018006,42.01727,42.017484,42.018186,42.016975,42.016207,42.016341,42.014435,42.016709,42.017866,42.016277,42.016254,42.017854,42.016262,42.014549,42.013952,42.013912,42.013641,42.013622,42.013603,42.015975,42.015368,42.0138316,42.015927,42.015927,42.016121,42.016122,42.02667,42.026642,42.025666,42.025707,42.025594,42.025264,42.025281,42.025558,42.024598,42.024594,42.024633,42.024614,42.025726,42.025156,42.024635,42.024485,42.023226,42.022228,42.021324,42.02121,42.020966,42.020912,42.019032,42.019083,42.019028,42.018378,42.017907,42.017826,42.016896,42.016829,42.016297,42.016214,42.021992,42.021386,42.0218643,42.022239,42.01972,42.021163,42.021056,42.021025,42.020861,42.021737,42.018518,42.018424,42.018849,42.016973,42.016961,42.016212,42.0172,42.018564,42.018864,42.0185298,42.018017,42.017856,42.016277,42.017753,42.015974,42.014038,42.014039,42.014823,42.013576,42.013544,42.01343,42.013467,42.01469,42.024601,42.024635,42.024555,42.024615,42.025687,42.025218,42.025194,42.02437,42.024481,42.023306,42.024376,42.023308,42.023138,42.022227,42.022077,42.021209,42.0209,42.019047,42.018043,42.018123,42.017631,42.0168729,42.017929,42.01686,42.016217,42.016913,42.021388,42.020145,42.02007,42.019697,42.021811,42.021889,42.020998,42.01834,42.018664,42.017854,42.017055,42.018188,42.014494,42.016979,42.016904,42.01869,42.017856,42.017867,42.017858,42.017186,42.016275,42.016252,42.016618,42.015914,42.016092,42.014636,42.014109,42.015793,42.016004,42.01397,42.013991,42.015765,42.013519,42.014593],[-93.69019,-93.691269,-93.69245,-93.692521,-93.69188,-93.690542,-93.688258,-93.68773,-93.687807,-93.687745,-93.683727,-93.687859,-93.685523,-93.687764,-93.680864,-93.682686,-93.681227,-93.6837,-93.687922,-93.684015,-93.685961,-93.687067,-93.688859,-93.688993,-93.689091,-93.690266,-93.690971,-93.690364,-93.689072,-93.689071,-93.691433,-93.69157,-93.690111,-93.689066,-93.689081,-93.691883,-93.692135,-93.688372,-93.690401,-93.691355,-93.691585,-93.6928668,-93.690548,-93.690324,-93.691667,-93.688383,-93.689431,-93.691175,-93.689438,-93.689942,-93.691672,-93.688628,-93.686916,-93.687212,-93.687219,-93.685068,-93.684887,-93.684954,-93.683157,-93.683159,-93.68317,-93.68351,-93.687819,-93.686218,-93.68269,-93.682623,-93.682983,-93.686744,-93.685673,-93.67915,-93.680706,-93.681109,-93.681343,-93.681411,-93.680782,-93.68218,-93.68167,-93.681297,-93.681439,-93.684115,-93.685333,-93.686051,-93.684536,-93.6843,-93.691284,-93.691095,-93.68698,-93.686789,-93.692009,-93.691213,-93.691612,-93.690719,-93.689772,-93.690276,-93.690113,-93.688995,-93.689019,-93.691706,-93.689101,-93.688958,-93.68895,-93.685742,-93.686888,-93.687518,-93.685158,-93.685865,-93.6844,-93.684289,-93.683158,-93.683309,-93.68786,-93.687704,-93.686189,-93.684227,-93.684396,-93.682718,-93.685572,-93.685569,-93.68522,-93.686644,-93.686982,-93.688193,-93.687674,-93.683856,-93.67994,-93.681121,-93.68369,-93.679505,-93.68031,-93.687825,-93.686931,-93.685207,-93.684451,-93.684397,-93.684343,-93.683435,-93.683435,-93.6838447,-93.683127,-93.682991,-93.681436,-93.681401,-93.686828,-93.686941,-93.690342,-93.69067,-93.691248,-93.691213,-93.691015,-93.690234,-93.689071,-93.689071,-93.69003,-93.69135,-93.688941,-93.688923,-93.689884,-93.688917,-93.688931,-93.691971,-93.692069,-93.688862,-93.690402,-93.690545,-93.692286,-93.692696,-93.692415,-93.690633,-93.688952,-93.68892,-93.689344,-93.689518,-93.691469,-93.692052,-93.684962,-93.686678,-93.6874333,-93.687734,-93.684837,-93.684993,-93.683235,-93.684354,-93.683158,-93.683169,-93.687856,-93.686575,-93.682805,-93.686795,-93.687786,-93.68675,-93.683813,-93.679583,-93.681196,-93.6800822,-93.679805,-93.681274,-93.681085,-93.679505,-93.687684,-93.686903,-93.684118,-93.684137,-93.684714,-93.684625,-93.684285,-93.684271,-93.683732,-93.689071,-93.689816,-93.690366,-93.691234,-93.688937,-93.688925,-93.688924,-93.689485,-93.689067,-93.689084,-93.688786,-93.688934,-93.688929,-93.691896,-93.691873,-93.688302,-93.690363,-93.692005,-93.692606,-93.692221,-93.690215,-93.691931,-93.689083,-93.68923,-93.691243,-93.688577,-93.686629,-93.686825,-93.687158,-93.684982,-93.683468,-93.683246,-93.682979,-93.687703,-93.686288,-93.684421,-93.685504,-93.685697,-93.687675,-93.685571,-93.683718,-93.679147,-93.681479,-93.679803,-93.682686,-93.681895,-93.681191,-93.683728,-93.683777,-93.687684,-93.687685,-93.687826,-93.684089,-93.684116,-93.684116,-93.685369,-93.685872,-93.683435,-93.684332,-93.683758],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#FF0000","weight":5,"opacity":0.25,"fill":true,"fillColor":"#FF0000","fillOpacity":0.2},"College_Creek",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.0372097,42.033313,42.032134,42.031363,42.031381,42.0303783,42.033279,42.033644,42.032391,42.03128,42.0303113,42.030383,42.030467,42.030388,42.030331,42.028099,42.029146,42.028145,42.028083,42.03005,42.028164,42.02916,42.028165,42.032302,42.027986,42.028888,42.028875,42.026914,42.026741,42.034754,42.0380659,42.037679,42.037144,42.037328,42.036015,42.036002,42.034668,42.034574,42.0347572,42.0347398,42.035257,42.03528,42.0342224,42.033273,42.0320748,42.0323259,42.032396,42.032202,42.032108,42.0319053,42.031305,42.0304742,42.030327,42.0303538,42.030282,42.0310603,42.033381,42.033579,42.032048,42.032301,42.032227,42.030523,42.030196,42.0296722,42.029007,42.0290352,42.028957,42.029305,42.029001,42.0281106,42.028104,42.0276972,42.028556,42.0282044,42.027062,42.0272,42.027227,42.028948,42.027854,42.027998,42.027039,42.026956,42.025796,42.0260296,42.037302,42.037459,42.035723,42.035938,42.035222,42.0342174,42.034128,42.033379,42.032611,42.0330566,42.032392,42.032419,42.03136,42.030427,42.0304142,42.030418,42.030482,42.032161,42.032272,42.030406,42.0303597,42.033435,42.033571,42.033249,42.032008,42.032094,42.032381,42.0311,42.0304823,42.029028,42.029058,42.02928,42.029253,42.029281,42.028287,42.02793,42.027073,42.027032,42.029084,42.02813,42.0288284,42.0287814,42.028397,42.029209,42.0273991,42.0272517,42.02774,42.026691,42.0272664,42.031467,42.031432,42.02903,42.029038,42.0286305,42.026478,42.0262558,42.0347206,42.034812,42.03725,42.0380982,42.0357,42.035779,42.035854,42.034878,42.034403,42.032254,42.0314733,42.03131,42.031369,42.0311108,42.033405,42.032343,42.033385,42.033489,42.033313,42.032276,42.032357,42.030579,42.0318018,42.030311,42.03013,42.0299846,42.029218,42.029198,42.029223,42.0280396,42.028076,42.028847,42.02819,42.027154,42.0282,42.0277574,42.026089,42.0268089,42.0272605,42.0272703,42.0304477,42.0299664,42.02911,42.02752,42.0275775,42.026723,42.025893,42.0261614,42.034934,42.0347269,42.0378602,42.0371796,42.037001,42.037041,42.0358,42.0367836,42.035857,42.034574,42.035277,42.034761,42.033267,42.0334994,42.033385,42.032144,42.032346,42.03139,42.031506,42.031347,42.03121,42.030396,42.030463,42.031196,42.033623,42.0330459,42.032305,42.030267,42.032064,42.032267,42.031964,42.030368,42.03146,42.031138,42.029142,42.027993,42.029136,42.028951,42.029281,42.027953,42.0281148,42.027953,42.028963,42.029025,42.027992,42.0272703,42.033369,42.032417,42.02686,42.026886,42.02689],[-93.6116762,-93.617014,-93.617135,-93.62024,-93.620241,-93.6179112,-93.614002,-93.615431,-93.615446,-93.608954,-93.6090761,-93.610466,-93.610468,-93.606789,-93.606789,-93.616887,-93.610588,-93.61221,-93.608878,-93.608246,-93.607238,-93.608752,-93.607088,-93.620409,-93.62338,-93.621674,-93.621835,-93.621632,-93.620386,-93.62008,-93.6146206,-93.6144209,-93.61239,-93.612241,-93.614049,-93.615465,-93.614049,-93.613899,-93.6117397,-93.61203,-93.612253,-93.612254,-93.6179738,-93.615583,-93.619013,-93.6195025,-93.62026,-93.615598,-93.615599,-93.6195361,-93.618486,-93.6200683,-93.620216,-93.6176367,-93.615381,-93.6129105,-93.608866,-93.607776,-93.608829,-93.606842,-93.606841,-93.610469,-93.606788,-93.618648,-93.617054,-93.6178679,-93.613887,-93.612245,-93.610588,-93.6130761,-93.610582,-93.6148612,-93.610044,-93.6076506,-93.608704,-93.608707,-93.607058,-93.621525,-93.621504,-93.621506,-93.621635,-93.621633,-93.621862,-93.6217097,-93.615484,-93.615484,-93.612269,-93.612265,-93.612253,-93.6195726,-93.619415,-93.615582,-93.62005,-93.61648,-93.615596,-93.616991,-93.617106,-93.6189373,-93.6195822,-93.6198478,-93.620219,-93.613969,-93.615447,-93.615031,-93.6112887,-93.608867,-93.60887,-93.607771,-93.606764,-93.607713,-93.607724,-93.606802,-93.6077128,-93.61844,-93.620179,-93.620183,-93.618296,-93.618297,-93.617386,-93.616885,-93.616998,-93.616996,-93.612239,-93.613845,-93.6096888,-93.6096482,-93.610008,-93.608752,-93.6075521,-93.6059697,-93.606196,-93.604486,-93.6043548,-93.620392,-93.620391,-93.621676,-93.621065,-93.6208294,-93.623738,-93.621921,-93.6197518,-93.620343,-93.615485,-93.6133009,-93.615536,-93.612418,-93.6139,-93.613899,-93.618969,-93.616988,-93.6190545,-93.62024,-93.617135,-93.6176729,-93.615432,-93.615446,-93.60861,-93.608868,-93.606857,-93.606842,-93.607723,-93.61047,-93.6082631,-93.606789,-93.618662,-93.6190848,-93.617061,-93.618294,-93.616911,-93.6188503,-93.617037,-93.615578,-93.612061,-93.612191,-93.608882,-93.6094532,-93.608678,-93.6047622,-93.6041765,-93.6051157,-93.6209132,-93.6241649,-93.62033,-93.622147,-93.6220032,-93.622793,-93.622025,-93.62188,-93.620354,-93.6168701,-93.6143498,-93.6133726,-93.613965,-93.612239,-93.6139,-93.6116427,-93.612266,-93.614049,-93.612404,-93.613899,-93.618539,-93.6195519,-93.617164,-93.61852,-93.617139,-93.618489,-93.619513,-93.615681,-93.618799,-93.618335,-93.618334,-93.615638,-93.614011,-93.6145858,-93.614615,-93.613905,-93.607862,-93.608833,-93.610354,-93.608938,-93.607744,-93.606803,-93.618293,-93.616886,-93.613889,-93.615361,-93.615365,-93.615337,-93.6127958,-93.613763,-93.608901,-93.610438,-93.609665,-93.606195,-93.620433,-93.620411,-93.622773,-93.621562,-93.622624],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#FFFFFF","weight":5,"opacity":0.25,"fill":true,"fillColor":"#FFFFFF","fillOpacity":0.2},"Old_Town",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.023079,42.028226,42.026533,42.024208,42.025173,42.02526,42.0247497,42.024126,42.025019,42.024162,42.0203585,42.021245,42.021041,42.020635,42.021163,42.020306,42.019849,42.019629,42.020196,42.021793,42.021583,42.017726,42.022089,42.028101,42.028098,42.028049,42.0269586,42.022825,42.022978,42.023229,42.0240278,42.027656,42.027506,42.024483,42.023982,42.023916,42.026133,42.025996,42.026307,42.024993,42.0246851,42.0247212,42.023548,42.022754,42.020123,42.021246,42.021219,42.018988,42.0186549,42.0196717,42.018928,42.017026,42.01896,42.022478,42.019423,42.020321,42.0217997,42.021496,42.019004,42.01822,42.019381,42.018592,42.022092,42.022088,42.022091,42.02393,42.027332,42.027507,42.027555,42.028233,42.028188,42.0280297,42.024025,42.0257161,42.025036,42.0236702,42.0244599,42.022902,42.022769,42.02283,42.01975,42.019937,42.020905,42.021244,42.019997,42.019996,42.02099,42.019861,42.018991,42.018852,42.018912,42.01883,42.017386,42.016804,42.018898,42.020483,42.0202945,42.020394,42.019544,42.020112,42.021582,42.01797,42.017962,42.0198028,42.019959,42.018541,42.017874,42.02224,42.022238,42.022089,42.028048,42.026185,42.023229,42.023021,42.028236,42.024949,42.025001,42.0205201,42.020186,42.0246868,42.023874,42.023945,42.023451,42.022824,42.0210331,42.020703,42.021221,42.021195,42.02103,42.020893,42.019926,42.0196959,42.019902,42.01917,42.018283,42.018873,42.018922,42.0164532,42.016642,42.018973,42.018965,42.020062,42.020783,42.020504,42.022655,42.021436,42.017962,42.01965,42.018943,42.01873,42.019937,42.0277962,42.02653,42.027664,42.026667,42.026614,42.02821,42.028191,42.026458,42.025846,42.025524,42.025102,42.025197,42.026308,42.0247523,42.022824,42.0195855,42.020995,42.020342,42.020592,42.020547,42.021113,42.01899,42.021168,42.018648,42.018961,42.01896,42.018959,42.018813,42.018812,42.01881,42.01881,42.018809,42.02011,42.022676,42.022659,42.022641,42.021432,42.018848,42.017727,42.022089,42.022088,42.021559,42.020871],[-93.671178,-93.662762,-93.66357,-93.667708,-93.66526,-93.666097,-93.6658876,-93.665799,-93.663367,-93.659808,-93.6783313,-93.677482,-93.677553,-93.677545,-93.676372,-93.675268,-93.675175,-93.6663375,-93.66751,-93.664841,-93.660168,-93.661944,-93.656718,-93.658207,-93.658173,-93.657107,-93.6601886,-93.657241,-93.658381,-93.671177,-93.6721573,-93.665996,-93.665994,-93.667776,-93.668212,-93.667209,-93.665271,-93.66527,-93.660147,-93.663366,-93.6641939,-93.66104,-93.661005,-93.659855,-93.678305,-93.677407,-93.676372,-93.672234,-93.6755239,-93.6739723,-93.675248,-93.676608,-93.669952,-93.664779,-93.666315,-93.664685,-93.6644556,-93.659191,-93.664812,-93.6644024,-93.664336,-93.663302,-93.657963,-93.656664,-93.655674,-93.658395,-93.666147,-93.66515,-93.665571,-93.663123,-93.660595,-93.6608625,-93.667534,-93.6650659,-93.66526,-93.6644616,-93.6618779,-93.662924,-93.658528,-93.659949,-93.678303,-93.678304,-93.677551,-93.677407,-93.673447,-93.673571,-93.673137,-93.671443,-93.672408,-93.675294,-93.675173,-93.673251,-93.675582,-93.674898,-93.670627,-93.665043,-93.6649923,-93.6653819,-93.665562,-93.661895,-93.660115,-93.664925,-93.665829,-93.664506,-93.663479,-93.66345,-93.661763,-93.6558,-93.656681,-93.656735,-93.657089,-93.669606,-93.671221,-93.671511,-93.663415,-93.66712,-93.663517,-93.6644275,-93.66468,-93.6643138,-93.658545,-93.66057,-93.659659,-93.658537,-93.6783521,-93.677545,-93.676222,-93.671455,-93.671454,-93.671453,-93.673197,-93.6747048,-93.67525,-93.674327,-93.674307,-93.673253,-93.67318,-93.6762195,-93.676241,-93.670587,-93.665737,-93.664768,-93.663509,-93.664686,-93.661542,-93.660303,-93.665875,-93.664821,-93.66346,-93.663455,-93.663329,-93.6600396,-93.666035,-93.665153,-93.662765,-93.663475,-93.661562,-93.660664,-93.660227,-93.666255,-93.667188,-93.666095,-93.666096,-93.660187,-93.6627359,-93.658506,-93.678267,-93.676369,-93.676361,-93.675297,-93.675548,-93.671454,-93.672379,-93.671304,-93.671612,-93.670025,-93.669977,-93.669927,-93.670063,-93.670039,-93.669985,-93.66996,-93.669924,-93.661951,-93.659182,-93.659222,-93.659222,-93.660119,-93.663458,-93.661995,-93.656753,-93.6567,-93.659043,-93.655631],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#FF00B6","weight":5,"opacity":0.25,"fill":true,"fillColor":"#FF00B6","fillOpacity":0.2},"Edwards",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.049297,42.05306,42.051827,42.051653,42.050084,42.052347,42.051429,42.047452,42.048086,42.048566,42.047899,42.047876,42.047782,42.0471748,42.046145,42.046145,42.046424,42.046114,42.0470316,42.04638,42.048606,42.049106,42.051619,42.0503771,42.049406,42.054282,42.055036,42.054302,42.054152,42.054151,42.053212,42.053258,42.053108,42.051804,42.051797,42.051793,42.051645,42.051648,42.051652,42.050406,42.051717,42.051795,42.052337,42.052346,42.052127,42.05142,42.051378,42.052122,42.051414,42.051247,42.051251,42.050895,42.047627,42.048416,42.048488,42.047338,42.047253,42.047101,42.046144,42.046418,42.047171,42.054236,42.055157,42.055102,42.054415,42.054366,42.054306,42.054319,42.055517,42.054227,42.053183,42.051646,42.05165,42.050307,42.052278,42.052456,42.052275,42.0520487,42.05138,42.052173,42.051224,42.050899,42.047467,42.048089,42.048191,42.047806,42.047571,42.047548,42.047102,42.047103,42.046381,42.046377,42.046372,42.046088,42.046085,42.046961,42.046962,42.046647,42.047171,42.047171,42.047171,42.048726,42.054408,42.055757,42.054318,42.054177,42.054417,42.054354,42.054309,42.054514,42.054154,42.054153,42.054153,42.054157,42.053185,42.053186,42.053227,42.053108,42.053032,42.053067,42.051802,42.051795,42.051655,42.051657,42.050206,42.050301,42.051681,42.052269,42.052119,42.051377,42.052267,42.052146,42.051054,42.047618,42.0474249,42.047406,42.047711,42.047705,42.047699,42.047687,42.047667,42.047104,42.047104,42.046144,42.046145,42.046145,42.046405,42.047171,42.046318,42.046137,42.046135,42.046411,42.048488,42.051077,42.055056,42.054318,42.054176,42.054175,42.053183,42.053033,42.0518,42.052265,42.052272,42.052346,42.051355,42.051426,42.051382,42.051245,42.051225,42.051224,42.047592,42.04768,42.047665,42.047642,42.047618,42.047595,42.046145,42.046431,42.046127,42.046107,42.046429,42.046416],[-93.639366,-93.642368,-93.649976,-93.650318,-93.647105,-93.642773,-93.642224,-93.647988,-93.64614,-93.645599,-93.644889,-93.644889,-93.64489,-93.6468879,-93.645606,-93.645585,-93.645482,-93.645478,-93.641253,-93.643556,-93.639516,-93.639516,-93.639511,-93.6392308,-93.639366,-93.644121,-93.64247,-93.642553,-93.643944,-93.642579,-93.64236,-93.641251,-93.641296,-93.650321,-93.6504,-93.65044,-93.650417,-93.650377,-93.650338,-93.648275,-93.648809,-93.648778,-93.643001,-93.64287,-93.643842,-93.642474,-93.643752,-93.640847,-93.641746,-93.643131,-93.641501,-93.639832,-93.647765,-93.646316,-93.646338,-93.647039,-93.646916,-93.644205,-93.64566,-93.645482,-93.641799,-93.644107,-93.644145,-93.642334,-93.642108,-93.642092,-93.642376,-93.643976,-93.64403,-93.644024,-93.643788,-93.650397,-93.650358,-93.648255,-93.643836,-93.64119,-93.640924,-93.6430423,-93.643692,-93.641651,-93.644018,-93.639662,-93.647488,-93.646063,-93.646113,-93.64489,-93.644891,-93.644891,-93.644172,-93.644118,-93.646984,-93.646986,-93.646989,-93.647047,-93.647044,-93.643746,-93.643729,-93.643378,-93.641785,-93.64177,-93.641742,-93.6392251,-93.644118,-93.643769,-93.642069,-93.64176,-93.642261,-93.642243,-93.642234,-93.64396,-93.644086,-93.643836,-93.64248,-93.642344,-93.643544,-93.643449,-93.642197,-93.641251,-93.643748,-93.642275,-93.650341,-93.65042,-93.650299,-93.650279,-93.647584,-93.647933,-93.648742,-93.643974,-93.64397,-93.643792,-93.642046,-93.641233,-93.639574,-93.647974,-93.64733,-93.647166,-93.646653,-93.646637,-93.646607,-93.646576,-93.646478,-93.644107,-93.644096,-93.645671,-93.645639,-93.645595,-93.645482,-93.641813,-93.642182,-93.639931,-93.639878,-93.643456,-93.639515,-93.639516,-93.642317,-93.642082,-93.64178,-93.641793,-93.643635,-93.643811,-93.650361,-93.64407,-93.643898,-93.642862,-93.642309,-93.642374,-93.64357,-93.643173,-93.643859,-93.643977,-93.647832,-93.646526,-93.644891,-93.644891,-93.644891,-93.644891,-93.645617,-93.645482,-93.645479,-93.645478,-93.643373,-93.64114],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#FF3030","weight":5,"opacity":0.25,"fill":true,"fillColor":"#FF3030","fillOpacity":0.2},"Somerset",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.062352,42.062109,42.0611331,42.0612885,42.060872,42.0608079,42.060879,42.060298,42.059617,42.058388,42.058599,42.057102,42.057164,42.058252,42.057181,42.0623099,42.063304,42.063025,42.061902,42.06128,42.062991,42.062992,42.062994,42.062942,42.062258,42.062257,42.062776,42.062789,42.0623985,42.062108,42.060934,42.060353,42.061382,42.061437,42.060576,42.060575,42.061678,42.060426,42.060178,42.0599123,42.0598989,42.061404,42.059241,42.058782,42.058886,42.0592,42.059177,42.059179,42.059183,42.058339,42.058336,42.057177,42.05851,42.057164,42.057089,42.057019,42.056983,42.057277,42.057467,42.058368,42.062046,42.0632692,42.063129,42.062925,42.062259,42.0624143,42.062432,42.061133,42.06027,42.060427,42.060766,42.060425,42.0599011,42.058484,42.058683,42.058573,42.058649,42.057028,42.058694,42.057164,42.0579589,42.0582,42.056766,42.0570189,42.057446,42.057179,42.0571198,42.057468,42.057094,42.056616,42.058377,42.062574,42.063296,42.063298,42.0632689,42.0632722,42.063141,42.0619544,42.061976,42.0619709,42.061284,42.062259,42.0628153,42.0624082,42.062434,42.061504,42.061131,42.06027,42.060269,42.061133,42.060576,42.060427,42.059561,42.06113,42.059761,42.059677,42.058634,42.058619,42.059211,42.059202,42.059197,42.059194,42.059175,42.059175,42.059176,42.059176,42.05826,42.058276,42.058284,42.056827,42.057124,42.05738,42.0568529,42.057209,42.061472,42.063307,42.061901,42.061284,42.0628074,42.062109,42.061134,42.060342,42.060272,42.060271,42.060425,42.060835,42.060577,42.060866,42.060424,42.060357,42.060377,42.061544,42.061377,42.059636,42.059825,42.058544,42.05869,42.059216,42.059017,42.059184,42.057164,42.058231,42.058238,42.057164,42.057164,42.05758],[-93.653201,-93.654645,-93.6537329,-93.6528306,-93.652713,-93.65332,-93.652336,-93.652307,-93.655051,-93.650436,-93.656067,-93.654853,-93.654121,-93.649447,-93.651013,-93.658877,-93.6562749,-93.652716,-93.657828,-93.657483,-93.654241,-93.654144,-93.653955,-93.652863,-93.654439,-93.654567,-93.658224,-93.657835,-93.657049,-93.654437,-93.658854,-93.656737,-93.653152,-93.652884,-93.654724,-93.65476,-93.652084,-93.654652,-93.652724,-93.6541267,-93.6547754,-93.643771,-93.65604,-93.65486,-93.6545189,-93.65048,-93.649779,-93.649743,-93.649723,-93.650258,-93.650244,-93.655483,-93.6552449,-93.654204,-93.654215,-93.654405,-93.6514849,-93.651014,-93.650238,-93.649649,-93.658873,-93.6573126,-93.652941,-93.652744,-93.654642,-93.6566551,-93.657832,-93.657889,-93.657188,-93.656801,-93.65369,-93.654734,-93.654443,-93.656958,-93.65572,-93.652549,-93.651216,-93.655587,-93.654914,-93.654187,-93.6513669,-93.649744,-93.653868,-93.652769,-93.651845,-93.651163,-93.6514243,-93.649997,-93.650607,-93.65089,-93.649587,-93.6588809,-93.658015,-93.657679,-93.6569765,-93.6566403,-93.654243,-93.6570383,-93.6566568,-93.6562702,-93.657967,-93.654774,-93.6570542,-93.6562861,-93.657444,-93.65331,-93.657524,-93.657211,-93.657235,-93.6554248,-93.654689,-93.654617,-93.650917,-93.657492,-93.656249,-93.6565389,-93.65699,-93.6545189,-93.650597,-93.650499,-93.65045,-93.650406,-93.649838,-93.649828,-93.649808,-93.649798,-93.649397,-93.649319,-93.649291,-93.653414,-93.652565,-93.652054,-93.6514105,-93.650608,-93.658864,-93.658413,-93.658226,-93.657991,-93.6566537,-93.654774,-93.657984,-93.658788,-93.657118,-93.657149,-93.656864,-93.653016,-93.654642,-93.652334,-93.654831,-93.653452,-93.6531488,-93.643412,-93.643862,-93.654997,-93.655461,-93.657883,-93.653084,-93.650626,-93.6534099,-93.649714,-93.654138,-93.649553,-93.649525,-93.654124,-93.65414,-93.650617],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#009FFF","weight":5,"opacity":0.25,"fill":true,"fillColor":"#009FFF","fillOpacity":0.2},"Northridge_Heights",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.060899,42.060779,42.059193,42.05848,42.057419,42.058151,42.057268,42.0603514,42.056673,42.061928,42.061443,42.060977,42.061193,42.060936,42.057103,42.059956,42.063294,42.060896,42.062956,42.060598,42.059283,42.059129,42.059161,42.058274,42.058059,42.059645,42.058194,42.05793,42.058173,42.057854,42.058201,42.058747,42.056796,42.06232,42.063183,42.062058,42.062404,42.061562,42.059377,42.061739,42.061149,42.061114,42.061656,42.061365,42.063283,42.05859,42.059481,42.059068,42.059605,42.057839,42.057834,42.057833,42.057098,42.057093,42.056955,42.058668,42.05996,42.061231,42.060771,42.060822,42.060369,42.060639,42.0623,42.059408,42.059364,42.059411,42.058445,42.05701,42.059792,42.0586718,42.061316,42.059635,42.061544,42.0609759,42.06132,42.061312,42.057986,42.058595,42.0600066,42.059507,42.05695,42.058581,42.061275,42.060466,42.061664,42.061326,42.061242,42.059592,42.058953,42.059562,42.059517,42.059242,42.059293,42.057006,42.05817,42.057533,42.057022,42.060096,42.063388,42.063381,42.062483,42.062279,42.0626729,42.06208,42.062067,42.062533,42.062887,42.062931,42.062974,42.063019,42.063106,42.063342,42.061713,42.061429,42.061483,42.061541,42.061531,42.061318,42.061392,42.060021,42.058858,42.059181,42.057981,42.058401,42.059526,42.057836,42.058897,42.059909,42.061407,42.060425,42.06048,42.060736,42.061879,42.062828,42.06281,42.062802,42.062798,42.062891,42.062956,42.0591,42.058421,42.058201,42.0593867,42.056702,42.063304,42.062442,42.062361,42.061915,42.061928,42.063031,42.062576,42.061984,42.061987,42.060239,42.060293,42.059803,42.061727,42.060836,42.060074,42.05865,42.05853,42.057905,42.057838,42.05696,42.058461],[-93.638933,-93.638925,-93.639068,-93.636947,-93.635951,-93.638647,-93.634626,-93.6235954,-93.622971,-93.644356,-93.644076,-93.641487,-93.642447,-93.641325,-93.641337,-93.639388,-93.639915,-93.6364,-93.635838,-93.637442,-93.63921,-93.639069,-93.639069,-93.636955,-93.637046,-93.637671,-93.635824,-93.635753,-93.636822,-93.636047,-93.639325,-93.634644,-93.623975,-93.645752,-93.64466,-93.644457,-93.645627,-93.642749,-93.643312,-93.644106,-93.641772,-93.641488,-93.642626,-93.640051,-93.640065,-93.642813,-93.642932,-93.641919,-93.644251,-93.641377,-93.641313,-93.641303,-93.641367,-93.641397,-93.641312,-93.640879,-93.639062,-93.637796,-93.638775,-93.638778,-93.637482,-93.636718,-93.636948,-93.639151,-93.639007,-93.637763,-93.636798,-93.637279,-93.622299,-93.6225667,-93.642641,-93.643522,-93.643964,-93.641771,-93.641416,-93.640051,-93.641331,-93.642397,-93.6442698,-93.643632,-93.641342,-93.640959,-93.63988,-93.63736,-93.636146,-93.636972,-93.637189,-93.636345,-93.640613,-93.637865,-93.637883,-93.639068,-93.637848,-93.637299,-93.637917,-93.635833,-93.633329,-93.622874,-93.646937,-93.646429,-93.645875,-93.64573,-93.644788,-93.644415,-93.6443,-93.645732,-93.644377,-93.644376,-93.644375,-93.644374,-93.644447,-93.644366,-93.644256,-93.644064,-93.643062,-93.643961,-93.643954,-93.641781,-93.639977,-93.64021,-93.642288,-93.64334,-93.641279,-93.642836,-93.643641,-93.641323,-93.640658,-93.639067,-93.637871,-93.637482,-93.637566,-93.636378,-93.636373,-93.636052,-93.635967,-93.635935,-93.635837,-93.635798,-93.635932,-93.635716,-93.636949,-93.639293,-93.6220148,-93.625169,-93.646459,-93.645841,-93.645774,-93.644411,-93.644366,-93.644627,-93.645755,-93.644213,-93.644306,-93.64458,-93.642588,-93.6436049,-93.644094,-93.641467,-93.640211,-93.642713,-93.642913,-93.641281,-93.64136,-93.641283,-93.641053],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#DD00FF","weight":5,"opacity":0.25,"fill":true,"fillColor":"#DD00FF","fillOpacity":0.2},"Gilbert",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.036535,42.034793,42.035685,42.034856,42.03457,42.035333,42.034603,42.034561,42.034451,42.033386,42.033387,42.033008,42.03237,42.029867,42.03069,42.029924,42.029731,42.030519,42.031187,42.03136,42.03128,42.03387,42.032164,42.035806,42.034747,42.034615,42.035289,42.03466,42.035331,42.034595,42.034602,42.034581,42.034509,42.032681,42.033376,42.033633,42.032367,42.032388,42.029863,42.031342,42.030628,42.031138,42.033427,42.033277,42.032302,42.032564,42.036039,42.035179,42.034614,42.03569,42.035703,42.03459,42.034532,42.034391,42.034409,42.033423,42.033604,42.033225,42.032365,42.031571,42.031248,42.031123,42.031348,42.03156,42.030552,42.034428,42.034428,42.033454,42.033834,42.034414,42.032495,42.032566,42.03392,42.033692,42.033559,42.029453,42.034678,42.035946,42.035871,42.035857,42.034532,42.034724,42.035675,42.034652,42.034819,42.03466,42.034644,42.034673,42.0349702,42.033524,42.033272,42.032426,42.034453,42.034429,42.033193,42.032385,42.032098,42.031533,42.031203,42.029562,42.031215,42.029679,42.031139,42.029786,42.030591,42.034422,42.032528,42.034421,42.033557,42.032638,42.033726,42.034018,42.032699,42.036051,42.036087,42.036206,42.035302,42.035094,42.034692,42.035696,42.035841,42.035325,42.035536,42.03457,42.03458,42.034663,42.034411,42.034576,42.033296,42.033521,42.033388,42.0333,42.03224,42.032304,42.032383,42.031356,42.030611,42.032216,42.030702,42.031362,42.031347,42.030231,42.030232,42.033285,42.03247,42.032291,42.032307,42.033686,42.032478,42.029453,42.028836],[-93.677205,-93.673669,-93.670956,-93.672096,-93.672067,-93.669688,-93.660672,-93.65921,-93.672036,-93.671021,-93.671076,-93.673401,-93.672381,-93.678141,-93.676659,-93.677992,-93.676654,-93.676674,-93.671511,-93.673565,-93.672523,-93.663619,-93.668378,-93.676364,-93.677008,-93.674051,-93.675716,-93.669554,-93.669538,-93.673518,-93.669707,-93.669845,-93.65921,-93.659205,-93.669839,-93.675401,-93.672288,-93.673382,-93.677991,-93.672651,-93.671849,-93.671369,-93.666432,-93.66636,-93.666813,-93.659279,-93.674093,-93.675743,-93.673965,-93.670997,-93.672503,-93.670551,-93.660522,-93.658159,-93.656979,-93.657958,-93.675551,-93.669806,-93.672241,-93.676873,-93.677717,-93.677945,-93.672718,-93.674179,-93.671905,-93.666954,-93.666912,-93.665521,-93.669465,-93.663727,-93.665355,-93.665356,-93.662134,-93.660673,-93.660521,-93.678125,-93.677007,-93.674475,-93.673987,-93.673889,-93.669559,-93.669552,-93.672318,-93.673518,-93.671941,-93.660522,-93.661983,-93.662134,-93.6574973,-93.655699,-93.675549,-93.675559,-93.672207,-93.669741,-93.674417,-93.67369,-93.677504,-93.676953,-93.677778,-93.678149,-93.675714,-93.677997,-93.677601,-93.676681,-93.672119,-93.668544,-93.664037,-93.662239,-93.660671,-93.660691,-93.661983,-93.661985,-93.659355,-93.674167,-93.675963,-93.677123,-93.675723,-93.677012,-93.669553,-93.671037,-93.672411,-93.670919,-93.670998,-93.669708,-93.669757,-93.671926,-93.657017,-93.65565,-93.65815,-93.67555,-93.671213,-93.675399,-93.674456,-93.674517,-93.675408,-93.675606,-93.676455,-93.672278,-93.674385,-93.673601,-93.672645,-93.670204,-93.670514,-93.665569,-93.665505,-93.66563,-93.667081,-93.669544,-93.66412,-93.678165,-93.676352],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#9A4D42","weight":5,"opacity":0.25,"fill":true,"fillColor":"#9A4D42","fillOpacity":0.2},"Sawyer",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.054453,42.050346,42.05027,42.046322,42.043038,42.043306,42.043306,42.043329,42.043822,42.043821,42.042205,42.053532,42.055408,42.055081,42.055572,42.05184,42.052507,42.052102,42.052719,42.05288,42.052915,42.050345,42.0496539,42.049394,42.053166,42.052355,42.052448,42.05267,42.04891,42.047708,42.048009,42.04896,42.048761,42.04876,42.047652,42.046476,42.046476,42.045806,42.045799,42.043236,42.043842,42.043673,42.044693,42.044821,42.043935,42.043145,42.056015,42.054514,42.054562,42.054439,42.055358,42.054503,42.054455,42.054211,42.055432,42.052544,42.050326,42.051473,42.050679,42.049449,42.04986,42.049609,42.051074,42.047928,42.0492538,42.049141,42.048762,42.046399,42.042943,42.04378,42.0453551,42.044262,42.044058,42.044851,42.043142,42.044101,42.054368,42.053916,42.055545,42.0545,42.054395,42.054941,42.055217,42.054427,42.05622,42.056211,42.052353,42.053271,42.05026,42.049832,42.050075,42.050372,42.049956,42.051039,42.048765,42.046549,42.047758,42.048067,42.04849,42.047615,42.043363,42.043005,42.045483,42.04259,42.04389,42.0421698,42.055607,42.054367,42.0543376,42.054956,42.0562619,42.05327,42.0524029,42.053418,42.050514,42.050176,42.049771,42.052362,42.052522,42.052359,42.04977,42.049608,42.045632,42.048199,42.048997,42.048602,42.046472,42.04806,42.043548,42.044669,42.044308],[-93.636655,-93.633962,-93.636372,-93.633351,-93.636879,-93.637463,-93.637531,-93.637788,-93.631435,-93.632554,-93.625926,-93.637343,-93.636512,-93.635056,-93.632417,-93.637774,-93.63745,-93.638366,-93.634212,-93.637043,-93.633796,-93.637289,-93.634694,-93.635919,-93.632915,-93.632178,-93.630253,-93.631432,-93.631791,-93.635342,-93.634634,-93.634803,-93.631971,-93.631881,-93.631519,-93.633163,-93.631851,-93.632537,-93.632823,-93.637964,-93.637905,-93.632647,-93.631899,-93.630714,-93.627416,-93.625775,-93.6391494,-93.639715,-93.637825,-93.637808,-93.636511,-93.636505,-93.635111,-93.630299,-93.633168,-93.635153,-93.637105,-93.63719,-93.633905,-93.635216,-93.6341769,-93.631129,-93.630231,-93.635095,-93.6343272,-93.634976,-93.631526,-93.631779,-93.6324549,-93.631245,-93.6304229,-93.629079,-93.630152,-93.630732,-93.625925,-93.625799,-93.637875,-93.638853,-93.637876,-93.637816,-93.637158,-93.634665,-93.633973,-93.631528,-93.632669,-93.631795,-93.638554,-93.635411,-93.63724,-93.634714,-93.634581,-93.636497,-93.633898,-93.633757,-93.632191,-93.634545,-93.635094,-93.634528,-93.635899,-93.631554,-93.638051,-93.63687,-93.633748,-93.631673,-93.631302,-93.6299222,-93.638026,-93.637874,-93.6326645,-93.631515,-93.633002,-93.635486,-93.6353259,-93.636044,-93.637387,-93.637191,-93.635367,-93.632369,-93.630348,-93.632355,-93.630289,-93.631162,-93.633752,-93.6346,-93.634738,-93.635873,-93.633466,-93.630258,-93.632472,-93.633098,-93.629155],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#00FFBE","weight":5,"opacity":0.25,"fill":true,"fillColor":"#00FFBE","fillOpacity":0.2},"Northwest_Ames",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.036255,42.036113,42.036026,42.03548,42.036659,42.034589,42.0347,42.036633,42.034555,42.034678,42.0360754,42.03374,42.032076,42.033783,42.03068,42.0311198,42.030601,42.0298532,42.037557,42.037611,42.037661,42.036001,42.036011,42.035282,42.037923,42.038127,42.037756,42.037434,42.036852,42.03607,42.036905,42.036576,42.034533,42.035518,42.037607,42.035968,42.035756,42.0365385,42.035287,42.034183,42.033714,42.0318449,42.03254,42.030625,42.030623,42.030678,42.03252,42.031622,42.031834,42.031623,42.031545,42.0314669,42.0314606,42.0312822,42.03057,42.030531,42.0310946,42.0309301,42.029772,42.037836,42.035271,42.035132,42.037918,42.037806,42.03805,42.036525,42.037258,42.035875,42.035878,42.035878,42.034988,42.036089,42.034535,42.035666,42.036839,42.036501,42.036466,42.031766,42.033912,42.03085,42.031077,42.030621,42.029437,42.030276,42.037586,42.037636,42.037643,42.03722,42.036028,42.035259,42.036038,42.035071,42.036464,42.034569,42.035678,42.0362103,42.034453,42.033662,42.033576,42.031546,42.032467,42.031566,42.030801,42.029694,42.029803,42.037843,42.036149,42.037915,42.037911,42.037827,42.036605,42.03718,42.036849,42.034595,42.03674,42.035555,42.035629,42.03748,42.035795,42.035235,42.032082,42.032493,42.030933,42.0315156,42.029884],[-93.692309,-93.692412,-93.68981,-93.686417,-93.687694,-93.686263,-93.686264,-93.68628,-93.685028,-93.685029,-93.6790694,-93.685001,-93.685988,-93.683167,-93.682026,-93.6801568,-93.68329,-93.6801805,-93.69153,-93.692017,-93.692472,-93.69143,-93.691506,-93.691707,-93.691868,-93.691068,-93.690159,-93.690402,-93.689136,-93.69139,-93.6888,-93.687843,-93.686263,-93.686267,-93.687804,-93.685037,-93.683957,-93.6790752,-93.680198,-93.684708,-93.685733,-93.685986,-93.68341,-93.681063,-93.682025,-93.682176,-93.679789,-93.679784,-93.6791403,-93.679109,-93.679784,-93.6795273,-93.6790969,-93.6791456,-93.679781,-93.679856,-93.6791251,-93.679181,-93.685125,-93.692497,-93.692431,-93.691695,-93.691836,-93.690761,-93.690364,-93.691246,-93.69124,-93.689769,-93.689024,-93.688981,-93.689801,-93.688803,-93.687819,-93.687831,-93.687847,-93.686428,-93.686278,-93.683223,-93.683302,-93.682029,-93.682032,-93.682175,-93.681199,-93.681136,-93.69179,-93.692245,-93.68912,-93.691244,-93.689026,-93.689767,-93.688804,-93.689449,-93.686428,-93.686413,-93.685185,-93.6791142,-93.693153,-93.684102,-93.684102,-93.68347,-93.683309,-93.683226,-93.681061,-93.685142,-93.684944,-93.692575,-93.691403,-93.691787,-93.691754,-93.690959,-93.691246,-93.691247,-93.689021,-93.68782,-93.687695,-93.686267,-93.686267,-93.68665,-93.681595,-93.681407,-93.685537,-93.683235,-93.68218,-93.6801515,-93.68216],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#1F9698","weight":5,"opacity":0.25,"fill":true,"fillColor":"#1F9698","fillOpacity":0.2},"Sawyer_West",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[41.99706,41.997052,41.996065,41.994784,41.994013,41.99321,41.990934,41.993253,41.991004,41.991558,41.988729,41.9889358,41.98766,41.986647,41.9913,41.989848,41.989185,41.996888,41.996672,41.997119,41.99539,41.997067,41.997069,41.996919,41.995905,41.996066,41.9935397,41.992193,41.993128,41.992122,41.992919,41.9928219,41.991365,41.987535,41.988776,41.988222,41.987659,41.986502,41.986509,41.991493,41.99095,41.99507,41.997124,41.997062,41.997069,41.996919,41.996903,41.995991,41.99338,41.993335,41.990054,41.993059,41.993185,41.993249,41.988675,41.987109,41.988934,41.98811,41.988076,41.987289,41.98658,41.986498,41.991885,41.994357,41.994207,41.994206,41.995218,41.995973,41.995931,41.995512,41.994188,41.990054,41.992318,41.993356,41.993107,41.9927922,41.991211,41.991612,41.991098,41.989581,41.990264,41.989488,41.991144,41.991371,41.989905,41.987606,41.989768,41.98822,41.9881729,41.98651,41.986588,41.996849,41.994357,41.995987,41.996907,41.995702,41.996063,41.99222,41.99329,41.993173,41.99315,41.990054,41.993062,41.991574,41.991708,41.9900428,41.990134,41.9887374,41.987686,41.988964,41.988314,41.98651,41.990921,41.989265],[-93.604947,-93.602823,-93.603972,-93.600797,-93.602002,-93.60743,-93.608372,-93.607622,-93.608223,-93.601449,-93.606856,-93.6035354,-93.6030339,-93.600582,-93.599791,-93.600006,-93.600147,-93.606944,-93.607252,-93.607055,-93.603717,-93.604716,-93.604491,-93.604519,-93.602356,-93.602424,-93.6042638,-93.608359,-93.608196,-93.60821,-93.604218,-93.600636,-93.601127,-93.606688,-93.604928,-93.603867,-93.602777,-93.609453,-93.606925,-93.599866,-93.600191,-93.607342,-93.607121,-93.60489,-93.604549,-93.604548,-93.602912,-93.602429,-93.608267,-93.608343,-93.610145,-93.608197,-93.606374,-93.601444,-93.610109,-93.6051072,-93.604761,-93.603917,-93.603916,-93.603886,-93.608291,-93.603722,-93.600066,-93.606577,-93.606672,-93.607597,-93.607551,-93.606933,-93.602505,-93.60104,-93.601779,-93.610102,-93.610118,-93.608192,-93.605507,-93.6072813,-93.607395,-93.604923,-93.604644,-93.604521,-93.60678,-93.604524,-93.602559,-93.6015199,-93.607114,-93.604858,-93.605119,-93.604146,-93.6030815,-93.606641,-93.604858,-93.599969,-93.606736,-93.603671,-93.603173,-93.601191,-93.603854,-93.610268,-93.608343,-93.608195,-93.608195,-93.607142,-93.604279,-93.601089,-93.600439,-93.6044746,-93.603534,-93.6086884,-93.606842,-93.604776,-93.60268,-93.606847,-93.60019,-93.599996],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#FFACFD","weight":5,"opacity":0.25,"fill":true,"fillColor":"#FFACFD","fillOpacity":0.2},"Mitchell",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.035256,42.035482,42.033642,42.030187,42.033621,42.033563,42.0336,42.033665,42.033631,42.031556,42.031337,42.035489,42.035443,42.033996,42.033558,42.0333765,42.031564,42.031542,42.033406,42.033616,42.03329,42.033347,42.033496,42.033474,42.031395,42.03252,42.03246,42.032359,42.031292,42.032375,42.03235,42.0310861,42.030062,42.026759,42.035582,42.035571,42.034563,42.035741,42.03361,42.0343116,42.03338,42.03047,42.033456,42.033568,42.033699,42.03337,42.033511,42.033321,42.033473,42.033366,42.033493,42.031354,42.031293,42.031493,42.032476,42.031461,42.031496,42.031049,42.030388,42.031057,42.029399,42.028426,42.028274,42.027065,42.029556,42.036575,42.035684,42.036023,42.036223,42.033311,42.034339,42.031846,42.030823,42.033482,42.033612,42.033336,42.032399,42.031433,42.031438,42.03142,42.032505,42.032386,42.031321,42.031483,42.0314873,42.029451,42.026912,42.026998,42.027088,42.035836,42.03537,42.035379,42.035666,42.03405,42.03179,42.030786,42.033306,42.032299,42.031499,42.032396,42.032478,42.031415,42.031436,42.032418,42.0310818,42.030389,42.029526,42.028544],[-93.629287,-93.629313,-93.625737,-93.625825,-93.625586,-93.624566,-93.622597,-93.623523,-93.622448,-93.623483,-93.621482,-93.629499,-93.62919,-93.6289369,-93.628848,-93.6279815,-93.625968,-93.626116,-93.624564,-93.624567,-93.622513,-93.623515,-93.621677,-93.622443,-93.624689,-93.623645,-93.623644,-93.623643,-93.623629,-93.622565,-93.621351,-93.6213592,-93.62726,-93.625362,-93.628205,-93.62936,-93.627578,-93.628236,-93.628806,-93.6267116,-93.625728,-93.625926,-93.624715,-93.625584,-93.625589,-93.623666,-93.624566,-93.623514,-93.621532,-93.621532,-93.622102,-93.624688,-93.624687,-93.623632,-93.622566,-93.622552,-93.621485,-93.624591,-93.624471,-93.6218858,-93.627,-93.625556,-93.625539,-93.625434,-93.625623,-93.629661,-93.629545,-93.628654,-93.628582,-93.6281873,-93.6262716,-93.627605,-93.627487,-93.624715,-93.623521,-93.621501,-93.623643,-93.623631,-93.624539,-93.622551,-93.621504,-93.621502,-93.6224,-93.622402,-93.6212119,-93.62576,-93.625435,-93.625285,-93.625284,-93.628568,-93.629185,-93.629256,-93.628176,-93.628478,-93.626022,-93.627385,-93.625576,-93.623642,-93.62454,-93.624553,-93.624553,-93.623481,-93.621484,-93.622415,-93.6243778,-93.622386,-93.62577,-93.625436],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#720055","weight":5,"opacity":0.25,"fill":true,"fillColor":"#720055","fillOpacity":0.2},"Brookside",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.016226,42.014937,42.014682,42.011005,42.010606,42.010797,42.008687,42.017889,42.016943,42.016957,42.016067,42.0191252,42.019181,42.018707,42.017583,42.017574,42.016684,42.0158534,42.016152,42.014688,42.013169,42.014943,42.013753,42.0125,42.010636,42.01141,42.009134,42.008683,42.01791,42.017834,42.0176853,42.01789,42.0168678,42.019833,42.019617,42.018443,42.018888,42.018766,42.017528,42.016769,42.01601,42.015667,42.014567,42.012638,42.012488,42.009326,42.008803,42.008806,42.0091899,42.01804,42.018039,42.017888,42.017889,42.017103,42.017106,42.0162813,42.016216,42.016217,42.016217,42.016853,42.016067,42.0199537,42.019952,42.018796,42.017572,42.020037,42.018504,42.018941,42.0168895,42.017573,42.016961,42.01629,42.013003,42.0145503,42.01265,42.012488,42.011506,42.011836,42.011343,42.010333,42.010076,42.009401,42.009401,42.01895,42.016941,42.0165794,42.017609,42.01874,42.019059,42.019759,42.017131,42.016827,42.016385,42.017589,42.0157866,42.016124,42.013296,42.013495,42.014936,42.01359,42.011793,42.009398,42.008375],[-93.640041,-93.639781,-93.642793,-93.639678,-93.645014,-93.641677,-93.615993,-93.646655,-93.646881,-93.644704,-93.644636,-93.6428055,-93.6397,-93.642371,-93.64012,-93.640592,-93.644295,-93.6439975,-93.639431,-93.642945,-93.642885,-93.640762,-93.641356,-93.639407,-93.644864,-93.643539,-93.643947,-93.6165709,-93.646438,-93.646438,-93.6447083,-93.646288,-93.6447134,-93.642886,-93.642821,-93.641405,-93.63962,-93.639497,-93.639467,-93.641084,-93.642597,-93.643378,-93.64293,-93.640311,-93.640293,-93.616242,-93.616584,-93.615985,-93.615921,-93.646624,-93.646688,-93.646817,-93.64672,-93.644544,-93.644669,-93.6447083,-93.644511,-93.644698,-93.64476,-93.646289,-93.646416,-93.6435257,-93.643215,-93.64281,-93.641948,-93.644426,-93.641322,-93.642359,-93.6428531,-93.640497,-93.641156,-93.642663,-93.642883,-93.6440062,-93.639393,-93.640326,-93.641849,-93.644923,-93.643548,-93.643429,-93.640182,-93.615697,-93.615618,-93.646438,-93.64644,-93.6447118,-93.644307,-93.644258,-93.642431,-93.64048,-93.643443,-93.641155,-93.642319,-93.641002,-93.6416718,-93.640612,-93.642884,-93.644203,-93.639622,-93.639428,-93.643489,-93.616026,-93.616242],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#F1085C","weight":5,"opacity":0.25,"fill":true,"fillColor":"#F1085C","fillOpacity":0.2},"Crawford",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.020693,42.024141,42.022772,42.021414,42.021474,42.021456,42.022653,42.021327,42.02152,42.023218,42.023222,42.025306,42.023085,42.0242487,42.024143,42.022828,42.022721,42.021425,42.021596,42.020184,42.020002,42.0183,42.0255246,42.024111,42.024265,42.0249938,42.0242588,42.022574,42.02295,42.024885,42.0242331,42.023716,42.022607,42.021806,42.022797,42.022516,42.0213831,42.021276,42.0214037,42.020379,42.021389,42.018806,42.021162,42.021506,42.021594,42.022458,42.022626,42.022745,42.025229,42.02543,42.021576,42.0249982,42.0242321,42.0227,42.0238856,42.022963,42.0238391,42.023518,42.022951,42.022836,42.022474,42.022658,42.022658,42.022566,42.022685,42.0228,42.021547,42.021278,42.021497,42.020161,42.020077,42.0214218,42.021555,42.02297,42.025258,42.025459,42.0249549,42.0242386,42.0242578,42.023117,42.022825,42.0238089,42.022786,42.022709,42.020441,42.020855,42.020207,42.02153,42.019025,42.019349,42.019099,42.019099,42.022603],[-93.629495,-93.626876,-93.625291,-93.629496,-93.626689,-93.615272,-93.606593,-93.608271,-93.60775,-93.605207,-93.605421,-93.628299,-93.626716,-93.6250433,-93.625154,-93.599575,-93.62529,-93.626839,-93.625299,-93.616895,-93.615395,-93.588227,-93.6259506,-93.628447,-93.627729,-93.6261621,-93.6265884,-93.6295,-93.625289,-93.624819,-93.6246096,-93.62458,-93.628409,-93.627459,-93.625291,-93.625288,-93.6291062,-93.628385,-93.6258429,-93.626835,-93.625143,-93.625217,-93.615426,-93.616848,-93.616849,-93.604195,-93.604193,-93.577427,-93.628447,-93.628301,-93.629496,-93.6277573,-93.6275137,-93.629501,-93.6274918,-93.628263,-93.6263765,-93.625297,-93.623814,-93.628412,-93.6295,-93.596569,-93.597005,-93.626875,-93.62826,-93.625313,-93.629496,-93.628236,-93.626689,-93.628222,-93.616969,-93.6150637,-93.613886,-93.606869,-93.626858,-93.626631,-93.6275675,-93.6273219,-93.6255067,-93.628416,-93.629501,-93.6265888,-93.628467,-93.62841,-93.628298,-93.629496,-93.626683,-93.625147,-93.615307,-93.61385,-93.615012,-93.615024,-93.604344],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#FE8F42","weight":5,"opacity":0.25,"fill":true,"fillColor":"#FE8F42","fillOpacity":0.2},"Iowa_DOT_and_Rail_Road",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[41.997741,41.995346,41.995278,41.994284,41.99353,41.995489,41.99435,41.992989,42.001246,42.00138,41.995027,41.995058,41.993759,41.994727,41.994695,41.997684,41.998952,41.9981656,41.996327,41.996093,41.995359,41.992964,41.998543,42.00514,41.998999,41.995141,41.994841,41.99373,41.995142,41.993751,41.995175,41.999812,41.999575,41.9976055,41.998554,41.995512,41.99639,41.99423,41.99312,41.993611,42.005692,41.99854,42.0004101,41.994241,41.994137,41.9941,41.994824,41.995088,41.998023,41.997992,41.997364,41.997126,41.996089,41.995508,41.997299,41.995341,41.993986,41.997352,41.993288,41.992975,41.993261,42.004509,41.99984,41.997906,41.999553,41.998023,41.999342,41.996331,41.994347,41.994229,41.993258,41.993047],[-93.657894,-93.649203,-93.649201,-93.649096,-93.649471,-93.647645,-93.646814,-93.652495,-93.64978,-93.652119,-93.65315,-93.651832,-93.651867,-93.653039,-93.650453,-93.646455,-93.644884,-93.6446004,-93.646793,-93.646638,-93.646816,-93.651703,-93.658875,-93.639793,-93.650229,-93.653122,-93.653025,-93.651718,-93.649198,-93.649475,-93.650431,-93.644679,-93.646054,-93.6470597,-93.64427,-93.646726,-93.646645,-93.647834,-93.653218,-93.647214,-93.63966,-93.649757,-93.6494462,-93.650588,-93.650569,-93.650561,-93.651732,-93.650417,-93.646617,-93.644366,-93.646782,-93.646791,-93.646788,-93.646894,-93.646634,-93.647585,-93.647199,-93.662162,-93.653109,-93.652429,-93.647569,-93.644527,-93.651077,-93.649773,-93.646099,-93.646575,-93.646172,-93.646643,-93.646758,-93.64789,-93.64898,-93.647474],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#004CFF","weight":5,"opacity":0.25,"fill":true,"fillColor":"#004CFF","fillOpacity":0.2},"Timberland",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.054386,42.053243,42.051721,42.051674,42.052457,42.052437,42.050909,42.048253,42.046825,42.045773,42.053749,42.053911,42.055626,42.053441,42.053041,42.052668,42.050411,42.049701,42.05161,42.050215,42.049921,42.050971,42.047669,42.053879,42.053666,42.055748,42.055777,42.0522319,42.052272,42.050383,42.05162,42.049501,42.049696,42.050692,42.049484,42.047666,42.048607,42.0533209,42.053364,42.055751,42.055627,42.05359,42.053436,42.053467,42.05198,42.052361,42.052247,42.051813,42.05048,42.049518,42.049509,42.052416,42.047384,42.045776,42.05443,42.05384,42.053801,42.053314,42.055601,42.053154,42.053466,42.05178,42.049423,42.051073,42.049687,42.049528,42.045763,42.048608,42.048371,42.047997,42.048058],[-93.651381,-93.652334,-93.654206,-93.653616,-93.650356,-93.650578,-93.652972,-93.646749,-93.651773,-93.652773,-93.65429,-93.657163,-93.650957,-93.652608,-93.65238,-93.655555,-93.655988,-93.654048,-93.651503,-93.652117,-93.650529,-93.650822,-93.650333,-93.654594,-93.65412,-93.653324,-93.650932,-93.651562,-93.655279,-93.656036,-93.653929,-93.65579,-93.653908,-93.651801,-93.650996,-93.653482,-93.653232,-93.6575919,-93.655711,-93.652894,-93.651096,-93.652641,-93.652777,-93.649901,-93.657271,-93.655159,-93.655905,-93.653708,-93.653712,-93.65334,-93.652946,-93.653864,-93.653082,-93.652658,-93.655739,-93.654519,-93.654444,-93.657851,-93.6532,-93.65227,-93.650059,-93.653915,-93.655997,-93.655704,-93.653608,-93.653479,-93.653876,-93.653512,-93.652348,-93.650474,-93.650057],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#ffff00","weight":5,"opacity":0.25,"fill":true,"fillColor":"#ffff00","fillOpacity":0.2},"Northridge",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.062978,42.060728,42.06112,42.059169,42.061239,42.05885,42.062903,42.061981,42.061633,42.061178,42.059242,42.060265,42.059817,42.058439,42.062976,42.061374,42.060865,42.06076,42.059518,42.059636,42.061394,42.06056,42.060241,42.058896,42.063067,42.059375,42.059239,42.059309,42.059304,42.060431,42.060144,42.061202,42.059743,42.058893,42.058998,42.058996,42.060625,42.059599,42.059332,42.058136,42.060459,42.060527,42.060516,42.061478,42.061008,42.060111,42.059957,42.061096,42.058563,42.059947,42.058816],[-93.633792,-93.633826,-93.632852,-93.632913,-93.62655,-93.628804,-93.634265,-93.633739,-93.633547,-93.633024,-93.633245,-93.627751,-93.628639,-93.629357,-93.633876,-93.633781,-93.633905,-93.633797,-93.632013,-93.631581,-93.628831,-93.628901,-93.627911,-93.629808,-93.634341,-93.634513,-93.632917,-93.631622,-93.631633,-93.629016,-93.629075,-93.626366,-93.629538,-93.630074,-93.628754,-93.628723,-93.631604,-93.634231,-93.631572,-93.632571,-93.629601,-93.629337,-93.629174,-93.628607,-93.62877,-93.627767,-93.626337,-93.626477,-93.63007,-93.624062,-93.628269],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#B1CC71","weight":5,"opacity":0.25,"fill":true,"fillColor":"#B1CC71","fillOpacity":0.2},"Stone_Brook",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.026752,42.02616,42.025255,42.022825,42.022674,42.022702,42.017737,42.0177987,42.0163944,42.019091,42.019093,42.020123,42.019713,42.017564,42.016921,42.016182,42.019094,42.018931,42.017835,42.0189256,42.016835,42.0214496,42.019986,42.018715,42.017413,42.017083,42.019272,42.019092,42.019005,42.016887,42.016072,42.028004,42.025818,42.01902,42.018761,42.018921,42.028002,42.027997,42.02197,42.020286,42.018837,42.018282,42.01924,42.019093,42.018808,42.018857,42.016086,42.016072],[-93.656924,-93.658081,-93.657573,-93.655849,-93.655762,-93.655653,-93.650321,-93.6514413,-93.6507568,-93.64678,-93.646683,-93.651825,-93.652027,-93.651786,-93.64857,-93.651669,-93.646555,-93.648414,-93.648429,-93.6459433,-93.648419,-93.655851,-93.64856,-93.65181,-93.651785,-93.651635,-93.647024,-93.646748,-93.648411,-93.64842,-93.646735,-93.655924,-93.66061,-93.650162,-93.65181,-93.6461654,-93.655885,-93.655786,-93.65564,-93.648562,-93.651811,-93.651285,-93.646942,-93.646619,-93.648417,-93.648416,-93.648415,-93.647027],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#02AD24","weight":5,"opacity":0.25,"fill":true,"fillColor":"#02AD24","fillOpacity":0.2},"South_and_West_of_Iowa_State_University",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.033454,42.032432,42.028256,42.030082,42.03009,42.026547,42.024673,42.024318,42.032652,42.032503,42.026548,42.028468,42.02792,42.0255464,42.031281,42.032155,42.032653,42.024662,42.0243033,42.02521,42.028568,42.028595,42.028381,42.0249247,42.025781,42.033285,42.02868,42.02384,42.024087,42.028424,42.027956,42.027969,42.024734,42.024305,42.0331453,42.031635,42.032157,42.032575,42.023651,42.024705,42.028168,42.025573,42.02438,42.024592],[-93.656231,-93.655538,-93.658265,-93.670503,-93.670114,-93.667904,-93.675038,-93.682138,-93.662126,-93.660877,-93.66798,-93.666242,-93.679297,-93.6825646,-93.657031,-93.666979,-93.660812,-93.676219,-93.6739889,-93.67358,-93.666066,-93.666216,-93.663054,-93.6826513,-93.679198,-93.656124,-93.676272,-93.673958,-93.674582,-93.66504,-93.682439,-93.679216,-93.6825099,-93.683612,-93.6578344,-93.668392,-93.667082,-93.662039,-93.674402,-93.676681,-93.681349,-93.682095,-93.683877,-93.680401],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#FFD300","weight":5,"opacity":0.25,"fill":true,"fillColor":"#FFD300","fillOpacity":0.2},"Clear_Creek",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[41.991861,41.991758,41.991876,41.992212,41.992119,41.9917,41.991824,41.991786,41.992185,41.99217,41.992539,41.991786,41.99261,41.991372,41.990899,41.991883,41.991779,41.992133,41.991933,41.992917,41.99284,41.992145,41.992516,41.992479,41.991709,41.991641,41.991868,41.990993,41.990523,41.991731,41.992303,41.992159,41.992533,41.992522,41.992497,41.99171,41.991532],[-93.60359,-93.604318,-93.604425,-93.603435,-93.60359,-93.601806,-93.603398,-93.604252,-93.603479,-93.603111,-93.601975,-93.60176,-93.605351,-93.604649,-93.604184,-93.603601,-93.604269,-93.603178,-93.603458,-93.605355,-93.605354,-93.603546,-93.601862,-93.601827,-93.601507,-93.602094,-93.603422,-93.604391,-93.603922,-93.603518,-93.603181,-93.603524,-93.602043,-93.6019,-93.601844,-93.601615,-93.602345],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#886C00","weight":5,"opacity":0.25,"fill":true,"fillColor":"#886C00","fillOpacity":0.2},"Meadow_Village",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.051835,42.051684,42.051685,42.052758,42.052338,42.051683,42.051661,42.051823,42.051822,42.052794,42.052755,42.051479,42.052332,42.051678,42.051687,42.051659,42.052669,42.052698,42.052696,42.052294,42.051833,42.052655,42.0524739,42.0527019,42.051798,42.051839,42.051691,42.051672,42.051673,42.051664],[-93.627271,-93.627536,-93.62728,-93.627396,-93.628119,-93.627565,-93.629456,-93.629851,-93.629881,-93.628971,-93.627629,-93.627114,-93.629462,-93.62765,-93.627309,-93.629425,-93.629747,-93.628656,-93.627855,-93.629777,-93.627242,-93.629906,-93.6292319,-93.627932,-93.627103,-93.627328,-93.627366,-93.629877,-93.629846,-93.629516],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#FFB79F","weight":5,"opacity":0.25,"fill":true,"fillColor":"#FFB79F","fillOpacity":0.2},"Briardale",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.06257,42.062303,42.062562,42.062557,42.062305,42.062266,42.062081,42.062086,42.063336,42.062299,42.062285,42.062004,42.063301,42.062584,42.062581,42.062946,42.063301,42.062574,42.063298,42.063329,42.063185,42.062374,42.0623,42.063301,42.063301,42.063301,42.062831,42.062873],[-93.641635,-93.642252,-93.641561,-93.641515,-93.642094,-93.642597,-93.642911,-93.642914,-93.640176,-93.640958,-93.6424399,-93.643039,-93.642326,-93.641795,-93.641716,-93.640513,-93.642177,-93.641662,-93.641946,-93.640287,-93.640227,-93.641321,-93.6419,-93.642261,-93.642241,-93.642116,-93.641518,-93.641522],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#858567","weight":5,"opacity":0.25,"fill":true,"fillColor":"#858567","fillOpacity":0.2},"Bloomington_Heights",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.037236,42.043782,42.043553,42.043019,42.0375,42.045012,42.044419,42.044642,42.044693,42.036729,42.037578,42.037652,42.037502,42.044383,42.044762,42.044989,42.042994,42.043048,42.042961,42.037103,42.037065,42.044609,42.043779,42.037409],[-93.660327,-93.645923,-93.648057,-93.645546,-93.66203,-93.647655,-93.648705,-93.648954,-93.645713,-93.655582,-93.658315,-93.661846,-93.661848,-93.648204,-93.645798,-93.645589,-93.64577,-93.645547,-93.645544,-93.658232,-93.660643,-93.648931,-93.646065,-93.658237],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#A10300","weight":5,"opacity":0.25,"fill":true,"fillColor":"#A10300","fillOpacity":0.2},"Veenker",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.049672,42.050683,42.050681,42.049811,42.050615,42.050705,42.050705,42.050682,42.050533,42.050213,42.05009,42.050134,42.050222,42.050397,42.050001,42.05068,42.050257,42.050397,42.05057,42.049996,42.050595,42.050705,42.050441],[-93.627232,-93.625924,-93.625966,-93.625848,-93.627244,-93.624729,-93.624748,-93.625945,-93.625918,-93.625846,-93.625688,-93.62569,-93.625696,-93.625707,-93.627234,-93.625986,-93.625848,-93.627238,-93.624575,-93.625672,-93.627169,-93.624767,-93.625709],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#00479E","weight":5,"opacity":0.25,"fill":true,"fillColor":"#00479E","fillOpacity":0.2},"Northpark_Villa",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.009345,42.009337,42.009489,42.009489,42.009489,42.009489,42.009489,42.009489,42.009489,42.009321],[-93.645701,-93.645729,-93.645743,-93.645743,-93.645743,-93.645743,-93.645743,-93.645743,-93.645743,-93.645785],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#DC5E93","weight":5,"opacity":0.25,"fill":true,"fillColor":"#DC5E93","fillOpacity":0.2},"Blueste",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.042565,42.043704,42.042652,42.043754,42.042369,42.042481,42.042826,42.043351],[-93.649361,-93.648143,-93.649358,-93.648172,-93.649329,-93.649439,-93.649352,-93.649329],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#93D4FF","weight":5,"opacity":0.25,"fill":true,"fillColor":"#93D4FF","fillOpacity":0.2},"Greens",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.001694,42.000966],[-93.647403,-93.645586],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#e5f2e5","weight":5,"opacity":0.25,"fill":true,"fillColor":"#e5f2e5","fillOpacity":0.2},"Green_Hills",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[42.021785,-93.681378,6,null,null,{"interactive":true,"className":"","stroke":true,"color":"#C8FF00","weight":5,"opacity":0.25,"fill":true,"fillColor":"#C8FF00","fillOpacity":0.2},"Landmark",null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]}],"limits":{"lat":[41.986498,42.063388],"lng":[-93.693153,-93.577427]}},"evals":[],"jsHooks":[]}</script>
---
# Example Data Set - Fuel Economy
The data that are used here are an extended version of the ubiquitous `mtcars` data set.
[`fueleconomy.gov`](https://www.fueleconomy.gov/feg/download.shtml) was used to obtain fuel efficiency data on cars from 2015-2019.
Over this time range, duplicate ratings were eliminated; these occur when the same car is sold for several years in a row. As a result, there are 4595 cars that are listed in the data. The predictors include the automaker and additional information about the cars (e.g. cylinders, etc).
In our analysis, the data from 2015-2018 are used for training to see if we can predict the 608 cars that were new in 2019. We will restrict ourselves to cars that use some type of gas.
These data are supplied in the GitHub repo.
---
# Example Data Set - Predicting Profession
OkCupid is an online data site that serves international users. [Kim and Escobedo-Land (2015, Journal of Statistics Education)](http://ww2.amstat.org/publications/jse/v23n2/kim.pdf) describe a data set where over 50,000 profiles from the San Fransisco area were made available by the company.
The data contains several types of fields:
* A number of open text essays related to interests and personal descriptions
* Single choice type fields, such as profession, diet, gender, body type, etc.
* Multiple choice data, including languages spoken, etc.
* ***No*** usernames or pictures were included.
We will try to predict whether someone has a profession in the STEM fields (science, technology, engineering, and math) using a random sample of the overall dataset.
---
# Tidyverse Syntax <img src="images/dplyr.png" class="title-hex">
Many tidyverse functions have syntax unlike base R code. For example:
* Vectors of variable names are eschewed in favor of _functional programming_. For example:
```r
contains("Sepal")
# instead of
c("Sepal.Width", "Sepal.Length")
```
* The _pipe_ operator is preferred. For example
```r
merged <- inner_join(a, b)
# is equal to
merged <- a %>%
inner_join(b)
```
* Functions are more _modular_ than their traditional analogs (`dplyr`'s `filter()` and `select()` vs `base::subset()`)
---
# Some Example Data Manipulation Code <img src="images/dplyr.png" class="title-hex"><img src="images/readr.png" class="title-hex">
```r
library(tidyverse)
ames_prices <- "http://bit.ly/2whgsQM" %>%
read_delim(delim = "\t") %>%
rename_at(vars(contains(' ')), funs(gsub(' ', '_', .))) %>%
rename(Sale_Price = SalePrice) %>%
filter(!is.na(Electrical)) %>%
select(-Order, -PID, -Garage_Yr_Blt)
ames_prices %>%
group_by(Alley) %>%
summarize(
mean_price = mean(Sale_Price / 1000),
n = sum(!is.na(Sale_Price))
)
```
```
## # A tibble: 3 x 3
## Alley mean_price n
## <chr> <dbl> <int>
## 1 Grvl 124. 120
## 2 Pave 177. 78
## 3 <NA> 183. 2731
```
---
# Example `ggplot2` Code <img src="images/ggplot2.png" class="title-hex">
.pull-left[
```r
library(ggplot2)
ames_prices %>%
ggplot(
aes(
x = Garage_Type,
y = Sale_Price
)
) +
geom_violin() +
coord_trans(y = "log10") +
xlab("Garage Type") +
ylab("Sale Price")
```
]
.pull-left[
<img src="Part_1_Getting_Started_files/figure-html/ggplot - example - disp-1.svg" width="100%" style="display: block; margin: auto;" />
]
---
# Examples of `purrr::map*` <img src="images/dplyr.png" class="title-hex"><img src="images/purrr.png" class="title-hex">
purrr contains functions that _iterate over lists_ without the explicit use of loops. They are similar to the family of apply functions in base R, but are type stable.
.pull-left[
```r
library(purrr)
mini_ames <- ames_prices %>%
select(Alley, Sale_Price, Yr_Sold) %>%
filter(!is.na(Alley))
head(mini_ames, n = 5)
```
```
## # A tibble: 5 x 3
## Alley Sale_Price Yr_Sold
## <chr> <int> <int>
## 1 Pave 190000 2010
## 2 Pave 155000 2010
## 3 Pave 151000 2010
## 4 Pave 149500 2010
## 5 Pave 152000 2010
```
]
.pull-right[
```r
by_alley <- split(mini_ames, mini_ames$Alley)
map(by_alley, head, n = 2)
```
```
## $Grvl
## # A tibble: 2 x 3
## Alley Sale_Price Yr_Sold
## <chr> <int> <int>
## 1 Grvl 96500 2010
## 2 Grvl 109500 2010
##
## $Pave
## # A tibble: 2 x 3
## Alley Sale_Price Yr_Sold
## <chr> <int> <int>
## 1 Pave 190000 2010
## 2 Pave 155000 2010
```
]
---
# Examples of `purrr::map*` <img src="images/dplyr.png" class="title-hex"><img src="images/purrr.png" class="title-hex">
.pull-left[
```r
map(by_alley, nrow)
```
```
## $Grvl
## [1] 120
##
## $Pave
## [1] 78
```
`map()` always returns a list. Use suffixed versions for simplification of the result.
```r
map_int(by_alley, nrow)
```
```
## Grvl Pave
## 120 78
```
]
.pull-right[
Complex operations can be specified using a _formula notation_. Access the current
thing you are iterating over with `.x`.
```r
map(
by_alley,
~summarise(.x, max_price = max(Sale_Price))
)
```
```
## $Grvl
## # A tibble: 1 x 1
## max_price
## <dbl>
## 1 256000
##
## $Pave
## # A tibble: 1 x 1
## max_price
## <dbl>
## 1 345000
```
]
---
# `purrr` and list-columns <img src="images/dplyr.png" class="title-hex"><img src="images/purrr.png" class="title-hex"><img src="images/tidyr.png" class="title-hex">
Rather than using `split()`, we can `tidyr::nest()` by `Alley` to get a data frame with
a _list-column_. We often use these when working with _multiple models_.
.pull-left[
```r
ames_lst_col <- nest(mini_ames, -Alley)
ames_lst_col
```
```
## # A tibble: 2 x 2
## Alley data
## <chr> <list>
## 1 Pave <tibble [78 × 2]>
## 2 Grvl <tibble [120 × 2]>
```
]
.pull-right[
```r
ames_lst_col %>%
mutate(
n_row = map_int(data, nrow),
max = map_dbl(data, ~max(.x$Sale_Price))
)
```
```
## # A tibble: 2 x 4
## Alley data n_row max
## <chr> <list> <int> <dbl>
## 1 Pave <tibble [78 × 2]> 78 345000
## 2 Grvl <tibble [120 × 2]> 120 256000
```
]
---
# List-columns and `unnest()` <img src="images/purrr.png" class="title-hex"><img src="images/tidyr.png" class="title-hex">
`unnest()` repeats regular columns once for each row of the unnested list-column. `"Pave"` is repeated 78 times, and `"Grvl"` is repeated 120 times.
.pull-left[
```r
ames_lst_col
```
```
## # A tibble: 2 x 2
## Alley data
## <chr> <list>
## 1 Pave <tibble [78 × 2]>
## 2 Grvl <tibble [120 × 2]>
```
You can unnest multiple list-columns at once if they have the same number of rows. We will use this when unnesting predictions for each resample.
]
.pull-right[
```r
unnest(ames_lst_col, data)
```
```
## # A tibble: 198 x 3
## Alley Sale_Price Yr_Sold
## <chr> <int> <int>
## 1 Pave 190000 2010
## 2 Pave 155000 2010
## 3 Pave 151000 2010
## 4 Pave 149500 2010
## 5 Pave 152000 2010
## 6 Pave 267916 2010
## 7 Pave 136300 2010
## 8 Pave 127000 2010
## 9 Pave 160000 2010
## 10 Pave 102776 2010
## # ... with 188 more rows
```
]
---
# Quasiquotation <img src="images/rlang.png" class="title-hex">
The tidyverse benefits from the occasional use of [metaprogramming techniques](https://adv-r.hadley.nz/introduction-16.html) techniques.
The main thing that we will use is [_quasiquotation_](https://adv-r.hadley.nz/quasiquotation.html) in which we can splice arguments into an expression.
For example, suppose we have a character vector of variable names that we'd like to keep in a `select` statement. We often just type things out:
```r
mtcars %>% select(mpg, wt, hp) %>% slice(1:2)
```
```
## mpg wt hp
## 1 21 2.620 110
## 2 21 2.875 110
```
But what if that list is very long or is generated programmatically? How do we emulate a comma separated list of argument values?
---
# Quasiquotation <img src="images/rlang.png" class="title-hex">
Quasiquotation has an operator, `!!!` (read as "triple-bang"), that can _splice in_ multiple values into an argument. For example:
```r
cols <- c("mpg", "wt", "hp")
mtcars %>% select(!!!cols) %>% names()
```
```
## [1] "mpg" "wt" "hp"
```
There is also a `!!` operator that is used when the argument can only have one value (i.e. _not_ `...`)
```r
value <- 5
mtcars %>% select(!!!cols) %>% mutate(x = !!value) %>% slice(1:2)
```
```
## mpg wt hp x
## 1 21 2.620 110 5
## 2 21 2.875 110 5
```
**Remember**: `!!` for `foo(x)` and `!!!` for `bar(...)`.
---
# Quick Data Investigation
To get warmed up, let's load the real Ames data and do some basic investigations into the variables, such as exploratory visualizations or summary statistics. The idea is to get a feel for the data.
Let's take 10 minutes to work on your own or with someone next to you. Collaboration is highly encouraged!
To get the data:
```r
library(AmesHousing)
ames <- make_ames()
```
---
# Where We Go From Here
**Part 2** Basic Principles
* Data Splitting, Resampling, Tuning (`rsample`)
* Models in R (`parsnip`)
**Part 3** Feature Engineering and Preprocessing
* Data treatments (`recipes`)
**Part 4** Regression Modeling
* Measuring Performance, penalized regression, multivariate adaptive regression splines (MARS), ensembles (`yardstick`, `recipes`, `caret`, `earth`, `glmnet`, `tidyposterior`, `doParallel`)
**Part 5** Classification Modeling
* Measuring Performance, trees, ensembles, naive Bayes (`yardstick`, `recipes`, `caret`, `rpart`, `klaR`, `tidyposterior`)
---
# Resources
* [`http://www.tidyverse.org/`](http://www.tidyverse.org/)
* [R for Data Science](http://r4ds.had.co.nz/)
* Jenny's [`purrr` tutorial](https://jennybc.github.io/purrr-tutorial/) or [Happy R Users Purrr](https://www.rstudio.com/resources/videos/happy-r-users-purrr-tutorial/)
* Programming with `dplyr` [vignette](https://cran.r-project.org/web/packages/dplyr/vignettes/programming.html)
* Selva Prabhakaran's [`ggplot2` tutorial](http://r-statistics.co/Complete-Ggplot2-Tutorial-Part1-With-R-Code.html)
* `caret` package [documentation](https://topepo.github.io/caret/)
* [CRAN Machine Learning Task View](https://cran.r-project.org/web/views/MachineLearning.html)
About these slides.... they were created with Yihui's [`xaringan`](https://github.com/yihui/xaringan) and the stylings are a slightly modified version of Patrick Schratz's [Metropolis theme](https://github.com/pat-s/xaringan-metropolis).
</textarea>
<script src="https://remarkjs.com/downloads/remark-latest.min.js"></script>
<script>var slideshow = remark.create({
"ratio": "16:9",
"highlightLanguage": "R",
"countIncrementalSlides": false
});
if (window.HTMLWidgets) slideshow.on('afterShowSlide', function (slide) {
window.dispatchEvent(new Event('resize'));
});
(function() {
var d = document, s = d.createElement("style"), r = d.querySelector(".remark-slide-scaler");
if (!r) return;
s.type = "text/css"; s.innerHTML = "@page {size: " + r.style.width + " " + r.style.height +"; }";
d.head.appendChild(s);
})();</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
tex2jax: {
skipTags: ['script', 'noscript', 'style', 'textarea', 'pre']
}
});
</script>
<!-- dynamically load mathjax for compatibility with self-contained -->
<script>
(function () {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'https://cdn.bootcss.com/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML';
if (location.protocol !== 'file:' && /^https?:/.test(script.src))
script.src = script.src.replace(/^https?:/, '');
document.getElementsByTagName('head')[0].appendChild(script);
})();
</script>
</body>
</html>
================================================
FILE: Materials/Part_2_Basic_Principles.R
================================================
# Slides for Applied Machine Learning workshop at 2019 RStudio ---
# Conference -----------------------------------------------------
# Part_2_Basic_Principles.R
# Slide 2 --------------------------------------------------------
library(tidymodels)
theme_set(theme_bw())
# Slide 11 -------------------------------------------------------
library(AmesHousing)
ames <-
make_ames() %>%
# Remove quality-related predictors
dplyr::select(-matches("Qu"))
nrow(ames)
# Make sure that you get the same random numbers
set.seed(4595)
data_split <- initial_split(ames, strata = "Sale_Price")
ames_train <- training(data_split)
ames_test <- testing(data_split)
nrow(ames_train)/nrow(ames)
# Slide 12 -------------------------------------------------------
# result of initial_split()
# <training / testing / total>
data_split
training(data_split)
# Slide 13 -------------------------------------------------------
ggplot(ames_train, aes(x = Sale_Price)) +
geom_line(stat = "density", trim = TRUE) +
geom_line(data = ames_test,
stat = "density",
trim = TRUE, col = "red")
# Slide 15 -------------------------------------------------------
## model_fn(Sale_Price ~ Neighborhood + Year_Sold + Neighborhood:Year_Sold, data = ames_train)
## model_fn(Sale_Price ~ ., data = ames_train)
## model_fn(log10(Sale_Price) ~ ns(Longitude, df = 3) + ns(Latitude, df = 3), data = ames_train)
# Slide 17 -------------------------------------------------------
## # Usually, the variables must all be numeric
## pre_vars <- c("Year_Sold", "Longitude", "Latitude")
## model_fn(x = ames_train[, pre_vars],
## y = ames_train$Sale_Price)
# Slide 18 -------------------------------------------------------
simple_lm <- lm(log10(Sale_Price) ~ Longitude + Latitude, data = ames_train)
simple_lm_values <- augment(simple_lm)
names(simple_lm_values)
# Slide 21 -------------------------------------------------------
spec_lin_reg <- linear_reg()
spec_lin_reg
spec_lm <- set_engine(spec_lin_reg, "lm")
spec_lm
fit_lm <- fit(
spec_lm,
log10(Sale_Price) ~ Longitude + Latitude,
data = ames_train
)
fit_lm
# Slide 22 -------------------------------------------------------
ames_train_log <- ames_train %>%
mutate(Sale_Price_Log = log10(Sale_Price))
fit_xy(
spec_lm,
y = ames_train_log$Sale_Price_Log,
x = ames_train_log[, c("Latitude", "Longitude")]
)
# Slide 23 -------------------------------------------------------
# optional:
library(rstanarm)
# reset the theme since rstanarm changes it :-(
theme_set(theme_bw())
spec_stan <-
spec_lin_reg %>%
# Engine specific arguments are passed through here
set_engine("stan", chains = 4, iter = 1000)
# Otherwise, looks exactly the same!
fit_stan <- fit(
spec_stan,
log10(Sale_Price) ~ Longitude + Latitude,
data = ames_train
)
coef(fit_stan$fit)
coef(fit_lm$fit)
# Slide 25 -------------------------------------------------------
summary(fit_lm$fit)
# Slide 34 -------------------------------------------------------
set.seed(2453)
cv_splits <- vfold_cv(
data = ames_train,
v = 10,
strata = "Sale_Price"
)
cv_splits %>% slice(1:6)
cv_splits$splits[[1]]
cv_splits$splits[[1]] %>% analysis() %>% dim()
cv_splits$splits[[1]] %>% assessment() %>% dim()
# Slide 35 -------------------------------------------------------
geo_form <- log10(Sale_Price) ~ Latitude + Longitude
# Fit on a single analysis resample
fit_model <- function(split, spec) {
fit(
object = spec,
formula = geo_form,
data = analysis(split) # <- pull out training set
)
}
# For each resample, call fit_model()
cv_splits <- cv_splits %>%
mutate(models_lm = map(splits, fit_model, spec_lm))
cv_splits
# Slide 36 -------------------------------------------------------
compute_pred <- function(split, model) {
# Extract the assessment set
assess <- assessment(split) %>%
mutate(Sale_Price_Log = log10(Sale_Price))
# Compute predictions (a df is returned)
pred <- predict(model, new_data = assess)
bind_cols(assess, pred)
}
cv_splits <- cv_splits %>%
mutate(pred_lm = map2(splits, models_lm, compute_pred))
cv_splits
# Slide 37 -------------------------------------------------------
compute_perf <- function(pred_df) {
# Create a function that calculates
# rmse and rsq and returns a data frame
numeric_metrics <- metric_set(rmse, rsq)
numeric_metrics(
pred_df,
truth = Sale_Price_Log,
estimate = .pred
)
}
cv_splits <- cv_splits %>%
mutate(perf_lm = map(pred_lm, compute_perf))
cv_splits
# Slide 38 -------------------------------------------------------
cv_splits$perf_lm[[1]]
cv_splits %>%
unnest(perf_lm) %>%
group_by(.metric) %>%
summarise(.estimate = mean(.estimate))
# Slide 40 -------------------------------------------------------
holdout_results <-
cv_splits %>%
unnest(pred_lm) %>%
mutate(.resid = Sale_Price_Log - .pred)
holdout_results %>% dim()
ames_train %>% dim()
# Slide 45 -------------------------------------------------------
spec_knn <- nearest_neighbor(neighbors = 2) %>%
set_engine("kknn")
spec_knn
fit_knn <- fit(spec_knn, geo_form, ames_train_log)
fit_knn
# Slide 46 -------------------------------------------------------
# Predict on the same data you train with
repredicted <- fit_knn %>%
predict(new_data = ames_train_log) %>%
bind_cols(ames_train_log) %>%
dplyr::select(.pred, Sale_Price_Log)
repredicted
# The ruckus is here!
repredicted %>%
rsq(
truth = Sale_Price_Log,
estimate = .pred
)
# Slide 47 -------------------------------------------------------
cv_splits <- cv_splits %>%
mutate(
# Fit a knn model for each split
models_knn = map(splits, fit_model, spec_knn),
# Generate predictions on the assessment set
pred_knn = map2(splits, models_knn, compute_pred),
# Calculation performance
perf_knn = map(pred_knn, compute_perf)
)
# Unnest & compute resampled performance estimates
cv_splits %>%
unnest(perf_knn) %>%
group_by(.metric) %>%
summarise(
.estimate_mean = mean(.estimate),
.estimate_sd = sd(.estimate)
)
# Slide 49 -------------------------------------------------------
extract_rmse <- function(perf_list) {
perf_list %>%
bind_rows() %>%
filter(.metric == "rmse") %>%
pull(.estimate)
}
rmse_lm <- extract_rmse(cv_splits$perf_lm)
rmse_knn <- extract_rmse(cv_splits$perf_knn)
rs_comp <- data.frame(
rmse = c(rmse_lm, rmse_knn),
Model = rep(c("Linear\nRegression", "2-NN"), each = nrow(cv_splits)),
Resample = cv_splits$id
)
ggplot(rs_comp, aes(x = Model, y = rmse, group = Resample, col = Resample)) +
geom_point() +
geom_line() +
theme(legend.position = "none")
# Slide 50 -------------------------------------------------------
t.test(rmse_lm, rmse_knn, paired = TRUE)
# Slide 54 -------------------------------------------------------
# ├── Create a set of candidate tuning parameter values
# └── For each resample
# │ ├── Split the data into analysis and assessment sets
# │ ├── [preprocess data]
# │ ├── For each tuning parameter value
# │ │ ├── Fit the model using the analysis set
# │ │ └── Compute the performance on the assessment set and save
# ├── For each tuning parameter value, average the performance over resamples
# ├── Determine the best tuning parameter value
# └── Create the final model with the optimal parameter(s) on the training set
# Slide 56 -------------------------------------------------------
# Parameter object for `neighbors`
neighbors
# Number of neighbors varies from 1-20
param_grid <-
neighbors %>%
range_set(c(1, 20)) %>%
grid_regular(levels = 20)
glimpse(param_grid)
# Declare `neighbors` as varying
spec_knn_varying <- nearest_neighbor(
neighbors = varying()
) %>%
set_engine("kknn") %>%
set_mode("regression") # not required
# Slide 57 -------------------------------------------------------
param_grid <-
param_grid %>%
mutate(
specs = merge(., spec_knn_varying)
)
print(param_grid, n = 4)
param_grid$specs[[20]]
# Slide 58 -------------------------------------------------------
fit_one_spec_one_split <- function(spec, split) {
mod <- fit_model(split, spec)
pred_df <- compute_pred(split, mod)
perf_df <- compute_perf(pred_df)
# pull out only rmse
perf_df %>%
filter(.metric == "rmse") %>%
pull(.estimate)
}
fit_one_spec_one_split(
param_grid$specs[[6]], # Six neighbors
cv_splits$splits[[9]] # Ninth Fold
)
# Slide 59 -------------------------------------------------------
fit_all_specs_one_split <- function(split, spec_df) {
spec_df %>%
mutate(
rmse = map_dbl(
specs,
fit_one_spec_one_split,
split = split
)
)
}
fit_all_specs_one_split(
cv_splits$splits[[1]],
param_grid
) %>%
print(n = 5)
# Slide 60 -------------------------------------------------------
fit_all_specs_all_splits <- function(split_df, spec_df) {
split_df %>%
mutate(
spec_perf = map(
splits,
fit_all_specs_one_split,
spec_df = spec_df
)
) %>%
dplyr::select(splits, id, spec_perf)
}
# Slide 61 -------------------------------------------------------
resampled_grid <- fit_all_specs_all_splits(
split_df = cv_splits,
spec_df = param_grid
)
resampled_grid %>% slice(1:6)
# Keep the unnested version
unnested_grid <-
resampled_grid %>%
unnest(spec_perf) %>%
dplyr::select(-specs)
unnested_grid %>% slice(1:6)
# Slide 62 -------------------------------------------------------
rmse_by_neighbors <-
unnested_grid %>%
group_by(neighbors) %>%
summarize(rmse = mean(rmse))
ggplot(
rmse_by_neighbors,
aes(x = neighbors, y = rmse)
) +
geom_point() +
geom_line()
# Slide 63 -------------------------------------------------------
best_neighbors <-
unnested_grid %>%
group_by(id) %>%
summarize(neighbors = neighbors[which.min(rmse)],
rmse = rmse[which.min(rmse)])
ggplot(rmse_by_neighbors,
aes(x = neighbors, y = rmse)) +
geom_point() +
geom_line() +
geom_line(data = unnested_grid,
aes(group = id, col = id),
alpha = .2, lwd = 1) +
geom_point(data = best_neighbors,
aes(col = id),
alpha = .5, cex = 2) +
theme(legend.position = "none")
# Slide 64 -------------------------------------------------------
best_neighbor_value <-
rmse_by_neighbors %>%
filter(rmse == min(rmse)) %>%
pull(neighbors)
best_spec <-
param_grid %>%
filter(neighbors == best_neighbor_value) %>%
pull(specs) %>%
.[[1]]
## fit(
## best_spec,
## geo_form,
## ames_train
## )
================================================
FILE: Materials/Part_2_Basic_Principles.html
================================================
<!DOCTYPE html>
<html>
<head>
<title>Applied Machine Learning - Basic Principles</title>
<meta charset="utf-8">
<meta name="author" content="Max Kuhn (RStudio)" />
<script src="Part_2_Basic_Principles_files/htmlwidgets-1.3/htmlwidgets.js"></script>
<script src="Part_2_Basic_Principles_files/viz-0.3/viz.js"></script>
<link href="Part_2_Basic_Principles_files/DiagrammeR-styles-0.2/styles.css" rel="stylesheet" />
<script src="Part_2_Basic_Principles_files/grViz-binding-1.0.0/grViz.js"></script>
<script src="Part_2_Basic_Principles_files/jquery-1.12.4/jquery.min.js"></script>
<link href="Part_2_Basic_Principles_files/leaflet-1.3.1/leaflet.css" rel="stylesheet" />
<script src="Part_2_Basic_Principles_files/leaflet-1.3.1/leaflet.js"></script>
<link href="Part_2_Basic_Principles_files/leafletfix-1.0.0/leafletfix.css" rel="stylesheet" />
<script src="Part_2_Basic_Principles_files/Proj4Leaflet-1.0.1/proj4-compressed.js"></script>
<script src="Part_2_Basic_Principles_files/Proj4Leaflet-1.0.1/proj4leaflet.js"></script>
<link href="Part_2_Basic_Principles_files/rstudio_leaflet-1.3.1/rstudio_leaflet.css" rel="stylesheet" />
<script src="Part_2_Basic_Principles_files/leaflet-binding-2.0.2/leaflet.js"></script>
<script src="Part_2_Basic_Principles_files/leaflet-providers-1.1.17/leaflet-providers.js"></script>
<script src="Part_2_Basic_Principles_files/leaflet-providers-plugin-2.0.2/leaflet-providers-plugin.js"></script>
<link rel="stylesheet" href="mtheme_max.css" type="text/css" />
<link rel="stylesheet" href="fonts_mtheme_max.css" type="text/css" />
</head>
<body>
<textarea id="source">
class: center, middle, inverse, title-slide
# Applied Machine Learning - Basic Principles
### Max Kuhn (RStudio)
---
# Load Packages <img src="images/tidymodels_hex.png" class="title-hex">
.code70[
```r
library(tidymodels)
```
```
## ── Attaching packages ────────────────────────────────────────────────────────── tidymodels 0.0.2 ──
```
```
## ✔ broom 0.5.1 ✔ purrr 0.2.5
## ✔ dials 0.0.2 ✔ recipes 0.1.4
## ✔ dplyr 0.7.8 ✔ rsample 0.0.4
## ✔ infer 0.4.0 ✔ tibble 2.0.0
## ✔ parsnip 0.0.1 ✔ yardstick 0.0.2
```
```
## ── Conflicts ───────────────────────────────────────────────────────────── tidymodels_conflicts() ──
## ✖ purrr::discard() masks scales::discard()
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ✖ purrr::lift() masks caret::lift()
## ✖ yardstick::precision() masks caret::precision()
## ✖ yardstick::recall() masks caret::recall()
## ✖ recipes::step() masks stats::step()
```
]
---
# Introduction
In this section, we will introduce concepts that are useful for any type of machine learning model:
* _modeling_ versus the model
* data splitting
* resampling
* tuning parameters and overfitting
* model tuning
Many of these topics will be put into action in later sections.
---
# The Modeling _Process_
Common steps during model building are:
* estimating model parameters (i.e. training models)
* determining the values of _tuning parameters_ that cannot be directly calculated from the data
* model selection (within a model type) and model comparison (between types)
* calculating the performance of the final model that will generalize to new data
Many books and courses portray predictive modeling as a short sprint. A better analogy would be a marathon or campaign (depending on how hard the problem is).
---
# What the Modeling Process Usually Looks Like
<img src="Part_2_Basic_Principles_files/figure-html/mod-process-1.svg" width="95%" style="display: block; margin: auto;" />
---
layout: false
class: inverse, middle, center
# Data Usage
---
# Data Splitting and Spending
How do we "spend" the data to find an optimal model?
We _typically_ split data into training and test data sets:
* ***Training Set***: these data are used to estimate model parameters and to pick the values of the complexity parameter(s) for the model.
* ***Test Set***: these data can be used to get an independent assessment of model efficacy. They should not be used during model training.
---
# Data Splitting and Spending
The more data we spend, the better estimates we'll get (provided the data is accurate).
Given a fixed amount of data:
* too much spent in training won't allow us to get a good assessment of predictive performance. We may find a model that fits the training data very well, but is not generalizable (overfitting)
* too much spent in testing won't allow us to get a good assessment of model parameters
Statistically, the best course of action would be to use all the data for model building and use statistical methods to get good estimates of error.
From a non-statistical perspective, many consumers of complex models emphasize the need for an untouched set of samples to evaluate performance.
---
# Large Data Sets
When a large amount of data are available, it might seem like a good idea to put a large amount into the training set. _Personally_, I think that this causes more trouble than it is worth due to diminishing returns on performance and the added cost and complexity of the required infrastructure.
Alternatively, it is probably a better idea to reserve good percentages of the data for specific parts of the modeling process. For example:
* Save a large chunk of data to perform feature selection prior to model building
* Retain data to calibrate class probabilities or determine a cutoff via an ROC curve.
Also, there may be little need for iterative resampling of the data. A single holdout (aka validation set) may be sufficient in some cases if the data are large enough and the data sampling mechanism is solid.
---
# Mechanics of Data Splitting
There are a few different ways to do the split: simple random sampling, _stratified sampling based on the outcome_, by date, or methods that focus on the distribution of the predictors.
For stratification:
* **classification**: this would mean sampling within the classes to preserve the distribution of the outcome in the training and test sets
* **regression**: determine the quartiles of the data set and sample within those artificial groups
---
# Ames Housing Data <img src="images/rsample.png" class="title-hex">
Let's load the example data set and split it. We'll put 75% into training and 25% into testing.
```r
library(AmesHousing)
ames <-
make_ames() %>%
# Remove quality-related predictors
dplyr::select(-matches("Qu"))
nrow(ames)
```
```
## [1] 2930
```
```r
# Make sure that you get the same random numbers
set.seed(4595)
data_split <- initial_split(ames, strata = "Sale_Price")
ames_train <- training(data_split)
ames_test <- testing(data_split)
nrow(ames_train)/nrow(ames)
```
```
## [1] 0.7505119
```
???
The select statement removes subjective quality scores which, to me, seems
like it should be an outcome and not a predictor.
---
# Ames Housing Data <img src="images/rsample.png" class="title-hex">
What do these objects look like?
```r
# result of initial_split()
# <training / testing / total>
data_split
```
```
## <2199/731/2930>
```
```r
training(data_split)
```
```r
## # A tibble: 2,199 x 81
## MS_SubClass MS_Zoning Lot_Frontage Lot_Area Street Alley Lot_Shape Land_Contour Utilities Lot_Config Land_Slope
## <fct> <fct> <dbl> <int> <fct> <fct> <fct> <fct> <fct> <fct> <fct>
## 1 One_Story_… Resident… 141 31770 Pave No_A… Slightly… Lvl AllPub Corner Gtl
## 2 Two_Story_… Resident… 74 13830 Pave No_A… Slightly… Lvl AllPub Inside Gtl
## 3 Two_Story_… Resident… 78 9978 Pave No_A… Slightly… Lvl AllPub Inside Gtl
## 4 One_Story_… Resident… 43 5005 Pave No_A… Slightly… HLS AllPub Inside Gtl
## 5 One_Story_… Resident… 39 5389 Pave No_A… Slightly… Lvl AllPub Inside Gtl
## # … and many more rows and columns
## # …
```
---
# Outcome Distributions <img src="images/ggplot2.png" class="title-hex">
.pull-left[
```r
## Do the distributions line up?
ggplot(ames_train, aes(x = Sale_Price)) +
geom_line(stat = "density",
trim = TRUE) +
geom_line(data = ames_test,
stat = "density",
trim = TRUE, col = "red")
```
]
.pull-right[
<img src="Part_2_Basic_Principles_files/figure-html/ames-split-dists-dist-1.svg" width="100%" style="display: block; margin: auto;" />
]
---
layout: false
class: inverse, middle, center
# Creating Models in R
---
# Specifying Models in R Using Formulas
To fit a model to the housing data, the model terms must be specified. Historically, there are two main interfaces for doing this.
The **formula** interface using R [formula rules](https://cran.r-project.org/doc/manuals/r-release/R-intro.html#Formulae-for-statistical-models) to specify a _symbolic_ representation of the terms:
Variables + interactions
```r
model_fn(Sale_Price ~ Neighborhood + Year_Sold + Neighborhood:Year_Sold, data = ames_train)
```
Shorthand for all predictors
```r
model_fn(Sale_Price ~ ., data = ames_train)
```
Inline functions / transformations
```r
model_fn(log10(Sale_Price) ~ ns(Longitude, df = 3) + ns(Latitude, df = 3), data = ames_train)
```
This is very convenient but it has some disadvantages.
---
# Downsides to Formulas
* You can't nest in-line functions such as `model_fn(y ~ pca(scale(x1), scale(x2), scale(x3)), data = dat)`.
* All the model matrix calculations happen at once and can't be recycled when used in a model function.
* For very _wide_ data sets, the formula method can be [extremely inefficient](https://rviews.rstudio.com/2017/03/01/the-r-formula-method-the-bad-parts/).
* There are limited _roles_ that variables can take which has led to several re-implementations of formulas.
* Specifying multivariate outcomes is clunky and inelegant.
* Not all modeling functions have a formula method (consistency!).
---
# Specifying Models Without Formulas
Some modeling function have a non-formula (XY) interface. This usually has arguments for the predictors and the outcome(s):
```r
# Usually, the variables must all be numeric
pre_vars <- c("Year_Sold", "Longitude", "Latitude")
model_fn(x = ames_train[, pre_vars],
y = ames_train$Sale_Price)
```
This is inconvenient if you have transformations, factor variables, interactions, or any other operations to apply to the data prior to modeling.
Overall, it is difficult to predict if a package has one or both of these interfaces. For example, `lm` only has formulas.
There is a **third interface**, using _recipes_ that will be discussed later that solves some of these issues.
---
# A Linear Regression Model <img src="images/broom.png" class="title-hex">
Let's start by fitting an ordinary linear regression model to the training set. You can choose the model terms for your model, but I will use a very simple model:
```r
simple_lm <- lm(log10(Sale_Price) ~ Longitude + Latitude, data = ames_train)
```
Before looking at coefficients, we should do some model checking to see if there is anything obviously wrong with the model.
To get the statistics on the individual data points, we will use the awesome `broom` package:
```r
simple_lm_values <- augment(simple_lm)
names(simple_lm_values)
```
```
## [1] "log10.Sale_Price." "Longitude" "Latitude"
## [4] ".fitted" ".se.fit" ".resid"
## [7] ".hat" ".sigma" ".cooksd"
## [10] ".std.resid"
```
---
# Hands-On: Some Basic Diagnostics
From these results, let's take 10 minutes and do some visualizations:
* Plot the observed versus fitted values
* Plot the residuals
* Plot the predicted versus residuals
Are there any _downsides_ to this approach?
---
# parsnip <img src="images/parsnip.png" class="title-hex">
- A tidy unified _interface_ to models
- `lm()` isn't the only way to perform linear regression
- `glmnet` for regularized regression
- `stan` for Bayesian regresion
- `keras` for regression using tensorflow
- But...remember the consistency slide?
- Each interface has its own minutae to remember
- `parsnip` standardizes all that!
---
# parsnip in Action <img src="images/parsnip.png" class="title-hex">
.pull-left[
1) Create specification
2) Set the engine
3) Fit the model
```r
spec_lin_reg <- linear_reg()
spec_lin_reg
```
```
## Linear Regression Model Specification (regression)
```
```r
spec_lm <- set_engine(spec_lin_reg, "lm")
spec_lm
```
```
## Linear Regression Model Specification (regression)
##
## Computational engine: lm
```
]
.pull-right[
```r
fit_lm <- fit(
spec_lm,
log10(Sale_Price) ~ Longitude + Latitude,
data = ames_train
)
fit_lm
```
```
## parsnip model object
##
##
## Call:
## stats::lm(formula = formula, data = data)
##
## Coefficients:
## (Intercept) Longitude Latitude
## -316.153 -2.079 3.014
```
]
---
# Different interfaces <img src="images/parsnip.png" class="title-hex">
`parsnip` is not picky about the interface used to specify terms. Remember, `lm()` only allowed the formula interface!
```r
ames_train_log <- ames_train %>%
mutate(Sale_Price_Log = log10(Sale_Price))
fit_xy(
spec_lm,
y = ames_train_log$Sale_Price_Log,
x = ames_train_log[, c("Latitude", "Longitude")]
)
```
```
## parsnip model object
##
##
## Call:
## stats::lm(formula = formula, data = data)
##
## Coefficients:
## (Intercept) Latitude Longitude
## -316.153 3.014 -2.079
```
---
# Alternative Engines <img src="images/parsnip.png" class="title-hex">
With `parsnip`, it is easy to switch to a different engine, like Stan, to run the
same model with alternative backends.
.pull-left[
```r
spec_stan <-
spec_lin_reg %>%
# Engine specific arguments are passed through here
set_engine("stan", chains = 4, iter = 1000)
# Otherwise, looks exactly the same!
fit_stan <- fit(
spec_stan,
log10(Sale_Price) ~ Longitude + Latitude,
data = ames_train
)
```
]
.pull-right[
```r
coef(fit_stan$fit)
```
```
## (Intercept) Longitude Latitude
## -316.040671 -2.079419 3.007612
```
```r
coef(fit_lm$fit)
```
```
## (Intercept) Longitude Latitude
## -316.152846 -2.079171 3.013530
```
]
---
layout: false
class: inverse, middle, center
# Model Evaluation
---
# Overall Model Statistics
`parsnip` holds the actual model object in the `fit_lm$fit` slot. If you use the `summary()` method on the underlying `lm` object, the bottom shows some statistics:
```r
summary(fit_lm$fit)
```
```
## <snip>
## Residual standard error: 0.1614 on 2196 degrees of freedom
## Multiple R-squared: 0.1808, Adjusted R-squared: 0.1801
## F-statistic: 242.3 on 2 and 2196 DF, p-value: < 2.2e-16
```
These statistics are generated from _predicting on the training data used to fit the model_. This is problematic because it can lead to optimistic results, especially for flexible models (overfitting).
--
### Idea!
The tests set is used for assessing performance. **Should we predict the test set** and use those results to estimate these statistics?
---
<img src="images/nope.png" align = "middle" height = "400px" float = "center">
(Matthew Inman/Exploding Kittens)
---
# Assessing Models
_Save the test set_ until the very end when you have one or two models that are your favorite. We need to use the training set...but how?
--
.pull-left[
### Maybe...
1) For model A, fit on training set, predict on training set
2) For model B, fit on training set, predict on training set
3) Compare performance
]
--
.pull-right[
For some models, it is possible to get very "good" performance by predicting the training set (it was so flexible you overfit it). That's an issue since we will need to make "honest" comparisons between models before we finalize them and run our final choices on the test set.
### If only...
If only we had a method for getting honest performance estimates from the _training set_...
]
---
# Resampling Methods
.pull-left[
These are additional data splitting schemes that are applied to the _training_ set.
They attempt to simulate slightly different versions of the training set. These versions of the original are split into two model subsets:
* The _analysis set_ is used to fit the model (analogous to the training set).
* Performance is determined using the _assessment set_.
This process is repeated many times.
There are different flavors or resampling but we will focus on two methods.
]
.pull-right[
<div id="htmlwidget-bf804960aee579442536" style="width:100%;height:504px;" class="grViz html-widget"></div>
<script type="application/json" data-for="htmlwidget-bf804960aee579442536">{"x":{"diagram":"\ndigraph resampling_diag {\n \ngraph [layout = dot, bgcolor = transparent]\n\nnode [fontname = Helvetica]\n\nall [shape = circle,\n label = \"All\nData\"]\n\nte [shape = circle,\n style = filled,\n label = \"Testing\",\n fillcolor = \"#eeeeb4\"]\n\ntr [shape = circle,\n style = filled,\n label = \"Training\",\n fillcolor = \"#c8d8c2\"]\n\nr1 [shape = rectangle,\n label = \"Resample 1\"]\n\nan1 [shape = oval,\n style = filled,\n label = \"Analysis\",\n fillcolor = honeydew]\nas1 [shape = oval,\n style = filled,\n label = \"Assessment\",\n fillcolor = ivory]\n\nr2 [shape = rectangle,\n label = \"Resample 2\"]\n \nan2 [shape = oval,\n style = filled,\n label = \"Analysis\",\n fillcolor = honeydew]\n\nas2 [shape = oval,\n style = filled,\n label = \"Assessment\",\n fillcolor = ivory]\n\nr3 [shape = rectangle,\n label = \"Resample 3\"]\n \nan3 [shape = oval,\n style = filled,\n label = \"Analysis\",\n fillcolor = honeydew]\nas3 [shape = oval,\n style = filled,\n label = \"Assessment\",\n fillcolor = ivory]\n\nall -> {tr te }\ntr -> {r1 r2 r3 }\nr1 -> {as1 an1 }\nr2 -> {an2 as2 }\nr3 -> {an3 as3 }\n}\n","config":{"engine":"dot","options":null}},"evals":[],"jsHooks":[]}</script>
]
---
# V-Fold Cross-Validation
.pull-left[
Here, we randomly split the training data into _V_ distinct blocks of roughly equal size.
* We leave out the first block of analysis data and fit a model.
* This model is used to predict the held-out block of assessment data.
* We continue this process until we've predicted all _V_ assessment blocks
The final performance is based on the hold-out predictions by _averaging_ the statistics from the _V_ blocks.
]
.pull-right[
<img src="Part_2_Basic_Principles_files/figure-html/rs-diagram-1.svg" width="95%" style="display: block; margin: auto;" />
<br>
_V_ is usually taken to be 5 or 10 and leave one out cross-validation has each sample as a block.
]
---
# 10-Fold Cross-Validation with _n_ = 50
<img src="Part_2_Basic_Principles_files/figure-html/cv-plot-1.svg" width="60%" style="display: block; margin: auto;" />
---
# Bootstrapping
A bootstrap sample is the _same size_ as the training set but each data point is selected _with replacement_.
* _Analysis set_
Will contain more than one replicate of a training set instance.
* _Assessment set_
Contains all samples that were never included in the corresponding bootstrap set.
Often called the "out-of-bag" sample and can vary in size!
On average, 63.2120559% of the training set is contained _at least once_ in the bootstrap sample.
---
# Bootstrapping with _n_ = 50
<img src="Part_2_Basic_Principles_files/figure-html/boot-plot-1.svg" width="60%" style="display: block; margin: auto;" />
---
# Comparing Resampling Methods
If you think of resampling in the same manner as statistical estimators (e.g. maximum likelihood), this becomes a trade-off between bias and variance:
* Variance is (mostly) driven by the number of resamples (e.g. 5-fold CV has larger variance than 10-fold).
* Bias is (mostly) related to how much data is held back. The bootstrap has large bias compared to 10-fold CV.
There are lengthy blog posts about this subject [here](http://bit.ly/1yE0Ss5) and [here](http://bit.ly/1zfoFj2).
I tend to favor 5 repeats of 10-fold cross-validation unless the size of the assessment data is "large enough".
For example, 10% of the Ames training set is 219 properties and this is probably good enough to estimate the RMSE and _R_<sup>2</sup>.
---
# Cross-Validating Using `rsample` <img src="images/rsample.png" class="title-hex">
.pull-left[
```r
set.seed(2453)
cv_splits <- vfold_cv(
data = ames_train,
v = 10,
strata = "Sale_Price"
)
cv_splits %>% slice(1:6)
```
```
## # 10-fold cross-validation using stratification
## # A tibble: 6 x 2
## splits id
## * <list> <chr>
## 1 <split [2K/222]> Fold01
## 2 <split [2K/222]> Fold02
## 3 <split [2K/222]> Fold03
## 4 <split [2K/222]> Fold04
## 5 <split [2K/222]> Fold05
## 6 <split [2K/219]> Fold06
```
]
.pull-right[
Each individual split object is similar to the
`initial_split()` example.
```r
cv_splits$splits[[1]]
```
```
## <1977/222/2199>
```
```r
cv_splits$splits[[1]] %>% analysis() %>% dim()
```
```
## [1] 1977 74
```
```r
cv_splits$splits[[1]] %>% assessment() %>% dim()
```
```
## [1] 222 74
```
]
???
Note that `<split [2K/222]>` rounds to the thousandth and is the same as `<1977/222/2199>`
---
# Resampling the Linear Model <img src="images/rsample.png" class="title-hex"><img src="images/purrr.png" class="title-hex"><img src="images/parsnip.png" class="title-hex"><img src="images/dplyr.png" class="title-hex">
Working with resample tibbles generally involves two things:
1) Small functions that perform an action on a single split.
2) The `purrr` package for `map()`ping over splits.
.pull-left[
```r
geo_form <- log10(Sale_Price) ~ Latitude + Longitude
# Fit on a single analysis resample
fit_model <- function(split, spec) {
fit(
object = spec,
formula = geo_form,
data = analysis(split) # <- pull out training set
)
}
# For each resample, call fit_model()
cv_splits <- cv_splits %>%
mutate(models_lm = map(splits, fit_model, spec_lm))
cv_splits
```
]
.pull-right[
```
## # 10-fold cross-validation using stratification
## # A tibble: 10 x 3
## splits id models_lm
## * <list> <chr> <list>
## 1 <split [2K/222]> Fold01 <fit[+]>
## 2 <split [2K/222]> Fold02 <fit[+]>
## 3 <split [2K/222]> Fold03 <fit[+]>
## 4 <split [2K/222]> Fold04 <fit[+]>
## 5 <split [2K/222]> Fold05 <fit[+]>
## 6 <split [2K/219]> Fold06 <fit[+]>
## 7 <split [2K/219]> Fold07 <fit[+]>
## 8 <split [2K/217]> Fold08 <fit[+]>
## 9 <split [2K/217]> Fold09 <fit[+]>
## 10 <split [2K/217]> Fold10 <fit[+]>
```
]
???
Note that `<fit[+]>` means not model fitting failures.
---
# Resampling the Linear Model <img src="images/purrr.png" class="title-hex"><img src="images/parsnip.png" class="title-hex"><img src="images/dplyr.png" class="title-hex">
Next, we will attach the predictions for each resample:
.pull-left[
```r
compute_pred <- function(split, model) {
# Extract the assessment set
assess <- assessment(split) %>%
mutate(Sale_Price_Log = log10(Sale_Price))
# Compute predictions (a df is returned)
pred <- predict(model, new_data = assess)
bind_cols(assess, pred)
}
```
]
.pull-right[
```r
cv_splits <- cv_splits %>%
mutate(
pred_lm = map2(splits, models_lm, compute_pred)
)
cv_splits
```
```
## # 10-fold cross-validation using stratification
## # A tibble: 10 x 4
## splits id models_lm pred_lm
## * <list> <chr> <list> <list>
## 1 <split [2K/222]> Fold01 <fit[+]> <tibble [222 × 76]>
## 2 <split [2K/222]> Fold02 <fit[+]> <tibble [222 × 76]>
## 3 <split [2K/222]> Fold03 <fit[+]> <tibble [222 × 76]>
## 4 <split [2K/222]> Fold04 <fit[+]> <tibble [222 × 76]>
## 5 <split [2K/222]> Fold05 <fit[+]> <tibble [222 × 76]>
## 6 <split [2K/219]> Fold06 <fit[+]> <tibble [219 × 76]>
## 7 <split [2K/219]> Fold07 <fit[+]> <tibble [219 × 76]>
## 8 <split [2K/217]> Fold08 <fit[+]> <tibble [217 × 76]>
## 9 <split [2K/217]> Fold09 <fit[+]> <tibble [217 × 76]>
## 10 <split [2K/217]> Fold10 <fit[+]> <tibble [217 × 76]>
```
]
---
# Resampling the Linear Model <img src="images/purrr.png" class="title-hex"><img src="images/parsnip.png" class="title-hex"><img src="images/dplyr.png" class="title-hex">
Now, let's compute two performance measures:
.pull-left[
```r
compute_perf <- function(pred_df) {
# Create a function that calculates
# rmse and rsq and returns a data frame
numeric_metrics <- metric_set(rmse, rsq)
numeric_metrics(
pred_df,
truth = Sale_Price_Log,
estimate = .pred
)
}
```
]
.pull-right[
```r
cv_splits <- cv_splits %>%
mutate(perf_lm = map(pred_lm, compute_perf))
select(cv_splits, pred_lm, perf_lm)
```
```
## # A tibble: 10 x 2
## pred_lm perf_lm
## <list> <list>
## 1 <tibble [222 × 76]> <tibble [2 × 3]>
## 2 <tibble [222 × 76]> <tibble [2 × 3]>
## 3 <tibble [222 × 76]> <tibble [2 × 3]>
## 4 <tibble [222 × 76]> <tibble [2 × 3]>
## 5 <tibble [222 × 76]> <tibble [2 × 3]>
## 6 <tibble [219 × 76]> <tibble [2 × 3]>
## 7 <tibble [219 × 76]> <tibble [2 × 3]>
## 8 <tibble [217 × 76]> <tibble [2 × 3]>
## 9 <tibble [217 × 76]> <tibble [2 × 3]>
## 10 <tibble [217 × 76]> <tibble [2 × 3]>
```
]
---
# Resampling the Linear Model <img src="images/purrr.png" class="title-hex"><img src="images/parsnip.png" class="title-hex"><img src="images/dplyr.png" class="title-hex">
And finally, let's compute the average of each metric over the resamples:
.pull-left[
```r
cv_splits$perf_lm[[1]]
```
```
## # A tibble: 2 x 3
## .metric .estimator .estimate
## <chr> <chr> <dbl>
## 1 rmse standard 0.150
## 2 rsq standard 0.303
```
]
.pull-right[
```r
cv_splits %>%
unnest(perf_lm) %>%
group_by(.metric) %>%
summarise(
.avg = mean(.estimate),
.sd = sd(.estimate)
)
```
```
## # A tibble: 2 x 3
## .metric .avg .sd
## <chr> <dbl> <dbl>
## 1 rmse 0.161 0.00787
## 2 rsq 0.183 0.0569
```
]
---
# What Was the Ruckus?
Previously, I mentioned that the performance metrics that were naively calculated from the training set could be optimistic. However, this approach estimates the RMSE to be 0.1614 and cross-validation produced an estimate of 0.1613. What was the big deal?
Linear regression is a _high bias model_. This means that it is fairly incapable at being able to adapt the underlying model function (unless it is linear). For this reason, linear regression is unlikely to **overfit** to the training set and our two estimates are likely to be the same.
We'll consider another model shortly that is _low bias_ since it can, theoretically, easily adapt to a wide variety of true model functions.
However, as before, there is also variance to consider. Linear regression is very stable since it leverages all of the data points to estimate parameters. Other methods, such as tree-based models, are not and can drastically change if the training set data is slightly perturbed.
**tl;dr**: the earlier concern is real but linear regression is less likely to be affected.
---
# Diagnostics Again <img src="images/rsample.png" class="title-hex"><img src="images/purrr.png" class="title-hex"><img src="images/broom.png" class="title-hex">
Now let's look at diagnostics using the predictions from the assessment sets.
```r
holdout_results <-
cv_splits %>%
unnest(pred_lm) %>%
mutate(.resid = Sale_Price_Log - .pred)
holdout_results %>% dim()
```
```
## [1] 2199 78
```
```r
ames_train %>% dim()
```
```
## [1] 2199 74
```
---
# Hands-On: Partial Residual Plots <img src="images/rsample.png" class="title-hex"><img src="images/purrr.png" class="title-hex"><img src="images/broom.png" class="title-hex">
A partial residual plot is used to diagnose what variables _should_ have been in the model.
We can plot the hold-out residuals versus different variables to understand if they should have been in the model
* If the residuals have no pattern in the data, they are likely to be irrelevant.
* If a pattern is seen, it suggests that the variable should have been in the model.
Take 10 min and use `ggplot` to investigate the other predictors using the `holdout_results` data frame. `geom_smooth()` might come in handy.
---
layout: false
class: inverse, middle, center
# Tuning Parameters and Overfitting
---
# _K_-Nearest Neighbors Model
Now let's consider a more flexible model that is _low bias_: _K_-nearest neighbors.
The model stores the training set (including the outcome).
When a new sample is predicted, _K_ training set points are found that are most similar to the new sample being predicted.
The predicted value for the new sample is some summary statistic of the neighbors, usually:
* the mean for regression, or
* the mode for classification.
When _K_ is small, the model might be _too_ responsive to the underlying data. When _K_ is large, it begins to "over smooth" the neighbors and performance suffers.
Ordinarily, since we are computing a distance, we would want to center and scale the predictors. Our two predictors are already on the same scale so we can skip this step.
---
# _5_-Nearest Neighbors Model
<div id="htmlwidget-5ff79be086dbfb367135" style="width:80%;height:504px;" class="leaflet html-widget"></div>
<script type="application/json" data-for="htmlwidget-5ff79be086dbfb367135">{"x":{"options":{"crs":{"crsClass":"L.CRS.EPSG3857","code":null,"proj4def":null,"projectedBounds":null,"options":{}}},"setView":[[42.0611331,-93.6537329],18,[]],"calls":[{"method":"addProviderTiles","args":["CartoDB.DarkMatterNoLabels",null,null,{"errorTileUrl":"","noWrap":false,"detectRetina":false}]},{"method":"addCircles","args":[[42.060766,42.0608079,42.061382,42.061437,42.060872],[-93.65369,-93.65332,-93.653152,-93.652884,-93.652713],6,null,null,{"interactive":true,"className":"","stroke":true,"color":"red","weight":5,"opacity":0.4,"fill":true,"fillColor":"red","fillOpacity":0.2},null,null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[42.0611331,-93.6537329,6,null,null,{"interactive":true,"className":"","stroke":true,"color":"yellow","weight":5,"opacity":0.4,"fill":true,"fillColor":"yellow","fillOpacity":0.2},null,null,null,{"interactive":false,"permanent":false,"direction":"auto","opacity":1,"offset":[0,0],"textsize":"10px","textOnly":false,"className":"","sticky":true},null,null]},{"method":"addCircles","args":[[42.054035,42.060899,42.060779,42.060728,42.06112,42.059193,42.05848,42.057268,42.059169,42.0603514,42.05885,42.056673,42.054453,42.050346,42.05027,42.049297,42.055147,42.055227,42.053395,42.055318,42.051835,42.051684,42.050683,42.049811,42.062352,42.062109,42.060879,42.059617,42.058388,42.058599,42.057102,42.058252,42.057181,42.061928,42.062303,42.061443,42.060977,42.061193,42.060936,42.057103,42.053243,42.051721,42.051674,42.052457,42.052437,42.050909,42.05306,42.051827,42.051653,42.052347,42.036255,42.036113,42.03548,42.036659,42.0347,42.036633,42.034555,42.0360754,42.036535,42.034793,42.035685,42.034856,42.03457,42.035333,42.046825,42.045773,42.048566,42.047782,42.046145,42.046145,42.046424,42.046114,42.0470316,42.04638,42.043704,42.034561,42.048606,42.046322,42.043038,42.043306,42.043821,42.046574,42.042205,42.043363,42.039085,42.038971,42.040326,42.041146,42.039211,42.038538,42.035256,42.035482,42.035943,42.036095,42.037424,42.048494,42.0459375,42.049514,42.044895,42.043984,42.042908,42.043969,42.044052,42.044176,42.0435919,42.042308,42.040396,42.04137,42.038443,42.038521,42.038249,42.0381282,42.035869,42.040085,42.041119,42.03594,42.0347571,42.034748,42.034851,42.036873,42.037093,42.033313,42.032134,42.031363,42.031381,42.0303783,42.033279,42.033644,42.03128,42.0303113,42.030383,42.030331,42.028099,42.029146,42.028145,42.03005,42.028164,42.028165,42.033642,42.030187,42.033621,42.033563,42.0336,42.033665,42.033631,42.031556,42.031337,42.032302,42.027986,42.028888,42.028875,42.024141,42.026741,42.032432,42.028256,42.026752,42.02616,42.022825,42.034451,42.033386,42.033387,42.033008,42.03237,42.029867,42.03069,42.029731,42.030519,42.03128,42.030082,42.03387,42.032164,42.026547,42.024673,42.028226,42.026533,42.024208,42.025173,42.0247497,42.024126,42.025019,42.024162,42.03374,42.032076,42.0311198,42.024614,42.024604,42.030601,42.0298532,42.024318,42.018411,42.01867,42.022186,42.022045,42.021133,42.018662,42.019069,42.018721,42.016275,42.016253,42.01404,42.014092,42.0203585,42.020635,42.021163,42.020306,42.019849,42.019629,42.020196,42.021793,42.021583,42.022674,42.022702,42.017737,42.0177987,42.0163944,42.014682,42.011005,42.010606,42.009345,42.009337,42.010797,42.021414,42.021474,42.021456,42.021327,42.02152,41.99706,41.997052,41.996065,41.994784,41.994013,41.997741,41.995278,41.994284,41.995489,41.99435,41.99321,41.990934,41.993253,41.991004,41.991861,41.992119,41.9917,41.991824,41.991558,41.988729,41.9889358,41.98766,41.986647,41.9913,41.989848,42.0530363,42.059956,42.063294,42.062956,42.060598,42.062903,42.061981,42.061633,42.058274,42.058059,42.059645,42.058194,42.05793,42.058173,42.057854,42.058201,42.058747,42.059242,42.060265,42.05184,42.052102,42.05288,42.052915,42.050345,42.049394,42.049106,42.0503771,42.049406,42.053166,42.052355,42.052448,42.05267,42.04891,42.056398,42.054626,42.055228,42.055154,42.05337,42.053306,42.053307,42.0564419,42.056461,42.052338,42.051661,42.051823,42.051822,42.050615,42.050705,42.050682,42.050213,42.050134,42.050222,42.050397,42.0488934,42.048486,42.0623099,42.063304,42.063025,42.06128,42.062992,42.062942,42.062776,42.062789,42.0623985,42.062108,42.060353,42.060575,42.061678,42.060178,42.0599123,42.0598989,42.061404,42.059241,42.058782,42.058886,42.059177,42.059179,42.059183,42.058336,42.05851,42.057164,42.057089,42.057019,42.056983,42.057277,42.057467,42.06232,42.063183,42.062058,42.062404,42.062266,42.062081,42.062086,42.061562,42.059377,42.061739,42.061149,42.061114,42.061656,42.061365,42.063283,42.058368,42.05859,42.059481,42.059068,42.059605,42.057834,42.057833,42.057098,42.057093,42.056955,42.058668,42.053749,42.053041,42.052668,42.050411,42.049701,42.05161,42.049921,42.050971,42.054282,42.055036,42.053212,42.053258,42.051804,42.051797,42.051793,42.051645,42.051648,42.051652,42.050406,42.052337,42.052346,42.052127,42.051378,42.052122,42.051247,42.051251,42.050895,42.037557,42.037611,42.037661,42.036001,42.035282,42.037923,42.038127,42.037756,42.037434,42.036852,42.036905,42.036576,42.035518,42.037607,42.035968,42.035756,42.0365385,42.035287,42.035806,42.035289,42.03466,42.034602,42.034581,42.037236,42.047669,42.048416,42.048488,42.047338,42.047101,42.046144,42.046418,42.043782,42.043553,42.043019,42.034509,42.047708,42.048009,42.048761,42.04876,42.046476,42.046476,42.045799,42.043236,42.043673,42.044693,42.048796,42.0467129,42.046635,42.044821,42.043935,42.043145,42.044774,42.040645,42.0407264,42.040011,42.039902,42.040888,42.038596,42.035489,42.035443,42.036182,42.034741,42.037452,42.036178,42.049306,42.048294,42.04806,42.04579,42.044125,42.044083,42.044914,42.04297,42.042233,42.043238,42.040931,42.040857,42.0385265,42.038356,42.038398,42.0372232,42.034918,42.034686,42.034754,42.035829,42.034746,42.037144,42.037328,42.036002,42.034668,42.034574,42.03528,42.0417879,42.04015,42.040295,42.04124,42.038509,42.038349,42.039047,42.040766,42.038811,42.037129,42.035787,42.035841,42.037233,42.03602,42.035968,42.03572,42.035706,42.037214,42.0347542,42.034858,42.038948,42.038257,42.0342224,42.033273,42.0320748,42.0323259,42.032202,42.0319053,42.031305,42.0304742,42.030327,42.0303538,42.030282,42.033381,42.033579,42.032301,42.032227,42.030523,42.0296722,42.029007,42.028957,42.029305,42.0276972,42.0282044,42.027227,42.023218,42.023222,42.033558,42.0333765,42.031542,42.033406,42.033616,42.03329,42.033474,42.031395,42.03252,42.032359,42.031292,42.03235,42.0310861,42.028948,42.027854,42.027998,42.026956,42.025306,42.023085,42.025796,42.0242487,42.022828,42.032681,42.028101,42.028098,42.0269586,42.022825,42.022978,42.033376,42.033633,42.032367,42.032388,42.030628,42.031138,42.032564,42.026548,42.023229,42.0240278,42.028468,42.027656,42.027506,42.023982,42.023916,42.026133,42.025996,42.026307,42.0247212,42.022754,42.034183,42.0318449,42.03254,42.030625,42.030623,42.03252,42.031622,42.031834,42.031623,42.031545,42.0314606,42.0312822,42.03057,42.030531,42.0310946,42.0309301,42.026482,42.025293,42.025577,42.024628,42.024596,42.024613,42.024765,42.024327,42.02322,42.02792,42.021171,42.021207,42.020817,42.019784,42.018996,42.018597,42.017569,42.016903,42.018667,42.016862,42.016399,42.021384,42.020087,42.019184,42.019697,42.019548,42.019691,42.020991,42.021788,42.020843,42.017109,42.018722,42.018847,42.01877,42.018703,42.016973,42.016978,42.0181479,42.018875,42.018866,42.018006,42.017856,42.017856,42.016819,42.016797,42.016468,42.013512,42.013392,42.020123,42.021246,42.021219,42.018988,42.0186549,42.0196717,42.018928,42.017026,42.01896,42.022478,42.019423,42.0217997,42.021496,42.019004,42.01822,42.019381,42.018592,42.022092,42.022088,42.022091,42.020123,42.019713,42.017564,42.016921,42.016182,42.018931,42.017889,42.017835,42.016943,42.016835,42.016957,42.016067,42.0191252,42.018707,42.017583,42.017574,42.016684,42.013169,42.014943,42.013753,42.0125,42.009489,42.009489,42.01141,42.009134,42.021425,42.021596,42.020184,42.020002,42.008683,42.0183,41.996888,41.996672,41.997119,41.99539,41.997067,41.995905,41.996066,42.001246,42.00138,41.995027,41.995058,41.993759,41.994727,41.994695,41.997684,41.998952,41.996093,41.992964,41.992193,41.992122,41.991786,41.992919,41.992185,41.9928219,41.99217,41.992539,41.991786,41.991365,41.988222,41.986502,41.986509,41.99095,42.051446,42.049587,42.05996,42.061231,42.060771,42.060822,42.060639,42.0623,42.062976,42.061374,42.060865,42.06076,42.059408,42.059364,42.058445,42.05701,42.061394,42.060241,42.059792,42.0586718,42.056015,42.054514,42.054562,42.054439,42.054455,42.054211,42.055432,42.050326,42.051473,42.050679,42.049449,42.049609,42.051074,42.056306,42.054328,42.0564348,42.054693,42.051479,42.051678,42.051659,42.050001,42.05068,42.050257,42.04845,42.062046,42.0632692,42.062925,42.062259,42.0624143,42.061133,42.06027,42.060427,42.060425,42.0599011,42.058683,42.058573,42.058649,42.057028,42.058694,42.057164,42.0579589,42.056766,42.0570189,42.057446,42.057179,42.0571198,42.057468,42.056616,42.062299,42.062004,42.063301,42.061316,42.059635,42.061544,42.061312,42.058377,42.057986,42.05695,42.058581,42.053879,42.053666,42.055748,42.055777,42.0522319,42.052272,42.050383,42.05162,42.049501,42.049696,42.050692,42.054236,42.055157,42.054415,42.054366,42.054319,42.055517,42.054227,42.053183,42.051646,42.05165,42.050307,42.052456,42.05138,42.052173,42.051224,42.050899,42.037836,42.035271,42.035132,42.037918,42.037806,42.03805,42.036525,42.037258,42.035875,42.035878,42.036089,42.034535,42.035666,42.036501,42.036466,42.036039,42.035179,42.034614,42.03569,42.03459,42.0375,42.034532,42.047666,42.048607,42.047467,42.048089,42.048191,42.047806,42.047571,42.047548,42.047102,42.047103,42.046381,42.046377,42.046372,42.046088,42.046085,42.046961,42.046647,42.047171,42.047171,42.047171,42.045012,42.044419,42.048726,42.047928,42.0492538,42.049141,42.048762,42.046399,42.042943,42.04378,42.0458538,42.0471033,42.047541,42.048185,42.0453551,42.044262,42.044058,42.044851,42.043845,42.044101,42.042398,42.044773,42.044773,42.04066,42.041811,42.038323,42.0418699,42.041172,42.035582,42.035571,42.034563,42.035741,42.036178,42.036102,42.03713,42.034679,42.048952,42.047782,42.0470799,42.046935,42.042373,42.0423032,42.044736,42.043988,42.044791,42.044853,42.044304,42.042187,42.0438199,42.042023,42.042304,42.040479,42.040301,42.040391,42.039445,42.03471,42.037302,42.037459,42.035893,42.035723,42.035938,42.035222,42.040021,42.040142,42.039568,42.03807,42.037125,42.037104,42.035813,42.037006,42.037291,42.034811,42.034564,42.034789,42.034686,42.034636,42.034801,42.036973,42.035724,42.0342174,42.033379,42.032611,42.0330566,42.032419,42.0304142,42.030418,42.032161,42.032272,42.030406,42.0303597,42.033571,42.033249,42.032008,42.032381,42.0311,42.0304823,42.029058,42.029253,42.029281,42.028287,42.02793,42.027073,42.027032,42.029084,42.02813,42.0288284,42.029209,42.0272517,42.02774,42.026691,42.0272664,42.0343116,42.03047,42.033568,42.033699,42.03337,42.033511,42.033473,42.033366,42.033493,42.031354,42.031493,42.032476,42.031461,42.031496,42.031467,42.030388,42.028426,42.028274,42.029556,42.029038,42.0286305,42.0255246,42.024111,42.024265,42.0242588,42.02295,42.026478,42.0262558,42.024885,42.023716,42.034391,42.034409,42.033423,42.031281,42.02393,42.033604,42.033225,42.032365,42.031571,42.031123,42.031348,42.03156,42.034428,42.033454,42.033834,42.034414,42.032495,42.032566,42.033692,42.032653,42.033559,42.029453,42.024662,42.0243033,42.028568,42.028595,42.027332,42.027555,42.028381,42.028233,42.028188,42.0280297,42.024025,42.025036,42.0236702,42.0244599,42.022902,42.022769,42.02283,42.033912,42.031077,42.030621,42.025411,42.025275,42.027368,42.027193,42.029437,42.030276,42.0249247,42.025781,42.021173,42.01915,42.018501,42.018786,42.017517,42.017766,42.015974,42.015949,42.021234,42.019769,42.02107,42.020796,42.020991,42.018735,42.018412,42.018354,42.017598,42.01727,42.017484,42.018186,42.016975,42.016207,42.016341,42.014435,42.016709,42.017866,42.016277,42.016254,42.017854,42.016262,42.014549,42.013952,42.013641,42.013622,42.013603,42.015975,42.0138316,42.015927,42.015927,42.016121,42.016122,42.01975,42.019937,42.020905,42.019996,42.02099,42.019861,42.018991,42.018852,42.01883,42.017386,42.016804,42.018898,42.020483,42.0202945,42.020394,42.019544,42.020112,42.021582,42.01797,42.017962,42.0198028,42.019959,42.02224,42.022238,42.022089,42.019986,42.017413,42.019092,42.019005,42.01791,42.017834,42.0176853,42.01789,42.0168678,42.016072,42.019833,42.019617,42.018443,42.018888,42.018766,42.01601,42.015667,42.014567,42.012638,42.009489,42.022607,42.021806,42.022797,42.022516,42.0213831,42.021276,42.0214037,42.020379,42.021389,42.018806,42.021162,42.021506,42.022458,42.022626,42.009326,42.008803,42.0091899,41.99507,41.997124,41.997062,41.997069,41.996903,41.995991,41.998543,42.00514,41.998999,41.994841,41.99373,41.995142,41.999812,41.999575,41.9976055,41.998554,41.99639,41.99423,41.99312,41.993611,41.99338,41.990054,41.993059,41.993185,41.99261,41.991372,41.990899,41.991883,41.991779,41.993249,41.988675,41.987109,41.988934,41.98811,41.988076,41.987289,42.051297,42.051357,42.049671,42.061275,42.061664,42.061242,42.059592,42.058953,42.059562,42.059517,42.059293,42.057006,42.05817,42.057022,42.059375,42.059239,42.059309,42.059304,42.060431,42.060144,42.059743,42.058893,42.058996,42.054368,42.055545,42.054941,42.055217,42.054427,42.05622,42.056211,42.052353,42.053271,42.05026,42.049832,42.050075,42.050372,42.049956,42.048765,42.055392,42.054612,42.053547,42.05346,42.053503,42.0562952,42.054789,42.055319,42.052669,42.052698,42.050397,42.05057,42.049996,42.0488205,42.062574,42.063296,42.063298,42.0632689,42.0632722,42.063141,42.061976,42.0619709,42.062259,42.0628153,42.0624082,42.062434,42.061131,42.06027,42.060269,42.061133,42.060576,42.060427,42.059561,42.06113,42.059761,42.059677,42.058634,42.059211,42.059202,42.059194,42.059175,42.059176,42.059176,42.05826,42.058284,42.056827,42.057124,42.0568529,42.057209,42.063388,42.063381,42.062483,42.062279,42.0626729,42.06208,42.062533,42.062887,42.062931,42.062974,42.063106,42.063342,42.062584,42.062581,42.062946,42.063301,42.061713,42.061483,42.061541,42.061318,42.061392,42.060021,42.058858,42.057981,42.058401,42.057836,42.058897,42.0533209,42.053364,42.055751,42.055627,42.05359,42.053436,42.053467,42.05198,42.052361,42.052247,42.051813,42.05048,42.049518,42.052416,42.054408,42.055757,42.054177,42.054417,42.054354,42.054309,42.054514,42.054154,42.054153,42.054157,42.053185,42.053186,42.053108,42.053067,42.051795,42.051657,42.050206,42.050301,42.051681,42.052269,42.051377,42.052267,42.052146,42.051054,42.037586,42.037643,42.03722,42.036028,42.035259,42.036038,42.035071,42.035678,42.0362103,42.034678,42.035871,42.035857,42.034532,42.034724,42.034652,42.034819,42.037652,42.037502,42.034673,42.047618,42.0474249,42.047406,42.047711,42.047705,42.047687,42.047104,42.047104,42.046144,42.046145,42.046145,42.046405,42.046137,42.046135,42.046411,42.044383,42.044762,42.042994,42.043754,42.042961,42.037103,42.0349702,42.048488,42.046549,42.047758,42.04849,42.047615,42.043005,42.04259,42.04389,42.0421698,42.047811,42.048292,42.043984,42.043929,42.043121,42.042124,42.04227,42.044036,42.042577,42.042485,42.044921,42.043627,42.039141,42.040143,42.039069,42.0413937,42.0417604,42.04074,42.041332,42.039212,42.036575,42.035684,42.036023,42.036223,42.034615,42.0362,42.034906,42.034755,42.048934,42.045809,42.0459325,42.046882,42.044053,42.043143,42.044735,42.0423095,42.045669,42.043952,42.043233,42.0426969,42.042728,42.0418697,42.041243,42.040773,42.040451,42.03981,42.039369,42.039482,42.03846,42.03837,42.038545,42.034789,42.0347206,42.034812,42.035932,42.03725,42.0380982,42.0357,42.035779,42.035854,42.034878,42.039983,42.038888,42.035733,42.037329,42.037203,42.035954,42.037106,42.035862,42.036002,42.037084,42.034685,42.034614,42.034564,42.036949,42.035423,42.0346,42.035034,42.034403,42.032254,42.03131,42.031369,42.0311108,42.033405,42.032343,42.033385,42.033489,42.033313,42.032276,42.032357,42.0318018,42.030311,42.03013,42.0299846,42.029218,42.029198,42.029223,42.0280396,42.02819,42.027154,42.0277574,42.026089,42.0268089,42.0272605,42.0272703,42.033311,42.034339,42.030823,42.033336,42.032399,42.031433,42.031438,42.03142,42.032505,42.032386,42.031321,42.031483,42.0314873,42.0304477,42.029451,42.026912,42.026998,42.027088,42.0299664,42.02911,42.02752,42.0275775,42.025229,42.021576,42.0249982,42.0242321,42.0227,42.022963,42.0238391,42.026723,42.025893,42.0261614,42.022951,42.033524,42.033285,42.028048,42.028004,42.033272,42.032426,42.034453,42.034429,42.033193,42.032385,42.032098,42.031533,42.029562,42.031215,42.029679,42.030591,42.032528,42.034421,42.033557,42.032638,42.033726,42.032699,42.02868,42.02384,42.026185,42.023229,42.028424,42.028236,42.024949,42.025818,42.025001,42.0205201,42.0246868,42.023874,42.023945,42.023451,42.022824,42.034453,42.032467,42.031566,42.02667,42.026642,42.025666,42.025707,42.025264,42.025281,42.025558,42.024598,42.024594,42.024614,42.025156,42.024485,42.023226,42.029694,42.029803,42.027969,42.024734,42.024305,42.021324,42.02121,42.020966,42.019032,42.019083,42.019028,42.018378,42.016896,42.016297,42.016214,42.021386,42.0218643,42.01972,42.021163,42.021056,42.020861,42.018518,42.018849,42.016973,42.0172,42.018864,42.016277,42.017753,42.015974,42.014039,42.013576,42.01343,42.013467,42.0210331,42.020703,42.021195,42.02103,42.020893,42.019926,42.01917,42.018873,42.018922,42.0164532,42.016642,42.018973,42.018965,42.020783,42.020504,42.021436,42.017962,42.01873,42.019937,42.01902,42.018761,42.017888,42.017889,42.017103,42.017106,42.0162813,42.016216,42.016217,42.016217,42.016853,42.016067,42.0199537,42.018796,42.018504,42.018941,42.017573,42.016961,42.013003,42.0145503,42.01265,42.011506,42.011836,42.011343,42.022836,42.022474,42.022658,42.022566,42.022685,42.0228,42.021547,42.021278,42.021497,42.020161,42.020077,42.0214218,42.021555,42.009401,41.994207,41.994206,41.995218,41.995973,41.995931,41.995512,41.994188,42.005692,42.001694,41.99854,42.0004101,41.994241,41.9941,41.995088,41.998023,41.997992,41.997126,41.996089,41.997299,41.995341,41.993986,41.997352,41.993288,41.993356,41.991211,41.992917,41.99284,41.992145,41.992516,41.992479,41.991709,41.991641,41.991868,41.991612,41.991098,41.989581,41.990264,41.991371,41.987606,41.98822,41.9881729,41.98651,41.986588,42.0531078,42.052519,42.050507,42.061407,42.060425,42.06048,42.060736,42.061879,42.062828,42.062802,42.062798,42.062891,42.062956,42.060625,42.0591,42.058421,42.059599,42.058136,42.060459,42.060527,42.060516,42.061478,42.061008,42.060111,42.059957,42.061096,42.0593867,42.056702,42.058563,42.055607,42.054367,42.054956,42.05327,42.0524029,42.053418,42.050514,42.050176,42.051077,42.052359,42.04977,42.049608,42.055131,42.053459,42.05446,42.052655,42.0524739,42.0527019,42.051798,42.051672,42.051673,42.051664,42.050595,42.048946,42.050705,42.050441,42.061472,42.061901,42.061284,42.062109,42.061134,42.060272,42.060271,42.060425,42.060577,42.060424,42.060357,42.061544,42.061377,42.059636,42.059825,42.058544,42.05869,42.059017,42.059184,42.057164,42.058231,42.057164,42.05758,42.063304,42.062442,42.062361,42.061915,42.061928,42.063031,42.062576,42.061984,42.061987,42.062574,42.063298,42.063329,42.063185,42.062374,42.0623,42.063301,42.063301,42.062831,42.062873,42.060239,42.060293,42.059803,42.060836,42.060074,42.05853,42.057905,42.057838,42.05696,42.058461,42.05443,42.05384,42.053801,42.053314,42.053154,42.053466,42.049687,42.049528,42.054318,42.054176,42.054175,42.053183,42.052265,42.052272,42.052346,42.051355,42.0
gitextract_urgunsiu/ ├── .gitignore ├── LICENSE ├── Materials/ │ ├── Backup_Slides.R │ ├── Backup_Slides.html │ ├── Data/ │ │ └── okc.RData │ ├── Materials.Rproj │ ├── Part_1_Getting_Started.R │ ├── Part_1_Getting_Started.html │ ├── Part_2_Basic_Principles.R │ ├── Part_2_Basic_Principles.html │ ├── Part_2_Basic_Principles_files/ │ │ ├── DiagrammeR-styles-0.2/ │ │ │ └── styles.css │ │ ├── Proj4Leaflet-1.0.1/ │ │ │ ├── proj4-compressed.js │ │ │ └── proj4leaflet.js │ │ ├── grViz-binding-1.0.0/ │ │ │ └── grViz.js │ │ ├── htmlwidgets-1.3/ │ │ │ └── htmlwidgets.js │ │ ├── leaflet-1.3.1/ │ │ │ ├── leaflet.css │ │ │ └── leaflet.js │ │ ├── leaflet-binding-2.0.2/ │ │ │ └── leaflet.js │ │ ├── leaflet-providers-1.1.17/ │ │ │ ├── leaflet-providers.js │ │ │ ├── package.json │ │ │ ├── providers.json │ │ │ └── rstudio_install.md │ │ ├── leaflet-providers-plugin-2.0.2/ │ │ │ └── leaflet-providers-plugin.js │ │ ├── leafletfix-1.0.0/ │ │ │ └── leafletfix.css │ │ ├── rstudio_leaflet-1.3.1/ │ │ │ └── rstudio_leaflet.css │ │ └── viz-0.3/ │ │ └── viz.js │ ├── Part_2_Hands_On_1.R │ ├── Part_2_Hands_On_2.R │ ├── Part_3_Feature_Engineering.R │ ├── Part_3_Feature_Engineering.html │ ├── Part_3_Hands_On_1.R │ ├── Part_4_Regression_Modeling.R │ ├── Part_4_Regression_Modeling.html │ ├── Part_4_Regression_Modeling_files/ │ │ └── figure-html/ │ │ └── widgets/ │ │ ├── girafe_libs/ │ │ │ ├── d3-lasso-0.0.5/ │ │ │ │ └── lasso.js │ │ │ ├── ggiraphjs-0.1.0/ │ │ │ │ └── styles.css │ │ │ ├── girafe-binding-0.6.0/ │ │ │ │ └── girafe.js │ │ │ ├── htmlwidgets-1.3/ │ │ │ │ └── htmlwidgets.js │ │ │ └── pymjs-1.3.2/ │ │ │ └── pym.v1.js │ │ ├── widget_bagged-pred-plot.html │ │ ├── widget_bagged-resid-plot.html │ │ ├── widget_glmn-pred-plot.html │ │ ├── widget_glmn-resid-plot.html │ │ ├── widget_mars-pred-plot.html │ │ └── widget_mars-resid-plot.html │ ├── Part_5_Classification.R │ ├── Part_5_Classification.html │ ├── Part_5_Hands_On_1.R │ ├── Part_5_Hands_On_2.R │ ├── RData/ │ │ ├── glmn_mod.RData │ │ ├── mars_gcv_bag.RData │ │ ├── mars_gcv_mod.RData │ │ └── mars_mod.RData │ ├── Room_1_Scratch.R │ ├── fonts_mtheme.css │ ├── fonts_mtheme_max.css │ ├── libs/ │ │ ├── DiagrammeR-styles-0.2/ │ │ │ └── styles.css │ │ ├── Proj4Leaflet-1.0.1/ │ │ │ ├── proj4-compressed.js │ │ │ └── proj4leaflet.js │ │ ├── crosstalk-1.0.0/ │ │ │ ├── css/ │ │ │ │ └── crosstalk.css │ │ │ └── js/ │ │ │ └── crosstalk.js │ │ ├── d3-lasso-0.0.5/ │ │ │ └── lasso.js │ │ ├── ggiraphjs-0.1.0/ │ │ │ └── styles.css │ │ ├── girafe-binding-0.6.0/ │ │ │ └── girafe.js │ │ ├── grViz-binding-1.0.0/ │ │ │ └── grViz.js │ │ ├── htmlwidgets-1.2/ │ │ │ └── htmlwidgets.js │ │ ├── htmlwidgets-1.3/ │ │ │ └── htmlwidgets.js │ │ ├── jquery-1.11.3/ │ │ │ ├── jquery-AUTHORS.txt │ │ │ └── jquery.js │ │ ├── kePrint-0.0.1/ │ │ │ └── kePrint.js │ │ ├── leaflet-1.3.1/ │ │ │ ├── leaflet.css │ │ │ └── leaflet.js │ │ ├── leaflet-binding-2.0.1/ │ │ │ ├── leaflet.js │ │ │ ├── leaflet.yaml │ │ │ ├── lib/ │ │ │ │ ├── leaflet/ │ │ │ │ │ ├── leaflet.css │ │ │ │ │ └── leaflet.js │ │ │ │ ├── leaflet-measure/ │ │ │ │ │ └── leaflet-measure.css │ │ │ │ ├── leaflet-omnivore/ │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── index.js │ │ │ │ │ └── package.json │ │ │ │ ├── leaflet-providers/ │ │ │ │ │ ├── leaflet-providers.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── providers.json │ │ │ │ │ └── rstudio_install.md │ │ │ │ ├── leafletfix/ │ │ │ │ │ └── leafletfix.css │ │ │ │ └── rstudio_leaflet/ │ │ │ │ └── rstudio_leaflet.css │ │ │ └── plugins/ │ │ │ ├── Leaflet-MiniMap/ │ │ │ │ ├── Control.MiniMap.css │ │ │ │ ├── Control.MiniMap.js │ │ │ │ └── Minimap-binding.js │ │ │ ├── Leaflet.EasyButton/ │ │ │ │ ├── EasyButton-binding.js │ │ │ │ ├── LICENSE │ │ │ │ ├── easy-button.css │ │ │ │ └── easy-button.js │ │ │ ├── Leaflet.Graticule/ │ │ │ │ ├── Graticule-binding.js │ │ │ │ ├── L.Graticule.js │ │ │ │ └── Leaflet.Graticule.js │ │ │ ├── Leaflet.SimpleGraticule/ │ │ │ │ ├── L.SimpleGraticule.css │ │ │ │ ├── L.SimpleGraticule.js │ │ │ │ └── SimpleGraticule-binding.js │ │ │ ├── Leaflet.Terminator/ │ │ │ │ ├── L.Terminator.js │ │ │ │ └── Terminator-binding.js │ │ │ ├── Leaflet.awesome-markers/ │ │ │ │ ├── fonts/ │ │ │ │ │ └── FontAwesome.otf │ │ │ │ ├── leaflet.awesome-markers.css │ │ │ │ └── leaflet.awesome-markers.js │ │ │ ├── Leaflet.markercluster/ │ │ │ │ ├── MIT-LICENCE.txt │ │ │ │ ├── MarkerCluster.Default.css │ │ │ │ ├── MarkerCluster.css │ │ │ │ ├── leaflet.markercluster.freezable.js │ │ │ │ ├── leaflet.markercluster.js │ │ │ │ ├── leaflet.markercluster.layersupport.js │ │ │ │ └── package.json │ │ │ ├── Proj4Leaflet/ │ │ │ │ ├── proj4-compressed.js │ │ │ │ └── proj4leaflet.js │ │ │ ├── leaflet-locationfilter/ │ │ │ │ ├── locationfilter-bindings.js │ │ │ │ ├── locationfilter.css │ │ │ │ └── locationfilter.js │ │ │ └── leaflet-providers-plugin/ │ │ │ └── leaflet-providers-plugin.js │ │ ├── leaflet-binding-2.0.2/ │ │ │ └── leaflet.js │ │ ├── leaflet-providers-1.1.17/ │ │ │ ├── leaflet-providers.js │ │ │ ├── package.json │ │ │ ├── providers.json │ │ │ └── rstudio_install.md │ │ ├── leaflet-providers-plugin-2.0.1/ │ │ │ └── leaflet-providers-plugin.js │ │ ├── leaflet-providers-plugin-2.0.2/ │ │ │ └── leaflet-providers-plugin.js │ │ ├── leafletfix-1.0.0/ │ │ │ └── leafletfix.css │ │ ├── plotly-binding-4.8.0/ │ │ │ └── plotly.js │ │ ├── plotly-htmlwidgets-css-1.39.2/ │ │ │ └── plotly-htmlwidgets.css │ │ ├── pymjs-1.3.2/ │ │ │ └── pym.v1.js │ │ ├── rstudio_leaflet-1.3.1/ │ │ │ └── rstudio_leaflet.css │ │ ├── viz-0.3/ │ │ │ └── viz.js │ │ └── widgetframe-binding-0.3.1/ │ │ └── widgetframe.js │ ├── macros.js │ ├── mtheme_max.css │ ├── scratch-part-3.R │ ├── scratch_1.R │ ├── tidymodels.R │ └── tidymodels.html ├── Preparations/ │ └── installs.R └── README.md
Showing preview only (539K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (5459 symbols across 29 files)
FILE: Materials/Part_2_Basic_Principles_files/Proj4Leaflet-1.0.1/proj4-compressed.js
function e (line 1) | function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&re...
function Point (line 1) | function Point(a,b,c){if(!(this instanceof Point))return new Point(a,b,c...
function Projection (line 1) | function Projection(a,b){if(!(this instanceof Projection))return new Pro...
function d (line 1) | function d(a,b,c){var d;return Array.isArray(c)?(d=g(a,b,c),3===c.length...
function e (line 1) | function e(a){return a instanceof f?a:a.oProj?a.oProj:f(a)}
function proj4 (line 1) | function proj4(a,b,c){a=e(a);var f,g=!1;return"undefined"==typeof b?(b=a...
function j (line 1) | function j(a){return a===d||a===e}
function d (line 1) | function d(a){var b=this;if(2===arguments.length){var c=arguments[1];"st...
function d (line 1) | function d(a){return"string"==typeof a}
function e (line 1) | function e(a){return a in i}
function f (line 1) | function f(a){var b=["GEOGCS","GEOCCS","PROJCS","LOCAL_CS"];return b.red...
function g (line 1) | function g(a){return"+"===a[0]}
function h (line 1) | function h(a){return d(a)?e(a)?i[a]:f(a)?j(a):g(a)?k(a):void 0:a}
function d (line 1) | function d(a,b){var c=g.length;return a.names?(g[c]=a,a.names.forEach(fu...
function d (line 2) | function d(a){return a}
function m (line 2) | function m(a,b){return(a.datum.datum_type===f||a.datum.datum_type===g)&&...
function d (line 2) | function d(a,b,c){a[b]=c.map(function(a){var b={};return e(a,b),b}).redu...
function e (line 2) | function e(a,b){var c;return Array.isArray(a)?(c=a.shift(),"PARAMETER"==...
function f (line 2) | function f(a,b){var c=b[0],d=b[1];!(c in a)&&d in a&&(a[c]=a[d],3===b.le...
function g (line 2) | function g(a){return a*i}
function h (line 2) | function h(a){function b(b){var c=a.to_meter||1;return parseFloat(b,10)*...
function d (line 3) | function d(a){return a*(Math.PI/180)}
function e (line 3) | function e(a){return 180*(a/Math.PI)}
function f (line 3) | function f(a){var b,c,e,f,g,i,j,k,l,m=a.lat,n=a.lon,o=6378137,p=.0066943...
function g (line 3) | function g(a){var b=a.northing,c=a.easting,d=a.zoneLetter,f=a.zoneNumber...
function h (line 3) | function h(a){var b="Z";return 84>=a&&a>=72?b="X":72>a&&a>=64?b="W":64>a...
function i (line 3) | function i(a,b){var c="00000"+a.easting,d="00000"+a.northing;return a.zo...
function j (line 3) | function j(a,b,c){var d=k(c),e=Math.floor(a/1e5),f=Math.floor(b/1e5)%20;...
function k (line 3) | function k(a){var b=a%q;return 0===b&&(b=q),b}
function l (line 3) | function l(a,b,c){var d=c-1,e=r.charCodeAt(d),f=s.charCodeAt(d),g=e+a-1,...
function m (line 3) | function m(a){if(a&&0===a.length)throw"MGRSPoint coverting from nothing"...
function n (line 3) | function n(a,b){for(var c=r.charCodeAt(b-1),d=1e5,e=!1;c!==a.charCodeAt(...
function o (line 3) | function o(a,b){if(a>"V")throw"MGRSPoint given invalid Northing "+a;for(...
function p (line 3) | function p(a){var b;switch(a){case"C":b=11e5;break;case"D":b=2e6;break;c...
FILE: Materials/Part_2_Basic_Principles_files/grViz-binding-1.0.0/grViz.js
function makeResponsive (line 19) | function makeResponsive(el){
FILE: Materials/Part_2_Basic_Principles_files/htmlwidgets-1.3/htmlwidgets.js
function querySelectorAll (line 19) | function querySelectorAll(scope, selector) {
function asArray (line 28) | function asArray(value) {
function extend (line 37) | function extend(target /*, ... */) {
function forEach (line 53) | function forEach(values, callback, thisArg) {
function overrideMethod (line 70) | function overrideMethod(target, methodName, funcSource) {
function delegateMethod (line 98) | function delegateMethod(delegator, delegatee, methodName) {
function elementData (line 118) | function elementData(el, name, value) {
function escapeRegExp (line 131) | function escapeRegExp(str) {
function hasClass (line 135) | function hasClass(el, className) {
function filterByClass (line 144) | function filterByClass(elements, className, include) {
function on (line 153) | function on(obj, eventName, func) {
function off (line 161) | function off(obj, eventName, func) {
function unpackPadding (line 172) | function unpackPadding(value) {
function paddingToCss (line 190) | function paddingToCss(paddingObj) {
function px (line 195) | function px(x) {
function sizingPolicy (line 205) | function sizingPolicy(el) {
function evalAndRun (line 228) | function evalAndRun(tasks, target, args) {
function initSizing (line 245) | function initSizing(el) {
function scheduleStaticRender (line 536) | function scheduleStaticRender() {
function splitWithEscape (line 702) | function splitWithEscape(value, splitChar, escapeChar) {
function invokePostRenderHandlers (line 795) | function invokePostRenderHandlers() {
function createLegacyDefinitionAdapter (line 814) | function createLegacyDefinitionAdapter(defn) {
FILE: Materials/Part_2_Basic_Principles_files/leaflet-1.3.1/leaflet.js
function i (line 5) | function i(t){var i,e,n,o;for(e=1,n=arguments.length;e<n;e++){o=argument...
function e (line 5) | function e(t,i){var e=Array.prototype.slice;if(t.bind)return t.bind.appl...
function n (line 5) | function n(t){return t._leaflet_id=t._leaflet_id||++ti,t._leaflet_id}
function o (line 5) | function o(t,i,e){var n,o,s,r;return r=function(){n=!1,o&&(s.apply(e,o),...
function s (line 5) | function s(t,i,e){var n=i[1],o=i[0],s=n-o;return t===n&&e?t:((t-o)%s+s)%...
function r (line 5) | function r(){return!1}
function a (line 5) | function a(t,i){var e=Math.pow(10,void 0===i?6:i);return Math.round(t*e)/e}
function h (line 5) | function h(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}
function u (line 5) | function u(t){return h(t).split(/\s+/)}
function l (line 5) | function l(t,i){t.hasOwnProperty("options")||(t.options=t.options?Qt(t.o...
function c (line 5) | function c(t,i,e){var n=[];for(var o in t)n.push(encodeURIComponent(e?o....
function _ (line 5) | function _(t,i){return t.replace(ii,function(t,e){var n=i[e];if(void 0==...
function d (line 5) | function d(t,i){for(var e=0;e<t.length;e++)if(t[e]===i)return e;return-1}
function p (line 5) | function p(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}
function m (line 5) | function m(t){var i=+new Date,e=Math.max(0,16-(i-oi));return oi=i+e,wind...
function f (line 5) | function f(t,i,n){if(!n||si!==m)return si.call(window,e(t,i));t.call(i)}
function g (line 5) | function g(t){t&&ri.call(window,t)}
function v (line 5) | function v(){}
function y (line 5) | function y(t){if("undefined"!=typeof L&&L&&L.Mixin){t=ei(t)?t:[t];for(va...
function x (line 5) | function x(t,i,e){this.x=e?Math.round(t):t,this.y=e?Math.round(i):i}
function w (line 5) | function w(t,i,e){return t instanceof x?t:ei(t)?new x(t[0],t[1]):void 0=...
function P (line 5) | function P(t,i){if(t)for(var e=i?[t,i]:t,n=0,o=e.length;n<o;n++)this.ext...
function b (line 5) | function b(t,i){return!t||t instanceof P?t:new P(t,i)}
function T (line 5) | function T(t,i){if(t)for(var e=i?[t,i]:t,n=0,o=e.length;n<o;n++)this.ext...
function z (line 5) | function z(t,i){return t instanceof T?t:new T(t,i)}
function M (line 5) | function M(t,i,e){if(isNaN(t)||isNaN(i))throw new Error("Invalid LatLng ...
function C (line 5) | function C(t,i,e){return t instanceof M?t:ei(t)&&"object"!=typeof t[0]?3...
function Z (line 5) | function Z(t,i,e,n){if(ei(t))return this._a=t[0],this._b=t[1],this._c=t[...
function S (line 5) | function S(t,i,e,n){return new Z(t,i,e,n)}
function E (line 5) | function E(t){return document.createElementNS("http://www.w3.org/2000/sv...
function k (line 5) | function k(t,i){var e,n,o,s,r,a,h="";for(e=0,o=t.length;e<o;e++){for(n=0...
function A (line 5) | function A(t){return navigator.userAgent.toLowerCase().indexOf(t)>=0}
function I (line 5) | function I(t,i,e,n){return"touchstart"===i?O(t,e,n):"touchmove"===i?W(t,...
function B (line 5) | function B(t,i,e){var n=t["_leaflet_"+i+e];return"touchstart"===i?t.remo...
function O (line 5) | function O(t,i,n){var o=e(function(t){if("mouse"!==t.pointerType&&t.MSPO...
function R (line 5) | function R(t){oe[t.pointerId]=t,re++}
function D (line 5) | function D(t){oe[t.pointerId]&&(oe[t.pointerId]=t)}
function N (line 5) | function N(t){delete oe[t.pointerId],re--}
function j (line 5) | function j(t,i){t.touches=[];for(var e in oe)t.touches.push(oe[e]);t.cha...
function W (line 5) | function W(t,i,e){var n=function(t){(t.pointerType!==t.MSPOINTER_TYPE_MO...
function H (line 5) | function H(t,i,e){var n=function(t){j(t,i)};t["_leaflet_touchend"+e]=n,t...
function F (line 5) | function F(t,i,e){function n(t){var i;if(Ui){if(!Pi||"mouse"===t.pointer...
function U (line 5) | function U(t,i){var e=t[ue+ae+i],n=t[ue+he+i],o=t[ue+"dblclick"+i];retur...
function V (line 5) | function V(t,i,e,n){if("object"==typeof i)for(var o in i)G(t,o,i[o],e);e...
function q (line 5) | function q(t,i,e,n){if("object"==typeof i)for(var o in i)K(t,o,i[o],e);e...
function G (line 5) | function G(t,i,e,o){var s=i+n(e)+(o?"_"+n(o):"");if(t[le]&&t[le][s])retu...
function K (line 5) | function K(t,i,e,o){var s=i+n(e)+(o?"_"+n(o):""),r=t[le]&&t[le][s];if(!r...
function Y (line 5) | function Y(t){return t.stopPropagation?t.stopPropagation():t.originalEve...
function X (line 5) | function X(t){return G(t,"mousewheel",Y),this}
function J (line 5) | function J(t){return V(t,"mousedown touchstart dblclick",Y),G(t,"click",...
function $ (line 5) | function $(t){return t.preventDefault?t.preventDefault():t.returnValue=!...
function Q (line 5) | function Q(t){return $(t),Y(t),this}
function tt (line 5) | function tt(t,i){if(!i)return new x(t.clientX,t.clientY);var e=i.getBoun...
function it (line 5) | function it(t){return Pi?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.de...
function et (line 5) | function et(t){_e[t.type]=!0}
function nt (line 5) | function nt(t){var i=_e[t.type];return _e[t.type]=!1,i}
function ot (line 5) | function ot(t,i){var e=i.relatedTarget;if(!e)return!0;try{for(;e&&e!==t;...
function st (line 5) | function st(t,i){var e=t.timeStamp||t.originalEvent&&t.originalEvent.tim...
function rt (line 5) | function rt(t){return"string"==typeof t?document.getElementById(t):t}
function at (line 5) | function at(t,i){var e=t.style[i]||t.currentStyle&&t.currentStyle[i];if(...
function ht (line 5) | function ht(t,i,e){var n=document.createElement(t);return n.className=i|...
function ut (line 5) | function ut(t){var i=t.parentNode;i&&i.removeChild(t)}
function lt (line 5) | function lt(t){for(;t.firstChild;)t.removeChild(t.firstChild)}
function ct (line 5) | function ct(t){var i=t.parentNode;i.lastChild!==t&&i.appendChild(t)}
function _t (line 5) | function _t(t){var i=t.parentNode;i.firstChild!==t&&i.insertBefore(t,i.f...
function dt (line 5) | function dt(t,i){if(void 0!==t.classList)return t.classList.contains(i);...
function pt (line 5) | function pt(t,i){if(void 0!==t.classList)for(var e=u(i),n=0,o=e.length;n...
function mt (line 5) | function mt(t,i){void 0!==t.classList?t.classList.remove(i):ft(t,h((" "+...
function ft (line 5) | function ft(t,i){void 0===t.className.baseVal?t.className=i:t.className....
function gt (line 5) | function gt(t){return void 0===t.className.baseVal?t.className:t.classNa...
function vt (line 5) | function vt(t,i){"opacity"in t.style?t.style.opacity=i:"filter"in t.styl...
function yt (line 5) | function yt(t,i){var e=!1,n="DXImageTransform.Microsoft.Alpha";try{e=t.f...
function xt (line 5) | function xt(t){for(var i=document.documentElement.style,e=0;e<t.length;e...
function wt (line 5) | function wt(t,i,e){var n=i||new x(0,0);t.style[pe]=(Oi?"translate("+n.x+...
function Lt (line 5) | function Lt(t,i){t._leaflet_pos=i,Ni?wt(t,i):(t.style.left=i.x+"px",t.st...
function Pt (line 5) | function Pt(t){return t._leaflet_pos||new x(0,0)}
function bt (line 5) | function bt(){V(window,"dragstart",$)}
function Tt (line 5) | function Tt(){q(window,"dragstart",$)}
function zt (line 5) | function zt(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(Mt(),ve=t,...
function Mt (line 5) | function Mt(){ve&&(ve.style.outline=ye,ve=void 0,ye=void 0,q(window,"key...
function Ct (line 5) | function Ct(t,i){if(!i||!t.length)return t.slice();var e=i*i;return t=kt...
function Zt (line 5) | function Zt(t,i,e){return Math.sqrt(Rt(t,i,e,!0))}
function St (line 5) | function St(t,i){var e=t.length,n=new(typeof Uint8Array!=void 0+""?Uint8...
function Et (line 5) | function Et(t,i,e,n,o){var s,r,a,h=0;for(r=n+1;r<=o-1;r++)(a=Rt(t[r],t[n...
function kt (line 5) | function kt(t,i){for(var e=[t[0]],n=1,o=0,s=t.length;n<s;n++)Ot(t[n],t[o...
function At (line 5) | function At(t,i,e,n,o){var s,r,a,h=n?Se:Bt(t,e),u=Bt(i,e);for(Se=u;;){if...
function It (line 5) | function It(t,i,e,n,o){var s,r,a=i.x-t.x,h=i.y-t.y,u=n.min,l=n.max;retur...
function Bt (line 5) | function Bt(t,i){var e=0;return t.x<i.min.x?e|=1:t.x>i.max.x&&(e|=2),t.y...
function Ot (line 5) | function Ot(t,i){var e=i.x-t.x,n=i.y-t.y;return e*e+n*n}
function Rt (line 5) | function Rt(t,i,e,n){var o,s=i.x,r=i.y,a=e.x-s,h=e.y-r,u=a*a+h*h;return ...
function Dt (line 5) | function Dt(t){return!ei(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}
function Nt (line 5) | function Nt(t){return console.warn("Deprecated use of _flat, please use ...
function jt (line 5) | function jt(t,i,e){var n,o,s,r,a,h,u,l,c,_=[1,4,2,8];for(o=0,u=t.length;...
function Wt (line 5) | function Wt(t,i){var e,n,o,s,r="Feature"===t.type?t.geometry:t,a=r?r.coo...
function Ht (line 5) | function Ht(t){return new M(t[1],t[0],t[2])}
function Ft (line 5) | function Ft(t,i,e){for(var n,o=[],s=0,r=t.length;s<r;s++)n=i?Ft(t[s],i-1...
function Ut (line 5) | function Ut(t,i){return i="number"==typeof i?i:6,void 0!==t.alt?[a(t.lng...
function Vt (line 5) | function Vt(t,i,e,n){for(var o=[],s=0,r=t.length;s<r;s++)o.push(i?Vt(t[s...
function qt (line 5) | function qt(t,e){return t.feature?i({},t.feature,{geometry:e}):Gt(e)}
function Gt (line 5) | function Gt(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:...
function Kt (line 5) | function Kt(t,i){return new nn(t,i)}
function Yt (line 5) | function Yt(t,i){return new dn(t,i)}
function Xt (line 5) | function Xt(t){return Yi?new fn(t):null}
function Jt (line 5) | function Jt(t){return Xi||Ji?new xn(t):null}
function t (line 5) | function t(){}
function n (line 5) | function n(t){var i=(g*g-m*m+(t?-1:1)*x*x*v*v)/(2*(t?g:m)*x*v),e=Math.sq...
function o (line 5) | function o(t){return(Math.exp(t)-Math.exp(-t))/2}
function s (line 5) | function s(t){return(Math.exp(t)+Math.exp(-t))/2}
function r (line 5) | function r(t){return o(t)/s(t)}
function a (line 5) | function a(t){return m*(s(w)/s(w+y*t))}
function h (line 5) | function h(t){return m*(s(w)*r(w+y*t)-o(w))/x}
function u (line 5) | function u(t){return 1-Math.pow(1-t,1.5)}
function l (line 5) | function l(){var e=(Date.now()-L)/b,n=u(e)*P;e<=1?(this._flyToFrame=f(l,...
function t (line 5) | function t(t,o){var s=e+t+" "+e+o;i[t+o]=ht("div",s,n)}
FILE: Materials/Part_2_Basic_Principles_files/leaflet-binding-2.0.2/leaflet.js
function s (line 1) | function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&re...
function defineProperties (line 8) | function defineProperties(target, props) { for (var i = 0; i < props.len...
function _classCallCheck (line 12) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
function ClusterLayerStore (line 15) | function ClusterLayerStore(group) {
function defineProperties (line 69) | function defineProperties(target, props) { for (var i = 0; i < props.len...
function _classCallCheck (line 71) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
function ControlStore (line 74) | function ControlStore(map) {
function _interopRequireDefault (line 152) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
function getCRS (line 155) | function getCRS(crsOptions) {
function defineProperties (line 206) | function defineProperties(target, props) { for (var i = 0; i < props.len...
function _classCallCheck (line 210) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
function DataFrame (line 213) | function DataFrame() {
function _interopRequireDefault (line 330) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
function _interopRequireDefault (line 368) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
function _interopRequireDefault (line 401) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
function _interopRequireDefault (line 532) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
function updateBounds (line 542) | function updateBounds(map) {
function preventUnintendedZoomOnScroll (line 559) | function preventUnintendedZoomOnScroll(map) {
function needsZoom (line 744) | function needsZoom() {
function defineProperties (line 821) | function defineProperties(target, props) { for (var i = 0; i < props.len...
function _interopRequireDefault (line 833) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
function _classCallCheck (line 835) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
function LayerManager (line 838) | function LayerManager(map) {
function clearLayerGroup (line 1173) | function clearLayerGroup(key, layerGroup) {
function _interopRequireDefault (line 1280) | function _interopRequireDefault(obj) { return obj && obj.__esModule ? ob...
function mouseHandler (line 1286) | function mouseHandler(mapId, layerId, group, eventName, extraInfo) {
function unpackStrings (line 1389) | function unpackStrings(iconset) {
function addMarkers (line 1405) | function addMarkers(map, df, group, clusterOptions, clusterId, markerFun...
function addLayers (line 1571) | function addLayers(map, category, df, layerFunc) {
function onAdd (line 1843) | function onAdd(map) {
function onRemove (line 1866) | function onRemove(map) {
function setupShowHideGroupsOnZoom (line 2110) | function setupShowHideGroupsOnZoom(map) {
function degree2tile (line 2179) | function degree2tile(lat, lng, zoom) {
function overlap (line 2191) | function overlap(from, to, x, /* optional */x1) {
function getCanvasSmoothingProperty (line 2196) | function getCanvasSmoothingProperty(ctx) {
function getImageData (line 2234) | function getImageData(callback) {
function defineProperties (line 2540) | function defineProperties(target, props) { for (var i = 0; i < props.len...
function _classCallCheck (line 2542) | function _classCallCheck(instance, Constructor) { if (!(instance instanc...
function Mipmapper (line 2551) | function Mipmapper(img) {
function log (line 2649) | function log(message) {
function recycle (line 2655) | function recycle(values, length, inPlace) {
function asArray (line 2677) | function asArray(value) {
FILE: Materials/Part_2_Basic_Principles_files/viz-0.3/viz.js
function ia (line 30) | function ia(a){eval.call(null,a)}
function assert (line 36) | function assert(a,b){a||v("Assertion failed: "+b)}
function pa (line 36) | function pa(a){var b=e["_"+a];if(!b)try{b=eval("_"+a)}catch(c){}assert(b...
function ta (line 39) | function ta(a){var b;b="i32";"*"===b.charAt(b.length-1)&&(b="i32");switc...
function B (line 40) | function B(a,b,c,d){var f,g;"number"===typeof a?(f=!0,g=a):(f=!1,g=a.len...
function y (line 42) | function y(a,b){if(0===b||!a)return"";for(var c=0,d,f=0;;){d=E[a+f>>0];c...
function Ca (line 43) | function Ca(a,b){for(var c,d,f,g,k,h,u="";;){c=a[b++];if(!c)return u;c&1...
function Da (line 45) | function Da(a){function b(c,d,f){d=d||Infinity;var g="",k=[],t;if("N"===...
function Fa (line 49) | function Fa(){return Ga().replace(/__Z[\w\d_]+/g,function(a){var b=Da(a)...
function Ga (line 49) | function Ga(){var a=Error();if(!a.stack){try{throw Error(0);}catch(b){a=...
function Ha (line 49) | function Ha(){var a=p;0<a%4096&&(a+=4096-a%4096);return a}
function Qa (line 51) | function Qa(a){for(;0<a.length;){var b=a.shift();if("function"==typeof b...
function Wa (line 51) | function Wa(){var a=e.preRun.shift();Ra.unshift(a)}
function Xa (line 52) | function Xa(a,b){for(var c=0,d=0;d<a.length;++d){var f=a.charCodeAt(d);5...
function sa (line 53) | function sa(a,b){for(var c=Xa(a,void 0),d=0;d<c.length;)x[b+d>>0]=c[d],d...
function mb (line 1066) | function mb(a){e.___errno_location&&(z[e.___errno_location()>>2]=a);retu...
function nb (line 1067) | function nb(a,b){for(var c=0,d=a.length-1;0<=d;d--){var f=a[d];"."===f?a...
function ob (line 1067) | function ob(a){var b="/"===a.charAt(0),c="/"===a.substr(-1);(a=nb(a.spli...
function pb (line 1068) | function pb(a){var b=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|)...
function qb (line 1068) | function qb(a){if("/"===a)return"/";var b=a.lastIndexOf("/");return-1===...
function rb (line 1068) | function rb(){var a=Array.prototype.slice.call(arguments,0);return ob(a....
function sb (line 1068) | function sb(a,b){return ob(a+"/"+b)}
function tb (line 1069) | function tb(){for(var a="",b=!1,c=arguments.length-1;-1<=c&&!b;c--){b=0<...
function vb (line 1069) | function vb(a,b){ub[a]={input:[],output:[],P:b};wb(a,xb)}
function Q (line 1087) | function Q(a,b){a=tb("/",a);b=b||{};if(!a)return{path:"",g:null};var c={...
function Lb (line 1088) | function Lb(a){for(var b;;){if(a===a.parent)return a=a.A.Oa,b?"/"!==a[a....
function Mb (line 1088) | function Mb(a,b){for(var c=0,d=0;d<b.length;d++)c=(c<<5)-c+b.charCodeAt(...
function Nb (line 1088) | function Nb(a){var b=Mb(a.parent.id,a.name);a.O=O[b];O[b]=a}
function Db (line 1088) | function Db(a,b){var c;if(c=(c=Ob(a,"x"))?c:a.k.lookup?0:I.R)throw new J...
function Bb (line 1089) | function Bb(a,b,c,d){Pb||(Pb=function(a,b,c,d){a||(a=this);this.parent=a...
function L (line 1090) | function L(a){return 16384===(a&61440)}
function Ob (line 1090) | function Ob(a,b){if(Jb)return 0;if(-1===b.indexOf("r")||a.mode&292){if(-...
function Rb (line 1090) | function Rb(a,b){try{return Db(a,b),I.Aa}catch(c){}return Ob(a,"wx")}
function Sb (line 1091) | function Sb(a){var b;b=4096;for(a=a||0;a<=b;a++)if(!N[a])return a;throw ...
function Tb (line 1091) | function Tb(a,b){Ub||(Ub=function(){},Ub.prototype={},Object.definePrope...
function wb (line 1092) | function wb(a,b){Hb[a]={n:b}}
function Vb (line 1092) | function Vb(a,b){var c="/"===b,d=!b,f;if(c&&Gb)throw new J(I.ka);if(!c&&...
function Wb (line 1093) | function Wb(a,b,c){var d=Q(a,{parent:!0}).g;a=qb(a);if(!a||"."===a||".."...
function R (line 1093) | function R(a){var b;b=(void 0!==b?b:511)&1023;b|=16384;Wb(a,b,0)}
function Xb (line 1093) | function Xb(a,b,c){"undefined"===typeof c&&(c=b,b=438);Wb(a,b|8192,c)}
function Yb (line 1093) | function Yb(a,b){if(!tb(a))throw new J(I.H);var c=Q(b,{parent:!0}).g;if(...
function Kb (line 1094) | function Kb(a){a=Q(a).g;if(!a)throw new J(I.H);if(!a.k.readlink)throw ne...
function Zb (line 1095) | function Zb(a,b,c,d){if(""===a)throw new J(I.H);if("string"===typeof b){...
function ac (line 1097) | function ac(a){a.ra&&(a.ra=null);try{a.n.close&&a.n.close(a)}catch(b){th...
function bc (line 1097) | function bc(a,b,c){if(!a.seekable||!a.n.I)throw new J(I.$);a.position=a....
function cc (line 1098) | function cc(){J||(J=function(a,b){this.g=b;this.kb=function(a){this.u=a;...
function ec (line 1098) | function ec(a,b){var c=0;a&&(c|=365);b&&(c|=146);return c}
function fc (line 1099) | function fc(a,b,c){a=sb("/dev",a);var d=ec(!!b,!!c);gc||(gc=64);var f=gc...
function ic (line 1101) | function ic(a,b){try{var c,d=Q(a,{da:!0}).g;if(!d)throw new J(I.H);if(!d...
function W (line 1102) | function W(){T+=4;return z[T-4>>2]}
function jc (line 1102) | function jc(){var a;a=W();a=N[a];if(!a)throw new J(I.S);return a}
function kc (line 1102) | function kc(){throw"bad";}
function mc (line 1102) | function mc(a){e.exit(a)}
function pc (line 1102) | function pc(a,b){H.push(function(){n.N("vi",a,[b])});pc.level=H.length}
function rc (line 1102) | function rc(a,b){X.setThrew(a,b||1);throw"longjmp";}
function uc (line 1103) | function uc(a){uc.bb||(p=Ha(),uc.bb=!0,assert(n.ba),uc.Wa=n.ba,n.ba=func...
function Bc (line 1104) | function Bc(a){var b,c;Bc.C?(c=z[Ac>>2],b=z[c>>2]):(Bc.C=!0,Y.USER=Y.LOG...
function Cc (line 1105) | function Cc(a,b){Dc=a;Ec=b;if(!Fc)return 1;if(0==a)Z=function(){setTimeo...
function Jc (line 1106) | function Jc(a,b,c,d,f){e.noExitRuntime=!0;assert(!Fc,"emscripten_set_mai...
function Oc (line 1108) | function Oc(){if(e.setStatus){var a=e.statusMessage||"Please wait...",b=...
function Qc (line 1108) | function Qc(a){if(!(w||e.preMainLoop&&!1===e.preMainLoop())){try{a()}cat...
function Vc (line 1109) | function Vc(){function a(){Tc=document.pointerLockElement===c||document....
function bd (line 1115) | function bd(a,b,c,d){if(b&&e.pa&&a==e.canvas)return e.pa;var f,g;if(b){g...
function fd (line 1117) | function fd(a,b,c){function d(){Sc=!1;var a=f.parentNode;(document.webki...
function ld (line 1119) | function ld(a){var b=Date.now();if(0===kd)kd=b+1E3/60;else for(;b+2>=kd;...
function Ic (line 1120) | function Ic(a){"undefined"===typeof window?ld(a):(window.requestAnimatio...
function ad (line 1120) | function ad(a){e.noExitRuntime=!0;setTimeout(function(){w||a()},1E4)}
function $c (line 1121) | function $c(a){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png"...
function nd (line 1121) | function nd(){var a=e.canvas;md.forEach(function(b){b(a.width,a.height)})}
function gd (line 1121) | function gd(){if("undefined"!=typeof SDL){var a=Ja[SDL.screen+0*n.K>>2];...
function hd (line 1121) | function hd(){if("undefined"!=typeof SDL){var a=Ja[SDL.screen+0*n.K>>2];...
function id (line 1122) | function id(a,b,c){b&&c?(a.pb=b,a.$a=c):(b=a.pb,c=a.$a);var d=b,f=c;e.fo...
function od (line 1124) | function od(a){if(0===a)return 0;a=y(a);if(!Y.hasOwnProperty(a))return 0...
function LG (line 1156) | function LG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0...
function MG (line 1156) | function MG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0...
function NG (line 1156) | function NG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0,i=0.0,j=0...
function OG (line 1156) | function OG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j...
function PG (line 1156) | function PG(a){a=a|0;var b=0;do{b=a;a=c[a>>2]|0;fQ(b)}while((a|0)!=0);re...
function QG (line 1156) | function QG(){var a=0,b=0,d=0;a=yz(1992)|0;if(a){b=WG(a)|0;c[b+4>>2]=0;d...
function RG (line 1156) | function RG(a){a=a|0;UG(a,c[a>>2]|0);fQ(c[a>>2]|0);fQ(a);return 0}
function SG (line 1156) | function SG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;if(!b)Na(18...
function TG (line 1156) | function TG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0...
function UG (line 1156) | function UG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=a+1980|0;h=a+...
function VG (line 1156) | function VG(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0...
function WG (line 1156) | function WG(a){a=a|0;var b=0;a=a+1968|0;c[a>>2]=(c[a>>2]|0)+1;a=eQ(1288)...
function XG (line 1156) | function XG(a){a=a|0;var b=0;c[a>>2]=0;c[a+4>>2]=-1;b=0;do{aH(a+8+(b*20|...
function YG (line 1156) | function YG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+32|0;h=...
function ZG (line 1156) | function ZG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function _G (line 1156) | function _G(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if(!b)Na(180067,179...
function $G (line 1156) | function $G(a,b){a=a|0;b=b|0;var d=0;if(!((a|0)!=0&b>>>0<64))Na(179946,1...
function aH (line 1156) | function aH(a){a=a|0;c[a>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=0;return}
function bH (line 1156) | function bH(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=1;c[d+8>>2]=-1...
function cH (line 1156) | function cH(a){a=a|0;var b=0,d=0;if(!a)Na(179987,179989,128,180001);b=c[...
function dH (line 1156) | function dH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i...
function eH (line 1156) | function eH(a,b){a=a|0;b=b|0;if(!((a|0)!=0&(b|0)!=0))Na(180030,179989,21...
function fH (line 1156) | function fH(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0...
function gH (line 1156) | function gH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|...
function hH (line 1156) | function hH(){var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=...
function iH (line 1156) | function iH(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=i;i=i+160|0;e=f+8...
function jH (line 1156) | function jH(){var a=0,b=0,d=0;a=c[23009]|0;b=c[23005]|0;if(b){JF(b,1);c[...
function kH (line 1156) | function kH(){var a=0,d=0,e=0,f=0,g=0,h=0;e=c[23047]|0;f=yz(40)|0;if(js(...
function lH (line 1156) | function lH(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=yz(32)|0;j=c[2300...
function mH (line 1156) | function mH(a){a=a|0;var b=0,d=0.0,e=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;j=k;...
function nH (line 1156) | function nH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=yz(16)|0;g=c[2300...
function oH (line 1156) | function oH(a,b,c){a=a|0;b=b|0;c=c|0;fQ(b);return}
function pH (line 1156) | function pH(a,b,d){a=a|0;b=b|0;d=d|0;ds(c[b+8>>2]|0)|0;fQ(b);return}
function qH (line 1156) | function qH(b,d,e){b=b|0;d=d|0;e=e|0;b=c[d+8>>2]|0;e=b+88|0;switch(a[b+9...
function rH (line 1156) | function rH(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+8>>2]|0;if(a)fQ(a);fQ(b);return}
function sH (line 1156) | function sH(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=d+12|0;a=b[h>...
function tH (line 1156) | function tH(b){b=b|0;var d=0,e=0,f=0;e=i;i=i+16|0;d=e;if(!(a[92225]|0)){...
function uH (line 1156) | function uH(b,e,f){b=b|0;e=e|0;f=f|0;c[23051]=e;xs(92208,128,0);c[23049]...
function vH (line 1156) | function vH(){var a=0;a=b[46112]|0;JI(c[23048]|0);Bs(92208);return (((a&...
function wH (line 1156) | function wH(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i=...
function xH (line 1156) | function xH(){var b=0,d=0,e=0,f=0;f=i;i=i+16|0;e=f;b=c[23051]|0;c[b+4>>2...
function yH (line 1156) | function yH(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0;k=i;i=i+48|0;j=k+32...
function zH (line 1156) | function zH(b,d){b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;b=e;do if(!(YO(d,1...
function AH (line 1156) | function AH(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;if(!((a[92226]|0)==...
function BH (line 1156) | function BH(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0...
function CH (line 1156) | function CH(a,b){a=a|0;b=b|0;c[a+36>>2]=dP(b)|0;return 0}
function DH (line 1156) | function DH(a,b){a=a|0;b=b|0;c[a+32>>2]=dP(b)|0;return 0}
function EH (line 1156) | function EH(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j;f=...
function FH (line 1156) | function FH(a,b){a=a|0;b=b|0;c[a+4>>2]=b;return 0}
function GH (line 1156) | function GH(a,b){a=a|0;b=b|0;c[a>>2]=b;return 0}
function HH (line 1156) | function HH(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;if(!(IH(b,1820...
function IH (line 1156) | function IH(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0...
function JH (line 1156) | function JH(d,f){d=d|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j;switch(($M...
function KH (line 1156) | function KH(d,f){d=d|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j;switch(($M...
function LH (line 1156) | function LH(a,b){a=a|0;b=b|0;c[a+20>>2]=dP(b)|0;return 0}
function MH (line 1156) | function MH(d,f){d=d|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;if(!(IH(f,1827...
function NH (line 1156) | function NH(d,f){d=d|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;if(!(IH(f,1826...
function OH (line 1156) | function OH(d,f){d=d|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=h;if(!(IH(f,1826...
function PH (line 1156) | function PH(a,b){a=a|0;b=b|0;c[a+24>>2]=dP(b)|0;return 0}
function QH (line 1156) | function QH(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=g+4|0;do...
function RH (line 1156) | function RH(a,f){a=a|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j;switch(($M...
function SH (line 1156) | function SH(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;i=i+16|0;d=e;if(!(IH(b,1825...
function TH (line 1156) | function TH(a,d){a=a|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;if(!(IH(d,1825...
function UH (line 1156) | function UH(a,b){a=a|0;b=b|0;c[a>>2]=dP(b)|0;return 0}
function VH (line 1156) | function VH(a,b){a=a|0;b=b|0;c[a+16>>2]=dP(b)|0;return 0}
function WH (line 1156) | function WH(a,b){a=a|0;b=b|0;c[a+4>>2]=dP(b)|0;return 0}
function XH (line 1156) | function XH(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=g+4|0;do...
function YH (line 1156) | function YH(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;h=k;f=...
function ZH (line 1156) | function ZH(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=...
function _H (line 1156) | function _H(a,b){a=a|0;b=b|0;c[a+8>>2]=dP(b)|0;return 0}
function $H (line 1156) | function $H(a,b){a=a|0;b=b|0;c[a+12>>2]=dP(b)|0;return 0}
function aI (line 1156) | function aI(d,f){d=d|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j;switch(($M...
function bI (line 1156) | function bI(a,d){a=a|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;if(!(IH(d,1823...
function cI (line 1156) | function cI(a,b){a=a|0;b=b|0;return YO(c[a>>2]|0,c[b>>2]|0)|0}
function dI (line 1156) | function dI(d,f){d=d|0;f=f|0;var g=0,h=0,j=0;j=i;i=i+16|0;g=j;switch(($M...
function eI (line 1156) | function eI(b,d){b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;if(!(IH(d,1829...
function fI (line 1156) | function fI(b,e){b=b|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g;if((a[e>>0]|0)...
function gI (line 1156) | function gI(b,e){b=b|0;e=e|0;var f=0,g=0;g=i;i=i+16|0;f=g;if((a[e>>0]|0)...
function hI (line 1156) | function hI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0...
function iI (line 1156) | function iI(a){a=a|0;var b=0,d=0;fQ(c[a+8>>2]|0);fQ(c[a+12>>2]|0);fQ(c[a...
function jI (line 1156) | function jI(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0...
function kI (line 1156) | function kI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;k=i...
function lI (line 1156) | function lI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,l=0.0,m=0,p...
function mI (line 1156) | function mI(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;e=f+16|0;d=f;if((c...
function nI (line 1156) | function nI(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var l=0,m=0...
function oI (line 1156) | function oI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0.0,m=0.0...
function pI (line 1156) | function pI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j...
function qI (line 1156) | function qI(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0...
function rI (line 1156) | function rI(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,l=0...
function sI (line 1156) | function sI(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[23253]|0;e=d+(a*52|0)|0;do ...
function tI (line 1156) | function tI(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+32|0;e=f+16|0;d=f;if((c...
function uI (line 1156) | function uI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0.0,j=0,k=0.0,l=0,m=0;b=c...
function vI (line 1156) | function vI(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0...
function wI (line 1156) | function wI(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var...
function xI (line 1156) | function xI(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0,f=0.0,g=0.0,i=0.0;c=+h[...
function yI (line 1156) | function yI(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+16>>3];do if(c<1.0e-...
function zI (line 1156) | function zI(a){a=a|0;fQ(c[a>>2]|0);fQ(a);return}
function AI (line 1156) | function AI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0...
function BI (line 1156) | function BI(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[b+8>>3];d=+h[b...
function CI (line 1156) | function CI(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0...
function DI (line 1156) | function DI(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0...
function EI (line 1156) | function EI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,j=0.0,l=0,m=0,n=0,o=0...
function FI (line 1156) | function FI(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0...
function GI (line 1156) | function GI(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j=0.0,l=0...
function HI (line 1156) | function HI(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var...
function II (line 1156) | function II(a){a=a|0;return TI(a,0,0,0)|0}
function JI (line 1156) | function JI(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;if(b){g=b+368|0;j=b...
function KI (line 1156) | function KI(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+4|0;e=(c[d>>2]|0)==(c[a>>2]...
function LI (line 1156) | function LI(a,b,d){a=a|0;b=b|0;d=d|0;c[a+52>>2]=b;c[a+56>>2]=d;return}
function MI (line 1156) | function MI(a,b){a=a|0;b=b|0;c[a+60>>2]=b;return}
function NI (line 1156) | function NI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;i=b+480|0;s...
function OI (line 1156) | function OI(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0...
function PI (line 1156) | function PI(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;g=b+480...
function QI (line 1156) | function QI(a){a=a|0;return c[a+284>>2]|0}
function RI (line 1156) | function RI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=a+288|0;d=c[b>>2]|0;if((d...
function SI (line 1156) | function SI(a){a=a|0;if((a+-1|0)>>>0<40)a=c[93040+(a<<2)>>2]|0;else a=0;...
function TI (line 1156) | function TI(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;if(!d){...
function UI (line 1156) | function UI(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+4|0;d=c[f>>2]|0;b=c[a>>2]|0...
function VI (line 1156) | function VI(d,e){d=d|0;e=e|0;var f=0,g=0,h=0;c[d+280>>2]=59;JL(d+256|0);...
function WI (line 1156) | function WI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;f=b+12|0;g=b+8|0;wh...
function XI (line 1156) | function XI(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0...
function YI (line 1156) | function YI(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=a+4|0;d=c...
function ZI (line 1156) | function ZI(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0...
function _I (line 1156) | function _I(a){a=a|0;var b=0,d=0,e=0;b=c[a>>2]|0;if(b){d=a+20|0;do{e=b;b...
function $I (line 1156) | function $I(a){a=a|0;var b=0,d=0,e=0,f=0;e=a+8|0;f=a+16|0;b=c[(c[f>>2]|0...
function aJ (line 1156) | function aJ(b){b=b|0;var d=0;d=b+496|0;if(!(c[d>>2]|0)){LN(((tb(0)|0)>>>...
function bJ (line 1156) | function bJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return c[a+284>>2]|0}
function cJ (line 1156) | function cJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0...
function dJ (line 1156) | function dJ(b){b=b|0;var d=0;d=b+232|0;if(!(Jb[(a[b+236>>0]<<24>>24!=0?4...
function eJ (line 1156) | function eJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i...
function fJ (line 1156) | function fJ(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l...
function gJ (line 1156) | function gJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0...
function hJ (line 1156) | function hJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;do if(!(mJ(b,d,e,f)|0))d=0;...
function iJ (line 1156) | function iJ(b){b=b|0;var c=0,d=0,e=0;c=a[b>>0]|0;if(c<<24>>24){d=b;e=b;w...
function jJ (line 1156) | function jJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;e=xJ(b,0,c[b+144>>2]|0,d,e,...
function kJ (line 1156) | function kJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=c[a+356>>2]|0...
function lJ (line 1156) | function lJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0...
function mJ (line 1156) | function mJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i...
function nJ (line 1156) | function nJ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0...
function oJ (line 1156) | function oJ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;d=H...
function pJ (line 1156) | function pJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0...
function qJ (line 1156) | function qJ(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0...
function rJ (line 1156) | function rJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=...
function sJ (line 1156) | function sJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;i=c[a+356>>2]|0...
function tJ (line 1156) | function tJ(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function uJ (line 1156) | function uJ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0...
function vJ (line 1156) | function vJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0...
function wJ (line 1156) | function wJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;i=b+68|...
function xJ (line 1156) | function xJ(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var...
function yJ (line 1156) | function yJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0...
function zJ (line 1156) | function zJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0...
function AJ (line 1156) | function AJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0...
function BJ (line 1156) | function BJ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0...
function CJ (line 1156) | function CJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;h=i;i=i+16|0;g=...
function DJ (line 1156) | function DJ(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;e=xJ(b,1,c[b+144>>2]|0,d,e,...
function EJ (line 1156) | function EJ(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=a...
function FJ (line 1156) | function FJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0...
function GJ (line 1156) | function GJ(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0...
function HJ (line 1156) | function HJ(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0...
function IJ (line 1156) | function IJ(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+1040|0;...
function JJ (line 1156) | function JJ(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=dJ(a)|0;if(!f){c[...
function KJ (line 1156) | function KJ(b,c){b=b|0;c=c|0;do if((b|0)>=0){if((b|0)<128){a[c>>0]=b;c=1...
function LJ (line 1156) | function LJ(){return 1912}
function MJ (line 1156) | function MJ(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0...
function NJ (line 1156) | function NJ(){return 94852}
function OJ (line 1156) | function OJ(b,d,e){b=b|0;d=d|0;e=e|0;e=ZJ(e)|0;if((e|0)==-1)e=0;else{a[b...
function PJ (line 1156) | function PJ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g...
function QJ (line 1156) | function QJ(){return 95220}
function RJ (line 1156) | function RJ(b,d,e){b=b|0;d=d|0;e=e|0;e=ZJ(e)|0;if((e|0)==-1)e=0;else{a[b...
function SJ (line 1156) | function SJ(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g...
function TJ (line 1156) | function TJ(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;d=MJ(b,c,d,e)|0;if(d)a[d+76...
function UJ (line 1156) | function UJ(a,b){a=a|0;b=b|0;a=Qb[c[a+368>>2]&127](c[a+372>>2]|0,b)|0;if...
function VJ (line 1156) | function VJ(a,b){a=a|0;b=b|0;a=Qb[c[a+368>>2]&127](c[a+372>>2]|0,b)|0;if...
function WJ (line 1156) | function WJ(b,d){b=b|0;d=d|0;b=Qb[c[b+368>>2]&127](c[b+372>>2]|0,d)|0;a:...
function XJ (line 1156) | function XJ(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0...
function YJ (line 1156) | function YJ(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0...
function ZJ (line 1156) | function ZJ(a){a=a|0;if(a)if(!(gK(a,142346)|0))if(!(gK(a,185352)|0))if(!...
function _J (line 1156) | function _J(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return HL(97456,a,0,b,c,d)|0}
function $J (line 1156) | function $J(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return HL(97456,a,1,b,c,d)|0}
function aK (line 1156) | function aK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;mL(97852,b,c,d);return}
function bK (line 1156) | function bK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+144|0;j...
function cK (line 1156) | function cK(b,d,e,f,g,h,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j...
function dK (line 1156) | function dK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return HL(95588,a,0,b,c,d)|0}
function eK (line 1156) | function eK(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return HL(95588,a,1,b,c,d)|0}
function fK (line 1156) | function fK(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;h=i;i=i+144|0;j...
function gK (line 1156) | function gK(b,c){b=b|0;c=c|0;var d=0,e=0;while(1){d=a[b>>0]|0;e=a[c>>0]|...
function hK (line 1156) | function hK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0...
function _b (line 1157) | function _b(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}
function $b (line 1157) | function $b(){return i|0}
function ac (line 1157) | function ac(a){a=a|0;i=a}
function bc (line 1157) | function bc(a,b){a=a|0;b=b|0;i=a;j=b}
function cc (line 1157) | function cc(a,b){a=a|0;b=b|0;if(!n){n=a;o=b}}
function dc (line 1157) | function dc(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2...
function ec (line 1157) | function ec(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2...
function fc (line 1157) | function fc(a){a=a|0;C=a}
function gc (line 1157) | function gc(){return C|0}
function hc (line 1157) | function hc(a){a=a|0;c[10976]=a;return 0}
function ic (line 1157) | function ic(){return c[10976]|0}
function jc (line 1157) | function jc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|...
function kc (line 1157) | function kc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0.0,l=0,m...
function lc (line 1157) | function lc(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0.0,g=0;c=i;i=i+1040|0;e=...
function mc (line 1157) | function mc(b,c){b=b|0;c=c|0;var d=0,e=0;d=_O(b,46)|0;if(!d){if(c){d=b+(...
function nc (line 1157) | function nc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;i=i+1040|0;...
function oc (line 1157) | function oc(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;f=k+4|0;e=...
function pc (line 1157) | function pc(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;i=c[(c[b+16>>2]|0)+8>>2...
function qc (line 1157) | function qc(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;d=c[c[11159]...
function rc (line 1157) | function rc(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[11180]|0...
function sc (line 1157) | function sc(b){b=b|0;var d=0,e=0;e=c[(c[b+16>>2]|0)+8>>2]|0;b=c[11180]|0...
function tc (line 1157) | function tc(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function uc (line 1157) | function uc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0...
function vc (line 1157) | function vc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;yc(a);f=a+16|0;zc((...
function wc (line 1157) | function wc(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;yc(a);f=a+1...
function xc (line 1157) | function xc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;yc(a);e=a+16|0;zc((c[e>>2]|...
function yc (line 1157) | function yc(b){b=b|0;var d=0,e=0.0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0;o=i;i...
function zc (line 1157) | function zc(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+32|0;j=k+16|0;h...
function Ac (line 1157) | function Ac(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i...
function Bc (line 1157) | function Bc(b,d,f,j){b=b|0;d=d|0;f=f|0;j=j|0;var k=0.0,l=0.0,m=0.0,n=0.0...
function Cc (line 1157) | function Cc(a,b,c){a=a|0;b=+b;c=c|0;var d=0,e=0,f=0;d=i;i=i+1040|0;f=d;e...
function Dc (line 1157) | function Dc(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+1040|0;g=k;...
function Ec (line 1157) | function Ec(a){a=a|0;var b=0;switch(c[a+64>>2]|0){case 0:{b=Aw(c[a>>2]|0...
function Fc (line 1157) | function Fc(b){b=b|0;var d=0,e=0,f=0,g=0;f=i;i=i+16|0;e=f;d=c[(c[b+16>>2...
function Gc (line 1157) | function Gc(a,b){a=a|0;b=b|0;var d=0,e=0;c[a>>2]=c[a>>2]&-9;d=sv(a)|0;if...
function Hc (line 1157) | function Hc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0...
function Ic (line 1157) | function Ic(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|...
function Jc (line 1157) | function Jc(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+4|0;if(a[g>>0]|0)b=SC(b...
function Kc (line 1157) | function Kc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Lc (line 1157) | function Lc(a,b,c){a=a|0;b=b|0;c=c|0;Hc(a,b,0,c);a=sv(a)|0;if(a)do{pw(b,...
function Mc (line 1157) | function Mc(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0.0;k=i;i=i+4...
function Nc (line 1157) | function Nc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,j=0,k=0,l=0,m=0,n=0...
function Oc (line 1157) | function Oc(a,b,d){a=a|0;b=b|0;d=d|0;fQ(c[b+8>>2]|0);fQ(b);return}
function Pc (line 1157) | function Pc(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+32|0;d=...
function Qc (line 1157) | function Qc(a){a=a|0;pw(a,108411)|0;return}
function Rc (line 1157) | function Rc(a){a=a|0;c[11364]=2;return}
function Sc (line 1157) | function Sc(a){a=a|0;c[11364]=1;return}
function Tc (line 1157) | function Tc(a){a=a|0;c[11364]=2;return}
function Uc (line 1157) | function Uc(a){a=a|0;c[11364]=0;return}
function Vc (line 1157) | function Vc(a){a=a|0;c[11364]=2;return}
function Wc (line 1157) | function Wc(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Xc (line 1157) | function Xc(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0...
function Yc (line 1157) | function Yc(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,j=0,k=0,l=0,m=0,n...
function Zc (line 1157) | function Zc(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0.0,k=0,l=0,m...
function _c (line 1157) | function _c(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0...
function $c (line 1157) | function $c(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,j=0,k=0,l=0,m=0;m...
function ad (line 1157) | function ad(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;uw(a...
function bd (line 1157) | function bd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0.0,m...
function cd (line 1157) | function cd(b){b=b|0;var d=0,e=0,f=0;d=c[b+16>>2]|0;switch(c[b+64>>2]|0)...
function dd (line 1157) | function dd(a){a=a|0;var b=0;b=c[a+16>>2]|0;switch(c[a+64>>2]|0){case 2:...
function ed (line 1157) | function ed(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=c[a+16>>2...
function fd (line 1157) | function fd(b,d,e,f,g,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;l...
function gd (line 1157) | function gd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+32|0;d=...
function hd (line 1157) | function hd(a){a=a|0;pw(a,108411)|0;return}
function id (line 1157) | function id(a){a=a|0;c[11495]=2;return}
function jd (line 1157) | function jd(a){a=a|0;c[11495]=1;return}
function kd (line 1157) | function kd(a){a=a|0;c[11495]=2;return}
function ld (line 1157) | function ld(a){a=a|0;c[11495]=0;return}
function md (line 1157) | function md(a){a=a|0;c[11495]=2;return}
function nd (line 1157) | function nd(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0...
function od (line 1157) | function od(e,f){e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0...
function pd (line 1157) | function pd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,j=0,k=0,l=0,m=0,n...
function qd (line 1157) | function qd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0.0,k=0,l=0,m...
function rd (line 1157) | function rd(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0...
function sd (line 1157) | function sd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,j=0,k=0,l=0,m=0;m...
function td (line 1157) | function td(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;uw(a...
function ud (line 1157) | function ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0.0,m...
function vd (line 1157) | function vd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;i=i+16|0;b=d;pw(a,11313...
function wd (line 1157) | function wd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+32|0;f=g+8|0;e=g;pw...
function xd (line 1157) | function xd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;l=i;i=i...
function yd (line 1157) | function yd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;b=i;i=i+16|0;f=b;c[...
function zd (line 1157) | function zd(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function Ad (line 1157) | function Ad(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=a+12|0;if(c[(c[b...
function Bd (line 1157) | function Bd(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=Ft(c[(c[a+16>>...
function Cd (line 1157) | function Cd(a){a=a|0;pw(a,124351)|0;return}
function Dd (line 1157) | function Dd(a){a=a|0;pw(a,108923)|0;return}
function Ed (line 1157) | function Ed(a){a=a|0;pw(a,124351)|0;return}
function Fd (line 1157) | function Fd(a){a=a|0;pw(a,108923)|0;return}
function Gd (line 1157) | function Gd(a){a=a|0;pw(a,124351)|0;return}
function Hd (line 1157) | function Hd(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;e=i;i=i+16|...
function Id (line 1157) | function Id(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0;l=i;i=i...
function Jd (line 1157) | function Jd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+32|0;f=g;c[...
function Kd (line 1157) | function Kd(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0;k=i;i=i...
function Ld (line 1157) | function Ld(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0...
function Md (line 1157) | function Md(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0;g=i;i=i+16|0;f=...
function Nd (line 1157) | function Nd(a,b){a=a|0;b=b|0;pw(a,108654)|0;pw(a,b)|0;pw(a,196601)|0;ret...
function Od (line 1157) | function Od(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0...
function Pd (line 1157) | function Pd(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,j=0.0;f=i;i=i+32|0;e=...
function Qd (line 1157) | function Qd(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0;m=i;i=i+16|0;l=...
function Rd (line 1157) | function Rd(b){b=b|0;var d=0;pw(b,114704)|0;d=Qs(c[(c[b>>2]|0)+168>>2]|0...
function Sd (line 1157) | function Sd(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0.0,l=0.0,m=0.0;j=i;i=i+4...
function Td (line 1157) | function Td(a){a=a|0;pw(a,114531)|0;return}
function Ud (line 1157) | function Ud(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;oe(a,b,0,142745,c[(c[a+16>>...
function Vd (line 1157) | function Vd(a){a=a|0;pw(a,114379)|0;return}
function Wd (line 1157) | function Wd(b){b=b|0;var d=0,e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=c[b+16>>2]|0...
function Xd (line 1157) | function Xd(a){a=a|0;pw(a,114379)|0;return}
function Yd (line 1157) | function Yd(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;oe(a,c[d+212>>2]...
function Zd (line 1157) | function Zd(a){a=a|0;pw(a,114379)|0;return}
function _d (line 1157) | function _d(a){a=a|0;var b=0,d=0,e=0;d=c[a+16>>2]|0;b=c[a+160>>2]|0;if((...
function $d (line 1157) | function $d(a){a=a|0;pw(a,114379)|0;return}
function ae (line 1157) | function ae(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=d+8|0;oe(a,c[d+212>>2]...
function be (line 1157) | function be(a){a=a|0;pw(a,114379)|0;return}
function ce (line 1157) | function ce(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;pw(b,114385)|0;if(f...
function de (line 1157) | function de(a){a=a|0;pw(a,116183)|0;pw(a,114379)|0;return}
function ee (line 1157) | function ee(e,f,g){e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0...
function fe (line 1157) | function fe(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;switch(c|0){case 2:{d=me(a,...
function ge (line 1157) | function ge(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;switch(d|0){case 2:...
function he (line 1157) | function he(a,d,e,f,g,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0...
function ie (line 1157) | function ie(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;pw(a,113270)|0;ke(a,0,0);pw...
function je (line 1157) | function je(a,b){a=a|0;b=b|0;pw(a,113264)|0;pw(a,sz(b)|0)|0;pw(a,115345)...
function ke (line 1157) | function ke(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0...
function le (line 1157) | function le(b,d){b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;a:do switch(c[...
function me (line 1157) | function me(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p...
function ne (line 1157) | function ne(b){b=b|0;var d=0,e=0.0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q...
function oe (line 1157) | function oe(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;k=i...
function pe (line 1157) | function pe(a){a=a|0;var b=0;pw(a,115226)|0;b=a+12|0;pw(a,c[c[c[b>>2]>>2...
function qe (line 1157) | function qe(b){b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=c[b+16>>2]|0;pw(...
function re (line 1157) | function re(a){a=a|0;c[11990]=1;return}
function se (line 1157) | function se(a){a=a|0;c[11990]=-1;return}
function te (line 1157) | function te(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0;n=i...
function ue (line 1157) | function ue(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0.0,m=0.0...
function ve (line 1157) | function ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0;k=i;i=i...
function we (line 1157) | function we(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0...
function xe (line 1157) | function xe(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+48|...
function ye (line 1157) | function ye(a,b){a=a|0;b=b|0;pw(a,114946)|0;pw(a,b)|0;pw(a,196601)|0;ret...
function ze (line 1157) | function ze(b){b=b|0;if(!(a[b+144>>0]|0))pw(b,115071)|0;else pw(b,c[b+14...
function Ae (line 1157) | function Ae(b,d){b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;a:do switch(c[...
function Be (line 1157) | function Be(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;b=c[a+...
function Ce (line 1157) | function Ce(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function De (line 1157) | function De(a){a=a|0;var b=0;pw(a,117993)|0;pw(a,118001)|0;b=a+12|0;pw(a...
function Ee (line 1157) | function Ee(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;j=k+24|0;g...
function Fe (line 1157) | function Fe(a){a=a|0;pw(a,116231)|0;pw(a,116243)|0;pw(a,116251)|0;pw(a,1...
function Ge (line 1157) | function Ge(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;k=i...
function He (line 1157) | function He(a){a=a|0;pw(a,116183)|0;return}
function Ie (line 1157) | function Ie(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0...
function Je (line 1157) | function Je(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,j=0.0,k=0,l=0.0,m...
function Ke (line 1157) | function Ke(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,j=0,k=0,l=0...
function Le (line 1157) | function Le(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0...
function Me (line 1157) | function Me(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0.0;l...
function Ne (line 1157) | function Ne(a,b){a=a|0;b=b|0;pw(a,115333)|0;pw(a,Ce(b)|0)|0;pw(a,115345)...
function Oe (line 1157) | function Oe(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,j=0,k=0,l=0;l=i;i=i+48|0;...
function Pe (line 1157) | function Pe(b,d){b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;a:do switch(c[...
function Qe (line 1157) | function Qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+48|0;f=g;if(!b)...
function Re (line 1157) | function Re(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+105...
function Se (line 1157) | function Se(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+16|0;d=b+8|0;e=b;pw(a,12068...
function Te (line 1157) | function Te(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,j=0.0,k=0;b=i;i=i+64|...
function Ue (line 1157) | function Ue(a){a=a|0;pw(a,119619)|0;return}
function Ve (line 1157) | function Ve(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0;f=i;i=i+16|0;h=...
function We (line 1157) | function We(a){a=a|0;pw(a,119572)|0;return}
function Xe (line 1157) | function Xe(a){a=a|0;pw(a,119554)|0;return}
function Ye (line 1157) | function Ye(a){a=a|0;pw(a,119538)|0;return}
function Ze (line 1157) | function Ze(a){a=a|0;pw(a,119517)|0;g[12233]=+g[12233]+-2.0;return}
function _e (line 1157) | function _e(a){a=a|0;pw(a,119498)|0;return}
function $e (line 1157) | function $e(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=Ft(c[(c[a+16>>...
function af (line 1157) | function af(a){a=a|0;pw(a,119460)|0;return}
function bf (line 1157) | function bf(a){a=a|0;pw(a,119442)|0;g[12233]=+g[12233]+-5.0;return}
function cf (line 1157) | function cf(a){a=a|0;pw(a,119426)|0;g[12233]=+g[12233]+5.0;return}
function df (line 1157) | function df(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p...
function ef (line 1157) | function ef(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,j=0.0,k=0.0,l=0.0,m=0,n...
function ff (line 1157) | function ff(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,j=0,k=0,l=0,m=0,n=0...
function gf (line 1157) | function gf(a,b,d,e,f,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;var k=0,l=0...
function hf (line 1157) | function hf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,j=0,k=0,l=0,m=0,n=0,o=0...
function jf (line 1157) | function jf(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;uw(a...
function kf (line 1157) | function kf(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,...
function lf (line 1157) | function lf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;i=i+32|0;d=...
function mf (line 1157) | function mf(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=b;c[d>>2]=120905;uw(a,12...
function nf (line 1157) | function nf(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o...
function of (line 1157) | function of(a){a=a|0;var b=0;b=i;i=i+16|0;uw(a,121085,b);i=b;return}
function pf (line 1157) | function pf(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,j=0,k=0,l=0.0,m=0.0,n...
function qf (line 1157) | function qf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,j=0.0,k=0.0,l=0.0...
function rf (line 1157) | function rf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;vf(a,b,c,1);return}
function sf (line 1157) | function sf(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0...
function tf (line 1157) | function tf(a,b,c){a=a|0;b=b|0;c=c|0;vf(a,b,c,0);return}
function uf (line 1157) | function uf(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=120905...
function vf (line 1157) | function vf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0.0,m...
function wf (line 1157) | function wf(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return}
function xf (line 1157) | function xf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,j=0.0,k=0,l=0...
function yf (line 1157) | function yf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,j=0.0,k=0.0,l...
function zf (line 1157) | function zf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,j=0.0,k=0.0...
function Af (line 1157) | function Af(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0...
function Bf (line 1157) | function Bf(a){a=a|0;DN(c[a+52>>2]|0,c[a+56>>2]|0)|0;return}
function Cf (line 1157) | function Cf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+80|0;f=...
function Df (line 1157) | function Df(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0...
function Ef (line 1157) | function Ef(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,j=0.0,k=0.0...
function Ff (line 1157) | function Ff(d){d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=gu(d)|0;if(e)do{O...
function Gf (line 1157) | function Gf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[(c[b+16>>2]|0)+192>...
function Hf (line 1157) | function Hf(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0...
function If (line 1157) | function If(a){a=a|0;return c[(c[(yu(a)|0)+16>>2]|0)+188>>2]|0}
function Jf (line 1157) | function Jf(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+172>>2]|...
function Kf (line 1157) | function Kf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;d=sv(a)|0;if(d)do{Kf(d);d=t...
function Lf (line 1157) | function Lf(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function Mf (line 1157) | function Mf(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;Ou(d,178510,280,1)|0;g=d+16...
function Nf (line 1157) | function Nf(a,b){a=a|0;b=b|0;if((yu(a)|0)!=(a|0))Ou(a,178510,280,1)|0;if...
function Of (line 1157) | function Of(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function Pf (line 1157) | function Pf(b,c){b=b|0;c=c|0;var d=0;d=a[b+28>>0]|0;if(a[c+28>>0]|0)if(d...
function Qf (line 1157) | function Qf(a){a=a|0;Rf(a,1);return}
function Rf (line 1157) | function Rf(f,g){f=f|0;g=g|0;var j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0...
function Sf (line 1157) | function Sf(a){a=a|0;var b=0,d=0,e=0.0,f=0;b=gu(a)|0;if(b)do{d=c[b+16>>2...
function Tf (line 1157) | function Tf(b){b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0;f=b+16|0;d=c[f>>2]|0;if...
function Uf (line 1157) | function Uf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0;do if(!d){d=c[b>>2]...
function Vf (line 1157) | function Vf(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,j=0.0,l=0,m=0,n=0,o=0...
function Wf (line 1157) | function Wf(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var l=0,m=0...
function Xf (line 1157) | function Xf(a,b,d,e,f,g,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var...
function Yf (line 1157) | function Yf(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var l=0,m=0...
function Zf (line 1157) | function Zf(a,b,d,e,f,g,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var...
function _f (line 1157) | function _f(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0.0,k...
function $f (line 1157) | function $f(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0...
function ag (line 1157) | function ag(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0.0,k...
function bg (line 1157) | function bg(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0,l=0,m=0;f=c...
function cg (line 1157) | function cg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[a>>2]&3;i=c...
function dg (line 1157) | function dg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[a>>2]&3;i=c...
function eg (line 1157) | function eg(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0...
function zA (line 1158) | function zA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function AA (line 1158) | function AA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[d+52>>2]|0;a:while(1){d...
function BA (line 1158) | function BA(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=c[14070]|0;i...
function CA (line 1158) | function CA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;a:do s...
function DA (line 1158) | function DA(a,b,d){a=a|0;b=b|0;d=d|0;fQ(c[b+52>>2]|0);return}
function EA (line 1158) | function EA(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0...
function FA (line 1158) | function FA(){var b=0,d=0,e=0;d=i;i=i+16|0;b=d;e=c[14089]|0;c[14089]=e+1...
function GA (line 1158) | function GA(){var b=0,d=0,e=0,f=0.0,g=0,j=0;d=i;i=i+16|0;b=d;e=c[14089]|...
function HA (line 1158) | function HA(a,b){a=a|0;b=b|0;return MA(a,b,0)|0}
function IA (line 1158) | function IA(a,b){a=a|0;b=b|0;return MA(a,b,1)|0}
function JA (line 1158) | function JA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0...
function KA (line 1158) | function KA(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0.0,l=0.0,m=0...
function LA (line 1158) | function LA(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[14090]|0;do if...
function MA (line 1158) | function MA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0.0,k=0.0,l=0,m=0,n=0...
function NA (line 1158) | function NA(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0...
function OA (line 1158) | function OA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0...
function PA (line 1158) | function PA(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0...
function QA (line 1158) | function QA(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(a){a=c[c[a+4>>2]>>2]|...
function RA (line 1158) | function RA(a){a=a|0;a=c[(c[a+16>>2]|0)+8>>2]|0;if(!a)a=0;else a=(c[c[a+...
function SA (line 1158) | function SA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[14095]|0;a:do if((e...
function TA (line 1158) | function TA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=j;do...
function UA (line 1158) | function UA(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,l=0.0,m=0.0,n=0...
function VA (line 1158) | function VA(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+80|0;f=j+40|0;h...
function WA (line 1158) | function WA(){c[14353]=0;c[14354]=0;c[14355]=0;return}
function XA (line 1158) | function XA(b){b=b|0;var d=0,e=0.0,f=0.0,g=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0...
function YA (line 1158) | function YA(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0,j=0.0,k=0,l=0,m=0,n=0,o=0...
function ZA (line 1158) | function ZA(a){a=a|0;var b=0.0,d=0,e=0.0,f=0,g=0,i=0,j=0,k=0.0,l=0;i=yz(...
function _A (line 1158) | function _A(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0.0,l...
function $A (line 1158) | function $A(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0,j=0,k=0,l=0,m=0,n...
function aB (line 1158) | function aB(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[b>>3]/1.90211303259030...
function bB (line 1158) | function bB(a,b){a=a|0;b=b|0;var c=0.0,d=0.0,e=0.0,f=0.0,g=0.0,i=0,j=0.0...
function cB (line 1158) | function cB(a){a=a|0;a=c[(c[a+16>>2]|0)+12>>2]|0;if(a){fQ(c[a+44>>2]|0);...
function dB (line 1158) | function dB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0...
function eB (line 1158) | function eB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,j=0.0,k=0.0,l=0.0,m=0...
function fB (line 1158) | function fB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;e=c[b+16>>2]|0;if((...
function gB (line 1158) | function gB(e,f){e=e|0;f=f|0;var j=0,k=0,l=0,m=0.0,n=0,o=0,p=0,q=0,r=0,s...
function hB (line 1158) | function hB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;e=kB(d...
function iB (line 1158) | function iB(b,d){b=b|0;d=d|0;var e=0;e=pC(b,c[13903]|0,181739)|0;if(!(a[...
function jB (line 1158) | function jB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,j=0,l=0.0,m=0.0,n=0.0;e=i...
function kB (line 1158) | function kB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0...
function lB (line 1158) | function lB(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0.0,g=0.0,j=0,k=0,l=0;e=i;i...
function mB (line 1158) | function mB(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function nB (line 1158) | function nB(a){a=a|0;uB(c[(c[a+16>>2]|0)+12>>2]|0);return}
function oB (line 1158) | function oB(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0...
function pB (line 1158) | function pB(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,j=0,k=0.0,l=0,m=0,n...
function qB (line 1158) | function qB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0.0,k=0.0,l=0...
function rB (line 1158) | function rB(d,e){d=d|0;e=e|0;var f=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r...
function sB (line 1158) | function sB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0.0,l=0.0,m=0.0,n=0.0...
function tB (line 1158) | function tB(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=c[b+60>>2]|0;if(!(((e|0)!...
function uB (line 1158) | function uB(a){a=a|0;var b=0,d=0,e=0;b=a+48|0;d=a+56|0;if((c[b>>2]|0)>0)...
function vB (line 1158) | function vB(a,b){a=a|0;b=b|0;var d=0;d=b+8|0;h[d>>3]=+h[d>>3]*1.375;c[a>...
function wB (line 1158) | function wB(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0...
function xB (line 1158) | function xB(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,j=0,l=0,m=0,n=0.0,o=0...
function yB (line 1158) | function yB(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0,j=0,k=0,l=0;k=i;i...
function zB (line 1158) | function zB(e,f){e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0...
function AB (line 1158) | function AB(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0,l=0,m=0...
function BB (line 1158) | function BB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,j=0,k=0.0,l=0,m=0,n...
function CB (line 1158) | function CB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,j=0.0,k=0,l=0,m=0,n=0...
function DB (line 1158) | function DB(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0...
function EB (line 1158) | function EB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,j=0.0,k=0,l...
function FB (line 1158) | function FB(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0.0;m...
function GB (line 1158) | function GB(b,d){b=b|0;d=d|0;var e=0,f=0;e=b+16|0;b=c[e>>2]|0;if(a[b+112...
function HB (line 1158) | function HB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0...
function IB (line 1158) | function IB(a,b){a=a|0;b=b|0;var d=0,e=0;if(+h[b>>3]<+h[b+16>>3]?+h[b+8>...
function JB (line 1158) | function JB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0.0,l=0,m=0,n...
function KB (line 1158) | function KB(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0.0,l=0,m=0,n...
function LB (line 1158) | function LB(b){b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;d=c[b+16>>2]|0;i=c[d+96...
function MB (line 1158) | function MB(b,e,f,g,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;j=+j;k=+k;l=l|0;var m...
function NB (line 1158) | function NB(b){b=b|0;var d=0,e=0;if((c[13972]|0)!=0|(c[13971]|0)!=0){d=b...
function OB (line 1158) | function OB(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,j=0.0,k=0,l=0.0,m=0,n=0...
function PB (line 1158) | function PB(a,b,d){a=a|0;b=b|0;d=d|0;var f=0.0,g=0.0,j=0.0,k=0.0,l=0.0,m...
function QB (line 1158) | function QB(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;NB(b);return}
function RB (line 1158) | function RB(b){b=b|0;var d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=g;e=c[b+16>>2]|0...
function SB (line 1158) | function SB(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0.0,m...
function TB (line 1158) | function TB(a){a=a|0;var b=0.0,d=0.0,e=0,f=0,g=0.0,i=0,j=0.0,k=0,l=0,m=0...
function UB (line 1158) | function UB(a,b){a=a|0;b=b|0;var d=0;if((b|0)!=12)if((b|0)!=4)if((b|0)!=...
function VB (line 1158) | function VB(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=+g;j=+j;k=k|0;var l=0,m=0.0...
function WB (line 1158) | function WB(b,d,e,f,g){b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var j=0.0,k=0.0,l=0....
function XB (line 1158) | function XB(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0;i=a+4|0;e=c[i>>2...
function YB (line 1158) | function YB(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0;f=c[a>>2]|0;e=a+4|0;i...
function ZB (line 1158) | function ZB(a,b,c,d,e,f,g,h){a=+a;b=+b;c=+c;d=d|0;e=+e;f=+f;g=g|0;h=h|0;...
function _B (line 1158) | function _B(a,b,c,d,e,f){a=a|0;b=+b;c=+c;d=+d;e=+e;f=+f;var g=0,h=0.0;YB...
function $B (line 1158) | function $B(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0.0,l=0,m=0.0,n=0...
function aC (line 1158) | function aC(a){a=a|0;var b=0;b=a+108|0;c[b>>2]=0;c[a+112>>2]=32;c[a+116>...
function bC (line 1158) | function bC(a,b){a=a|0;b=b|0;return YO(c[a>>2]|0,c[b>>2]|0)|0}
function cC (line 1158) | function cC(a,b,d){a=a|0;b=b|0;d=d|0;a=gQ(1,32)|0;d=c[b>>2]|0;if(d)c[a>>...
function dC (line 1158) | function dC(a,b,d){a=a|0;b=b|0;d=d|0;d=c[b>>2]|0;if(d)fQ(d);d=c[b+4>>2]|...
function eC (line 1158) | function eC(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;e=c...
function fC (line 1158) | function fC(){Ta(59208)|0;return}
function gC (line 1158) | function gC(){var a=0,b=0;b=i;i=i+16|0;a=b;Ta(a|0)|0;i=b;return +(+((c[a...
function hC (line 1158) | function hC(a){a=a|0;var b=0,d=0;b=yz(16)|0;a=(a|0)<2?2:a;d=yz(a<<2)|0;c...
function iC (line 1158) | function iC(a){a=a|0;fQ(c[a>>2]|0);fQ(a);return}
function jC (line 1158) | function jC(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+12|0;e=c[d>>2]|0;c[d>>2]=e+...
function kC (line 1158) | function kC(a){a=a|0;var b=0,d=0,e=0;d=a+8|0;b=c[d>>2]|0;if((b|0)!=(c[a+...
function lC (line 1158) | function lC(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;k=i;i=i...
function mC (line 1158) | function mC(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,h=0.0,j=0,k=0;k=i;i=i...
function nC (line 1158) | function nC(a){a=a|0;var b=0.0;b=+h[4279];if(!(b>0.0)){b=+mC(a,Is(a,0,14...
function oC (line 1158) | function oC(a,b,c){a=a|0;b=b|0;c=c|0;if((a|0)!=0&(b|0)!=0)c=Rs(a,b)|0;re...
function pC (line 1158) | function pC(b,c,d){b=b|0;c=c|0;d=d|0;if((b|0)!=0&(c|0)!=0)c=Rs(b,c)|0;el...
function qC (line 1158) | function qC(a,b,c){a=a|0;b=b|0;c=c|0;if(!b)b=c&255;else b=BC(Rs(a,b)|0,0...
function rC (line 1158) | function rC(a){a=a|0;return BC(a,0)|0}
function sC (line 1158) | function sC(a){a=a|0;var b=0,d=0,e=0;b=c[a+16>>2]|0;e=b+220|0;d=c[e>>2]|...
function tC (line 1158) | function tC(a,b){a=a|0;b=b|0;var d=0,e=0;do if((a|0)!=(b|0)){d=c[a+16>>2...
function uC (line 1158) | function uC(b){b=b|0;b=c[b+16>>2]|0;c[b+216>>2]=1;c[b+220>>2]=0;a[b+159>...
function vC (line 1158) | function vC(a,b){a=a|0;b=b|0;if((sC(a)|0)==(a|0)){a=c[a+16>>2]|0;c[a+220...
function wC (line 1158) | function wC(a,b){a=a|0;b=b|0;var d=0.0;b=c[(c[b+16>>2]|0)+132>>2]|0;d=+h...
function xC (line 1158) | function xC(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=f|0;g=g|0;var j=0,k=0....
function yC (line 1158) | function yC(b){b=b|0;var d=0,e=0,f=0,g=0;d=0;do{e=c[14806]|0;if((e-d|0)<...
function zC (line 1158) | function zC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h+8|0;f=h;do...
function AC (line 1158) | function AC(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=c[d>>2]|0;a:do if...
function BC (line 1158) | function BC(b,c){b=b|0;c=c|0;var d=0;if((b|0)!=0?(d=a[b>>0]|0,d<<24>>24!...
function CC (line 1158) | function CC(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,j=0.0,k=0.0,l...
function DC (line 1158) | function DC(){return c[14811]|0}
function EC (line 1158) | function EC(b){b=b|0;var e=0,f=0,g=0,i=0,j=0,k=0.0,l=0,m=0;k=+mC(b,c[139...
function FC (line 1158) | function FC(b){b=b|0;var e=0,f=0,g=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0,q=0,r...
function GC (line 1158) | function GC(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,l...
function HC (line 1158) | function HC(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0.0,l=0,m=0.0,n...
function IC (line 1158) | function IC(b){b=b|0;var d=0.0,e=0.0,f=0,g=0.0,i=0.0,j=0,k=0.0,l=0,m=0,n...
function JC (line 1158) | function JC(a){a=a|0;if((c[a+60>>2]|0)==(a|0))a=1;else a=(fP(Ft(a)|0,149...
function KC (line 1158) | function KC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;a:do if(!e)switch(I...
function LC (line 1158) | function LC(d){d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0...
function MC (line 1158) | function MC(a){a=a|0;var b=0;b=hs(59248,c[13094]|0)|0;iD(a,b);return b|0}
function NC (line 1158) | function NC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=rv(b,149075,1)|0;Ou(h...
function OC (line 1158) | function OC(a){a=a|0;var b=0,d=0,e=0;e=a+16|0;b=c[e>>2]|0;d=c[b+132>>2]|...
function PC (line 1158) | function PC(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;e=Is(a,b,c,0)|0;if(...
function QC (line 1158) | function QC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0...
function RC (line 1158) | function RC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0...
function SC (line 1158) | function SC(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+1056|0;...
function TC (line 1158) | function TC(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+1040|0;j=k;xs(j...
function UC (line 1158) | function UC(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,j=0.0,l=0.0,m=0,n=0,o=0...
function VC (line 1158) | function VC(b,c){b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0;g=+h[...
function WC (line 1158) | function WC(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,j=0,l=0,m=0,n=0,o=0,p=0...
function XC (line 1158) | function XC(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;a:do if((b...
function YC (line 1158) | function YC(d,f){d=d|0;f=f|0;var g=0;g=Qs(d,149632)|0;if(g)if(!(a[g>>0]|...
function ZC (line 1158) | function ZC(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0....
function _C (line 1158) | function _C(a){a=a|0;var b=0,d=0;d=a+16|0;a=c[d>>2]|0;b=c[a+8>>2]|0;if(b...
function $C (line 1158) | function $C(a){a=a|0;var b=0;b=a+16|0;fQ(c[(c[b>>2]|0)+144>>2]|0);_C(a);...
function aD (line 1158) | function aD(a,b){a=a|0;b=b|0;var d=0.0;a=c[a+16>>2]|0;if(!(b<<24>>24)){d...
function bD (line 1158) | function bD(a,b){a=a|0;b=b|0;a=Jb[c[a>>2]&63](a,b,512)|0;if(!a)a=0;else ...
function cD (line 1158) | function cD(a){a=a|0;var b=0,d=0,e=0,f=0;f=0;e=mP(dP(a)|0,151135)|0;d=0;...
function dD (line 1158) | function dD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+32|0;g=...
function eD (line 1158) | function eD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;h[d>>3]=+mC(b,c[13948]|0,14...
function fD (line 1158) | function fD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0;f=d+8|0;if(!(c[...
function gD (line 1158) | function gD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0...
function hD (line 1158) | function hD(b,c){b=b|0;c=c|0;var d=0;if(((c|0)!=0?(d=Rs(b,c)|0,(d|0)!=0)...
function iK (line 1159) | function iK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0...
function jK (line 1159) | function jK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if...
function kK (line 1159) | function kK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f...
function lK (line 1159) | function lK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;do if((...
function mK (line 1159) | function mK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;do if((...
function nK (line 1159) | function nK(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0;i=b+76|0;b=e;e=...
function oK (line 1159) | function oK(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=a[e>>0]|0;b=(...
function pK (line 1159) | function pK(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+76|0;b=c;a:while(1){e=a...
function qK (line 1159) | function qK(b,c){b=b|0;c=c|0;var e=0;a:do if(!(a[c+1>>0]|0)){e=b+76|0;wh...
function rK (line 1159) | function rK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0...
function sK (line 1159) | function sK(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+4|0;a:do if((a[c+5>>0]|0)==...
function tK (line 1159) | function tK(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;a:do switch((d-c|0)/2|0|0){...
function uK (line 1159) | function uK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;if(...
function vK (line 1159) | function vK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;h=f+-2|0;f=...
function wK (line 1159) | function wK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0...
function xK (line 1159) | function xK(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=c[f>>...
function yK (line 1159) | function yK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:d...
function zK (line 1159) | function zK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:d...
function AK (line 1159) | function AK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if...
function BK (line 1159) | function BK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0...
function CK (line 1159) | function CK(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==6?(a[b+...
function DK (line 1159) | function DK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0...
function EK (line 1159) | function EK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0...
function FK (line 1159) | function FK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0...
function GK (line 1159) | function GK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if...
function HK (line 1159) | function HK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;k=f...
function IK (line 1159) | function IK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;do if((...
function JK (line 1159) | function JK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;do if((...
function KK (line 1159) | function KK(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0,i=0;i=b+76|0;b=e;e=...
function LK (line 1159) | function LK(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=a[e>>0]|0;b=(...
function MK (line 1159) | function MK(b,c){b=b|0;c=c|0;var e=0,f=0,g=0;g=b+76|0;b=c;a:while(1){e=a...
function NK (line 1159) | function NK(b,c){b=b|0;c=c|0;a:do if(!(a[c>>0]|0)){b=b+76|0;while(1){swi...
function OK (line 1159) | function OK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0...
function PK (line 1159) | function PK(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+4|0;d=a[b>>0]|0;a:do if(!(d...
function QK (line 1159) | function QK(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;a:do switch((d-c|0)/2|0|0){...
function RK (line 1159) | function RK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;if(...
function SK (line 1159) | function SK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=f+-2|0;f=...
function TK (line 1159) | function TK(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0...
function UK (line 1159) | function UK(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0;j=c[f>>...
function VK (line 1159) | function VK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:d...
function WK (line 1159) | function WK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:d...
function XK (line 1159) | function XK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0;a:do if...
function YK (line 1159) | function YK(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0...
function ZK (line 1159) | function ZK(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==6?(a[b>...
function _K (line 1159) | function _K(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0...
function $K (line 1159) | function $K(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0...
function aL (line 1159) | function aL(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0...
function bL (line 1159) | function bL(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:d...
function cL (line 1159) | function cL(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0...
function dL (line 1159) | function dL(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if((e|0)...
function eL (line 1159) | function eL(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;do if((e|0)...
function fL (line 1159) | function fL(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0,h=0;g=b+76|0;b=e;a:whil...
function gL (line 1159) | function gL(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;f=a[e>>0]|0;b=(...
function hL (line 1159) | function hL(a,b){a=a|0;b=b|0;var c=0;c=a+76|0;a=b;a:while(1)switch(d[c+(...
function iL (line 1159) | function iL(a,b){a=a|0;b=b|0;a=a+76|0;a:while(1){switch(d[a+(d[b>>0]|0)>...
function jL (line 1159) | function jL(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0...
function kL (line 1159) | function kL(b,c){b=b|0;c=c|0;var d=0,e=0;b=c+2|0;d=a[b>>0]|0;a:do switch...
function lL (line 1159) | function lL(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;a:do switch(d-c|0){case 2:{...
function mL (line 1159) | function mL(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;a:do if(e>>>0<f...
function nL (line 1159) | function nL(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=f+-1|0;f=e+1|...
function oL (line 1159) | function oL(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=c[d>>2]|0...
function pL (line 1159) | function pL(e,f,g,h,i){e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0...
function qL (line 1159) | function qL(a,b){a=a|0;b=b|0;a=d[b>>0]|0;b=d[b+1>>0]|0;return 1<<(b&31)&...
function rL (line 1159) | function rL(a,b){a=a|0;b=b|0;var e=0;e=d[b+1>>0]|0;a=d[b+2>>0]|0;return ...
function sL (line 1159) | function sL(a,b){a=a|0;b=b|0;return 0}
function tL (line 1159) | function tL(a,b){a=a|0;b=b|0;a=d[b>>0]|0;b=d[b+1>>0]|0;return 1<<(b&31)&...
function uL (line 1159) | function uL(a,b){a=a|0;b=b|0;var e=0;e=d[b+1>>0]|0;a=d[b+2>>0]|0;return ...
function vL (line 1159) | function vL(a,b){a=a|0;b=b|0;var c=0;if((d[b>>0]|0)>=194?(c=d[b+1>>0]|0,...
function wL (line 1159) | function wL(b,c){b=b|0;c=c|0;var d=0,e=0;b=a[c+2>>0]|0;a:do if(b<<24>>24...
function xL (line 1159) | function xL(b,c){b=b|0;c=c|0;var e=0;e=d[c+3>>0]|0;do if(!((e&128|0)==0|...
function yL (line 1159) | function yL(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0;a:d...
function zL (line 1159) | function zL(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0;a:d...
function AL (line 1159) | function AL(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0...
function BL (line 1159) | function BL(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0...
function CL (line 1159) | function CL(b,d,e){b=b|0;d=d|0;e=e|0;c[e>>2]=11;a:do if((d-b|0)==3){swit...
function DL (line 1159) | function DL(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0...
function EL (line 1159) | function EL(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;b=c[d>>...
function FL (line 1159) | function FL(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;a=c...
function GL (line 1159) | function GL(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;k=h...
function HL (line 1159) | function HL(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0...
function IL (line 1159) | function IL(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var...
function JL (line 1159) | function JL(a){a=a|0;c[a>>2]=5;c[a+16>>2]=1;c[a+12>>2]=0;c[a+20>>2]=0;re...
function KL (line 1159) | function KL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0)...
function LL (line 1159) | function LL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0)...
function ML (line 1159) | function ML(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;a:do switch...
function NL (line 1159) | function NL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do sw...
function OL (line 1159) | function OL(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}
function PL (line 1159) | function PL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function QL (line 1159) | function QL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function RL (line 1159) | function RL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function SL (line 1159) | function SL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function TL (line 1159) | function TL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function UL (line 1159) | function UL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function VL (line 1159) | function VL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;a:do switch...
function WL (line 1159) | function WL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function XL (line 1159) | function XL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function YL (line 1159) | function YL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function ZL (line 1159) | function ZL(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function _L (line 1159) | function _L(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;a:do switch...
function $L (line 1159) | function $L(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0)...
function aM (line 1159) | function aM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function bM (line 1159) | function bM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function cM (line 1159) | function cM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function dM (line 1159) | function dM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function eM (line 1159) | function eM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function fM (line 1159) | function fM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function gM (line 1159) | function gM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0...
function hM (line 1159) | function hM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;a:do sw...
function iM (line 1159) | function iM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function jM (line 1159) | function jM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function kM (line 1159) | function kM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function lM (line 1159) | function lM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function mM (line 1159) | function mM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function nM (line 1159) | function nM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function oM (line 1159) | function oM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function pM (line 1159) | function pM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;a:do switch...
function qM (line 1159) | function qM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function rM (line 1159) | function rM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function sM (line 1159) | function sM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0)...
function tM (line 1159) | function tM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function uM (line 1159) | function uM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;a:do switch...
function vM (line 1159) | function vM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function wM (line 1159) | function wM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function xM (line 1159) | function xM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function yM (line 1159) | function yM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function zM (line 1159) | function zM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function AM (line 1159) | function AM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;switch(b|0)...
function BM (line 1159) | function BM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function CM (line 1159) | function CM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;a:do switch...
function DM (line 1159) | function DM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function EM (line 1159) | function EM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function FM (line 1159) | function FM(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;switch(b|0){case 15...
function GM (line 1159) | function GM(a){a=a|0;return ((a+-48|0)>>>0<10|(HM(a)|0)!=0)&1|0}
function HM (line 1159) | function HM(a){a=a|0;return ((a|32)+-97|0)>>>0<26|0}
function IM (line 1159) | function IM(a){a=a|0;return ((a|0)==32|(a|0)==9)&1|0}
function JM (line 1159) | function JM(a){a=a|0;return (a+-97|0)>>>0<26|0}
function KM (line 1159) | function KM(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}
function LM (line 1159) | function LM(a){a=a|0;return (a+-65|0)>>>0<26|0}
function MM (line 1159) | function MM(a){a=a|0;if(!(SM(a)|0))a=(NM(a)|0)!=0;else a=1;return a&1|0}
function NM (line 1159) | function NM(a){a=a|0;if(a>>>0<131072)a=(d[185542+((d[185542+(a>>>8)>>0]|...
function OM (line 1159) | function OM(a){a=a|0;return IM(a)|0}
function PM (line 1159) | function PM(a){a=a|0;if((a&-2|0)==8232|(a>>>0<32|(a+-127|0)>>>0<33))a=1;...
function QM (line 1159) | function QM(a,b){a=a|0;b=b|0;do switch(b|0){case 1:{b=MM(a)|0;break}case...
function RM (line 1159) | function RM(b){b=b|0;var c=0,d=0,e=0,f=0;d=a[b>>0]|0;e=97;c=1;f=188518;w...
function SM (line 1159) | function SM(a){a=a|0;return (a+-48|0)>>>0<10|0}
function TM (line 1159) | function TM(a){a=a|0;if(!(XM(a)|0))a=(VM(a)|0)!=0;else a=0;return a&1|0}
function UM (line 1159) | function UM(a){a=a|0;return ((a|0)==223|(aN(a)|0)!=(a|0))&1|0}
function VM (line 1159) | function VM(a){a=a|0;if(a>>>0>=255)if((a+-57344|0)>>>0<8185|(a>>>0<8232|...
function WM (line 1159) | function WM(a){a=a|0;if(a>>>0<131072)a=(d[188591+((d[188591+(a>>>8)>>0]|...
function XM (line 1159) | function XM(a){a=a|0;if(!a)a=0;else a=(oP(99252,a)|0)!=0;return a&1|0}
function YM (line 1159) | function YM(a){a=a|0;return (bN(a)|0)!=(a|0)|0}
function ZM (line 1159) | function ZM(a){a=a|0;if((a+-48|0)>>>0<10)a=1;else a=((a|32)+-97|0)>>>0<6...
function _M (line 1159) | function _M(a){a=a|0;var b=0;b=(LM(a)|0)==0;return (b?a:a|32)|0}
function $M (line 1159) | function $M(a){a=a|0;var b=0;b=(JM(a)|0)==0;return (b?a:a&95)|0}
function aN (line 1159) | function aN(a){a=a|0;return sP(a,0)|0}
function bN (line 1159) | function bN(a){a=a|0;return sP(a,1)|0}
function cN (line 1159) | function cN(){var a=0;if(!(c[24747]|0))a=99340;else a=c[(eb()|0)+60>>2]|...
function dN (line 1159) | function dN(b){b=b|0;var c=0,e=0;c=0;while(1){if((d[191759+c>>0]|0)==(b|...
function eN (line 1159) | function eN(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,h=0,j=0.0,k=0,l=0,m=0.0,n...
function fN (line 1159) | function fN(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0...
function gN (line 1159) | function gN(b,c){b=b|0;c=c|0;var d=0,e=0;d=0;while(1){a[b+d>>0]=a[193926...
function hN (line 1159) | function hN(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;c[a+104>>2]=b;d=c[a+4>>2]|0...
function uy (line 1160) | function uy(e,f){e=e|0;f=f|0;var j=0.0,l=0,m=0,n=0.0,o=0.0,p=0,q=0,r=0,s...
function vy (line 1160) | function vy(a){a=a|0;var b=0,d=0,e=0;b=c[13851]|0;if(!b){b=hs(55408,c[13...
function wy (line 1160) | function wy(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0.0,o=0,p=0,q=0,r...
function xy (line 1160) | function xy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i...
function yy (line 1160) | function yy(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function zy (line 1160) | function zy(a){a=a|0;var b=0;b=c[13865]|0;if(!a){if((b|0)>0?(a=b+-1|0,c[...
function Ay (line 1160) | function Ay(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0...
function By (line 1160) | function By(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+144|0;h=j;g...
function Cy (line 1160) | function Cy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0.0,k=0,l=0,m=0.0,n=0...
function Dy (line 1160) | function Dy(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0,j...
function Ey (line 1160) | function Ey(a){a=a|0;if((c[a>>2]|0)==7)oz(c[a+112>>2]|0,1);return}
function Fy (line 1160) | function Fy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i...
function Gy (line 1160) | function Gy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=d+16|0;d=c[g>>2]|0;if((c[...
function Hy (line 1160) | function Hy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;b=Qs(b,182282)|0;a:do i...
function Iy (line 1160) | function Iy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[b>>2]|0;if((f|0...
function Jy (line 1160) | function Jy(d,f){d=d|0;f=f|0;var g=0,i=0,j=0,l=0,m=0,n=0.0,o=0.0,p=0.0,q...
function Ky (line 1160) | function Ky(f,j){f=f|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0...
function Ly (line 1160) | function Ly(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0...
function My (line 1160) | function My(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;h=b+156|0;a:do ...
function Ny (line 1160) | function Ny(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j=0,k=0,l...
function Oy (line 1160) | function Oy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=a[d>>0]|0;if(h<<2...
function Py (line 1160) | function Py(a,b,c){a=a|0;b=b|0;c=c|0;fQ(b);return}
function Qy (line 1160) | function Qy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;d=yu(d)|0;if((a[(c[d+16...
function Ry (line 1160) | function Ry(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0.0,o...
function Sy (line 1160) | function Sy(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,g=0.0,j=0,k=0,l=0,m=...
function Ty (line 1160) | function Ty(b,d){b=b|0;d=d|0;var e=0;e=1;a:while(1){switch(a[b>>0]|0){ca...
function Uy (line 1160) | function Uy(a,b,c){a=+a;b=+b;c=+c;return +((1.0-a/b)*c*.5)}
function Vy (line 1160) | function Vy(a,b,c){a=+a;b=+b;c=+c;return +(c*.5)}
function Wy (line 1160) | function Wy(a,b,c){a=+a;b=+b;c=+c;return +(a/b*c*.5)}
function Xy (line 1160) | function Xy(a,b,c){a=+a;b=+b;c=+c;b=a/b;return +((!(b<=.5)?1.0-b:b)*c)}
function Yy (line 1160) | function Yy(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0.0,l...
function Zy (line 1160) | function Zy(b,d,e,f,g,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0...
function _y (line 1160) | function _y(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0;d=c[a+16>>2]|0;...
function $y (line 1160) | function $y(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0.0,f=0.0,g=0.0,i=0,j=0,k...
function az (line 1160) | function az(a){a=a|0;var b=0,c=0.0;b=a+16|0;c=+h[b>>3];h[a+32>>3]=c;h[a+...
function bz (line 1160) | function bz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,j=0,k=0,l=0;l=i...
function cz (line 1160) | function cz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,j=0,k=0,l=0;l=i...
function dz (line 1160) | function dz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;g=+h[c>...
function ez (line 1160) | function ez(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0;d=+h[a>...
function fz (line 1160) | function fz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0;if((c[1...
function gz (line 1160) | function gz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;f=g+8|...
function hz (line 1160) | function hz(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p...
function iz (line 1160) | function iz(b){b=b|0;var e=0,f=0,g=0.0,i=0.0,j=0;e=Qs(b,151058)|0;do if(...
function jz (line 1160) | function jz(a){a=a|0;var b=0,d=0,e=0,f=0;f=a+16|0;b=c[f>>2]|0;d=c[b+8>>2...
function kz (line 1160) | function kz(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=d;switch(a|0){case 0:{a=...
function lz (line 1160) | function lz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,j=0,k=0,l=0,m=0,n=0...
function mz (line 1160) | function mz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e=c[d>>...
function nz (line 1160) | function nz(b,e,f,g,j,k){b=b|0;e=e|0;f=f|0;g=+g;j=j|0;k=k|0;var l=0,m=0,...
function oz (line 1160) | function oz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if(a){if((b|0)>0){g...
function pz (line 1160) | function pz(d){d=d|0;var e=0;if(d){fQ(c[d>>2]|0);e=d+72|0;if(a[d+82>>0]|...
function qz (line 1160) | function qz(d,e,f){d=d|0;e=e|0;f=f|0;var g=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0...
function rz (line 1160) | function rz(a,b){a=a|0;b=b|0;return wz(a,b,1)|0}
function sz (line 1160) | function sz(a){a=a|0;return tz(a,0)|0}
function tz (line 1160) | function tz(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c[13992]|...
function uz (line 1160) | function uz(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;d=c[13994]|0;if(!d)...
function vz (line 1160) | function vz(d,e,f,g){d=d|0;e=e|0;f=f|0;g=g|0;var j=0.0,k=0,l=0.0,m=0,n=0...
function wz (line 1160) | function wz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0...
function xz (line 1160) | function xz(b){b=b|0;var c=0;c=a[b+1>>0]|0;a:do if(c<<24>>24!=35){if(((c...
function yz (line 1160) | function yz(a){a=a|0;var b=0;if(!a)a=0;else{b=zz(a)|0;tQ(b|0,0,a|0)|0;a=...
function zz (line 1160) | function zz(a){a=a|0;if(a){a=eQ(a)|0;if(!a){AO(152606,14,1,c[24809]|0)|0...
function Az (line 1160) | function Az(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=hQ(a,_(d,b)|0)|0;if(!((b|...
function Bz (line 1160) | function Bz(a,b){a=a|0;b=b|0;a=hQ(a,b)|0;if((b|0)!=0&(a|0)==0)AO(152606,...
function Cz (line 1160) | function Cz(b,d,f,g){b=b|0;d=d|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,p=0.0,q...
function Dz (line 1160) | function Dz(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Qs(a,143552)|0;if(!d)d=30...
function Ez (line 1160) | function Ez(){var b=0,d=0,e=0;b=c[(c[(c[13996]|0)+16>>2]|0)+192>>2]|0;if...
function Fz (line 1160) | function Fz(a,b){a=a|0;b=b|0;var d=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0...
function Gz (line 1160) | function Gz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;h=c[a>>2]|0;g=c...
function Hz (line 1160) | function Hz(a,b,d){a=a|0;b=b|0;d=d|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0...
function Iz (line 1160) | function Iz(a){a=a|0;var b=0,d=0;d=c[(c[a+16>>2]|0)+280>>2]|0;b=d+12|0;a...
function Jz (line 1160) | function Jz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=a+16|0;f=c[h>...
function Kz (line 1160) | function Kz(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+32|0;d=(c[b+16>...
function Lz (line 1160) | function Lz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=a+16|0;a=c[g>>2]|...
function Mz (line 1160) | function Mz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;f=a+16|0;d=c[f>...
function Nz (line 1160) | function Nz(a){a=a|0;var b=0,d=0;b=c[a>>2]&3;d=c[((b|0)==3?a:a+48|0)+40>...
function Oz (line 1160) | function Oz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+16|0;a=c[f>>2]|0;d=a+23...
function Pz (line 1160) | function Pz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;g=(...
function Qz (line 1160) | function Qz(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0;c[14045]=2147483647;c[1404...
function Rz (line 1160) | function Rz(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;b=c[i>>2]|...
function Sz (line 1160) | function Sz(a){a=a|0;var b=0,d=0,f=0,g=0,h=0,i=0,j=0;i=a+16|0;b=c[i>>2]|...
function Tz (line 1160) | function Tz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=c[a>>2]&3...
function Uz (line 1160) | function Uz(a){a=+a;return +((c[13887]|0)==0?a:+h[4293]-a)}
function Vz (line 1160) | function Vz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0...
function Wz (line 1160) | function Wz(d,f,g){d=d|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0...
function Xz (line 1160) | function Xz(a){a=a|0;var b=0;b=i;i=i+16|0;Wz(a,b,b+4|0);i=b;return}
function Yz (line 1160) | function Yz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,j=0;d=i;i=i+1040|0;f=...
function Zz (line 1160) | function Zz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;if(!(a[(c[d+16>>2]|0)+1...
function _z (line 1160) | function _z(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,j=0.0,k=0.0,l=0.0...
function $z (line 1160) | function $z(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0.0,m...
function aA (line 1160) | function aA(){return hs(56204,c[13094]|0)|0}
function bA (line 1160) | function bA(a){a=a|0;ds(a)|0;return}
function cA (line 1160) | function cA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=b;f=c[e>>2]|0;e=c[e+4>>2]...
function dA (line 1160) | function dA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=yz(16)|0;f=e+8|0;c[f>...
function eA (line 1160) | function eA(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=i;i=i+16|0;e=d;g=b;f=...
function fA (line 1160) | function fA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f+8>...
function gA (line 1160) | function gA(a){a=a|0;return js(a)|0}
function hA (line 1160) | function hA(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=yz((js(a)|0)<<3)|0;a=fs(a...
function iA (line 1160) | function iA(){var a=0,b=0,d=0,e=0;a=zz(40)|0;b=a;d=56240;e=b+36|0;do{c[b...
function jA (line 1160) | function jA(a){a=a|0;Jb[c[a>>2]&63](a,0,64)|0;return}
function kA (line 1160) | function kA(a){a=a|0;var b=0,d=0;b=c[a+4>>2]|0;ds(a)|0;a=c[b+36>>2]|0;if...
function lA (line 1160) | function lA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+32|0;g=...
function mA (line 1160) | function mA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;d=d+36|0;a=c[d>>2]|0;if...
function nA (line 1160) | function nA(a,b,d){a=a|0;b=b|0;d=d|0;d=d+36|0;c[b>>2]=c[d>>2];c[d>>2]=b;...
function oA (line 1160) | function oA(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if(...
function pA (line 1160) | function pA(a,b,c){a=a|0;b=b|0;c=c|0;fQ(b);return}
function qA (line 1160) | function qA(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0...
function rA (line 1160) | function rA(b,f){b=b|0;f=f|0;var g=0.0,j=0.0,k=0,l=0,m=0,n=0,o=0.0,p=0.0...
function sA (line 1160) | function sA(b){b=b|0;var d=0,e=0.0,f=0,g=0.0,i=0.0,j=0,k=0;f=(yu(b)|0)==...
function tA (line 1160) | function tA(a){a=a|0;rA(a,1);return}
function uA (line 1160) | function uA(b){b=b|0;var d=0,e=0.0,f=0,g=0.0,i=0.0,j=0,k=0;f=(yu(b)|0)==...
function vA (line 1160) | function vA(b){b=b|0;var d=0,e=0,f=0,g=0;g=(yu(b)|0)==(b|0);f=b+16|0;d=c...
function wA (line 1160) | function wA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0...
function xA (line 1160) | function xA(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0...
function yA (line 1160) | function yA(a){a=a|0;a=c[(c[a+16>>2]|0)+12>>2]|0;if(a)fQ(a);return}
function iD (line 1161) | function iD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;h=i;i=i+16|0;g=...
function jD (line 1161) | function jD(a,b,c){a=a|0;b=b|0;c=c|0;b=ht(xu(b)|0,b,c,0,1)|0;Ou(b,178780...
function kD (line 1161) | function kD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;l=i...
function lD (line 1161) | function lD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0...
function mD (line 1161) | function mD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;f=xu(b)|0;if(a[(c[b+16>>2]|...
function nD (line 1161) | function nD(a,b){a=a|0;b=b|0;return aP(c[a>>2]|0,c[b>>2]|0)|0}
function oD (line 1161) | function oD(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;l=i;i=i...
function pD (line 1161) | function pD(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+32|0;k=...
function qD (line 1161) | function qD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0...
function rD (line 1161) | function rD(a,b,d){a=a|0;b=b|0;d=d|0;d=yz(24)|0;c[d+8>>2]=c[b+8>>2];c[d+...
function sD (line 1161) | function sD(a,b,c){a=a|0;b=b|0;c=c|0;fQ(b);return}
function tD (line 1161) | function tD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if(...
function uD (line 1161) | function uD(a,b,c){a=a|0;b=b|0;c=c|0;fQ(b);return}
function vD (line 1161) | function vD(e,f){e=e|0;f=f|0;var g=0,j=0,l=0,m=0,p=0.0,q=0,r=0.0,s=0.0,t...
function wD (line 1161) | function wD(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0.0;m...
function xD (line 1161) | function xD(a,b){a=a|0;b=b|0;return (c[a>>2]|0)-(c[b>>2]|0)|0}
function yD (line 1161) | function yD(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0;j=(a[d+36>>...
function zD (line 1161) | function zD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i...
function AD (line 1161) | function AD(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0;g=i;i=i+16|0;f=g;h[f...
function BD (line 1161) | function BD(a,b){a=a|0;b=b|0;a=Jb[c[a>>2]&63](a,b+8|0,512)|0;if(!a)Na(15...
function CD (line 1161) | function CD(a){a=a|0;var b=0;a=fs(a)|0;if(a)do{b=fs(c[a+16>>2]|0)|0;if(b...
function DD (line 1161) | function DD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0;a=fs(a)|0;if(a)...
function ED (line 1161) | function ED(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0...
function FD (line 1161) | function FD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function GD (line 1161) | function GD(a){a=a|0;return 0}
function HD (line 1161) | function HD(a){a=a|0;return 0}
function ID (line 1161) | function ID(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,j=0,k=0,l=0,m=0;m=i;i...
function JD (line 1161) | function JD(a,b){a=a|0;b=b|0;if(!(+h[a+8>>3]==+h[b+8>>3]))Na(151945,1518...
function KD (line 1161) | function KD(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0...
function LD (line 1161) | function LD(b,d,e,f,g,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var j=0,k=0...
function MD (line 1161) | function MD(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a:do if(JD(...
function ND (line 1161) | function ND(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=a[b>>0]|...
function OD (line 1161) | function OD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0...
function PD (line 1161) | function PD(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0...
function QD (line 1161) | function QD(a,b,d){a=a|0;b=b|0;d=d|0;VD(c[b+32>>2]|0);fQ(c[b+28>>2]|0);f...
function RD (line 1161) | function RD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];...
function SD (line 1161) | function SD(a,b,d){a=a|0;b=b|0;d=d|0;ds(c[b+16>>2]|0)|0;fQ(b);return}
function TD (line 1161) | function TD(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;f=+h[b>>3];...
function UD (line 1161) | function UD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=yz(8)|0;c[b>>2]=a;d=b+4|0...
function VD (line 1161) | function VD(a){a=a|0;var b=0,d=0;b=a+4|0;if((c[a>>2]|0)>0){d=0;do{ds(c[(...
function WD (line 1161) | function WD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2...
function XD (line 1161) | function XD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;c[...
function YD (line 1161) | function YD(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2...
function ZD (line 1161) | function ZD(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a>>2]|0;switch(...
function _D (line 1161) | function _D(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a...
function $D (line 1161) | function $D(a){a=a|0;var d=0,e=0;e=c[a>>2]|0;c[a+8>>2]=e;c[a+12>>2]=c[a+...
function aE (line 1161) | function aE(a){a=a|0;var d=0,e=0,f=0,g=0;g=c[a+8>>2]|0;c[a>>2]=g;c[a+4>>...
function bE (line 1161) | function bE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=yz(((c[a>>2]|...
function cE (line 1161) | function cE(a){a=a|0;var b=0;b=yz(24)|0;c[b>>2]=0;c[b+16>>2]=yz(a*40|0)|...
function dE (line 1161) | function dE(a){a=a|0;var b=0,d=0;d=c[a+16>>2]|0;b=c[a>>2]|0;c[d+(b*40|0)...
function eE (line 1161) | function eE(a,d,e,f){a=a|0;d=d|0;e=e|0;f=+f;var g=0,i=0,j=0;g=a+4|0;i=c[...
function fE (line 1161) | function fE(a){a=a|0;var b=0;b=a+16|0;fQ(c[(c[b>>2]|0)+28>>2]|0);fQ(c[b>...
function gE (line 1161) | function gE(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0...
function hE (line 1161) | function hE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[a>>2]|0;Jw(...
function iE (line 1161) | function iE(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if(!(nw(a)|0))if((b|0)!=...
function jE (line 1161) | function jE(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+4>>2]...
function kE (line 1161) | function kE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k...
function lE (line 1161) | function lE(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+8...
function mE (line 1161) | function mE(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+12>>2...
function nE (line 1161) | function nE(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+24>>2...
function oE (line 1161) | function oE(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+28>>2...
function pE (line 1161) | function pE(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+16>>2...
function qE (line 1161) | function qE(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+20>>2...
function rE (line 1161) | function rE(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+3...
function sE (line 1161) | function sE(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+3...
function tE (line 1161) | function tE(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+40>>2...
function uE (line 1161) | function uE(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+44>>2...
function vE (line 1161) | function vE(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+48>>2...
function wE (line 1161) | function wE(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+52>>2...
function xE (line 1161) | function xE(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+5...
function yE (line 1161) | function yE(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+60>>2...
function zE (line 1161) | function zE(a,b){a=a|0;b=b|0;var d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+6...
function AE (line 1161) | function AE(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+68>>2...
function BE (line 1161) | function BE(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=c[a+6...
function CE (line 1161) | function CE(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+76>>2...
function DE (line 1161) | function DE(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[a+60>>2]|0;if((d|0)!=0?(e=c...
function EE (line 1161) | function EE(a){a=a|0;var b=0,d=0;b=c[a+60>>2]|0;if((b|0)!=0?(d=c[b+84>>2...
function FE (line 1161) | function FE(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,j=0.0,k=0.0,l=0.0,m...
function GE (line 1161) | function GE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b+60>>2]|0;g=(c...
function HE (line 1161) | function HE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;e=c[b+60>>2]|0;g=(c...
function IE (line 1161) | function IE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=+e;var f=0,h=0,i=0,j=0;f=c[a+60...
function JE (line 1161) | function JE(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0;m=i;i=i+16|...
function KE (line 1161) | function KE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0;g=i;i=i+32|...
function LE (line 1161) | function LE(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0...
function ME (line 1161) | function ME(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+64|0;f=e;c[...
function NE (line 1161) | function NE(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0...
function OE (line 1161) | function OE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[a+60>>2]|0;do i...
function PE (line 1161) | function PE(b,d){b=b|0;d=d|0;var e=0,f=0;e=c[b+60>>2]|0;if(((d|0)!=0?(e|...
function QE (line 1161) | function QE(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0.0,l...
function RE (line 1161) | function RE(a,b){a=a|0;b=+b;if(c[a+60>>2]|0)h[(c[a+16>>2]|0)+152>>3]=b;r...
function SE (line 1161) | function SE(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i...
function TE (line 1161) | function TE(a,b){a=a|0;b=b|0;b=Jw(a,1,b)|0;if(!b)b=999;else{b=c[b+16>>2]...
function UE (line 1161) | function UE(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;f=...
function VE (line 1161) | function VE(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0...
function WE (line 1161) | function WE(a){a=a|0;return 1}
function XE (line 1161) | function XE(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=10.0/+h[b+3...
function YE (line 1161) | function YE(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+336|0;h[c>>3]=+h[c>>3]-10...
function ZE (line 1161) | function ZE(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=+h[c>>3]-10...
function _E (line 1161) | function _E(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+344|0;h[c>>3]=10.0/+h[b+3...
function $E (line 1161) | function $E(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]*1....
function aF (line 1161) | function aF(b){b=b|0;var c=0;a[b+536>>0]=0;c=b+352|0;h[c>>3]=+h[c>>3]/1....
function bF (line 1161) | function bF(b){b=b|0;var d=0,e=0,f=0.0,g=0.0;e=b+536|0;d=(a[e>>0]|0)==0;...
function cF (line 1161) | function cF(b){b=b|0;var e=0,f=0;e=c[(c[b>>2]|0)+168>>2]|0;f=b+580|0;if(...
function dF (line 1161) | function dF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,j=0,k=0.0,l=0.0,m=0,n=0,o...
function eF (line 1161) | function eF(b,c,d){b=b|0;c=c|0;d=d|0;a[b+538>>0]=0;a[b+541>>0]=0;return}
function fF (line 1161) | function fF(b,e){b=b|0;e=e|0;var f=0.0,g=0,j=0,k=0.0,l=0.0,m=0;m=i;i=i+1...
function gF (line 1161) | function gF(a,b,c){a=a|0;b=b|0;c=c|0;return}
function hF (line 1161) | function hF(a){a=a|0;return}
function iF (line 1161) | function iF(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=c[b>>2]|0...
function jF (line 1161) | function jF(a,b){a=a|0;b=b|0;a=c[a>>2]|0;Zw(a,c[a+168>>2]|0,b)|0;return}
function kF (line 1161) | function kF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;h=c[a>>2]|0...
function lF (line 1161) | function lF(b,e){b=b|0;e=e|0;var f=0,g=0,j=0.0,k=0,l=0.0,m=0.0,n=0.0,o=0...
function mF (line 1161) | function mF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0.0,o...
function nF (line 1161) | function nF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=a+592|0;do if((yu...
function oF (line 1161) | function oF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=c[d>>2]|0;g=zz(12...
function pF (line 1161) | function pF(b,d){b=b|0;d=d|0;var e=0;d=c[b+32>>2]|0;if((d|0)!=0?(e=c[d>>...
function qF (line 1161) | function qF(a){a=a|0;var b=0;b=Jw(a,2,152595)|0;if(!b)b=999;else{c[a+148...
function rF (line 1161) | function rF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[a+148>>2]|0;if((a|0)!=0...
function sF (line 1161) | function sF(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;a=c[a+16>>2]|0;d=+h[a+16>>3...
function tF (line 1161) | function tF(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0...
function uF (line 1161) | function uF(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,j=0,k=0,l=0,m=0.0...
function vF (line 1161) | function vF(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]...
function wF (line 1161) | function wF(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;e...
function xF (line 1161) | function xF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0.0,j=0.0,k=0.0;e=c[b+3...
function yF (line 1161) | function yF(b){b=b|0;var d=0,e=0,f=0;d=eP(b)|0;if(d>>>0>=(c[15447]|0)>>>...
function zF (line 1161) | function zF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0.0,j=0,k=0.0,l=0,m=0.0,n=0.0...
function AF (line 1161) | function AF(a){a=a|0;c[15451]=a;return}
function BF (line 1161) | function BF(a,b,c,d,e,f){a=+a;b=+b;c=+c;d=d|0;e=e|0;f=f|0;var g=0.0,i=0....
function CF (line 1161) | function CF(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+16|0;e=f;d=eP(a)|0;...
function DF (line 1161) | function DF(a,b){a=a|0;b=b|0;return YO(c[a>>2]|0,c[b>>2]|0)|0}
function EF (line 1161) | function EF(a,b,d,e,f){a=a|0;b=+b;d=+d;e=+e;f=+f;var g=0.0,i=0.0,j=0.0,k...
function FF (line 1161) | function FF(a,b,d,e,f,g,i){a=a|0;b=+b;d=+d;e=+e;f=+f;g=+g;i=+i;var j=0,k...
function GF (line 1161) | function GF(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0...
function HF (line 1161) | function HF(a){a=a|0;fQ(c[a>>2]|0);fQ(c[a+4>>2]|0);fQ(c[a+8>>2]|0);fQ(c[...
function IF (line 1161) | function IF(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(a){e=a+4|0;i...
function JF (line 1161) | function JF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;switch(a[b+4>>0]|0){cas...
function KF (line 1161) | function KF(b,e,f){b=b|0;e=e|0;f=f|0;var g=0;b=c[(c[(c[b+16>>2]|0)+104>>...
function LF (line 1161) | function LF(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return 0}
function MF (line 1161) | function MF(d){d=d|0;var f=0,g=0,i=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r...
function NF (line 1161) | function NF(a,d,f){a=a|0;d=d|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function OF (line 1161) | function OF(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;b=c[(c[(c[(...
function PF (line 1161) | function PF(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+4|0;e=...
function QF (line 1161) | function QF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function RF (line 1161) | function RF(b){b=b|0;var d=0.0;switch(a[b+4>>0]|0){case 1:{b=c[b>>2]|0;d...
function SF (line 1161) | function SF(e,f,g){e=e|0;f=f|0;g=g|0;var j=0,l=0.0,m=0.0,n=0,o=0,p=0.0,q...
function TF (line 1161) | function TF(f,g,j){f=f|0;g=g|0;j=j|0;var k=0,l=0.0,m=0.0,n=0,o=0,p=0.0,q...
function UF (line 1161) | function UF(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=c[b+4>>2]|0;if((f|0)!...
function VF (line 1161) | function VF(a,d,f,g){a=a|0;d=d|0;f=f|0;g=g|0;var h=0,i=0;h=ht(a,d,f,0,0)...
function WF (line 1161) | function WF(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,i=0;e=c[(c[a+16>>2]|0)+192>...
function XF (line 1161) | function XF(b){b=b|0;var c=0,d=0;c=Qs(b,178771)|0;if(!((c|0)!=0?(a[c>>0]...
function YF (line 1161) | function YF(f,g,j,k){f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0.0,n=0,o=0,p=0,q...
function ZF (line 1161) | function ZF(f,g,j){f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0,n=0.0,o=0,p=0.0,q=0...
function _F (line 1161) | function _F(d,e,f){d=d|0;e=e|0;f=f|0;var g=0.0,j=0.0,k=0.0,l=0,m=0,n=0,o...
function $F (line 1161) | function $F(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0;e=a+16|0;...
function aG (line 1161) | function aG(f,g,j,k){f=f|0;g=g|0;j=j|0;k=k|0;var l=0.0,m=0.0,n=0,o=0,p=0...
function bG (line 1161) | function bG(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0...
function cG (line 1161) | function cG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0.0,j=0,k=0;k...
function dG (line 1161) | function dG(f,g,j){f=f|0;g=g|0;j=j|0;var k=0,l=0,m=0.0,n=0.0,o=0.0,p=0.0...
function eG (line 1161) | function eG(a,e){a=a|0;e=e|0;var f=0,g=0,h=0;h=c[a+16>>2]|0;f=h+208|0;if...
function fG (line 1161) | function fG(){return hs(91804,c[13094]|0)|0}
function gG (line 1161) | function gG(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;Jb[c...
function hG (line 1161) | function hG(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+16|0;e=d;c[e>>2]=b;b=(J...
function iG (line 1161) | function iG(a,b,d){a=a|0;b=b|0;d=d|0;d=yz(12)|0;c[d>>2]=c[b>>2];return d|0}
function jG (line 1161) | function jG(a,b,c){a=a|0;b=b|0;c=c|0;fQ(b);return}
function kG (line 1161) | function kG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=c[b>>2]|0;d=c[d>>2]|0;ret...
function lG (line 1161) | function lG(a){a=a|0;var b=0;if(!(c[22960]|0)){b=yz((a<<2)+4|0)|0;c[2296...
function mG (line 1161) | function mG(){fQ(c[22960]|0);c[22960]=0;c[22972]=0;return}
function nG (line 1161) | function nG(){c[22972]=0;return}
function oG (line 1161) | function oG(){var a=0,b=0,d=0;a=c[22972]|0;a:do if((a|0)>=1){b=c[22960]|...
function pG (line 1161) | function pG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;d=c[22960]|0;b=d+(a<<2)...
function qG (line 1161) | function qG(a){a=a|0;var b=0,d=0;d=i;i=i+16|0;b=c[22972]|0;if((b|0)==(c[...
function rG (line 1161) | function rG(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;b=c[22960]|...
function sG (line 1161) | function sG(){var a=0,b=0,d=0,e=0;b=c[22972]|0;if(!b)a=0;else{e=c[22960]...
function tG (line 1161) | function tG(a,b){a=a|0;b=b|0;c[a>>2]=b;pG(c[a+4>>2]|0);oG();return}
function uG (line 1161) | function uG(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0...
function vG (line 1161) | function vG(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0...
function wG (line 1161) | function wG(a){a=a|0;var b=0,d=0;d=a+8|0;fQ(c[(c[d>>2]|0)+36>>2]|0);b=a+...
function xG (line 1161) | function xG(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;h=Jb[c[...
function yG (line 1161) | function yG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b+8>>3...
function zG (line 1161) | function zG(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0;e=+h[b>>3];...
function AG (line 1161) | function AG(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0...
function BG (line 1161) | function BG(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0.0,j=0.0,l=0...
function CG (line 1161) | function CG(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;if((a|0)>=0){d=0;while(...
function DG (line 1161) | function DG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0...
function EG (line 1161) | function EG(a,b,d,e,f,g,i,j,k,l){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i...
function FG (line 1161) | function FG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,h=0.0,i=0,j=0,k=0...
function GG (line 1161) | function GG(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0;g...
function HG (line 1161) | function HG(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0...
function IG (line 1161) | function IG(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0,k...
function JG (line 1161) | function JG(){var a=0;a=c[23001]|0;if((a|0)<(c[22998]|0)){c[23001]=a+1;r...
function KG (line 1161) | function KG(a){a=a|0;var b=0,d=0,e=0;e=i;i=i+16|0;d=e;b=c[23e3]|0;if((b|...
function it (line 1162) | function it(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;k=i...
function jt (line 1162) | function jt(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+16|0;f=e;d=(c[d...
function kt (line 1162) | function kt(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=...
function lt (line 1162) | function lt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=(c[b+...
function mt (line 1162) | function mt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;a=c[b+40>>2]|0;...
function nt (line 1162) | function nt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+96|...
function ot (line 1162) | function ot(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|0;g=h+16...
function pt (line 1162) | function pt(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function qt (line 1162) | function qt(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0...
function rt (line 1162) | function rt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i...
function st (line 1162) | function st(b){b=b|0;var d=0,e=0,f=0;c[b+36>>2]=zv(b,52884,c[13098]|0)|0...
function tt (line 1162) | function tt(a,b){a=a|0;b=b|0;var d=0;d=(c[a+64>>2]|0)+24+(b<<3)|0;b=d;b=...
function ut (line 1162) | function ut(b){b=b|0;var d=0,e=0,f=0,g=0;f=uv(b)|0;g=(f|0)==0;if(g?(d=b+...
function vt (line 1162) | function vt(a){a=a|0;return js(c[a+40>>2]|0)|0}
function wt (line 1162) | function wt(a){a=a|0;var b=0,c=0;b=gu(a)|0;if(!b)b=0;else{c=b;b=0;do{b=(...
function xt (line 1162) | function xt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=bt(a,b)|0;if(...
function yt (line 1162) | function yt(b){b=b|0;return a[b+24>>0]&1|0}
function zt (line 1162) | function zt(b){b=b|0;return (a[b+24>>0]&1^1)&255|0}
function At (line 1162) | function At(a){a=a|0;return (d[a+24>>0]|0)>>>1&1|0}
function Bt (line 1162) | function Bt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=b+8|0;e=d+8|0;e=lQ(c[a>>2...
function Ct (line 1162) | function Ct(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0;i=(...
function Dt (line 1162) | function Dt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+64>>2]|0;return Ub[c[...
function Et (line 1162) | function Et(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;Rt(a,b,d,e)|0;a=c[a+64>>2]|...
function Ft (line 1162) | function Ft(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;d=xu(a...
function Gt (line 1162) | function Gt(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+64>>2]|0;Vb[c[(c[a+4>>2]|0)+2...
function Ht (line 1162) | function Ht(a,b){a=a|0;b=b|0;return a|0}
function It (line 1162) | function It(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;if(!d){b=33912;a=c[...
function Jt (line 1162) | function Jt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return 0}
function Kt (line 1162) | function Kt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;if((c&1|0)==0&0==0)$u(a,c)|...
function Lt (line 1162) | function Lt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ((c&1|0)==0&0==0?c:0...
function Mt (line 1162) | function Mt(a){a=a|0;return}
function Nt (line 1162) | function Nt(a,b,c){a=a|0;b=b|0;c=c|0;return}
function Ot (line 1162) | function Ot(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i...
function Pt (line 1162) | function Pt(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=au(a,...
function Qt (line 1162) | function Qt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;h=i;i=i+32|...
function Rt (line 1162) | function Rt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i...
function St (line 1162) | function St(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;c[13175]=b;f=c[b+64...
function Tt (line 1162) | function Tt(a){a=a|0;c[13175]=a;a=a+64|0;Ut((c[a>>2]|0)+56|0);Ut((c[a>>2...
function Ut (line 1162) | function Ut(a){a=a|0;var b=0,d=0;b=c[a>>2]|0;if(b){ds(b)|0;c[a>>2]=0}b=a...
function Vt (line 1162) | function Vt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=b+16|0;a=c[b>>2]|0;b=c[b+...
function Wt (line 1162) | function Wt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b+24>>2]|0;e=c[d+24>>2]...
function Xt (line 1162) | function Xt(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+32|0;e=b+12|0;d=b;c[13205]=...
function Yt (line 1162) | function Yt(a,b,c){a=a|0;b=b|0;c=c|0;if(!(mO(b,c,a)|0))b=0;else b=eP(b)|...
function Zt (line 1162) | function Zt(a,b){a=a|0;b=b|0;return rO(b,a)|0}
function _t (line 1162) | function _t(a){a=a|0;return kO(a)|0}
function $t (line 1162) | function $t(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;if((e|0)!=0?(h=...
function au (line 1162) | function au(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;a=c[a+64>>2]|0;a=Qb[c[...
function bu (line 1162) | function bu(a,b){a=a|0;b=b|0;if(b){a=c[a+64>>2]|0;Fb[c[(c[a>>2]|0)+12>>2...
function cu (line 1162) | function cu(a){a=a|0;return 0}
function du (line 1162) | function du(a,b){a=a|0;b=b|0;a=eQ(b)|0;tQ(a|0,0,b|0)|0;return a|0}
function eu (line 1162) | function eu(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=hQ(b,d)|0;if(d>>>0>c>>>0)...
function fu (line 1162) | function fu(a,b){a=a|0;b=b|0;fQ(b);return}
function gu (line 1162) | function gu(a){a=a|0;a=c[a+36>>2]|0;a=Jb[c[a>>2]&63](a,0,128)|0;if(!a)a=...
function hu (line 1162) | function hu(a,b){a=a|0;b=b|0;var d=0;b=bt(a,b)|0;if((b|0)!=0?(d=c[a+36>>...
function iu (line 1162) | function iu(a){a=a|0;a=c[a+36>>2]|0;a=Jb[c[a>>2]&63](a,0,256)|0;if(!a)a=...
function ju (line 1162) | function ju(a,b){a=a|0;b=b|0;var d=0;b=bt(a,b)|0;if((b|0)!=0?(d=c[a+36>>...
function ku (line 1162) | function ku(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=33928;c[f...
function lu (line 1162) | function lu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=yu(a)|0;if((e|0)=...
function mu (line 1162) | function mu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0...
function nu (line 1162) | function nu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[13243]=b;d=ft(a,b)|0;if(d...
function ou (line 1162) | function ou(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=d+8|0;h=f;g=c[h+4>>2]...
function pu (line 1162) | function pu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=(c[b+16>>2]|0)+8|0;a=c[b>...
function qu (line 1162) | function qu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=(c[c[b+16>>2]>>2]|0)>>>4;...
function ru (line 1162) | function ru(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0;g=au(b,...
function su (line 1162) | function su(a,b){a=a|0;b=b|0;do{uu(a,b);a=uv(a)|0}while((a|0)!=0);return}
function tu (line 1162) | function tu(b,c){b=b|0;c=c|0;if(a[(yu(b)|0)+24>>0]&64)Ms(b,c);zu(b,c);re...
function uu (line 1162) | function uu(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+40|0;js(c[d>>2]|0)|0;if((yu...
function vu (line 1162) | function vu(a,b,d){a=a|0;b=b|0;d=d|0;a=c[b+16>>2]|0;if((a+28|0)!=(b|0))b...
function wu (line 1162) | function wu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;f=h+8|...
function xu (line 1162) | function xu(a){a=a|0;var b=0;b=i;i=i+16|0;switch(c[a>>2]&3|0){case 2:cas...
function yu (line 1162) | function yu(a){a=a|0;var b=0;b=i;i=i+16|0;switch(c[a>>2]&3|0){case 2:cas...
function zu (line 1162) | function zu(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))J...
function Au (line 1162) | function Au(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d){Au(a,b,c[d+8>>2]...
function Bu (line 1162) | function Bu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;f=c[b+64>>2]|0;if(!(a[f+52>...
function Cu (line 1162) | function Cu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;a:do if(e){Cu(a,b,d...
function Du (line 1162) | function Du(b,d){b=b|0;d=d|0;var e=0;e=c[b+64>>2]|0;if(!(a[e+52>>0]|0))J...
function Eu (line 1162) | function Eu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a:do if(d){Eu(a,b,c[d+8>>2]...
function Fu (line 1162) | function Fu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=au(a,12)|0;c[e>>2]=b;c[e+...
function Gu (line 1162) | function Gu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=(c[a+64>>2]|0)+48|0;d=c[e...
function Hu (line 1162) | function Hu(a,b){a=a|0;b=b|0;var d=0;d=yu(a)|0;a:do if((d|0)==(yu(b)|0))...
function Iu (line 1162) | function Iu(a){a=a|0;return c[a>>2]&3|0}
function Ju (line 1162) | function Ju(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0...
function Ku (line 1162) | function Ku(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g;a:...
function Lu (line 1162) | function Lu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=au(xu(d)|...
function Mu (line 1162) | function Mu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[b+24>>2]|0;d=b+16|0;if(...
function Nu (line 1162) | function Nu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i...
function Ou (line 1162) | function Ou(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=xu(a)|0;f=Nu(...
function Pu (line 1162) | function Pu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=xu(a)|0;e=Nu(...
function Qu (line 1162) | function Qu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;g=(...
function Ru (line 1162) | function Ru(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;switch(b|0){case 0:{Wv(...
function Su (line 1162) | function Su(a){a=a|0;var b=0,d=0,e=0;d=xu(a)|0;b=a+16|0;a=c[b>>2]|0;if(a...
function Tu (line 1162) | function Tu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;c[a+16>>2]=b;e=c[a>>2]|0;d=...
function Uu (line 1162) | function Uu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=a+16|0;d=c[g>>2]|0;do...
function Vu (line 1162) | function Vu(a,b,d){a=a|0;b=b|0;d=d|0;if((c[b+16>>2]|0)==(d|0)){a=c[d+4>>...
function Wu (line 1162) | function Wu(a,b,c){a=a|0;b=b|0;c=c|0;Pu(b,c)|0;return}
function Xu (line 1162) | function Xu(a){a=a|0;return Bv(a,cv(a)|0)|0}
function Yu (line 1162) | function Yu(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;i=i+32|0;e=d;a=cv(a)|0;c[e+...
function Zu (line 1162) | function Zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=i;i=i+32|0;d=f;if(!b)d=0;...
function _u (line 1162) | function _u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;f=i;i=i+32|0;d=f;if...
function $u (line 1162) | function $u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=i;i=i+32|0;f=g;if...
function av (line 1162) | function av(a){a=a|0;var b=0;if(!a)a=0;else{a=a+-12|0;b=33984;a=c[b>>2]&...
function bv (line 1162) | function bv(a){a=a|0;var b=0,d=0,e=0;if(a){d=33984;a=a+-12|0;e=a;b=c[e+4...
function cv (line 1162) | function cv(a){a=a|0;var b=0,d=0;if(!a)d=53028;else d=(c[a+64>>2]|0)+20|...
function dv (line 1162) | function dv(a){a=a|0;c[13272]=a;c[13271]=1;return}
function ev (line 1162) | function ev(a,b){a=a|0;b=b|0;c[13273]=a;c[13274]=b;c[13275]=0;return}
function fv (line 1162) | function fv(){var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=...
function gv (line 1162) | function gv(a,b){a=a|0;b=b|0;var d=0;d=eQ(48)|0;if(!d)pv(137811);c[d+12>...
function hv (line 1162) | function hv(b){b=b|0;var d=0,e=0,f=0;d=c[13278]|0;if((d|0)!=0?(e=c[13279...
function iv (line 1162) | function iv(b){b=b|0;var d=0,e=0;if(b){c[b+16>>2]=0;d=b+4|0;a[c[d>>2]>>0...
function jv (line 1162) | function jv(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i;i=i+211...
function kv (line 1162) | function kv(){var b=0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=c[13269]|0;h...
function lv (line 1162) | function lv(){var a=0;a=c[13278]|0;if(!a)a=0;else a=c[a+(c[13279]<<2)>>2...
function mv (line 1162) | function mv(){var a=0,b=0,d=0;b=c[13278]|0;do if(!b){a=eQ(4)|0;c[13278]=...
function nv (line 1162) | function nv(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[13593]|0;if(d>>>0>(c[13...
function ov (line 1162) | function ov(){var d=0,e=0,f=0,g=0,h=0;d=(c[(c[(c[13278]|0)+(c[13279]<<2)...
function pv (line 1162) | function pv(a){a=a|0;var b=0,d=0;b=i;i=i+16|0;d=c[24809]|0;c[b>>2]=a;pO(...
function qv (line 1162) | function qv(a,b){a=a|0;b=b|0;var d=0,e=0;d=cN()|0;e=c[d>>2]|0;iv(a);c[a>...
function rv (line 1162) | function rv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i...
function sv (line 1162) | function sv(a){a=a|0;a=c[a+52>>2]|0;return Jb[c[a>>2]&63](a,0,128)|0}
function tv (line 1162) | function tv(a){a=a|0;var b=0;b=c[a+56>>2]|0;if(!b)b=0;else{b=c[b+52>>2]|...
function uv (line 1162) | function uv(a){a=a|0;return c[a+56>>2]|0}
function vv (line 1162) | function vv(a,b){a=a|0;b=b|0;a=c[a+52>>2]|0;return Jb[c[a>>2]&63](a,b,2)|0}
function wv (line 1162) | function wv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;g=i;i=i+80|0;f=...
function xv (line 1162) | function xv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[13596]|0;e=(b|0)!=0;do ...
function yv (line 1162) | function yv(a,b,d){a=a|0;b=b|0;d=d|0;a=c[13596]|0;if(!a)fQ(b);else bu(a,...
function zv (line 1162) | function zv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=b+28|0;f=c[e>>2]|0;c[...
function Av (line 1162) | function Av(a,b,d){a=a|0;b=b|0;d=d|0;c[13596]=a;return Jb[c[b>>2]&63](b,...
function Bv (line 1162) | function Bv(a,b){a=a|0;b=b|0;var d=0,e=0;d=(ps(b,0,0)|0)+28|0;e=c[d>>2]|...
function Cv (line 1162) | function Cv(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)!=0?(ps(b,0,0)|0)!=(c|0):0)...
function Dv (line 1162) | function Dv(b,c){b=b|0;c=c|0;var d=0,e=0,f=0;if(!(av(b)|0))c=Hv(b,c)|0;e...
function Ev (line 1162) | function Ev(a){a=a|0;return Dv(a,Iv(a)|0)|0}
function Fv (line 1162) | function Fv(a,b){a=a|0;b=b|0;a=sv(a)|0;a:do if(!a)a=0;else while(1){if((...
function Gv (line 1162) | function Gv(b,d){b=b|0;d=d|0;var e=0,f=0;c[13597]=0;e=Qs(b,138192)|0;if(...
function Hv (line 1162) | function Hv(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0...
function Iv (line 1162) | function Iv(a){a=a|0;var b=0;b=((eP(a)|0)<<1)+2|0;b=b>>>0>1024?b:1024;a=...
function Jv (line 1162) | function Jv(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;g=Ft(b)|0;if((g|0)!=0?(...
function Kv (line 1162) | function Kv(a,b){a=a|0;b=b|0;var d=0,e=0;c[a>>2]=c[a>>2]&-9;d=sv(a)|0;if...
function Lv (line 1162) | function Lv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0...
function Mv (line 1162) | function Mv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0...
function Nv (line 1162) | function Nv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=c[13597]|0;d=g+-1|0;c...
function Ov (line 1162) | function Ov(a,b){a=a|0;b=b|0;a=sv(a)|0;a:do if(!a)a=0;else while(1){if(!...
function Pv (line 1162) | function Pv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if((Fv...
function Qv (line 1162) | function Qv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=xu(a)|0;e=c[13597...
function Rv (line 1162) | function Rv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+32|...
function Sv (line 1162) | function Sv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;a:do if((e|0)!=0?(f=xu(...
function Tv (line 1162) | function Tv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0...
function Uv (line 1162) | function Uv(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=Ft(b)|0;b=xu(b)|0;if(...
function Vv (line 1162) | function Vv(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0...
function Wv (line 1162) | function Wv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0...
function Xv (line 1162) | function Xv(a,b){a=a|0;b=b|0;if((xu(b)|0)!=(a|0))b=kt(a,b,0)|0;return b|0}
function Yv (line 1162) | function Yv(a,b){a=a|0;b=b|0;if((xu(b)|0)!=(a|0))b=lu(a,b,0)|0;return b|0}
function Zv (line 1162) | function Zv(a,b){a=a|0;b=b|0;return a|0}
function _v (line 1162) | function _v(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0...
function $v (line 1162) | function $v(){var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=...
function aw (line 1162) | function aw(a,b,d){a=a|0;b=b|0;d=d|0;c[13267]=b;c[13606]=a;c[13175]=0;a=...
function bw (line 1162) | function bw(a,b){a=a|0;b=b|0;return aw(0,a,b)|0}
function cw (line 1162) | function cw(){var a=0,b=0,d=0;a=c[13609]|0;if(a)do{b=a+8|0;fw(c[b>>2]|0)...
function dw (line 1162) | function dw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[(c[13609]|0)+24>>2]|0;i...
function ew (line 1162) | function ew(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=d+4|0;if((c[d>>2]...
function fw (line 1162) | function fw(a){a=a|0;var b=0;a:do if(a)while(1){b=a;a=c[a+12>>2]|0;switc...
function gw (line 1162) | function gw(a){a=a|0;var b=0,d=0;b=c[(c[13609]|0)+24>>2]|0;if(b)do{if((c...
function hw (line 1162) | function hw(){var a=0,b=0,d=0,e=0;b=c[13609]|0;a=c[b+8>>2]|0;if(!a){a=c[...
function iw (line 1162) | function iw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+104...
function jw (line 1162) | function jw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=i;i=i+16|0;e=h+8|0;if...
function kw (line 1162) | function kw(a,b){a=a|0;b=b|0;var d=0,e=0;e=au(c[13606]|0,16)|0;c[e>>2]=2...
function lw (line 1162) | function lw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;d=ht(c[c[13...
function mw (line 1162) | function mw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(d){e=Is(c[c[13609]>>2]|0...
function nw (line 1162) | function nw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i;i=i...
function ow (line 1162) | function ow(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function pw (line 1162) | function pw(a,b){a=a|0;b=b|0;var c=0;c=eP(b)|0;b=(ow(a,b,c)|0)==(c|0);re...
function qw (line 1162) | function qw(b,c){b=b|0;c=c|0;var d=0,e=0;d=i;i=i+16|0;e=d;a[e>>0]=c;b=(o...
function rw (line 1162) | function rw(b){b=b|0;var d=0;d=c[b+36>>2]|0;if(((d|0)!=0?(a[b+144>>0]|0)...
function sw (line 1162) | function sw(a){a=a|0;var b=0,d=0;b=c[a+76>>2]|0;if((b|0)!=0?(d=c[b+4>>2]...
function tw (line 1162) | function tw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;d=c[b+...
function uw (line 1162) | function uw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;j=i;i=i+105...
function vw (line 1162) | function vw(a,b){a=a|0;b=+b;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=yw(e,b)|0...
function ww (line 1162) | function ww(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=yw(e,+h[...
function xw (line 1162) | function xw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=i;i=i+16|0;e=...
function yw (line 1162) | function yw(b,d){b=b|0;d=+d;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;do if(d<-1.0...
function zw (line 1162) | function zw(a,b){a=a|0;b=b|0;var d=0;d=yz(392)|0;if(d){c[d>>2]=54448;c[d...
function Aw (line 1162) | function Aw(a){a=a|0;var b=0,d=0,e=0,f=0;b=yz(392)|0;d=b;e=a;f=d+40|0;do...
function Bw (line 1162) | function Bw(a){a=a|0;Hw(a);fQ(a);return}
function Cw (line 1162) | function Cw(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+160|0;e=c[d>>2]|0;do if(!e)...
function Dw (line 1162) | function Dw(a,b){a=a|0;b=b|0;var d=0,e=0;d=a+160|0;e=c[d>>2]|0;do if(!e)...
function Ew (line 1162) | function Ew(a){a=a|0;var b=0;b=c[a+160>>2]|0;c[a+164>>2]=b;return b|0}
function Fw (line 1162) | function Fw(a){a=a|0;var b=0,d=0,e=0;a=a+164|0;b=c[a>>2]|0;d=c[b+4>>2]|0...
function Gw (line 1162) | function Gw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+8|0;if((c[e>>2]|0)>...
function Hw (line 1162) | function Hw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+160|0;b=c[g>>2]|0;if(b)...
function Iw (line 1162) | function Iw(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0...
function Jw (line 1162) | function Jw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function Kw (line 1162) | function Kw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;do if(!e)e=0;el...
function Lw (line 1162) | function Lw(b){b=b|0;var d=0;if(!b)Na(152225,139380,573,139394);if(!(a[b...
function Mw (line 1162) | function Mw(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;k=...
function Nw (line 1162) | function Nw(b){b=b|0;var d=0,e=0;if((a[b+17>>0]|0)!=0?(d=b+20|0,e=c[d>>2...
function Ow (line 1162) | function Ow(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0;if(!b){d=-1;e=-...
function Pw (line 1162) | function Pw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0.0,k=0,l=0,m=0,n=0,o...
function Qw (line 1162) | function Qw(a){a=a|0;var b=0;b=c[a+8>>2]|0;if(b)$u(0,b)|0;fQ(a);return}
function Rw (line 1162) | function Rw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;a:do if(!b)e=...
function Sw (line 1162) | function Sw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;c[d>>2]=0;a:do if(!b)e=...
function Tw (line 1162) | function Tw(a,b){a=+a;b=b|0;do if(!(aP(b,139719)|0)){a=a*72.0;b=~~(a+(a>...
function Uw (line 1162) | function Uw(b){b=b|0;var d=0;d=c[b>>2]|0;while(1){d=a[d>>0]|0;if(!(d<<24...
function Vw (line 1162) | function Vw(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;Uw(b);f=c[b>>2]|0;e=0;while...
function Ww (line 1162) | function Ww(b){b=b|0;var d=0;d=b+4|0;if(!(mO(c[d>>2]|0,1024,c[b+8>>2]|0)...
function Xw (line 1162) | function Xw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=c[b+20>>2]|0;if(a)iO(a)|0...
function Yw (line 1162) | function Yw(){var a=0;Is(0,1,151058,147411)|0;a=zw(0,1)|0;pF(a,0);return...
function Zw (line 1162) | function Zw(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,j=0.0,k=0.0,l=0.0,m=0...
function _w (line 1162) | function _w(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i...
function $w (line 1162) | function $w(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i...
function ax (line 1162) | function ax(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0...
function bx (line 1162) | function bx(a,b){a=a|0;b=b|0;oF(a,0,b);return}
function cx (line 1162) | function cx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0...
function dx (line 1162) | function dx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,p=0...
function ex (line 1162) | function ex(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=gu(a)|0;if(!e)d=0;else{d=...
function fx (line 1162) | function fx(a){a=a|0;a=Nu(a,139905,0)|0;if(!a)Na(139910,139913,529,13992...
function gx (line 1162) | function gx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function hx (line 1162) | function hx(a){a=a|0;return ex(a,c[a+60>>2]|0)|0}
function ix (line 1162) | function ix(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;a:do if(!b)b=140121...
function jx (line 1162) | function jx(a,b){a=a|0;b=b|0;lu(b,a,1)|0;return}
function kx (line 1162) | function kx(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+157|0;e=a[b>>0]|0;...
function lx (line 1162) | function lx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0...
function mx (line 1162) | function mx(a){a=a|0;var b=0;a=c[(c[a>>2]|0)+12>>2]|0;if(a)do{b=a;a=c[a+...
function nx (line 1162) | function nx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;h=i;i=i...
function ox (line 1162) | function ox(b,d){b=b|0;d=d|0;var e=0;b=(c[b+16>>2]|0)+8|0;e=a[b>>0]|0;if...
function px (line 1162) | function px(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;b=sv(b)|0;if(b)...
function qx (line 1162) | function qx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i...
function rx (line 1162) | function rx(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0...
function sx (line 1162) | function sx(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var j=0,k=0,l=0,m=0,n=0,o=0...
function tx (line 1162) | function tx(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0...
function ux (line 1162) | function ux(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0,k=0...
function vx (line 1162) | function vx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=sx(a,b,d,e)|0;if(...
function wx (line 1162) | function wx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0.0...
function xx (line 1162) | function xx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;h=i;i=i+16|...
function yx (line 1162) | function yx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p...
function zx (line 1162) | function zx(a,b,c){a=a|0;b=b|0;c=c|0;return yx(Qs(a,140296)|0,b,c)|0}
function Ax (line 1162) | function Ax(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;j=i;i=i+16|0;h=...
function Bx (line 1162) | function Bx(a,b,e){a=a|0;b=b|0;e=e|0;var f=0.0,g=0.0,j=0.0,k=0.0,l=0.0,m...
function Cx (line 1162) | function Cx(a,b,e,f,g,j){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0...
function Dx (line 1162) | function Dx(a,b,d,e,f,g,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var...
function Ex (line 1162) | function Ex(a,b){a=a|0;b=b|0;return (c[c[b>>2]>>2]|0)-(c[c[a>>2]>>2]|0)|0}
function Fx (line 1162) | function Fx(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var...
function Gx (line 1162) | function Gx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0.0,l=0.0,m=0,n=0...
function Hx (line 1162) | function Hx(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0.0,j=0,k=0.0,l=0.0...
function Ix (line 1162) | function Ix(a,b){a=a|0;b=b|0;var d=0;d=c[13727]|0;a=c[d+(c[(c[a>>2]|0)+1...
function Jx (line 1162) | function Jx(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;e=+...
function Kx (line 1162) | function Kx(a,b,e,f,g,j,k){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var...
function Lx (line 1162) | function Lx(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0.0,k=0,l=0,m=0,n...
function Mx (line 1162) | function Mx(a,b,c){a=a|0;b=b|0;c=c|0;return Lx(a,b,c,0)|0}
function Nx (line 1162) | function Nx(a){a=a|0;return Lx(a,0,0,0)|0}
function Ox (line 1162) | function Ox(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a+12>>2]|0;if(a...
function Px (line 1162) | function Px(b,d){b=b|0;d=d|0;var e=0,f=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q...
function Qx (line 1162) | function Qx(a){a=a|0;var b=0,d=0;switch(c[a>>2]|0){case 1:{d=a+40|0;a=a+...
function Rx (line 1162) | function Rx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0;j=i;i=i+16|0;g=j;h[...
function Sx (line 1162) | function Sx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0;k=i;i=i+16|0;d=...
function Tx (line 1162) | function Tx(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;k=i;i=i+16|0;j=...
function Ux (line 1162) | function Ux(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i...
function Vx (line 1162) | function Vx(a,b){a=a|0;b=b|0;var d=0.0,e=0,f=0,g=0;f=0;d=0.0;do{e=b>>(f<...
function Wx (line 1162) | function Wx(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0.0,k...
function Xx (line 1162) | function Xx(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0...
function Yx (line 1162) | function Yx(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0;var...
function Zx (line 1162) | function Zx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0.0,g=0.0,i=0....
function _x (line 1162) | function _x(a,b,d,e,f,g,j){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;j=j|0;var k...
function $x (line 1162) | function $x(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i...
function ay (line 1162) | function ay(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[a>>2]|0;e=+h[b>>3]-...
function by (line 1162) | function by(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var j=0.0,k=0...
function cy (line 1162) | function cy(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var j=0.0,k=0...
function dy (line 1162) | function dy(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var j=0.0,k=0...
function ey (line 1162) | function ey(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var j=0.0,k=0...
function fy (line 1162) | function fy(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var j=0,k=0,l...
function gy (line 1162) | function gy(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=+d;e=+e;f=f|0;var g=0,j=0,k...
function hy (line 1162) | function hy(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var j=0.0,k=0...
function iy (line 1162) | function iy(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var j=0;g=i;i...
function jy (line 1162) | function jy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=c[b>>2]|0;a:do if(e){...
function ky (line 1162) | function ky(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;j=i;i=i+16|0;g=j+8|0;f=...
function ly (line 1162) | function ly(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=i;i=i+16|0;f=yz(304)|0;if...
function my (line 1162) | function my(a){a=a|0;var b=0;a=a+16|0;b=c[a>>2]|0;if(!b)Na(140838,140842...
function ny (line 1162) | function ny(d,e,f,g,h,i,j){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;var...
function oy (line 1162) | function oy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;k=i;i=i+80|...
function py (line 1162) | function py(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,j=0.0,k=0,l=0,m=0.0,n...
function qy (line 1162) | function qy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,j=0.0,k=0,l=0,m=0,n...
function ry (line 1162) | function ry(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=c[a+16>>2]|0;e=c[...
function sy (line 1162) | function sy(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,j=0,k=0.0,l=0.0,m=0...
function ty (line 1162) | function ty(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,j=0.0,k=0.0,l=0.0,m=0.0,n...
function Ui (line 1163) | function Ui(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0...
function Vi (line 1163) | function Vi(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Wi (line 1163) | function Wi(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i+16|0;h=...
function Xi (line 1163) | function Xi(d){d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q...
function Yi (line 1163) | function Yi(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;d=c[b>>2]&3;i=c[((d|0)=...
function Zi (line 1163) | function Zi(b){b=b|0;var d=0,e=0,f=0.0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q...
function _i (line 1163) | function _i(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0...
function $i (line 1163) | function $i(a){a=a|0;c[13880]=1;hj(a);c[13880]=0;return}
function aj (line 1163) | function aj(a){a=a|0;c[13880]=2;hj(a);c[13880]=0;return}
function bj (line 1163) | function bj(a){a=a|0;var b=0;Ou(a,178487,304,1)|0;EC(a);b=yz((e[(c[(xu(a...
function cj (line 1163) | function cj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,j=0,k=0,l=0,m=0,n...
function dj (line 1163) | function dj(a){a=a|0;var b=0,d=0;b=gu(a)|0;if(b)do{d=at(a,b)|0;if(d)do{$...
function ej (line 1163) | function ej(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0.0,q...
function fj (line 1163) | function fj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0...
function gj (line 1163) | function gj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0.0,k=0.0,l=0.0,m=0,n...
function hj (line 1163) | function hj(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0...
function ij (line 1163) | function ij(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0.0;k=i;i=i+3...
function jj (line 1163) | function jj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0...
function kj (line 1163) | function kj(a){a=a|0;var d=0,e=0,f=0,g=0,i=0.0;YC(a,2);d=lC(a,Is(a,0,131...
function lj (line 1163) | function lj(a){a=a|0;var b=0,d=0,e=0,f=0;f=i;i=i+1040|0;e=f;d=f+8|0;if((...
function mj (line 1163) | function mj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0...
function nj (line 1163) | function nj(b,d,e,f,i,j){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;j=j|0;var k=0,l=0...
function oj (line 1163) | function oj(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0,l=0,m=0...
function pj (line 1163) | function pj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0...
function qj (line 1163) | function qj(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0.0;m...
function rj (line 1163) | function rj(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,j=0,k=0.0,l=0.0,m=0.0,n=0.0...
function sj (line 1163) | function sj(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var l=0,m=0...
function tj (line 1163) | function tj(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0...
function uj (line 1163) | function uj(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0.0,m=0,n=0.0...
function vj (line 1163) | function vj(a,b){a=a|0;b=b|0;return uj(a,24,b)|0}
function wj (line 1163) | function wj(a,b){a=a|0;b=b|0;var d=0;d=(e[(c[a+16>>2]|0)+136>>1]|0)&14;i...
function xj (line 1163) | function xj(b){b=b|0;var d=0,e=0,f=0.0,g=0.0,i=0.0,j=0,k=0,l=0,m=0,n=0,o...
function yj (line 1163) | function yj(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0.0,j=0,k=0;j=i;i=i+16|0;d=...
function zj (line 1163) | function zj(b){b=b|0;var d=0,e=0,f=0,g=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0...
function Aj (line 1163) | function Aj(e,f,j){e=e|0;f=f|0;j=j|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0...
function Bj (line 1163) | function Bj(b,d,e){b=b|0;d=+d;e=+e;var f=0,g=0,i=0;g=b+16|0;b=c[g>>2]|0;...
function Cj (line 1163) | function Cj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0.0,k=0.0;g=i;i=i+16|...
function Dj (line 1163) | function Dj(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,j=0,k=0,l=0,m=0;l=i;i=i...
function Ej (line 1163) | function Ej(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0;a=yz(64)|0;e=a+8|0;f=d+...
function Fj (line 1163) | function Fj(a,b,c){a=a|0;b=b|0;c=c|0;fQ(b);return}
function Gj (line 1163) | function Gj(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if(...
function Hj (line 1163) | function Hj(a){a=a|0;return 0}
function Ij (line 1163) | function Ij(a){a=a|0;return 0}
function Jj (line 1163) | function Jj(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0,k=0,l=0...
function Kj (line 1163) | function Kj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,i=0,j=0,k=0,l=0,m=0.0,n=0,o...
function Lj (line 1163) | function Lj(b,d){b=b|0;d=d|0;var e=0,f=0.0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q...
function Mj (line 1163) | function Mj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,j=0,k=0,l=0,m=0,n=0;n=i...
function Nj (line 1163) | function Nj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0.0,k=0,l=0,m=0,n...
function Oj (line 1163) | function Oj(b,e,f,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;j=j|0;k=k|0;l=l|0;m=m|0...
function Pj (line 1163) | function Pj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;m=i...
function Qj (line 1163) | function Qj(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0.0...
function Rj (line 1163) | function Rj(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0,j=0;i=yz(a<<2)|0...
function Sj (line 1163) | function Sj(a){a=a|0;if(a){fQ(c[a>>2]|0);fQ(a)}return}
function Tj (line 1163) | function Tj(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,j=0,k=0,l=0,m=0,n=0,o=0...
function Uj (line 1163) | function Uj(a){a=a|0;return Tj(a,0)|0}
function Vj (line 1163) | function Vj(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;g=a+16|0;fQ(c[(c[g>>2]|...
function Wj (line 1163) | function Wj(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0;if((c[13884]|0)>(d|...
function Xj (line 1163) | function Xj(a,b){a=a|0;b=b|0;Wj(a,b,2);return}
function Yj (line 1163) | function Yj(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0.0;e=+(b|0);f=e*+KN();d=a+...
function Zj (line 1163) | function Zj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;g=i;i=i+16|0;e=g;if(a[14227...
function _j (line 1163) | function _j(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p...
function $j (line 1163) | function $j(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,j=0,k=0,l=0.0,m=0;k=i;i=i+3...
function ak (line 1163) | function ak(b,e){b=b|0;e=e|0;var f=0.0,g=0,j=0,k=0,l=0.0,m=0,n=0,o=0,p=0...
function bk (line 1163) | function bk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,j=0,k=0,l=0,m=0,n...
function ck (line 1163) | function ck(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,j=0,k=0,l=0,m=0,n...
function dk (line 1163) | function dk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0.0,m...
function ek (line 1163) | function ek(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;k=a+16|0;d=c[k>...
function fk (line 1163) | function fk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0;j=a+16|0;e=c[(c...
function gk (line 1163) | function gk(a){a=a|0;var b=0,d=0;b=(c[a+16>>2]|0)+124|0;if((c[b>>2]|0)>=...
function hk (line 1163) | function hk(){var a=0,b=0,d=0,e=0;b=c[12830]|0;if(!b)a=0;else{e=c[12829]...
function ik (line 1163) | function ik(b,d){b=b|0;d=d|0;var e=0,f=0;f=i;i=i+16|0;e=f;c[12829]=yz((d...
function jk (line 1163) | function jk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0,k=0,l=0;l=a+1...
function kk (line 1163) | function kk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;f=ft(a,...
function lk (line 1163) | function lk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,j=0,k=0,l=0.0,m=0,n...
function mk (line 1163) | function mk(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0...
function nk (line 1163) | function nk(a){a=a|0;var d=0,e=0,f=0,g=0,i=0.0;YC(a,2);e=a+16|0;b[(c[e>>...
function ok (line 1163) | function ok(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0...
function pk (line 1163) | function pk(a){a=a|0;var b=0,d=0;b=gu(a)|0;if(b){do{d=at(a,b)|0;if(d)do{...
function qk (line 1163) | function qk(a,b){a=a|0;b=b|0;var c=0;c=gu(a)|0;a:do if(!c)c=0;else while...
function rk (line 1163) | function rk(a){a=a|0;var d=0,e=0,f=0,g=0,h=0;c[13901]=Is(a,1,151064,1510...
function sk (line 1163) | function sk(a){a=a|0;var b=0,d=0;b=gu(a)|0;if(b){fQ(c[(c[b+16>>2]|0)+112...
function tk (line 1163) | function tk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function uk (line 1163) | function uk(a){a=a|0;var d=0,f=0,g=0;YC(a,2);g=a+16|0;b[(c[g>>2]|0)+176>...
function vk (line 1163) | function vk(a){a=a|0;var b=0;b=gu(a)|0;if(b)do{OC(b);b=hu(a,b)|0}while((...
function wk (line 1163) | function wk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function xk (line 1163) | function xk(b,e){b=b|0;e=e|0;var f=0.0,g=0.0,j=0.0,l=0,m=0.0,n=0,o=0,p=0...
function yk (line 1163) | function yk(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o...
function zk (line 1163) | function zk(a){a=a|0;var b=0,d=0,e=0;d=a+16|0;b=c[d>>2]|0;a=b+184|0;if((...
function Ak (line 1163) | function Ak(a){a=a|0;var b=0;if((a|0)>0){b=c[24809]|0;while(1){AO(130355...
function Bk (line 1163) | function Bk(b){b=b|0;var d=0,f=0,g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r...
function Ck (line 1163) | function Ck(a){a=a|0;var b=0,d=0;b=gu(a)|0;if(b)do{d=at(a,b)|0;if(d)do{$...
function Dk (line 1163) | function Dk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=a+16|0;f=c[g>>2]|0;b=f+18...
function Ek (line 1163) | function Ek(a,b){a=a|0;b=b|0;c[b+4>>2]=Is(a,0,130497,0)|0;c[b+8>>2]=Is(a...
function Fk (line 1163) | function Fk(a){a=a|0;var d=0,e=0;YC(a,2);d=yz(56)|0;e=a+16|0;c[(c[e>>2]|...
function Gk (line 1163) | function Gk(b){b=b|0;var d=0,e=0,f=0,g=0.0,j=0.0,k=0.0,l=0.0,m=0,n=0.0,o...
function Hk (line 1163) | function Hk(a){a=a|0;var d=0,e=0,f=0.0,g=0,j=0,k=0,l=0.0,m=0,p=0,q=0,r=0...
function Ik (line 1163) | function Ik(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function Jk (line 1163) | function Jk(e,f){e=e|0;f=f|0;var g=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0,p=0,q=0...
function Kk (line 1163) | function Kk(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0.0,j=0,k=0.0,l=0,m...
function Lk (line 1163) | function Lk(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0;d=a+16|0;a=c[d>>2]|0;...
function Mk (line 1163) | function Mk(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Is(a,0,c,0)|0;do if(d){d=...
function Nk (line 1163) | function Nk(a,b){a=a|0;b=b|0;var d=0,f=0;b=mu(a,b,1)|0;Ou(b,178487,304,1...
function Ok (line 1163) | function Ok(a,d){a=a|0;d=d|0;var e=0,f=0,g=0;g=a+16|0;f=c[g>>2]|0;a=b[f+...
function Pk (line 1163) | function Pk(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a+8>>3];d=+h[b+8>>3];i...
function Qk (line 1163) | function Qk(a){a=a|0;var b=0.0,d=0.0,e=0,f=0;e=i;i=i+16|0;f=c[13875]|0;c...
function Rk (line 1163) | function Rk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,i=0,j=0,k=0.0,l=0,m=0.0,n...
function Sk (line 1163) | function Sk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k...
function Tk (line 1163) | function Tk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0.0,k=0,l=0...
function Uk (line 1163) | function Uk(b,d,e){b=b|0;d=+d;e=e|0;var f=0,g=0.0,i=0.0,j=0.0,k=0.0,l=0,...
function Vk (line 1163) | function Vk(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=+e;f=+f;var g=0.0,i=0,j=0;if(f...
function Wk (line 1163) | function Wk(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0.0,j=0,k...
function Xk (line 1163) | function Xk(b,d){b=b|0;d=d|0;var e=0,f=0,j=0,k=0,l=0.0,m=0.0,n=0,o=0,p=0...
function Yk (line 1163) | function Yk(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,i=0.0,j=0,k=0.0,l=0;j=c[d+1...
function Zk (line 1163) | function Zk(b){b=b|0;var d=0.0,e=0.0;b=c[b+16>>2]|0;d=+h[b+32>>3];if(!(a...
function _k (line 1163) | function _k(a){a=a|0;var d=0,e=0,f=0,g=0,i=0.0;YC(a,2);e=a+16|0;b[(c[e>>...
function $k (line 1163) | function $k(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0,n=0;n=i...
function al (line 1163) | function al(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+48|0;b=...
function bl (line 1163) | function bl(a){a=a|0;if(vt(a)|0){_k(a);al(a);fQ(c[(c[(gu(a)|0)+16>>2]|0)...
function cl (line 1163) | function cl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=gu(a)|0;if(d){g=a+16|0;f=...
function dl (line 1163) | function dl(a){a=a|0;var b=0,d=0,e=0;b=gu(a)|0;if(b)do{d=c[b+16>>2]|0;e=...
function el (line 1163) | function el(d){d=d|0;var f=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0...
function fl (line 1163) | function fl(a){a=a|0;var b=0,c=0;b=gu(a)|0;if(b)do{c=at(a,b)|0;if(c)do{$...
function gl (line 1163) | function gl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0...
function hl (line 1163) | function hl(){var a=0,b=0;a=zz(168)|0;h[a>>3]=-1.0001234;h[a+8>>3]=1.0;c...
function il (line 1163) | function il(a){a=a|0;fQ(a);return}
function jl (line 1163) | function jl(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p...
function kl (line 1163) | function kl(a,b){a=a|0;b=+b;var d=0,e=0,f=0;e=c[a>>2]|0;h[a+8+(e<<3)>>3]...
function ll (line 1163) | function ll(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0.0,g=0,i=0.0,j=0,k=0,l...
function ml (line 1163) | function ml(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0;i...
function nl (line 1163) | function nl(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3];c=+h[b>>3];retur...
function ol (line 1163) | function ol(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var k=0,l=0...
function pl (line 1163) | function pl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0,j=0...
function ql (line 1163) | function ql(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var j=0,k=0...
function rl (line 1163) | function rl(a,b,d,e,f,g,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;k=...
function sl (line 1163) | function sl(a,b,d,e,f,g,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var...
function tl (line 1164) | function tl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0...
function ul (line 1164) | function ul(a){a=a|0;var b=0.0,d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0.0...
function vl (line 1164) | function vl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0.0,g=0,j=0,k=0,l=0...
function wl (line 1164) | function wl(b,d,e,f,g,j,k,l,m,n){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k...
function xl (line 1164) | function xl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0.0,k=0,l=0,m...
function yl (line 1164) | function yl(a,b,d,e,f,g,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=+g;i=i|0;var ...
function zl (line 1164) | function zl(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;h=...
function Al (line 1164) | function Al(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=g|0;var i=0,j=0,k...
function Bl (line 1164) | function Bl(a,b){a=a|0;b=+b;var d=0,e=0,f=0,g=0;if((c[a+16>>2]|0)==1)d=I...
function Cl (line 1164) | function Cl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0,j=0,k=0,l=0...
function Dl (line 1164) | function Dl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j=0.0,k=0...
function El (line 1164) | function El(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0.0,j=0,k=0,l=0,m=0,n...
function Fl (line 1164) | function Fl(b){b=b|0;var d=0,e=0.0,f=0,g=0,j=0.0,k=0.0,l=0.0,m=0.0,n=0,o...
function Gl (line 1164) | function Gl(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;d=Qs(a,133289)|0;return Ml(...
function Hl (line 1164) | function Hl(b,d){b=b|0;d=d|0;var e=0,f=0,j=0,l=0,m=0,n=0,o=0.0,p=0,q=0,r...
function Il (line 1164) | function Il(a,b){a=a|0;b=b|0;var c=0,d=0;d=i;i=i+32|0;c=d;if((vt(a)|0)<2...
function Jl (line 1164) | function Jl(a){a=a|0;return Il(a,Qs(a,133289)|0)|0}
function Kl (line 1164) | function Kl(b,e){b=b|0;e=e|0;var f=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;m=i;i=i...
function Ll (line 1164) | function Ll(b,e){b=b|0;e=e|0;var f=0,j=0,k=0,l=0,m=0,n=0.0,o=0.0;m=i;i=i...
function Ml (line 1164) | function Ml(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Nl (line 1164) | function Nl(){var a=0,b=0;if((c[12983]|0)>0){a=0;b=c[12998]|0;while(1){x...
function Ol (line 1164) | function Ol(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0...
function Pl (line 1164) | function Pl(){var a=0,b=0,d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,l=0.0,m=0.0,n=0,...
function Ql (line 1164) | function Ql(a){a=a|0;var b=0.0,d=0.0,e=0.0,f=0.0,g=0,i=0,j=0,k=0;if(a)Tl...
function Rl (line 1164) | function Rl(){var a=0;a=c[12895]|0;if(a>>>0<(c[12896]|0)>>>0){c[12895]=a...
function Sl (line 1164) | function Sl(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var h=0,j=0,k=0,l=0,m=0,n=0,o...
function Tl (line 1164) | function Tl(){var a=0,b=0,d=0,e=0;a=c[12893]|0;if(!a){d=zz(c[12983]<<2)|...
function Ul (line 1164) | function Ul(a,b){a=a|0;b=b|0;var d=0.0,e=0.0;a=c[a>>2]|0;b=c[b>>2]|0;d=+...
function Vl (line 1164) | function Vl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=...
function Wl (line 1164) | function Wl(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var h=0,i=0,j=0,k=0...
function Xl (line 1164) | function Xl(a,b){a=a|0;b=b|0;c[a>>2]=zz(b<<2)|0;c[a+4>>2]=b;c[a+8>>2]=0;...
function Yl (line 1164) | function Yl(a){a=a|0;fQ(c[a>>2]|0);return}
function Zl (line 1164) | function Zl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0;if(a[142275]|...
function _l (line 1164) | function _l(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0.0;k...
function $l (line 1164) | function $l(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;var g=0.0,h=...
function am (line 1164) | function am(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;g=g|0;var ...
function bm (line 1164) | function bm(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=+e;f=f|0;var g=0.0,h=...
function cm (line 1164) | function cm(b,d,e,f,j,k,l,m,n,o){b=b|0;d=d|0;e=e|0;f=f|0;j=j|0;k=k|0;l=l...
function dm (line 1164) | function dm(b,d){b=b|0;d=d|0;var e=0,f=0,j=0,k=0.0,l=0.0,m=0,n=0,o=0,p=0...
function em (line 1164) | function em(b,d){b=b|0;d=d|0;var e=0,f=0,j=0.0,k=0.0,l=0.0,m=0,n=0,o=0.0...
function fm (line 1164) | function fm(a,b){a=a|0;b=b|0;if((c[a+36>>2]|0)>(c[b+44>>2]|0))a=0;else a...
function gm (line 1164) | function gm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0...
function hm (line 1164) | function hm(a,b){a=a|0;b=b|0;if((c[a+32>>2]|0)>(c[b+40>>2]|0))a=0;else a...
function im (line 1164) | function im(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0...
function jm (line 1164) | function jm(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=c[a+3...
function km (line 1164) | function km(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;d=c[a+3...
function lm (line 1164) | function lm(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;c=+h[a>>3];d=+h[b>>3];if(!(...
function mm (line 1164) | function mm(a,b){a=a|0;b=b|0;return ((c[a+12>>2]|0)-(c[a+4>>2]|0)+(c[b+1...
function nm (line 1164) | function nm(a,d,e){a=a|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function om (line 1164) | function om(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0...
function pm (line 1164) | function pm(a){a=a|0;var b=0,d=0,e=0,f=0;b=gu(a)|0;if(b)do{e=b+16|0;d=c[...
function qm (line 1164) | function qm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;return (c[b>>2]|0)-(c[d>>2]...
function rm (line 1164) | function rm(a,b){a=a|0;b=b|0;return ((c[a+8>>2]|0)-(c[a>>2]|0)+(c[b+8>>2...
function sm (line 1164) | function sm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;b=i;i=i+16|0;a=b;c[a>>2]=13...
function tm (line 1164) | function tm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;b=i;i=i+16|0;a=b;a:...
function um (line 1164) | function um(a){a=a|0;var b=0;if(a){b=c[a+4>>2]|0;if(b)fQ(b);b=c[a+8>>2]|...
function vm (line 1164) | function vm(a){a=a|0;var b=0;if(a){b=c[a+4>>2]|0;if(b)fQ(b);b=c[a+8>>2]|...
function wm (line 1164) | function wm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0...
function xm (line 1164) | function xm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,j=0,k=0,l=0,m=0...
function ym (line 1164) | function ym(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0...
function zm (line 1164) | function zm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=a+4|0;if(!(c[...
function Am (line 1164) | function Am(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0...
function Bm (line 1164) | function Bm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,h=0,i=0,j=0,k=0;j=a...
function Cm (line 1164) | function Cm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;i=a...
function Dm (line 1164) | function Dm(){po(51916,48);c[12982]=0;return}
function Em (line 1164) | function Em(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0.0,g=0,i=0.0;g=qo(51916)...
function Fm (line 1164) | function Fm(a){a=a|0;var b=0,d=0,e=0.0,f=0.0,g=0.0,i=0.0,j=0.0,k=0.0,l=0...
function Gm (line 1164) | function Gm(a,b,d){a=a|0;b=b|0;d=d|0;c[a+24+(b<<2)>>2]=d;Oo(d);if(c[a+24...
function Hm (line 1164) | function Hm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0...
function Im (line 1164) | function Im(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0,h=0,i=0,j=0.0,k=0...
function Jm (line 1164) | function Jm(){c[12984]=~~+O(+(+((c[12983]|0)+4|0)));return}
function Km (line 1164) | function Km(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3]-+h[b>>3];c=+h[a+...
function Lm (line 1164) | function Lm(a,b,c){a=a|0;b=b|0;c=c|0;h[a>>3]=+h[b>>3]-+h[c>>3];h[a+8>>3]...
function Mm (line 1164) | function Mm(a,b,c){a=a|0;b=b|0;c=c|0;h[a>>3]=+h[b>>3]+ +h[c>>3];h[a+8>>3...
function Nm (line 1164) | function Nm(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[b+8>>3];d=+h[b...
function Om (line 1164) | function Om(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;e=+h[b+8>>3];d=+h[b...
function Pm (line 1164) | function Pm(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0...
function Qm (line 1164) | function Qm(a,b,d){a=a|0;b=b|0;d=+d;var e=0,f=0,g=0,i=0.0;c[a+20>>2]=b;O...
function Rm (line 1164) | function Rm(a){a=a|0;var b=0,d=0,e=0;e=a+20|0;if(c[e>>2]|0){d=Xm(a)|0;d=...
function Sm (line 1164) | function Sm(){return (c[12986]|0)==0|0}
function Tm (line 1164) | function Tm(a){a=a|0;var b=0,d=0,e=0,f=0.0;d=c[12987]|0;e=c[12985]|0;b=c...
function Um (line 1164) | function Um(){var a=0,b=0;b=(c[12985]|0)+((c[12987]|0)*40|0)+32|0;a=c[b>...
function Vm (line 1164) | function Vm(){fQ(c[12985]|0);c[12985]=0;return}
function Wm (line 1164) | function Wm(){var a=0,b=0,d=0;c[12986]=0;c[12987]=0;b=c[12984]|0;d=b<<2;...
function Xm (line 1164) | function Xm(a){a=a|0;var b=0.0,d=0,e=0.0;d=c[12988]|0;e=+(d|0);b=(+h[a+2...
function Ym (line 1164) | function Ym(){po(51964,40);fQ(c[12994]|0);c[12994]=0;return}
function Zm (line 1164) | function Zm(){var b=0,d=0,e=0;po(51964,40);d=c[12984]|0;e=d<<1;c[12995]=...
function _m (line 1164) | function _m(b,d){b=b|0;d=d|0;var e=0;e=qo(51964)|0;c[e+8>>2]=b;a[e+16>>0...
function $m (line 1164) | function $m(b,d){b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0,k=0.0,l=0.0,m=0...
function an (line 1164) | function an(b,d){b=b|0;d=d|0;var e=0.0,f=0,g=0,i=0.0,j=0.0,k=0.0,l=0.0,m...
function bn (line 1164) | function bn(a,b){a=a|0;b=b|0;c[b>>2]=a;a=a+4|0;c[b+4>>2]=c[a>>2];c[c[a>>...
function cn (line 1164) | function cn(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=c[12995]|0;b=~~((+h[a>>3]...
function dn (line 1164) | function dn(a){a=a|0;var b=0,d=0;b=a+4|0;d=c[a>>2]|0;c[d+4>>2]=c[b>>2];c...
function en (line 1164) | function en(a){a=a|0;return c[a+4>>2]|0}
function fn (line 1164) | function fn(a){a=a|0;return c[a>>2]|0}
function gn (line 1164) | function gn(b){b=b|0;var d=0;d=c[b+8>>2]|0;if(!d)d=52188;else d=(a[b+16>...
function hn (line 1164) | function hn(b){b=b|0;var d=0;d=c[b+8>>2]|0;if(!d)d=52188;else d=(a[b+16>...
function jn (line 1164) | function jn(a){a=a|0;var b=0,d=0;if((a|0)>-1&(c[12995]|0)>(a|0)?(d=(c[12...
function kn (line 1164) | function kn(){po(51996,24);return}
function ln (line 1164) | function ln(a,b,d){a=a|0;b=+b;d=+d;var e=0,f=0,g=0,j=0,k=0;k=i;i=i+32|0;...
function mn (line 1164) | function mn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0,f=0.0,g=0.0,i=0.0,j...
function nn (line 1164) | function nn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[a+(d*20|0)>>2]|...
function on (line 1164) | function on(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+(b*20|0)|0;if((c[e>>2]|...
function pn (line 1164) | function pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=a+(b*20|0)|0;if((c[e>>2]|...
function qn (line 1164) | function qn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=i;i=i+16|0;g=h;if...
function rn (line 1164) | function rn(a,b){a=a|0;b=b|0;var d=0,e=0;e=c[a+8>>2]|0;sn(a,b);d=xn(a,b)...
function sn (line 1164) | function sn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0...
function tn (line 1164) | function tn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;f=a+8|0;fQ(c[f>>2]|0);c...
function un (line 1164) | function un(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0.0,j=0;if(...
function vn (line 1164) | function vn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;if((e|0)>(d|0)){c[13002]=a;...
function wn (line 1164) | function wn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0.0,i=0,j=0,k=0,l...
function xn (line 1164) | function xn(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=b<<2;d=zz(_(g,b)|0)|0...
function yn (line 1164) | function yn(a,b){a=a|0;b=b|0;var d=0.0,e=0.0,f=0;f=c[13002]|0;e=+g[f+(c[...
function zn (line 1164) | function zn(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,j=0,k=0.0,l=0,m=0.0,p=0,q=0...
function An (line 1164) | function An(a,b){a=a|0;b=b|0;var d=0.0,e=0;e=c[a>>2]|0;a=c[b>>2]|0;d=+h[...
function Bn (line 1164) | function Bn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0...
function Cn (line 1164) | function Cn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0.0,j=0.0,k=0...
function Dn (line 1164) | function Dn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0.0,j=0.0...
function En (line 1164) | function En(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,j=0.0,k=0,l=0,m=0.0,n...
function Fn (line 1164) | function Fn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0.0,j=0;do if(fr(...
function Gn (line 1164) | function Gn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var i=0.0,j...
function Hn (line 1164) | function Hn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0;c=1-b+c|0;if(...
function In (line 1164) | function In(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0;c=1-b+c|0;if...
function Jn (line 1164) | function Jn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0.0;c=1-b+c|0;if(!c)d=0...
function Kn (line 1164) | function Kn(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=+d;e=e|0;var f=0;c=1-b+c|0;if...
function Ln (line 1164) | function Ln(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;c=1-b+c|0;if(c){e=a...
function Mn (line 1164) | function Mn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k...
function Nn (line 1164) | function Nn(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0...
function On (line 1164) | function On(a,b,d,e,f,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0...
function Pn (line 1164) | function Pn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var i=0,j=0,k=0.0,l...
function Qn (line 1164) | function Qn(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0,f=0;f=(a|0)==0;if(!f){d=a...
function Rn (line 1164) | function Rn(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;if((a|0)>0){d=0;do{h[b+(d...
function Sn (line 1164) | function Sn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0,l=0,m...
function Tn (line 1164) | function Tn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,i=0,j=0,k=0;if((b...
function Un (line 1164) | function Un(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((a|0)>0){e=0;do{...
function Vn (line 1164) | function Vn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((a|0)>0){e=0;do{...
function Wn (line 1164) | function Wn(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;if((a|0)>0){e=0;do{h...
function Xn (line 1164) | function Xn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0;if((a|0)>0){d=0;do{h[c+(d<<...
function Yn (line 1164) | function Yn(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;if((a|0)>0){e=0;d=0.0...
function Zn (line 1164) | function Zn(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0;if((a|0)>0){d=0;c=-1.e+...
function _n (line 1164) | function _n(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0.0,i=0,j=0,k...
function $n (line 1164) | function $n(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0,f=0;f=(a|0)==0;if(!f){d=a...
function ao (line 1164) | function ao(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,h=0,i=0,j=0.0...
function bo (line 1164) | function bo(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((a|0)>0){e=0;do{...
function co (line 1164) | function co(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0;if((a|0)>0){e=0;do{...
function eo (line 1164) | function eo(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0,f=0;if((a|0)>0){e=0;...
function fo (line 1164) | function fo(a,b,c,d){a=a|0;b=b|0;c=+c;d=d|0;var e=0;if((a|0)>0){e=0;do{g...
function go (line 1164) | function go(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if((a|0)>0){e=0;do{c[d+(e<<...
function ho (line 1164) | function ho(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;if((a|0)>0){e=0;d=0.0...
function io (line 1164) | function io(a,b,c){a=a|0;b=+b;c=c|0;var d=0;if((a|0)>0){d=0;do{h[c+(d<<3...
function jo (line 1164) | function jo(a,b,c){a=a|0;b=+b;c=c|0;var d=0;if((a|0)>0){d=0;do{g[c+(d<<2...
function ko (line 1164) | function ko(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0.0;if((a|0)>0){d=0;c=-1000...
function lo (line 1164) | function lo(a,b){a=a|0;b=b|0;var c=0,d=0,e=0.0;if((a|0)>0){c=0;do{d=b+(c...
function mo (line 1164) | function mo(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0;if((a|0)>0){e=0;do{c=b+(e...
function no (line 1164) | function no(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;if((a|0)>0){e=0;do{d=...
function oo (line 1164) | function oo(a,b){a=a|0;b=b|0;var c=0,d=0.0,e=0;if((a|0)>0){e=0;do{c=b+(e...
function po (line 1164) | function po(a,b){a=a|0;b=b|0;var d=0,e=0;c[a>>2]=0;if(b&3)if(!(4%(b>>>0)...
function qo (line 1164) | function qo(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,i=0;b=c[a>>2]|0;if(!b){...
function ro (line 1164) | function ro(a,b){a=a|0;b=b|0;c[a>>2]=c[b>>2];c[b>>2]=a;return}
function so (line 1164) | function so(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0.0,l=0,m...
function to (line 1164) | function to(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;...
function uo (line 1164) | function uo(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,i=0,j=0.0,k...
function vo (line 1164) | function vo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i...
function wo (line 1164) | function wo(){c[13043]=0;fQ(c[13044]|0);fQ(c[13045]|0);fQ(c[13046]|0);c[...
function xo (line 1164) | function xo(a){a=a|0;fQ(c[a+36>>2]|0);return}
function yo (line 1164) | function yo(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,o...
function zo (line 1164) | function zo(b,d,e,f){b=b|0;d=d|0;e=+e;f=+f;var g=0,j=0,k=0,l=0,m=0,n=0,o...
function Ao (line 1164) | function Ao(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,j=0,l=0,m=0.0,n=0.0...
function Bo (line 1164) | function Bo(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;do if((b|0)==4){c=+h[a+8>>3...
function Co (line 1164) | function Co(a,b,d,e){a=a|0;b=b|0;d=+d;e=+e;var f=0,g=0.0,i=0.0,j=0,k=0;f...
function Do (line 1164) | function Do(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0.0,g=0.0,i=0.0...
function Eo (line 1164) | function Eo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0.0,i=0,j=0.0,k=0,l...
function Fo (line 1164) | function Fo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;j=z...
function Go (line 1164) | function Go(a,b,d,e,f,h,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;j...
function Ho (line 1164) | function Ho(a){a=a|0;fQ(c[c[a>>2]>>2]|0);fQ(c[a>>2]|0);fQ(c[a+8>>2]|0);f...
function Io (line 1164) | function Io(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0...
function Jo (line 1164) | function Jo(){po(52192,24);c[13051]=0;return}
function Ko (line 1164) | function Ko(){return qo(52192)|0}
function Lo (line 1164) | function Lo(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a>>3]-+h[b>>3];c=+h[a+...
function Mo (line 1164) | function Mo(a){a=a|0;c[a+16>>2]=c[13051];c[13051]=(c[13051]|0)+1;return}
function No (line 1164) | function No(a){a=a|0;var b=0,d=0;d=a+20|0;b=(c[d>>2]|0)+-1|0;c[d>>2]=b;i...
function Oo (line 1164) | function Oo(a){a=a|0;a=a+20|0;c[a>>2]=(c[a>>2]|0)+1;return}
function Po (line 1164) | function Po(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;var i=0,j=0,k=0.0,l=...
function Qo (line 1164) | function Qo(a,b){a=a|0;b=b|0;var c=0.0,d=0,e=0;e=(b|0)>0;if(e){c=0.0;d=0...
function Ro (line 1164) | function Ro(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k...
function So (line 1164) | function So(b,d){b=b|0;d=d|0;var e=0.0,f=0.0,g=0,j=0,k=0,l=0,m=0.0,n=0,o...
function To (line 1164) | function To(b,d){b=b|0;d=d|0;var e=0,f=0,g=0.0,j=0,k=0.0,l=0,m=0,n=0.0,o...
function Uo (line 1164) | function Uo(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;e=c...
function Vo (line 1164) | function Vo(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0.0,i=0,j=0;f=c[(c[b+16>>...
function Wo (line 1164) | function Wo(a,b){a=a|0;b=b|0;var d=0,e=0.0,f=0,g=0,i=0,j=0.0;d=c[(c[b+16...
function Xo (line 1164) | function Xo(a){a=a|0;var b=0,d=0,e=0,f=0.0,g=0;b=i;i=i+32|0;e=b;d=Is(a,1...
function Yo (line 1164) | function Yo(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0.0,i=0,j=0,k=0...
function Zo (line 1164) | function Zo(b){b=b|0;var d=0,e=0,f=0,g=0,j=0.0,k=0,l=0,m=0,n=0,o=0,p=0,q...
function _o (line 1164) | function _o(b){b=b|0;var d=0,e=0,f=0,g=0,j=0,k=0,l=0,m=0.0,n=0.0,o=0.0,p...
function $o (line 1164) | function $o(a){a=a|0;var b=0,d=0,e=0;d=c[a+64>>2]|0;if((d|0)>0){b=a+48|0...
function ap (line 1164) | function ap(a,b){a=a|0;b=b|0;var d=0.0;d=+h[c[a>>2]>>3]-+h[c[b>>2]>>3];r...
function bp (line 1164) | function bp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,j=0;j=i;i=i+32|0;...
function cp (line 1164) | function cp(a,b,c,d,e){a=a|0;b=+b;c=+c;d=+d;e=+e;h[a>>3]=b;h[a+8>>3]=c;h...
function dp (line 1164) | function dp(b,d,e,f,g,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=+g;j=+j;k=+k;l=...
function ep (line 1164) | function ep(d,e,f){d=d|0;e=e|0;f=f|0;var j=0,k=0,l=0,m=0,n=0,o=0.0,p=0.0...
function fp (line 1164) | function fp(b,d,e,f,i){b=b|0;d=d|0;e=e|0;f=f|0;i=i|0;var j=0,k=0.0,l=0.0...
function gp (line 1164) | function gp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=a+4|0;f=c[e>>2]|0;g=a...
function hp (line 1164) | function hp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0...
function ip (line 1164) | function ip(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0;a[f+(c[(c[d...
function jp (line 1164) | function jp(a){a=a|0;var b=0,d=0,e=0;b=zz(24)|0;c[13053]=b;c[b>>2]=hs(52...
function kp (line 1164) | function kp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=a+12|0;d=c[f>>2]|0;if((d|...
function lp (line 1164) | function lp(a){a=a|0;var b=0;b=c[a>>2]|0;Jb[c[b>>2]&63](b,0,64)|0;c[a+20...
function mp (line 1164) | function mp(a){a=a|0;var b=0,d=0;ds(c[a>>2]|0)|0;b=c[a+4>>2]|0;if(b)do{d...
function np (line 1164) | function np(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;h=i...
function op (line 1164) | function op(a,b){a=a|0;b=b|0;os(c[a>>2]|0,b,a)|0;return}
function pp (line 1164) | function pp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+32|0;f=e;c[f>>2...
function qp (line 1164) | function qp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;g=(c[13053]|0)+8|0;...
function rp (line 1164) | function rp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[b>>2]|0;e=c[d>>2]|0;if(...
function sp (line 1164) | function sp(a){a=a|0;fQ(c[a+8>>2]|0);fQ(a);return}
function tp (line 1164) | function tp(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;b=c[b>>2]|0...
function up (line 1164) | function up(a,b,d,e,f,g,i,j,k,l,m){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;g=g|0;i=...
function vp (line 1164) | function vp(a,b,d,e,f,g,i,j,k,l,m){a=a|0;b=+b;d=d|0;e=e|0;f=f|0;g=g|0;i=...
function wp (line 1164) | function wp(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=+e;f=+f;g=+g;i=i|0;j=j|...
function xp (line 1164) | function xp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,i=0.0,j...
function yp (line 1164) | function yp(a,b,d,e){a=a|0;b=b|0;d=+d;e=e|0;var f=0,g=0,i=0;f=zz(56)|0;c...
function zp (line 1164) | function zp(a){a=a|0;var b=0,d=0,e=0,f=0;if(a){f=c[a+16>>2]|0;fQ(c[a+20>...
function Ap (line 1164) | function Ap(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0.0;g=...
function Bp (line 1164) | function Bp(a,b,d,e,f,g,i,j){a=a|0;b=b|0;d=d|0;e=e|0;f=+f;g=+g;i=+i;j=j|...
function Cp (line 1164) | function Cp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0.0,g=0,i=0,j=0,k=0,l=0,m...
function Dp (line 1164) | function Dp(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0,j=0,k=0....
function Ep (line 1164) | function Ep(a,b,d,e){a=a|0;b=+b;d=d|0;e=e|0;var f=0,g=0;g=zz(32)|0;h[g>>...
function Fp (line 1164) | function Fp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=c[(kr(d)|0)+24>>2...
function Gp (line 1165) | function Gp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0...
function Hp (line 1165) | function Hp(a){a=a|0;var b=0;if(a){b=c[a+20>>2]|0;if(b)fQ(b);b=c[a+24>>2...
function Ip (line 1165) | function Ip(a,b){a=a|0;b=b|0;if(!(Kp(a,b)|0)){b=Gp(a)|0;if(!b)b=0;else{a...
function Jp (line 1165) | function Jp(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0;switch(d|0)...
function Kp (line 1165) | function Kp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0...
function Lp (line 1165) | function Lp(a){a=a|0;var b=0,d=0,e=0,f=0;if(!a)b=0;else{e=a+8|0;f=a+40|0...
function Mp (line 1165) | function Mp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0.0,j=0,k=0,l=0,m=0,n...
function Np (line 1165) | function Np(a,b){a=a|0;b=b|0;if(!(Kp(a,b)|0)){b=Gp(a)|0;if(!b)b=0;else{a...
function Op (line 1165) | function Op(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0;a:do if...
function Pp (line 1165) | function Pp(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;f=$p(a,b,d,...
function Qp (line 1165) | function Qp(a){a=a|0;if((c[a+32>>2]|0)==2)return bq(c[a+8>>2]|0,c[a>>2]|...
function Rp (line 1165) | function Rp(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h...
function Sp (line 1165) | function Sp(a,b,d,e,f,g,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;var...
function Tp (line 1165) | function Tp(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0.0,g=0,i=0,j=0,k=0,l...
function Up (line 1165) | function Up(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0...
function Vp (line 1165) | function Vp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,i=0,j=0,k=0,l=0,m=0...
function Wp (line 1165) | function Wp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,i=0,j=0.0,k=0,l=0,m=0,n...
function Xp (line 1165) | function Xp(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0...
function Yp (line 1165) | function Yp(a){a=a|0;var b=0,d=0,e=0.0,f=0,g=0,i=0,j=0,k=0,l=0,m=0,n=0;a...
function Zp (line 1165) | function Zp(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;if((a|0)!=0?(b=a+8|0,d=c[b>...
function _p (line 1165) | function _p(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0...
function $p (line 1165) | function $p(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=zz(44)|0;...
function aq (line 1165) | function aq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=c[a+32>>2]|0;f=a+28|0...
function bq (line 1165) | function bq(a,b,d,e,f,g,i,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;i=i|0...
function cq (line 1165) | function cq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0,f=0,g=0,i=0;i=_(b<<3,c)...
function dq (line 1165) | function dq(){return +(+(MN()|0)/2147483647.0)}
function eq (line 1165) | function eq(a){a=a|0;if((a|0)>1)return (MN()|0)%(a|0)|0|0;else Na(136464...
function fq (line 1165) | function fq(a){a=a|0;var b=0,d=0,e=0,f=0;if((a|0)>=1){b=zz(a<<2)|0;d=0;d...
function gq (line 1165) | function gq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;if((a|0)>0){d=0;do{e=c+...
function hq (line 1165) | function hq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0;if((a|0)>0){e=0;d=0.0...
function iq (line 1165) | function iq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0;if((a|0)>0){e=0;...
function jq (line 1165) | function jq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=+d;var e=0,f=0;if((a|0)>0){e=0;...
function kq (line 1165) | function kq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0.0;if((b|0...
function lq (line 1165) | function lq(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0.0,f=0,g=0.0;if((b|0...
function mq (line 1165) | function mq(a,b,c){a=a|0;b=b|0;c=c|0;var d=0.0,e=0,f=0.0;if((c|0)>0){d=0...
function nq (line 1165) | function nq(a,b,c,d,e,f,g){a=+a;b=+b;c=+c;d=+d;e=e|0;f=f|0;g=g|0;var j=0...
function oq (line 1165) | function oq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,j=0;j=i;i=i+144|0;g=j;f...
function pq (line 1165) | function pq(a,b){a=a|0;b=b|0;var d=0;d=zz(32)|0;c[d>>2]=4;h[d+8>>3]=.75;...
function qq (line 1165) | function qq(a){a=a|0;fQ(a);return}
function rq (line 1165) | function rq(a){a=a|0;var b=0,d=0;if(!a)return;d=c[a+8>>2]|0;do if(d){if(...
function sq (line 1165) | function sq(a,b,d,e,f,g,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j...
function tq (line 1165) | function tq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;if((Kp(a,0)|0)!=0?(...
function uq (line 1165) | function uq(a){a=a|0;var b=0;while(1){b=c[a+28>>2]|0;if(!b)break;else a=...
function vq (line 1165) | function vq(a,b,d,e,f,g,j,k,l,m){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j...
function wq (line 1165) | function wq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;if(!a)a=0;else{e=zz(44)|0;c...
function xq (line 1165) | function xq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;l=i;i=i...
function yq (line 1165) | function yq(a,b){a=a|0;b=b|0;var c=0.0,d=0.0;d=+h[a+8>>3];c=+h[b+8>>3];r...
function zq (line 1165) | function zq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=zz(28)|0;c[h>>2]=...
function Aq (line 1165) | function Aq(a){a=a|0;var b=0,d=0,e=0;if(a){d=a+16|0;b=c[d>>2]|0;if(b){e=...
function Bq (line 1165) | function Bq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;if(...
function Cq (line 1165) | function Cq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;if((a|0)!=0?(c[a>>2...
function Dq (line 1165) | function Dq(a,b){a=a|0;b=b|0;return c[(c[a+24>>2]|0)+(b<<2)>>2]|0}
function Eq (line 1165) | function Eq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;if((a|0)!=0?(e=c[a>...
function Fq (line 1165) | function Fq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0.0,f=0,g=0.0,i=0,j=0,k=0,l=0...
function Gq (line 1165) | function Gq(a,b,d,e,f){a=a|0;b=b|0;d=+d;e=e|0;f=f|0;var g=0,i=0.0,j=0,k=...
function Hq (line 1165) | function Hq(a){a=a|0;var b=0;if(a){b=c[a+4>>2]|0;if(b)Hp(b);b=c[a+8>>2]|...
function Iq (line 1165) | f
Copy disabled (too large)
Download .json
Condensed preview — 138 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (17,152K chars).
[
{
"path": ".gitignore",
"chars": 603,
"preview": "# History files\n.Rhistory\n.Rapp.history\n\n# Session Data files\n.RData\n\n# Example code in package build process\n*-Ex.R\n\n# "
},
{
"path": "LICENSE",
"chars": 18092,
"preview": " GNU GENERAL PUBLIC LICENSE\n Version 2, June 1991\n\n Copyright (C) 1989, 1991 Fr"
},
{
"path": "Materials/Backup_Slides.R",
"chars": 5792,
"preview": "# Slides for Applied Machine Learning workshop at 2019 RStudio ---\n# Conference ----------------------------------------"
},
{
"path": "Materials/Backup_Slides.html",
"chars": 18480,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <title>Applied Machine Learning - Backup Slides</title>\n <meta charset=\"utf-8\">\n "
},
{
"path": "Materials/Materials.Rproj",
"chars": 204,
"preview": "Version: 1.0\n\nRestoreWorkspace: Default\nSaveWorkspace: Default\nAlwaysSaveHistory: Default\n\nEnableCodeIndexing: Yes\nUseSp"
},
{
"path": "Materials/Part_1_Getting_Started.R",
"chars": 2466,
"preview": "# Slides for Applied Machine Learning workshop at 2019 RStudio ---\n# Conference ----------------------------------------"
},
{
"path": "Materials/Part_1_Getting_Started.html",
"chars": 91826,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <title>Applied Machine Learning - Getting Started</title>\n <meta charset=\"utf-8\">"
},
{
"path": "Materials/Part_2_Basic_Principles.R",
"chars": 10720,
"preview": "# Slides for Applied Machine Learning workshop at 2019 RStudio ---\n# Conference ----------------------------------------"
},
{
"path": "Materials/Part_2_Basic_Principles.html",
"chars": 98759,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <title>Applied Machine Learning - Basic Principles</title>\n <meta charset=\"utf-8\""
},
{
"path": "Materials/Part_2_Basic_Principles_files/DiagrammeR-styles-0.2/styles.css",
"chars": 369,
"preview": ".DiagrammeR,.grViz pre {\n white-space: pre-wrap; /* CSS 3 */\n white-space: -moz-pre-wrap; /* Mozilla, since 199"
},
{
"path": "Materials/Part_2_Basic_Principles_files/Proj4Leaflet-1.0.1/proj4-compressed.js",
"chars": 74190,
"preview": "!function(a){if(\"object\"==typeof exports)module.exports=a();else if(\"function\"==typeof define&&define.amd)define(a);else"
},
{
"path": "Materials/Part_2_Basic_Principles_files/Proj4Leaflet-1.0.1/proj4leaflet.js",
"chars": 7738,
"preview": "(function (factory) {\r\n\tvar L, proj4;\r\n\tif (typeof define === 'function' && define.amd) {\r\n\t\t// AMD\r\n\t\tdefine(['leaflet'"
},
{
"path": "Materials/Part_2_Basic_Principles_files/grViz-binding-1.0.0/grViz.js",
"chars": 1865,
"preview": "HTMLWidgets.widget({\n\n name: 'grViz',\n\n type: 'output',\n\n initialize: function(el, width, height) {\n \n retu"
},
{
"path": "Materials/Part_2_Basic_Principles_files/htmlwidgets-1.3/htmlwidgets.js",
"chars": 31037,
"preview": "(function() {\n // If window.HTMLWidgets is already defined, then use it; otherwise create a\n // new object. This allow"
},
{
"path": "Materials/Part_2_Basic_Principles_files/leaflet-1.3.1/leaflet.css",
"chars": 14198,
"preview": "/* required styles */\r\n\r\n.leaflet-pane,\r\n.leaflet-tile,\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow,\r\n.leaflet-tile-c"
},
{
"path": "Materials/Part_2_Basic_Principles_files/leaflet-1.3.1/leaflet.js",
"chars": 139643,
"preview": "/* @preserve\n * Leaflet 1.3.1+Detached: ba6f97fff8647e724e4dfe66d2ed7da11f908989.ba6f97f, a JS library for interactive m"
},
{
"path": "Materials/Part_2_Basic_Principles_files/leaflet-binding-2.0.2/leaflet.js",
"chars": 104606,
"preview": "(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0)"
},
{
"path": "Materials/Part_2_Basic_Principles_files/leaflet-providers-1.1.17/leaflet-providers.js",
"chars": 21157,
"preview": "(function (root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD. Register as an anonymous module"
},
{
"path": "Materials/Part_2_Basic_Principles_files/leaflet-providers-1.1.17/package.json",
"chars": 1369,
"preview": "{\n \"name\": \"leaflet-providers\",\n \"version\": \"1.1.17\",\n \"description\": \"An extension to Leaflet that contains configur"
},
{
"path": "Materials/Part_2_Basic_Principles_files/leaflet-providers-1.1.17/providers.json",
"chars": 20131,
"preview": "{\n \"OpenStreetMap\": {\n \"url\": \"//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\",\n \"options\": {\n \"maxZoom\": 19,\n"
},
{
"path": "Materials/Part_2_Basic_Principles_files/leaflet-providers-1.1.17/rstudio_install.md",
"chars": 786,
"preview": "# Location\n* from: github.com/schloerke/leaflet-providers@urlProtocol\n\n* Inspiration taken from https://github.com/leafl"
},
{
"path": "Materials/Part_2_Basic_Principles_files/leaflet-providers-plugin-2.0.2/leaflet-providers-plugin.js",
"chars": 185,
"preview": "LeafletWidget.methods.addProviderTiles = function(provider, layerId, group, options) {\n this.layerManager.addLayer(L.ti"
},
{
"path": "Materials/Part_2_Basic_Principles_files/leafletfix-1.0.0/leafletfix.css",
"chars": 642,
"preview": "/* Work around CSS properties introduced on img by bootstrap */\nimg.leaflet-tile {\n padding: 0;\n margin: 0;\n border-r"
},
{
"path": "Materials/Part_2_Basic_Principles_files/rstudio_leaflet-1.3.1/rstudio_leaflet.css",
"chars": 804,
"preview": ".leaflet-tooltip.leaflet-tooltip-text-only,\n.leaflet-tooltip.leaflet-tooltip-text-only:before,\n.leaflet-tooltip.leaflet-"
},
{
"path": "Materials/Part_2_Basic_Principles_files/viz-0.3/viz.js",
"chars": 2414083,
"preview": "/*\nViz.js\nCopyright (c) 2014-2017 Michael Daines\nLicensed under MIT license\n\nThis distribution contains other software i"
},
{
"path": "Materials/Part_2_Hands_On_1.R",
"chars": 1130,
"preview": "# Slides for Applied Machine Learning workshop at 2019 RStudio ---\n# Conference ----------------------------------------"
},
{
"path": "Materials/Part_2_Hands_On_2.R",
"chars": 2967,
"preview": "# Slides for Applied Machine Learning workshop at 2019 RStudio ---\n# Conference ----------------------------------------"
},
{
"path": "Materials/Part_3_Feature_Engineering.R",
"chars": 8150,
"preview": "# Slides for Applied Machine Learning workshop at 2019 RStudio ---\n# Conference ----------------------------------------"
},
{
"path": "Materials/Part_3_Feature_Engineering.html",
"chars": 36493,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <title>Applied Machine Learning - Feature Engineering and Preprocessing</title>\n "
},
{
"path": "Materials/Part_3_Hands_On_1.R",
"chars": 1258,
"preview": "# Slides for Applied Machine Learning workshop at 2019 RStudio ---\n# Conference ----------------------------------------"
},
{
"path": "Materials/Part_4_Regression_Modeling.R",
"chars": 9887,
"preview": "# Slides for Applied Machine Learning workshop at 2019 RStudio ---\n# Conference ----------------------------------------"
},
{
"path": "Materials/Part_4_Regression_Modeling.html",
"chars": 59618,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <title>Applied Machine Learning - Regression Modeling</title>\n <meta charset=\"utf"
},
{
"path": "Materials/Part_4_Regression_Modeling_files/figure-html/widgets/girafe_libs/d3-lasso-0.0.5/lasso.js",
"chars": 7852,
"preview": "import * as selection from \"d3-selection\";\nimport * as drag from \"d3-drag\";\nimport classifyPoint from \"robust-point-in-p"
},
{
"path": "Materials/Part_4_Regression_Modeling_files/figure-html/widgets/girafe_libs/ggiraphjs-0.1.0/styles.css",
"chars": 1653,
"preview": ".girafe {\n margin-left: auto;\n margin-right: auto;\n}\n.girafe_container_std {\n margin-left: auto;\n margin-right: auto"
},
{
"path": "Materials/Part_4_Regression_Modeling_files/figure-html/widgets/girafe_libs/girafe-binding-0.6.0/girafe.js",
"chars": 2194,
"preview": "function isArray(x) {\n return x.constructor.toString().indexOf(\"Array\") > -1;\n}\n\nfunction set_reactive(x, id ){\n\n Sh"
},
{
"path": "Materials/Part_4_Regression_Modeling_files/figure-html/widgets/girafe_libs/htmlwidgets-1.3/htmlwidgets.js",
"chars": 31037,
"preview": "(function() {\n // If window.HTMLWidgets is already defined, then use it; otherwise create a\n // new object. This allow"
},
{
"path": "Materials/Part_4_Regression_Modeling_files/figure-html/widgets/girafe_libs/pymjs-1.3.2/pym.v1.js",
"chars": 38896,
"preview": "/*! pym.js - v1.3.1 - 2017-08-06 */\n/*\n* Pym.js is library that resizes an iframe based on the width of the parent and t"
},
{
"path": "Materials/Part_4_Regression_Modeling_files/figure-html/widgets/widget_bagged-pred-plot.html",
"chars": 1452344,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"utf-8\"/>\n<script src=\"girafe_libs/htmlwidgets-1.3/htmlwidgets.js\"></script>"
},
{
"path": "Materials/Part_4_Regression_Modeling_files/figure-html/widgets/widget_bagged-resid-plot.html",
"chars": 1485481,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"utf-8\"/>\n<script src=\"girafe_libs/htmlwidgets-1.3/htmlwidgets.js\"></script>"
},
{
"path": "Materials/Part_4_Regression_Modeling_files/figure-html/widgets/widget_glmn-pred-plot.html",
"chars": 1451014,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"utf-8\"/>\n<script src=\"girafe_libs/htmlwidgets-1.3/htmlwidgets.js\"></script>"
},
{
"path": "Materials/Part_4_Regression_Modeling_files/figure-html/widgets/widget_glmn-resid-plot.html",
"chars": 1479725,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"utf-8\"/>\n<script src=\"girafe_libs/htmlwidgets-1.3/htmlwidgets.js\"></script>"
},
{
"path": "Materials/Part_4_Regression_Modeling_files/figure-html/widgets/widget_mars-pred-plot.html",
"chars": 1478653,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"utf-8\"/>\n<script src=\"girafe_libs/htmlwidgets-1.3/htmlwidgets.js\"></script>"
},
{
"path": "Materials/Part_4_Regression_Modeling_files/figure-html/widgets/widget_mars-resid-plot.html",
"chars": 1451170,
"preview": "<!DOCTYPE html>\n<html>\n<head>\n<meta charset=\"utf-8\"/>\n<script src=\"girafe_libs/htmlwidgets-1.3/htmlwidgets.js\"></script>"
},
{
"path": "Materials/Part_5_Classification.R",
"chars": 7812,
"preview": "# Slides for Applied Machine Learning workshop at 2019 RStudio ---\n# Conference ----------------------------------------"
},
{
"path": "Materials/Part_5_Classification.html",
"chars": 35559,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <title>Applied Machine Learning - Classification</title>\n <meta charset=\"utf-8\">\n"
},
{
"path": "Materials/Part_5_Hands_On_1.R",
"chars": 1459,
"preview": "# Slides for Applied Machine Learning workshop at 2019 RStudio ---\n# Conference ----------------------------------------"
},
{
"path": "Materials/Part_5_Hands_On_2.R",
"chars": 1448,
"preview": "# Slides for Applied Machine Learning workshop at 2019 RStudio ---\n# Conference ----------------------------------------"
},
{
"path": "Materials/Room_1_Scratch.R",
"chars": 1455,
"preview": "## Section 2: Max (Day 1 Morning)\n\nlibrary(tidyverse)\ntheme_set(theme_bw())\n\nlibrary(AmesHousing)\names <- make_ames()\n\na"
},
{
"path": "Materials/fonts_mtheme.css",
"chars": 1897,
"preview": "@import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz);\n@import url(https://fonts.googleapis.com/css?fam"
},
{
"path": "Materials/fonts_mtheme_max.css",
"chars": 2343,
"preview": "@import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz);\n@import url(https://fonts.googleapis.com/css?fam"
},
{
"path": "Materials/libs/DiagrammeR-styles-0.2/styles.css",
"chars": 369,
"preview": ".DiagrammeR,.grViz pre {\n white-space: pre-wrap; /* CSS 3 */\n white-space: -moz-pre-wrap; /* Mozilla, since 199"
},
{
"path": "Materials/libs/Proj4Leaflet-1.0.1/proj4-compressed.js",
"chars": 74190,
"preview": "!function(a){if(\"object\"==typeof exports)module.exports=a();else if(\"function\"==typeof define&&define.amd)define(a);else"
},
{
"path": "Materials/libs/Proj4Leaflet-1.0.1/proj4leaflet.js",
"chars": 7738,
"preview": "(function (factory) {\r\n\tvar L, proj4;\r\n\tif (typeof define === 'function' && define.amd) {\r\n\t\t// AMD\r\n\t\tdefine(['leaflet'"
},
{
"path": "Materials/libs/crosstalk-1.0.0/css/crosstalk.css",
"chars": 784,
"preview": "/* Adjust margins outwards, so column contents line up with the edges of the\n parent of container-fluid. */\n.container"
},
{
"path": "Materials/libs/crosstalk-1.0.0/js/crosstalk.js",
"chars": 49022,
"preview": "(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0)"
},
{
"path": "Materials/libs/d3-lasso-0.0.5/lasso.js",
"chars": 7852,
"preview": "import * as selection from \"d3-selection\";\nimport * as drag from \"d3-drag\";\nimport classifyPoint from \"robust-point-in-p"
},
{
"path": "Materials/libs/ggiraphjs-0.1.0/styles.css",
"chars": 1653,
"preview": ".girafe {\n margin-left: auto;\n margin-right: auto;\n}\n.girafe_container_std {\n margin-left: auto;\n margin-right: auto"
},
{
"path": "Materials/libs/girafe-binding-0.6.0/girafe.js",
"chars": 2194,
"preview": "function isArray(x) {\n return x.constructor.toString().indexOf(\"Array\") > -1;\n}\n\nfunction set_reactive(x, id ){\n\n Sh"
},
{
"path": "Materials/libs/grViz-binding-1.0.0/grViz.js",
"chars": 1865,
"preview": "HTMLWidgets.widget({\n\n name: 'grViz',\n\n type: 'output',\n\n initialize: function(el, width, height) {\n \n retu"
},
{
"path": "Materials/libs/htmlwidgets-1.2/htmlwidgets.js",
"chars": 30901,
"preview": "(function() {\n // If window.HTMLWidgets is already defined, then use it; otherwise create a\n // new object. This allow"
},
{
"path": "Materials/libs/htmlwidgets-1.3/htmlwidgets.js",
"chars": 31037,
"preview": "(function() {\n // If window.HTMLWidgets is already defined, then use it; otherwise create a\n // new object. This allow"
},
{
"path": "Materials/libs/jquery-1.11.3/jquery-AUTHORS.txt",
"chars": 8033,
"preview": "Authors ordered by first contribution.\n\nJohn Resig <jeresig@gmail.com>\nGilles van den Hoven <gilles0181@gmail.com>\nMicha"
},
{
"path": "Materials/libs/jquery-1.11.3/jquery.js",
"chars": 284394,
"preview": "/*!\n * jQuery JavaScript Library v1.11.3\n * http://jquery.com/\n *\n * Includes Sizzle.js\n * http://sizzlejs.com/\n *\n * Co"
},
{
"path": "Materials/libs/kePrint-0.0.1/kePrint.js",
"chars": 122,
"preview": "$(document).ready(function(){\n $('[data-toggle=\"tooltip\"]').tooltip();\n $('[data-toggle=\"popover\"]').popover();\n})"
},
{
"path": "Materials/libs/leaflet-1.3.1/leaflet.css",
"chars": 14198,
"preview": "/* required styles */\r\n\r\n.leaflet-pane,\r\n.leaflet-tile,\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow,\r\n.leaflet-tile-c"
},
{
"path": "Materials/libs/leaflet-1.3.1/leaflet.js",
"chars": 139643,
"preview": "/* @preserve\n * Leaflet 1.3.1+Detached: ba6f97fff8647e724e4dfe66d2ed7da11f908989.ba6f97f, a JS library for interactive m"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/leaflet.js",
"chars": 104221,
"preview": "(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0)"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/leaflet.yaml",
"chars": 641,
"preview": "dependencies:\n - name: jquery\n version: 1.12.4\n src: \"htmlwidgets/lib/jquery\"\n script: jquery.min.js\n - name:"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/lib/leaflet/leaflet.css",
"chars": 14198,
"preview": "/* required styles */\r\n\r\n.leaflet-pane,\r\n.leaflet-tile,\r\n.leaflet-marker-icon,\r\n.leaflet-marker-shadow,\r\n.leaflet-tile-c"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/lib/leaflet/leaflet.js",
"chars": 139643,
"preview": "/* @preserve\n * Leaflet 1.3.1+Detached: ba6f97fff8647e724e4dfe66d2ed7da11f908989.ba6f97f, a JS library for interactive m"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/lib/leaflet-measure/leaflet-measure.css",
"chars": 3696,
"preview": ".leaflet-control-measure h3,.leaflet-measure-resultpopup h3{margin:0 0 12px 0;padding-bottom:10px;line-height:1em;font-w"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/lib/leaflet-omnivore/LICENSE",
"chars": 2996,
"preview": "Copyright (c) 2014, Mapbox\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodi"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/lib/leaflet-omnivore/index.js",
"chars": 7058,
"preview": "var xhr = require('corslite'),\n csv2geojson = require('csv2geojson'),\n wellknown = require('wellknown'),\n polyl"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/lib/leaflet-omnivore/package.json",
"chars": 1571,
"preview": "{\n \"name\": \"leaflet-omnivore\",\n \"version\": \"0.3.4\",\n \"description\": \"a geospatial format parser for Leaflet\",\n \"main"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/lib/leaflet-providers/leaflet-providers.js",
"chars": 21157,
"preview": "(function (root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD. Register as an anonymous module"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/lib/leaflet-providers/package.json",
"chars": 1369,
"preview": "{\n \"name\": \"leaflet-providers\",\n \"version\": \"1.1.17\",\n \"description\": \"An extension to Leaflet that contains configur"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/lib/leaflet-providers/providers.json",
"chars": 20131,
"preview": "{\n \"OpenStreetMap\": {\n \"url\": \"//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\",\n \"options\": {\n \"maxZoom\": 19,\n"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/lib/leaflet-providers/rstudio_install.md",
"chars": 786,
"preview": "# Location\n* from: github.com/schloerke/leaflet-providers@urlProtocol\n\n* Inspiration taken from https://github.com/leafl"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/lib/leafletfix/leafletfix.css",
"chars": 642,
"preview": "/* Work around CSS properties introduced on img by bootstrap */\nimg.leaflet-tile {\n padding: 0;\n margin: 0;\n border-r"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/lib/rstudio_leaflet/rstudio_leaflet.css",
"chars": 804,
"preview": ".leaflet-tooltip.leaflet-tooltip-text-only,\n.leaflet-tooltip.leaflet-tooltip-text-only:before,\n.leaflet-tooltip.leaflet-"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet-MiniMap/Control.MiniMap.css",
"chars": 1910,
"preview": ".leaflet-control-minimap {\n\tborder:solid rgba(255, 255, 255, 1.0) 4px;\n\tbox-shadow: 0 1px 5px rgba(0,0,0,0.65);\n\tborder-"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet-MiniMap/Control.MiniMap.js",
"chars": 11743,
"preview": "// Following https://github.com/Leaflet/Leaflet/blob/master/PLUGIN-GUIDE.md\n(function (factory, window) {\n\n\t// define an"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet-MiniMap/Minimap-binding.js",
"chars": 1515,
"preview": "LeafletWidget.methods.addMiniMap =\n function(tilesURL, tilesProvider, position,\n width, height, collapsedWidth, collap"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.EasyButton/EasyButton-binding.js",
"chars": 904,
"preview": "getEasyButton = function(button) {\n\n var options = {};\n\n options.position = button.position;\n\n // only add ID if prov"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.EasyButton/LICENSE",
"chars": 1059,
"preview": "Copyright (C) 2014 Daniel Montague\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.EasyButton/easy-button.css",
"chars": 995,
"preview": ".leaflet-bar button,\n.leaflet-bar button:hover {\n background-color: #fff;\n border: none;\n border-bottom: 1px solid #c"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.EasyButton/easy-button.js",
"chars": 9927,
"preview": "(function(){\n\n// This is for grouping buttons into a bar\n// takes an array of `L.easyButton`s and\n// then the usual `.ad"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.Graticule/Graticule-binding.js",
"chars": 350,
"preview": " LeafletWidget.methods.addGraticule = function(interval, sphere, style,\n layerId, group, options) {\n (function() {\n"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.Graticule/L.Graticule.js",
"chars": 2662,
"preview": "/*\n Graticule plugin for Leaflet powered maps.\n*/\nL.Graticule = L.GeoJSON.extend({\n\n options: {\n style: {\n "
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.Graticule/Leaflet.Graticule.js",
"chars": 17683,
"preview": "/**\n* Create a Canvas as ImageOverlay to draw the Lat/Lon Graticule,\n* and show the axis tick label on the edge of the"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.SimpleGraticule/L.SimpleGraticule.css",
"chars": 310,
"preview": ".leaflet-grid-label .gridlabel-vert {\n margin-left: 8px;\n -webkit-transform: rotate(90deg);\n transform: rotate("
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.SimpleGraticule/L.SimpleGraticule.js",
"chars": 4863,
"preview": "/**\n * File: L.SimpleGraticule.js\n * Desc: A graticule for Leaflet maps in the L.CRS.Simple coordinate system.\n * Aut"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.SimpleGraticule/SimpleGraticule-binding.js",
"chars": 447,
"preview": " LeafletWidget.methods.addSimpleGraticule = function(interval, showOriginLabel,\n redraw, hidden, zoomIntervals, layerI"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.Terminator/L.Terminator.js",
"chars": 4393,
"preview": "/* Terminator.js -- Overlay day/night region on a Leaflet map */\n\nDate.prototype.getJulian = function() {\n /* Calcula"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.Terminator/Terminator-binding.js",
"chars": 347,
"preview": " LeafletWidget.methods.addTerminator = function(resolution, time,\n layerId, group, options) {\n (function() {\n "
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.awesome-markers/leaflet.awesome-markers.css",
"chars": 2285,
"preview": "/*\nAuthor: L. Voogdt\nLicense: MIT\nVersion: 1.0\n*/\n\n/* Marker setup */\n.awesome-marker {\n background: url('images/marker"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.awesome-markers/leaflet.awesome-markers.js",
"chars": 5040,
"preview": "/*\n Leaflet.AwesomeMarkers, a plugin that adds colorful iconic markers for Leaflet, based on the Font Awesome icons\n (c)"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.markercluster/MIT-LICENCE.txt",
"chars": 1052,
"preview": "Copyright 2012 David Leaver\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this softwa"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.markercluster/MarkerCluster.Default.css",
"chars": 1287,
"preview": ".marker-cluster-small {\n\tbackground-color: rgba(181, 226, 140, 0.6);\n\t}\n.marker-cluster-small div {\n\tbackground-color: r"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.markercluster/MarkerCluster.css",
"chars": 872,
"preview": ".leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {\n\t-webkit-transition: -webkit-"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.markercluster/leaflet.markercluster.freezable.js",
"chars": 3189,
"preview": "/*!\n Leaflet.MarkerCluster.Freezable 1.0.0+9db80a3\n (c) 2015-2016 Boris Seang\n License MIT\n */\n!function(e,i){\"function\""
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.markercluster/leaflet.markercluster.js",
"chars": 33539,
"preview": "/*\n Leaflet.markercluster, Provides Beautiful Animated Marker Clustering functionality for Leaflet, a JS library for int"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.markercluster/leaflet.markercluster.layersupport.js",
"chars": 6476,
"preview": "/*!\n Leaflet.MarkerCluster.LayerSupport 1.0.5+87f3848\n (c) 2015-2017 Boris Seang\n License MIT\n */\n!function(e,r){\"functi"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Leaflet.markercluster/package.json",
"chars": 557,
"preview": "{\n\t\"name\": \"leaflet.markercluster\",\n\t\"repository\": \"https://github.com/Leaflet/Leaflet.markercluster\",\n\t\"version\": \"1.1."
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Proj4Leaflet/proj4-compressed.js",
"chars": 74190,
"preview": "!function(a){if(\"object\"==typeof exports)module.exports=a();else if(\"function\"==typeof define&&define.amd)define(a);else"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/Proj4Leaflet/proj4leaflet.js",
"chars": 7738,
"preview": "(function (factory) {\r\n\tvar L, proj4;\r\n\tif (typeof define === 'function' && define.amd) {\r\n\t\t// AMD\r\n\t\tdefine(['leaflet'"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/leaflet-locationfilter/locationfilter-bindings.js",
"chars": 1739,
"preview": "/* global LeafletWidget, L, Shiny, HTMLWidgets, $ */\n\nfunction getLocationFilterBounds(locationFilter) {\n if(locationFi"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/leaflet-locationfilter/locationfilter.css",
"chars": 4757,
"preview": "div.leaflet-marker-icon.location-filter.resize-marker {\n background: url(img/resize-handle.png) no-repeat;\n cursor"
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/leaflet-locationfilter/locationfilter.js",
"chars": 13189,
"preview": "/* eslint indent: \"off\", quotes: \"off\" */\n/* global L */\n/*\n * Leaflet.locationfilter - leaflet location filter plugin\n "
},
{
"path": "Materials/libs/leaflet-binding-2.0.1/plugins/leaflet-providers-plugin/leaflet-providers-plugin.js",
"chars": 185,
"preview": "LeafletWidget.methods.addProviderTiles = function(provider, layerId, group, options) {\n this.layerManager.addLayer(L.ti"
},
{
"path": "Materials/libs/leaflet-binding-2.0.2/leaflet.js",
"chars": 104606,
"preview": "(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0)"
},
{
"path": "Materials/libs/leaflet-providers-1.1.17/leaflet-providers.js",
"chars": 21157,
"preview": "(function (root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD. Register as an anonymous module"
},
{
"path": "Materials/libs/leaflet-providers-1.1.17/package.json",
"chars": 1369,
"preview": "{\n \"name\": \"leaflet-providers\",\n \"version\": \"1.1.17\",\n \"description\": \"An extension to Leaflet that contains configur"
},
{
"path": "Materials/libs/leaflet-providers-1.1.17/providers.json",
"chars": 20131,
"preview": "{\n \"OpenStreetMap\": {\n \"url\": \"//{s}.tile.openstreetmap.org/{z}/{x}/{y}.png\",\n \"options\": {\n \"maxZoom\": 19,\n"
},
{
"path": "Materials/libs/leaflet-providers-1.1.17/rstudio_install.md",
"chars": 786,
"preview": "# Location\n* from: github.com/schloerke/leaflet-providers@urlProtocol\n\n* Inspiration taken from https://github.com/leafl"
},
{
"path": "Materials/libs/leaflet-providers-plugin-2.0.1/leaflet-providers-plugin.js",
"chars": 185,
"preview": "LeafletWidget.methods.addProviderTiles = function(provider, layerId, group, options) {\n this.layerManager.addLayer(L.ti"
},
{
"path": "Materials/libs/leaflet-providers-plugin-2.0.2/leaflet-providers-plugin.js",
"chars": 185,
"preview": "LeafletWidget.methods.addProviderTiles = function(provider, layerId, group, options) {\n this.layerManager.addLayer(L.ti"
},
{
"path": "Materials/libs/leafletfix-1.0.0/leafletfix.css",
"chars": 642,
"preview": "/* Work around CSS properties introduced on img by bootstrap */\nimg.leaflet-tile {\n padding: 0;\n margin: 0;\n border-r"
},
{
"path": "Materials/libs/plotly-binding-4.8.0/plotly.js",
"chars": 32723,
"preview": "\nHTMLWidgets.widget({\n name: \"plotly\",\n type: \"output\",\n\n initialize: function(el, width, height) {\n return {};\n "
},
{
"path": "Materials/libs/plotly-htmlwidgets-css-1.39.2/plotly-htmlwidgets.css",
"chars": 173,
"preview": "/*\njust here so that plotly works\ncorrectly with ioslides.\nsee https://github.com/ropensci/plotly/issues/463\n*/\n\nslide:n"
},
{
"path": "Materials/libs/pymjs-1.3.2/pym.v1.js",
"chars": 38896,
"preview": "/*! pym.js - v1.3.1 - 2017-08-06 */\n/*\n* Pym.js is library that resizes an iframe based on the width of the parent and t"
},
{
"path": "Materials/libs/rstudio_leaflet-1.3.1/rstudio_leaflet.css",
"chars": 804,
"preview": ".leaflet-tooltip.leaflet-tooltip-text-only,\n.leaflet-tooltip.leaflet-tooltip-text-only:before,\n.leaflet-tooltip.leaflet-"
},
{
"path": "Materials/libs/viz-0.3/viz.js",
"chars": 2414083,
"preview": "/*\nViz.js\nCopyright (c) 2014-2017 Michael Daines\nLicensed under MIT license\n\nThis distribution contains other software i"
},
{
"path": "Materials/libs/widgetframe-binding-0.3.1/widgetframe.js",
"chars": 309,
"preview": "HTMLWidgets.widget({\n\n name: 'widgetframe',\n\n type: 'output',\n\n factory: function(el, width, height) {\n\n return {\n"
},
{
"path": "Materials/macros.js",
"chars": 139,
"preview": "remark.macros.scale = function (percentage) {\n var url = this;\n return '<img src=\"' + url + '\" style=\"width: ' + perce"
},
{
"path": "Materials/mtheme_max.css",
"chars": 3205,
"preview": "a, a > code {\n color: #ff0000;\n text-decoration: none;\n}\n\n.footnote {\n position: absolute;\n bottom: 3em;\n padding-r"
},
{
"path": "Materials/scratch-part-3.R",
"chars": 623,
"preview": "ames_train %>%\n filter(Neighborhood == \"Landmark\")\n\names_zv <- ames_train %>%\n filter(Neighborhood != \"Landmark\")\n\nrec"
},
{
"path": "Materials/scratch_1.R",
"chars": 683,
"preview": "theme_set(theme_bw())\n\nholdout_results %>% \n filter(Second_Flr_SF > 0) %>% \n ggplot(aes(x = Second_Flr_SF, y = .resid)"
},
{
"path": "Materials/tidymodels.R",
"chars": 2164,
"preview": "## ----startup, include = FALSE, message = FALSE, warning = FALSE----------\noptions(digits = 3, width = 110)\nlibrary(tid"
},
{
"path": "Materials/tidymodels.html",
"chars": 5490,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <title>tidymodels Discussion</title>\n <meta charset=\"utf-8\">\n <meta name=\"auth"
},
{
"path": "Preparations/installs.R",
"chars": 654,
"preview": "# Package installs -------------------------------------------------------------\n\n# If you have any issues with the inst"
},
{
"path": "README.md",
"chars": 257,
"preview": "# \"Applied Machine Learning\" at Rstudio::conf 2019 (January 15 & 16, Austin, Texas)\n\nThis repo contains the slides, code"
}
]
// ... and 6 more files (download for full content)
About this extraction
This page contains the full source code of the topepo/rstudio-conf-2019 GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 138 files (26.7 MB), approximately 4.0M tokens, and a symbol index with 5459 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.