package Ġe hn . tech iop . h cert . kotlin . chain . impl Ċ Ċ import Ġe hn . tech iop . h cert . kotlin . chain . Context Identifier Service Ċ import Ġe hn . tech iop . h cert . kotlin . chain . Error Ċ import Ġe hn . tech iop . h cert . kotlin . chain . Verification Exception Ċ import Ġe hn . tech iop . h cert . kotlin . chain . Verification Result Ċ Ċ /** Ċ Ġ* ĠApp ends / dro ps Ġthe ĠContext Ġidentifier Ġprefix Ġfrom Ġinput , Ġe . g . Ġ" HC 1 :" Ċ Ġ*/ Ċ open Ġclass ĠDefault Context Identifier Service ( private Ġval Ġprefix : ĠString Ġ= Ġ" HC 1 :") Ġ: ĠContext Identifier Service Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġencode ( input : ĠString ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"$ prefix $ input " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdecode ( input : ĠString , Ġverification Result : ĠVerification Result ) Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġinput . startsWith ( prefix ) Ġ-> Ġinput . drop ( prefix . length ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠVerification Exception ( Error . INVALID _ SCHEME _ PREFIX , Ġ" No Ġcontext Ġprefix Ġ'$ prefix '") ĊĠĠĠ Ġ} Ċ Ċ } Ċ