@NullResponse @RapidCodeOn
@NullResponse @CheckFlag(KeyHolder)
@NullResponse @Goto(Unlocked)

(KeyHolder)
@Variable[#DateDifference(ChastityStartDate,days)]>=#Var[ChastityMaxDays] @NullResponse @Goto(OUT)
@Flag(ChastitySentence) @NullResponse @Goto(check sentence end)
@NullResponse @Goto(Session Check)
(check sentence end)
@NullResponse @If[Chastity_TIME]=[#DateDifference(ChastitySentenceEnds,days)]Then(End Sentence)
@NullResponse @If[Chastity_TIME]<[#DateDifference(ChastitySentenceEnds,days)]Then(End Sentence)
@NullResponse @Goto(Locked)

(End Sentence)
@NullResponse @DeleteFlag(ChastitySentence)
(OUT)
@NullResponse @TempFlag(ChastityOffLocked)
@NullResponse @Goto(Unlocked)

(Session Check)
@OrgasmRestricted @NullResponse @Goto(Unlocked)
@Variable[Chastity_TIME]=[#DateDifference(ChastityStartDate,days)] @NullResponse @Goto(Unlocked)
@Variable[Chastity_TIME]<[#DateDifference(ChastityStartDate,days)] @NullResponse @Goto(Unlocked)
(Locked)
@NullResponse @TempFlag(ChastityOnLocked)
@NotFlag(NoSession) @NullResponse @Chance40(No Session)
@End

(Unlocked)
@NullResponse @TempFlag(UnlockToday)
@End

(No Session)
@NullResponse @TempFlag(NoSession) @SetDate(NoSession,#Random(1,6) Hours)
@End