/** Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 - present Ġa lex n 0 Ċ Ġ* ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ package Ġcom . opt 2 code . core . bool . comp arable Ċ Ċ import Ġcom . opt 2 code . core . bool . Boolean V Ċ import Ġcom . opt 2 code . core . obj . Data Ċ import Ġcom . opt 2 code . core . obj . Pre Object V Ċ import Ġcom . opt 2 code . core . obj . Pre Object V _ Ċ Ċ open Ġclass ĠNot Operation V _ Ġprivate Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġv : ĠBoolean V , ĊĠĠĠĠĠĠĠ Ġdata : ĠData , ĊĠĠĠĠĠĠĠ Ġo : ĠPre Object V Ġ= ĠPre Object V _. pre Object V ( data ) Ċ ): ĠPre Object V Ġby Ġo , ĠNot Operation V Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġnew _( substitute : ĠBoolean ): ĠNot Operation V Ġ= ĠNot Operation V _( v , Ġdata _. copy ( substitute Ġ= Ġsubstitute )) ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġnot Operation V ( v : ĠBoolean V , Ġdata : ĠData Ġ= ĠData . data ()): ĠNot Operation V Ġ= ĠNot Operation V _( v , Ġdata ) ĊĠĠĠ Ġ} Ċ }