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

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

(* CreatedBy='Mathematica 14.2' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       158,          7]
NotebookDataLength[    245402,       5208]
NotebookOptionsPosition[     72896,       1638]
NotebookOutlinePosition[    236559,       5036]
CellTagsIndexPosition[    236516,       5033]
WindowTitle->Part 6 Exercises | Introduction to Number Theory
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{

Cell[CellGroupData[{
Cell["Part 6 Exercises", "Section",
 CounterAssignments->{{"Section", 5}},
 CellID->578855155,ExpressionUUID->"d1e2a123-a303-4b21-a42b-58d7af18328d"],

Cell["\<\
What are the two different keys used in an asymmetric cryptosystem called? \
What is the main difference between them?\
\>", "Exercise",
 CellChangeTimes->{{3.926686194971957*^9, 3.926686384594779*^9}, {
   3.931851313504871*^9, 3.931851322139234*^9}, {3.931851512563839*^9, 
   3.9318515135638647`*^9}, {3.9325328206029243`*^9, 3.932532832315298*^9}, {
   3.932538484295822*^9, 3.9325385033091297`*^9}, {3.932538700909493*^9, 
   3.932538711535679*^9}, 3.932546944496504*^9, {3.932547363105381*^9, 
   3.932547369341413*^9}, {3.932557515589807*^9, 3.93255765889955*^9}, {
   3.932557925888582*^9, 3.932558032358677*^9}, {3.9325603218934813`*^9, 
   3.932560331418305*^9}, {3.932620687487927*^9, 3.932620701152988*^9}, {
   3.932707517167664*^9, 3.9327075903202763`*^9}, {3.9327076211864862`*^9, 
   3.932707629268531*^9}},
 CellID->559062746,ExpressionUUID->"38d3c423-91ea-4705-a1ee-c3b71ff2913a"],

Cell[CellGroupData[{

Cell["Solution", "ExerciseSolution",
 CellID->415564034,ExpressionUUID->"2f68cce4-f12f-e647-a8f4-01aca9345946"],

Cell["\<\
The two different keys used in an asymmetric cryptosystem are called a public \
key and a private key.\
\>", "SolutionAnswer",
 CellID->868777251,ExpressionUUID->"a6994dba-870e-4cc1-af27-25c4bcf08dc6"],

Cell["\<\
The public key may be freely distributed and is used for encryption. The \
private must remain secret and is used for decryption.\
\>", "SolutionAnswer",
 CellID->797941604,ExpressionUUID->"ccfa255d-0bbb-4ff1-9365-3373f30e974f"]
}, Closed]],

Cell[TextData[{
 "Using Wolfram Language, generate a random symmetric key and use it to \
encrypt and decrypt a message. Use the functions ",
 ButtonBox["GenerateSymmetricKey",
  BaseStyle->"Link"],
 ", ",
 ButtonBox["Encrypt",
  BaseStyle->"Link"],
 " and ",
 ButtonBox["Decrypt",
  BaseStyle->"Link"],
 " in Wolfram Language."
}], "Exercise",
 CellID->689541008,ExpressionUUID->"9f7e7b11-2e70-4b8a-856a-b7eeef2d8d31"],

Cell[CellGroupData[{

Cell["Solution", "ExerciseSolution",
 CellID->14943115,ExpressionUUID->"18949641-f60a-6346-8683-17cc682722b0"],

Cell["Generate a random symmetric key:", "SolutionAnswer",
 CellID->1074923915,ExpressionUUID->"3d25084a-9613-4cdc-82d2-0555288f662f"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"key", "=", 
  RowBox[{"GenerateSymmetricKey", "[", "]"}]}]], "ExerciseInput",
 CellID->1613800841,ExpressionUUID->"7b5622d9-b65f-40f7-8c96-900264c4e777"],

Cell[BoxData[
 InterpretationBox[
  RowBox[{
   TagBox["SymmetricKey",
    "SummaryHead"], "[", 
   DynamicModuleBox[{Typeset`open$$ = False, Typeset`embedState$$ = "Ready"}, 
    
    TemplateBox[{
      PaneSelectorBox[{False -> GridBox[{{
            GraphicsBox[
             RasterBox[CompressedData["
1:eJxTTMoPSmVmYGDggGIQ++6MeRuOMF+zjwibNaUp777958lZ8/uOv7Gv2cOd
zKzwyn6Xpa/WK8GL9ju6mxPmv7phL9/6OnCH3Ft7dUOONTJRV+y3nCjbN1/q
vD3X9cUFtlzv7cHCKY/tlW//rMvaswWnOKnm4HIPLnFquQdX+FAr3Ei1d6DU
4wo3XOaQGv7Uil9SzSFVnFrpgdb5BZd6WvuLWuUGqe6nVv4iNXxIdQ+1wpPU
/IjLPQD8mujN
              "], {{0, 0}, {8, 8}}, {0, 1}], Frame -> None, 
             FrameLabel -> {None, None}, 
             FrameTicks -> {{None, None}, {None, None}}, GridLinesStyle -> 
             Directive[
               GrayLevel[0.5, 0.4]], ImageSize -> 
             Dynamic[{Automatic, 3.5 CurrentValue["FontCapHeight"]}], 
             Method -> {
              "GridLinesInFront" -> True, "DefaultBoundaryStyle" -> Automatic,
                "DefaultGraphicsInteraction" -> {
                "Version" -> 1.2, "TrackMousePosition" -> {True, False}, 
                 "Effects" -> {
                  "Highlight" -> {"ratio" -> 2}, 
                   "HighlightPoint" -> {"ratio" -> 2}, 
                   "Droplines" -> {
                    "freeformCursorMode" -> True, 
                    "placement" -> {"x" -> "All", "y" -> "None"}}}}, 
               "DefaultPlotStyle" -> Automatic}, PlotRangePadding -> None], 
            GridBox[{{
               RowBox[{
                 TagBox["\"Cipher: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox["\"AES256\"", "SummaryItem"]}]}, {
               RowBox[{
                 TagBox["\"Key size: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  
                  TemplateBox[{"256", "\"b\"", "bits", "\"Bits\""}, 
                   "Quantity", SyntaxForm -> Mod], "SummaryItem"]}]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, 
          AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}], True -> GridBox[{{
            GraphicsBox[
             RasterBox[CompressedData["
1:eJxTTMoPSmVmYGDggGIQ++6MeRuOMF+zjwibNaUp777958lZ8/uOv7Gv2cOd
zKzwyn6Xpa/WK8GL9ju6mxPmv7phL9/6OnCH3Ft7dUOONTJRV+y3nCjbN1/q
vD3X9cUFtlzv7cHCKY/tlW//rMvaswWnOKnm4HIPLnFquQdX+FAr3Ei1d6DU
4wo3XOaQGv7Uil9SzSFVnFrpgdb5BZd6WvuLWuUGqe6nVv4iNXxIdQ+1wpPU
/IjLPQD8mujN
              "], {{0, 0}, {8, 8}}, {0, 1}], Frame -> None, 
             FrameLabel -> {None, None}, 
             FrameTicks -> {{None, None}, {None, None}}, GridLinesStyle -> 
             Directive[
               GrayLevel[0.5, 0.4]], ImageSize -> 
             Dynamic[{Automatic, 3.5 CurrentValue["FontCapHeight"]}], 
             Method -> {
              "GridLinesInFront" -> True, "DefaultBoundaryStyle" -> Automatic,
                "DefaultGraphicsInteraction" -> {
                "Version" -> 1.2, "TrackMousePosition" -> {True, False}, 
                 "Effects" -> {
                  "Highlight" -> {"ratio" -> 2}, 
                   "HighlightPoint" -> {"ratio" -> 2}, 
                   "Droplines" -> {
                    "freeformCursorMode" -> True, 
                    "placement" -> {"x" -> "All", "y" -> "None"}}}}, 
               "DefaultPlotStyle" -> Automatic}, PlotRangePadding -> None], 
            GridBox[{{
               RowBox[{
                 TagBox["\"Cipher: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox["\"AES256\"", "SummaryItem"]}]}, {
               RowBox[{
                 TagBox["\"Key size: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  
                  TemplateBox[{"256", "\"b\"", "bits", "\"Bits\""}, 
                   "Quantity", SyntaxForm -> Mod], "SummaryItem"]}]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, 
          AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}]}, 
       Dynamic[Typeset`open$$], ImageSize -> Automatic]},
     "SummaryPanel"],
    DynamicModuleValues:>{}], "]"}],
  SymmetricKey[<|
   "Cipher" -> "AES256", "Key" -> 
    ByteArray[{111, 4, 205, 21, 231, 120, 39, 160, 177, 209, 201, 209, 46, 
      121, 167, 169, 148, 7, 172, 22, 252, 79, 52, 208, 213, 11, 57, 189, 28, 
      194, 128, 171}], "KeySize" -> 256|>],
  Editable->False,
  SelectWithContents->True,
  Selectable->False]], "ExerciseOutput",
 CellID->432273077,ExpressionUUID->"e1d96fca-c129-4fd4-aca3-ebff305a7061"]
}, Open  ]],

Cell["\<\
Use the key to encrypt a message that says \
\[OpenCurlyDoubleQuote]Introduction to Number Theory\[CloseCurlyDoubleQuote]:\
\
\>", "SolutionAnswer",
 CellID->276427338,ExpressionUUID->"e7b44708-e9fc-4cae-a454-4a99e3dd8f35"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"encrypted", "=", 
  RowBox[{"Encrypt", "[", 
   RowBox[{"key", ",", "\"\<Introduction to Number Theory\>\""}], 
   "]"}]}]], "ExerciseInput",
 CellID->907141305,ExpressionUUID->"70de9bc6-dbae-4083-a39f-e062ee11b065"],

Cell[BoxData[
 InterpretationBox[
  RowBox[{
   TagBox["EncryptedObject",
    "SummaryHead"], "[", 
   DynamicModuleBox[{Typeset`open$$ = False, Typeset`embedState$$ = "Ready"}, 
    
    TemplateBox[{
      PaneSelectorBox[{False -> GridBox[{{
            PaneBox[
             ButtonBox[
              DynamicBox[
               FEPrivate`FrontEndResource["FEBitmaps", "SummaryBoxOpener"]], 
              ButtonFunction :> (Typeset`open$$ = True), Appearance -> None, 
              BaseStyle -> {}, Evaluator -> Automatic, Method -> 
              "Preemptive"], Alignment -> {Center, Center}, ImageSize -> 
             Dynamic[{
               Automatic, 
                3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                 Magnification])}]], 
            GraphicsBox[
             RasterBox[CompressedData["
1:eJxTTMoPSmVmYGDggGIQu/ei1apZCnfs133QE/8o+8BedsPqk8HXHts/OpmX
9kX5KcX01qOmdpP/PrJ/dcZWpSb/jX3cjVlr96S8tcdlr/Gh280CAg8waFLN
waUelztx2Usqjcs9pIpTK9yo5X5q+ZfUdEKqelLDjdT0QOv0QypNan4kNR6p
lY9onU6oJY7LXlLDB5c4tcKfWukcABO8L6o=
              "], {{0, 0}, {8, 8}}, {0, 1}], Frame -> None, 
             FrameLabel -> {None, None}, 
             FrameTicks -> {{None, None}, {None, None}}, GridLinesStyle -> 
             Directive[
               GrayLevel[0.5, 0.4]], ImageSize -> 
             Dynamic[{Automatic, 3.5 CurrentValue["FontCapHeight"]}], 
             Method -> {
              "GridLinesInFront" -> True, "DefaultBoundaryStyle" -> Automatic,
                "DefaultGraphicsInteraction" -> {
                "Version" -> 1.2, "TrackMousePosition" -> {True, False}, 
                 "Effects" -> {
                  "Highlight" -> {"ratio" -> 2}, 
                   "HighlightPoint" -> {"ratio" -> 2}, 
                   "Droplines" -> {
                    "freeformCursorMode" -> True, 
                    "placement" -> {"x" -> "All", "y" -> "None"}}}}, 
               "DefaultPlotStyle" -> Automatic}, PlotRangePadding -> None], 
            GridBox[{{
               RowBox[{
                 TagBox["\"Data length: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  
                  TemplateBox[{"32", "\"B\"", "bytes", "\"Bytes\""}, 
                   "Quantity", SyntaxForm -> Mod], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox["\"Original form: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox["String", "SummaryItem"]}]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, 
          AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}], True -> GridBox[{{
            PaneBox[
             ButtonBox[
              DynamicBox[
               FEPrivate`FrontEndResource["FEBitmaps", "SummaryBoxCloser"]], 
              ButtonFunction :> (Typeset`open$$ = False), Appearance -> None, 
              BaseStyle -> {}, Evaluator -> Automatic, Method -> 
              "Preemptive"], Alignment -> {Center, Center}, ImageSize -> 
             Dynamic[{
               Automatic, 
                3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                 Magnification])}]], 
            GraphicsBox[
             RasterBox[CompressedData["
1:eJxTTMoPSmVmYGDggGIQu/ei1apZCnfs133QE/8o+8BedsPqk8HXHts/OpmX
9kX5KcX01qOmdpP/PrJ/dcZWpSb/jX3cjVlr96S8tcdlr/Gh280CAg8waFLN
waUelztx2Usqjcs9pIpTK9yo5X5q+ZfUdEKqelLDjdT0QOv0QypNan4kNR6p
lY9onU6oJY7LXlLDB5c4tcKfWukcABO8L6o=
              "], {{0, 0}, {8, 8}}, {0, 1}], Frame -> None, 
             FrameLabel -> {None, None}, 
             FrameTicks -> {{None, None}, {None, None}}, GridLinesStyle -> 
             Directive[
               GrayLevel[0.5, 0.4]], ImageSize -> 
             Dynamic[{Automatic, 3.5 CurrentValue["FontCapHeight"]}], 
             Method -> {
              "GridLinesInFront" -> True, "DefaultBoundaryStyle" -> Automatic,
                "DefaultGraphicsInteraction" -> {
                "Version" -> 1.2, "TrackMousePosition" -> {True, False}, 
                 "Effects" -> {
                  "Highlight" -> {"ratio" -> 2}, 
                   "HighlightPoint" -> {"ratio" -> 2}, 
                   "Droplines" -> {
                    "freeformCursorMode" -> True, 
                    "placement" -> {"x" -> "All", "y" -> "None"}}}}, 
               "DefaultPlotStyle" -> Automatic}, PlotRangePadding -> None], 
            GridBox[{{
               RowBox[{
                 TagBox["\"Data length: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  
                  TemplateBox[{"32", "\"B\"", "bytes", "\"Bytes\""}, 
                   "Quantity", SyntaxForm -> Mod], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox["\"Original form: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox["String", "SummaryItem"]}]}, {
               RowBox[{
                 TagBox["\"IV length: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  
                  TemplateBox[{"128", "\"b\"", "bits", "\"Bits\""}, 
                   "Quantity", SyntaxForm -> Mod], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox["\"Padding method: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox["Automatic", "SummaryItem"]}]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, 
          AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}]}, 
       Dynamic[Typeset`open$$], ImageSize -> Automatic]},
     "SummaryPanel"],
    DynamicModuleValues:>{}], "]"}],
  EncryptedObject[<|
   "Cipher" -> "AES256", "BlockMode" -> "CBC", "InitializationVector" -> 
    ByteArray[{194, 1, 156, 70, 124, 96, 42, 137, 190, 46, 166, 141, 181, 91, 
      68, 115}], "Data" -> 
    ByteArray[{199, 61, 18, 32, 237, 211, 143, 40, 65, 241, 198, 106, 11, 152,
       93, 123, 215, 64, 144, 13, 55, 31, 200, 234, 84, 21, 251, 253, 115, 25,
       65, 13}], "Padding" -> Automatic, "OriginalForm" -> String|>],
  Editable->False,
  SelectWithContents->True,
  Selectable->False]], "ExerciseOutput",
 CellID->1337503082,ExpressionUUID->"1080d8bb-8d49-44c5-8a04-513f9a3bdc35"]
}, Open  ]],

Cell["Use the same key to decrypt it:", "SolutionAnswer",
 CellID->1702966025,ExpressionUUID->"8fdd0450-636b-4013-86ef-49a741d9b9e5"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"decrypted", "=", 
  RowBox[{"Decrypt", "[", 
   RowBox[{"key", ",", "encrypted"}], "]"}]}]], "ExerciseInput",
 CellID->87934959,ExpressionUUID->"f9c3c6b6-f0a6-4239-8b62-e3c3530a300a"],

Cell[BoxData["\<\"Introduction to Number Theory\"\>"], "ExerciseOutput",
 CellID->454106777,ExpressionUUID->"fd008afa-53ac-4a07-bb7b-5ac5f34d4aa1"]
}, Open  ]]
}, Closed]],

Cell[TextData[{
 "Using Wolfram Language, generate an RSA cryptosystem and use it to encrypt \
and decrypt a message. Use the function ",
 ButtonBox["GenerateAsymmetricKeyPair",
  BaseStyle->"Link"],
 " with the type ",
 Cell[BoxData["\"\<RSA\>\""], "Link",ExpressionUUID->
  "0abe7a82-2bfc-4d6d-b9f1-26e12a56da2e"],
 " in Wolfram Language."
}], "Exercise",
 CellChangeTimes->{{3.926686194971957*^9, 3.926686384594779*^9}, {
   3.931851313504871*^9, 3.931851322139234*^9}, {3.931851512563839*^9, 
   3.9318515135638647`*^9}, {3.9325328206029243`*^9, 3.932532853186129*^9}, {
   3.932539621800611*^9, 3.932539630455389*^9}, {3.932547551673559*^9, 
   3.9325476133864193`*^9}, {3.9325476526948357`*^9, 3.93254770041295*^9}, {
   3.93256035274625*^9, 3.9325604434845543`*^9}, {3.9326207794406147`*^9, 
   3.932620907100263*^9}, {3.932620939362895*^9, 3.93262095321763*^9}, {
   3.932621001768557*^9, 3.932621004010726*^9}, {3.932707923215721*^9, 
   3.932707946935981*^9}, 3.932708658539226*^9, {3.932708936215481*^9, 
   3.932709015299242*^9}, {3.95011191725898*^9, 3.950111983913248*^9}, {
   3.9501120449004326`*^9, 3.9501120519251747`*^9}, {3.950112095385004*^9, 
   3.9501121446876926`*^9}},
 CellID->1932383343,ExpressionUUID->"4a785de8-1d48-4b97-9dca-2a432fdc480b"],

Cell[CellGroupData[{

Cell["Solution", "ExerciseSolution",
 CellID->945600,ExpressionUUID->"a7240d1b-fc74-5e44-8feb-2e20386d687c"],

Cell["Generate corresponding public and private keys:", "SolutionAnswer",
 CellID->148838416,ExpressionUUID->"13de7599-03ba-4865-b9a7-d4d41832a944"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"keys", "=", 
  RowBox[{
  "GenerateAsymmetricKeyPair", "[", "\"\<RSA\>\"", "]"}]}]], "ExerciseInput",
 CellID->1856292604,ExpressionUUID->"1b8819fa-594d-4138-baf2-9a1446951d1e"],

Cell[BoxData[
 RowBox[{"\[LeftAssociation]", 
  RowBox[{
   RowBox[{"\<\"PrivateKey\"\>", "\[Rule]", 
    InterpretationBox[
     RowBox[{
      TagBox["PrivateKey",
       "SummaryHead"], "[", 
      DynamicModuleBox[{Typeset`open$$ = False, Typeset`embedState$$ = 
       "Ready"}, 
       TemplateBox[{
         PaneSelectorBox[{False -> GridBox[{{
               PaneBox[
                ButtonBox[
                 DynamicBox[
                  FEPrivate`FrontEndResource["FEBitmaps", "SummaryBoxOpener"],
                   ImageSizeCache -> {
                   14.401816406250003`, {0., 14.401816406250003`}}], 
                 Appearance -> None, BaseStyle -> {}, 
                 ButtonFunction :> (Typeset`open$$ = True), Evaluator -> 
                 Automatic, Method -> "Preemptive"], 
                Alignment -> {Center, Center}, ImageSize -> 
                Dynamic[{
                  Automatic, 
                   3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                    Magnification])}]], 
               GraphicsBox[
                RasterBox[CompressedData["
1:eJxTTMoPSmVmYGDggGIQe+6cy75Byg/ss6/sSup3vmafsfXeNr5Tb+3LOl+t
bVz73j5tcXFdV/Ize94Sj6NR12fbH7388Pq/lo327Nu3tj5f+sS+N9Hvghr7
S/sVZhaCf2/dsZdlkV2b5XnDngEMPuAUx2UOLnFc7iHVXlz+xSWOyxxc7iHV
naSGP63dj8scUuOLVH+RGo/Uil9S45HW4UDr8CdVPanhT+t0S63yh1T3kBpu
1Er/1Eo/uNQDAE7F8wA=
                 "], {{0, 0}, {8, 8}}, {0, 1}], Frame -> None, 
                FrameLabel -> {None, None}, 
                FrameTicks -> {{None, None}, {None, None}}, GridLinesStyle -> 
                Directive[
                  GrayLevel[0.5, 0.4]], ImageSize -> 
                Dynamic[{Automatic, 3.5 CurrentValue["FontCapHeight"]}], 
                Method -> {
                 "GridLinesInFront" -> True, "DefaultBoundaryStyle" -> 
                  Automatic, 
                  "DefaultGraphicsInteraction" -> {
                   "Version" -> 1.2, "TrackMousePosition" -> {True, False}, 
                    "Effects" -> {
                    "Highlight" -> {"ratio" -> 2}, 
                    "HighlightPoint" -> {"ratio" -> 2}, 
                    "Droplines" -> {
                    "freeformCursorMode" -> True, 
                    "placement" -> {"x" -> "All", "y" -> "None"}}}}, 
                  "DefaultPlotStyle" -> Automatic}, PlotRangePadding -> None], 
               GridBox[{{
                  RowBox[{
                    TagBox["\"Type: \"", "SummaryItemAnnotation"], 
                    "\[InvisibleSpace]", 
                    TagBox["\"RSA\"", "SummaryItem"]}]}, {
                  RowBox[{
                    TagBox[
                    "\"Public modulus size: \"", "SummaryItemAnnotation"], 
                    "\[InvisibleSpace]", 
                    TagBox[
                    
                    TemplateBox[{"2048", "\"b\"", "bits", "\"Bits\""}, 
                    "Quantity"], "SummaryItem"]}]}, {
                  RowBox[{
                    TagBox[
                    "\"Private exponent size: \"", "SummaryItemAnnotation"], 
                    "\[InvisibleSpace]", 
                    TagBox[
                    
                    TemplateBox[{"2048", "\"b\"", "bits", "\"Bits\""}, 
                    "Quantity"], "SummaryItem"]}]}}, AutoDelete -> False, 
                BaseStyle -> {
                 ShowStringCharacters -> False, NumberMarks -> False, 
                  PrintPrecision -> 3, ShowSyntaxStyles -> False}, 
                GridBoxAlignment -> {
                 "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, 
                GridBoxItemSize -> {
                 "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
                GridBoxSpacings -> {
                 "Columns" -> {{2}}, "Rows" -> {{Automatic}}}]}}, AutoDelete -> 
             False, BaselinePosition -> {1, 1}, 
             GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, 
             GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}], True -> 
           GridBox[{{
               PaneBox[
                ButtonBox[
                 DynamicBox[
                  FEPrivate`FrontEndResource[
                  "FEBitmaps", "SummaryBoxCloser"]], Appearance -> None, 
                 BaseStyle -> {}, ButtonFunction :> (Typeset`open$$ = False), 
                 Evaluator -> Automatic, Method -> "Preemptive"], 
                Alignment -> {Center, Center}, ImageSize -> 
                Dynamic[{
                  Automatic, 
                   3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                    Magnification])}]], 
               GraphicsBox[
                RasterBox[CompressedData["
1:eJxTTMoPSmVmYGDggGIQe+6cy75Byg/ss6/sSup3vmafsfXeNr5Tb+3LOl+t
bVz73j5tcXFdV/Ize94Sj6NR12fbH7388Pq/lo327Nu3tj5f+sS+N9Hvghr7
S/sVZhaCf2/dsZdlkV2b5XnDngEMPuAUx2UOLnFc7iHVXlz+xSWOyxxc7iHV
naSGP63dj8scUuOLVH+RGo/Uil9S45HW4UDr8CdVPanhT+t0S63yh1T3kBpu
1Er/1Eo/uNQDAE7F8wA=
                 "], {{0, 0}, {8, 8}}, {0, 1}], Frame -> None, 
                FrameLabel -> {None, None}, 
                FrameTicks -> {{None, None}, {None, None}}, GridLinesStyle -> 
                Directive[
                  GrayLevel[0.5, 0.4]], ImageSize -> 
                Dynamic[{Automatic, 3.5 CurrentValue["FontCapHeight"]}], 
                Method -> {
                 "GridLinesInFront" -> True, "DefaultBoundaryStyle" -> 
                  Automatic, 
                  "DefaultGraphicsInteraction" -> {
                   "Version" -> 1.2, "TrackMousePosition" -> {True, False}, 
                    "Effects" -> {
                    "Highlight" -> {"ratio" -> 2}, 
                    "HighlightPoint" -> {"ratio" -> 2}, 
                    "Droplines" -> {
                    "freeformCursorMode" -> True, 
                    "placement" -> {"x" -> "All", "y" -> "None"}}}}, 
                  "DefaultPlotStyle" -> Automatic}, PlotRangePadding -> None], 
               GridBox[{{
                  RowBox[{
                    TagBox["\"Type: \"", "SummaryItemAnnotation"], 
                    "\[InvisibleSpace]", 
                    TagBox["\"RSA\"", "SummaryItem"]}]}, {
                  RowBox[{
                    TagBox[
                    "\"Public modulus size: \"", "SummaryItemAnnotation"], 
                    "\[InvisibleSpace]", 
                    TagBox[
                    
                    TemplateBox[{"2048", "\"b\"", "bits", "\"Bits\""}, 
                    "Quantity"], "SummaryItem"]}]}, {
                  RowBox[{
                    TagBox[
                    "\"Private exponent size: \"", "SummaryItemAnnotation"], 
                    "\[InvisibleSpace]", 
                    TagBox[
                    
                    TemplateBox[{"2048", "\"b\"", "bits", "\"Bits\""}, 
                    "Quantity"], "SummaryItem"]}]}, {
                  RowBox[{
                    TagBox["\"Public modulus: \"", "SummaryItemAnnotation"], 
                    "\[InvisibleSpace]", 
                    TagBox[
                    TagBox[
                    RowBox[{"18", 
                    RowBox[{"\[LeftSkeleton]", "613", "\[RightSkeleton]"}], 
                    "33"}], Short[#, 0.25]& ], "SummaryItem"]}]}, {
                  RowBox[{
                    TagBox["\"Private exponent: \"", "SummaryItemAnnotation"],
                     "\[InvisibleSpace]", 
                    TagBox[
                    TagBox[
                    RowBox[{"25", 
                    RowBox[{"\[LeftSkeleton]", "612", "\[RightSkeleton]"}], 
                    "73"}], Short[#, 0.25]& ], "SummaryItem"]}]}, {
                  RowBox[{
                    TagBox["\"Public exponent: \"", "SummaryItemAnnotation"], 
                    "\[InvisibleSpace]", 
                    TagBox["65537", "SummaryItem"]}]}}, AutoDelete -> False, 
                BaseStyle -> {
                 ShowStringCharacters -> False, NumberMarks -> False, 
                  PrintPrecision -> 3, ShowSyntaxStyles -> False}, 
                GridBoxAlignment -> {
                 "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, 
                GridBoxItemSize -> {
                 "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
                GridBoxSpacings -> {
                 "Columns" -> {{2}}, "Rows" -> {{Automatic}}}]}}, AutoDelete -> 
             False, BaselinePosition -> {1, 1}, 
             GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, 
             GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}]}, 
          Dynamic[Typeset`open$$], ImageSize -> Automatic]},
        "SummaryPanel"],
       DynamicModuleValues:>{}], "]"}],
     PrivateKey[<|
      "Type" -> "RSA", "Cipher" -> "RSA", "Padding" -> "PKCS1", 
       "PublicExponent" -> 65537, "PublicModulus" -> 
       18342215775870873062057927410467257881911298162927570457933295708017710\
434391958306667205797090211866013940157687419004749302308597272950041369015280\
028111797366951746096419552082069422139771303243877197045139306176354845463169\
744788302811732810648135059400699247422394510055023648264429048744082706073258\
834054597538692847829548644067278739513586282193912279312735074480584047851376\
684906438888532866776849562569078781577528563140090093649935156495828479970479\
831062162429494445188378507757301660448513302938617863213504402088108355976094\
541647692729698540975150072890798162970529619150961123142551217887752138357233\
, "PrivateExponent" -> 
       25158029450433080237856281107266152112623504155905203296818956485553381\
920861393292129867542005876751087066554381831550679994270714388291792707337588\
258952491955922493501490051980670771566352479493906056767742988421693654861899\
817797893399860572640811457490102619143370043011521365678769659758695003569361\
377066162038384523878643954313940698464971153083438025579654863535241228270482\
817838420043872519599765348895380986704550327053817773584176627748240348444797\
036594530122841796707753343098380597174965449698175661257145464595012862858524\
60976062631114469397064508594115880060528786464166918231227958678362658813873,
        "PublicByteArray" -> 
       ByteArray[{145, 76, 95, 208, 26, 174, 107, 216, 222, 246, 95, 87, 68, 
         133, 7, 39, 56, 210, 11, 94, 29, 113, 9, 55, 210, 115, 16, 69, 80, 
         33, 126, 195, 53, 18, 195, 139, 15, 27, 126, 203, 41, 104, 56, 50, 
         43, 236, 23, 206, 124, 83, 216, 211, 251, 203, 16, 165, 93, 113, 71, 
         153, 156, 40, 6, 242, 166, 58, 22, 118, 118, 229, 91, 247, 125, 78, 
         55, 19, 117, 176, 169, 109, 219, 32, 225, 4, 209, 204, 80, 135, 175, 
         248, 64, 59, 183, 169, 129, 155, 133, 45, 202, 231, 154, 114, 149, 
         161, 252, 24, 145, 116, 16, 44, 96, 227, 231, 131, 60, 65, 201, 67, 
         187, 171, 118, 41, 132, 133, 247, 82, 70, 222, 223, 78, 128, 145, 
         191, 57, 56, 233, 195, 44, 240, 205, 139, 204, 136, 85, 233, 29, 12, 
         121, 210, 177, 201, 93, 230, 191, 199, 38, 189, 101, 95, 42, 118, 48,
          216, 89, 109, 108, 250, 153, 91, 45, 78, 79, 17, 25, 166, 229, 20, 
         231, 66, 143, 202, 203, 58, 100, 179, 59, 74, 27, 52, 141, 130, 215, 
         197, 201, 189, 86, 144, 105, 217, 76, 131, 76, 152, 255, 18, 16, 105,
          15, 141, 146, 105, 215, 106, 188, 42, 30, 189, 48, 179, 248, 160, 
         220, 2, 178, 15, 210, 188, 165, 120, 87, 128, 151, 101, 134, 166, 
         161, 116, 129, 188, 53, 186, 39, 95, 104, 12, 78, 235, 225, 185, 110,
          148, 127, 27, 25, 121, 241}], "PrivateByteArray" -> 
       ByteArray[{19, 237, 210, 210, 123, 102, 99, 26, 122, 242, 117, 255, 69,
          65, 173, 202, 126, 107, 168, 237, 126, 194, 75, 78, 97, 202, 48, 
         120, 33, 86, 134, 201, 133, 149, 14, 71, 27, 138, 92, 232, 198, 196, 
         41, 185, 15, 247, 49, 8, 188, 90, 207, 201, 187, 166, 141, 160, 240, 
         225, 33, 189, 251, 2, 46, 121, 199, 188, 253, 233, 191, 195, 19, 203,
          45, 95, 182, 4, 48, 71, 75, 229, 234, 129, 102, 251, 191, 62, 243, 
         232, 184, 133, 39, 98, 73, 125, 177, 110, 64, 101, 24, 136, 141, 209,
          155, 158, 125, 50, 109, 120, 234, 226, 251, 99, 39, 21, 4, 5, 205, 
         242, 65, 98, 114, 49, 157, 160, 182, 92, 141, 165, 189, 37, 244, 252,
          80, 115, 20, 221, 104, 157, 140, 106, 159, 28, 203, 120, 201, 196, 
         15, 136, 22, 223, 0, 11, 48, 85, 143, 114, 0, 146, 104, 120, 226, 
         108, 174, 170, 55, 151, 249, 203, 117, 80, 122, 230, 3, 236, 112, 8, 
         205, 172, 5, 103, 117, 30, 249, 255, 246, 65, 163, 2, 236, 120, 143, 
         3, 180, 214, 124, 151, 103, 247, 6, 123, 120, 86, 76, 206, 218, 102, 
         162, 28, 242, 249, 40, 222, 231, 250, 150, 181, 144, 202, 203, 183, 
         167, 77, 110, 94, 20, 127, 229, 129, 238, 76, 213, 37, 39, 55, 236, 
         32, 254, 187, 165, 50, 225, 216, 111, 86, 104, 181, 245, 120, 247, 
         98, 111, 163, 82, 45, 183, 177}]|>],
     Editable->False,
     SelectWithContents->True,
     Selectable->False]}], ",", 
   RowBox[{"\<\"PublicKey\"\>", "\[Rule]", 
    InterpretationBox[
     RowBox[{
      TagBox["PublicKey",
       "SummaryHead"], "[", 
      DynamicModuleBox[{Typeset`open$$ = False, Typeset`embedState$$ = 
       "Ready"}, 
       TemplateBox[{
         PaneSelectorBox[{False -> GridBox[{{
               PaneBox[
                ButtonBox[
                 DynamicBox[
                  FEPrivate`FrontEndResource["FEBitmaps", "SummaryBoxOpener"],
                   ImageSizeCache -> {
                   14.401816406250003`, {0., 14.401816406250003`}}], 
                 Appearance -> None, BaseStyle -> {}, 
                 ButtonFunction :> (Typeset`open$$ = True), Evaluator -> 
                 Automatic, Method -> "Preemptive"], 
                Alignment -> {Center, Center}, ImageSize -> 
                Dynamic[{
                  Automatic, 
                   3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                    Magnification])}]], 
               GraphicsBox[
                RasterBox[CompressedData["
1:eJxTTMoPSmVmYGDggGIQWy2YdfEkq5P2Mf2HvmrEPLdf48r+w1jlsT0ucRif
zdR5lUbcebg6GL0nJONLhtADuDpSzWFaVZ5wWPkhTv247KWW+3GZg+4vXO4k
VT0u99ArfEj1F7o5pIYDtcKHVHeSmh7ITeeU+pfa4U+selrHO6nhTGr4D1T6
oVY5QG17iVUPALHxrLg=
                 "], {{0, 0}, {8, 8}}, {0, 1}], Frame -> None, 
                FrameLabel -> {None, None}, 
                FrameTicks -> {{None, None}, {None, None}}, GridLinesStyle -> 
                Directive[
                  GrayLevel[0.5, 0.4]], ImageSize -> 
                Dynamic[{Automatic, 3.5 CurrentValue["FontCapHeight"]}], 
                Method -> {
                 "GridLinesInFront" -> True, "DefaultBoundaryStyle" -> 
                  Automatic, 
                  "DefaultGraphicsInteraction" -> {
                   "Version" -> 1.2, "TrackMousePosition" -> {True, False}, 
                    "Effects" -> {
                    "Highlight" -> {"ratio" -> 2}, 
                    "HighlightPoint" -> {"ratio" -> 2}, 
                    "Droplines" -> {
                    "freeformCursorMode" -> True, 
                    "placement" -> {"x" -> "All", "y" -> "None"}}}}, 
                  "DefaultPlotStyle" -> Automatic}, PlotRangePadding -> None], 
               GridBox[{{
                  RowBox[{
                    TagBox["\"Type: \"", "SummaryItemAnnotation"], 
                    "\[InvisibleSpace]", 
                    TagBox["\"RSA\"", "SummaryItem"]}]}, {
                  RowBox[{
                    TagBox[
                    "\"Public modulus size: \"", "SummaryItemAnnotation"], 
                    "\[InvisibleSpace]", 
                    TagBox[
                    
                    TemplateBox[{"2048", "\"b\"", "bits", "\"Bits\""}, 
                    "Quantity"], "SummaryItem"]}]}}, AutoDelete -> False, 
                BaseStyle -> {
                 ShowStringCharacters -> False, NumberMarks -> False, 
                  PrintPrecision -> 3, ShowSyntaxStyles -> False}, 
                GridBoxAlignment -> {
                 "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, 
                GridBoxItemSize -> {
                 "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
                GridBoxSpacings -> {
                 "Columns" -> {{2}}, "Rows" -> {{Automatic}}}]}}, AutoDelete -> 
             False, BaselinePosition -> {1, 1}, 
             GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, 
             GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}], True -> 
           GridBox[{{
               PaneBox[
                ButtonBox[
                 DynamicBox[
                  FEPrivate`FrontEndResource[
                  "FEBitmaps", "SummaryBoxCloser"]], Appearance -> None, 
                 BaseStyle -> {}, ButtonFunction :> (Typeset`open$$ = False), 
                 Evaluator -> Automatic, Method -> "Preemptive"], 
                Alignment -> {Center, Center}, ImageSize -> 
                Dynamic[{
                  Automatic, 
                   3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                    Magnification])}]], 
               GraphicsBox[
                RasterBox[CompressedData["
1:eJxTTMoPSmVmYGDggGIQWy2YdfEkq5P2Mf2HvmrEPLdf48r+w1jlsT0ucRif
zdR5lUbcebg6GL0nJONLhtADuDpSzWFaVZ5wWPkhTv247KWW+3GZg+4vXO4k
VT0u99ArfEj1F7o5pIYDtcKHVHeSmh7ITeeU+pfa4U+selrHO6nhTGr4D1T6
oVY5QG17iVUPALHxrLg=
                 "], {{0, 0}, {8, 8}}, {0, 1}], Frame -> None, 
                FrameLabel -> {None, None}, 
                FrameTicks -> {{None, None}, {None, None}}, GridLinesStyle -> 
                Directive[
                  GrayLevel[0.5, 0.4]], ImageSize -> 
                Dynamic[{Automatic, 3.5 CurrentValue["FontCapHeight"]}], 
                Method -> {
                 "GridLinesInFront" -> True, "DefaultBoundaryStyle" -> 
                  Automatic, 
                  "DefaultGraphicsInteraction" -> {
                   "Version" -> 1.2, "TrackMousePosition" -> {True, False}, 
                    "Effects" -> {
                    "Highlight" -> {"ratio" -> 2}, 
                    "HighlightPoint" -> {"ratio" -> 2}, 
                    "Droplines" -> {
                    "freeformCursorMode" -> True, 
                    "placement" -> {"x" -> "All", "y" -> "None"}}}}, 
                  "DefaultPlotStyle" -> Automatic}, PlotRangePadding -> None], 
               GridBox[{{
                  RowBox[{
                    TagBox["\"Type: \"", "SummaryItemAnnotation"], 
                    "\[InvisibleSpace]", 
                    TagBox["\"RSA\"", "SummaryItem"]}]}, {
                  RowBox[{
                    TagBox[
                    "\"Public modulus size: \"", "SummaryItemAnnotation"], 
                    "\[InvisibleSpace]", 
                    TagBox[
                    
                    TemplateBox[{"2048", "\"b\"", "bits", "\"Bits\""}, 
                    "Quantity"], "SummaryItem"]}]}, {
                  RowBox[{
                    TagBox["\"Public modulus: \"", "SummaryItemAnnotation"], 
                    "\[InvisibleSpace]", 
                    TagBox[
                    TagBox[
                    RowBox[{"18", 
                    RowBox[{"\[LeftSkeleton]", "613", "\[RightSkeleton]"}], 
                    "33"}], Short[#, 0.25]& ], "SummaryItem"]}]}, {
                  RowBox[{
                    TagBox["\"Public exponent: \"", "SummaryItemAnnotation"], 
                    "\[InvisibleSpace]", 
                    TagBox["65537", "SummaryItem"]}]}}, AutoDelete -> False, 
                BaseStyle -> {
                 ShowStringCharacters -> False, NumberMarks -> False, 
                  PrintPrecision -> 3, ShowSyntaxStyles -> False}, 
                GridBoxAlignment -> {
                 "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, 
                GridBoxItemSize -> {
                 "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
                GridBoxSpacings -> {
                 "Columns" -> {{2}}, "Rows" -> {{Automatic}}}]}}, AutoDelete -> 
             False, BaselinePosition -> {1, 1}, 
             GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, 
             GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}]}, 
          Dynamic[Typeset`open$$], ImageSize -> Automatic]},
        "SummaryPanel"],
       DynamicModuleValues:>{}], "]"}],
     PublicKey[<|
      "Type" -> "RSA", "Cipher" -> "RSA", "Padding" -> "PKCS1", 
       "PublicExponent" -> 65537, "PublicModulus" -> 
       18342215775870873062057927410467257881911298162927570457933295708017710\
434391958306667205797090211866013940157687419004749302308597272950041369015280\
028111797366951746096419552082069422139771303243877197045139306176354845463169\
744788302811732810648135059400699247422394510055023648264429048744082706073258\
834054597538692847829548644067278739513586282193912279312735074480584047851376\
684906438888532866776849562569078781577528563140090093649935156495828479970479\
831062162429494445188378507757301660448513302938617863213504402088108355976094\
541647692729698540975150072890798162970529619150961123142551217887752138357233\
, "PublicByteArray" -> 
       ByteArray[{145, 76, 95, 208, 26, 174, 107, 216, 222, 246, 95, 87, 68, 
         133, 7, 39, 56, 210, 11, 94, 29, 113, 9, 55, 210, 115, 16, 69, 80, 
         33, 126, 195, 53, 18, 195, 139, 15, 27, 126, 203, 41, 104, 56, 50, 
         43, 236, 23, 206, 124, 83, 216, 211, 251, 203, 16, 165, 93, 113, 71, 
         153, 156, 40, 6, 242, 166, 58, 22, 118, 118, 229, 91, 247, 125, 78, 
         55, 19, 117, 176, 169, 109, 219, 32, 225, 4, 209, 204, 80, 135, 175, 
         248, 64, 59, 183, 169, 129, 155, 133, 45, 202, 231, 154, 114, 149, 
         161, 252, 24, 145, 116, 16, 44, 96, 227, 231, 131, 60, 65, 201, 67, 
         187, 171, 118, 41, 132, 133, 247, 82, 70, 222, 223, 78, 128, 145, 
         191, 57, 56, 233, 195, 44, 240, 205, 139, 204, 136, 85, 233, 29, 12, 
         121, 210, 177, 201, 93, 230, 191, 199, 38, 189, 101, 95, 42, 118, 48,
          216, 89, 109, 108, 250, 153, 91, 45, 78, 79, 17, 25, 166, 229, 20, 
         231, 66, 143, 202, 203, 58, 100, 179, 59, 74, 27, 52, 141, 130, 215, 
         197, 201, 189, 86, 144, 105, 217, 76, 131, 76, 152, 255, 18, 16, 105,
          15, 141, 146, 105, 215, 106, 188, 42, 30, 189, 48, 179, 248, 160, 
         220, 2, 178, 15, 210, 188, 165, 120, 87, 128, 151, 101, 134, 166, 
         161, 116, 129, 188, 53, 186, 39, 95, 104, 12, 78, 235, 225, 185, 110,
          148, 127, 27, 25, 121, 241}]|>],
     Editable->False,
     SelectWithContents->True,
     Selectable->False]}]}], "\[RightAssociation]"}]], "ExerciseOutput",
 CellID->67371812,ExpressionUUID->"efa38210-d040-43e0-be65-6bf43ee1242b"]
}, Open  ]],

Cell["Encrypt a message using the public key:", "SolutionAnswer",
 CellID->594162315,ExpressionUUID->"0fae4f5f-8e4b-4dcb-8456-6059a3c0dd62"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"encrypted1", "=", 
  RowBox[{"Encrypt", "[", 
   RowBox[{
    RowBox[{"keys", "[", "\"\<PublicKey\>\"", "]"}], 
    ",", "\"\<Prime numbers never end!\>\""}], "]"}]}]], "ExerciseInput",
 CellID->287069655,ExpressionUUID->"7e80ebbe-72f2-4cb9-98a4-076fc94b2852"],

Cell[BoxData[
 InterpretationBox[
  RowBox[{
   TagBox["EncryptedObject",
    "SummaryHead"], "[", 
   DynamicModuleBox[{Typeset`open$$ = False, Typeset`embedState$$ = "Ready"}, 
    
    TemplateBox[{
      PaneSelectorBox[{False -> GridBox[{{
            PaneBox[
             ButtonBox[
              DynamicBox[
               FEPrivate`FrontEndResource["FEBitmaps", "SummaryBoxOpener"]], 
              ButtonFunction :> (Typeset`open$$ = True), Appearance -> None, 
              BaseStyle -> {}, Evaluator -> Automatic, Method -> 
              "Preemptive"], Alignment -> {Center, Center}, ImageSize -> 
             Dynamic[{
               Automatic, 
                3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                 Magnification])}]], 
            GraphicsBox[
             RasterBox[CompressedData["
1:eJxTTMoPSmVmYGDggGIQe+tRU7vJfx/Zvzpjq1KT/8Y+7sastXtS3trjEjc+
dLtZQOABBv3oZF7aF+WnGDQu9aTai0scl73UonHZ23vRatUshTv26z7oiX+U
fWAvu2H1yeBrj6nmflLV43IPLnFS44tUmlTzqeV+Us2hVrqilr2k5hdquYda
9g5U+qd1+UOteCQ1v5AaDqTaCwAJZ0KJ
              "], {{0, 0}, {8, 8}}, {0, 1}], Frame -> None, 
             FrameLabel -> {None, None}, 
             FrameTicks -> {{None, None}, {None, None}}, GridLinesStyle -> 
             Directive[
               GrayLevel[0.5, 0.4]], ImageSize -> 
             Dynamic[{Automatic, 3.5 CurrentValue["FontCapHeight"]}], 
             Method -> {
              "GridLinesInFront" -> True, "DefaultBoundaryStyle" -> Automatic,
                "DefaultGraphicsInteraction" -> {
                "Version" -> 1.2, "TrackMousePosition" -> {True, False}, 
                 "Effects" -> {
                  "Highlight" -> {"ratio" -> 2}, 
                   "HighlightPoint" -> {"ratio" -> 2}, 
                   "Droplines" -> {
                    "freeformCursorMode" -> True, 
                    "placement" -> {"x" -> "All", "y" -> "None"}}}}, 
               "DefaultPlotStyle" -> Automatic}, PlotRangePadding -> None], 
            GridBox[{{
               RowBox[{
                 TagBox["\"Data length: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  
                  TemplateBox[{"256", "\"B\"", "bytes", "\"Bytes\""}, 
                   "Quantity", SyntaxForm -> Mod], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox["\"Original form: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox["String", "SummaryItem"]}]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, 
          AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}], True -> GridBox[{{
            PaneBox[
             ButtonBox[
              DynamicBox[
               FEPrivate`FrontEndResource["FEBitmaps", "SummaryBoxCloser"]], 
              ButtonFunction :> (Typeset`open$$ = False), Appearance -> None, 
              BaseStyle -> {}, Evaluator -> Automatic, Method -> 
              "Preemptive"], Alignment -> {Center, Center}, ImageSize -> 
             Dynamic[{
               Automatic, 
                3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                 Magnification])}]], 
            GraphicsBox[
             RasterBox[CompressedData["
1:eJxTTMoPSmVmYGDggGIQe+tRU7vJfx/Zvzpjq1KT/8Y+7sastXtS3trjEjc+
dLtZQOABBv3oZF7aF+WnGDQu9aTai0scl73UonHZ23vRatUshTv26z7oiX+U
fWAvu2H1yeBrj6nmflLV43IPLnFS44tUmlTzqeV+Us2hVrqilr2k5hdquYda
9g5U+qd1+UOteCQ1v5AaDqTaCwAJZ0KJ
              "], {{0, 0}, {8, 8}}, {0, 1}], Frame -> None, 
             FrameLabel -> {None, None}, 
             FrameTicks -> {{None, None}, {None, None}}, GridLinesStyle -> 
             Directive[
               GrayLevel[0.5, 0.4]], ImageSize -> 
             Dynamic[{Automatic, 3.5 CurrentValue["FontCapHeight"]}], 
             Method -> {
              "GridLinesInFront" -> True, "DefaultBoundaryStyle" -> Automatic,
                "DefaultGraphicsInteraction" -> {
                "Version" -> 1.2, "TrackMousePosition" -> {True, False}, 
                 "Effects" -> {
                  "Highlight" -> {"ratio" -> 2}, 
                   "HighlightPoint" -> {"ratio" -> 2}, 
                   "Droplines" -> {
                    "freeformCursorMode" -> True, 
                    "placement" -> {"x" -> "All", "y" -> "None"}}}}, 
               "DefaultPlotStyle" -> Automatic}, PlotRangePadding -> None], 
            GridBox[{{
               RowBox[{
                 TagBox["\"Data length: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  
                  TemplateBox[{"256", "\"B\"", "bytes", "\"Bytes\""}, 
                   "Quantity", SyntaxForm -> Mod], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox["\"Original form: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox["String", "SummaryItem"]}]}, {
               RowBox[{
                 TagBox["\"Padding method: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox["\"PKCS1\"", "SummaryItem"]}]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, 
          AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}]}, 
       Dynamic[Typeset`open$$], ImageSize -> Automatic]},
     "SummaryPanel"],
    DynamicModuleValues:>{}], "]"}],
  EncryptedObject[<|
   "Cipher" -> "RSA", "Data" -> 
    ByteArray[{60, 96, 202, 153, 224, 106, 96, 66, 152, 232, 181, 216, 77, 
      185, 140, 8, 86, 238, 70, 225, 204, 212, 174, 0, 110, 193, 232, 218, 
      170, 215, 178, 219, 113, 118, 59, 210, 195, 247, 144, 35, 113, 132, 127,
       191, 148, 55, 34, 59, 123, 78, 9, 62, 161, 156, 129, 166, 57, 217, 148,
       164, 121, 7, 129, 35, 82, 16, 248, 102, 16, 26, 2, 31, 45, 243, 123, 5,
       241, 114, 198, 195, 12, 255, 93, 159, 96, 6, 79, 22, 70, 51, 175, 168, 
      150, 6, 21, 39, 208, 201, 187, 162, 249, 37, 144, 200, 224, 204, 189, 
      152, 132, 122, 200, 253, 126, 32, 115, 31, 183, 242, 182, 30, 77, 154, 
      70, 215, 123, 16, 237, 141, 218, 125, 164, 234, 31, 166, 152, 200, 236, 
      20, 91, 234, 47, 209, 89, 178, 106, 49, 110, 252, 234, 23, 109, 24, 33, 
      184, 255, 24, 102, 188, 59, 129, 39, 214, 62, 36, 249, 182, 28, 247, 
      123, 82, 195, 156, 34, 222, 123, 57, 31, 123, 246, 86, 255, 255, 110, 
      32, 201, 137, 99, 254, 28, 21, 23, 142, 149, 237, 130, 14, 124, 179, 40,
       101, 92, 45, 244, 155, 50, 255, 225, 154, 178, 146, 255, 53, 237, 59, 
      55, 196, 191, 61, 168, 31, 129, 232, 232, 226, 216, 201, 240, 191, 244, 
      100, 179, 141, 107, 135, 25, 220, 115, 101, 177, 102, 186, 212, 26, 133,
       147, 195, 101, 148, 182, 214, 210, 93, 42, 203, 76, 237}], 
    "OriginalForm" -> String, "Padding" -> "PKCS1"|>],
  Editable->False,
  SelectWithContents->True,
  Selectable->False]], "ExerciseOutput",
 CellID->1531420423,ExpressionUUID->"2ba5274b-01ce-4ec2-95a0-101ab9d6f35d"]
}, Open  ]],

Cell["Decrypt with the private key:", "SolutionAnswer",
 CellID->991540066,ExpressionUUID->"c2625b72-6c06-4fc3-93a6-62512cd65431"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Decrypt", "[", 
  RowBox[{
   RowBox[{"keys", "[", "\"\<PrivateKey\>\"", "]"}], ",", "encrypted1"}], 
  "]"}]], "ExerciseInput",
 CellID->340788542,ExpressionUUID->"bce87a4d-4bc7-469a-8049-fd1910edf246"],

Cell[BoxData["\<\"Prime numbers never end!\"\>"], "ExerciseOutput",
 CellID->294138845,ExpressionUUID->"c11ca303-c027-4c35-982d-7a925a48ee56"]
}, Open  ]],

Cell["Alternatively, encrypt with the private key:", "SolutionAnswer",
 CellID->84212521,ExpressionUUID->"b6565cae-1c9c-4044-ba00-046e41f44361"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"encrypted2", "=", 
  RowBox[{"Encrypt", "[", 
   RowBox[{
    RowBox[{"keys", "[", "\"\<PrivateKey\>\"", "]"}], 
    ",", "\"\<Prime numbers never end!\>\""}], "]"}]}]], "ExerciseInput",
 CellID->168117074,ExpressionUUID->"aee241d1-ca4a-4443-9568-db8c0a91cf09"],

Cell[BoxData[
 InterpretationBox[
  RowBox[{
   TagBox["EncryptedObject",
    "SummaryHead"], "[", 
   DynamicModuleBox[{Typeset`open$$ = False, Typeset`embedState$$ = "Ready"}, 
    
    TemplateBox[{
      PaneSelectorBox[{False -> GridBox[{{
            PaneBox[
             ButtonBox[
              DynamicBox[
               FEPrivate`FrontEndResource["FEBitmaps", "SummaryBoxOpener"]], 
              ButtonFunction :> (Typeset`open$$ = True), Appearance -> None, 
              BaseStyle -> {}, Evaluator -> Automatic, Method -> 
              "Preemptive"], Alignment -> {Center, Center}, ImageSize -> 
             Dynamic[{
               Automatic, 
                3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                 Magnification])}]], 
            GraphicsBox[
             RasterBox[CompressedData["
1:eJxTTMoPSmVmYGDggGIQ+9HJvLQvyk/tiaWND91uFhB4QDS99aip3eS/j+xf
nbFVqcl/Yx93Y9baPSlvcYr3XrRaNUvhjv26D3riH2Uf2MtuWH0y+Npjkt1D
LXNIdT+13ENq+OBSj8t8XObQOh5JFadW+iQ1vkiNF1LzBbXSM7XSFanuJ9Vf
pLqH1PRMLXdSKx9Rq/yhVv7FpR4A7jAx1w==
              "], {{0, 0}, {8, 8}}, {0, 1}], Frame -> None, 
             FrameLabel -> {None, None}, 
             FrameTicks -> {{None, None}, {None, None}}, GridLinesStyle -> 
             Directive[
               GrayLevel[0.5, 0.4]], ImageSize -> 
             Dynamic[{Automatic, 3.5 CurrentValue["FontCapHeight"]}], 
             Method -> {
              "GridLinesInFront" -> True, "DefaultBoundaryStyle" -> Automatic,
                "DefaultGraphicsInteraction" -> {
                "Version" -> 1.2, "TrackMousePosition" -> {True, False}, 
                 "Effects" -> {
                  "Highlight" -> {"ratio" -> 2}, 
                   "HighlightPoint" -> {"ratio" -> 2}, 
                   "Droplines" -> {
                    "freeformCursorMode" -> True, 
                    "placement" -> {"x" -> "All", "y" -> "None"}}}}, 
               "DefaultPlotStyle" -> Automatic}, PlotRangePadding -> None], 
            GridBox[{{
               RowBox[{
                 TagBox["\"Data length: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  
                  TemplateBox[{"256", "\"B\"", "bytes", "\"Bytes\""}, 
                   "Quantity", SyntaxForm -> Mod], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox["\"Original form: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox["String", "SummaryItem"]}]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, 
          AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}], True -> GridBox[{{
            PaneBox[
             ButtonBox[
              DynamicBox[
               FEPrivate`FrontEndResource["FEBitmaps", "SummaryBoxCloser"]], 
              ButtonFunction :> (Typeset`open$$ = False), Appearance -> None, 
              BaseStyle -> {}, Evaluator -> Automatic, Method -> 
              "Preemptive"], Alignment -> {Center, Center}, ImageSize -> 
             Dynamic[{
               Automatic, 
                3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
                 Magnification])}]], 
            GraphicsBox[
             RasterBox[CompressedData["
1:eJxTTMoPSmVmYGDggGIQ+9HJvLQvyk/tiaWND91uFhB4QDS99aip3eS/j+xf
nbFVqcl/Yx93Y9baPSlvcYr3XrRaNUvhjv26D3riH2Uf2MtuWH0y+Npjkt1D
LXNIdT+13ENq+OBSj8t8XObQOh5JFadW+iQ1vkiNF1LzBbXSM7XSFanuJ9Vf
pLqH1PRMLXdSKx9Rq/yhVv7FpR4A7jAx1w==
              "], {{0, 0}, {8, 8}}, {0, 1}], Frame -> None, 
             FrameLabel -> {None, None}, 
             FrameTicks -> {{None, None}, {None, None}}, GridLinesStyle -> 
             Directive[
               GrayLevel[0.5, 0.4]], ImageSize -> 
             Dynamic[{Automatic, 3.5 CurrentValue["FontCapHeight"]}], 
             Method -> {
              "GridLinesInFront" -> True, "DefaultBoundaryStyle" -> Automatic,
                "DefaultGraphicsInteraction" -> {
                "Version" -> 1.2, "TrackMousePosition" -> {True, False}, 
                 "Effects" -> {
                  "Highlight" -> {"ratio" -> 2}, 
                   "HighlightPoint" -> {"ratio" -> 2}, 
                   "Droplines" -> {
                    "freeformCursorMode" -> True, 
                    "placement" -> {"x" -> "All", "y" -> "None"}}}}, 
               "DefaultPlotStyle" -> Automatic}, PlotRangePadding -> None], 
            GridBox[{{
               RowBox[{
                 TagBox["\"Data length: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  
                  TemplateBox[{"256", "\"B\"", "bytes", "\"Bytes\""}, 
                   "Quantity", SyntaxForm -> Mod], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox["\"Original form: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox["String", "SummaryItem"]}]}, {
               RowBox[{
                 TagBox["\"Padding method: \"", "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox["\"PKCS1\"", "SummaryItem"]}]}}, 
             GridBoxAlignment -> {
              "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {"Columns" -> {{2}}, "Rows" -> {{Automatic}}},
              BaseStyle -> {
              ShowStringCharacters -> False, NumberMarks -> False, 
               PrintPrecision -> 3, ShowSyntaxStyles -> False}]}}, 
          GridBoxAlignment -> {"Columns" -> {{Left}}, "Rows" -> {{Top}}}, 
          AutoDelete -> False, 
          GridBoxItemSize -> {
           "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
          BaselinePosition -> {1, 1}]}, 
       Dynamic[Typeset`open$$], ImageSize -> Automatic]},
     "SummaryPanel"],
    DynamicModuleValues:>{}], "]"}],
  EncryptedObject[<|
   "Cipher" -> "RSA", "Data" -> 
    ByteArray[{46, 152, 197, 249, 33, 190, 35, 176, 241, 199, 143, 82, 123, 
      237, 2, 4, 254, 246, 38, 104, 16, 105, 94, 28, 62, 146, 246, 164, 120, 
      1, 49, 239, 100, 20, 61, 85, 71, 201, 51, 28, 102, 165, 23, 126, 156, 
      133, 9, 216, 4, 151, 98, 85, 47, 31, 217, 137, 46, 72, 178, 203, 66, 25,
       68, 255, 83, 45, 84, 123, 26, 130, 87, 115, 80, 155, 10, 253, 90, 187, 
      206, 206, 200, 198, 182, 60, 73, 27, 52, 154, 35, 23, 75, 90, 155, 187, 
      72, 156, 162, 107, 110, 97, 90, 60, 174, 172, 168, 238, 58, 67, 177, 4, 
      151, 38, 205, 113, 202, 18, 130, 11, 90, 63, 15, 59, 220, 81, 137, 179, 
      226, 64, 0, 124, 193, 86, 155, 10, 226, 215, 59, 208, 190, 137, 156, 
      177, 172, 92, 195, 79, 12, 174, 143, 45, 222, 200, 24, 142, 183, 70, 
      200, 216, 215, 19, 192, 212, 27, 230, 44, 145, 105, 52, 220, 189, 46, 
      116, 46, 127, 152, 190, 212, 5, 4, 58, 46, 149, 161, 182, 51, 238, 25, 
      232, 49, 213, 136, 136, 245, 104, 0, 175, 197, 128, 46, 244, 48, 190, 
      77, 193, 123, 210, 129, 84, 83, 251, 199, 89, 128, 87, 11, 118, 77, 89, 
      52, 226, 135, 168, 21, 31, 251, 141, 93, 226, 90, 5, 198, 248, 29, 165, 
      253, 49, 53, 158, 209, 123, 48, 45, 237, 20, 221, 231, 222, 34, 118, 
      209, 120, 123, 213, 24, 204, 192}], "OriginalForm" -> String, "Padding" -> 
    "PKCS1"|>],
  Editable->False,
  SelectWithContents->True,
  Selectable->False]], "ExerciseOutput",
 CellID->1602666913,ExpressionUUID->"2149a0ce-ab7e-415e-acad-e2033bf7cbc6"]
}, Open  ]],

Cell["Decrypt with the public key:", "SolutionAnswer",
 CellID->135422470,ExpressionUUID->"302da5b7-cc4f-45c5-8f3a-ea3ffdb16212"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Decrypt", "[", 
  RowBox[{
   RowBox[{"keys", "[", "\"\<PublicKey\>\"", "]"}], ",", "encrypted2"}], 
  "]"}]], "ExerciseInput",
 CellID->1860271117,ExpressionUUID->"aae77309-c09a-431f-830e-7d6d8c43ef58"],

Cell[BoxData["\<\"Prime numbers never end!\"\>"], "ExerciseOutput",
 CellID->362246746,ExpressionUUID->"6c5aaad7-c019-4d2a-af8e-27cb9a5f990c"]
}, Open  ]]
}, Closed]],

Cell["\<\
Using Wolfram Language, create an RSA cryptosystem step by step and test it.\
\>", "Exercise",
 CellChangeTimes->{{3.926686194971957*^9, 3.926686384594779*^9}, {
   3.931851313504871*^9, 3.931851322139234*^9}, {3.931851512563839*^9, 
   3.9318515135638647`*^9}, {3.9325328206029243`*^9, 3.932532853186129*^9}, {
   3.932539621800611*^9, 3.932539630455389*^9}, {3.932547551673559*^9, 
   3.9325476133864193`*^9}, {3.9325476526948357`*^9, 3.93254770041295*^9}, {
   3.93256035274625*^9, 3.9325604434845543`*^9}, {3.9326207794406147`*^9, 
   3.932620907100263*^9}, {3.932620939362895*^9, 3.93262095321763*^9}, {
   3.932621001768557*^9, 3.932621004010726*^9}, {3.932707923215721*^9, 
   3.932707946935981*^9}, 3.932708658539226*^9, {3.932708936215481*^9, 
   3.932709015299242*^9}, {3.932709579577425*^9, 3.932709600577092*^9}, 
   3.950112119409748*^9},
 CellID->595650277,ExpressionUUID->"30531710-c633-4d67-b00d-6a2c9d743f17"],

Cell[CellGroupData[{

Cell["Solution", "ExerciseSolution",
 CellID->349893711,ExpressionUUID->"e7f6d76f-e40c-4744-8925-f6d16a56f4ab"],

Cell["The first step is key generation. ", "SolutionAnswer",
 CellID->1416628066,ExpressionUUID->"cc77f004-a817-4216-9ff8-338204d43e85"],

Cell[TextData[{
 "1. Select ",
 Cell[BoxData[
  FormBox["p", TraditionalForm]], "InlineMath",ExpressionUUID->
  "a0b492b0-dbcb-4b3d-b8bb-565ef109a5ef"],
 " and ",
 Cell[BoxData[
  FormBox["q", TraditionalForm]], "InlineMath",ExpressionUUID->
  "f40549cf-7cda-4e6b-8528-9c672928c516"],
 " to be distinct primes. The RSA algorithm is effective when the primes are \
really large, but for this exercise, you don\[CloseCurlyQuote]t have to \
select large primes. Use ",
 ButtonBox["RandomPrime",
  BaseStyle->"Link"],
 " to get pseudorandom prime numbers up to ",
 Cell[BoxData[
  FormBox["100", TraditionalForm]], "InlineMath",ExpressionUUID->
  "20e322fa-f120-4f0e-b420-c09e9930a411"],
 ":"
}], "SolutionAnswer",
 CellID->116710973,ExpressionUUID->"dc6b0863-838f-4ba8-a719-da6b36363efe"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"p", "=", 
  RowBox[{"RandomPrime", "[", "100", "]"}]}]], "ExerciseInput",
 CellID->908753500,ExpressionUUID->"b6f06c31-0032-48f5-9ac2-84d0518dcab8"],

Cell[BoxData["59"], "ExerciseOutput",
 CellID->516377036,ExpressionUUID->"ca7e76ca-5578-434f-889d-b37fd9e0cfbd"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"q", "=", 
  RowBox[{"RandomPrime", "[", "100", "]"}]}]], "ExerciseInput",
 CellID->767426525,ExpressionUUID->"d5500eb6-3635-454f-ae1d-088169215ef9"],

Cell[BoxData["17"], "ExerciseOutput",
 CellID->350821793,ExpressionUUID->"fd295575-49b8-4369-bc09-f334db894cf3"]
}, Open  ]],

Cell[TextData[{
 "2. Compute ",
 Cell[BoxData[
  FormBox[
   RowBox[{"n", "=", 
    RowBox[{"p", "*", "q"}]}], TraditionalForm]], "InlineMath",ExpressionUUID->
  "98f84dd5-67d1-49e5-8378-cee01c599f81"],
 ":"
}], "SolutionAnswer",
 CellID->1419263936,ExpressionUUID->"510906f5-5c75-40c6-bd0a-63591bf653a2"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"n", "=", 
  RowBox[{"p", "*", "q"}]}]], "ExerciseInput",
 CellID->1468105123,ExpressionUUID->"81e06beb-5887-449a-b203-deb0fe34dee0"],

Cell[BoxData["1003"], "ExerciseOutput",
 CellID->2003181878,ExpressionUUID->"02b3ae7a-4e1e-4cf0-9bea-d594ef8be727"]
}, Open  ]],

Cell[TextData[{
 "3. Choose an integer ",
 Cell[BoxData[
  FormBox["e", TraditionalForm]], "InlineMath",ExpressionUUID->
  "aeeefe7b-e373-44b5-a37f-05e716f77d41"],
 " such that ",
 Cell[BoxData[
  FormBox[
   RowBox[{"1", "<", "e", "<", 
    RowBox[{
     RowBox[{"(", 
      RowBox[{"p", "-", "1"}], ")"}], "*", 
     RowBox[{"(", 
      RowBox[{"q", "-", "1"}], ")"}]}]}], TraditionalForm]], "InlineMath",
  ExpressionUUID->"6e043911-d91f-4908-abf0-805079509aed"],
 " and ",
 Cell[BoxData[
  FormBox[
   RowBox[{
    RowBox[{"gcd", "(", 
     RowBox[{"e", ",", 
      RowBox[{
       RowBox[{"(", 
        RowBox[{"p", "-", "1"}], ")"}], "*", 
       RowBox[{"(", 
        RowBox[{"q", "-", "1"}], ")"}]}]}], ")"}], "=", "1"}], 
   TraditionalForm]], "InlineMath",ExpressionUUID->
  "8e143732-82b5-40d3-a661-b6dbbb6ef861"],
 "."
}], "SolutionAnswer",
 CellID->1376689527,ExpressionUUID->"e1cae466-e989-457c-8c0c-160e6366509e"],

Cell[TextData[{
 "Use the functions ",
 ButtonBox["FindInstance",
  BaseStyle->"Link"],
 " and ",
 ButtonBox["GCD",
  BaseStyle->"Link"],
 " in Wolfram Language:"
}], "SolutionAnswer",
 CellID->1032067511,ExpressionUUID->"2ebedabb-137b-4dc1-8f72-bac462ff54f5"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"FindInstance", "[", 
  RowBox[{
   RowBox[{
    RowBox[{"1", "<", "e", "<", 
     RowBox[{
      RowBox[{"(", 
       RowBox[{"p", "-", "1"}], ")"}], "*", 
      RowBox[{"(", 
       RowBox[{"q", "-", "1"}], ")"}]}]}], "&&", 
    RowBox[{
     RowBox[{"GCD", "[", 
      RowBox[{"e", ",", 
       RowBox[{
        RowBox[{"(", 
         RowBox[{"p", "-", "1"}], ")"}], "*", 
        RowBox[{"(", 
         RowBox[{"q", "-", "1"}], ")"}]}]}], "]"}], "==", "1"}]}], ",", "e", ",",
    "Integers"}], "]"}]], "ExerciseInput",
 CellChangeTimes->{{3.932710109611847*^9, 3.932710145457735*^9}, {
   3.9327107725992002`*^9, 3.932710792652338*^9}, 3.93616977242483*^9},
 CellID->733240558,ExpressionUUID->"03e1b401-8dcb-4cf4-b635-7641b05434d5"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"{", 
   RowBox[{"e", "\[Rule]", "3"}], "}"}], "}"}]], "ExerciseOutput",
 CellID->1312891820,ExpressionUUID->"e54eff97-ee91-4949-b540-9545ef8ccbb0"]
}, Open  ]],

Cell[BoxData[
 RowBox[{
  RowBox[{"e", "=", "3"}], ";"}]], "ExerciseInput",
 CellID->378345815,ExpressionUUID->"4abb11dd-35e3-4300-aa1b-7b20dce4a641"],

Cell[TextData[{
 "So ",
 Cell[BoxData[
  FormBox[
   RowBox[{"e", "=", "3"}], TraditionalForm]], "InlineMath",ExpressionUUID->
  "4e1aa289-0fc5-42ac-abe4-1e3ec596f73a"],
 " and the public key is ",
 Cell[BoxData[
  FormBox[
   RowBox[{"(", 
    RowBox[{"1003", ",", "3"}], ")"}], TraditionalForm]], "InlineMath",
  ExpressionUUID->"8e72e896-b53d-4e86-9c00-8a21534bedb8"],
 "."
}], "SolutionAnswer",
 CellID->159033938,ExpressionUUID->"8633fbb8-173b-46f3-85c3-23b8411d3dec"],

Cell[TextData[{
 "4. Choose ",
 Cell[BoxData[
  FormBox["d", TraditionalForm]], "InlineMath",ExpressionUUID->
  "d82ad43b-3476-4d04-b087-b7dc807c1a47"],
 " to satisfy the congruence relation ",
 Cell[BoxData[
  FormBox[
   RowBox[{
    RowBox[{"d", "*", "e"}], "\[Congruent]", 
    RowBox[{"1", " ", 
     RowBox[{"(", 
      RowBox[{"mod", " ", 
       RowBox[{"(", 
        RowBox[{"p", "-", "1"}], ")"}], "*", 
       RowBox[{"(", 
        RowBox[{"q", "-", "1"}], ")"}]}], ")"}]}]}], TraditionalForm]], 
  "InlineMath",ExpressionUUID->"f6bbc07a-66a0-42f2-adee-b6a9ca6d9ac8"],
 ", in our case, ",
 Cell[BoxData[
  FormBox[
   RowBox[{
    RowBox[{"d", "*", "5"}], "\[Congruent]", 
    RowBox[{"1", " ", 
     RowBox[{"(", 
      RowBox[{"mod", " ", "936"}], ")"}]}]}], TraditionalForm]], "InlineMath",
  ExpressionUUID->"950dfa04-f5e8-4878-9f74-5ed727f7ae9c"],
 "."
}], "SolutionAnswer",
 CellID->1413739098,ExpressionUUID->"b96d7640-8f30-4ff1-82df-e5d8af8d86f6"],

Cell[TextData[{
 "Use the functions ",
 ButtonBox["FindInstance",
  BaseStyle->"Link"],
 " and ",
 ButtonBox["Mod",
  BaseStyle->"Link"],
 " in Wolfram Language:"
}], "SolutionAnswer",
 CellID->953949678,ExpressionUUID->"661ec8e3-5a85-485a-86ce-ce7880274b04"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"FindInstance", "[", 
  RowBox[{
   RowBox[{
    RowBox[{"Mod", "[", 
     RowBox[{
      RowBox[{"d", "*", "e"}], ",", 
      RowBox[{
       RowBox[{"(", 
        RowBox[{"p", "-", "1"}], ")"}], "*", 
       RowBox[{"(", 
        RowBox[{"q", "-", "1"}], ")"}]}]}], "]"}], "==", "1"}], ",", "d", ",",
    "Integers"}], "]"}]], "ExerciseInput",
 CellID->2066813291,ExpressionUUID->"04f3633c-6dce-4e7e-b016-c1be87c04e79"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"{", 
   RowBox[{"d", "\[Rule]", "619"}], "}"}], "}"}]], "ExerciseOutput",
 CellID->1382991612,ExpressionUUID->"77e8c094-b1c5-4282-ae02-07a4d024c316"]
}, Open  ]],

Cell[BoxData[
 RowBox[{
  RowBox[{"d", "=", "619"}], ";"}]], "ExerciseInput",
 CellID->1724511403,ExpressionUUID->"e2c1e44b-f2e4-4dbd-8dc1-3bd1f1fcc98f"],

Cell[TextData[{
 "So ",
 Cell[BoxData[
  FormBox[
   RowBox[{"d", "=", "619"}], TraditionalForm]], "InlineMath",ExpressionUUID->
  "b8dada79-1c5e-4f28-b224-eb75d4ef9a82"],
 " and the private key is ",
 Cell[BoxData[
  FormBox[
   RowBox[{"(", 
    RowBox[{"1003", ",", "619"}], ")"}], TraditionalForm]], "InlineMath",
  ExpressionUUID->"5af0fde3-078c-409e-ae5d-8afd005817de"],
 "."
}], "SolutionAnswer",
 CellID->1423850309,ExpressionUUID->"4f924712-91d8-4bc1-a0ae-91d09068c93e"],

Cell[TextData[{
 "Suppose Bob wants to send the message ",
 Cell[BoxData[
  FormBox[
   StyleBox[Cell[TextData[Cell[BoxData[
     FormBox[
      StyleBox[
       RowBox[{"m", "=", "73"}],
       FontWeight->"Plain"], TraditionalForm]], "InlineMath",ExpressionUUID->
     "2b6f8fde-6c96-4020-a5b1-f58355011e64"]],ExpressionUUID->
     "8a6d7ae4-700a-4834-8dd0-cd44acf02ca2"],
    FontWeight->"Bold"], TraditionalForm]],ExpressionUUID->
  "979a92c3-eb6f-43fc-9a68-9cc7d8e533fd"],
 " to Alice:"
}], "SolutionAnswer",
 CellID->1241864842,ExpressionUUID->"1fc41325-f857-48ac-b5b4-f429ed7f7087"],

Cell[BoxData[
 RowBox[{
  RowBox[{"m", "=", "73"}], ";"}]], "ExerciseInput",
 CellID->628834301,ExpressionUUID->"63db4224-dc76-4434-a80b-dfc0ca421685"],

Cell[TextData[{
 "In order to encrypt it, he uses Alice\[CloseCurlyQuote]s public key and \
calculates ",
 Cell[BoxData[
  FormBox[GridBox[{
     {"c"}
    },
    GridBoxAlignment->{"Columns" -> {{"="}}}], TraditionalForm]], 
  "InlineMath",ExpressionUUID->"33231d7e-af3c-c74d-995d-9fe097a409eb"],
 " corresponding to ",
 Cell[BoxData[
  FormBox[
   RowBox[{"c", "\[Congruent]", 
    RowBox[{
     SuperscriptBox["m", "e"], " ", 
     RowBox[{"(", 
      RowBox[{"mod", " ", "n"}], ")"}]}]}], TraditionalForm]], "InlineMath",
  ExpressionUUID->"c3f4f8cd-9c31-864d-8dec-9a2062572138"],
 ". So"
}], "SolutionAnswer",
 CellID->1051070020,ExpressionUUID->"bf07ea6c-592e-4702-84b3-2330dc86e61d"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"c", "=", 
  RowBox[{"Mod", "[", 
   RowBox[{
    RowBox[{"m", "^", "e"}], ",", "n"}], "]"}]}]], "ExerciseInput",
 CellID->133345918,ExpressionUUID->"d7381101-16fe-47a5-b4e6-056f92116fea"],

Cell[BoxData["856"], "ExerciseOutput",
 CellID->1319400005,ExpressionUUID->"68d9d3d8-1093-4d57-9de8-80d2746c66fd"]
}, Open  ]],

Cell[TextData[{
 "The encrypted message is ",
 Cell[BoxData[
  FormBox[
   RowBox[{"c", "=", "856"}], TraditionalForm]], "InlineMath",ExpressionUUID->
  "66fcef63-79a2-4393-89de-949ce3e6efe0"],
 "."
}], "SolutionAnswer",
 CellID->239745113,ExpressionUUID->"59756971-ef37-42a2-a821-4f1c8bf9b54e"],

Cell[TextData[{
 "To decrypt ",
 Cell[BoxData[
  FormBox["c", TraditionalForm]], "InlineMath",ExpressionUUID->
  "76463e05-c0ce-4cb0-9f8f-47019723d60a"],
 ", Alice uses her private key and calculates ",
 Cell[BoxData[
  FormBox["m", TraditionalForm]], "InlineMath",ExpressionUUID->
  "67d3abb6-bb50-4422-b23c-540a37211508"],
 " corresponding to ",
 Cell[BoxData[
  FormBox[
   RowBox[{"m", "\[Congruent]", 
    RowBox[{
     SuperscriptBox["c", "d"], " ", 
     RowBox[{"(", 
      RowBox[{"mod", " ", "n"}], ")"}]}]}], TraditionalForm]], "InlineMath",
  ExpressionUUID->"68eb673f-c393-4c29-adc2-3c4341246623"],
 ". So"
}], "SolutionAnswer",
 CellID->716792419,ExpressionUUID->"e6fb0f01-a701-4690-9822-1db9df1d744a"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"m", "=", 
  RowBox[{"Mod", "[", 
   RowBox[{
    RowBox[{"c", "^", "d"}], ",", "n"}], "]"}]}]], "ExerciseInput",
 CellID->1894410110,ExpressionUUID->"9113b9ad-3420-4493-9568-19045d6baaf7"],

Cell[BoxData["73"], "ExerciseOutput",
 CellID->758168348,ExpressionUUID->"a818c39e-d19d-46a5-b789-48061914462e"]
}, Open  ]],

Cell[TextData[{
 "Thus, the original message was ",
 Cell[BoxData[
  FormBox["73", TraditionalForm]], "InlineMath",ExpressionUUID->
  "41d84d52-3577-4851-8254-3f16fbbf3e8f"],
 "."
}], "SolutionAnswer",
 CellID->1514947185,ExpressionUUID->"cb89296d-db04-40f2-a842-49614382f50c"]
}, Closed]]
}, Open  ]],

Cell["\[Copyright] 2026 Wolfram Media, Inc.", "SmallText",
 CellMargins->{{66, 66}, {20, 100}},
 CellGroupingRules->"SectionGrouping",
 FontSize->12,
 FontColor->RGBColor[
  0.7098039215686275, 0.7098039215686275, 
   0.7098039215686275],ExpressionUUID->"6ab6040e-e7a7-4505-93c9-ee4430b3de26"]
},
Editable->True,
Saveable->False,
ScreenStyleEnvironment->"Working",
WindowToolbars->{},
CellInsertionPointCell->None,
WindowSize->Automatic,
WindowMargins->Automatic,
WindowFrame->"Normal",
WindowPersistentStyles->{
 WindowFrame, WindowMargins, WindowSize, Magnification},
WindowTitle->"Part 6 Exercises | Introduction to Number Theory",
DockedCells->{
  Cell[
   BoxData[
    TemplateBox[<|
     "label" -> TemplateBox[<|
        "heading" -> "Wolfram eTextbook Series", "title" -> 
         "Introduction to Number Theory"|>, "BannerHeadingTitleTemplate"], 
      "previous" -> TemplateBox[{
         TemplateBox[{
           TemplateBox[{}, "BannerLeftArrowTemplate"], 
           Function[{}, 
            
            NotebookLocate[{"NumberTheory-06-17_The-RSA-Algorithm.nb", ""}, 
             FrontEnd`HistoryData :> {
               EvaluationNotebook[]}]]}, "BannerButtonTemplate"], 
         "17. The RSA Algorithm"}, "PrettyTooltipTemplate"], "next" -> 
      TemplateBox[{
         TemplateBox[{
           TemplateBox[{}, "BannerRightArrowTemplate"], 
           Function[{}, 
            
            NotebookLocate[{
             "NumberTheory-07-18_Primality-Testing-Miller-Rabin.nb", ""}, 
             FrontEnd`HistoryData :> {
               EvaluationNotebook[]}]]}, "BannerButtonTemplate"], 
         "18. Primality Testing: Miller\[Dash]Rabin"}, 
        "PrettyTooltipTemplate"], "menu" -> TemplateBox[{
         TemplateBox[{{
           "\"Cover\"" :> 
            NotebookLocate[{"NumberTheory-00a_Cover.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"Preface\"" :> 
            NotebookLocate[{"NumberTheory-00b_Preface.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], StyleBox["Introduction", Bold] :> 
            NotebookLocate[{
              "NumberTheory-01-01_What-Is-Number-Theory.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"1. What Is Number Theory?\"" :> 
            NotebookLocate[{
              "NumberTheory-01-01_What-Is-Number-Theory.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"2. Integers: The Basics\"" :> 
            NotebookLocate[{"NumberTheory-01-02_Integers-The-Basics.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"3. Primes and Composites\"" :> 
            NotebookLocate[{
              "NumberTheory-01-03_Primes-and-Composites.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"Part 1 Exercises\"" :> 
            NotebookLocate[{"NumberTheory-01b_Exercises.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], 
            StyleBox["Primes and Divisibility", Bold] :> 
            NotebookLocate[{"NumberTheory-02-04_Prime-Factorization.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"4. Prime Factorization\"" :> 
            NotebookLocate[{"NumberTheory-02-04_Prime-Factorization.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"5. Multiples and Divisors\"" :> 
            NotebookLocate[{
              "NumberTheory-02-05_Multiples-and-Divisors.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"6. Greatest Common Divisor\"" :> 
            NotebookLocate[{
              "NumberTheory-02-06_Greatest-Common-Divisor.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"Part 2 Exercises\"" :> 
            NotebookLocate[{"NumberTheory-02b_Exercises.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], StyleBox["Modular Arithmetic", Bold] :> 
            NotebookLocate[{"NumberTheory-03-07_Congruences.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"7. Congruences\"" :> 
            NotebookLocate[{"NumberTheory-03-07_Congruences.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"8. Modular Arithmetic\"" :> 
            NotebookLocate[{"NumberTheory-03-08_Modular-Arithmetic.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"9. Chinese Remainder Theorem\"" :> 
            NotebookLocate[{
              "NumberTheory-03-09_Chinese-Remainder-Theorem.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"Part 3 Exercises\"" :> 
            NotebookLocate[{"NumberTheory-03b_Exercises.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], StyleBox["Continued Fractions", Bold] :> 
            NotebookLocate[{
              "NumberTheory-04-10_Real-Number-Representations.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"10. Real Number Representations\"" :> 
            NotebookLocate[{
              "NumberTheory-04-10_Real-Number-Representations.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"11. Continued Fractions\"" :> 
            NotebookLocate[{"NumberTheory-04-11_Continued-Fractions.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], 
            "\"12. Best Rational Approximations\"" :> 
            NotebookLocate[{
              "NumberTheory-04-12_Best-Rational-Approximations.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"Part 4 Exercises\"" :> 
            NotebookLocate[{"NumberTheory-04b_Exercises.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], 
            StyleBox["Diophantine Equations", Bold] :> 
            NotebookLocate[{
              "NumberTheory-05-13_Diophantine-Equations.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"13. Diophantine Equations\"" :> 
            NotebookLocate[{
              "NumberTheory-05-13_Diophantine-Equations.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], 
            "\"14. Linear Diophantine Equations\"" :> 
            NotebookLocate[{
              "NumberTheory-05-14_Linear-Diophantine-Equations.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], 
            "\"15. Diophantine Equations of Degree 2\"" :> 
            NotebookLocate[{
              "NumberTheory-05-15_Diophantine-Equations-of-Degree-2.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"Part 5 Exercises\"" :> 
            NotebookLocate[{"NumberTheory-05b_Exercises.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], StyleBox["Cryptography", Bold] :> 
            NotebookLocate[{"NumberTheory-06-16_Cryptography.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"16. Cryptography\"" :> 
            NotebookLocate[{"NumberTheory-06-16_Cryptography.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"17. The RSA Algorithm\"" :> 
            NotebookLocate[{"NumberTheory-06-17_The-RSA-Algorithm.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"Part 6 Exercises\"" :> 
            NotebookLocate[{"NumberTheory-06b_Exercises.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], StyleBox["Additional Topics", Bold] :> 
            NotebookLocate[{
              "NumberTheory-07-18_Primality-Testing-Miller-Rabin.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], 
            "\"18. Primality Testing: Miller\[Dash]Rabin\"" :> 
            NotebookLocate[{
              "NumberTheory-07-18_Primality-Testing-Miller-Rabin.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], 
            "\"19. Factorization: Pollard\[CloseCurlyQuote]s Rho\"" :> 
            NotebookLocate[{
              "NumberTheory-07-19_Factorization-Pollards-Rho.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], 
            "\"20. Diophantine Equations: Hilbert\[CloseCurlyQuote]s Tenth \
Problem\"" :> NotebookLocate[{
              "NumberTheory-07-20_Diophantine-Equations-Hilberts-Tenth-\
Problem.nb", ""}, FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"21. The Riemann Zeta Function\"" :> 
            NotebookLocate[{
              "NumberTheory-07-21_The-Riemann-Zeta-Function.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"22. Special Numbers\"" :> 
            NotebookLocate[{"NumberTheory-07-22_Special-Numbers.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"23. Numeral Systems\"" :> 
            NotebookLocate[{"NumberTheory-07-23_Numeral-Systems.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}], "\"Part 7 Exercises\"" :> 
            NotebookLocate[{"NumberTheory-07b_Exercises.nb", ""}, 
              FrontEnd`HistoryData :> {
                EvaluationNotebook[]}]}}, "BannerMenuTemplate"], 
         "Table of contents"}, "PrettyTooltipTemplate"]|>, "BannerTemplate"]],
    "DockedCell", "Banner"], 
  Cell[
   BoxData[
    TemplateBox[<|
     "label" -> "Lusine Sukiasyan and Charles Pooh  |  Cite this eTextbook"|>,
      "BannerCitationOpenerTemplate"]], "DockedCell", 
   "BannerCitationOpenerLabel"], 
  Cell[
   BoxData[
    TemplateBox[{
      TemplateBox[{"\"Lusine Sukiasyan and Charles Pooh (2026), \"", 
        StyleBox[
        "\"Introduction to Number Theory: A Computational Approach,\"", 
         Selectable -> True, Copyable -> True, FontSlant -> Italic], 
        "\" Wolfram Media. \
wolfram-media.com/products/introduction-to-number-theory.\""}, "RowDefault"], 
      
      RowBox[{"Lusine Sukiasyan and Charles Pooh (2026), ", 
        StyleBox[
        "Introduction to Number Theory: A Computational Approach,", FontSlant -> 
         "Italic"], 
        " Wolfram Media. \
wolfram-media.com/products/introduction-to-number-theory."}]}, 
     "CitationClickToCopy2", BaseStyle -> {LineBreakWithin -> Automatic}]], 
   "DockedCell", "BannerCitation", CellOpen -> Dynamic[
     TrueQ[
      CurrentValue[
       EvaluationNotebook[], {TaggingRules, "eTextbook", "CitationOpener"}, 
       False]]]]},
PrintingCopies->1,
PrintingPageRange->{32000, 32000},
PrintingOptions->{"Magnification"->1.,
"PaperOrientation"->"Portrait",
"PaperSize"->{612, 792}},
ShowCellBracket->Automatic,
TaggingRules-><|"eTextbook" -> <|"CitationOpener" -> False|>|>,
ShowCellLabel->False,
CellLabelAutoDelete->True,
CellLabelTemplate-><|
 "In" -> "In[`1`]:=", "InExpired" -> "In[`1`]:=", "Out" -> "Out[`1`]=", 
  "OutExpired" -> "Out[`1`]="|>,
ShowCellTags->False,
ShowAutoSpellCheck->False,
ShowPredictiveInterface->False,
AutoStyleOptions->{"HighlightComments"->True},
AutoMultiplicationSymbol->{},
Magnification->1,
FrontEndVersion->"14.3 for Mac OS X ARM (64-bit) (July 1, 2025)",
StyleDefinitions->Notebook[{
   Cell[
    StyleData[StyleDefinitions -> "Default.nb"]], 
   Cell[
    CellGroupData[{
      Cell[
      "Style Environments", "Section", 
       CellChangeTimes -> {{3.64661165091824*^9, 3.646611654013329*^9}, 
         3.6485723794335403`*^9, 3.651347081728628*^9, 3.651347179462186*^9, 
         3.651347384135805*^9, 3.651348171662589*^9}], 
      Cell[
       StyleData[All, "Working"], CellInsertionPointCell -> 
       FEPrivate`FrontEndResource["FEExpressions", "CellInsertionMenu"], 
       DockedCells -> {
         Cell[
          BoxData[
           GridBox[{{
              InterpretationBox[
               StyleBox[
                
                GraphicsBox[{}, BaselinePosition -> Baseline, 
                 ImageSize -> {4, 0}], CacheGraphics -> False], 
               Spacer[5]], 
              ActionMenuBox[
              "\"Insert\"", {
               "\"Subsection\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTConvertToSubsectionStyle[]), 
                "\"Subsubsection\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTConvertToSubsubsectionStyle[]), 
                "\"Subsubsubsection\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTConvertToSubsubsubsectionStyle[]), 
                Delimiter, 
                "\"Text\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTConvertToTextStyle[]), "\"CodeText\"" :> 
                Module[{$CellContext`bn = ButtonNotebook[]}, 
                  If[Developer`CellInformation[$CellContext`bn] =!= $Failed, 
                    While[
                    FreeQ[
                    Developer`CellInformation[$CellContext`bn], 
                    "CellBracket"], 
                    FrontEndExecute[
                    
                    FrontEnd`SelectionMove[$CellContext`bn, All, Cell, 
                    AutoScroll -> False]]]; 
                    SelectionMove[$CellContext`bn, After, Cell]]; 
                  NotebookWrite[$CellContext`bn, 
                    Cell["XXXX", "CodeText"], All]; 
                  SelectionMove[$CellContext`bn, All, CellContents]], 
                "\"Hyperlink\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTGenerateHyperlinkDialog[]), 
                "\"Display Formula\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertDisplayFormulaCell[]), Delimiter, 
                "\"Solved Example\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`\
WBTInsertSolvedExampleAndSolvedExampleNoteCells[]), 
                "\"Solved Example Input\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertSolvedExampleInputCell[]), 
                "\"Solved Example Text\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertSolvedExampleNoteCell[]), 
                "\"Solved Example Display Formula\"" :> (
                 Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertSolvedExampleDisplayFormulaCell[]),
                 "\"Solved Example Display Formula Numbered\"" :> (
                 Needs["WolframBookTools`"]; 
                 WolframBookTools`\
WBTInsertSolvedExampleDisplayFormulaNumberedCell[]), Delimiter, 
                "\"Theorem\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertTheoremCell[]), 
                "\"Theorem Numbered\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertTheoremNumberedCell[]), 
                "\"Theorem Text\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertTheoremTextCell[]), 
                "\"Proof/Theorem Display Formula\"" :> (
                 Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertProofTheoremDisplayCell[]), 
                "\"Proof/Theorem Display Formula Numbered\"" :> (
                 Needs["WolframBookTools`"]; 
                 WolframBookTools`\
WBTInsertProofTheoremDisplayFormulaNumberedCell[]), 
                "\"Proof\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertProofCell[]), 
                "\"Proof Text\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertProofTextCell[]), Delimiter, 
                "\"Vocabulary 2Col\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertVocabularySectionAnd2ColTable[]), 
                "\"Vocabulary 3Col\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertVocabularySectionAnd3ColTable[]), 
                "\"Add Row\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTVocabTableAddRow[]), 
                "\"Remove Row\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTVocabTableAddRow["RemoveRow" -> True]), 
                "\"Apply Divider\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTVocabTableAddRow["AddDivider" -> True]), 
                "\"Remove Divider\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTVocabTableAddRow[
                  "RemoveDivider" -> True]), Delimiter, 
                "\"Exercises\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertExerciseSection[]), 
                "\"Exercise\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertExerciseSection[]), 
                "\"Exercise Note\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertExerciseNote[]), 
                "\"Solution Section\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertExerciseSolution[]), 
                "\"Solution Text\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertSolutionAnswer[]), Delimiter, 
                "\"Q&A | Tech Notes | More\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertQAndATechNotesMore[]), 
                "\"Question\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertQuestion[]), 
                "\"Answer\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertAnswer[]), 
                "\"Tech Note\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertTechNote[]), 
                "\"More to Explore\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertMoreExplore[]), Delimiter, 
                "\"References Section\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertReferencesSection[]), 
                "\"Add Reference\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTAddReferenceCell[]), Delimiter, 
                "\"Comment\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTApplyComment[])}, FrameMargins -> 2.4], 
              ItemBox["", ItemSize -> Fit], 
              ActionMenuBox[
              "\"Function Name\"", {
               "\"Link\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTMakeSymbolLink[]), 
                "\"Format\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTFormatSymbol[])}, Appearance -> 
               "PopupMenu", Method -> "Queued", FrameMargins -> 2.4], 
              ButtonBox[
              "\"Resource Function Link\"", 
               ButtonFunction :> (Needs["WolframBookTools`"]; 
                WolframBookTools`WBTResourceFunctionLink[]), Evaluator -> 
               Automatic, Appearance -> "DialogBox", Method -> "Queued"], 
              ActionMenuBox[
              "\"Inline Format\"", {
               "\"Inline Code\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTConvertToInlineCode[]), 
                "\"Traditional Math\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTTraditionalFormCell[])}, Appearance -> 
               "PopupMenu", Method -> "Queued", FrameMargins -> 2.4], 
              ActionMenuBox[
              "\"Mark Cells\"", {
               "\"Tentative\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTApplyTentative[]), Delimiter, 
                "\"Print Only\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTApplyPrintOnly[]), 
                "\"Web Only\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTApplyWebOnly[]), Delimiter, 
                "\"Locked\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTApplyLock[])}, Appearance -> "PopupMenu",
                Method -> "Queued", FrameMargins -> 2.4], 
              ItemBox["", ItemSize -> Fit], 
              GridBox[{{
                 TooltipBox[
                  ButtonBox[
                  "\"Index Field\"", Appearance -> {"AbuttingRight"}, 
                   ButtonFunction :> (Needs["WolframBookTools`"]; 
                    WolframBookTools`WBTInsertIndexField[]), Evaluator -> 
                   Automatic, Method -> "Queued"], 
                  "First put the cursor in a cell to insert a corresponding \
field above to insert index entries.\nList main index entries corresponding \
to the cell separated by commas. Any associated sub-entries\nshould be put \
immediately after in braces.\nExample: programming{functional, rule based}, \
function, relation, lists{flat, nested}\n If $Language is \"ChineseSimplified\
\", \"ChineseTraditional\", \"Japanese\", \"Korean\" or \"Russian\"\ntwo \
index fields get inserted above a selected cell, the top one for inserting \
entries\nintended for the Englsh index and the bottom for the index in the \
language given by $Language.", TooltipDelay -> 0.3], 
                 TooltipBox[
                  ButtonBox[
                  "\"Toggle\"", Appearance -> {"AbuttingLeft"}, 
                   ButtonFunction :> (CurrentValue[
                    ButtonNotebook[], ScreenStyleEnvironment] = 
                    If[CurrentValue[
                    ButtonNotebook[], ScreenStyleEnvironment] === 
                    "Invisibles", "Working", "Invisibles"]), Evaluator -> 
                   Automatic, Method -> "Queued"], 
                  "Toggles index entry fields.", TooltipDelay -> 0.3]}}, 
               GridBoxItemSize -> {
                "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
               GridBoxSpacings -> {
                "ColumnsIndexed" -> {2 -> 0}, "Rows" -> {{Automatic}}}], 
              InterpretationBox[
               StyleBox[
                
                GraphicsBox[{}, BaselinePosition -> Baseline, 
                 ImageSize -> {4, 0}], CacheGraphics -> False], 
               Spacer[4]]}}]], "DockedCell", 
          CellFrameMargins -> {{0, 0}, {8, 8}}]}, CreateCellID -> True, 
       TrackCellChangeTimes -> False, ShowPredictiveInterface -> False, 
       AutoStyleOptions -> {
        "UndefinedSymbolStyle" -> 
         None}, $CellContext`GhostCellInEmptyNotebook -> False], 
      Cell[
       StyleData[All, "Printout"], PageWidth :> 700, 
       PrintingOptions -> {"PageSize" -> {504, 720}}, 
       AutoStyleOptions -> {"UndefinedSymbolStyle" -> None}, Magnification -> 
       0.6], 
      Cell[
       StyleData[All, "Invisibles"], CellInsertionPointCell -> 
       FEPrivate`FrontEndResource["FEExpressions", "CellInsertionMenu"], 
       DockedCells -> {
         Cell[
          BoxData[
           GridBox[{{
              InterpretationBox[
               StyleBox[
                
                GraphicsBox[{}, BaselinePosition -> Baseline, 
                 ImageSize -> {4, 0}], CacheGraphics -> False], 
               Spacer[4]], 
              ActionMenuBox[
              "\"Insert\"", {
               "\"Subsection\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTConvertToSubsectionStyle[]), 
                "\"Subsubsection\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTConvertToSubsubsectionStyle[]), 
                "\"Subsubsubsection\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTConvertToSubsubsubsectionStyle[]), 
                Delimiter, 
                "\"Text\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTConvertToTextStyle[]), "\"CodeText\"" :> 
                Module[{$CellContext`bn = ButtonNotebook[]}, 
                  If[
                   Developer`CellInformation[$CellContext`bn] =!= $Failed, 
                    While[
                    FreeQ[
                    Developer`CellInformation[$CellContext`bn], 
                    "CellBracket"], 
                    FrontEndExecute[
                    
                    FrontEnd`SelectionMove[$CellContext`bn, All, Cell, 
                    AutoScroll -> False]]]; 
                    SelectionMove[$CellContext`bn, After, Cell]]; 
                  NotebookWrite[$CellContext`bn, 
                    Cell["XXXX", "CodeText"], All]; 
                  SelectionMove[$CellContext`bn, All, CellContents]], 
                "\"Hyperlink\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTGenerateHyperlinkDialog[]), 
                "\"Display Formula\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertDisplayFormulaCell[]), Delimiter, 
                "\"Solved Example\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`\
WBTInsertSolvedExampleAndSolvedExampleNoteCells[]), 
                "\"Solved Example Input\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertSolvedExampleInputCell[]), 
                "\"Solved Example Text\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertSolvedExampleNoteCell[]), 
                "\"Solved Example Display Formula\"" :> (
                 Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertSolvedExampleDisplayFormulaCell[]),
                 "\"Solved Example Display Formula Numbered\"" :> (
                 Needs["WolframBookTools`"]; 
                 WolframBookTools`\
WBTInsertSolvedExampleDisplayFormulaNumberedCell[]), Delimiter, 
                "\"Theorem\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertTheoremCell[]), 
                "\"Theorem Numbered\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertTheoremNumberedCell[]), 
                "\"Theorem Text\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertTheoremTextCell[]), 
                "\"Proof/Theorem Display Formula\"" :> (
                 Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertProofTheoremDisplayCell[]), 
                "\"Proof/Theorem Display Formula Numbered\"" :> (
                 Needs["WolframBookTools`"]; 
                 WolframBookTools`\
WBTInsertProofTheoremDisplayFormulaNumberedCell[]), 
                "\"Proof\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertProofCell[]), 
                "\"Proof Text\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertProofTextCell[]), Delimiter, 
                "\"Vocabulary 2Col\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertVocabularySectionAnd2ColTable[]), 
                "\"Vocabulary 3Col\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertVocabularySectionAnd3ColTable[]), 
                "\"Add Row\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTVocabTableAddRow[]), 
                "\"Remove Row\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTVocabTableAddRow["RemoveRow" -> True]), 
                "\"Apply Divider\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTVocabTableAddRow["AddDivider" -> True]), 
                "\"Remove Divider\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTVocabTableAddRow[
                  "RemoveDivider" -> True]), Delimiter, 
                "\"Exercises\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertExerciseSection[]), 
                "\"Exercise\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertExerciseSection[]), 
                "\"Exercise Note\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertExerciseNote[]), 
                "\"Solution Section\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertExerciseSolution[]), 
                "\"Solution Text\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertSolutionAnswer[]), Delimiter, 
                "\"Q&A | Tech Notes | More\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertQAndATechNotesMore[]), 
                "\"Question\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertQuestion[]), 
                "\"Answer\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertAnswer[]), 
                "\"Tech Note\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertTechNote[]), 
                "\"More to Explore\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertMoreExplore[]), Delimiter, 
                "\"References Section\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTInsertReferencesSection[]), 
                "\"Add Reference\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTAddReferenceCell[]), Delimiter, 
                "\"Comment\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTApplyComment[])}, Appearance -> 
               "PopupMenu", FrameMargins -> 2.4], 
              ItemBox["", ItemSize -> Fit], 
              ActionMenuBox[
              "\"Function Name\"", {
               "\"Link\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTMakeSymbolLink[]), 
                "\"Format\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTFormatSymbol[])}, Appearance -> 
               "PopupMenu", Method -> "Queued", FrameMargins -> 2.4], 
              ButtonBox[
              "\"Resource Function Link\"", 
               ButtonFunction :> (Needs["WolframBookTools`"]; 
                WolframBookTools`WBTResourceFunctionLink[]), Evaluator -> 
               Automatic, Appearance -> "DialogBox", Method -> "Queued"], 
              ActionMenuBox[
              "\"Inline Format\"", {
               "\"Inline Code\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTConvertToInlineCode[]), 
                "\"Traditional Math\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTTraditionalFormCell[])}, Appearance -> 
               "PopupMenu", Method -> "Queued", FrameMargins -> 2.4], 
              ActionMenuBox[
              "\"Mark Cells\"", {
               "\"Tentative\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTApplyTentative[]), Delimiter, 
                "\"Print Only\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTApplyPrintOnly[]), 
                "\"Web Only\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTApplyWebOnly[]), Delimiter, 
                "\"Locked\"" :> (Needs["WolframBookTools`"]; 
                 WolframBookTools`WBTApplyLock[])}, Method -> "Queued", 
               FrameMargins -> 2.4], 
              ItemBox["", ItemSize -> Fit], 
              GridBox[{{
                 TooltipBox[
                  ButtonBox[
                  "\"Index Field\"", Appearance -> {"AbuttingRight"}, 
                   ButtonFunction :> (Needs["WolframBookTools`"]; 
                    WolframBookTools`WBTInsertIndexField[]), Evaluator -> 
                   Automatic, Method -> "Queued"], 
                  "First put the cursor in a cell to insert a corresponding \
field above to insert index entries.\nList main index entries corresponding \
to the cell separated by commas. Any associated sub-entries\nshould be put \
immediately after in braces.\nExample: programming{functional, rule based}, \
function, relation, lists{flat, nested}\n If $Language is \"ChineseSimplified\
\", \"ChineseTraditional\", \"Japanese\", \"Korean\" or \"Russian\"\ntwo \
index fields get inserted above a selected cell, the top one for inserting \
entries\nintended for the Englsh index and the bottom for the index in the \
language given by $Language.", TooltipDelay -> 0.3], 
                 TooltipBox[
                  ButtonBox[
                  "\"Toggle\"", Appearance -> {"AbuttingLeft"}, 
                   ButtonFunction :> (CurrentValue[
                    ButtonNotebook[], ScreenStyleEnvironment] = 
                    If[CurrentValue[
                    ButtonNotebook[], ScreenStyleEnvironment] === 
                    "Invisibles", "Working", "Invisibles"]), Evaluator -> 
                   Automatic, Method -> "Queued"], 
                  "Toggles index entry fields.", TooltipDelay -> 0.3]}}, 
               GridBoxItemSize -> {
                "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
               GridBoxSpacings -> {
                "ColumnsIndexed" -> {2 -> 0}, "Rows" -> {{Automatic}}}], 
              InterpretationBox[
               StyleBox[
                
                GraphicsBox[{}, BaselinePosition -> Baseline, 
                 ImageSize -> {4, 0}], CacheGraphics -> False], 
               Spacer[4]]}}]], "DockedCell", 
          CellFrameMargins -> {{0, 0}, {8, 8}}]}, CreateCellID -> True, 
       TrackCellChangeTimes -> False, ShowPredictiveInterface -> False, 
       AutoStyleOptions -> {
        "UndefinedSymbolStyle" -> 
         None}, $CellContext`GhostCellInEmptyNotebook -> False]}, Closed]], 
   Cell[
    CellGroupData[{
      Cell["Styles for Headers and Footers", "Section"], 
      Cell[
       StyleData["Header"], 
       PrintingOptions -> {"PageHeaderMargins" -> {28, 28}}, StyleMenuListing -> 
       None, FontFamily -> "Source Sans Pro", FontSize -> 8, FontWeight -> 
       "Regular", FontSlant -> "Plain", 
       PrivateFontOptions -> {"FontPostScriptName" -> "Automatic"}, FontColor -> 
       GrayLevel[0.45]], 
      Cell[
       StyleData["PageNumber"], CellMargins -> {{0, 0}, {4, 1}}, 
       StyleMenuListing -> None, FontFamily -> "Source Sans Pro", FontSize -> 
       8, FontWeight -> "Bold", FontSlant -> "Plain", 
       PrivateFontOptions -> {"FontPostScriptName" -> "Automatic"}, FontColor -> 
       GrayLevel[0]]}, Closed]], 
   Cell[
    CellGroupData[{
      Cell[
      "Custom Styles", "Section", 
       CellChangeTimes -> {{3.646611660445352*^9, 3.646611669493331*^9}}], 
      Cell[
       StyleData["Notebook"], WindowToolbars -> {}, PageWidth :> WindowWidth, 
       PrintingOptions -> {
        "FirstPageHeader" -> True, "InnerOuterMargins" -> {30, 30}, 
         "PaperOrientation" -> "Portrait", "PaperSize" -> {504, 720}, 
         "PrintingMargins" -> {{20, 20}, {54, 54}}}, CellLabelAutoDelete -> 
       False, ShowSyntaxStyles -> True, 
       LightDarkAutoColorRules -> <|"AllColors" -> True|>, MenuSortingValue -> 
       None, GraphicsBoxOptions -> {ImageSize -> 240}, 
       Graphics3DBoxOptions -> {ImageSize -> 240}], 
      Cell[
       StyleData["TOCPage"], CellSize -> {40, Inherited}, TextAlignment -> 
       Right, MenuSortingValue -> 20010, StyleMenuListing -> None, FontFamily -> 
       "Source Sans Pro", FontSize -> 18, FontWeight -> "Plain"], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["ContentsTitle"], CellMargins -> {{66, 66}, {4, 14}}, 
          MenuSortingValue -> 20000, FontFamily -> "Helvetica", FontSize -> 
          36, FontWeight -> "Bold", FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
         Cell[
          StyleData["ContentsTitle", "Printout"]]}, Open]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["TOCTitle"], CellMargins -> {{66, 66}, {4, 14}}, 
          CellGroupingRules -> {"SectionGrouping", 70}, TabSpacings -> 36, 
          CounterIncrements -> "TOCTitle", MenuSortingValue -> 20020, 
          FontFamily -> "Source Sans Pro", FontSize -> 18, FontWeight -> 
          "Bold", FontColor -> GrayLevel[0]], 
         Cell[
          StyleData["TOCTitle", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["TOCSection"], CellMargins -> {{95, 95}, {1, 1}}, 
          CellGroupingRules -> {"SectionGrouping", 75}, TabSpacings -> 34, 
          CounterIncrements -> "TOCSection", MenuSortingValue -> 20030, 
          FontFamily -> "Source Sans Pro", FontSize -> 16], 
         Cell[
          StyleData["TOCSection", "Printout"]]}, Closed]], 
      Cell[
       StyleData["Leader"], TabFilling -> ".", MenuSortingValue -> 10000, 
       StyleMenuListing -> None, FontFamily -> "Source Sans Pro", FontSize -> 
       18, FontWeight -> "Plain"], 
      Cell[
       StyleData["LeaderNoDots"], TabFilling -> " ", MenuSortingValue -> 
       10000, StyleMenuListing -> None, FontFamily -> "Source Sans Pro", 
       FontSize -> 18, FontWeight -> "Plain"], 
      Cell[
       StyleData["PageLink"], MenuSortingValue -> 10000, StyleMenuListing -> 
       None, ButtonStyleMenuListing -> Automatic, FontFamily -> 
       "Source Sans Pro", FontSize -> 18, FontColor -> 
       RGBColor[0.269993, 0.308507, 0.6], 
       ButtonBoxOptions -> {
        Active -> True, Appearance -> {Automatic, None}, 
         ButtonFunction :> (FrontEndExecute[{
            FrontEnd`NotebookLocate[#2]}]& )}], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Title"], CellMargins -> {{64, Inherited}, {50, 72}}, 
          MenuCommandKey :> None, FontFamily -> "Verdana", FontSize -> 42, 
          FontWeight -> "Bold", FontColor -> GrayLevel[0.4]], 
         Cell[
          StyleData["Title", "Printout"], 
          CellMargins -> {{64, Inherited}, {50, 72}}]}, Closed]], 
      Cell[
       StyleData["Chapter"], MenuCommandKey :> None], 
      Cell[
       StyleData["Subchapter"], MenuCommandKey :> None], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Section"], CellFrame -> {{0, 0}, {0, 0}}, 
          CellMargins -> {{64, Inherited}, {12, 64}}, 
          CellGroupingRules -> {"SectionGrouping", 30}, PageBreakAbove -> 
          True, ShowCellLabel -> False, 
          CellFrameLabelMargins -> {{2, Inherited}, {Inherited, Inherited}}, 
          CellChangeTimes -> {3.652728456208679*^9, 3.652728527108994*^9}, 
          CounterIncrements -> "Section", 
          CounterAssignments -> {{"Subsection", 0}, {"Subsubsection", 0}, {
            "Exercise", 0}}, FontFamily -> "Source Sans Pro Semibold", 
          FontSize -> 26, FontSlant -> "Plain", FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`], 
          InterpretationBoxOptions -> {Editable -> True}], 
         Cell[
          StyleData["Section", "Printout"], 
          CellMargins -> {{62, 4}, {52, 182}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["SectionSingleDigit"], CellFrame -> {{0, 0}, {0, 0}}, 
          CellDingbat -> Cell[
            TextData[
             CounterBox["Section"], 
             StyleBox[
             "|\[NegativeThinSpace]\[VeryThinSpace]", FontColor -> 
              RGBColor[
               0.9019607843137255, 0.4117647058823529, 0.027450980392156862`],
               FontFamily -> "Courier", FontSize -> 36, FontWeight -> Plain]],
             "SectionNumber"], CellMargins -> {{100, 100}, {12, 64}}, 
          Evaluatable -> True, CellGroupingRules -> {"SectionGrouping", 60}, 
          PageBreakAbove -> True, ShowCellLabel -> False, 
          CellFrameLabelMargins -> {{2, Inherited}, {Inherited, Inherited}}, 
          CellChangeTimes -> {3.652728456208679*^9, 3.652728527108994*^9}, 
          CounterIncrements -> "Section", 
          CounterAssignments -> {{"Subsection", 0}, {"Subsubsection", 0}, {
            "Exercise", 0}}, FontFamily -> "Source Sans Pro Semibold", 
          FontSize -> 26, FontSlant -> "Plain", FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`], 
          InterpretationBoxOptions -> {Editable -> True}], 
         Cell[
          StyleData["SectionSingleDigit", "Printout"], 
          CellMargins -> {{100, Inherited}, {12, 2}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["SectionDoubleDigit"], CellFrame -> {{0, 0}, {0, 0}}, 
          CellDingbat -> Cell[
            TextData[
             CounterBox["Section"], 
             StyleBox[
             "|\[NegativeThinSpace]\[VeryThinSpace]", FontColor -> 
              RGBColor[
               0.9019607843137255, 0.4117647058823529, 0.027450980392156862`],
               FontFamily -> "Courier", FontSize -> 36, FontWeight -> Plain]],
             "SectionNumber"], CellMargins -> {{112, Inherited}, {12, 64}}, 
          Evaluatable -> True, CellGroupingRules -> {"SectionGrouping", 60}, 
          PageBreakAbove -> True, ShowCellLabel -> False, 
          CellFrameLabelMargins -> {{2, Inherited}, {Inherited, Inherited}}, 
          CellChangeTimes -> {3.652728456208679*^9, 3.652728527108994*^9}, 
          CounterIncrements -> "Section", 
          CounterAssignments -> {{"Subsection", 0}, {"Subsubsection", 0}, {
            "Exercise", 0}}, FontFamily -> "Source Sans Pro Semibold", 
          FontSize -> 26, FontSlant -> "Plain", FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`], 
          InterpretationBoxOptions -> {Editable -> True}], 
         Cell[
          StyleData["SectionDoubleDigit", "Printout"], 
          CellMargins -> {{112, Inherited}, {12, 2}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["SectionNumber"], CellBaseline -> Baseline, FontFamily -> 
          "Source Sans Pro Semibold", FontSize -> 26, FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
         Cell[
          StyleData["SectionNumber", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["SectionBar"], FontFamily -> "Source Sans Pro", 
          FontWeight -> "Plain", FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
         Cell[
          StyleData["SectionBar", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["SectionInline"], FontFamily -> 
          "Source Sans Pro Semibold", FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
         Cell[
          StyleData["SectionInline", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["SectionNoDingbat"], 
          CellMargins -> {{64, Inherited}, {12, 64}}, Evaluatable -> True, 
          CellGroupingRules -> {"SectionGrouping", 60}, PageBreakAbove -> 
          True, ShowCellLabel -> False, 
          CellFrameLabelMargins -> {{2, Inherited}, {Inherited, Inherited}}, 
          CellChangeTimes -> {3.652728456208679*^9, 3.652728527108994*^9}, 
          CounterIncrements -> "Section", 
          CounterAssignments -> {{"Subsection", 0}, {"Subsubsection", 0}, {
            "Exercise", 0}}, FontFamily -> "Source Sans Pro Semibold", 
          FontSize -> 26, FontSlant -> "Plain", FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`], 
          InterpretationBoxOptions -> {Editable -> True}], 
         Cell[
          StyleData["SectionNoDingbat", "Printout"], 
          CellMargins -> {{64, Inherited}, {12, 2}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["SubsectionNumbered"], CellDingbat -> Cell[
            TextData[{"  ", 
              CounterBox["Section"], ".", 
              CounterBox["Subsection"]}], "SubsectionNumber", FontColor -> 
            RGBColor[
             0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
          CellMargins -> {{98, Inherited}, {Inherited, 32}}, 
          CounterIncrements -> "Subsection", FontFamily -> 
          "Source Sans Pro Semibold", FontSize -> 18, FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
         Cell[
          StyleData["SubsectionNumbered", "Printout"], 
          CellMargins -> {{102, Inherited}, {12, 32}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["SubsectionNumber"], FontFamily -> 
          "Source Sans Pro Semibold", FontSize -> 18, FontColor -> 
          GrayLevel[0.25]], 
         Cell[
          StyleData["SubsectionNumber", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["SubsectionFirst"], 
          CellMargins -> {{64, Inherited}, {2, 72}}, FontFamily -> 
          "Source Sans Pro Semibold", FontSize -> 18, FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
         Cell[
          StyleData["Subsection", "Printout"], 
          CellMargins -> {{64, Inherited}, {12, 32}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Subsection"], CellMargins -> {{64, Inherited}, {2, 32}}, 
          FontFamily -> "Source Sans Pro Semibold", FontSize -> 18, FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
         Cell[
          StyleData["Subsection", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Subsubsection"], 
          CellMargins -> {{64, Inherited}, {2, 32}}, FontFamily -> 
          "Source Sans Pro Semibold", FontSize -> 16, FontSlant -> "Italic", 
          FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
         Cell[
          StyleData["Subsubsection", "Printout"], 
          CellMargins -> {{64, Inherited}, {6, 14}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["SubsubsectionTopMargin"], 
          CellMargins -> {{64, Inherited}, {2, 14}}, FontFamily -> 
          "Source Sans Pro Semibold", FontSize -> 16, FontSlant -> "Italic", 
          FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
         Cell[
          StyleData["SubsubsectionTopMargin", "Printout"], 
          CellMargins -> {{64, Inherited}, {6, 14}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Subsubsubsection"], 
          CellMargins -> {{64, Inherited}, {2, 32}}, FontFamily -> 
          "Source Sans Pro Semibold", FontSize -> 15, FontSlant -> "Plain", 
          FontColor -> GrayLevel[0.45]], 
         Cell[
          StyleData["Subsubsubsection", "Printout"], 
          CellMargins -> {{64, Inherited}, {6, 14}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Subsubsubsubsection"], 
          CellMargins -> {{66, Inherited}, {2, 10}}, 
          StyleKeyMapping -> {
           "Backspace" -> 
            "Subsubsubsection", $CellContext`KeyEvent[
             "Tab", $CellContext`Modifiers -> {"Shift"}] -> 
            "Subsubsubsection"}, CellGroupingRules -> {"SectionGrouping", 70},
           PageBreakBelow -> False, LanguageCategory -> "NaturalLanguage", 
          CounterIncrements -> "Subsubsubsubsection", 
          CounterAssignments -> {{"Item", 0}, {"Subitem", 0}, {
            "Subsubitem", 0}, {"ItemNumbered", 0}, {"SubitemNumbered", 0}, {
            "SubsubitemNumbered", 0}}, MenuSortingValue -> None, FontFamily -> 
          "Source Sans Pro Semibold", FontSize -> 15, FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
         Cell[
          StyleData["Subsubsubsubsection", "Printout"], 
          CellMargins -> {{66, 66}, {2, 10}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["ResourcesSubsection"], 
          CellMargins -> {{64, Inherited}, {4, 16}}, FontFamily -> 
          "Source Sans Pro Semibold", FontSize -> 15, FontSlant -> "Plain", 
          FontColor -> GrayLevel[0]], 
         Cell[
          StyleData["ResourcesSubsection", "Printout"], 
          CellMargins -> {{64, Inherited}, {4, 16}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["VocabularySection"], CellFrame -> {{0, 0}, {0, 3}}, 
          CellMargins -> {{64, Inherited}, {8, 30}}, 
          CellGroupingRules -> {"SectionGrouping", 60}, PageBreakBelow -> 
          False, CellFrameMargins -> {{8, 8}, {4, 6}}, CellFrameColor -> 
          RGBColor[0.901961, 0.411765, 0.027451], FontFamily -> 
          "Source Sans Pro", FontSize -> 18, FontSlant -> "Italic", FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`], 
          GridBoxOptions -> {GridBoxAlignment -> {}}], 
         Cell[
          StyleData["VocabularySection", "Printout"], 
          CellMargins -> {{64, Inherited}, {8, 24}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["VocabularySubsection"], 
          CellMargins -> {{64, Inherited}, {2, 10}}, FontFamily -> 
          "Source Sans Pro", FontSize -> 16, FontSlant -> "Italic", FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
         Cell[
          StyleData["VocabularySubsubsection", "Printout"], 
          CellMargins -> {{64, Inherited}, {6, 14}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["VocabularySubsectionSM"], 
          CellFrame -> {{0, 0}, {0.75, 0}}, 
          CellMargins -> {{64, Inherited}, {5, 15}}, 
          CellFrameMargins -> {{8, 8}, {5, 6}}, CellFrameColor -> 
          RGBColor[0.901961, 0.411765, 0.027451], FontFamily -> 
          "Source Sans Pro", FontSize -> 14, FontWeight -> "Bold", FontSlant -> 
          "Regular", FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
         Cell[
          StyleData["VocabularySubsubsectionSM", "Printout"], 
          CellMargins -> {{64, Inherited}, {6, 15}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["VocabularyTable", StyleDefinitions -> StyleData["Text"]],
           SpanMaxSize -> 1, FontFamily -> "Source Sans Pro Light", FontColor -> 
          GrayLevel[0.8], 
          GridBoxOptions -> {
           GridBoxAlignment -> {"Columns" -> {{Left}}}, 
            GridBoxDividers -> {"Columns" -> {{False}}, "Rows" -> {False, {
                 Directive[
                  Thickness[0.5], "VocabDivColor"]}, False}}, 
            GridBoxItemStyle -> {
             "Columns" -> {"VocabularyCode", Inherited, Inherited}, 
              "Rows" -> {{Automatic}}}, 
            GridBoxSpacings -> {
             "Columns" -> {{0, 1, 2, 1, 2}}, "Rows" -> {{1}}}}], 
         Cell[
          StyleData["VocabularyTable", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData[
          "VocabularyTable3Column", StyleDefinitions -> StyleData["Text"]], 
          SpanMaxSize -> 1, FontFamily -> "Source Sans Pro Light", FontColor -> 
          GrayLevel[0.8], 
          GridBoxOptions -> {
           GridBoxAlignment -> {"Columns" -> {{Left}}}, 
            GridBoxDividers -> {"Columns" -> {{False}}, "Rows" -> {False, {
                 Directive[
                  Thickness[0.5], "VocabDivColor"]}, False}}, 
            GridBoxItemStyle -> {
             "Columns" -> {
               "VocabularyCode", Inherited, "VocabularyCode", Inherited, 
                Inherited}, "Rows" -> {{Automatic}}}, 
            GridBoxSpacings -> {
             "Columns" -> {{0, 1, 2, 1, 2}}, "Rows" -> {{1}}}}], 
         Cell[
          StyleData["VocabularyTable3Column", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["VocabularyText"], FontFamily -> "Source Sans Pro", 
          FontSize -> 14, FontWeight -> "Plain", FontSlant -> "Plain", 
          FontColor -> GrayLevel[0.25]], 
         Cell[
          StyleData["VocabularyText", "Printout"], 
          CellMargins -> {{66, 10}, {7, 7}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["VocabularyCode", StyleDefinitions -> StyleData["Text"]], 
          Deletable -> False, FontFamily -> "Source Sans Pro", FontSize -> 14,
           FontWeight -> "Bold", FontColor -> GrayLevel[0.25], 
          GridBoxOptions -> {
           GridBoxAlignment -> {"Columns" -> {{Left}}}, 
            GridBoxDividers -> {
             "Columns" -> {{False}}, "ColumnsIndexed" -> {}, 
              "Rows" -> {True, {True}, True}, "RowsIndexed" -> {}}}], 
         Cell[
          StyleData["VocabularyCode", "Printout"], FontColor -> 
          GrayLevel[0.25]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["GrayPointSix"], FontColor -> GrayLevel[0.6]], 
         Cell[
          StyleData["GrayPointSix", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["VocabDivColor"], FontColor -> GrayLevel[0.8]], 
         Cell[
          StyleData["VocabDivColor", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["SummarySection"], PageWidth :> WindowWidth, 
          CellFrame -> {{0, 0}, {0, 3}}, 
          CellMargins -> {{64, Inherited}, {8, 30}}, 
          CellGroupingRules -> {"SectionGrouping", 60}, PageBreakAbove -> 
          True, CellFrameMargins -> {{8, 8}, {4, 6}}, CellFrameColor -> 
          RGBColor[0.901961, 0.411765, 0.027451], MenuSortingValue -> 9000, 
          FontFamily -> "Source Sans Pro", FontSize -> 18, FontSlant -> 
          "Italic", FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`], 
          GridBoxOptions -> {GridBoxAlignment -> {}}], 
         Cell[
          StyleData["SummarySection", "Printout"], 
          CellMargins -> {{64, 64}, {8, 30}}]}, Open]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["SummaryNote"], PageWidth :> WindowWidth, 
          CellMargins -> {{64, 64}, {4, 8}}, ReturnCreatesNewCell -> True, 
          PageBreakBelow -> False, MenuSortingValue -> 9010, FontFamily -> 
          "Source Sans Pro", FontSize -> 14, FontWeight -> "Plain", FontSlant -> 
          "Plain", FontColor -> GrayLevel[0.25]], 
         Cell[
          StyleData["SummaryNote", "Printout"], 
          CellMargins -> {{68, 68}, {4, 8}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["SummaryList"], PageWidth :> WindowWidth, CellDingbat -> 
          Cell[
            TextData[{"\[FilledSmallSquare]"}], FontSize -> 12, FontColor -> 
            GrayLevel[0.5]], CellMargins -> {{78, 78}, {4, 8}}, 
          ReturnCreatesNewCell -> True, CellFrameLabelMargins -> 3, 
          LineSpacing -> {1.25, 1., 2.}, MenuSortingValue -> 9020, FontFamily -> 
          "Source Sans Pro", FontSize -> 14, FontWeight -> "Plain", FontSlant -> 
          "Plain", FontColor -> GrayLevel[0.25]], 
         Cell[
          StyleData["SummaryList", "Printout"], 
          CellMargins -> {{82, 82}, {4, 8}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["ExerciseSection"], CellFrame -> {{0, 0}, {0, 3}}, 
          CellMargins -> {{64, Inherited}, {8, 30}}, Evaluatable -> True, 
          CellGroupingRules -> {"SectionGrouping", 60}, PageBreakBelow -> 
          False, ShowCellLabel -> False, CellFrameMargins -> {{8, 8}, {4, 6}},
           CellFrameColor -> RGBColor[0.901961, 0.411765, 0.027451], 
          CounterAssignments -> {{"Subsection", 0}, {"Subsubsection", 0}, {
            "Exercise", 0}}, FontFamily -> "Source Sans Pro", FontSize -> 18, 
          FontSlant -> "Italic", FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`], 
          GridBoxOptions -> {GridBoxAlignment -> {}}], 
         Cell[
          StyleData["ExerciseSection", "Printout"], 
          CellMargins -> {{64, Inherited}, {8, 30}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["ExerciseSubsection"], PageWidth :> 500, 
          CellFrame -> {{False, False}, {1, False}}, 
          CellMargins -> {{64, Inherited}, {8, 18}}, 
          CellGroupingRules -> {"SectionGrouping", 61}, CellFrameColor -> 
          RGBColor[0.65, 0.6, 0.6], FontFamily -> "Source Sans Pro", FontSize -> 
          18, FontSlant -> "Italic", FontColor -> RGBColor[0.65, 0.6, 0.6]], 
         Cell[
          StyleData["ExerciseSubsection", "Printout"], 
          CellFrame -> {{False, False}, {1, False}}, CellFrameColor -> 
          RGBColor[0.65, 0.6, 0.6]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["ExerciseSubsectionSM"], 
          CellMargins -> {{64, Inherited}, {4, 12}}, 
          CellGroupingRules -> {"SectionGrouping", 61}, FontFamily -> 
          "Source Sans Pro Semibold", FontSize -> 15, FontSlant -> "Plain", 
          FontColor -> GrayLevel[0]], 
         Cell[
          StyleData["ExerciseSubsectionSM", "Printout"], 
          CellMargins -> {{64, Inherited}, {4, 12}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Exercise"], CellDingbat -> Cell[
            TextData[{"  ", 
              CounterBox["Section"], ".", 
              CounterBox["Exercise"]}], "ExerciseNumber", FontColor -> 
            RGBColor[
             0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
          ShowGroupOpener -> False, CellMargins -> {{106, Inherited}, {4, 8}},
           CellGroupingRules -> {"SectionGrouping", 62}, DefaultNewCellStyle -> 
          "ExerciseInput", CounterIncrements -> "Exercise", MenuSortingValue -> 
          10020, MenuCommandKey :> "2", FontFamily -> "Source Sans Pro", 
          FontSize -> 14, FontWeight -> "Plain", FontSlant -> "Plain", 
          FontColor -> GrayLevel[0.25]], 
         Cell[
          StyleData["Exercise", "Printout"], ShowGroupOpener -> False, 
          CellMargins -> {{108, Inherited}, {4, 8}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["ExerciseNumber"], FontFamily -> "Source Sans Pro", 
          FontSize -> 14, FontWeight -> "Bold", FontColor -> GrayLevel[0.25]], 
         Cell[
          StyleData["ExerciseNumber", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["ExerciseSectionNote"], 
          CellMargins -> {{64, Inherited}, {4, 8}}, ReturnCreatesNewCell -> 
          True, CellGroupingRules -> {"SectionGrouping", 62.}, PageBreakBelow -> 
          False, LineSpacing -> {1., 1., 2.}, MenuSortingValue -> 10050, 
          FontFamily -> "Source Sans Pro", FontSize -> 14, FontWeight -> 
          "Plain", FontSlant -> "Plain", FontColor -> GrayLevel[0.25]], 
         Cell[
          StyleData["ExerciseSectionNote", "Printout"], 
          CellMargins -> {{64, Inherited}, {4, 8}}, 
          LineSpacing -> {0.8, 1., 2.}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["ExerciseNote"], 
          CellMargins -> {{106, Inherited}, {4, 8}}, ReturnCreatesNewCell -> 
          True, CellGroupingRules -> {"SectionGrouping", 62.}, PageBreakBelow -> 
          False, LineSpacing -> {1., 1., 2.}, MenuSortingValue -> 10050, 
          FontFamily -> "Source Sans Pro", FontSize -> 14, FontWeight -> 
          "Plain", FontSlant -> "Plain", FontColor -> GrayLevel[0.25]], 
         Cell[
          StyleData["ExerciseNote", "Printout"], 
          LineSpacing -> {0.8, 1., 2.}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["ExerciseSolution"], ShowGroupOpener -> "Inline", 
          CellMargins -> {{106, Inherited}, {4, 8}}, ReturnCreatesNewCell -> 
          True, CellGroupingRules -> {"SectionGrouping", 62.}, PageBreakBelow -> 
          False, CellChangeTimes -> {3.938884624675207*^9}, 
          LineSpacing -> {1., 1., 2.}, 
          CounterAssignments -> {{"ItemNumbered", 0}}, LineColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`], 
          FrontFaceColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`], 
          BackFaceColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`], 
          GraphicsColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`], 
          MenuSortingValue -> 10050, FontFamily -> "Source Sans Pro Semibold",
           FontSize -> 14, FontSlant -> "Plain", FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
         Cell[
          StyleData["ExerciseSolution", "Printout"], 
          CellMargins -> {{106, Inherited}, {4, 8}}, 
          LineSpacing -> {0.8, 1., 2.}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["SolutionAnswer"], CellMargins -> {{106, 10}, {4, 1}}, 
          ReturnCreatesNewCell -> True, LineSpacing -> {1.125, 1., 2.}, 
          MenuSortingValue -> 10032, FontFamily -> "Source Sans Pro", 
          FontSize -> 14, FontWeight -> "Plain", FontSlant -> "Plain", 
          FontColor -> 
          GrayLevel[0.25], $CellContext`DefaultReturnCreatedCellStyle -> 
          "Question"], 
         Cell[
          StyleData["SolutionAnswer", "Printout"], 
          CellMargins -> {{106, 10}, {4, 1}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["SolutionItem"], CellDingbat -> Cell[
            TextData[{
              CounterBox["ItemNumbered"], ")"}], FontSize -> 14, FontWeight -> 
            "Regular", FontColor -> GrayLevel[0.25]], 
          CellMargins -> {{122, Inherited}, {2, 4}}, ReturnCreatesNewCell -> 
          True, CellFrameLabelMargins -> 4, LineSpacing -> {1.25, 1., 2.}, 
          CounterIncrements -> "ItemNumbered", MenuSortingValue -> 10040, 
          FontFamily -> "Source Sans Pro", FontSize -> 14, FontWeight -> 
          "Plain", FontSlant -> "Plain", FontColor -> GrayLevel[0.25]], 
         Cell[
          StyleData["SolutionItem", "Printout"], 
          CellMargins -> {{106, Inherited}, {2, 4}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["QASection"], CellFrame -> {{0, 0}, {0, 3}}, 
          CellMargins -> {{64, Inherited}, {8, 30}}, 
          CellGroupingRules -> {"SectionGrouping", 60}, PageBreakBelow -> 
          False, CellFrameMargins -> {{8, 8}, {4, 6}}, CellFrameColor -> 
          RGBColor[0.901961, 0.411765, 0.027451], 
          CounterAssignments -> {{"Subsection", 0}, {"Subsubsection", 0}, {
            "Question", 0}}, FontFamily -> "Source Sans Pro", FontSize -> 18, 
          FontSlant -> "Italic", FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`], 
          GridBoxOptions -> {GridBoxAlignment -> {}}], 
         Cell[
          StyleData["QASection", "Printout"], 
          CellMargins -> {{64, Inherited}, {8, 30}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Question"], CellMargins -> {{64, Inherited}, {2, 12}}, 
          ReturnCreatesNewCell -> True, PageBreakBelow -> False, 
          CounterIncrements -> "Question", MenuSortingValue -> 10030, 
          MenuCommandKey :> "3", FontFamily -> "Source Sans Pro", FontSize -> 
          14, FontWeight -> "Bold", FontSlant -> 
          "Plain", $CellContext`DefaultReturnCreatedCellStyle -> "Answer"], 
         Cell[
          StyleData["Question", "Printout"], 
          CellMargins -> {{65, Inherited}, {2, 12}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Answer"], CellMargins -> {{66, 10}, {4, 1}}, 
          ReturnCreatesNewCell -> True, LineSpacing -> {1.125, 1., 2.}, 
          MenuSortingValue -> 10032, FontFamily -> "Source Sans Pro", 
          FontSize -> 14, FontWeight -> "Plain", FontSlant -> "Plain", 
          FontColor -> 
          GrayLevel[0.25], $CellContext`DefaultReturnCreatedCellStyle -> 
          "Question"], 
         Cell[
          StyleData["Answer", "Printout"], 
          CellMargins -> {{66, 10}, {4, 1}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["QuestionNumber"], FontFamily -> "Source Sans Pro", 
          FontSize -> 14, FontWeight -> "Bold", FontColor -> GrayLevel[0.25]], 
         Cell[
          StyleData["QuestionNumber", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["TechNoteSection"], CellFrame -> {{0, 0}, {0, 3}}, 
          CellMargins -> {{64, Inherited}, {8, 30}}, 
          CellGroupingRules -> {"SectionGrouping", 60}, PageBreakBelow -> 
          False, CellFrameMargins -> {{8, 8}, {4, 6}}, CellFrameColor -> 
          RGBColor[0.901961, 0.411765, 0.027451], FontFamily -> 
          "Source Sans Pro", FontSize -> 18, FontSlant -> "Italic", FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`], 
          GridBoxOptions -> {GridBoxAlignment -> {}}], 
         Cell[
          StyleData["TechNoteSection", "Printout"], 
          CellMargins -> {{64, Inherited}, {8, 30}}]}, Open]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["TechNoteSubsection"], 
          CellMargins -> {{64, Inherited}, {2, 10}}, FontFamily -> 
          "Source Sans Pro", FontSize -> 16, FontSlant -> "Italic", FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
         Cell[
          StyleData["TechNoteSubsubsection", "Printout"], 
          CellMargins -> {{64, Inherited}, {6, 14}}]}, Open]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["TechNoteItem"], CellDingbat -> Cell[
            TextData[{
              CounterBox["ItemNumbered"], "."}], FontSize -> 12, FontWeight -> 
            Bold, FontColor -> GrayLevel[0.25]], 
          CellMargins -> {{93, Inherited}, {4, 8}}, ReturnCreatesNewCell -> 
          True, CellFrameLabelMargins -> 4, 
          CellChangeTimes -> {{3.651515120816633*^9, 3.651515125814807*^9}, 
            3.6515155174947033`*^9}, LineSpacing -> {1.25, 1., 2.}, 
          CounterIncrements -> "ItemNumbered", MenuSortingValue -> 10040, 
          FontFamily -> "Source Sans Pro", FontSize -> 14, FontWeight -> 
          "Plain", FontSlant -> "Plain", FontColor -> GrayLevel[0.25]], 
         Cell[
          StyleData["TechNoteItem", "Printout"], 
          CellMargins -> {{93, Inherited}, {4, 8}}]}, Open]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["TechNoteNoDingbat"], 
          CellMargins -> {{82, Inherited}, {4, 8}}, ReturnCreatesNewCell -> 
          True, CellFrameLabelMargins -> 4, LineSpacing -> {1.25, 1., 2.}, 
          MenuSortingValue -> 10040, FontFamily -> "Source Sans Pro", 
          FontSize -> 14, FontWeight -> "Plain", FontSlant -> "Plain", 
          FontColor -> GrayLevel[0.25]], 
         Cell[
          StyleData["TechNote", "Printout"], 
          CellMargins -> {{82, Inherited}, {4, 8}}]}, Open]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["TechNote"], CellDingbat -> Cell[
            TextData[{"\[FilledSquare]"}], FontSize -> 12, FontColor -> 
            GrayLevel[0.5]], CellMargins -> {{78, Inherited}, {4, 8}}, 
          ReturnCreatesNewCell -> True, CellFrameLabelMargins -> 4, 
          LineSpacing -> {1.25, 1., 2.}, MenuSortingValue -> 10040, 
          FontFamily -> "Source Sans Pro", FontSize -> 14, FontWeight -> 
          "Plain", FontSlant -> "Plain", FontColor -> GrayLevel[0.25]], 
         Cell[
          StyleData["TechNote", "Printout"]]}, Open]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["TechNoteInput", StyleDefinitions -> StyleData["Input"]], 
          CellMargins -> {{99, 10}, {3, 7}}, SpanMaxSize -> 1, FontSize -> 
          14], 
         Cell[
          StyleData["TechNoteInput", "Printout"], 
          CellMargins -> {{99, 10}, {3, 7}}]}, Open]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData[
          "TechNoteOutput", StyleDefinitions -> StyleData["Output"]], 
          CellMargins -> {{99, 10}, {14, 7}}, FontSize -> 14], 
         Cell[
          StyleData["TechNoteOutput", "Printout"], 
          CellMargins -> {{99, 10}, {14, 7}}]}, Open]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["MoreExploreSection"], CellFrame -> {{0, 0}, {0, 3}}, 
          CellMargins -> {{64, Inherited}, {8, 30}}, 
          CellGroupingRules -> {"SectionGrouping", 60}, PageBreakBelow -> 
          False, CellFrameMargins -> {{8, 8}, {4, 6}}, CellFrameColor -> 
          RGBColor[0.901961, 0.411765, 0.027451], FontFamily -> 
          "Source Sans Pro", FontSize -> 18, FontSlant -> "Italic", FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`], 
          GridBoxOptions -> {GridBoxAlignment -> {}}], 
         Cell[
          StyleData["MoreExploreSection", "Printout"], 
          CellMargins -> {{64, Inherited}, {8, 30}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["MoreExplore"], CellMargins -> {{64, Inherited}, {4, 8}}, 
          ReturnCreatesNewCell -> True, PageBreakBelow -> False, 
          MenuSortingValue -> 10050, FontFamily -> "Source Sans Pro", 
          FontSize -> 14, FontWeight -> "Plain", FontSlant -> "Plain", 
          FontColor -> GrayLevel[0]], 
         Cell[
          StyleData["MoreExplore", "Printout"], 
          CellMargins -> {{64, Inherited}, {4, 8}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["MoreExploreShortURL"], 
          CellMargins -> {{64, Inherited}, {4, 8}}, PageBreakBelow -> False, 
          FontFamily -> "Source Sans Pro Light", FontSize -> 14, FontSlant -> 
          "Plain", FontColor -> GrayLevel[0]], 
         Cell[
          StyleData["MoreExploreShortURL", "Printout"], 
          CellMargins -> {{64, Inherited}, {4, 8}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["TakeawaysSection"], CellFrame -> {{1, 1}, {1, 1}}, 
          CellMargins -> {{52, -12}, {-1, 30}}, 
          CellGroupingRules -> {"SectionGrouping", 60}, PageBreakBelow -> 
          False, CellFrameMargins -> {{16, 8}, {6, 6}}, CellFrameColor -> 
          RGBColor[0.901961, 0.411765, 0.027451], FontFamily -> 
          "Source Sans Pro", FontSize -> 15, FontWeight -> "Bold", FontSlant -> 
          "Plain", 
          PrivateFontOptions -> {"FontPostScriptName" -> "Automatic"}, 
          FontColor -> GrayLevel[1], Background -> 
          RGBColor[0.901961, 0.411765, 0.027451]], 
         Cell[
          StyleData["TakeawaysSection", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["TakeawaysHeader"], 
          CellMargins -> {{64, Inherited}, {5, 15}}, 
          CellFrameMargins -> {{8, 8}, {5, 6}}, CellFrameColor -> 
          RGBColor[0.901961, 0.411765, 0.027451], FontFamily -> 
          "Source Sans Pro", FontSize -> 15, FontWeight -> "SemiBold", 
          FontSlant -> "Regular", FontColor -> GrayLevel[0]], 
         Cell[
          StyleData["TakeawaysHeader", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["TakeawaysTable"], CellFrame -> {{0, 0}, {0, 0}}, 
          CellMargins -> {{52, -12}, {12, -1}}, ReturnCreatesNewCell -> True, 
          CellFrameMargins -> {{18, 12}, {20, 12}}, CellFrameLabelMargins -> 
          6, LineSpacing -> {1.25, 1., 2.}, SpanMaxSize -> 1, FontFamily -> 
          "Source Sans Pro Light", FontColor -> GrayLevel[0.25], Background -> 
          RGBColor[1., 0.9490196078431372, 0.8509803921568627], 
          GridBoxOptions -> {
           GridBoxAlignment -> {"Columns" -> {{Left}}}, 
            GridBoxDividers -> {"Columns" -> {{False}}, "Rows" -> {False}}, 
            GridBoxItemStyle -> {
             "Columns" -> {"TakeawaysDingbat", Inherited}, 
              "Rows" -> {{SpanFromLeft, Automatic}}}, 
            GridBoxSpacings -> {"Columns" -> {{0.5}}, "Rows" -> {{0.75}}}}], 
         Cell[
          StyleData["TakeawaysTable", "Printout"], 
          CellMargins -> {{51.5, -12.5}, {12, 0}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["TakeawaysText"], FontFamily -> "Source Sans Pro", 
          FontSize -> 14, FontWeight -> "Plain", FontSlant -> "Plain", 
          FontColor -> GrayLevel[0]], 
         Cell[
          StyleData["TakeawaysText", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData[
          "TakeawaysDingbat", StyleDefinitions -> StyleData["Text"]], 
          FontFamily -> "Source Sans Pro", FontSize -> 10, FontWeight -> 
          "SemiBold", FontColor -> RGBColor[0.901961, 0.411765, 0.027451], 
          GridBoxOptions -> {
           GridBoxAlignment -> {"Columns" -> {{Left}}}, 
            GridBoxDividers -> {
             "Columns" -> {{False}}, "ColumnsIndexed" -> {}, 
              "Rows" -> {True, {True}, True}, "RowsIndexed" -> {}}}], 
         Cell[
          StyleData["TakeawaysDingbat", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["CodeText", StyleDefinitions -> StyleData["Text"]], 
          CellMargins -> {{66, 10}, {3, 15}}, LineSpacing -> {1, 1, 1}, 
          MenuSortingValue -> 1540, 
          MenuCommandKey :> $CellContext`MenuKey[
           "7", $CellContext`Modifiers -> {"Shift"}], FontFamily -> 
          "Source Sans Pro", FontSize -> 16, FontColor -> GrayLevel[0.25]], 
         Cell[
          StyleData["CodeText", "Printout"], 
          CellMargins -> {{66, 10}, {4, 12}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["CodeCaption"], CellFrame -> {{0, 0}, {0, 0}}, 
          CellMargins -> {{66, 10}, {4, 12}}, PageBreakBelow -> False, 
          CellFrameColor -> GrayLevel[0.4], LineSpacing -> {1, 1, 1}, 
          MenuSortingValue -> 10010, MenuCommandKey :> "1", FontFamily -> 
          "Source Sans Pro", FontSize -> 16, FontColor -> GrayLevel[0.25]], 
         Cell[
          StyleData["CodeCaption", "Printout"], 
          CellMargins -> {{66, 10}, {4, 12}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["DisplayFormula"], CellMargins -> {{99, 15}, {2, 12}}, 
          StripStyleOnPaste -> True, DefaultFormatType -> 
          DefaultInputFormatType, 
          HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"},
           LanguageCategory -> "Formula", ScriptLevel -> 0, 
          SingleLetterItalics -> True, MenuSortingValue -> 1700, FontFamily -> 
          "Baskerville", FontSize -> 16, FontWeight -> "Regular", FontSlant -> 
          "Plain", 
          PrivateFontOptions -> {"FontPostScriptName" -> "Automatic"}, 
          FontColor -> GrayLevel[0.2], 
          UnderoverscriptBoxOptions -> {LimitsPositioning -> True}], 
         Cell[
          StyleData["DisplayFormula", "Printout"], 
          CellMargins -> {{99, Inherited}, {Inherited, Inherited}}]}, 
        Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData[
          "DisplayFormulaNumbered", StyleDefinitions -> 
           StyleData["DisplayFormula"]], CellFrameLabels -> {{None, 
             Cell[
              TextData[{"(", 
                CounterBox["DisplayFormulaNumbered"], ")"}], 
              "DisplayFormulaEquationNumber", CellSize -> {36, Inherited}]}, {
            None, None}}, 
          CellFrameLabelMargins -> {{Inherited, 6}, {Inherited, Inherited}}, 
          TextAlignment -> Left, CounterIncrements -> 
          "DisplayFormulaNumbered", MenuSortingValue -> 1710, FontFamily -> 
          "Baskerville", FontSize -> 16, FontWeight -> "Regular", FontSlant -> 
          "Plain", 
          PrivateFontOptions -> {"FontPostScriptName" -> "Automatic"}], 
         Cell[
          StyleData["DisplayFormulaNumbered", "Printout"], 
          CellMargins -> {{99, 19}, {Inherited, Inherited}}, 
          CellFrameMargins -> {{Inherited, Inherited}, {
            Inherited, Inherited}}]}, Open]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Print"], CellMargins -> {{99, 10}, {4, 4}}, FontSize -> 
          15], 
         Cell[
          StyleData["Print", "Presentation"], 
          CellMargins -> {{100, Inherited}, {1.5 Inherited, 1.5 Inherited}}], 
         
         Cell[
          StyleData["Print", "SlideShow"], 
          CellMargins -> {{
            0.135 FrontEnd`AbsoluteCurrentValue[{WindowSize, 1}], 0.01 
             FrontEnd`AbsoluteCurrentValue[{WindowSize, 1}]}, {8, 15}}, 
          FontSize -> 18], 
         Cell[
          StyleData["Print", "Condensed"], 
          CellMargins -> {{18, Inherited}, {Inherited, Inherited}}], 
         Cell[
          StyleData["Print", "Printout"], 
          CellMargins -> {{49, Inherited}, {Inherited, Inherited}}], 
         Cell[
          StyleData["Print", "PrintoutGray"], 
          CellMargins -> {{49, Inherited}, {Inherited, Inherited}}]}, 
        Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Item"], CellDingbat -> 
          StyleBox[
           "\:203a", Alignment -> Baseline, FontFamily -> Automatic, FontSize -> 
            18, FontWeight -> GrayLevel[0], 
            RGBColor[
            0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
          CellMargins -> {{81, 10}, {4, 8}}, ReturnCreatesNewCell -> True, 
          StyleKeyMapping -> {"Tab" -> "Subitem", "*" -> "Subitem"}, 
          CellGroupingRules -> {"GroupTogetherNestedGrouping", 15000}, 
          CellFrameLabelMargins -> 4, CounterIncrements -> "Item", 
          CounterAssignments -> {{"Subitem", 0}, {"Subsubitem", 0}}, 
          MenuSortingValue -> 1600, FontFamily -> "Source Sans Pro", FontSize -> 
          15], 
         Cell[
          StyleData["Item", "Printout"], CellDingbat -> 
          StyleBox[
           "\:203a", Alignment -> Baseline, FontSize -> 17, FontFamily -> 
            "Automatic", FontWeight -> "Black", 
            RGBColor[
            0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
          CellMargins -> {{80, Inherited}, {Inherited, Inherited}}, 
          CellDingbatMargin -> 2, 
          CellGroupingRules -> {
           "GroupTogetherNestedGrouping", 1.073741821*^9}, 
          CellChangeTimes -> {{3.8855684925344043`*^9, 
           3.885568495926271*^9}, {3.885643888233819*^9, 
           3.885643900721007*^9}}]}, Open]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["ItemParagraph"], CellMargins -> {{81, 10}, {4, 1}}, 
          ReturnCreatesNewCell -> True, 
          StyleKeyMapping -> {"Tab" -> "SubitemParagraph"}, 
          CellGroupingRules -> {"GroupTogetherNestedGrouping", 15000}, 
          MenuSortingValue -> 1600, FontFamily -> "Source Sans Pro", FontSize -> 
          15, FontColor -> GrayLevel[0.2]], 
         Cell[
          StyleData["ItemParagraph", "Printout"], 
          CellMargins -> {{80, Inherited}, {Inherited, 0.5 Inherited}}]}, 
        Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["ItemNumbered"], CellDingbat -> Cell[
            TextData[{
              CounterBox["ItemNumbered"], "."}], FontWeight -> "Bold"], 
          CellMargins -> {{85, 10}, {4, 8}}, ReturnCreatesNewCell -> True, 
          StyleKeyMapping -> {"Tab" -> "SubitemNumbered"}, 
          CellGroupingRules -> {"GroupTogetherNestedGrouping", 15000}, 
          CellFrameLabelMargins -> 4, CounterIncrements -> "ItemNumbered", 
          CounterAssignments -> {{"SubitemNumbered", 0}, {
            "SubsubitemNumbered", 0}}, MenuSortingValue -> 1630, FontFamily -> 
          "Source Sans Pro", FontSize -> 15], 
         Cell[
          StyleData["ItemNumbered", "Printout"], 
          CellMargins -> {{90, Inherited}, {Inherited, Inherited}}]}, 
        Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Subitem"], CellDingbat -> 
          StyleBox[
           "\:203a", Alignment -> Baseline, FontSize -> 18, FontWeight -> 
            GrayLevel[0], 
            RGBColor[
            0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
          CellMargins -> {{105, 12}, {4, 4}}, ReturnCreatesNewCell -> True, 
          StyleKeyMapping -> {
           "Tab" -> "Subsubitem", "*" -> "Subsubitem", "Backspace" -> 
            "Item", $CellContext`KeyEvent[
             "Tab", $CellContext`Modifiers -> {"Shift"}] -> "Item"}, 
          CellGroupingRules -> {"ItemGrouping", 80}, CellFrameLabelMargins -> 
          4, CounterIncrements -> "Subitem", 
          CounterAssignments -> {{"Subsubitem", 0}}, MenuSortingValue -> 1610,
           FontFamily -> "Source Sans Pro", FontSize -> 14], 
         Cell[
          StyleData["Subitem", "Printout"], CellDingbat -> 
          StyleBox[
           "\:203a", Alignment -> Baseline, FontSize -> 17, FontFamily -> 
            "Automatic", FontWeight -> "Black", 
            RGBColor[
            0.9019607843137255, 0.4117647058823529, 0.027450980392156862`]], 
          CellMargins -> {{105, Inherited}, {Inherited, Inherited}}]}, 
        Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Subsubitem"], CellDingbat -> 
          StyleBox[
           "\:203a", Alignment -> Baseline, FontSize -> 18, FontWeight -> 
            GrayLevel[0], 
            RGBColor[0.6, 0.6, 0.6]], CellMargins -> {{129, 12}, {4, 4}}, 
          ReturnCreatesNewCell -> True, 
          StyleKeyMapping -> {
           "Backspace" -> 
            "Subitem", $CellContext`KeyEvent[
             "Tab", $CellContext`Modifiers -> {"Shift"}] -> "Subitem"}, 
          CellGroupingRules -> {"ItemGrouping", 90}, CellFrameLabelMargins -> 
          4, CounterIncrements -> "Subsubitem", MenuSortingValue -> 1620, 
          FontFamily -> "Source Sans Pro", FontSize -> 13], 
         Cell[
          StyleData["Subsubitem", "Printout"], CellDingbat -> 
          StyleBox[
           "\:203a", Alignment -> Baseline, FontSize -> 18, FontWeight -> 
            GrayLevel[0], 
            GrayLevel[0.65]], 
          CellMargins -> {{129, Inherited}, {Inherited, Inherited}}]}, 
        Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Note"], CellFrame -> {{0, 0}, {0, 1}}, 
          CellMargins -> {{66, 0}, {8, 6}}, ReturnCreatesNewCell -> True, 
          StyleKeyMapping -> {"Tab" -> "SubitemParagraph"}, 
          CellGroupingRules -> {"GroupTogetherNestedGrouping", 15000}, 
          CellFrameMargins -> {{14, 14}, {12, 12}}, CellFrameColor -> 
          RGBColor[0.901961, 0.411765, 0.027451], 
          LineSpacing -> {1.2, 1., 2.}, MenuSortingValue -> 1600, FontFamily -> 
          "Source Sans Pro", FontSize -> 15, FontColor -> GrayLevel[0.2], 
          Background -> RGBColor[1., 0.9647058823529412, 0.9411764705882353]], 
         Cell[
          StyleData["Note", "Printout"], CellMargins -> {{66, 0}, {10, 8}}, 
          FontSize -> 14]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Echo"], 
          CellMargins -> {{99, Inherited}, {Inherited, Inherited}}], 
         Cell[
          StyleData["Echo", "Printout"], 
          CellMargins -> {{99, Inherited}, {Inherited, Inherited}}]}, 
        Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["EchoTiming"], 
          CellMargins -> {{99, Inherited}, {Inherited, Inherited}}], 
         Cell[
          StyleData["EchoTiming", "Printout"], 
          CellMargins -> {{99, Inherited}, {Inherited, Inherited}}]}, 
        Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Epigraph"], CellMargins -> {{100, 78}, {6, 24}}, 
          CellFrameLabels -> {{None, None}, {None, None}}, 
          CellFrameLabelMargins -> 8, TextAlignment -> Left, Hyphenation -> 
          True, HyphenationOptions -> {"HyphenationMinLengths" -> {3, 5}}, 
          LineSpacing -> {1, 2}, TabSpacings -> {1.2, 2.5}, FontFamily -> 
          "Source Sans Pro", FontSize -> 18, FontWeight -> "Plain", FontSlant -> 
          "Plain"], 
         Cell[
          StyleData["Epigraph", "Printout", StyleDefinitions -> None]]}, 
        Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["EpigraphAuthor"], CellMargins -> {{125, 100}, {12, 12}}, 
          TextAlignment -> Left, LineSpacing -> {1, 2}, 
          ParagraphIndent -> -17, TabSpacings -> {1.5, 2.5}, FontFamily -> 
          "Source Sans Pro", FontSize -> 16, FontWeight -> "Plain", FontSlant -> 
          "Plain", FontTracking -> -0.05], 
         Cell[
          StyleData["EpigraphAuthor", "Printout", StyleDefinitions -> None]]},
         Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["ReferenceSection"], CellFrame -> {{0, 0}, {0, 3}}, 
          CellMargins -> {{64, Inherited}, {8, 30}}, 
          CellGroupingRules -> {"SectionGrouping", 60}, PageBreakBelow -> 
          False, CellFrameMargins -> {{8, 8}, {4, 6}}, CellFrameColor -> 
          RGBColor[0.901961, 0.411765, 0.027451], FontFamily -> 
          "Source Sans Pro", FontSize -> 18, FontSlant -> "Italic", FontColor -> 
          RGBColor[
           0.9019607843137255, 0.4117647058823529, 0.027450980392156862`], 
          GridBoxOptions -> {GridBoxAlignment -> {}}], 
         Cell[
          StyleData["ReferenceSection", "Printout"], 
          CellMargins -> {{64, Inherited}, {8, 30}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Reference"], CellDingbat -> Cell[
            TextData[{
              CounterBox["Reference"]}], "SR", FontSize -> 13, 
            CellSize -> {30, Inherited}, TextAlignment -> Right], 
          CellMargins -> {{80, 10}, {3, 4}}, 
          CellFrameLabels -> {{None, None}, {None, None}}, 
          CellFrameLabelMargins -> 8, 
          CellChangeTimes -> {{3.738599543211059*^9, 3.738599549834622*^9}}, 
          LineSpacing -> {1, 2}, ParagraphIndent -> -8, 
          TabSpacings -> {0.7, 2.5}, CounterIncrements -> "Reference", 
          MenuSortingValue -> 1870, FontFamily -> "Source Sans Pro", FontSize -> 
          14, FontWeight -> "Plain", FontSlant -> "Plain"], 
         Cell[
          StyleData["Reference", "Printout", StyleDefinitions -> None], 
          CellMargins -> {{66, 10}, {3, 4}}, TabSpacings -> {1.2, 2.5}]}, 
        Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["TextFirst"], CellMargins -> {{66, 10}, {4, 72}}, 
          ReturnCreatesNewCell -> True, FontFamily -> "Baskerville", FontSize -> 
          18, FontColor -> GrayLevel[0]], 
         Cell[
          StyleData["Text", "Printout"], CellMargins -> {{66, 10}, {7, 7}}]}, 
        Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Text"], CellMargins -> {{66, 10}, {4, 12}}, 
          ReturnCreatesNewCell -> True, 
          CellChangeTimes -> {{3.968834509197134*^9, 3.968834509700926*^9}}, 
          FontFamily -> "Baskerville", FontSize -> 18, FontColor -> 
          RGBColor[
           0.050002574846150734`, 0.050002574846150734`, 
            0.050002574846150734`]], 
         Cell[
          StyleData["Text", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["SmallText"], CellMargins -> {{66, 10}, {6, 6}}, 
          LineSpacing -> {1, 3}, TabSpacings -> {2.5}, LanguageCategory -> 
          "NaturalLanguage", CounterIncrements -> "SmallText", 
          MenuSortingValue -> 1750, StyleMenuListing -> None, FontFamily -> 
          "Source Sans Pro", FontSize -> 14, FontColor -> GrayLevel[0.2]], 
         Cell[
          StyleData["SmallText", "Printout"], 
          CellMargins -> {{66, 10}, {7, 7}}, Hyphenation -> True]}, Closed]], 
      
      Cell[
       CellGroupData[{
         Cell[
          StyleData["ResourcesText"], CellMargins -> {{66, 10}, {2, 0}}, 
          ReturnCreatesNewCell -> True, FontFamily -> "Source Sans Pro", 
          FontSize -> 14, FontWeight -> "Plain", FontSlant -> "Plain", 
          FontColor -> GrayLevel[0]], 
         Cell[
          StyleData["ResourcesText", "Printout"], 
          CellMargins -> {{66, 10}, {2, 0}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["ResourcesLink"], CellMargins -> {{66, 10}, {2, 0}}, 
          ReturnCreatesNewCell -> True, FontFamily -> "Source Sans Pro", 
          FontSize -> 14, FontWeight -> "Plain", FontSlant -> "Italic", 
          FontColor -> GrayLevel[0]], 
         Cell[
          StyleData["ResourcesLink", "Printout"], 
          CellMargins -> {{66, 10}, {2, 0}}]}, Open]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Input"], CellMargins -> {{99, 10}, {3, 7}}, CellEpilog :> 
          Quiet[Needs["WolframBookTools`"]; 
            WolframBookTools`AddCaptionsToRegeneratedOutput[]], SpanMaxSize -> 
          1, FontSize -> 15], 
         Cell[
          StyleData["Input", "Printout"], CellMargins -> {{99, 10}, {3, 7}}]},
         Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Output"], CellMargins -> {{99, 10}, {14, 7}}, FontSize -> 
          15], 
         Cell[
          StyleData["Output", "Printout"], 
          CellMargins -> {{99, 10}, {14, 7}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["InputOnly"], CellMargins -> {{99, 10}, {25, 10}}, 
          SpanMaxSize -> 1, MenuSortingValue -> 1500, FontSize -> 15], 
         Cell[
          StyleData["InputOnly", "Printout"], 
          CellMargins -> {{99, 10}, {15, 10}}]}, Closed]], 
      Cell[
       StyleData["InitializationCell"], Background -> None], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["CellLabel"], 
          CellLabelMargins -> {{18, Inherited}, {Inherited, Inherited}}, 
          LanguageCategory -> None, StyleMenuListing -> None, FontFamily -> 
          "Roboto", FontSize -> 9, FontWeight -> "Regular", FontSlant -> 
          "Plain", FontColor -> GrayLevel[0.5]], 
         Cell[
          StyleData["CellLabel", "Printout"], FontSize -> 8, FontColor -> 
          GrayLevel[0.3]]}, Closed]], 
      Cell[
       StyleData[
       "CellLabelExpired", StyleDefinitions -> StyleData["CellLabel"]], 
       CellLabelMargins -> 6, FontSlant -> Italic, FontTracking -> 0.4, 
       FontColor -> GrayLevel[0.3]], 
      Cell[
       StyleData["IconizedDefaultName"], FontSize -> 12, 
       PrivateFontOptions -> {"OperatorSubstitution" -> False}, FontColor -> 
       GrayLevel[0.15]], 
      Cell[
       StyleData["IconizedFrame"], 
       TemplateBoxOptions -> {
        DisplayFunction -> (
          FrameBox[#, BaselinePosition -> Baseline, 
           FrameMargins -> {{0, 0}, {1, 1}}, FrameStyle -> GrayLevel[0.65], 
           Background -> GrayLevel[0.96], RoundingRadius -> 4, 
           DefaultBaseStyle -> {
            "DialogStyle", FontFamily -> "Roboto", FontSize -> 11}]& ), 
         Tooltip -> None}], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Message"], Editable -> False, 
          CellMargins -> {{66, Inherited}, {Inherited, Inherited}}, 
          CellGroupingRules -> "OutputGrouping", TextClipboardType -> 
          "PlainText", StripStyleOnPaste -> True, PageBreakWithin -> False, 
          GroupPageBreakWithin -> False, GeneratedCell -> True, 
          CellAutoOverwrite -> True, ShowCellLabel -> False, 
          DefaultFormatType -> DefaultOutputFormatType, ContextMenu -> 
          FEPrivate`FrontEndResource["ContextMenus", "Output"], 
          ShowAutoStyles -> False, ShowSyntaxStyles -> False, 
          AutoStyleOptions -> {
           "StringStyle" -> None, "SyntaxErrorStyle" -> None}, 
          HyphenationOptions -> {"HyphenationCharacter" -> "\[Continuation]"},
           AutoItalicWords -> {}, AutoQuoteCharacters -> {}, 
          PasteAutoQuoteCharacters -> {}, LanguageCategory -> None, 
          FormatType -> InputForm, ShowStringCharacters -> False, 
          CounterIncrements -> "Message", MenuSortingValue -> 1600, 
          StyleMenuListing -> None, FontFamily :> 
          CurrentValue["PanelFontFamily"], FontSize -> 11, FontColor -> 
          RGBColor[0.5072, 0.16933, 0.15221]], 
         Cell[
          StyleData["Message", "Printout"], 
          CellMargins -> {{100, Inherited}, {Inherited, Inherited}}, 
          CellFrameLabels -> {{None, None}, {None, None}}, FontColor -> 
          GrayLevel[0]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["ExerciseInput", StyleDefinitions -> StyleData["Input"]], 
          CellMargins -> {{106, 10}, {4, 7}}, 
          GeneratedCellStyles -> {"Output" -> "ExerciseOutput"}, 
          ShowCellLabel -> False, SpanMaxSize -> 1, FontSize -> 14], 
         Cell[
          StyleData["ExerciseInput", "Printout"], 
          CellMargins -> {{106, 10}, {4, 7}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData[
          "ExerciseOutput", StyleDefinitions -> StyleData["Output"]], 
          CellMargins -> {{106, 10}, {10, 4}}, ShowCellLabel -> False, 
          FontSize -> 14], 
         Cell[
          StyleData["ExerciseOutput", "Printout"], 
          CellMargins -> {{106, 10}, {10, 4}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Picture"], CellMargins -> {{66, 10}, {10, 10}}, 
          CellGroupingRules -> "GraphicsGrouping", StyleMenuListing -> None], 
         
         Cell[
          StyleData["Picture", "Printout"], 
          CellMargins -> {{66, 10}, {8, 8}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Comment"], FontFamily -> "Verdana", FontSize -> 13, 
          FontColor -> RGBColor[0.3, 0.3, 0.2], Background -> 
          RGBColor[1, 0.9, 0.8]], 
         Cell[
          StyleData["Comment", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Suggestion"], 
          CellFrameLabels -> {{Inherited, Inherited}, {Inherited, 
             Cell[
              BoxData[
               TagBox[
                GridBox[{{
                   ButtonBox[
                   "\"  Insert  \"", 
                    ButtonFunction :> (Needs["DocuTools`"]; 
                    DocuTools`DocuToolsLoader[]; 
                    DocuTools`ReplaceWithSuggestion[]), Evaluator -> 
                    Automatic, 
                    BaseStyle -> {FontSize -> 10, FontFamily -> "Verdana"}, 
                    ContentPadding -> False, Appearance -> Automatic, Method -> 
                    "Queued"], 
                   ButtonBox[
                   "\"  Stet  \"", 
                    ButtonFunction :> (Needs["DocuTools`"]; 
                    DocuTools`DocuToolsLoader[]; DocuTools`StetSuggestion[]), 
                    Evaluator -> Automatic, 
                    BaseStyle -> {FontSize -> 10, FontFamily -> "Verdana"}, 
                    Appearance -> Automatic, Method -> "Queued"], "    ", 
                   ButtonBox[
                   "\"  Next  \"", 
                    ButtonFunction :> (Needs["DocuTools`"]; 
                    DocuTools`DocuToolsLoader[]; 
                    DocuTools`FindNextSuggestion[]), Evaluator -> Automatic, 
                    BaseStyle -> {FontSize -> 10, FontFamily -> "Verdana"}, 
                    Appearance -> Automatic, Method -> "Queued"], 
                   ButtonBox[
                   "\"  Previous  \"", 
                    ButtonFunction :> (Needs["DocuTools`"]; 
                    DocuTools`DocuToolsLoader[]; 
                    DocuTools`FindPreviousSuggestion[]), Evaluator -> 
                    Automatic, 
                    BaseStyle -> {FontSize -> 10, FontFamily -> "Verdana"}, 
                    Appearance -> Automatic, Method -> "Queued"], "\"\""}}, 
                 AutoDelete -> False, 
                 GridBoxItemSize -> {
                  "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}], 
                "Grid"]], ShowStringCharacters -> False, Background -> 
              None]}}, Background -> RGBColor[1, 0.8, 0.8]], 
         Cell[
          StyleData["Suggestion", "Printout"], 
          CellElementSpacings -> {"CellMinHeight" -> 0.1}, CellOpen -> False, 
          CellFrameMargins -> 0, FontSize -> 0.1, Magnification -> 0.01]}, 
        Open]], 
      Cell[
       StyleData["Tentative"], 
       CellBracketOptions -> {
        "Color" -> RGBColor[
          0.30000000000000016`, 0.6000000000000003, 0.7000000000000003], 
         "Thickness" -> 5}, Evaluatable -> False, CellFrameMargins -> 4, 
       StyleMenuListing -> None, Background -> 
       RGBColor[0.8500000000000003, 0.9500000000000003, 1]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["PrintOnly"], 
          CellBracketOptions -> {
           "Color" -> RGBColor[0.89, 0.867, 0.99], "Thickness" -> 5}, 
          CellFrameMargins -> 4, StyleMenuListing -> None, Background -> 
          RGBColor[0.89, 0.867, 0.99]], 
         Cell[
          StyleData["PrintOnly", "Printout"], 
          CellElementSpacings -> {"CellMinHeight" -> 0.1}, CellOpen -> False, 
          CellFrameMargins -> 0, FontSize -> 0.1, Magnification -> 0.01], 
         Cell[
          StyleData["Tentative", "Printout"], 
          CellElementSpacings -> {"CellMinHeight" -> 0.1}, CellOpen -> False, 
          CellFrameMargins -> 0, FontSize -> 0.1, Magnification -> 0.01]}, 
        Open]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["WebOnly"], 
          CellBracketOptions -> {
           "Color" -> RGBColor[0.91, 0.92, 0.9], "Thickness" -> 5}, 
          CellFrameMargins -> 4, StyleMenuListing -> None, Background -> 
          RGBColor[0.91, 0.92, 0.86]], 
         Cell[
          StyleData["WebOnly", "Printout"], 
          CellElementSpacings -> {"CellMinHeight" -> 0.1}, CellOpen -> False, 
          CellFrameMargins -> 0, FontSize -> 0.1, Magnification -> 0.01]}, 
        Open]], 
      Cell[
       StyleData["Lockdown"], 
       CellBracketOptions -> {
        "Color" -> RGBColor[0.8, 0.5, 0.4], "Thickness" -> 3}, Evaluatable -> 
       False, StyleMenuListing -> None], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["IndexField"], CellFrame -> True, CellFrameColor -> 
          GrayLevel[0.7], FontFamily -> "Verdana", FontSize -> 12], 
         Cell[
          StyleData["IndexField", "Invisibles"], CellFrame -> False, 
          ShowCellBracket -> False, CellOpen -> False, FontSize -> 1]}, 
        Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["ExplanationField"], CellFrame -> True, CellFrameColor -> 
          GrayLevel[0.7], FontFamily -> "Verdana", FontSize -> 12], 
         Cell[
          StyleData["ExplanationField", "Invisibles"], CellFrame -> False, 
          ShowCellBracket -> False, CellOpen -> False, FontSize -> 1]}, 
        Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["EnglishHighlight"], FontFamily -> "WolframCodeSans"], 
         Cell[
          StyleData["EnglishHighlight", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["SolvedExample"], CellMargins -> {{66, 30}, {0, 16}}, 
          CellBracketOptions -> {"OverlapContent" -> True}, 
          CellFrameMargins -> {{25, 13}, {10, 25}}, 
          LightDarkAutoColorRules -> <|"AllColors" -> True|>, 
          CounterIncrements -> "SolvedExample", FontFamily -> 
          "Source Sans Pro", FontSize -> 16.5, FontWeight -> "SemiBold", 
          FontColor -> 
          RGBColor[
           0.050002574846150734`, 0.050002574846150734`, 
            0.050002574846150734`], Background -> Hue[0.085, 0.07, 0.95]], 
         Cell[
          StyleData["SolvedExample", "Printout"], 
          CellMargins -> {{66, 0}, {0, 16}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData[
          "SolvedExampleNote", StyleDefinitions -> StyleData["Text"]], 
          CellMargins -> {{66, 30}, {0, 0}}, 
          CellBracketOptions -> {"OverlapContent" -> True}, 
          CellFrameMargins -> {{25, 13}, {10, 10}}, 
          LightDarkAutoColorRules -> <|"AllColors" -> True|>, FontSize -> 17, 
          FontColor -> 
          RGBColor[
           0.050002574846150734`, 0.050002574846150734`, 
            0.050002574846150734`], Background -> Hue[0.085, 0.07, 0.95]], 
         Cell[
          StyleData["SolvedExampleNote", "Printout"], 
          CellMargins -> {{66, 0}, {0, -6}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData[
          "SolvedExampleDisplayFormula", StyleDefinitions -> 
           StyleData["DisplayFormula"]], CellMargins -> {{66, 30}, {0, 0}}, 
          CellBracketOptions -> {"OverlapContent" -> True}, 
          CellFrameMargins -> {{32, Inherited}, {12, 8}}, TextAlignment -> 
          Left, LightDarkAutoColorRules -> <|"AllColors" -> True|>, FontSize -> 
          14, FontColor -> 
          RGBColor[
           0.050002574846150734`, 0.050002574846150734`, 
            0.050002574846150734`], Background -> Hue[0.085, 0.07, 0.95]], 
         Cell[
          StyleData["SolvedExampleDisplayFormula", "Printout"], 
          CellMargins -> {{66, 0}, {0, -6}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData[
          "SolvedExampleDisplayFormulaNumbered", StyleDefinitions -> 
           StyleData["DisplayFormula"]], CellMargins -> {{66, 40}, {0, 0}}, 
          CellBracketOptions -> {"OverlapContent" -> True}, 
          CellFrameMargins -> {{32, 46}, {12, 8}}, 
          CellFrameLabels -> {{None, 
             Cell[
              TextData[{"(", 
                CounterBox["SolvedExampleDisplayFormulaNumbered"], ")"}], 
              "DisplayFormulaEquationNumber", CellSize -> {36, Automatic}]}, {
            None, None}}, 
          CellFrameLabelMargins -> {{Inherited, -46}, {Inherited, Inherited}},
           TextAlignment -> Left, 
          LightDarkAutoColorRules -> <|"AllColors" -> True|>, 
          CounterIncrements -> "SolvedExampleDisplayFormulaNumbered", 
          FontSize -> 14, FontColor -> 
          RGBColor[
           0.050002574846150734`, 0.050002574846150734`, 
            0.050002574846150734`], Background -> Hue[0.085, 0.07, 0.95]], 
         Cell[
          StyleData["SolvedExampleDisplayFormulaNumbered", "Printout"], 
          CellMargins -> {{66, 0}, {0, -6}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData[
          "SolvedExampleInput", StyleDefinitions -> StyleData["Input"]], 
          CellMargins -> {{66, 30}, {0, 0}}, 
          CellBracketOptions -> {"OverlapContent" -> True}, 
          GeneratedCellStyles -> {
           "Message" -> "SolvedExampleMessage", "Output" -> 
            "SolvedExampleOutput"}, 
          CellFrameMargins -> {{32, Inherited}, {3, 7}}, 
          LightDarkAutoColorRules -> <|"AllColors" -> True|>, FontColor -> 
          RGBColor[
           0.050002574846150734`, 0.050002574846150734`, 
            0.050002574846150734`], Background -> Hue[0.085, 0.07, 0.95]], 
         Cell[
          StyleData["SolvedExampleInput", "Printout"], 
          CellMargins -> {{66, 0}, {0, -7}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData[
          "SolvedExampleOutput", StyleDefinitions -> StyleData["Output"]], 
          CellMargins -> {{66, 30}, {0, 0}}, 
          CellBracketOptions -> {"OverlapContent" -> True}, 
          CellFrameMargins -> {{32, Inherited}, {14, 7}}, 
          LightDarkAutoColorRules -> <|"AllColors" -> True|>, FontColor -> 
          RGBColor[
           0.050002574846150734`, 0.050002574846150734`, 
            0.050002574846150734`], Background -> Hue[0.085, 0.07, 0.95]], 
         Cell[
          StyleData["SolvedExampleOutput", "Printout"], 
          CellMargins -> {{66, 0}, {6, -6}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["SolvedExampleMessage"], 
          CellMargins -> {{66, 30}, {0, 0}}, 
          CellBracketOptions -> {"OverlapContent" -> True}, 
          CellFrameMargins -> {{25, 13}, {10, 10}}, 
          LightDarkAutoColorRules -> <|"AllColors" -> True|>, FontColor -> 
          RGBColor[
           0.050002574846150734`, 0.050002574846150734`, 
            0.050002574846150734`], Background -> Hue[0.085, 0.07, 0.95]], 
         Cell[
          StyleData["SolvedExampleMessage", "Printout"], 
          CellMargins -> {{66, 0}, {0, -6}}]}, Closed]], 
      Cell[
       StyleData["SolvedExampleEndCap"], CellMargins -> {{66, 30}, {0, 0}}, 
       CellBracketOptions -> {"OverlapContent" -> True}, 
       CellElementSpacings -> {"CellMinHeight" -> 20}, 
       CellFrameMargins -> {{10, 13}, {0, 0}}, 
       LightDarkAutoColorRules -> <|"AllColors" -> True|>, FontSize -> 2, 
       FontColor -> 
       RGBColor[
        0.050002574846150734`, 0.050002574846150734`, 0.050002574846150734`], 
       Background -> Hue[0.085, 0.07, 0.95]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Theorem"], Editable -> False, 
          CellMargins -> {{66, 30}, {0, 16}}, 
          CellBracketOptions -> {"OverlapContent" -> True}, 
          CellFrameMargins -> {{25, 13}, {0, 25}}, 
          CellChangeTimes -> {3.968922600990673*^9}, 
          LightDarkAutoColorRules -> <|"AllColors" -> True|>, 
          CounterIncrements -> "Subsection", FontFamily -> "Source Sans Pro", 
          FontSize -> 16.5, FontWeight -> "SemiBold", FontColor -> 
          RGBColor[
           0.00010000076130382223`, 0.007800042619928998, 
            0.13000297516585294`], Background -> Hue[0.57, 0.098, 0.996], 
          GridBoxOptions -> {
           GridBoxAlignment -> {
             "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, 
            GridBoxSpacings -> {
             "Columns" -> {{Automatic}}, "RowsIndexed" -> {2 -> 0}}}, 
          GraphicsBoxOptions -> {
           ImagePadding -> None, ImageSize -> {900, 1}, PlotRangePadding -> 
            0}], 
         Cell[
          StyleData["Theorem", "Printout"], CellMargins -> {{66, 0}, {0, 16}},
           CellChangeTimes -> {{3.965900023638689*^9, 
           3.965900023829352*^9}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData[
          "TheoremStatement", StyleDefinitions -> StyleData["Text"]], 
          CellMargins -> {{66, 30}, {0, 0}}, 
          CellBracketOptions -> {"OverlapContent" -> True}, 
          CellFrameMargins -> {{25, 13}, {10, 10}}, 
          LightDarkAutoColorRules -> <|"AllColors" -> True|>, FontSize -> 17, 
          FontColor -> 
          RGBColor[
           0.00010000076130382223`, 0.007800042619928998, 
            0.13000297516585294`], Background -> Hue[0.57, 0.098, 0.996]], 
         Cell[
          StyleData["TheoremStatement", "Printout"], 
          CellMargins -> {{66, 0}, {0, 0}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData[
          "ProofTheoremDisplayFormula", StyleDefinitions -> 
           StyleData["DisplayFormula"]], CellMargins -> {{66, 30}, {0, 0}}, 
          CellBracketOptions -> {"OverlapContent" -> True}, 
          CellFrameMargins -> {{32, Inherited}, {12, 8}}, 
          CellFrameLabelMargins -> {{Inherited, -26}, {Inherited, Inherited}},
           TextAlignment -> Left, 
          LightDarkAutoColorRules -> <|"AllColors" -> True|>, 
          MenuSortingValue -> 1710, FontFamily -> "Baskerville", FontSize -> 
          14, FontWeight -> "Regular", FontSlant -> "Plain", 
          PrivateFontOptions -> {"FontPostScriptName" -> "Automatic"}, 
          FontColor -> 
          RGBColor[
           0.00010000076130382223`, 0.007800042619928998, 
            0.13000297516585294`], Background -> Hue[0.57, 0.098, 0.996]], 
         Cell[
          StyleData["ProofTheoremDisplayFormula", "Printout"], 
          CellMargins -> {{66, 0}, {0, 0}}]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData[
          "ProofTheoremDisplayFormulaNumbered", StyleDefinitions -> 
           StyleData["DisplayFormula"]], CellMargins -> {{66, 40}, {0, 0}}, 
          CellBracketOptions -> {"OverlapContent" -> True}, 
          CellFrameMargins -> {{32, 46}, {12, 8}}, 
          CellFrameLabels -> {{None, 
             Cell[
              TextData[{"(", 
                CounterBox["ProofTheoremDisplayFormulaNumbered"], ")"}], 
              "DisplayFormulaEquationNumber", CellSize -> {36, Automatic}]}, {
            None, None}}, 
          CellFrameLabelMargins -> {{Inherited, -46}, {Inherited, Inherited}},
           TextAlignment -> Left, 
          LightDarkAutoColorRules -> <|"AllColors" -> True|>, 
          CounterIncrements -> "ProofTheoremDisplayFormulaNumbered", 
          MenuSortingValue -> 1710, FontFamily -> "Baskerville", FontSize -> 
          14, FontWeight -> "Regular", FontSlant -> "Plain", 
          PrivateFontOptions -> {"FontPostScriptName" -> "Automatic"}, 
          FontColor -> 
          RGBColor[
           0.00010000076130382223`, 0.007800042619928998, 
            0.13000297516585294`], Background -> Hue[0.57, 0.098, 0.996]], 
         Cell[
          StyleData["ProofTheoremDisplayFormulaNumbered", "Printout"], 
          CellMargins -> {{66, 0}, {0, 0}}]}, Open]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Proof"], Editable -> False, 
          CellMargins -> {{66, 30}, {0, 0}}, 
          CellBracketOptions -> {"OverlapContent" -> True}, 
          CellFrameMargins -> {{25, 13}, {0, 20}}, 
          LightDarkAutoColorRules -> <|"AllColors" -> True|>, FontFamily -> 
          "Source Sans Pro", FontSize -> 16.5, FontWeight -> "SemiBold", 
          FontColor -> 
          RGBColor[
           0.00010000076130382223`, 0.007800042619928998, 
            0.13000297516585294`], Background -> Hue[0.57, 0.098, 0.996], 
          GridBoxOptions -> {
           GridBoxAlignment -> {
             "Columns" -> {{Left}}, "Rows" -> {{Automatic}}}, 
            GridBoxSpacings -> {
             "Columns" -> {{Automatic}}, "RowsIndexed" -> {2 -> 0}}}, 
          GraphicsBoxOptions -> {
           ImagePadding -> None, ImageSize -> {900, 1}, PlotRangePadding -> 
            0}], 
         Cell[
          StyleData["Proof", "Printout"], CellMargins -> {{66, 0}, {0, 0}}]}, 
        Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["ProofContent", StyleDefinitions -> StyleData["Text"]], 
          CellMargins -> {{66, 30}, {0, 0}}, 
          CellBracketOptions -> {"OverlapContent" -> True}, 
          CellFrameMargins -> {{25, 13}, {10, 10}}, 
          LightDarkAutoColorRules -> <|"AllColors" -> True|>, FontSize -> 17, 
          FontColor -> 
          RGBColor[
           0.00010000076130382223`, 0.007800042619928998, 
            0.13000297516585294`], Background -> Hue[0.57, 0.098, 0.996]], 
         Cell[
          StyleData["ProofContent", "Printout"], 
          CellMargins -> {{66, 0}, {0, 0}}]}, Closed]], 
      Cell[
       StyleData["ProofTheoremEndCap"], CellMargins -> {{66, 30}, {0, 0}}, 
       CellBracketOptions -> {"OverlapContent" -> True}, 
       CellElementSpacings -> {"CellMinHeight" -> 20}, 
       CellFrameMargins -> {{10, 13}, {0, 0}}, FontSize -> 2, FontColor -> 
       RGBColor[
        0.00010000076130382223`, 0.007800042619928998, 0.13000297516585294`], 
       Background -> Hue[0.57, 0.098, 0.996]], 
      Cell[
       StyleData["Banner", StyleDefinitions -> StyleData["Text"]], Editable -> 
       False, WindowToolbars -> {}, PageWidth :> WindowWidth, 
       Alignment -> {{Left, Right}, {Center, Center}}, 
       CellFrame -> {{0, 1}, {0, 0}}, ShowCellBracket -> False, 
       CellMargins -> {{0, 0}, {0, 0}}, 
       CellBracketOptions -> {"OverlapContent" -> True}, 
       CellGroupingRules -> {"SectionGrouping", 0}, CellContext -> CellGroup, 
       CellFrameMargins -> {{0, 20}, {5, 0}}, CellFrameColor -> 
       RGBColor[
        0.00009999889888604668, 0.1607913972623736, 0.4000129703059972], 
       ShowStringCharacters -> False, FontFamily -> "Source Sans Pro", 
       FontSize -> 20, FontWeight -> "SemiBold", FontColor -> GrayLevel[1], 
       Background -> 
       RGBColor[
        0.00009999889888604668, 0.1607913972623736, 0.4000129703059972]], 
      Cell[
       StyleData[
       "BannerCitationOpenerLabel", StyleDefinitions -> StyleData["Text"]], 
       WindowToolbars -> {}, Selectable -> True, PageWidth :> WindowWidth, 
       CellFrame -> {{0, 1}, {0, 0}}, ShowCellBracket -> False, 
       CellMargins -> {{0, 0}, {0, 0}}, 
       CellGroupingRules -> {"SectionGrouping", 70}, CellContext -> CellGroup,
        CellFrameMargins -> {{28, 0}, {4, 5}}, CellFrameColor -> 
       RGBColor[0.8627719122171761, 0.9333285528421761, 0.9999789434671761], 
       ShowStringCharacters -> False, FontFamily -> "Source Sans Pro", 
       FontSize -> 11, FontWeight -> "Regular", FontColor -> 
       RGBColor[
        0.27843797333540327`, 0.40392625458540327`, 0.5137851263583065], 
       Background -> 
       RGBColor[0.8627719122171761, 0.9333285528421761, 0.9999789434671761]], 
      
      Cell[
       StyleData["BannerCitation", StyleDefinitions -> StyleData["Text"]], 
       WindowToolbars -> {}, Selectable -> True, PageWidth :> WindowWidth, 
       CellFrame -> {{0, 1}, {0, 0}}, ShowCellBracket -> False, 
       CellMargins -> {{0, 0}, {0, -1}}, 
       CellElementSpacings -> {"CellMinHeight" -> 2, "ClosedCellHeight" -> 1},
        Copyable -> True, CellContext -> CellGroup, 
       CellFrameMargins -> {{28, 0}, {8, 0}}, CellFrameColor -> 
       RGBColor[0.8627719122171761, 0.9333285528421761, 0.9999789434671761], 
       ShowStringCharacters -> False, FontFamily -> "Source Sans Pro", 
       FontSize -> 11, FontWeight -> "Bold", FontColor -> 
       RGBColor[
        0.27843797333540327`, 0.40392625458540327`, 0.5137851263583065], 
       Background -> 
       RGBColor[0.8627719122171761, 0.9333285528421761, 0.9999789434671761]], 
      
      Cell[
       StyleData[
       "BannerPreReleaseLabel", StyleDefinitions -> 
        StyleData["BannerCitationOpenerLabel"]], 
       CellFrameMargins -> {{0, 30}, {2, 0}}, 
       ButtonBoxOptions -> {ButtonFunction :> (FrontEndExecute[{
            
            NotebookLocate[#2, "OpenInNewWindow" -> 
             CurrentValue["HyperlinkModifierKey"]]}]& ), Evaluator -> None, 
         Method -> "Queued"}], 
      Cell[
       StyleData["BannerHeading"], MenuSortingValue -> None, FontFamily -> 
       "Source Sans Pro", FontSize -> 11, FontWeight -> "Regular", FontColor -> 
       RGBColor[
        0.9999903558940054, 0.5650486394018294, 0.14501301402226988`]]}, 
     Open]], 
   Cell[
    CellGroupData[{
      Cell[
      "Inline and special formatting", "Section", 
       CellChangeTimes -> {{3.646681732592888*^9, 3.646681749414035*^9}}], 
      Cell[
       StyleData["DateObject"], ContextMenu -> 
       FEPrivate`FrontEndResource["ContextMenus", "DateObject"], 
       TemplateBoxOptions -> {DisplayFunction -> (FrameBox[
           
           StyleBox[#, "Text", FontFamily -> "Source Sans Pro", FontSize -> 
            13, FontWeight -> "Plain", FontColor -> 
            RGBColor[
             0.12941176470588237`, 0.34509803921568627`, 
              0.43529411764705883`], ShowStringCharacters -> False], 
           Background -> Hue[0.11, 0, 0.97], FrameMargins -> {{5, 5}, {2, 2}},
            FrameStyle -> GrayLevel[0.65], RoundingRadius -> 2, 
           BaselinePosition -> Baseline, 
           BaseStyle -> {FontFamily -> "Courier"}]& ), 
         InterpretationFunction -> (#2& )}], 
      Cell[
       StyleData["DateObjectLabel"], FontWeight -> "Plain", FontColor -> 
       GrayLevel[0.2]], 
      Cell[
       StyleData["SummaryItemAnnotation"], FontColor -> GrayLevel[0.3]], 
      Cell[
       StyleData["Caption"], FontFamily :> CurrentValue["PanelFontFamily"], 
       FontSize :> 0.8 Inherited, FontWeight -> "Plain", FontSlant -> "Plain",
        FontColor :> CurrentValue[{"SystemColors", "DialogText"}], 
       TemplateBoxOptions -> {DisplayFunction -> (ButtonBox[
           
           FrameBox[#, FrameStyle -> GrayLevel[0.5], Background -> 
            GrayLevel[0.969], FrameMargins -> 7, RoundingRadius -> 3, 
            BaselinePosition -> Baseline], Active -> False, Alignment -> Left,
            Appearance -> None, BaseStyle -> {Deployed -> False}, 
           DefaultBaseStyle -> {"Pane", Background -> None}, BaselinePosition -> 
           Baseline]& ), Tooltip -> None}, 
       GraphicsBoxOptions -> {
        Axes -> False, 
         DefaultBaseStyle -> {
          "GraphicsNoFontsOrMenu", CacheGraphics -> False}, ImageSize -> 
         Dynamic[{
           Automatic, 
            3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
             Magnification])}]}, 
       Graphics3DBoxOptions -> {
        Axes -> False, DefaultBaseStyle -> {"Graphics3DNoFontsOrMenu"}, 
         ImageSize -> 
         Dynamic[{
           Automatic, 
            3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
             Magnification])}]}], 
      Cell[
       StyleData["GraphicsEmbeddedCaption"], LineIndent -> 0, FontFamily -> 
       "Source Sans Pro", FontSize -> 14], 
      Cell[
       StyleData["SummaryPanel"], FontFamily :> 
       CurrentValue["PanelFontFamily"], FontSize :> 0.8 Inherited, FontWeight -> 
       "Plain", FontSlant -> "Plain", FontColor :> 
       CurrentValue[{"SystemColors", "DialogText"}], 
       TemplateBoxOptions -> {DisplayFunction -> (ButtonBox[
           
           FrameBox[#, FrameStyle -> GrayLevel[0.5], Background -> 
            GrayLevel[0.969], FrameMargins -> 7, RoundingRadius -> 3, 
            BaselinePosition -> Baseline], Active -> False, Alignment -> Left,
            Appearance -> None, BaseStyle -> {Deployed -> False}, 
           DefaultBaseStyle -> {"Pane", Background -> None}, BaselinePosition -> 
           Baseline]& ), Tooltip -> None}, 
       GraphicsBoxOptions -> {
        Axes -> False, 
         DefaultBaseStyle -> {
          "GraphicsNoFontsOrMenu", CacheGraphics -> False}, ImageSize -> 
         Dynamic[{
           Automatic, 
            3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
             Magnification])}]}, 
       Graphics3DBoxOptions -> {
        Axes -> False, DefaultBaseStyle -> {"Graphics3DNoFontsOrMenu"}, 
         ImageSize -> 
         Dynamic[{
           Automatic, 
            3.5 (CurrentValue["FontCapHeight"]/AbsoluteCurrentValue[
             Magnification])}]}], 
      Cell[
       StyleData["Graphics"], MenuSortingValue -> None], 
      Cell[
       StyleData["Graphics3D"], MenuSortingValue -> None], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["StandardForm"], LineSpacing -> {1.25, 0, 2}, FontFamily -> 
          "Source Sans Code"], 
         Cell[
          StyleData["StandardForm", "Printout"], LineSpacing -> {1.25, 0, 2}, 
          FontFamily -> "Source Sans Code"]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["OutputForm"], LineSpacing -> {0.6, 1}, FontFamily -> 
          "Source Sans Code"], 
         Cell[
          StyleData["OutputForm", "Printout"], LineSpacing -> {0.6, 1}, 
          FontFamily -> "Source Sans Code"]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["InputForm"], FontFamily -> "Source Sans Code"], 
         Cell[
          StyleData["InputForm", "Printout"], FontFamily -> 
          "Source Sans Code"]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["FormattedFunction"], FontFamily -> "Source Sans Pro", 
          FontSize :> If[CurrentValue[
              EvaluationCell[], "FontFamily"] === "Source Sans Pro", 
            Inherited, 
            If[CurrentValue[
               EvaluationCell[], "FontFamily"] === "WolframCodeSans", 
             Inherited, Inherited 0.9]]], 
         Cell[
          StyleData["FormattedFunction", "Printout"], FontFamily -> 
          "Source Sans Pro", FontSize :> If[CurrentValue[
              EvaluationCell[], "FontFamily"] === "Source Sans Pro", 
            Inherited, 
            If[CurrentValue[
               EvaluationCell[], "FontFamily"] === "WolframCodeSans", 
             Inherited, Inherited 0.88]]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Link"], FontFamily -> "Source Sans Pro", FontSize :> 
          If[CurrentValue[
              EvaluationCell[], "FontFamily"] === "Source Sans Pro", 
            Inherited, 
            If[CurrentValue[
               EvaluationCell[], "FontFamily"] === "WolframCodeSans", 
             Inherited, Inherited 0.9]], FontColor -> GrayLevel[0], 
          ButtonBoxOptions -> {
           Active -> True, Appearance -> {Automatic, None}, 
            ButtonFunction :> (FEPrivate`FrontEndExecute[
              FrontEndToken["OpenHelpLink", {#}]]& ), ButtonNote -> 
            ButtonData, Evaluator -> None, ImageSize -> Full, Method -> 
            "Preemptive"}], 
         Cell[
          StyleData["Link", "Printout"], FontFamily -> "Source Sans Pro", 
          FontSize :> If[CurrentValue[
              EvaluationCell[], "FontFamily"] === "Source Sans Pro", 
            Inherited, 
            If[CurrentValue[
               EvaluationCell[], "FontFamily"] === "WolframCodeSans", 
             Inherited, Inherited 0.88]], FontColor -> GrayLevel[0], 
          ButtonBoxOptions -> {
           Active -> True, Appearance -> {Automatic, None}, 
            ButtonFunction :> (FEPrivate`FrontEndExecute[
              FrontEndToken["OpenHelpLink", {#}]]& ), ButtonNote -> 
            ButtonData, Evaluator -> None, ImageSize -> Full, Method -> 
            "Preemptive"}]}, Open]], 
      Cell[
       StyleData[
       "CaptionFunctionLink", StyleDefinitions -> StyleData["Link"]], 
       FontFamily -> "Source Sans Pro", FontSize -> 14, FontColor -> 
       GrayLevel[0]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["DetailsLink"], FontFamily -> "Source Sans Pro", FontSize :> 
          If[CurrentValue[
              EvaluationCell[], "FontFamily"] === "Source Sans Pro", 
            Inherited, 
            If[CurrentValue[
               EvaluationCell[], "FontFamily"] === "WolframCodeSans", 
             Inherited, Inherited 0.9]], FontColor -> GrayLevel[0], 
          ButtonBoxOptions -> {
           ButtonFunction :> (
             Function[$CellContext`t, 
              NotebookFind[$CellContext`t, "Notes", All, CellStyle]; 
              NotebookFind[$CellContext`t, "NotesSection", All, CellStyle, 
                AutoScroll -> Top]][
              Documentation`HelpLookup["ref/" <> #]]& ), ButtonSource -> 
            ButtonContents, Evaluator -> Automatic}], 
         Cell[
          StyleData["DetailsLink", "Printout"], FontFamily -> 
          "Source Sans Pro", FontSize :> If[CurrentValue[
              EvaluationCell[], "FontFamily"] === "Source Sans Pro", 
            Inherited, 
            If[CurrentValue[
               EvaluationCell[], "FontFamily"] === "WolframCodeSans", 
             Inherited, Inherited 0.88]], FontColor -> GrayLevel[0]]}, 
        Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["LinkAlt"], FontFamily -> "Source Sans Pro", FontSize :> 
          If[CurrentValue[
              EvaluationCell[], "FontFamily"] === "Source Sans Pro", 
            Inherited, 
            If[CurrentValue[
               EvaluationCell[], "FontFamily"] === "WolframCodeSans", 
             Inherited, Inherited 0.9]], FontColor -> GrayLevel[0]], 
         Cell[
          StyleData["LinkAlt", "Printout"], FontFamily -> "Source Sans Pro", 
          FontSize :> If[CurrentValue[
              EvaluationCell[], "FontFamily"] === "Source Sans Pro", 
            Inherited, 
            If[CurrentValue[
               EvaluationCell[], "FontFamily"] === "WolframCodeSans", 
             Inherited, Inherited 0.88]], FontColor -> GrayLevel[0]]}, 
        Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Hyperlink"], MenuSortingValue -> None, FontColor -> 
          RGBColor[0.3, 0.35, 0.5]], 
         Cell[
          StyleData["Hyperlink", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["FunctionLink", StyleDefinitions -> StyleData["Link"]], 
          FontColor -> GrayLevel[0]], 
         Cell[
          StyleData["FunctionLink", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData[
          "FunctionHyperlink", StyleDefinitions -> StyleData["Link"]], 
          FontColor -> GrayLevel[0], 
          ButtonBoxOptions -> {ButtonFunction :> (FrontEndExecute[{
               
               NotebookLocate[#2, "OpenInNewWindow" -> 
                CurrentValue["HyperlinkModifierKey"]]}]& ), Evaluator -> None,
             Method -> "Queued"}], 
         Cell[
          StyleData["FunctionHyperlink", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData[
          "ResourceFunctionlink", StyleDefinitions -> StyleData["Hyperlink"]],
           MenuSortingValue -> None, FontFamily -> "Source Sans Pro", 
          FontSize :> If[CurrentValue[
              EvaluationCell[], "FontFamily"] === "Source Sans Pro", 
            Inherited, 
            If[CurrentValue[
               EvaluationCell[], "FontFamily"] === "WolframCodeSans", 
             Inherited, Inherited 0.9]], FontColor -> GrayLevel[0]], 
         Cell[
          StyleData["ResourceFunctionlink", "Printout"], FontFamily -> 
          "Source Sans Pro", FontSize :> If[CurrentValue[
              EvaluationCell[], "FontFamily"] === "Source Sans Pro", 
            Inherited, 
            If[CurrentValue[
               EvaluationCell[], "FontFamily"] === "WolframCodeSans", 
             Inherited, Inherited 0.88]], FontColor -> GrayLevel[0]]}, 
        Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["Crosslink"], 
          ButtonBoxOptions -> {ButtonFunction :> (FrontEndExecute[{
               
               NotebookLocate[#2, "OpenInNewWindow" -> 
                CurrentValue["HyperlinkModifierKey"]]}]& ), Evaluator -> None,
             Method -> "Queued"}], 
         Cell[
          StyleData["Crosslink", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["CodeLink"], 
          ButtonBoxOptions -> {
           Active -> True, Appearance -> {Automatic, None}, 
            ButtonFunction :> (FEPrivate`FrontEndExecute[
              FrontEndToken["OpenHelpLink", {
                Part[#, 1]}]]& ), ButtonNote -> ButtonData, Evaluator -> None,
             ImageSize -> Full, Method -> "Preemptive"}], 
         Cell[
          StyleData["CodeLink", "Printout"]]}, Open]], 
      Cell[
       StyleData["VocabularyLink"], FontColor -> GrayLevel[0], 
       ButtonBoxOptions -> {ButtonFunction :> (FrontEndExecute[{
            
            NotebookLocate[#2, "OpenInNewWindow" -> 
             CurrentValue["HyperlinkModifierKey"]]}]& ), Evaluator -> None, 
         Method -> "Queued"}], 
      Cell[
       StyleData["InlineMath"], SpanMaxSize -> 0, CellID -> 644119144], 
      Cell[
       StyleData["InlineCode"], AutoSpacing -> True, SpanMaxSize -> 0, 
       FontColor -> GrayLevel[0]], 
      Cell[
       StyleData["InlineCodeText"], SpanMaxSize -> 0, FontFamily -> 
       "Source Sans Pro", FontSize -> 0.94 Inherited], 
      Cell[
       StyleData["InlineFormula"]], 
      Cell[
       StyleData["NoLabel"], 
       GeneratedCellStyles -> {"Output" -> "ExerciseOutput"}, ShowCellLabel -> 
       False], 
      Cell[
       StyleData["MenuName"], FontFamily -> "Verdana", FontWeight -> "Bold", 
       FontColor -> GrayLevel[0.286275]], 
      Cell[
       StyleData["DialogElementName"], 
       CellChangeTimes -> {3.642251807158844*^9, 3.8358753610849867`*^9, 
        3.835875471581566*^9}, FontFamily -> "Source Sans Pro SemiBold", 
       FontSize -> 0.95 Inherited, FontWeight -> "Regular"], 
      Cell[
       StyleData["KeyEvent"], CellFrame -> {{0.5, 0.5}, {0.5, 0.5}}, 
       CellFrameMargins -> {{2, 2}, {2, 2}}, CellFrameColor -> GrayLevel[0.7],
        FontFamily -> "Verdana", FontColor -> GrayLevel[0.4]], 
      Cell[
       StyleData["KeyEventDelimiter"], FontColor -> GrayLevel[0.5]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["CodeVariable"], FontFamily -> "Times", FontSize -> 
          1.05 Inherited, FontWeight -> "Plain", FontSlant -> "Italic"], 
         Cell[
          StyleData["CodeVariable", "Printout"]]}, Closed]], 
      Cell[
       CellGroupData[{
         Cell[
          StyleData["CodeVariableLrg"], FontFamily -> "Times", FontSize -> 
          1.1 Inherited, FontWeight -> "Plain", FontSlant -> "Italic"], 
         Cell[
          StyleData["CodeVariableLrg", "Printout"]]}, Open]], 
      Cell[
       CellGroupData[{
         Cell["Key Styles", "Subsubsection"], 
         Cell[
          StyleData["Key0"], 
          TemplateBoxOptions -> {DisplayFunction -> (FrameBox[
              TagBox[
               GridBox[{{
                  ItemBox[
                   
                   TemplateBox[{"\[ThickSpace]", #, "\[ThickSpace]"}, 
                    "RowDefault"], Background -> GrayLevel[1], StripOnInput -> 
                   False]}}, 
                GridBoxAlignment -> {
                 "Columns" -> {{Center}}, "Rows" -> {{Baseline}}}, AutoDelete -> 
                False, GridBoxDividers -> {"Rows" -> {{None}}}, 
                GridBoxItemSize -> {"Columns" -> {{All}}, "Rows" -> {{1.45}}},
                 GridBoxSpacings -> {"Columns" -> {{0}}}, 
                BaselinePosition -> {{1, 1}, Baseline}], "Grid"], 
              RoundingRadius -> 4, Background -> 
              GrayLevel[0.9333333333333333], 
              FrameMargins -> {{0, 0}, {-1, -1}}, FrameStyle -> {
                GrayLevel[0.8352941176470589], 
                AbsoluteThickness[1]}, BaselinePosition -> Baseline, 
              StripOnInput -> False]& )}], 
         Cell[
          StyleData["Key1"], 
          TemplateBoxOptions -> {DisplayFunction -> (FrameBox[
              TagBox[
               GridBox[{{
                  ItemBox[
                   
                   TemplateBox[{"\[ThickSpace]", #, "\[ThickSpace]"}, 
                    "RowDefault"], Background -> 
                   GrayLevel[0.9333333333333333], StripOnInput -> False], 
                  ItemBox[
                   
                   TemplateBox[{"\[ThickSpace]", #2, "\[ThickSpace]"}, 
                    "RowDefault"], Background -> GrayLevel[1], StripOnInput -> 
                   False]}}, 
                GridBoxAlignment -> {
                 "Columns" -> {{Center}}, "Rows" -> {{Baseline}}}, AutoDelete -> 
                False, GridBoxDividers -> {
                 "ColumnsIndexed" -> {2 -> GrayLevel[0.8352941176470589]}, 
                  "Rows" -> {{None}}}, 
                GridBoxItemSize -> {"Columns" -> {{All}}, "Rows" -> {{1.45}}},
                 GridBoxSpacings -> {"Columns" -> {{0}}}, 
                BaselinePosition -> {{1, 1}, Baseline}], "Grid"], 
              RoundingRadius -> 4, Background -> 
              GrayLevel[0.9333333333333333], 
              FrameMargins -> {{0, 0}, {-1, -1}}, FrameStyle -> {
                GrayLevel[0.8352941176470589], 
                AbsoluteThickness[1]}, BaselinePosition -> Baseline, 
              StripOnInput -> False]& )}], 
         Cell[
          StyleData["Key2"], 
          TemplateBoxOptions -> {DisplayFunction -> (FrameBox[
              TagBox[
               GridBox[{{
                  ItemBox[
                   
                   TemplateBox[{"\[ThickSpace]", #, "\[ThickSpace]"}, 
                    "RowDefault"], Background -> 
                   GrayLevel[0.9333333333333333], StripOnInput -> False], 
                  ItemBox[
                   
                   TemplateBox[{"\[ThickSpace]", #2, "\[ThickSpace]"}, 
                    "RowDefault"], Background -> 
                   GrayLevel[0.9333333333333333], StripOnInput -> False], 
                  ItemBox[
                   
                   TemplateBox[{"\[ThickSpace]", #3, "\[ThickSpace]"}, 
                    "RowDefault"], Background -> GrayLevel[1], StripOnInput -> 
                   False]}}, 
                GridBoxAlignment -> {
                 "Columns" -> {{Center}}, "Rows" -> {{Baseline}}}, AutoDelete -> 
                False, GridBoxDividers -> {
                 "ColumnsIndexed" -> {
                   2 -> GrayLevel[0.8352941176470589], 3 -> 
                    GrayLevel[0.8352941176470589]}, "Rows" -> {{None}}}, 
                GridBoxItemSize -> {"Columns" -> {{All}}, "Rows" -> {{1.45}}},
                 GridBoxSpacings -> {"Columns" -> {{0}}}, 
                BaselinePosition -> {{1, 1}, Baseline}], "Grid"], 
              RoundingRadius -> 4, Background -> 
              GrayLevel[0.9333333333333333], 
              FrameMargins -> {{0, 0}, {-1, -1}}, FrameStyle -> {
                GrayLevel[0.8352941176470589], 
                AbsoluteThickness[1]}, BaselinePosition -> Baseline, 
              StripOnInput -> False]& )}], 
         Cell[
          StyleData["Key3"], 
          TemplateBoxOptions -> {DisplayFunction -> (FrameBox[
              TagBox[
               GridBox[{{
                  ItemBox[
                   
                   TemplateBox[{"\[ThickSpace]", #, "\[ThickSpace]"}, 
                    "RowDefault"], Background -> 
                   GrayLevel[0.9333333333333333], StripOnInput -> False], 
                  ItemBox[
                   
                   TemplateBox[{"\[ThickSpace]", #2, "\[ThickSpace]"}, 
                    "RowDefault"], Background -> 
                   GrayLevel[0.9333333333333333], StripOnInput -> False], 
                  ItemBox[
                   
                   TemplateBox[{"\[ThickSpace]", #3, "\[ThickSpace]"}, 
                    "RowDefault"], Background -> 
                   GrayLevel[0.9333333333333333], StripOnInput -> False], 
                  ItemBox[
                   
                   TemplateBox[{"\[ThickSpace]", #4, "\[ThickSpace]"}, 
                    "RowDefault"], Background -> GrayLevel[1], StripOnInput -> 
                   False]}}, 
                GridBoxAlignment -> {
                 "Columns" -> {{Center}}, "Rows" -> {{Baseline}}}, AutoDelete -> 
                False, GridBoxDividers -> {
                 "ColumnsIndexed" -> {
                   2 -> GrayLevel[0.8352941176470589], 3 -> 
                    GrayLevel[0.8352941176470589], 4 -> 
                    GrayLevel[0.8352941176470589]}, "Rows" -> {{None}}}, 
                GridBoxItemSize -> {"Columns" -> {{All}}, "Rows" -> {{1.45}}},
                 GridBoxSpacings -> {"Columns" -> {{0}}}, 
                BaselinePosition -> {{1, 1}, Baseline}], "Grid"], 
              RoundingRadius -> 4, Background -> 
              GrayLevel[0.9333333333333333], 
              FrameMargins -> {{0, 0}, {-1, -1}}, FrameStyle -> {
                GrayLevel[0.8352941176470589], 
                AbsoluteThickness[1]}, BaselinePosition -> Baseline, 
              StripOnInput -> False]& )}]}, Open]], 
      Cell[
       CellGroupData[{
         Cell["Entity styles", "Subsubsection"], 
         Cell[
          StyleData["Entity"], ContextMenu -> 
          FEPrivate`FrontEndResource["ContextMenus", "Entity"], 
          AutoStyleOptions -> {"HighlightSyntaxErrors" -> False}, 
          ShowStringCharacters -> False, 
          TemplateBoxOptions -> {DisplayFunction -> (TooltipBox[
              FrameBox[
               PaneSelectorBox[{True -> GridBox[{{
                    
                    StyleBox[#, FontSize -> 0.85 Inherited, FontColor -> 
                    RGBColor[0.395437, 0.20595, 0.061158]], 
                    PaneBox[
                    StyleBox[#4, "EntityTypeLabel"], BaselinePosition -> 
                    Baseline, ContentPadding -> False]}}, 
                   GridBoxItemSize -> {
                    "Columns" -> {{All}}, "Rows" -> {{All}}}, 
                   GridBoxSpacings -> {"Columns" -> {{0.5}}, "Rows" -> {{0}}},
                    BaselinePosition -> {1, 1}], False -> 
                 PaneBox[#, 
                   BaseStyle -> {
                    FontColor -> RGBColor[0.395437, 0.20595, 0.061158]}, 
                   BaselinePosition -> Baseline]}, 
                Dynamic[
                 CurrentValue[Evaluatable]], ImageSize -> Automatic, 
                BaselinePosition -> Baseline, 
                BaseStyle -> {FontFamily -> "Helvetica"}], FrameStyle -> 
               Directive[
                 RGBColor[1., 0.504768, 0.], 
                 AbsoluteThickness[1]], Background -> 
               RGBColor[1., 0.980392, 0.921569], 
               FrameMargins -> {{5, 5}, {1.5, 1.5}}, 
               ImageMargins -> {{2, 2}, {2, 2}}, BaselinePosition -> Baseline,
                RoundingRadius -> 4, 
               BaseStyle -> {FontFamily -> "Courier"}], #3, 
              BaseStyle -> {
               ShowStringCharacters -> False, LineIndent -> 0, 
                PrivateFontOptions -> {"OperatorSubstitution" -> False}}, 
              TooltipDelay -> 0.4]& ), Editable -> False, 
            InterpretationFunction -> (#2& )}], 
         Cell[
          StyleData["EntityFrameless"], ShowStringCharacters -> False, 
          TemplateBoxOptions -> {DisplayFunction -> (TooltipBox[
              PaneSelectorBox[{True -> GridBox[{{
                    
                    StyleBox[#, FontWeight -> "Bold", FontFamily -> 
                    "Source Sans Pro", FontColor -> 
                    RGBColor[0.395437, 0.20595, 0.061158]], 
                    StyleBox[
                    RowBox[{"(", #4, ")"}], FontFamily -> "Source Sans Pro", 
                    FontWeight -> "Plain", FontColor -> GrayLevel[0.65], 
                    Selectable -> False]}}, 
                  GridBoxItemSize -> {
                   "Columns" -> {{All}}, "Rows" -> {{All}}}, 
                  GridBoxSpacings -> {"Columns" -> {{0.2}}, "Rows" -> {{0}}}, 
                  BaselinePosition -> {1, 1}], False -> 
                PaneBox[#, 
                  BaseStyle -> {
                   FontColor -> RGBColor[0.395437, 0.20595, 0.061158]}, 
                  BaselinePosition -> Baseline]}, 
               Dynamic[
                CurrentValue[Evaluatable]], ImageSize -> Automatic, 
               BaselinePosition -> Baseline, 
               BaseStyle -> {FontFamily -> "Helvetica"}], #3, 
              BaseStyle -> {
               ShowStringCharacters -> False, LineIndent -> 0, 
                PrivateFontOptions -> {
                 FontWeight -> "Plain", "OperatorSubstitution" -> False}}]& ),
             Editable -> False, InterpretationFunction -> (#2& )}], 
         Cell[
          StyleData["EntityFramelessHot"], ShowStringCharacters -> False, 
          TemplateBoxOptions -> {
           DisplayFunction -> (PaneSelectorBox[{True -> GridBox[{{
                   
                   StyleBox[#, FontWeight -> "Bold", FontFamily -> 
                    "Source Sans Pro", FontColor -> GrayLevel[0]], 
                   StyleBox[
                    RowBox[{"(", #4, ")"}], FontWeight -> "Plain", FontFamily -> 
                    "Source Sans Pro", FontColor -> GrayLevel[0], Selectable -> 
                    False]}}, 
                 GridBoxItemSize -> {"Columns" -> {{All}}, "Rows" -> {{All}}},
                  GridBoxSpacings -> {"Columns" -> {{0.2}}, "Rows" -> {{0}}}, 
                 BaselinePosition -> {1, 1}], False -> 
               PaneBox[#, BaseStyle -> {FontColor -> GrayLevel[0]}, 
                 BaselinePosition -> Baseline]}, 
              Dynamic[
               CurrentValue[Evaluatable]], ImageSize -> Automatic, 
              BaselinePosition -> Baseline, 
              BaseStyle -> {
               FontWeight -> "Plain", FontFamily -> "Helvetica", 
                ShowStringCharacters -> False, LineIndent -> 0, 
                PrivateFontOptions -> {"OperatorSubstitution" -> False}}]& ), 
            Editable -> False, InterpretationFunction -> (#2& )}], 
         Cell[
          StyleData["EntityClass"], ShowStringCharacters -> False, 
          TemplateBoxOptions -> {DisplayFunction -> (TooltipBox[
              FrameBox[
               PaneSelectorBox[{True -> GridBox[{{
                    PaneBox[
                    DynamicBox[
                    FEPrivate`ImportImage[
                    
                    FrontEnd`ToFileName[{"Typeset", "Entity"}, 
                    "EntityClass.png"]], ImageSizeCache -> {8., {2., 6.}}], 
                    BaselinePosition -> Bottom], 
                    
                    StyleBox[#, FontWeight -> "Bold", FontFamily -> 
                    "Source Sans Pro", FontColor -> 
                    RGBColor[0.395437, 0.20595, 0.061158]], 
                    StyleBox[
                    RowBox[{"(", #4, ")"}], FontWeight -> "Plain", FontFamily -> 
                    "Source Sans Pro", FontColor -> GrayLevel[0.65], 
                    Selectable -> False]}}, 
                   GridBoxItemSize -> {
                    "Columns" -> {{All}}, "Rows" -> {{All}}}, 
                   GridBoxSpacings -> {"Columns" -> {{0.2}}, "Rows" -> {{0}}},
                    BaselinePosition -> {1, 2}], False -> GridBox[{{
                    PaneBox[
                    DynamicBox[
                    FEPrivate`ImportImage[
                    
                    FrontEnd`ToFileName[{"Typeset", "Entity"}, 
                    "EntityClass.png"]], ImageSizeCache -> {8., {2., 6.}}], 
                    BaselinePosition -> Bottom], 
                    
                    StyleBox[#, FontColor -> 
                    RGBColor[0.395437, 0.20595, 0.061158]]}}, 
                   GridBoxItemSize -> {
                    "Columns" -> {{All}}, "Rows" -> {{All}}}, 
                   GridBoxSpacings -> {"Columns" -> {{0.2}}, "Rows" -> {{0}}},
                    BaselinePosition -> {1, 2}]}, 
                Dynamic[
                 CurrentValue[Evaluatable]], ImageSize -> Automatic, 
                BaselinePosition -> Baseline, 
                BaseStyle -> {FontFamily -> "Helvetica"}], FrameStyle -> 
               RGBColor[1., 0.504768, 0.], Background -> 
               RGBColor[1., 0.980392, 0.921569], 
               FrameMargins -> {{5, 5}, {1.5, 1.5}}, 
               ImageMargins -> {{2, 2}, {2, 2}}, BaselinePosition -> Baseline,
                RoundingRadius -> 4], #3, 
              BaseStyle -> {
               FontWeight -> "Plain", ShowStringCharacters -> False, 
                LineIndent -> 0, 
                PrivateFontOptions -> {"OperatorSubstitution" -> False}}]& ), 
            Editable -> False, InterpretationFunction -> (#2& )}], 
         Cell[
          StyleData["EntityClassFrameless"], ShowStringCharacters -> False, 
          TemplateBoxOptions -> {DisplayFunction -> (TooltipBox[
              PaneSelectorBox[{True -> GridBox[{{
                    PaneBox[
                    DynamicBox[
                    FEPrivate`ImportImage[
                    
                    FrontEnd`ToFileName[{"Typeset", "Entity"}, 
                    "EntityClass.png"]], ImageSizeCache -> {8., {2., 6.}}], 
                    BaselinePosition -> Bottom], 
                    
                    StyleBox[#, FontWeight -> "Bold", FontFamily -> 
                    "Source Sans Pro", FontColor -> 
                    RGBColor[0.395437, 0.20595, 0.061158]], 
                    StyleBox[
                    RowBox[{"(", #4, ")"}], FontWeight -> "Plain", FontFamily -> 
                    "Source Sans Pro", FontColor -> GrayLevel[0.65], 
                    Selectable -> False]}}, 
                  GridBoxItemSize -> {
                   "Columns" -> {{All}}, "Rows" -> {{All}}}, 
                  GridBoxSpacings -> {"Columns" -> {{0.2}}, "Rows" -> {{0}}}, 
                  BaselinePosition -> {1, 2}], False -> GridBox[{{
                    PaneBox[
                    DynamicBox[
                    FEPrivate`ImportImage[
                    
                    FrontEnd`ToFileName[{"Typeset", "Entity"}, 
                    "EntityClass.png"]], ImageSizeCache -> {8., {2., 6.}}], 
                    BaselinePosition -> Bottom], 
                    
                    StyleBox[#, FontColor -> 
                    RGBColor[0.395437, 0.20595, 0.061158]]}}, 
                  GridBoxItemSize -> {
                   "Columns" -> {{All}}, "Rows" -> {{All}}}, 
                  GridBoxSpacings -> {"Columns" -> {{0.2}}, "Rows" -> {{0}}}, 
                  BaselinePosition -> {1, 2}]}, 
               Dynamic[
                CurrentValue[Evaluatable]], ImageSize -> Automatic, 
               BaselinePosition -> Baseline, 
               BaseStyle -> {FontFamily -> "Helvetica"}], #3, 
              BaseStyle -> {
               FontWeight -> "Plain", ShowStringCharacters -> False, 
                LineIndent -> 0, 
                PrivateFontOptions -> {"OperatorSubstitution" -> False}}]& ), 
            Editable -> False, InterpretationFunction -> (#2& )}], 
         Cell[
          StyleData["EntityClassFramelessHot"], ShowStringCharacters -> False,
           TemplateBoxOptions -> {
           DisplayFunction -> (PaneSelectorBox[{True -> GridBox[{{
                   PaneBox[
                    DynamicBox[
                    FEPrivate`ImportImage[
                    
                    FrontEnd`ToFileName[{"Typeset", "Entity"}, 
                    "EntityClass.png"]], ImageSizeCache -> {8., {2., 6.}}], 
                    BaselinePosition -> Bottom], 
                   
                   StyleBox[#, FontWeight -> "Bold", FontFamily -> 
                    "Source Sans Pro", FontColor -> GrayLevel[0]], 
                   StyleBox[
                    RowBox[{"(", #4, ")"}], FontWeight -> "Plain", FontFamily -> 
                    "Source Sans Pro", FontColor -> GrayLevel[0], Selectable -> 
                    False]}}, 
                 GridBoxItemSize -> {"Columns" -> {{All}}, "Rows" -> {{All}}},
                  GridBoxSpacings -> {"Columns" -> {{0.2}}, "Rows" -> {{0}}}, 
                 BaselinePosition -> {1, 2}], False -> GridBox[{{
                   PaneBox[
                    DynamicBox[
                    FEPrivate`ImportImage[
                    
                    FrontEnd`ToFileName[{"Typeset", "Entity"}, 
                    "EntityClass.png"]], ImageSizeCache -> {8., {2., 6.}}], 
                    BaselinePosition -> Bottom], 
                   StyleBox[#, FontColor -> GrayLevel[0]]}}, 
                 GridBoxItemSize -> {"Columns" -> {{All}}, "Rows" -> {{All}}},
                  GridBoxSpacings -> {"Columns" -> {{0.2}}, "Rows" -> {{0}}}, 
                 BaselinePosition -> {1, 2}]}, 
              Dynamic[
               CurrentValue[Evaluatable]], ImageSize -> Automatic, 
              BaselinePosition -> Baseline, 
              BaseStyle -> {
               FontWeight -> "Plain", FontFamily -> "Helvetica", 
                ShowStringCharacters -> False, LineIndent -> 0, 
                PrivateFontOptions -> {"OperatorSubstitution" -> False}}]& ), 
            Editable -> False, InterpretationFunction -> (#2& )}], 
         Cell[
          StyleData["EntityProperty"], ContextMenu -> 
          FEPrivate`FrontEndResource["ContextMenus", "Entity"], 
          AutoStyleOptions -> {"HighlightSyntaxErrors" -> False}, 
          ShowStringCharacters -> False, 
          TemplateBoxOptions -> {DisplayFunction -> (TooltipBox[
              FrameBox[
               
               PaneBox[#, 
                BaseStyle -> {
                 FontSlant -> Italic, FontWeight -> Plain, FontFamily -> 
                  "Helvetica", FontSize -> 0.85 Inherited, FontColor -> 
                  RGBColor[0.395437, 0.20595, 0.061158]}, BaselinePosition -> 
                Baseline], FrameStyle -> Directive[
                 RGBColor[0.94227, 0.703639, 0.033387], 
                 AbsoluteThickness[1]], Background -> 
               RGBColor[1., 0.980392, 0.921569], 
               FrameMargins -> {{5, 5}, {1.5, 1.5}}, 
               ImageMargins -> {{2, 2}, {2, 2}}, BaselinePosition -> Baseline,
                RoundingRadius -> 4, 
               BaseStyle -> {FontFamily -> "Courier"}], #3, 
              BaseStyle -> {
               ShowStringCharacters -> False, LineIndent -> 0, 
                PrivateFontOptions -> {"OperatorSubstitution" -> False}}, 
              TooltipDelay -> 0.4]& ), Editable -> False, 
            InterpretationFunction -> (#2& )}], 
         Cell[
          StyleData["EntityPropertyClass"], ShowStringCharacters -> False, 
          TemplateBoxOptions -> {DisplayFunction -> (TooltipBox[
              FrameBox[
               PaneBox[
                GridBox[{{
                   PaneBox[
                    DynamicBox[
                    FEPrivate`ImportImage[
                    
                    FrontEnd`ToFileName[{"Typeset", "Entity"}, 
                    "EntityClass.png"]], ImageSizeCache -> {8., {2., 6.}}], 
                    BaselinePosition -> Bottom], #}}, 
                 GridBoxItemSize -> {"Columns" -> {{All}}, "Rows" -> {{All}}},
                  GridBoxSpacings -> {"Columns" -> {{0.2}}, "Rows" -> {{0}}}, 
                 BaselinePosition -> {1, 2}], 
                BaseStyle -> {
                 FontSlant -> Italic, FontWeight -> Plain, FontFamily -> 
                  "Source Sans Pro", FontColor -> 
                  RGBColor[0.395437, 0.20595, 0.061158]}, BaselinePosition -> 
                Baseline], FrameStyle -> 
               RGBColor[0.94227, 0.703639, 0.033387], Background -> 
               RGBColor[1., 0.980392, 0.921569], 
               FrameMargins -> {{5, 5}, {1.5, 1.5}}, 
               ImageMargins -> {{2, 2}, {2, 2}}, BaselinePosition -> Baseline,
                RoundingRadius -> 4], #3, 
              BaseStyle -> {
               FontWeight -> "Plain", ShowStringCharacters -> False, 
                LineIndent -> 0, 
                PrivateFontOptions -> {"OperatorSubstitution" -> False}}]& ), 
            Editable -> False, InterpretationFunction -> (#2& )}], 
         Cell[
          StyleData["EntityValue"], ShowStringCharacters -> False, 
          TemplateBoxOptions -> {DisplayFunction -> (FrameBox[
              
              GridBox[{{#, #2}}, GridBoxAlignment -> {"Rows" -> {{Baseline}}},
                GridBoxItemSize -> {"Columns" -> {{All}}, "Rows" -> {{All}}}, 
               GridBoxSpacings -> {"Columns" -> {{0}}}, 
               BaselinePosition -> {1, 1}], Background -> 
              RGBColor[{0.9921568627450981, 0.9529411764705882, 
                0.8509803921568627}], BaselinePosition -> Baseline, 
              FrameMargins -> {{1, 1}, {1, 1}}, ImageMargins -> 2, FrameStyle -> 
              RGBColor[{0.9333333333333333, 0.8470588235294118, 
                0.5529411764705883}], RoundingRadius -> 5]& )}]}, Open]]}, 
     Open]], 
   Cell[
    CellGroupData[{
      Cell["Template Boxes", "Section"], 
      Cell[
       StyleData["BannerTemplate"], 
       TemplateBoxOptions -> {DisplayFunction :> (TagBox[
           GridBox[{{
              Slot["label"], 
              Slot["previous"], 
              TemplateBox[{10}, "Spacer1"], 
              Slot["next"], 
              TemplateBox[{10}, "Spacer1"], 
              Slot["menu"]}}, 
            GridBoxAlignment -> {
             "Columns" -> {{Left, Right}}, "Rows" -> {{Center}}}, AutoDelete -> 
            False, GridBoxFrame -> {"Columns" -> None, "Rows" -> {{None}}}, 
            GridBoxItemSize -> {
             "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
            GridBoxSpacings -> {"Columns" -> {{0}}, "Rows" -> {{0}}}], 
           "Grid"]& )}], 
      Cell[
       StyleData["BannerHeadingTitleTemplate"], 
       TemplateBoxOptions -> {DisplayFunction :> (PanelBox[
           TagBox[
            GridBox[{{
               StyleBox[
                Slot["heading"], "BannerHeading", StripOnInput -> False]}, {
               Slot["title"]}}, GridBoxAlignment -> {"Columns" -> {{Left}}}, 
             DefaultBaseStyle -> "Column", 
             GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
             GridBoxSpacings -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{0.2}}}], "Column"], 
           Appearance -> None, ContentPadding -> False, BaseStyle -> "Banner",
            FrameMargins -> {{18, 20}, {6, 6}}, 
           ImageSize -> {Full, Automatic}]& )}], 
      Cell[
       StyleData["BannerButtonTemplate"], 
       LightDarkAutoColorRules -> <|"MarkedColors" -> True|>, 
       TemplateBoxOptions -> {DisplayFunction :> (ButtonBox[
           
           PanelBox[#, ContentPadding -> False, 
            FrameMargins -> {{10, 10}, {7, 7}}, Appearance -> None, BaseStyle -> 
            Dynamic[
              FEPrivate`If[
               CurrentValue["MouseOver"], {
               Background -> 
                RGBColor[
                 0.08808648687787803, 0.3397116701677621, 
                  0.5610151372105242]}, "Banner"], Evaluator -> "System"]], 
           ButtonFunction -> #2, Appearance -> None, 
           FrameMargins -> {{0, 0}, {-1, -1}}, Enabled -> True, Evaluator -> 
           Automatic, Method -> "Preemptive"]& )}], 
      Cell[
       StyleData["BannerLeftArrowTemplate"], 
       TemplateBoxOptions -> {DisplayFunction -> (GraphicsBox[{
            CapForm["Round"], 
            JoinForm["Round"], 
            Thickness[0.1], 
            GrayLevel[1], 
            LineBox[{{25, 180}, {-25, 0}, {25, -180}}]}, {
           Method -> {"ShrinkWrap" -> True}, ImageSize -> 12, 
            PlotRange -> {{-75, 100}, {-275, 400}}, AspectRatio -> 1}]& )}], 
      Cell[
       StyleData["BannerRightArrowTemplate"], 
       TemplateBoxOptions -> {DisplayFunction -> (GraphicsBox[{
            CapForm["Round"], 
            JoinForm["Round"], 
            Thickness[0.1], 
            GrayLevel[1], 
            LineBox[{{-25, -180}, {25, 0}, {-25, 180}}]}, {
           Method -> {"ShrinkWrap" -> True}, ImageSize -> 12, 
            PlotRange -> {{-75, 100}, {-275, 400}}, AspectRatio -> 1}]& )}], 
      Cell[
       StyleData["PrettyTooltipTemplate"], 
       TemplateBoxOptions -> {DisplayFunction -> (TooltipBox[#, 
           FrameBox[
            
            StyleBox[#2, FontFamily -> "Source Sans Pro", FontColor -> 
             RGBColor[0.53725, 0.53725, 0.53725], FontSize -> 12, FontWeight -> 
             "Plain", FontTracking -> "Plain", StripOnInput -> False], 
            Background -> RGBColor[0.96078, 0.96078, 0.96078], FrameStyle -> 
            RGBColor[0.89804, 0.89804, 0.89804], FrameMargins -> 8, 
            StripOnInput -> False], TooltipDelay -> 0.1, 
           TooltipStyle -> {Background -> None, CellFrame -> 0}]& )}], 
      Cell[
       StyleData["BannerMenuTemplate"], 
       LightDarkAutoColorRules -> <|"MarkedColors" -> True|>, 
       TemplateBoxOptions -> {DisplayFunction :> (ActionMenuBox[
           TagBox[
            PanelBox[
             GraphicsBox[{
               CapForm["Round"], 
               GrayLevel[1], 
               AbsoluteThickness[3.2], 
               LineBox[{{0, 0}, {2, 0}}], 
               LineBox[{{0, 1}, {2, 1}}], 
               LineBox[{{0, 2}, {2, 2}}]}, ImageSize -> {27, Automatic}, 
              AspectRatio -> 0.62], ContentPadding -> False, 
             FrameMargins -> {{10, 10}, {7, 7}}, Appearance -> None, 
             BaseStyle -> Dynamic[
               FEPrivate`If[
                CurrentValue["MouseOver"], {
                Background -> 
                 RGBColor[
                  0.08808648687787803, 0.3397116701677621, 
                   0.5610151372105242]}, "Banner"], Evaluator -> "System"]], 
            MouseAppearanceTag["LinkHand"]], #, Appearance -> None]& )}], 
      Cell[
       StyleData["BannerCitationOpenerTemplate"], 
       TemplateBoxOptions -> {DisplayFunction :> (ButtonBox[
           TagBox[
            GridBox[{{
               Slot["label"], 
               PaneSelectorBox[{True -> GraphicsBox[{
                    CapForm["Round"], 
                    JoinForm["Round"], 
                    Thickness[0.18], 
                    GrayLevel[0.7], 
                    LineBox[{{-180, 25}, {0, -25}, {180, 25}}]}, {
                   Method -> {"ShrinkWrap" -> True}, ImageSize -> 11, 
                    PlotRange -> {{-275, 400}, {-75, 100}}, AspectRatio -> 
                    1}], False -> GraphicsBox[{
                    CapForm["Round"], 
                    JoinForm["Round"], 
                    Thickness[0.18], 
                    GrayLevel[0.7], 
                    LineBox[{{-25, -180}, {25, 0}, {-25, 180}}]}, {
                   Method -> {"ShrinkWrap" -> True}, ImageSize -> 8, 
                    PlotRange -> {{-75, 100}, {-475, 200}}, AspectRatio -> 
                    1}]}, 
                Dynamic[
                 CurrentValue[
                  EvaluationNotebook[], {
                  TaggingRules, "eTextbook", "CitationOpener"}]]]}}, 
             GridBoxAlignment -> {"Rows" -> {{Baseline}}}, AutoDelete -> 
             False, GridBoxItemSize -> {
              "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}], "Grid"], 
           ButtonFunction :> (CurrentValue[
              EvaluationNotebook[], {
              TaggingRules, "eTextbook", "CitationOpener"}] = Not[
              TrueQ[
               CurrentValue[
                EvaluationNotebook[], {
                TaggingRules, "eTextbook", "CitationOpener"}]]]), Appearance -> 
           None, Evaluator -> Automatic, Method -> "Preemptive", BaseStyle -> 
           "BannerCitationOpenerLabel"]& )}], 
      Cell[
       StyleData["CitationClickToCopy2"], 
       TemplateBoxOptions -> {DisplayFunction -> (TagBox[
           DynamicModuleBox[{Typeset`boxobj$$, Typeset`cellobj$$}, 
            TagBox[
             TagBox[
              ButtonBox[
               
               TagBox[#, BoxForm`Undeploy, 
                DefaultBaseStyle -> {Deployed -> False}], ButtonFunction :> 
               FrontEndExecute[{
                  CopyToClipboard[
                   Cell[
                    TextData[#2], "Text", 
                    LinebreakAdjustments -> {0.85, 2, 10, 0, 1}, 
                    DefaultFormatType -> DefaultTextFormatType, 
                    TextClipboardType -> "PlainText", StripStyleOnPaste -> 
                    True, PageBreakWithin -> False, GroupPageBreakWithin -> 
                    False, LanguageCategory -> None, 
                    HyphenationOptions -> {"HyphenationCharacter" -> ""}]], 
                  NotebookDelete[Typeset`cellobj$$], 
                  FrontEnd`AttachCell[Typeset`boxobj$$, 
                   Cell[
                    BoxData[
                    TemplateBox[{"Copied"}, "ClickToCopyTooltip"]]], {
                   1, {Center, Bottom}}, {Center, Top}, 
                   "ClosingActions" -> {"ParentChanged", "MouseExit"}]}], 
               Evaluator -> None, 
               Appearance -> {
                "Default" -> None, "Hover" -> 
                 FrontEnd`FileName[{"Typeset", "ClickToCopy"}, "Hover.9.png"],
                  "Pressed" -> 
                 FrontEnd`FileName[{"Typeset", "ClickToCopy"}, 
                   "Pressed.9.png"]}, BaseStyle -> {}, DefaultBaseStyle -> {},
                BaselinePosition -> Baseline, FrameMargins -> 2, Method -> 
               "Preemptive"], 
              
              EventHandlerTag[{
               "MouseEntered" :> (Typeset`cellobj$$ = MathLink`CallFrontEnd[
                   FrontEnd`AttachCell[Typeset`boxobj$$, 
                    Cell[
                    BoxData[
                    TemplateBox[{"Copy"}, "ClickToCopyTooltip"]]], {
                    1, {Center, Bottom}}, {Center, Top}, 
                    "ClosingActions" -> {"ParentChanged"}]]), "MouseExited" :> 
                NotebookDelete[Typeset`cellobj$$], PassEventsDown -> True, 
                Method -> "Preemptive", PassEventsUp -> True}]], 
             MouseAppearanceTag["LinkHand"]], 
            Initialization :> (Typeset`boxobj$$ = EvaluationBox[]), 
            DynamicModuleValues :> {}, 
            UnsavedVariables :> {Typeset`boxobj$$, Typeset`cellobj$$}, 
            BaseStyle -> {Editable -> False}], Deploy, DefaultBaseStyle -> 
           "Deploy"]& ), 
         InterpretationFunction -> (RowBox[{"ClickToCopy", "[", 
            RowBox[{#, ",", #2}], "]"}]& ), Tooltip -> None}], 
      Cell[
       StyleData["BannerPreReleaseTemplate"], 
       TemplateBoxOptions -> {DisplayFunction :> (TagBox[
           GridBox[{{
              PanelBox[
               StyleBox[
                Slot["author"], FontWeight -> "SemiBold"], BaseStyle -> 
               "BannerPreReleaseLabel", Appearance -> None, ContentPadding -> 
               False, FrameMargins -> {{18, 20}, {6, 6}}, 
               ImageSize -> {Full, Automatic}], 
              TemplateBox[{"Provide Feedback \[RightGuillemet]", {
                 URL[
                  Slot["url"]], None}, 
                Slot["url"], "BannerPreReleaseLabel", {"HyperlinkActive"}, {
                Appearance -> None}}, "HyperlinkTemplate"]}}, 
            GridBoxAlignment -> {
             "Columns" -> {{Left, Right}}, "Rows" -> {{Center}}}, AutoDelete -> 
            False, GridBoxFrame -> {"Columns" -> None, "Rows" -> {{None}}}, 
            GridBoxItemSize -> {
             "Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}, 
            GridBoxSpacings -> {"Columns" -> {{0}}, "Rows" -> {{0}}}], 
           "Grid"]& )}]}, Open]]}, Visible -> False, FrontEndVersion -> 
  "14.3 for Mac OS X ARM (64-bit) (July 1, 2025)", StyleDefinitions -> 
  "PrivateStylesheetFormatting.nb"],
ETextbookTools`CreateNotebookCollection`Private`FileChangeProtection -> None,
ExpressionUUID->"0f1b61f8-58de-44a9-8b3c-97d3e2793940"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{}
*)
(*CellTagsIndex
CellTagsIndex->{}
*)
(*NotebookFileOutline
Notebook[{
Cell[CellGroupData[{
Cell[642, 23, 149, 2, 108, "Section",ExpressionUUID->"d1e2a123-a303-4b21-a42b-58d7af18328d",
 CounterAssignments->{{"Section", 5}},
 CellID->578855155],
Cell[794, 27, 908, 14, 48, "Exercise",ExpressionUUID->"38d3c423-91ea-4705-a1ee-c3b71ff2913a",
 CellID->559062746],
Cell[CellGroupData[{
Cell[1727, 45, 111, 1, 25, "ExerciseSolution",ExpressionUUID->"2f68cce4-f12f-e647-a8f4-01aca9345946",
 CellID->415564034],
Cell[1841, 48, 211, 4, 43, "SolutionAnswer",ExpressionUUID->"a6994dba-870e-4cc1-af27-25c4bcf08dc6",
 CellID->868777251],
Cell[2055, 54, 238, 4, 43, "SolutionAnswer",ExpressionUUID->"ccfa255d-0bbb-4ff1-9365-3373f30e974f",
 CellID->797941604]
}, Closed]],
Cell[2308, 61, 419, 13, 44, "Exercise",ExpressionUUID->"9f7e7b11-2e70-4b8a-856a-b7eeef2d8d31",
 CellID->689541008],
Cell[CellGroupData[{
Cell[2752, 78, 110, 1, 25, "ExerciseSolution",ExpressionUUID->"18949641-f60a-6346-8683-17cc682722b0",
 CellID->14943115],
Cell[2865, 81, 134, 1, 22, "SolutionAnswer",ExpressionUUID->"3d25084a-9613-4cdc-82d2-0555288f662f",
 CellID->1074923915],
Cell[CellGroupData[{
Cell[3024, 86, 177, 3, 28, "ExerciseInput",ExpressionUUID->"7b5622d9-b65f-40f7-8c96-900264c4e777",
 CellID->1613800841],
Cell[3204, 91, 5770, 118, 59, "ExerciseOutput",ExpressionUUID->"e1d96fca-c129-4fd4-aca3-ebff305a7061",
 CellID->432273077]
}, Open  ]],
Cell[8989, 212, 233, 5, 22, "SolutionAnswer",ExpressionUUID->"e7b44708-e9fc-4cae-a454-4a99e3dd8f35",
 CellID->276427338],
Cell[CellGroupData[{
Cell[9247, 221, 240, 5, 28, "ExerciseInput",ExpressionUUID->"70de9bc6-dbae-4083-a39f-e062ee11b065",
 CellID->907141305],
Cell[9490, 228, 7463, 151, 59, "ExerciseOutput",ExpressionUUID->"1080d8bb-8d49-44c5-8a04-513f9a3bdc35",
 CellID->1337503082]
}, Open  ]],
Cell[16968, 382, 133, 1, 22, "SolutionAnswer",ExpressionUUID->"8fdd0450-636b-4013-86ef-49a741d9b9e5",
 CellID->1702966025],
Cell[CellGroupData[{
Cell[17126, 387, 207, 4, 28, "ExerciseInput",ExpressionUUID->"f9c3c6b6-f0a6-4239-8b62-e3c3530a300a",
 CellID->87934959],
Cell[17336, 393, 147, 1, 31, "ExerciseOutput",ExpressionUUID->"fd008afa-53ac-4a07-bb7b-5ac5f34d4aa1",
 CellID->454106777]
}, Open  ]]
}, Closed]],
Cell[17510, 398, 1269, 22, 62, "Exercise",ExpressionUUID->"4a785de8-1d48-4b97-9dca-2a432fdc480b",
 CellID->1932383343],
Cell[CellGroupData[{
Cell[18804, 424, 108, 1, 25, "ExerciseSolution",ExpressionUUID->"a7240d1b-fc74-5e44-8feb-2e20386d687c",
 CellID->945600],
Cell[18915, 427, 148, 1, 22, "SolutionAnswer",ExpressionUUID->"13de7599-03ba-4865-b9a7-d4d41832a944",
 CellID->148838416],
Cell[CellGroupData[{
Cell[19088, 432, 201, 4, 28, "ExerciseInput",ExpressionUUID->"1b8819fa-594d-4138-baf2-9a1446951d1e",
 CellID->1856292604],
Cell[19292, 438, 22901, 424, 138, "ExerciseOutput",ExpressionUUID->"efa38210-d040-43e0-be65-6bf43ee1242b",
 CellID->67371812]
}, Open  ]],
Cell[42208, 865, 140, 1, 22, "SolutionAnswer",ExpressionUUID->"0fae4f5f-8e4b-4dcb-8456-6059a3c0dd62",
 CellID->594162315],
Cell[CellGroupData[{
Cell[42373, 870, 284, 6, 28, "ExerciseInput",ExpressionUUID->"7e80ebbe-72f2-4cb9-98a4-076fc94b2852",
 CellID->287069655],
Cell[42660, 878, 8134, 157, 59, "ExerciseOutput",ExpressionUUID->"2ba5274b-01ce-4ec2-95a0-101ab9d6f35d",
 CellID->1531420423]
}, Open  ]],
Cell[50809, 1038, 130, 1, 22, "SolutionAnswer",ExpressionUUID->"c2625b72-6c06-4fc3-93a6-62512cd65431",
 CellID->991540066],
Cell[CellGroupData[{
Cell[50964, 1043, 227, 5, 28, "ExerciseInput",ExpressionUUID->"bce87a4d-4bc7-469a-8049-fd1910edf246",
 CellID->340788542],
Cell[51194, 1050, 142, 1, 31, "ExerciseOutput",ExpressionUUID->"c11ca303-c027-4c35-982d-7a925a48ee56",
 CellID->294138845]
}, Open  ]],
Cell[51351, 1054, 144, 1, 22, "SolutionAnswer",ExpressionUUID->"b6565cae-1c9c-4044-ba00-046e41f44361",
 CellID->84212521],
Cell[CellGroupData[{
Cell[51520, 1059, 285, 6, 28, "ExerciseInput",ExpressionUUID->"aee241d1-ca4a-4443-9568-db8c0a91cf09",
 CellID->168117074],
Cell[51808, 1067, 8114, 157, 59, "ExerciseOutput",ExpressionUUID->"2149a0ce-ab7e-415e-acad-e2033bf7cbc6",
 CellID->1602666913]
}, Open  ]],
Cell[59937, 1227, 129, 1, 22, "SolutionAnswer",ExpressionUUID->"302da5b7-cc4f-45c5-8f3a-ea3ffdb16212",
 CellID->135422470],
Cell[CellGroupData[{
Cell[60091, 1232, 227, 5, 28, "ExerciseInput",ExpressionUUID->"aae77309-c09a-431f-830e-7d6d8c43ef58",
 CellID->1860271117],
Cell[60321, 1239, 142, 1, 31, "ExerciseOutput",ExpressionUUID->"6c5aaad7-c019-4d2a-af8e-27cb9a5f990c",
 CellID->362246746]
}, Open  ]]
}, Closed]],
Cell[60490, 1244, 936, 14, 25, "Exercise",ExpressionUUID->"30531710-c633-4d67-b00d-6a2c9d743f17",
 CellID->595650277],
Cell[CellGroupData[{
Cell[61451, 1262, 111, 1, 25, "ExerciseSolution",ExpressionUUID->"e7f6d76f-e40c-4744-8925-f6d16a56f4ab",
 CellID->349893711],
Cell[61565, 1265, 136, 1, 22, "SolutionAnswer",ExpressionUUID->"cc77f004-a817-4216-9ff8-338204d43e85",
 CellID->1416628066],
Cell[61704, 1268, 785, 20, 64, "SolutionAnswer",ExpressionUUID->"dc6b0863-838f-4ba8-a719-da6b36363efe",
 CellID->116710973],
Cell[CellGroupData[{
Cell[62514, 1292, 172, 3, 28, "ExerciseInput",ExpressionUUID->"b6f06c31-0032-48f5-9ac2-84d0518dcab8",
 CellID->908753500],
Cell[62689, 1297, 112, 1, 31, "ExerciseOutput",ExpressionUUID->"ca7e76ca-5578-434f-889d-b37fd9e0cfbd",
 CellID->516377036]
}, Open  ]],
Cell[CellGroupData[{
Cell[62838, 1303, 172, 3, 28, "ExerciseInput",ExpressionUUID->"d5500eb6-3635-454f-ae1d-088169215ef9",
 CellID->767426525],
Cell[63013, 1308, 112, 1, 31, "ExerciseOutput",ExpressionUUID->"fd295575-49b8-4369-bc09-f334db894cf3",
 CellID->350821793]
}, Open  ]],
Cell[63140, 1312, 305, 9, 22, "SolutionAnswer",ExpressionUUID->"510906f5-5c75-40c6-bd0a-63591bf653a2",
 CellID->1419263936],
Cell[CellGroupData[{
Cell[63470, 1325, 156, 3, 28, "ExerciseInput",ExpressionUUID->"81e06beb-5887-449a-b203-deb0fe34dee0",
 CellID->1468105123],
Cell[63629, 1330, 115, 1, 31, "ExerciseOutput",ExpressionUUID->"02b3ae7a-4e1e-4cf0-9bea-d594ef8be727",
 CellID->2003181878]
}, Open  ]],
Cell[63759, 1334, 928, 30, 22, "SolutionAnswer",ExpressionUUID->"e1cae466-e989-457c-8c0c-160e6366509e",
 CellID->1376689527],
Cell[64690, 1366, 260, 9, 22, "SolutionAnswer",ExpressionUUID->"2ebedabb-137b-4dc1-8f72-bac462ff54f5",
 CellID->1032067511],
Cell[CellGroupData[{
Cell[64975, 1379, 759, 21, 50, "ExerciseInput",ExpressionUUID->"03e1b401-8dcb-4cf4-b635-7641b05434d5",
 CellID->733240558],
Cell[65737, 1402, 187, 4, 31, "ExerciseOutput",ExpressionUUID->"e54eff97-ee91-4949-b540-9545ef8ccbb0",
 CellID->1312891820]
}, Open  ]],
Cell[65939, 1409, 150, 3, 28, "ExerciseInput",ExpressionUUID->"4abb11dd-35e3-4300-aa1b-7b20dce4a641",
 CellID->378345815],
Cell[66092, 1414, 473, 14, 22, "SolutionAnswer",ExpressionUUID->"8633fbb8-173b-46f3-85c3-23b8411d3dec",
 CellID->159033938],
Cell[66568, 1430, 966, 29, 43, "SolutionAnswer",ExpressionUUID->"b96d7640-8f30-4ff1-82df-e5d8af8d86f6",
 CellID->1413739098],
Cell[67537, 1461, 259, 9, 22, "SolutionAnswer",ExpressionUUID->"661ec8e3-5a85-485a-86ce-ce7880274b04",
 CellID->953949678],
Cell[CellGroupData[{
Cell[67821, 1474, 444, 13, 28, "ExerciseInput",ExpressionUUID->"04f3633c-6dce-4e7e-b016-c1be87c04e79",
 CellID->2066813291],
Cell[68268, 1489, 189, 4, 31, "ExerciseOutput",ExpressionUUID->"77e8c094-b1c5-4282-ae02-07a4d024c316",
 CellID->1382991612]
}, Open  ]],
Cell[68472, 1496, 153, 3, 28, "ExerciseInput",ExpressionUUID->"e2c1e44b-f2e4-4dbd-8dc1-3bd1f1fcc98f",
 CellID->1724511403],
Cell[68628, 1501, 479, 14, 22, "SolutionAnswer",ExpressionUUID->"4f924712-91d8-4bc1-a0ae-91d09068c93e",
 CellID->1423850309],
Cell[69110, 1517, 589, 15, 22, "SolutionAnswer",ExpressionUUID->"1fc41325-f857-48ac-b5b4-f429ed7f7087",
 CellID->1241864842],
Cell[69702, 1534, 151, 3, 28, "ExerciseInput",ExpressionUUID->"63db4224-dc76-4434-a80b-dfc0ca421685",
 CellID->628834301],
Cell[69856, 1539, 690, 20, 43, "SolutionAnswer",ExpressionUUID->"bf07ea6c-592e-4702-84b3-2330dc86e61d",
 CellID->1051070020],
Cell[CellGroupData[{
Cell[70571, 1563, 211, 5, 28, "ExerciseInput",ExpressionUUID->"d7381101-16fe-47a5-b4e6-056f92116fea",
 CellID->133345918],
Cell[70785, 1570, 114, 1, 31, "ExerciseOutput",ExpressionUUID->"68d9d3d8-1093-4d57-9de8-80d2746c66fd",
 CellID->1319400005]
}, Open  ]],
Cell[70914, 1574, 295, 8, 22, "SolutionAnswer",ExpressionUUID->"59756971-ef37-42a2-a821-4f1c8bf9b54e",
 CellID->239745113],
Cell[71212, 1584, 716, 20, 22, "SolutionAnswer",ExpressionUUID->"e6fb0f01-a701-4690-9822-1db9df1d744a",
 CellID->716792419],
Cell[CellGroupData[{
Cell[71953, 1608, 212, 5, 28, "ExerciseInput",ExpressionUUID->"9113b9ad-3420-4493-9568-19045d6baaf7",
 CellID->1894410110],
Cell[72168, 1615, 112, 1, 31, "ExerciseOutput",ExpressionUUID->"a818c39e-d19d-46a5-b789-48061914462e",
 CellID->758168348]
}, Open  ]],
Cell[72295, 1619, 277, 7, 22, "SolutionAnswer",ExpressionUUID->"cb89296d-db04-40f2-a842-49614382f50c",
 CellID->1514947185]
}, Closed]]
}, Open  ]],
Cell[72599, 1630, 293, 6, 135, "SmallText",ExpressionUUID->"6ab6040e-e7a7-4505-93c9-ee4430b3de26",
 CellGroupingRules->"SectionGrouping"]
}
]
*)

(* NotebookSignature YSG9bVoL3wajLjeCpsqrEbTF *)
