<?php
namespace Claromentis\Core\Config;

$GLOBALS["__65da1b1ec2d6653e8a0a" . "b7848e536215"] = (@$GLOBALS["__65da1b1ec2d6653e8a0ab7848" . "e536215"] ?: array()) + array("_d119bf5b51dbe85027" . "7ad56ee6f0e851" => base64_decode("b2Jf" . "c3Rh" . "cnQ="), "_75dc0fe62284c" . "f9f80af6c5981a" . "8cbc2" => base64_decode("RXJyb3IgbG9hZGluZyBQSFAgY29u" . "ZmlnIGZpbGUg"), "_39b6f979f72" . "5d2d06695101" . "1e1554c14" => base64_decode("YXJyYXlfZGlmZ" . "l9rZXk="), "_ab1dafce4a9f" . "8a0ec50769ae9" . "20d3fa6" => base64_decode("b2Jf" . "ZW5k" . "X2Ns" . "ZWFu"), "_3ce655ae4a14421967cc02" . "3a6e907ed5" => base64_decode("aXNfZm" . "lsZQ=="));
use Claromentis\Core\Config\Exception\LoadException;
use Claromentis\Core\Config\Exception\ReadOnlyException;




class ConfigPhp implements Config
{
    
    
    
    
    
    
    private string $file;
    
    
    
    
    
    
    private ?array $values;
    
    
    
    
    public function __construct(string $_6ae3783b9ad544a6c31a979683fed870)
    {
        $this->file = $_6ae3783b9ad544a6c31a979683fed870;
        $this->values = null;
    }
    
    
    
    
    
    
    public function getFile()
    {
        return $this->file;
    }
    public function has(string $key) : bool
    {
        $this->load();
        return isset($this->values[$key]);
    }
    public function get(string $key)
    {
        $this->load();
        return $this->has($key) ? $this->values[$key] : null;
    }
    public function getAll() : array
    {
        $this->load();
        return $this->values ?? [];
    }
    
    
    
    
    
    
    private function load()
    {
        
        
        if (!$GLOBALS["__65da1b1ec2d6653e8a0ab7848e53" . "6215"]["_3ce655ae4a14421967" . "cc023a6e907ed5"]($this->file)) {
            $this->values = null;
            return;
        }
        
        
        if ($this->values !== null) {
            return;
        }
        
        
        
        $_96026e99eb44660b54c6ae045f9c989d = [];
        $_96026e99eb44660b54c6ae045f9c989d = get_defined_vars();
        try {
            $GLOBALS["__65da1b1ec2d6653e8a0ab78" . "48e536215"]["_d119bf5b51d" . "be850277ad56" . "ee6f0e851"]();
            require $this->file;
        } catch (\Throwable $_3a16c5fe1a78b54b69e204ec07dcf670) {
            throw new LoadException($GLOBALS["__65da1b1ec2d66" . "53e8a0ab7848e53" . "6215"]["_75dc0fe6" . "2284cf9f8" . "0af6c5981" . "a8cbc2"] . $this->file, $_3a16c5fe1a78b54b69e204ec07dcf670->getCode(), $_3a16c5fe1a78b54b69e204ec07dcf670);
        } finally {
            $GLOBALS["__65da1b1ec2d6653e8a0ab7848e536" . "215"]["_ab1dafce4a9f8a0ec50769" . "ae920d3fa6"]();
        }
        $_cc58737413b2faf0b17d653f42258f96 = get_defined_vars();
        
        
        $_bf0062c60cfc2645b9f97333a209ded8 = $GLOBALS["__65da1b1ec2d" . "6653e8a0ab784" . "8e536215"]["_39b6f979f725d2d0669510" . "11e1554c14"]($_cc58737413b2faf0b17d653f42258f96, $_96026e99eb44660b54c6ae045f9c989d);
        $this->values = $_bf0062c60cfc2645b9f97333a209ded8;
    }
    public function offsetGet($_1f50e30be8c2fefa6881834e71d504a2)
    {
        return $this->get($_1f50e30be8c2fefa6881834e71d504a2);
    }
    public function offsetExists($_1f50e30be8c2fefa6881834e71d504a2) : bool
    {
        return $this->has($_1f50e30be8c2fefa6881834e71d504a2);
    }
    public function offsetSet($_1f50e30be8c2fefa6881834e71d504a2, $value) : void
    {
        throw ReadOnlyException::invalidArrayAccess($_1f50e30be8c2fefa6881834e71d504a2);
    }
    public function offsetUnset($_1f50e30be8c2fefa6881834e71d504a2) : void
    {
        throw ReadOnlyException::invalidArrayAccess($_1f50e30be8c2fefa6881834e71d504a2);
    }
}