;isddlZdZdZdZdS)Nc> ddlm}d}n#t$rd}YnwxYw|S)Nr)_messageTF) google._upbr ImportError)rhas_upbs ?C:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\proto/utils.pyrrsI((((((  Ns  c`tjfd}t|S)zMake the callable into a cached property. Similar to @property, but the function will only be called once per object. Args: fx (Callable[]): The property function. Returns: Callable[]: The wrapped function. ct|dst|dij|jvr||jj<|jjS)N_cached_values)hasattrobject __setattr____name__r )selffxs rinnerzcached_property..inner)slt-.. ;   t%5r : : : ;d1 1 1/1r$xxD  ,"2;//) functoolswrapsproperty)rrs` rcached_propertyrsA_R 0 0 0 0 0 E??r)r)rrr__all__rrrs<< r