(* Content-type: application/vnd.wolfram.mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Mathematica 8.0' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       157,          7]
NotebookDataLength[     24285,        763]
NotebookOptionsPosition[     15951,        564]
NotebookOutlinePosition[     16393,        583]
CellTagsIndexPosition[     16350,        580]
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{

Cell[CellGroupData[{
Cell["EPM`Lists`", "Section",
 InitializationGroup->True],

Cell[TextData[{
 StyleBox["From",
  FontWeight->"Bold"],
 ": ",
 StyleBox["Essentials of Programming in Mathematica\n",
  FontSlant->"Italic"],
 "\[Copyright] Paul R. Wellin 2015"
}], "Text",
 CellMargins->{{28, 10}, {7, 7}},
 FontSize->14],

Cell[CellGroupData[{

Cell["Metadata", "Subsection"],

Cell[BoxData[
 RowBox[{"(*", " ", 
  RowBox[{":", "Name", ":", " ", "EPM`Lists`"}], " ", "*)"}]], "Input"],

Cell[BoxData[
 RowBox[{"(*", " ", 
  RowBox[{":", "Book", ":", " ", 
   RowBox[{
   "Essentials", " ", "of", " ", "Programming", " ", "in", " ", 
    "Mathematica"}]}], " ", "*)"}]], "Input"],

Cell[BoxData[
 RowBox[{"(*", " ", 
  RowBox[{":", 
   RowBox[{"Author", ":", " ", 
    RowBox[{"Paul", " ", "Wellin"}]}]}], " ", "*)"}]], "Input"],

Cell[BoxData[
 RowBox[{"(*", " ", 
  RowBox[{":", "Summary", ":", " ", 
   RowBox[{
   "This", " ", "package", " ", "contains", " ", "the", " ", "functions", " ",
     "defined", " ", "in", " ", "Chapter", " ", "3", " ", 
    RowBox[{"Lists", "."}]}]}], " ", "*)"}]], "Input"],

Cell[BoxData[
 RowBox[{"(*", " ", 
  RowBox[{":", "Context", ":", " ", "EPM`Lists`"}], " ", "*)"}]], "Input"],

Cell[BoxData[
 RowBox[{"(*", " ", 
  RowBox[{":", 
   RowBox[{"Package", " ", 
    RowBox[{"Version", ":", " ", "1.0"}]}]}], " ", "*)"}]], "Input"],

Cell[BoxData[
 RowBox[{"(*", " ", 
  RowBox[{
   RowBox[{":", "Copyright", ":", " ", 
    RowBox[{"Copyright", " ", "2015"}]}], ",", " ", 
   RowBox[{"Paul", " ", "R", " ", "Wellin"}]}], " ", "*)"}]], "Input"],

Cell[BoxData[
 RowBox[{"(*", " ", 
  RowBox[{
   RowBox[{":", 
    RowBox[{"History", ":", " ", 
     RowBox[{
     "Version", " ", "1.0", " ", "by", " ", "Paul", " ", "Wellin"}]}]}], ",", 
   " ", 
   RowBox[{"Dec", " ", "2012"}]}], " ", "*)"}]], "Input"],

Cell[BoxData[
 RowBox[{"(*", " ", 
  RowBox[{
   RowBox[{":", "Keywords", ":", " ", 
    RowBox[{"integer", " ", "lattice"}]}], ",", " ", "palindromes", ",", " ", 
   
   RowBox[{
    RowBox[{"Pascal", "'"}], "s", " ", "triangle"}], ",", " ", "Ngrams"}], 
  " ", "*)"}]], "Input"],

Cell[BoxData[
 RowBox[{"(*", " ", 
  RowBox[{":", "Source", ":", " ", 
   RowBox[{"Lists", ".", "nb"}]}], " ", "*)"}]], "Input"],

Cell[BoxData[
 RowBox[{"(*", " ", 
  RowBox[{":", 
   RowBox[{"Mathematica", " ", "Version"}], ":", " ", "10.2"}], " ", 
  "*)"}]], "Input"],

Cell[BoxData[
 RowBox[{"(*", " ", 
  RowBox[{"Tested", " ", "in", " ", "Mathematica", " ", "11.1"}], " ", 
  "*)"}]], "Input",ExpressionUUID->"09454c24-c018-4ebd-b75f-815fdc551253"]
}, Closed]],

Cell[CellGroupData[{

Cell["BeginPackage", "Subsection"],

Cell[BoxData[
 RowBox[{"Remove", "[", 
  RowBox[{
  "AddColumn", ",", "Lattice", ",", "NGrams", ",", "palindromeQ", ",", 
   "PascalTable", ",", "TriangleForm"}], "]"}]], "Input"],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"BeginPackage", "[", "\"\<EPM`Lists`\>\"", "]"}], "*)"}]], "Input"]
}, Closed]],

Cell[CellGroupData[{

Cell["Usage messages for public functions", "Subsection"],

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{"AddColumn", "::", "usage"}], "=", "\"\<AddColumn[\!\(\*
StyleBox[\"mat\", \"TI\"]\), \!\(\*
StyleBox[\"col\", \"TI\"]\), \!\(\*
StyleBox[\"pos\", \"TI\"]\)] inserts the column vector \!\(\*
StyleBox[\"col\", \"TI\"]\) to the matrix \!\(\*
StyleBox[\"mat\", \"TI\"]\) at position \!\(\*
StyleBox[\"pos\", \"TI\"]\).\>\""}], ";"}]], "Input"],

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{"Lattice", "::", "usage"}], "=", "\"\<Lattice[{{\!\(\*
StyleBox[\"xmin\", \"TI\"]\), \!\(\*
StyleBox[\"xmax\", \"TI\"]\)},{\!\(\*
StyleBox[\"ymin\", \"TI\"]\), \!\(\*
StyleBox[\"ymax\", \"TI\"]\)}}] creates a two-dimensional rectangular \
lattice.\>\""}], ";"}]], "Input"],

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{"NGrams", "::", "usage"}], "=", "\"\<NGrams[\!\(\*
StyleBox[\"text\", \"TI\"]\), \!\(\*
StyleBox[\"n\", \"TI\"]\)] splits \!\(\*
StyleBox[\"text\", \"TI\"]\) into overlapping lists of \!\(\*
StyleBox[\"n\", \"TI\"]\) words.\>\""}], ";"}]], "Input"],

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{"palindromeQ", "::", "usage"}], "=", "\"\<palindromeQ[\!\(\*
StyleBox[\"n\", \"TI\"]\)] returns True if the \!\(\*
StyleBox[\"n\", \"TI\"]\) is a palindromic number.\>\""}], ";"}]], "Input"],

Cell[BoxData[
 RowBox[{"If", "[", 
  RowBox[{
   RowBox[{"$VersionNumber", "<", "10.3"}], ",", "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{
     RowBox[{"PalindromeQ", "::", "usage"}], "=", "\"\<PalindromeQ[\!\(\*
StyleBox[\"n\", \"TI\"]\)] returns True if the \!\(\*
StyleBox[\"n\", \"TI\"]\) is a palindromic number.\>\""}], ";"}], ",", 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{
     RowBox[{"palindromeQ", "::", "usage"}], "=", "\"\<palindromeQ[\!\(\*
StyleBox[\"n\", \"TI\"]\)] returns True if the \!\(\*
StyleBox[\"n\", \"TI\"]\) is a palindromic number.\>\""}], ";"}]}], 
  "\[IndentingNewLine]", "]"}]], "Input"],

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{"PascalTable", "::", "usage"}], "=", "\"\<PascalTable[\!\(\*
StyleBox[\"n\", \"TI\"]\)] returns the first \!\(\*
StyleBox[\"n\", \"TI\"]\) rows of Pascal's Triangle, where the \!\(\*
StyleBox[\"n\", \"TI\"]\)th row consists of the coefficients of the expansion \
of the polynomial (1\[VeryThinSpace]+\[VeryThinSpace]\!\(\*
StyleBox[\"x\", \"TI\"]\)\!\(\*SuperscriptBox[\")\", 
StyleBox[\"n\", \"TI\"]]\).\>\""}], ";"}]], "Input"],

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{"TriangleForm", "::", "usage"}], "=", "\"\<TriangleForm[\!\(\*
StyleBox[\"lis\", \"TI\"]\)] displays the list \!\(\*
StyleBox[\"lis\", \"TI\"]\) in a triangular form, padding shorter rows to the \
same length as the longest row.\>\""}], ";"}]], "Input"]
}, Closed]],

Cell["Options", "Subsection"],

Cell[CellGroupData[{

Cell["Private context", "Subsection"],

Cell[BoxData[
 RowBox[{"Begin", "[", "\"\<`Private`\>\"", "]"}]], "Input"]
}, Closed]],

Cell[CellGroupData[{

Cell["Function definitions (public and private)", "Subsection"],

Cell[BoxData[
 RowBox[{
  RowBox[{
   RowBox[{"AddColumn", "[", 
    RowBox[{"mat_", ",", "col_", ",", "pos_"}], "]"}], "/;", 
   RowBox[{
    RowBox[{"Length", "[", "col", "]"}], "\[Equal]", 
    RowBox[{"Length", "[", "mat", "]"}]}]}], ":=", 
  RowBox[{"Transpose", "[", 
   RowBox[{"Insert", "[", 
    RowBox[{
     RowBox[{"Transpose", "[", "mat", "]"}], ",", "col", ",", "pos"}], "]"}], 
   "]"}]}]], "Input"],

Cell[BoxData[
 RowBox[{
  RowBox[{"Lattice", "[", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"xmin_", ",", "xmax_"}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{"ymin_", ",", "ymax_"}], "}"}]}], "}"}], "]"}], ":=", 
  RowBox[{"Module", "[", 
   RowBox[{
    RowBox[{"{", "coords", "}"}], ",", "\[IndentingNewLine]", 
    RowBox[{
     RowBox[{"coords", "=", 
      RowBox[{"CoordinateBoundsArray", "[", 
       RowBox[{"{", 
        RowBox[{
         RowBox[{"{", 
          RowBox[{"xmin", ",", "xmax"}], "}"}], ",", 
         RowBox[{"{", 
          RowBox[{"ymin", ",", "ymax"}], "}"}]}], "}"}], "]"}]}], ";", 
     "\[IndentingNewLine]", 
     RowBox[{"Graphics", "[", 
      RowBox[{"{", "\[IndentingNewLine]", 
       RowBox[{
        RowBox[{"Line", "[", "coords", "]"}], ",", 
        RowBox[{"Line", "[", 
         RowBox[{"Transpose", "[", "coords", "]"}], "]"}], ",", 
        "\[IndentingNewLine]", 
        RowBox[{"PointSize", "[", "Medium", "]"}], ",", 
        RowBox[{"Point", "[", 
         RowBox[{"Flatten", "[", 
          RowBox[{"coords", ",", "1"}], "]"}], "]"}]}], "\[IndentingNewLine]",
        "}"}], "]"}]}]}], "]"}]}]], "Input"],

Cell[BoxData[
 RowBox[{
  RowBox[{"Lattice", "[", 
   RowBox[{"{", 
    RowBox[{"xdim_", ",", "ydim_"}], "}"}], "]"}], ":=", 
  RowBox[{"Module", "[", 
   RowBox[{
    RowBox[{"{", "coords", "}"}], ",", "\[IndentingNewLine]", 
    RowBox[{
     RowBox[{"coords", "=", 
      RowBox[{"Table", "[", 
       RowBox[{
        RowBox[{"{", 
         RowBox[{"i", ",", "j"}], "}"}], ",", 
        RowBox[{"{", 
         RowBox[{"i", ",", "1", ",", "xdim"}], "}"}], ",", 
        RowBox[{"{", 
         RowBox[{"j", ",", "1", ",", "ydim"}], "}"}]}], "]"}]}], ";", 
     "\[IndentingNewLine]", 
     RowBox[{"Graphics", "[", 
      RowBox[{"{", "\[IndentingNewLine]", 
       RowBox[{
        RowBox[{"Line", "[", "coords", "]"}], ",", 
        RowBox[{"Line", "[", 
         RowBox[{"Transpose", "[", "coords", "]"}], "]"}], ",", 
        "\[IndentingNewLine]", 
        RowBox[{"PointSize", "[", "Medium", "]"}], ",", 
        RowBox[{"Point", "[", 
         RowBox[{"Flatten", "[", 
          RowBox[{"coords", ",", "1"}], "]"}], "]"}]}], "\[IndentingNewLine]",
        "}"}], "]"}]}]}], "]"}]}]], "Input"],

Cell[BoxData[
 RowBox[{
  RowBox[{"NGrams", "[", 
   RowBox[{"text_", ",", "n_"}], "]"}], ":=", 
  RowBox[{"Partition", "[", 
   RowBox[{
    RowBox[{"TextWords", "[", "text", "]"}], ",", "n", ",", "1"}], 
   "]"}]}]], "Input"],

Cell[BoxData[
 RowBox[{"If", "[", 
  RowBox[{
   RowBox[{"$VersionNumber", "<", "10.3"}], ",", " ", "\n", "\t", 
   RowBox[{
    RowBox[{
     RowBox[{"PalindromeQ", "[", "num_Integer", "]"}], ":=", 
     RowBox[{
      RowBox[{"IntegerDigits", "[", "num", "]"}], "==", 
      RowBox[{"Reverse", "[", 
       RowBox[{"IntegerDigits", "[", "num", "]"}], "]"}]}]}], ";"}], ",", 
   "\[IndentingNewLine]", 
   RowBox[{
    RowBox[{
     RowBox[{"palindromeQ", "[", "num_Integer", "]"}], ":=", 
     RowBox[{
      RowBox[{"IntegerDigits", "[", "num", "]"}], "==", 
      RowBox[{"Reverse", "[", 
       RowBox[{"IntegerDigits", "[", "num", "]"}], "]"}]}]}], ";"}]}], "\n", 
  "]"}]], "Input"],

Cell[BoxData[
 RowBox[{
  RowBox[{"PascalTable", "[", "rows_", "]"}], ":=", 
  RowBox[{"Table", "[", 
   RowBox[{
    RowBox[{"Binomial", "[", 
     RowBox[{"n", ",", "m"}], "]"}], ",", 
    RowBox[{"{", 
     RowBox[{"n", ",", "0", ",", "rows"}], "}"}], ",", 
    RowBox[{"{", 
     RowBox[{"m", ",", "0", ",", "n"}], "}"}]}], "]"}]}]], "Input"],

Cell[BoxData[
 RowBox[{
  RowBox[{"TriangleForm", "[", "expr_", "]"}], ":=", 
  RowBox[{"Block", "[", 
   RowBox[{
    RowBox[{"{", 
     RowBox[{"rows", "=", 
      RowBox[{"Length", "[", "expr", "]"}]}], "}"}], ",", 
    RowBox[{"DisplayForm", "[", 
     RowBox[{"GridBox", "[", 
      RowBox[{"Map", "[", 
       RowBox[{
        RowBox[{
         RowBox[{"PadLeft", "[", 
          RowBox[{
           RowBox[{"Rest", "[", 
            RowBox[{"Flatten", "[", 
             RowBox[{"Map", "[", 
              RowBox[{
               RowBox[{
                RowBox[{"{", 
                 RowBox[{"\"\<\>\"", ",", "#"}], "}"}], "&"}], ",", "#"}], 
              "]"}], "]"}], "]"}], ",", 
           RowBox[{
            RowBox[{"2", "rows"}], "+", "1"}], ",", "\"\<\>\"", ",", 
           RowBox[{"rows", "-", 
            RowBox[{"Length", "[", "#", "]"}], "+", "1"}]}], "]"}], "&"}], 
        ",", "expr"}], "]"}], "]"}], "]"}]}], "]"}]}]], "Input"]
}, Closed]],

Cell[CellGroupData[{

Cell["End private context", "Subsection"],

Cell[BoxData[
 RowBox[{"End", "[", "]"}]], "Input"]
}, Closed]],

Cell[CellGroupData[{

Cell["EndPackage", "Subsection"],

Cell[BoxData[
 RowBox[{"(*", 
  RowBox[{"EndPackage", "[", "]"}], "*)"}]], "Input"]
}, Closed]]
}, Open  ]],

Cell[CellGroupData[{

Cell["Examples", "Section"],

Cell[CellGroupData[{

Cell["Load package", "Subsection"],

Cell["Quit current session:", "Text"],

Cell[BoxData["Quit"], "Input",ExpressionUUID->"17c94c27-d41c-4d9b-9485-5f4193180975"],

Cell[TextData[{
 "Load package (do ",
 StyleBox["not",
  FontSlant->"Italic"],
 " say \[OpenCurlyDoubleQuote]Yes\[CloseCurlyDoubleQuote] to evaluate init \
cells dialog)."
}], "Text"],

Cell[BoxData[
 RowBox[{"<<", "EPM`"}]], "Input",ExpressionUUID->"d927125a-fd28-4fdf-bcbf-f671d8ef92f2"]
}, Open  ]],

Cell[CellGroupData[{

Cell["Test usage messages", "Subsection"],

Cell[BoxData[
 RowBox[{"?", "AddColumn"}]], "Input"],

Cell[BoxData[
 RowBox[{"?", "Lattice"}]], "Input"],

Cell[BoxData[
 RowBox[{"?", "NGrams"}]], "Input"],

Cell[BoxData[
 RowBox[{"?", "palindromeQ"}]], "Input"],

Cell[BoxData[
 RowBox[{"?", "PascalTable"}]], "Input"],

Cell[BoxData[
 RowBox[{"?", "TriangleForm"}]], "Input"]
}, Closed]],

Cell[CellGroupData[{

Cell["Exercise the functions and options", "Subsection"],

Cell[CellGroupData[{

Cell["AddColumn", "Subsubsection"],

Cell[BoxData[{
 RowBox[{
  RowBox[{"mat", "=", 
   RowBox[{"RandomInteger", "[", 
    RowBox[{"9", ",", 
     RowBox[{"{", 
      RowBox[{"4", ",", "4"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", 
 RowBox[{"MatrixForm", "[", "mat", "]"}]}], "Input",ExpressionUUID->"8418e7ad-\
03dc-4b40-a773-1d508d75f899"],

Cell[BoxData[
 RowBox[{
  RowBox[{"AddColumn", "[", 
   RowBox[{"mat", ",", 
    RowBox[{"{", 
     RowBox[{"a", ",", "b", ",", "c", ",", "d"}], "}"}], ",", "3"}], "]"}], "//",
   "MatrixForm"}]], "Input",ExpressionUUID->"fb2134ec-a1f2-4403-9bf0-\
ec1c2a7555bb"]
}, Closed]],

Cell[CellGroupData[{

Cell["Lattice", "Subsubsection"],

Cell[BoxData[
 RowBox[{"Lattice", "[", 
  RowBox[{"{", 
   RowBox[{
    RowBox[{"{", 
     RowBox[{"0", ",", "8"}], "}"}], ",", 
    RowBox[{"{", 
     RowBox[{"0", ",", "5"}], "}"}]}], "}"}], "]"}]], "Input",ExpressionUUID->\
"8948152d-4940-40ee-9ad3-ad0fc3612929"]
}, Closed]],

Cell[CellGroupData[{

Cell["NGrams", "Subsubsection"],

Cell[BoxData[{
 RowBox[{
  RowBox[{
  "sentence", "=", "\"\<Colorless green, ideas sleep furiously.\>\""}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{"NGrams", "[", 
  RowBox[{"sentence", ",", "3"}], "]"}]}], "Input",ExpressionUUID->"9bc03e2b-\
56ff-4326-b54c-e7634c0a7d95"],

Cell[BoxData[
 RowBox[{"With", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"n", "=", "3"}], "}"}], ",", "\[IndentingNewLine]", 
   RowBox[{"Partition", "[", 
    RowBox[{
     RowBox[{"TextWords", "[", "sentence", "]"}], ",", "n", ",", "1"}], 
    "]"}]}], "\[IndentingNewLine]", "]"}]], "Input",ExpressionUUID->"4cb34623-\
0bdb-4cc4-9d9a-18f7d6d6a090"],

Cell[BoxData[{
 RowBox[{
  RowBox[{"text", "=", 
   RowBox[{"ExampleData", "[", 
    RowBox[{"{", 
     RowBox[{"\"\<Text\>\"", ",", "\"\<TheRaven\>\""}], "}"}], "]"}]}], 
  ";"}], "\[IndentingNewLine]", 
 RowBox[{"Head", "[", "text", "]"}]}], "Input",ExpressionUUID->"8c1dedb7-dc56-\
4db6-acc3-3f07461e617f"],

Cell[BoxData[
 RowBox[{
  RowBox[{"NGrams", "[", 
   RowBox[{"text", ",", "3"}], "]"}], "//", "Timing"}]], "Input",ExpressionUUI\
D->"1edcf77f-1436-4d9f-a5c2-950c535d8655"]
}, Closed]],

Cell[CellGroupData[{

Cell["palindromeQ", "Subsubsection"],

Cell[BoxData[
 RowBox[{"palindromeQ", "[", "123454321", "]"}]], "Input",ExpressionUUID->"046dd450-2d78-4412-84c2-3c2ce7afb735"],

Cell[BoxData[
 RowBox[{"PalindromeQ", "[", "123454321", "]"}]], "Input",ExpressionUUID->"892480cc-7c05-4bb3-aeb1-968d7f41be97"]
}, Closed]],

Cell[CellGroupData[{

Cell["PascalTable", "Subsubsection"],

Cell[BoxData[
 RowBox[{"PascalTable", "[", "5", "]"}]], "Input",ExpressionUUID->"73e26cf7-8bd3-4806-999c-65fca52b8fa8"],

Cell[BoxData[
 RowBox[{
  RowBox[{"PascalTable", "[", "8", "]"}], "//", "TriangleForm"}]], "Input",Exp\
ressionUUID->"be8dd0b0-7b32-4dfb-b00a-796bf8140631"]
}, Closed]],

Cell[CellGroupData[{

Cell["TriangleForm", "Subsubsection"],

Cell[BoxData[
 RowBox[{
  RowBox[{"PascalTable", "[", "8", "]"}], "//", "TriangleForm"}]], "Input",Exp\
ressionUUID->"1b094381-ee6b-47a9-89ce-0a8f84bb78e7"]
}, Closed]]
}, Closed]]
}, Open  ]]
},
AutoGeneratedPackage->Automatic,
WindowSize->{958, 809},
WindowMargins->{{535, Automatic}, {Automatic, 149}},
ShowSelection->True,
Magnification:>1.25 Inherited,
FrontEndVersion->"11.1 for Mac OS X x86 (32-bit, 64-bit Kernel) (March 16, \
2017)",
StyleDefinitions->"Default.nb"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{}
*)
(*CellTagsIndex
CellTagsIndex->{}
*)
(*NotebookFileOutline
Notebook[{
Cell[CellGroupData[{
Cell[579, 22, 57, 1, 81, "Section", "ExpressionUUID" -> \
"a1230bbd-8545-4601-bca0-86768ce0435e",
 InitializationGroup->True],
Cell[639, 25, 240, 9, 62, "Text", "ExpressionUUID" -> \
"f7260412-f36c-427a-95a7-44d92cbe6428"],
Cell[CellGroupData[{
Cell[904, 38, 30, 0, 54, "Subsection", "ExpressionUUID" -> \
"d768ad9d-d39e-4a2c-aa15-2f202727f1fd"],
Cell[937, 40, 106, 2, 40, "Input", "ExpressionUUID" -> \
"05067a9c-ff05-4be7-8064-990547c61795"],
Cell[1046, 44, 191, 5, 40, "Input", "ExpressionUUID" -> \
"48e77683-fde0-43a6-aebc-0b7ea1d93721"],
Cell[1240, 51, 146, 4, 40, "Input", "ExpressionUUID" -> \
"665c9abc-3f7c-412b-8519-c3d24e369e4e"],
Cell[1389, 57, 276, 6, 40, "Input", "ExpressionUUID" -> \
"d0037c70-a5ec-4f29-9b6f-21fc500e3cf5"],
Cell[1668, 65, 109, 2, 40, "Input", "ExpressionUUID" -> \
"9eb19701-0998-4cb6-b07d-103dab1ed4a0"],
Cell[1780, 69, 147, 4, 40, "Input", "ExpressionUUID" -> \
"8221aac2-755c-49e0-b806-adf3d8dbbed9"],
Cell[1930, 75, 209, 5, 40, "Input", "ExpressionUUID" -> \
"ea16bce8-1937-41d6-8bb9-dbcc86dce333"],
Cell[2142, 82, 256, 8, 40, "Input", "ExpressionUUID" -> \
"e5ac14fb-1bc2-44df-b4ae-f062c0327af8"],
Cell[2401, 92, 280, 8, 40, "Input", "ExpressionUUID" -> \
"ece3c010-a6ff-47a3-a69f-007a7b85fcfb"],
Cell[2684, 102, 128, 3, 40, "Input", "ExpressionUUID" -> \
"0188bad8-b0d6-442a-bd98-970eb671560a"],
Cell[2815, 107, 140, 4, 40, "Input", "ExpressionUUID" -> \
"c4630835-064a-4b76-900c-a1f7c2faf342"],
Cell[2958, 113, 181, 3, 40, "Input", "ExpressionUUID" -> \
"09454c24-c018-4ebd-b75f-815fdc551253"]
}, Closed]],
Cell[CellGroupData[{
Cell[3176, 121, 34, 0, 43, "Subsection", "ExpressionUUID" -> \
"7ced4f12-1fbd-484e-ade8-bb1d0e8be7ba"],
Cell[3213, 123, 179, 4, 40, "Input", "ExpressionUUID" -> \
"6fc4f009-8047-4efd-b1ea-5e59db6c6e8a"],
Cell[3395, 129, 107, 2, 40, "Input", "ExpressionUUID" -> \
"df1f176d-9d96-43e2-9751-8f92c3d5aa92"]
}, Closed]],
Cell[CellGroupData[{
Cell[3539, 136, 57, 0, 43, "Subsection", "ExpressionUUID" -> \
"9a5c0737-9fb6-4682-a6e6-0497184f6d29"],
Cell[3599, 138, 386, 9, 93, "Input", "ExpressionUUID" -> \
"1e4bd474-bba2-4078-b1ea-1dd6ea250488"],
Cell[3988, 149, 318, 8, 67, "Input", "ExpressionUUID" -> \
"982f350e-f214-4393-9ff3-f5b3a83ce4fe"],
Cell[4309, 159, 294, 7, 40, "Input", "ExpressionUUID" -> \
"331f4185-65d0-489f-9097-09cb77a42427"],
Cell[4606, 168, 236, 5, 40, "Input", "ExpressionUUID" -> \
"87ae0717-14f1-41d5-9129-db0f61fa088a"],
Cell[4845, 175, 634, 15, 120, "Input", "ExpressionUUID" -> \
"db6bc509-23c1-4866-b7c6-29c94442853b"],
Cell[5482, 192, 475, 9, 93, "Input", "ExpressionUUID" -> \
"a5c4ef77-f7f9-4c6e-bcb8-761647a9e077"],
Cell[5960, 203, 299, 6, 93, "Input", "ExpressionUUID" -> \
"5b57d90c-696d-4d78-a780-970288bf281f"]
}, Closed]],
Cell[6274, 212, 29, 0, 43, "Subsection", "ExpressionUUID" -> \
"ac4506b0-7ec5-41c6-bd29-2a8330c60aaa"],
Cell[CellGroupData[{
Cell[6328, 216, 37, 0, 43, "Subsection", "ExpressionUUID" -> \
"b7d20c9b-8922-47bd-a3ba-34af605d5d9b"],
Cell[6368, 218, 74, 1, 35, "Input", "ExpressionUUID" -> \
"849b28f6-aa14-4bf4-ae05-90e40bdbb11b"]
}, Closed]],
Cell[CellGroupData[{
Cell[6479, 224, 63, 0, 43, "Subsection", "ExpressionUUID" -> \
"3d9da3c0-32c3-4c87-9d4b-bd853aa64c96"],
Cell[6545, 226, 414, 12, 67, "Input", "ExpressionUUID" -> \
"98a4742c-fb38-4f4d-9cc0-c4e07680f407"],
Cell[6962, 240, 1181, 33, 172, "Input", "ExpressionUUID" -> \
"e08a8bb6-5304-47c5-8649-71372f6cf03c"],
Cell[8146, 275, 1101, 30, 172, "Input", "ExpressionUUID" -> \
"9972b5eb-ff4f-497b-ba0c-38d54724d4fb"],
Cell[9250, 307, 227, 7, 40, "Input", "ExpressionUUID" -> \
"fce425ed-7c7b-43e2-9deb-0d45775223f0"],
Cell[9480, 316, 689, 19, 120, "Input", "ExpressionUUID" -> \
"0496c338-7487-4dd0-9b4d-f32b967cf61c"],
Cell[10172, 337, 346, 10, 40, "Input", "ExpressionUUID" -> \
"90599a5a-0781-4dd4-9d17-e988d3ebdf97"],
Cell[10521, 349, 956, 27, 172, "Input", "ExpressionUUID" -> \
"87b9527a-8d9c-4a44-9d98-66ff85c0f1f6"]
}, Closed]],
Cell[CellGroupData[{
Cell[11514, 381, 41, 0, 43, "Subsection", "ExpressionUUID" -> \
"f6f06ef9-f5c6-43b6-8659-40025f2421eb"],
Cell[11558, 383, 51, 1, 35, "Input", "ExpressionUUID" -> \
"5af31875-3502-40c7-89e7-9e2abdcc4bad"]
}, Closed]],
Cell[CellGroupData[{
Cell[11646, 389, 32, 0, 43, "Subsection", "ExpressionUUID" -> \
"7519dfdc-bad4-4c44-9d95-2e39bc798dc7"],
Cell[11681, 391, 83, 2, 35, "Input", "ExpressionUUID" -> \
"d003876f-2b5e-41cc-b9e8-6fc03cfb59de"]
}, Closed]]
}, Open  ]],
Cell[CellGroupData[{
Cell[11813, 399, 27, 0, 81, "Section", "ExpressionUUID" -> \
"50e56217-5516-49f7-8b3c-ea6cbc61e470"],
Cell[CellGroupData[{
Cell[11865, 403, 34, 0, 54, "Subsection", "ExpressionUUID" -> \
"9495c679-6884-4491-8a4a-0d7791a7785f"],
Cell[11902, 405, 37, 0, 38, "Text", "ExpressionUUID" -> \
"d22593a1-24bc-473a-8ef2-374de7cabc16"],
Cell[11942, 407, 85, 0, 40, "Input", "ExpressionUUID" -> \
"17c94c27-d41c-4d9b-9485-5f4193180975"],
Cell[12030, 409, 183, 6, 38, "Text", "ExpressionUUID" -> \
"43d46187-b75e-429b-b83c-5b980bf9b9d9"],
Cell[12216, 417, 103, 1, 40, "Input", "ExpressionUUID" -> \
"d927125a-fd28-4fdf-bcbf-f671d8ef92f2"]
}, Open  ]],
Cell[CellGroupData[{
Cell[12356, 423, 41, 0, 54, "Subsection", "ExpressionUUID" -> \
"e967bbf6-3d77-4440-9687-ab439dafee37"],
Cell[12400, 425, 52, 1, 40, "Input", "ExpressionUUID" -> \
"6ee1f501-9154-4da0-aa5f-63f54bbddfda"],
Cell[12455, 428, 50, 1, 40, "Input", "ExpressionUUID" -> \
"38165872-643b-4c3c-a7a7-10b02b41a511"],
Cell[12508, 431, 49, 1, 40, "Input", "ExpressionUUID" -> \
"76571a98-54c5-4679-831a-2d7768c8ffa1"],
Cell[12560, 434, 54, 1, 40, "Input", "ExpressionUUID" -> \
"c496b22f-20e7-40ea-abb3-b243776eca53"],
Cell[12617, 437, 54, 1, 40, "Input", "ExpressionUUID" -> \
"5bd70210-a67a-47ec-84b4-7f07c262a61a"],
Cell[12674, 440, 55, 1, 40, "Input", "ExpressionUUID" -> \
"c37cfb0a-6df8-4156-b5cd-67429916c7a8"]
}, Closed]],
Cell[CellGroupData[{
Cell[12766, 446, 56, 0, 43, "Subsection", "ExpressionUUID" -> \
"6fc61788-7c70-44cd-b9a9-7a73a3296e83"],
Cell[CellGroupData[{
Cell[12847, 450, 34, 0, 44, "Subsubsection", "ExpressionUUID" -> \
"caea03dd-c099-4f2a-8758-1b9768787b34"],
Cell[12884, 452, 313, 8, 67, "Input", "ExpressionUUID" -> \
"8418e7ad-03dc-4b40-a773-1d508d75f899"],
Cell[13200, 462, 262, 7, 40, "Input", "ExpressionUUID" -> \
"fb2134ec-a1f2-4403-9bf0-ec1c2a7555bb"]
}, Closed]],
Cell[CellGroupData[{
Cell[13499, 474, 32, 0, 44, "Subsubsection", "ExpressionUUID" -> \
"9b6df16d-814f-4774-9461-e08b6fe1bf63"],
Cell[13534, 476, 266, 8, 40, "Input", "ExpressionUUID" -> \
"8948152d-4940-40ee-9ad3-ad0fc3612929"]
}, Closed]],
Cell[CellGroupData[{
Cell[13837, 489, 31, 0, 44, "Subsubsection", "ExpressionUUID" -> \
"bd41e01d-37b9-451e-8628-f65f6bba7bcb"],
Cell[13871, 491, 275, 7, 67, "Input", "ExpressionUUID" -> \
"9bc03e2b-56ff-4326-b54c-e7634c0a7d95"],
Cell[14149, 500, 355, 9, 93, "Input", "ExpressionUUID" -> \
"4cb34623-0bdb-4cc4-9d9a-18f7d6d6a090"],
Cell[14507, 511, 309, 8, 67, "Input", "ExpressionUUID" -> \
"8c1dedb7-dc56-4db6-acc3-3f07461e617f"],
Cell[14819, 521, 172, 4, 40, "Input", "ExpressionUUID" -> \
"1edcf77f-1436-4d9f-a5c2-950c535d8655"]
}, Closed]],
Cell[CellGroupData[{
Cell[15028, 530, 36, 0, 44, "Subsubsection", "ExpressionUUID" -> \
"84b1a8af-a950-4f87-879b-bf627acdfccb"],
Cell[15067, 532, 127, 1, 40, "Input", "ExpressionUUID" -> \
"046dd450-2d78-4412-84c2-3c2ce7afb735"],
Cell[15197, 535, 127, 1, 40, "Input", "ExpressionUUID" -> \
"892480cc-7c05-4bb3-aeb1-968d7f41be97"]
}, Closed]],
Cell[CellGroupData[{
Cell[15361, 541, 36, 0, 44, "Subsubsection", "ExpressionUUID" -> \
"664b0974-73f8-4b47-9fda-85c8a7f1a2ae"],
Cell[15400, 543, 119, 1, 40, "Input", "ExpressionUUID" -> \
"73e26cf7-8bd3-4806-999c-65fca52b8fa8"],
Cell[15522, 546, 156, 3, 40, "Input", "ExpressionUUID" -> \
"be8dd0b0-7b32-4dfb-b00a-796bf8140631"]
}, Closed]],
Cell[CellGroupData[{
Cell[15715, 554, 37, 0, 44, "Subsubsection", "ExpressionUUID" -> \
"61591d29-01a3-4116-be12-ab96f595f83c"],
Cell[15755, 556, 156, 3, 40, "Input", "ExpressionUUID" -> \
"1b094381-ee6b-47a9-89ce-0a8f84bb78e7"]
}, Closed]]
}, Closed]]
}, Open  ]]
}
]
*)

