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

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

(* CreatedBy='Wolfram 15.0' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       154,          7]
NotebookDataLength[     67622,       1686]
NotebookOptionsPosition[     58316,       1516]
NotebookOutlinePosition[     60453,       1566]
CellTagsIndexPosition[     60375,       1561]
WindowTitle->SweepCheckpoint
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{
Cell[BoxData[GridBox[{
   {GridBox[{
      {
       ItemBox[Cell[BoxData[
         RowBox[{
          TemplateBox[{12},
           "Spacer1"], Cell[
          "WOLFRAM INSTITUTE/ PUZZLES SYMBOL", "PacletNameCell",
           TextAlignment->Center,ExpressionUUID->
           "5bc60d3c-7f5e-4133-8a06-54ed6bb50a42"], 
          TemplateBox[{8},
           "Spacer1"]}]],
         TextAlignment->Center,ExpressionUUID->
         "c1f0c4c4-0b43-4e08-9875-dd0e3d898cc8"],
        Background->LightDarkSwitched[
          RGBColor[0.490196, 0.576471, 0.690196]],
        ItemSize->Full], ""}
     },
     GridBoxAlignment->{"Rows" -> {{Center}}},
     GridBoxItemSize->{"Columns" -> {Full, 
         Scaled[0.02]}, "Rows" -> {{2.5}}}], Cell[TextData[{
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "See Also",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "d9088d67-96fe-4014-a99e-c255fcf823a9"]
         }],ExpressionUUID->"69fb9950-6246-4166-baa6-b887ba3ffe63"],
         StripOnInput->False],{
        StyleBox["\"Import\"", "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup["paclet:ref/Import"], Delimiter, 
         StyleBox[
          "\"Functions\"", "SeeAlsoSection", FontSize -> 14, FontSlant -> 
           "Italic", StripOnInput -> False] :> 
         NotebookFind[EvaluationNotebook[], "SeeAlsoSection", All, CellStyle],
          StyleBox[
          StyleBox[
           "\"CandidateSweep\"", "SeeAlsoRelated", StripOnInput -> False], 
           "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/CandidateSweep"], 
         StyleBox[
          StyleBox[
           "\"CandidateEnumeration\"", "SeeAlsoRelated", StripOnInput -> 
            False], "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/CandidateEnumeration"], 
         StyleBox[
          StyleBox[
           "\"SearchLedger\"", "SeeAlsoRelated", StripOnInput -> False], 
           "SeeAlsoRelated", StripOnInput -> False] :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/ref/SearchLedger"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"SeeAlso"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "8ffc77dc-6656-48a0-ad54-a4994d889c2d"],
     "\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\
\[ThickSpace]",
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "Related Guides",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "c4932bdf-fe57-49fe-89df-3925b29734d5"]
         }],ExpressionUUID->"eba987a4-edf0-47ed-a017-45c732d91ff7"],
         StripOnInput->False],{
        "\"Search\"" :> 
         Documentation`HelpLookup[
          "paclet:WolframInstitute/Puzzles/guide/Search"]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"MoreAbout"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "75b7e47b-4fab-4de7-aee7-a5c2a2cc02b1"],
     "\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\[ThickSpace]\
\[ThickSpace]",
     Cell[BoxData[
      TagBox[
       ActionMenuBox[
        FrameBox[Cell[TextData[{
          "URL",
          " ",
          Cell[BoxData[
           GraphicsBox[
            {GrayLevel[0.66667], Thickness[0.13], 
             LineBox[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]},
            AspectRatio->1,
            ImageSize->20,
            PlotRange->{{-3, 4}, {-1, 1}}]],ExpressionUUID->
           "e0114d67-821d-42aa-bd44-781dd23017cb"]
         }],ExpressionUUID->"5f3c17d9-9dd5-417a-b117-3d7e9145005b"],
         StripOnInput->False],{
        "\"WolframInstitute/Puzzles/ref/SweepCheckpoint\"" :> None, 
         "\"Copy Wolfram Documentation Center URL\"" :> 
         CopyToClipboard["WolframInstitute/Puzzles/ref/SweepCheckpoint"], 
         Delimiter, "\"Copy web URL\"" :> 
         Module[{DocumentationSearch`Private`nb$}, 
           DocumentationSearch`Private`nb$ = 
            NotebookPut[
             Notebook[{
               Cell[BoxData[
                 MakeBoxes[
                  Hyperlink[
                   "http://reference.wolfram.com/language/WolframInstitute/\
Puzzles/ref/SweepCheckpoint.html"], StandardForm]], "Input", 
                 TextClipboardType -> "PlainText"]}, Visible -> False]]; 
           SelectionMove[DocumentationSearch`Private`nb$, All, Notebook]; 
           FrontEndTokenExecute[DocumentationSearch`Private`nb$, "Copy"]; 
           NotebookClose[DocumentationSearch`Private`nb$]; Null], 
         "\"Go to web URL\"" :> 
         FrontEndExecute[{
           NotebookLocate[{
             URL[If[TrueQ[False], 
                 "http://reference.wolfram.com/system-modeler/", 
                 "http://reference.wolfram.com/language/"] <> 
               "WolframInstitute/Puzzles/ref/SweepCheckpoint" <> ".html"], 
              None}]}]},
        Appearance->None,
        MenuAppearance->Automatic,
        MenuStyle->"URLMenu"],
       MouseAppearanceTag["LinkHand"]]],
      LineSpacing->{1.4, 0},ExpressionUUID->
      "85b44eaf-6982-439a-8e0f-fe7103434d9d"]
    }], "AnchorBar",
     CacheGraphics->False,ExpressionUUID->
     "1d337c8a-fe08-4284-ab60-481488c860d4"]}
  }]], "AnchorBarGrid",
 CellID->1,ExpressionUUID->"7e57d20b-db14-4f88-b13b-6dfdb8b00c5e"],

Cell["WolframInstitute`Puzzles`", "ContextNameCell",ExpressionUUID->"41f60fbe-2ce4-4414-829b-eaedc3957aa0"],

Cell[CellGroupData[{

Cell[BoxData[GridBox[{
   {Cell[TextData[{
     Cell[
     "SweepCheckpoint", "ObjectName",ExpressionUUID->
      "0532dde4-ce64-465a-bd1a-ae99c63c2c22"],
     Cell[BoxData[
      TemplateBox[{8},
       "Spacer1"]],ExpressionUUID->"e199d710-a7d9-4d36-8c93-0e6575a60a2d"],
     Cell[BoxData[
     ""], "ObjectNameTranslation",ExpressionUUID->
      "c3fac994-7102-47b1-ab14-a55d0984f7b5"]
    }],ExpressionUUID->"b119cc4b-8c9b-4ca8-bac8-1f15fbf79071"], 
    "\[SpanFromLeft]"}
  }]], "ObjectNameGrid",ExpressionUUID->"d73d1216-ef75-491e-8c79-\
532447e0bb00"],

Cell[BoxData[GridBox[{
   {"", Cell[TextData[{
     Cell[BoxData[
      RowBox[{
       TemplateBox[{
         Cell[
          TextData["SweepCheckpoint"]], 
         "paclet:WolframInstitute/Puzzles/ref/SweepCheckpoint", 
         "WolframInstitute/Puzzles Package Symbol"},
        "PackageLink",
        BaseStyle->"InlineFormula"], 
       "[", "\"\<\!\(\*StyleBox[\"file\", \"TI\"]\)\>\"", "]"}]], 
      "InlineFormula",
      FontFamily->"Source Sans Pro",
      FontSize->0.9 Inherited,ExpressionUUID->
      "52c8093d-7a27-4497-8c5c-0e6427f9d050"],
     "\[LineSeparator]",
     "gives the Association stored in a sweep checkpoint file, with the index \
reached, the hits found so far, and the enumeration fingerprint the \
checkpoint belongs to."
    }],ExpressionUUID->"bc6d3f71-fa3c-44eb-bc05-7e687efa2ac1"]}
  }]], "Usage",ExpressionUUID->"a24c7d59-8732-4b4f-9ad1-978242dc7776"]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[Cell[BoxData[Cell[TextData[{
  Cell[BoxData[
   DynamicBox[ToBoxes[
     If[CurrentValue[
        EvaluationCell[], "CellGroupOpen"] =!= Closed, 
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], 
      Rotate[
       Style[
        Graphics[{
          Thickness[0.18], 
          RGBColor[0.8509803921568627, 0.396078431372549, 0], 
          Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
         PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
        0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]],
    ImageSizeCache->{
     13.600000000000001`, {-0.1685058593749993, 13.768505859375}}]],
   ExpressionUUID->"2964324f-1ad1-49d8-bc59-ca31c942683c"],
  Cell[BoxData[
   TemplateBox[{1},
    "Spacer1"]],ExpressionUUID->"0a9373ec-bd54-488d-8453-6b89fd1b8fa6"],
  "Details and Options"
 }], "NotesFrameText",ExpressionUUID->
  "5945ee4e-45b4-47ae-9117-8ff50cb7bb5c"]],ExpressionUUID->"8388b5ff-391d-\
411b-a565-a2ea2c89432f"]], "NotesSection",
 ShowGroupOpener->"Thumbnail",
 WholeCellGroupOpener->True,
 CellGroupingRules->{"SectionGrouping", 50},
 CacheGraphics->False,
 CellID->1412994541,ExpressionUUID->"ab8c7c62-51e4-46aa-bce7-5d058d3b2bc6"],

Cell[TextData[{
 "A checkpoint is written by ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["CandidateSweep"]], 
    "paclet:WolframInstitute/Puzzles/ref/CandidateSweep", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "555ce43f-c71a-4a4f-8133-60fbe3bf3945"],
 " with a ",
 Cell[BoxData["\<\"Checkpoint\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "0a1a107c-0200-49d6-ab32-9b347f7e05c2"],
 " option, after every chunk."
}], "Notes",ExpressionUUID->"e6cd714c-d904-410c-b48d-fd4f00ddf0c4"],

Cell[TextData[{
 "The Association has keys ",
 Cell[BoxData["\<\"Format\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "9371e78a-26a9-48c7-99ba-92745fe286e7"],
 ", ",
 Cell[BoxData["\<\"Version\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "61f4f15f-1d15-45f3-8e55-b33be2f631ce"],
 ", ",
 Cell[BoxData["\<\"Enumeration\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "b2e21e18-9351-4c4d-95bb-60f625f9f1a0"],
 ", ",
 Cell[BoxData["\<\"Length\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "138c563d-f25f-477a-af27-5bf6d49aeb90"],
 ", ",
 Cell[BoxData["\<\"Updated\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "55d3fa69-338a-4224-b8a0-13951f7c5f02"],
 ", ",
 Cell[BoxData["\<\"Index\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "5463783a-8829-4461-bf20-fb76a129a292"],
 ", ",
 Cell[BoxData["\<\"Tested\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "3e5911a8-4b1a-4307-ac4d-3c2a3b5085fc"],
 ", ",
 Cell[BoxData["\<\"Skipped\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "821b90e4-ebcb-4f64-95a9-77cdd831f18f"],
 ", ",
 Cell[BoxData["\<\"Hits\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "5700a70e-86ab-46ff-bfd6-73e145e9266f"],
 " and ",
 Cell[BoxData["\<\"HitIndices\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "65d882ad-a48f-4c16-b0d9-4a9d4d49621f"],
 "."
}], "Notes",ExpressionUUID->"d2f4714f-cde0-466f-8280-a3a08d411076"],

Cell[TextData[{
 Cell[BoxData["\<\"Enumeration\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "b4f93aa3-9ad9-4dad-880d-32b2922b1b40"],
 " is the ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["CandidateEnumeration"]], 
    "paclet:WolframInstitute/Puzzles/ref/CandidateEnumeration", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "279e78b9-3d61-46b7-a4ff-dc8c97d8e33b"],
 " ",
 Cell[BoxData["\<\"Fingerprint\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "cf6ea1ed-49ba-4dad-916d-f363f89a2931"],
 " of the space the sweep was over. A sweep resumed against a space with a \
different fingerprint is refused, so this key is what makes a resume safe."
}], "Notes",ExpressionUUID->"34e21847-fb25-4668-b26c-c58cdcbc49cc"],

Cell[TextData[{
 Cell[BoxData["\<\"Index\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "608cd329-f3ef-4001-b763-d31e2541127a"],
 " is the last enumeration index the sweep completed; resuming starts at the \
next one."
}], "Notes",ExpressionUUID->"0cb01105-dadc-4bbb-9c6d-368d17807453"],

Cell["\<\
The file is ordinary JSON, so a run in progress can be watched from outside \
the kernel.\
\>", "Notes",ExpressionUUID->"e1ab5763-e624-4028-9881-64c863aa50d2"],

Cell[TextData[{
 "A file that does not exist, is not readable JSON, or is JSON that is not a \
sweep checkpoint, gives a ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["Failure"]], "paclet:ref/Failure"},
   "RefLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "cfce3347-6711-42fb-90c7-7cf845281f27"],
 "."
}], "Notes",ExpressionUUID->"d4d8de6a-8c36-474e-8427-21c312d4e304"],

Cell["\<\
Anything but a file path matches no definition and the call is returned \
unevaluated.\
\>", "Notes",ExpressionUUID->"f79f680a-29b6-47ec-8c2a-a4b18b776425"],

Cell[TextData[{
 "There is no separate resume call: ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["CandidateSweep"]], 
    "paclet:WolframInstitute/Puzzles/ref/CandidateSweep", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "f450fdb2-eaca-4173-845e-532e656a9bcc"],
 " given a ",
 Cell[BoxData["\<\"Checkpoint\"\>"], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "f1f16230-195b-47a3-9bb3-4f0301f8e3dd"],
 " that already exists picks it up."
}], "Notes",ExpressionUUID->"0b4c9e6c-944d-45d1-a7e7-aea276b4c410"]
}, Closed]],

Cell["", "PageDelimiter",ExpressionUUID->"c0100b67-4b49-4a70-ba7b-b8d8c5a5358e"],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[
     MatchQ[
      CurrentValue[
       EvaluationNotebook[], {
       TaggingRules, "Openers", "PrimaryExamplesSection"}, Open], 
      Alternatives[True, Open]], 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]],
   ImageSizeCache->{
    13.600000000000001`, {4.251494140625001, 9.348505859375}}]],
  ExpressionUUID->"078817ed-cb86-4070-8b0c-63525b58b26a"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"c14c5dc4-1f97-48cc-a3dd-807d5879b11e"],
 "Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(11)", "ExampleCount",ExpressionUUID->
  "df8d366a-0fb0-49cc-8016-1272fb52f0e1"]
}], "PrimaryExamplesSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1325082061,ExpressionUUID->"75c4a136-5d51-4637-b326-ad3ff8f85323"],

Cell[BoxData[
 RowBox[{"Needs", "[", "\"\<WolframInstitute`Puzzles`\>\"", "]"}]], "Input", \
"ExampleInitialization",
 CellLabel->"In[1]:=",
 CellID->1969679695,ExpressionUUID->"bedf05c6-e076-4896-9953-3697776a3c74"],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "554a2955-e6be-4295-8943-97965817b447"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"91aaa962-d418-41bc-8d96-7c26ee8186a2"],
 "Basic Examples",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(3)", "ExampleCount",ExpressionUUID->
  "473b8b6b-65dd-487b-8ddd-ef19922b3731"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1248779837,ExpressionUUID->"f6db7942-372e-408d-ba9d-cac89d46c57c"],

Cell["Reading the checkpoint a stopped sweep left behind:", "ExampleText",
 CellTags->
  "TextAnnotation",ExpressionUUID->"edd92e52-020a-40b9-be09-0b7e1de0af1b"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Module", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"file", " ", "=", " ", 
     RowBox[{"FileNameJoin", "[", 
      RowBox[{"{", 
       RowBox[{
        RowBox[{"CreateDirectory", "[", "]"}], ",", 
        " ", "\"\<sweep.json\>\""}], "}"}], "]"}]}], "}"}], ",", "\n", "\t", 
   RowBox[{
    RowBox[{"CandidateSweep", "[", 
     RowBox[{
      RowBox[{"CandidateEnumeration", "[", 
       RowBox[{"Range", "[", "10", "]"}], "]"}], ",", " ", 
      RowBox[{"Function", "[", 
       RowBox[{"candidate", ",", " ", "True"}], "]"}], ",", " ", 
      RowBox[{"\"\<ChunkSize\>\"", " ", "->", " ", "2"}], ",", " ", 
      RowBox[{"\"\<MaxHits\>\"", " ", "->", " ", "1"}], ",", " ", 
      RowBox[{"\"\<Checkpoint\>\"", " ", "->", " ", "file"}]}], "]"}], ";", 
    "\n", "\t", 
    RowBox[{"Lookup", "[", 
     RowBox[{
      RowBox[{"SweepCheckpoint", "[", "file", "]"}], ",", " ", 
      RowBox[{"{", 
       RowBox[{"\"\<Index\>\"", ",", " ", "\"\<Tested\>\"", ",", 
        " ", "\"\<HitIndices\>\""}], "}"}]}], "]"}]}]}], "\n", "]"}]], "Input",\

 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"2f9b54a1-072b-4c8a-a891-e8a8f84fd29f"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"2", ",", "2", ",", 
   RowBox[{"{", 
    RowBox[{"1", ",", "2"}], "}"}]}], "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"b142a090-8623-46b0-8a9f-d6098c87d838"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "18407c3b-e770-4b43-901f-10720a3dba1c"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"d16e1440-524c-421b-\
a8a4-e5f83f4beaaa"],

Cell["The keys a checkpoint carries:", "ExampleText",ExpressionUUID->"e22a01fb-5db5-472b-b011-07d5614771e7"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Module", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"file", " ", "=", " ", 
     RowBox[{"FileNameJoin", "[", 
      RowBox[{"{", 
       RowBox[{
        RowBox[{"CreateDirectory", "[", "]"}], ",", 
        " ", "\"\<sweep.json\>\""}], "}"}], "]"}]}], "}"}], ",", "\n", "\t", 
   RowBox[{
    RowBox[{"CandidateSweep", "[", 
     RowBox[{
      RowBox[{"CandidateEnumeration", "[", 
       RowBox[{"Range", "[", "10", "]"}], "]"}], ",", " ", 
      RowBox[{"Function", "[", 
       RowBox[{"candidate", ",", " ", "False"}], "]"}], ",", " ", 
      RowBox[{"\"\<ChunkSize\>\"", " ", "->", " ", "5"}], ",", " ", 
      RowBox[{"\"\<Checkpoint\>\"", " ", "->", " ", "file"}]}], "]"}], ";", 
    "\n", "\t", 
    RowBox[{"Keys", "[", 
     RowBox[{"SweepCheckpoint", "[", "file", "]"}], "]"}]}]}], "\n", 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"3e57fb0d-22f4-4a7f-9876-53e96184a57c"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"\<\"Format\"\>", ",", "\<\"Version\"\>", 
   ",", "\<\"Enumeration\"\>", ",", "\<\"Length\"\>", ",", "\<\"Updated\"\>", 
   ",", "\<\"Index\"\>", ",", "\<\"Tested\"\>", ",", "\<\"Skipped\"\>", 
   ",", "\<\"Hits\"\>", ",", "\<\"HitIndices\"\>"}], "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"cd092e78-a361-4a61-8a18-6ff0d39ac326"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "f01e5354-c2b0-40dc-ad0c-61d1840efd0d"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"80ab2ea8-0792-4be7-\
a3b0-1d3e09abe521"],

Cell["The checkpoint names the space it belongs to:", "ExampleText",ExpressionUUID->"b7bfc2ab-5bd1-411c-94e5-d9e1ca6c7061"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Module", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{
     RowBox[{"file", " ", "=", " ", 
      RowBox[{"FileNameJoin", "[", 
       RowBox[{"{", 
        RowBox[{
         RowBox[{"CreateDirectory", "[", "]"}], ",", 
         " ", "\"\<sweep.json\>\""}], "}"}], "]"}]}], ",", " ", 
     RowBox[{"space", " ", "=", " ", 
      RowBox[{"CandidateEnumeration", "[", 
       RowBox[{"Range", "[", "10", "]"}], "]"}]}]}], "}"}], ",", "\n", "\t", 
   RowBox[{
    RowBox[{"CandidateSweep", "[", 
     RowBox[{"space", ",", " ", 
      RowBox[{"Function", "[", 
       RowBox[{"candidate", ",", " ", "False"}], "]"}], ",", " ", 
      RowBox[{"\"\<Checkpoint\>\"", " ", "->", " ", "file"}]}], "]"}], ";", 
    "\n", "\t", 
    RowBox[{
     RowBox[{"Lookup", "[", 
      RowBox[{
       RowBox[{"SweepCheckpoint", "[", "file", "]"}], ",", 
       " ", "\"\<Enumeration\>\""}], "]"}], " ", "===", " ", 
     RowBox[{"space", "[", "\"\<Fingerprint\>\"", "]"}]}]}]}], "\n", 
  "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"268d1964-e916-43e2-b4d3-f81cba5077ab"],

Cell[BoxData["True"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"04cac9af-a1a0-4ea4-a4cf-75e65dc35313"]
}, Open  ]]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "faedc982-dad7-4be4-85fa-d29c4ec73ba1"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"8f2b26ae-2500-4dec-bee0-c1168c991f07"],
 "Scope",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(3)", "ExampleCount",ExpressionUUID->
  "5139f38c-5baf-4e40-beae-24b28992289f"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1293636265,ExpressionUUID->"0544fa5d-19f6-47aa-a771-c205f251cfb1"],

Cell["\<\
A completed sweep leaves a checkpoint whose index is the length of the space:\
\
\>", "ExampleText",ExpressionUUID->"3bbf2ab0-460a-4b20-938a-00b75e0bcbc2"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Module", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"file", " ", "=", " ", 
     RowBox[{"FileNameJoin", "[", 
      RowBox[{"{", 
       RowBox[{
        RowBox[{"CreateDirectory", "[", "]"}], ",", 
        " ", "\"\<sweep.json\>\""}], "}"}], "]"}]}], "}"}], ",", "\n", "\t", 
   RowBox[{
    RowBox[{"CandidateSweep", "[", 
     RowBox[{
      RowBox[{"CandidateEnumeration", "[", 
       RowBox[{"Range", "[", "10", "]"}], "]"}], ",", " ", 
      RowBox[{"Function", "[", 
       RowBox[{"candidate", ",", " ", "False"}], "]"}], ",", " ", 
      RowBox[{"\"\<ChunkSize\>\"", " ", "->", " ", "4"}], ",", " ", 
      RowBox[{"\"\<Checkpoint\>\"", " ", "->", " ", "file"}]}], "]"}], ";", 
    "\n", "\t", 
    RowBox[{"Lookup", "[", 
     RowBox[{
      RowBox[{"SweepCheckpoint", "[", "file", "]"}], ",", " ", 
      RowBox[{"{", 
       RowBox[{"\"\<Index\>\"", ",", " ", "\"\<Length\>\""}], "}"}]}], 
     "]"}]}]}], "\n", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"07b218eb-8653-43a9-b315-b95391f16be7"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"10", ",", "10"}], "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"e8465518-f6eb-436d-be43-d88e4b38eabf"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "c04da50c-5e4d-4ceb-9845-6d97e3528b6e"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"a6c2841b-6637-470b-\
82f3-0e4f3e7ee8f3"],

Cell["\<\
Hits found before the stop are carried in the checkpoint, so a resumed sweep \
reports all of them:\
\>", "ExampleText",ExpressionUUID->"3e647305-881b-4fa6-9e6d-1955758623e0"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Module", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"file", " ", "=", " ", 
     RowBox[{"FileNameJoin", "[", 
      RowBox[{"{", 
       RowBox[{
        RowBox[{"CreateDirectory", "[", "]"}], ",", 
        " ", "\"\<sweep.json\>\""}], "}"}], "]"}]}], "}"}], ",", "\n", "\t", 
   RowBox[{
    RowBox[{"CandidateSweep", "[", 
     RowBox[{
      RowBox[{"CandidateEnumeration", "[", 
       RowBox[{"{", 
        RowBox[{"\"\<a\>\"", ",", " ", "\"\<b\>\"", ",", " ", "\"\<c\>\"", ",",
          " ", "\"\<d\>\""}], "}"}], "]"}], ",", " ", 
      RowBox[{"Function", "[", 
       RowBox[{"candidate", ",", " ", 
        RowBox[{"MemberQ", "[", 
         RowBox[{
          RowBox[{"{", 
           RowBox[{"\"\<a\>\"", ",", " ", "\"\<d\>\""}], "}"}], ",", " ", 
          "candidate"}], "]"}]}], "]"}], ",", " ", 
      RowBox[{"\"\<ChunkSize\>\"", " ", "->", " ", "1"}], ",", " ", 
      RowBox[{"\"\<MaxHits\>\"", " ", "->", " ", "1"}], ",", " ", 
      RowBox[{"\"\<Checkpoint\>\"", " ", "->", " ", "file"}]}], "]"}], ";", 
    "\n", "\t", 
    RowBox[{"Lookup", "[", 
     RowBox[{
      RowBox[{"SweepCheckpoint", "[", "file", "]"}], ",", 
      " ", "\"\<Hits\>\""}], "]"}]}]}], "\n", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"b7d85556-71fd-4b76-9c69-96b689a0732b"],

Cell[BoxData[
 RowBox[{"{", "\<\"a\"\>", "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"c0106750-4e54-493f-a44d-8f5f473493db"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "0cfbdbe7-ccbc-4b27-939d-9ed892656112"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"156eb99f-db79-4baf-\
a521-d83b5d21c281"],

Cell["\<\
The file is ordinary JSON and can be read without the paclet:\
\>", "ExampleText",ExpressionUUID->"1c9346cd-f474-4fb6-9515-a62677506b2c"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Module", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"file", " ", "=", " ", 
     RowBox[{"FileNameJoin", "[", 
      RowBox[{"{", 
       RowBox[{
        RowBox[{"CreateDirectory", "[", "]"}], ",", 
        " ", "\"\<sweep.json\>\""}], "}"}], "]"}]}], "}"}], ",", "\n", "\t", 
   RowBox[{
    RowBox[{"CandidateSweep", "[", 
     RowBox[{
      RowBox[{"CandidateEnumeration", "[", 
       RowBox[{"Range", "[", "4", "]"}], "]"}], ",", " ", 
      RowBox[{"Function", "[", 
       RowBox[{"candidate", ",", " ", "False"}], "]"}], ",", " ", 
      RowBox[{"\"\<Checkpoint\>\"", " ", "->", " ", "file"}]}], "]"}], ";", 
    "\n", "\t", 
    RowBox[{"Lookup", "[", 
     RowBox[{
      RowBox[{"Import", "[", 
       RowBox[{"file", ",", " ", "\"\<RawJSON\>\""}], "]"}], ",", 
      " ", "\"\<Format\>\""}], "]"}]}]}], "\n", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"f406423a-ab03-4754-9d05-66f242e4a71e"],

Cell[BoxData["\<\"WolframInstitute/Puzzles SweepCheckpoint\"\>"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"669e5dc9-577d-451a-8f93-2b7222ecfcce"]
}, Open  ]]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "be968c42-3521-4b7b-a47c-f3af974bd24b"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"87085d6b-7477-4811-aab6-f5fbe731ebee"],
 "Properties & Relations",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(2)", "ExampleCount",ExpressionUUID->
  "80d00236-c104-4912-b9ee-b9ea5c533d6a"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->2123667759,ExpressionUUID->"e511a3a4-4f21-4e7c-9c18-3f0394ca5128"],

Cell[TextData[{
 "Handing the same checkpoint back to ",
 Cell[BoxData[
  TemplateBox[{
    Cell[
     TextData["CandidateSweep"]], 
    "paclet:WolframInstitute/Puzzles/ref/CandidateSweep", 
    "WolframInstitute/Puzzles Package Symbol"},
   "PackageLink",
   BaseStyle->"InlineFormula"]], "InlineFormula",
  FontFamily->"Source Sans Pro",
  FontSize->0.9 Inherited,ExpressionUUID->
  "0f3604e2-c8a1-4c82-8c10-6fafe3ba2aa8"],
 " resumes rather than restarts:"
}], "ExampleText",ExpressionUUID->"7b2d2917-d031-44a3-bd9a-c1096f366cf5"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Module", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{
     RowBox[{"file", " ", "=", " ", 
      RowBox[{"FileNameJoin", "[", 
       RowBox[{"{", 
        RowBox[{
         RowBox[{"CreateDirectory", "[", "]"}], ",", 
         " ", "\"\<sweep.json\>\""}], "}"}], "]"}]}], ",", " ", 
     RowBox[{"space", " ", "=", " ", 
      RowBox[{"CandidateEnumeration", "[", 
       RowBox[{"Range", "[", "10", "]"}], "]"}]}]}], "}"}], ",", "\n", "\t", 
   RowBox[{
    RowBox[{"CandidateSweep", "[", 
     RowBox[{"space", ",", " ", 
      RowBox[{"Function", "[", 
       RowBox[{"candidate", ",", " ", "True"}], "]"}], ",", " ", 
      RowBox[{"\"\<ChunkSize\>\"", " ", "->", " ", "3"}], ",", " ", 
      RowBox[{"\"\<MaxHits\>\"", " ", "->", " ", "1"}], ",", " ", 
      RowBox[{"\"\<Checkpoint\>\"", " ", "->", " ", "file"}]}], "]"}], ";", 
    "\n", "\t", 
    RowBox[{"Lookup", "[", 
     RowBox[{
      RowBox[{"CandidateSweep", "[", 
       RowBox[{"space", ",", " ", 
        RowBox[{"Function", "[", 
         RowBox[{"candidate", ",", " ", "False"}], "]"}], ",", " ", 
        RowBox[{"\"\<ChunkSize\>\"", " ", "->", " ", "3"}], ",", " ", 
        RowBox[{"\"\<Checkpoint\>\"", " ", "->", " ", "file"}]}], "]"}], ",", 
      " ", "\"\<Tested\>\""}], "]"}]}]}], "\n", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"3c887261-7679-4777-a3c3-936d4204ccb7"],

Cell[BoxData["10"], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"4f5e579a-aac9-47dc-8020-00e355f73a11"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "c178c567-c45e-4378-b7b2-9d11dd2de5f6"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"2b063282-6b31-48e4-\
ba3b-f5f5bd8c2e96"],

Cell["\<\
Candidates before the stored index are not tested again, so an oracle in the \
resumed run that would only have matched them finds nothing new:\
\>", "ExampleText",ExpressionUUID->"f5659e1b-32cf-4302-8389-f75e46ece7d2"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Module", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{
     RowBox[{"file", " ", "=", " ", 
      RowBox[{"FileNameJoin", "[", 
       RowBox[{"{", 
        RowBox[{
         RowBox[{"CreateDirectory", "[", "]"}], ",", 
         " ", "\"\<sweep.json\>\""}], "}"}], "]"}]}], ",", " ", 
     RowBox[{"space", " ", "=", " ", 
      RowBox[{"CandidateEnumeration", "[", 
       RowBox[{"Range", "[", "10", "]"}], "]"}]}], ",", " ", "first", ",", 
     " ", "resumed"}], "}"}], ",", "\n", "\t", 
   RowBox[{
    RowBox[{"first", " ", "=", " ", 
     RowBox[{"CandidateSweep", "[", 
      RowBox[{"space", ",", " ", 
       RowBox[{"Function", "[", 
        RowBox[{"candidate", ",", " ", 
         RowBox[{"candidate", " ", "===", " ", "2"}]}], "]"}], ",", " ", 
       RowBox[{"\"\<ChunkSize\>\"", " ", "->", " ", "3"}], ",", " ", 
       RowBox[{"\"\<MaxHits\>\"", " ", "->", " ", "1"}], ",", " ", 
       RowBox[{"\"\<Checkpoint\>\"", " ", "->", " ", "file"}]}], "]"}]}], ";",
     "\n", "\t", 
    RowBox[{"resumed", " ", "=", " ", 
     RowBox[{"CandidateSweep", "[", 
      RowBox[{"space", ",", " ", 
       RowBox[{"Function", "[", 
        RowBox[{"candidate", ",", " ", 
         RowBox[{"candidate", " ", "<=", " ", "3"}]}], "]"}], ",", " ", 
       RowBox[{"\"\<ChunkSize\>\"", " ", "->", " ", "3"}], ",", " ", 
       RowBox[{"\"\<Checkpoint\>\"", " ", "->", " ", "file"}]}], "]"}]}], ";",
     "\n", "\t", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"Lookup", "[", 
       RowBox[{"first", ",", " ", "\"\<HitIndices\>\""}], "]"}], ",", " ", 
      RowBox[{"Lookup", "[", 
       RowBox[{"resumed", ",", " ", "\"\<HitIndices\>\""}], "]"}]}], 
     "}"}]}]}], "\n", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"e3e5e2b5-0c61-4b31-9c73-0fd0829b6cbf"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", "2", "}"}], ",", 
   RowBox[{"{", "2", "}"}]}], "}"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"6aac927f-3efa-4cea-ba3b-68187bf9a078"]
}, Open  ]]
}, Open  ]]
}, Closed]],

Cell[CellGroupData[{

Cell[TextData[{
 Cell[BoxData[
  DynamicBox[ToBoxes[
    If[CurrentValue[
       EvaluationCell[], "CellGroupOpen"] =!= Closed, 
     Style[
      Graphics[{
        Thickness[0.18], 
        RGBColor[0.8509803921568627, 0.396078431372549, 0], 
        Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
       PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
      0.68 Inherited], 
     Rotate[
      Style[
       Graphics[{
         Thickness[0.18], 
         RGBColor[0.8509803921568627, 0.396078431372549, 0], 
         Line[{{-1.8, 0.5}, {0, 0}, {1.8, 0.5}}]}, AspectRatio -> 1, 
        PlotRange -> {{-3, 4}, {-1, 1}}, ImageSize -> 20], Magnification -> 
       0.68 Inherited], Rational[1, 2] Pi, {-1.65, -1}]]]]],ExpressionUUID->
  "9a58e3d4-af25-4ed0-ae1e-e9907d805767"],
 Cell[BoxData[
  TemplateBox[{1},
   "Spacer1"]],ExpressionUUID->"e3012333-38cf-44a6-bd17-f62232f06d32"],
 "Possible Issues",
 "\[NonBreakingSpace]\[NonBreakingSpace]",
 Cell["(3)", "ExampleCount",ExpressionUUID->
  "2422e5f0-c90b-488b-ab49-e0c810c8a721"]
}], "ExampleSection", "ExampleSection",
 WholeCellGroupOpener->True,
 CacheGraphics->False,
 CellID->1305812373,ExpressionUUID->"c033cff3-fb09-4d9e-99f6-a0cb63112e5d"],

Cell["A path with no checkpoint at it is an attempt that failed:", \
"ExampleText",ExpressionUUID->"69eb2aec-d25c-4ed1-813a-aa0c3d3bd30c"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"SweepCheckpoint", "[", 
  RowBox[{"FileNameJoin", "[", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"CreateDirectory", "[", "]"}], ",", 
     " ", "\"\<no-such-checkpoint.json\>\""}], "}"}], "]"}], "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"54ba5ddc-13f7-4b65-83b9-535c2ca80498"],

Cell[BoxData[
 InterpretationBox[
  RowBox[{
   TagBox["Failure",
    "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])}]], 
            FrameBox[
             StyleBox["\"\[WarningSign]\"", 
              Directive["Message", 35], StripOnInput -> False], 
             ContentPadding -> False, FrameStyle -> None, 
             FrameMargins -> {{0, 0}, {0, 0}}, StripOnInput -> False], 
            GridBox[{{
               TagBox[
                GridBox[{{
                   TagBox["\"Message: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox[
                   "\"there is no checkpoint file at that path.\"", 
                    "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All, Automatic}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "SummaryItem"]}, {
               TagBox[
                GridBox[{{
                   TagBox["\"Tag: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox["\"ConfirmationFailed\"", "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All, Automatic}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "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])}]], 
            FrameBox[
             StyleBox["\"\[WarningSign]\"", 
              Directive["Message", 35], StripOnInput -> False], 
             ContentPadding -> False, FrameStyle -> None, 
             FrameMargins -> {{0, 0}, {0, 0}}, StripOnInput -> False], 
            GridBox[{{
               TagBox[
                GridBox[{{
                   TagBox["\"Message: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox[
                   "\"there is no checkpoint file at that path.\"", 
                    "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All, Automatic}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "SummaryItem"]}, {
               TagBox[
                GridBox[{{
                   TagBox["\"Tag: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox["\"ConfirmationFailed\"", "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All, Automatic}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "SummaryItem"]}, {
               RowBox[{
                 TagBox[
                  
                  TemplateBox[{"\"ConfirmationType\"", "\": \""}, 
                   "RowDefault"], "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  TagBox["\"ConfirmAssert\"", HoldForm], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox[
                  TemplateBox[{"\"Expression\"", "\": \""}, "RowDefault"], 
                  "SummaryItemAnnotation"], "\[InvisibleSpace]", 
                 TagBox[
                  TagBox["False", HoldForm], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox[
                  TemplateBox[{"\"Information\"", "\": \""}, "RowDefault"], 
                  "SummaryItemAnnotation"], "\[InvisibleSpace]", 
                 TagBox[
                  TagBox[
                  "\"there is no checkpoint file at that path.\"", HoldForm], 
                  "SummaryItem"]}]}, {
               RowBox[{
                 TagBox[
                  TemplateBox[{"\"Test\"", "\": \""}, "RowDefault"], 
                  "SummaryItemAnnotation"], "\[InvisibleSpace]", 
                 TagBox[
                  TagBox["False", HoldForm], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox[
                  TemplateBox[{"\"HeldTest\"", "\": \""}, "RowDefault"], 
                  "SummaryItemAnnotation"], "\[InvisibleSpace]", 
                 TagBox[
                  TagBox[
                   RowBox[{"Hold", "[", 
                    
                    RowBox[{
                    "FileExistsQ", "[", 
                    "\"/private/var/folders/5x/lyq7cw110cx_zr1zb3zr63gm0000gn/\
T/m000064788461/no-such-checkpoint.json\"", "]"}], "]"}], HoldForm], 
                  "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:>{}], "]"}],
  Failure[
  "ConfirmationFailed", <|
   "MessageTemplate" -> "there is no checkpoint file at that path.", 
    "MessageParameters" -> {}, "ConfirmationType" -> "ConfirmAssert", 
    "Expression" :> False, "Information" -> 
    "there is no checkpoint file at that path.", "Test" :> False, "HeldTest" -> 
    Hold[
      FileExistsQ[
      "/private/var/folders/5x/lyq7cw110cx_zr1zb3zr63gm0000gn/T/m000064788461/\
no-such-checkpoint.json"]]|>],
  Editable->False,
  SelectWithContents->True,
  Selectable->False]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"24c3d2a5-e3a9-4d40-9bf4-7492be59e1fb"]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "76f7c9aa-021a-4004-8957-c6b05c605547"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"4a18b4c0-7060-4f46-\
ba4a-54b62bc9ad6b"],

Cell["\<\
A JSON file that is not a sweep checkpoint is refused rather than half-read:\
\>", "ExampleText",ExpressionUUID->"cc7232b0-1d72-444e-9672-24aab5384c29"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Module", "[", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{"file", " ", "=", " ", 
     RowBox[{"FileNameJoin", "[", 
      RowBox[{"{", 
       RowBox[{
        RowBox[{"CreateDirectory", "[", "]"}], ",", 
        " ", "\"\<foreign.json\>\""}], "}"}], "]"}]}], "}"}], ",", "\n", "\t", 
   RowBox[{
    RowBox[{"Export", "[", 
     RowBox[{"file", ",", " ", 
      RowBox[{"<|", 
       RowBox[{"\"\<Format\>\"", " ", "->", " ", "\"\<something else\>\""}], 
       "|>"}], ",", " ", "\"\<RawJSON\>\""}], "]"}], ";", "\n", "\t", 
    RowBox[{"SweepCheckpoint", "[", "file", "]"}]}]}], "\n", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"00c85c82-47c4-40a0-b07e-cd45ceb509d1"],

Cell[BoxData[
 InterpretationBox[
  RowBox[{
   TagBox["Failure",
    "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])}]], 
            FrameBox[
             StyleBox["\"\[WarningSign]\"", 
              Directive["Message", 35], StripOnInput -> False], 
             ContentPadding -> False, FrameStyle -> None, 
             FrameMargins -> {{0, 0}, {0, 0}}, StripOnInput -> False], 
            GridBox[{{
               TagBox[
                GridBox[{{
                   TagBox["\"Message: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox[
                   "\"that JSON file is not a sweep checkpoint.\"", 
                    "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All, Automatic}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "SummaryItem"]}, {
               TagBox[
                GridBox[{{
                   TagBox["\"Tag: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox["\"ConfirmationFailed\"", "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All, Automatic}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "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])}]], 
            FrameBox[
             StyleBox["\"\[WarningSign]\"", 
              Directive["Message", 35], StripOnInput -> False], 
             ContentPadding -> False, FrameStyle -> None, 
             FrameMargins -> {{0, 0}, {0, 0}}, StripOnInput -> False], 
            GridBox[{{
               TagBox[
                GridBox[{{
                   TagBox["\"Message: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox[
                   "\"that JSON file is not a sweep checkpoint.\"", 
                    "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All, Automatic}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "SummaryItem"]}, {
               TagBox[
                GridBox[{{
                   TagBox["\"Tag: \"", "SummaryItemAnnotation"], 
                   "\[InvisibleSpace]", 
                   TagBox["\"ConfirmationFailed\"", "SummaryItem"]}}, 
                 GridBoxItemSize -> {"Columns" -> {6.5, All, Automatic}}, 
                 GridBoxAlignment -> {"Columns" -> {{Left}}}, 
                 GridBoxSpacings -> {"Columns" -> {{0}}}], "SummaryItem"]}, {
               RowBox[{
                 TagBox[
                  
                  TemplateBox[{"\"ConfirmationType\"", "\": \""}, 
                   "RowDefault"], "SummaryItemAnnotation"], 
                 "\[InvisibleSpace]", 
                 TagBox[
                  TagBox["\"ConfirmAssert\"", HoldForm], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox[
                  TemplateBox[{"\"Expression\"", "\": \""}, "RowDefault"], 
                  "SummaryItemAnnotation"], "\[InvisibleSpace]", 
                 TagBox[
                  TagBox["False", HoldForm], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox[
                  TemplateBox[{"\"Information\"", "\": \""}, "RowDefault"], 
                  "SummaryItemAnnotation"], "\[InvisibleSpace]", 
                 TagBox[
                  TagBox[
                  "\"that JSON file is not a sweep checkpoint.\"", HoldForm], 
                  "SummaryItem"]}]}, {
               RowBox[{
                 TagBox[
                  TemplateBox[{"\"Test\"", "\": \""}, "RowDefault"], 
                  "SummaryItemAnnotation"], "\[InvisibleSpace]", 
                 TagBox[
                  TagBox["False", HoldForm], "SummaryItem"]}]}, {
               RowBox[{
                 TagBox[
                  TemplateBox[{"\"HeldTest\"", "\": \""}, "RowDefault"], 
                  "SummaryItemAnnotation"], "\[InvisibleSpace]", 
                 TagBox[
                  TagBox[
                   RowBox[{"Hold", "[", 
                    RowBox[{
                    RowBox[{"Lookup", "[", 
                    
                    RowBox[{
                    "WolframInstitute`Puzzles`Search`Sweep`Private`stored$\
372533", ",", "\"Format\""}], "]"}], "===", 
                    "WolframInstitute`Puzzles`Search`Sweep`Private`$\
sweepCheckpointFormat"}], "]"}], HoldForm], "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:>{}], "]"}],
  Failure[
  "ConfirmationFailed", <|
   "MessageTemplate" -> "that JSON file is not a sweep checkpoint.", 
    "MessageParameters" -> {}, "ConfirmationType" -> "ConfirmAssert", 
    "Expression" :> False, "Information" -> 
    "that JSON file is not a sweep checkpoint.", "Test" :> False, "HeldTest" -> 
    Hold[Lookup[
       WolframInstitute`Puzzles`Search`Sweep`Private`stored$372533, "Format"] === 
      WolframInstitute`Puzzles`Search`Sweep`Private`$sweepCheckpointFormat]|>],
  Editable->False,
  SelectWithContents->True,
  Selectable->False]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"798848bc-3a2b-4e27-a74e-c1242cd0e72a"]
}, Open  ]]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 InterpretationBox[Cell[
  "\t", "ExampleDelimiter",ExpressionUUID->
   "3bf66530-8926-4c12-a033-be04f482710e"],
  $Line = 0; Null]], "ExampleDelimiter",ExpressionUUID->"6fed9436-3741-4f01-\
9d1a-a4fe55205838"],

Cell["Anything but a file path matches no definition:", "ExampleText",ExpressionUUID->"ef9135eb-c5b6-4c85-bf17-9f99f9e8223c"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"SweepCheckpoint", "[", "12345", "]"}]], "Input",
 CellProlog:>Needs["WolframInstitute`Puzzles`"],
 CellLabel->"In[1]:=",ExpressionUUID->"8c972e80-f5da-4cb0-a6fc-3654ad711219"],

Cell[BoxData[
 RowBox[{"SweepCheckpoint", "[", "12345", "]"}]], "Output",
 CellLabel->"Out[1]= ",ExpressionUUID->"e1e878d0-65ec-4972-a23e-f8d1999940d3"]
}, Open  ]]
}, Open  ]]
}, Closed]]
}, Open  ]],

Cell[BoxData[GridBox[{
   {
    DynamicBox[FEPrivate`ImportImage[
      FrontEnd`FileName[{"Documentation", "FooterIcons"}, 
       "RelatedFunction.png"]],
     ImageSizeCache->{50., {26.47265625, 33.52734375}}], GridBox[{
      {
       StyleBox[
        RowBox[{"See", " ", "Also"}], "SeeAlsoSection"]},
      {Cell[TextData[{
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["CandidateSweep"]], 
           "paclet:WolframInstitute/Puzzles/ref/CandidateSweep", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "9832aaf3-ff41-40b5-86a8-71475e7672cf"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["CandidateEnumeration"]], 
           "paclet:WolframInstitute/Puzzles/ref/CandidateEnumeration", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "3d40af86-c44b-4b5f-9d56-f0eca30ae5eb"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["SearchLedger"]], 
           "paclet:WolframInstitute/Puzzles/ref/SearchLedger", 
           "WolframInstitute/Puzzles Package Symbol"},
          "PackageLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "78c9d431-7fe9-43f8-8adc-28ae33e22a49"],
        "\[NonBreakingSpace]",
        StyleBox[
        "\[MediumSpace]\[FilledVerySmallSquare]\[MediumSpace]", 
         "InlineSeparator"],
        " ",
        Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Import"]], "paclet:ref/Import"},
          "RefLink",
          BaseStyle->"InlineFormula"]], "InlineFormula",
         FontFamily->"Source Sans Pro",ExpressionUUID->
         "19349e7e-5843-4dee-8099-051faf4e44df"]
       }], "SeeAlso",ExpressionUUID->"d3e98ae1-681d-40a0-97fc-cb6f35f033a7"]}
     }]}
  }]], "SeeAlsoSection",ExpressionUUID->"df3df9a7-3a7b-4bd2-8823-\
09f7ba4429f0"],

Cell[BoxData[GridBox[{
   {
    DynamicBox[FEPrivate`ImportImage[
      FrontEnd`FileName[{"Documentation", "FooterIcons"}, "RelatedGuide.png"]],
     ImageSizeCache->{50., {26.47265625, 33.52734375}}], GridBox[{
      {
       StyleBox[
        RowBox[{"Related", " ", "Guides"}], "MoreAboutSection"]},
      {
       RowBox[{"\[FilledVerySmallSquare]", Cell[BoxData[
         TemplateBox[{
           Cell[
            TextData["Search"]], 
           "paclet:WolframInstitute/Puzzles/guide/Search"},
          "RefLinkPlain",
          BaseStyle->{"MoreAbout"}]], "MoreAbout",ExpressionUUID->
         "6e630901-8368-49af-b757-59237d2742cb"]}]}
     }]}
  }]], "MoreAboutSection",ExpressionUUID->"8313c468-ea3a-4bc0-8050-\
e0530a150af6"],

Cell[" ", "FooterCell",ExpressionUUID->"89508c78-0a16-4c89-8f48-1880ba69ea8f"]
},
Saveable->False,
ScreenStyleEnvironment->"Working",
WindowSize->{900, 830},
WindowMargins->{{0, Automatic}, {Automatic, 0}},
WindowTitle->"SweepCheckpoint",
TaggingRules->{
 "ModificationHighlight" -> False, "ColorType" -> "", "LinkTrails" -> "", 
  "ExampleCounter" -> 1, 
  "Openers" -> {
   "PrimaryExamplesSection" -> Open, "ExampleSection" -> {"0" -> Open}, 
    "AllOptsTable" -> Closed}, "NewStyles" -> True, 
  "CitationPopupData" -> $Failed, "ShowCitation" -> False, "HasOptions" -> 
  True, "RootCaptions" -> "", "HeaderCoreAreaLink" -> {}, 
  "Metadata" -> {
   "built" -> "{2026, 8, 27, 0, 11, 57.937691}", 
    "history" -> {"XX", "", "", ""}, "context" -> "WolframInstitute`Puzzles`",
     "keywords" -> {}, "specialkeywords" -> {}, 
    "tutorialcollectionlinks" -> {}, "index" -> True, "label" -> 
    "Wolfram Institute/ Puzzles Symbol", "language" -> "en", "paclet" -> 
    "WolframInstitute/Puzzles", "status" -> "None", "summary" -> 
    "PackageLink[SweepCheckpoint, paclet : \
WolframInstitute/Puzzles/ref/SweepCheckpoint, WolframInstitute/Puzzles \
Package Symbol][file] gives the Association stored in a sweep checkpoint \
file, with the index reached, the hits found so far, and the enumeration \
fingerprint the checkpoint belongs to.", "synonyms" -> {}, "tabletags" -> {}, 
    "title" -> "SweepCheckpoint", "titlemodifier" -> "", "metadescription" -> 
    "", "windowtitle" -> "SweepCheckpoint", "type" -> "Symbol", "uri" -> 
    "WolframInstitute/Puzzles/ref/SweepCheckpoint", "WorkflowDockedCell" -> 
    ""}, "SearchTextTranslated" -> ""},
CellContext->CellGroup,
FrontEndVersion->"15.0 for Mac OS X ARM (64-bit) (May 19, 2026)",
StyleDefinitions->FrontEnd`FileName[{"Wolfram"}, "Reference.nb"],
ExpressionUUID->"61492138-4426-48f9-85a4-2a7bc6144e14"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{
 "TextAnnotation"->{
  Cell[18135, 493, 161, 2, 70, "ExampleText",ExpressionUUID->"edd92e52-020a-40b9-be09-0b7e1de0af1b",
   CellTags->"TextAnnotation"]}
 }
*)
(*CellTagsIndex
CellTagsIndex->{
 {"TextAnnotation", 60218, 1555}
 }
*)
(*NotebookFileOutline
Notebook[{
Cell[583, 21, 6023, 147, 70, "AnchorBarGrid",ExpressionUUID->"7e57d20b-db14-4f88-b13b-6dfdb8b00c5e",
 CellID->1],
Cell[6609, 170, 107, 0, 70, "ContextNameCell",ExpressionUUID->"41f60fbe-2ce4-4414-829b-eaedc3957aa0"],
Cell[CellGroupData[{
Cell[6741, 174, 558, 14, 70, "ObjectNameGrid",ExpressionUUID->"d73d1216-ef75-491e-8c79-532447e0bb00"],
Cell[7302, 190, 891, 21, 70, "Usage",ExpressionUUID->"a24c7d59-8732-4b4f-9ad1-978242dc7776"]
}, Open  ]],
Cell[CellGroupData[{
Cell[8230, 216, 1444, 34, 70, "NotesSection",ExpressionUUID->"ab8c7c62-51e4-46aa-bce7-5d058d3b2bc6",
 CellGroupingRules->{"SectionGrouping", 50},
 CellID->1412994541],
Cell[9677, 252, 702, 19, 70, "Notes",ExpressionUUID->"e6cd714c-d904-410c-b48d-fd4f00ddf0c4"],
Cell[10382, 273, 1883, 52, 70, "Notes",ExpressionUUID->"d2f4714f-cde0-466f-8280-a3a08d411076"],
Cell[12268, 327, 985, 24, 70, "Notes",ExpressionUUID->"34e21847-fb25-4668-b26c-c58cdcbc49cc"],
Cell[13256, 353, 341, 7, 70, "Notes",ExpressionUUID->"0cb01105-dadc-4bbb-9c6d-368d17807453"],
Cell[13600, 362, 169, 3, 70, "Notes",ExpressionUUID->"e1ab5763-e624-4028-9881-64c863aa50d2"],
Cell[13772, 367, 470, 13, 70, "Notes",ExpressionUUID->"d4d8de6a-8c36-474e-8427-21c312d4e304"],
Cell[14245, 382, 166, 3, 70, "Notes",ExpressionUUID->"f79f680a-29b6-47ec-8c2a-a4b18b776425"],
Cell[14414, 387, 716, 19, 70, "Notes",ExpressionUUID->"0b4c9e6c-944d-45d1-a7e7-aea276b4c410"]
}, Closed]],
Cell[15145, 409, 80, 0, 70, "PageDelimiter",ExpressionUUID->"c0100b67-4b49-4a70-ba7b-b8d8c5a5358e"],
Cell[CellGroupData[{
Cell[15250, 413, 1402, 37, 70, "PrimaryExamplesSection",ExpressionUUID->"75c4a136-5d51-4637-b326-ad3ff8f85323",
 CellID->1325082061],
Cell[16655, 452, 216, 4, 70, "Input",ExpressionUUID->"bedf05c6-e076-4896-9953-3697776a3c74",
 CellID->1969679695],
Cell[CellGroupData[{
Cell[16896, 460, 1236, 31, 70, "ExampleSection",ExpressionUUID->"f6db7942-372e-408d-ba9d-cac89d46c57c",
 CellID->1248779837],
Cell[18135, 493, 161, 2, 70, "ExampleText",ExpressionUUID->"edd92e52-020a-40b9-be09-0b7e1de0af1b",
 CellTags->"TextAnnotation"],
Cell[CellGroupData[{
Cell[18321, 499, 1199, 29, 70, "Input",ExpressionUUID->"2f9b54a1-072b-4c8a-a891-e8a8f84fd29f"],
Cell[19523, 530, 211, 5, 70, "Output",ExpressionUUID->"b142a090-8623-46b0-8a9f-d6098c87d838"]
}, Open  ]],
Cell[CellGroupData[{
Cell[19771, 540, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"d16e1440-524c-421b-a8a4-e5f83f4beaaa"],
Cell[19998, 547, 108, 0, 70, "ExampleText",ExpressionUUID->"e22a01fb-5db5-472b-b011-07d5614771e7"],
Cell[CellGroupData[{
Cell[20131, 551, 974, 24, 70, "Input",ExpressionUUID->"3e57fb0d-22f4-4a7f-9876-53e96184a57c"],
Cell[21108, 577, 383, 6, 70, "Output",ExpressionUUID->"cd092e78-a361-4a61-8a18-6ff0d39ac326"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[21540, 589, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"80ab2ea8-0792-4be7-a3b0-1d3e09abe521"],
Cell[21767, 596, 123, 0, 70, "ExampleText",ExpressionUUID->"b7bfc2ab-5bd1-411c-94e5-d9e1ca6c7061"],
Cell[CellGroupData[{
Cell[21915, 600, 1138, 29, 70, "Input",ExpressionUUID->"268d1964-e916-43e2-b4d3-f81cba5077ab"],
Cell[23056, 631, 110, 1, 70, "Output",ExpressionUUID->"04cac9af-a1a0-4ea4-a4cf-75e65dc35313"]
}, Open  ]]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[23227, 639, 1227, 31, 70, "ExampleSection",ExpressionUUID->"0544fa5d-19f6-47aa-a771-c205f251cfb1",
 CellID->1293636265],
Cell[24457, 672, 165, 3, 70, "ExampleText",ExpressionUUID->"3bbf2ab0-460a-4b20-938a-00b75e0bcbc2"],
Cell[CellGroupData[{
Cell[24647, 679, 1096, 27, 70, "Input",ExpressionUUID->"07b218eb-8653-43a9-b315-b95391f16be7"],
Cell[25746, 708, 154, 3, 70, "Output",ExpressionUUID->"e8465518-f6eb-436d-be43-d88e4b38eabf"]
}, Open  ]],
Cell[CellGroupData[{
Cell[25937, 716, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"a6c2841b-6637-470b-82f3-0e4f3e7ee8f3"],
Cell[26164, 723, 185, 3, 70, "ExampleText",ExpressionUUID->"3e647305-881b-4fa6-9e6d-1955758623e0"],
Cell[CellGroupData[{
Cell[26374, 730, 1360, 33, 70, "Input",ExpressionUUID->"b7d85556-71fd-4b76-9c69-96b689a0732b"],
Cell[27737, 765, 137, 2, 70, "Output",ExpressionUUID->"c0106750-4e54-493f-a44d-8f5f473493db"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[27923, 773, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"156eb99f-db79-4baf-a521-d83b5d21c281"],
Cell[28150, 780, 147, 2, 70, "ExampleText",ExpressionUUID->"1c9346cd-f474-4fb6-9515-a62677506b2c"],
Cell[CellGroupData[{
Cell[28322, 786, 993, 25, 70, "Input",ExpressionUUID->"f406423a-ab03-4754-9d05-66f242e4a71e"],
Cell[29318, 813, 154, 1, 70, "Output",ExpressionUUID->"669e5dc9-577d-451a-8f93-2b7222ecfcce"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[29533, 821, 1244, 31, 70, "ExampleSection",ExpressionUUID->"e511a3a4-4f21-4e7c-9c18-3f0394ca5128",
 CellID->2123667759],
Cell[30780, 854, 534, 14, 70, "ExampleText",ExpressionUUID->"7b2d2917-d031-44a3-bd9a-c1096f366cf5"],
Cell[CellGroupData[{
Cell[31339, 872, 1438, 33, 70, "Input",ExpressionUUID->"3c887261-7679-4777-a3c3-936d4204ccb7"],
Cell[32780, 907, 108, 1, 70, "Output",ExpressionUUID->"4f5e579a-aac9-47dc-8020-00e355f73a11"]
}, Open  ]],
Cell[CellGroupData[{
Cell[32925, 913, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"2b063282-6b31-48e4-ba3b-f5f5bd8c2e96"],
Cell[33152, 920, 229, 3, 70, "ExampleText",ExpressionUUID->"f5659e1b-32cf-4302-8389-f75e46ece7d2"],
Cell[CellGroupData[{
Cell[33406, 927, 1844, 43, 70, "Input",ExpressionUUID->"e3e5e2b5-0c61-4b31-9c73-0fd0829b6cbf"],
Cell[35253, 972, 200, 5, 70, "Output",ExpressionUUID->"6aac927f-3efa-4cea-ba3b-68187bf9a078"]
}, Open  ]]
}, Open  ]]
}, Closed]],
Cell[CellGroupData[{
Cell[35514, 984, 1237, 31, 70, "ExampleSection",ExpressionUUID->"c033cff3-fb09-4d9e-99f6-a0cb63112e5d",
 CellID->1305812373],
Cell[36754, 1017, 138, 1, 70, "ExampleText",ExpressionUUID->"69eb2aec-d25c-4ed1-813a-aa0c3d3bd30c"],
Cell[CellGroupData[{
Cell[36917, 1022, 364, 8, 70, "Input",ExpressionUUID->"54ba5ddc-13f7-4b65-83b9-535c2ca80498"],
Cell[37284, 1032, 7757, 162, 70, "Output",ExpressionUUID->"24c3d2a5-e3a9-4d40-9bf4-7492be59e1fb"]
}, Open  ]],
Cell[CellGroupData[{
Cell[45078, 1199, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"4a18b4c0-7060-4f46-ba4a-54b62bc9ad6b"],
Cell[45305, 1206, 162, 2, 70, "ExampleText",ExpressionUUID->"cc7232b0-1d72-444e-9672-24aab5384c29"],
Cell[CellGroupData[{
Cell[45492, 1212, 753, 18, 70, "Input",ExpressionUUID->"00c85c82-47c4-40a0-b07e-cd45ceb509d1"],
Cell[46248, 1232, 7896, 163, 70, "Output",ExpressionUUID->"798848bc-3a2b-4e27-a74e-c1242cd0e72a"]
}, Open  ]]
}, Open  ]],
Cell[CellGroupData[{
Cell[54193, 1401, 224, 5, 70, "ExampleDelimiter",ExpressionUUID->"6fed9436-3741-4f01-9d1a-a4fe55205838"],
Cell[54420, 1408, 125, 0, 70, "ExampleText",ExpressionUUID->"ef9135eb-c5b6-4c85-bf17-9f99f9e8223c"],
Cell[CellGroupData[{
Cell[54570, 1412, 199, 3, 70, "Input",ExpressionUUID->"8c972e80-f5da-4cb0-a6fc-3654ad711219"],
Cell[54772, 1417, 152, 2, 70, "Output",ExpressionUUID->"e1e878d0-65ec-4972-a23e-f8d1999940d3"]
}, Open  ]]
}, Open  ]]
}, Closed]]
}, Open  ]],
Cell[54975, 1425, 2513, 66, 70, "SeeAlsoSection",ExpressionUUID->"df3df9a7-3a7b-4bd2-8823-09f7ba4429f0"],
Cell[57491, 1493, 740, 19, 70, "MoreAboutSection",ExpressionUUID->"8313c468-ea3a-4bc0-8050-e0530a150af6"],
Cell[58234, 1514, 78, 0, 70, "FooterCell",ExpressionUUID->"89508c78-0a16-4c89-8f48-1880ba69ea8f"]
}
]
*)

(* End of internal cache information *)

