pragma solidity ^0.8.4;

/*
▀▓]▓▄▄▓░▒░▓▐▌_▓▀▄µ▀]▓▄▄▓╬░░░░░╠╬░░╠╦░░░░░░░╬╬░╬╠░░░░░░░░░░░░░░░░░░░░▓▄╛░▄_,╓▌!░░
▄▄▓▒▓▀░▌╨▒▓⌐▓▓▌▓▀▀█▓░▀▀░░╩╟░Å░░╠╬╬╬╬╦░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╗'▀▄µ▀▓▓▀,└▄'
▒▄╠░░╬╠▀▌░▓▌╙▀╓▓░╫╨▒░░╠¼▒▒▌╨░░░░░░░╚╠▒▓▓▓▓▓▒╗░░░░░░φ░░░░░░░φ╬░╠╬░░,╙▓█╘▓ ▀,#▓_▀▓
░▀▒╟▀▒▄╠▀▓▀▀▓█▓╠▀░╬µ▀▀▒▀╔⌠╔▒╬░░░░░╦▒▓▓▓▓▓▓▓▓▓▓▄ ░░░╙╠╦░φ╦░╠╬╬░░░░░▀▓⌐╔▌╙▌╓▀,"▓_▀
▒Q▀╩╠░▒▄░╩░▒▒▒░╗φ▓▀▓▒░░╠▓▒▒▀▀░░░░╣▓▀░░░░░░░░░▀▓∩░ \░⌂╙╬╬╬╬╬░░░░QΓ▀▌▐▓┘▀∩╙▀╓▓µ▀▓▄
▓╬░╬▓▒░╨▒▄▀░╦░╠▓▀░╨╠╬▓╬▓░╬▓░╩╩░░╣▓╬░░░░░░░░.  ╫╬░" \"░`╚░╠╬░░░╬╬▓_▓_╓▌╙▓_╫▀_▓▄⌐█
╢▓▓▓░▓▓░╨▀φ▒▓╦╫▌╩░╠░╠╫▓░╩╠░╬░╠╦╬▓▌╬░░░░░░░░░  ╙╬░ ░  .░ ░░░░░╣░░▓▄╙▀▀▐▌▐▓b▄▌⌠▐▓▄
░▓░╬╩╬░▓╬╣▓▀╬▓▓░░░░░╠░░╩φ░░░░░╬▓▓╬╬▄▄▄░░░░░▄▄▄╦╠░ ░_'.'  ░░░φ╣▒░▀▓▓▓▓▄▓µ╓█\▐▀▌▐▓
╬╬╬░░░╠╫▓▓░╩╩╬Å╬░╠╬░░╩╩░╬╬╬░░░╠▓▓╬▓▓▓▓▓╬░░▒▓▓▓▒▒▌⌐░⌐'' ' !╬╬╬░╬▒▒╬▒╬░▓_▓▓▄▀▓⌐▓ .
╠╩░░░░╠░▓╬╬╫Ö╠╬╩░░╠░░φ░░░╩╠░░╠╬▓▓╬▓▓▓▓▓╬░░░╬╬▀░▀▓░░░   .~ ╚░╬╬╬╬░░░╬╬▓ ▀]▓▒╬▌▀▌█
░░░░░░▐╬▀╬░╙_╠░φ╬░░░░░╬Γ░░░╬╬░╣▓▓░░░░░╬░░░░:░░░'╟Γ░░  ~:. ]▒╬╬╬░╠░░░╬▓▓▄▓▀╬╬▓_▓¬
░Q╔╬╬╬░╬╬╬░╓φ░φ╬╬░░╠░░░╬╠╬░░╩╢▓▓▓╬╬░░▒▓▓▒▒░░░░░░▐░╠░  ░   '╫▌╬╬╬░░░░░╠░░░░░░▓▄,▓
▒╬╬╬╠░░░░░╠░╠╬╨╬╬╬╬╬╬Γ░╬░╠╬░░░╣▓▓▌╬╬╬╬╬░░,.░░░░░╢░╠░_ ░... ░▀▒░░▒▌░░╠░╠▒░░╠░░▀▀░
╬░░░░░░░░╬╬╠╩╟▒░╬╬╬╬╬░░░░░╬╠░░╫▓▓▓╬╬╣▓▀▀▀▀╨╨╩░░░╬░╬░ '░''' '╙▓▒▓▀▓░░╬▒▀░▌╠╬░╠╠░░
░░░░░░░Γ╬░░░╫╬╬▒░╨╠╬╬░░╬╬░░░░░╬╬▓▓▓╬▒▒▒╬╩░░░░░░╣╬░╬░ '''~.~.░░▀Ü░▐▌▒▓▀░░Å▀▓╬░░╬▌
░░╠╬▄░╩╫▄▒▒╬▒░╙▒▒╣╬╬╬╬╬╬╬╬░░░░╠╬╣▓▓▓▌╬╬╠φ░░░░▄▒▓░╟╬░_'..░░░░░░░░░░▀░░░░░░░▐▓▒╬▓░
░░░▀▒▓▒▓╬▓╫▀╔▓▒╚╬╬╩▒╬▒╬╨╬╬░░╬░░╬╫▓▓▓▓╬▓▓▓▓▓▓▓▓▓▌Γ╬░░~.░░░░░░░░;▓▄░░░░╔▓█▄µ░░▐▓░░
░░╢▒░╫▓½░░▒▒▌▄▀▒▄░▒░▓Ü▓▓╬╬╬╬╬░░╫╬╬▓▓▓╬╬╬╬╬╬╬╬╬▓▌░╬╬░_.░░.'░░╗▒▀░╬▌░░▒▌░▄░▓░░░░░░
░╬▌╬▓░▄▓▓▓▀▀▒▓▌▀▀▓▀▌░▓▌▄▒▓▒▀░░░╬╬▓▒▀▓▓▓╬╬╬░╬╬╬▓▌░░╬░░░░░'.░░░Å░▄░▓▄░▓░▓▀░╫▄▓▄░░░
▓▀▓▓▒▓▀▒▌░▓▓▌╨▓▓▌▓▓╬▓▓╫▓▀╬╠φ░░░╠╬╬╬╬▓▓▓╬╬╬╬╬╬╣▓╬░╠╩░':░ .░░░░░╣▄░╣▌╫▌░]▓░╠▀░▀▄░▓
╨╓▐▓▄▓▓▓▓▓▌▀░∩╨╨▓▀▀▒╣╬╢╫▌╬╬░░φ░╬╠░╬╫▓╬▒╬░╬╬╬╬╬▓░░░Γ░░░░.░░░└╦░░░░╠▀▀░░▓]▌▐Ö▓░▓░▓
╠▒╕╠▓▓▀'╬▀░╦▓▓▒╬░╬╬╣▀╩░▀╣╨╠╠░░░╫░░░░╬░░░░░░Γ░╬╬░░░░░░░░░░░░:╨╬╠╦░░╩░^▓▀▓ ▓]▓░╬▓▓
▓▀▒⌐▀╨╠╬ φ▒▓▄▒▄▒▓╬▓▓▄▌▄∩░╔░╩^░╠░░:░░░;░░,░░░░╬╬░╠╬░░░░░░░░░░╠╦░╠╣░░░╬▌╫▌█▒▓░▄░╩╩
▒▌▓╦φ╬▓▓╬╣▌▒▌╬╬▓▓▓▌▌Γ▓▀░Ç░╩░░░░░~.░░Γ░╟▒╠▒▒▓▌▓▓▌░░░░░░░░░░░░╨╬╦╦░╙╚░▒p▒  '╨▓▓▓▒▒
▓▓▐▌▒▀▒▌▀▓░▓╬▓▌▓▓▌▓╬▓µ░╬ÿ┘Æ░░░░░░░░░╬.░╬╫▓▓▓▀▓╬░╢▓░░░'░░░░░░╠░╫▓▒╢▄░╬▒▌¼  _╙▀▌▓▓
╙▓▐▓▌▒▀▓▄▄▓▀▒▌▓▓▒▓▒▒▌▐╬▒φ▒░.░╬░]:'░Q░.▐▒▓▒╣▒▀▓░▒░▓╬╫░.└░░░░╫½╣bΦ▌▌╬░▀▓▄▌b _   ''
▓▀▒░▒▓░╠▀▀╬▓▀▌▒▌▀▒▀▓▓▌╬▓▒╬└:╫░░╬.░░╡░│╙╬Å╬╢╬╬▀Q▒▄╬░▓▌░ ░░'C%Å▌▀░▐▓░▒▒╬▓▓╬∩__ _ _
▄▓▐▓▓▐╬░▒╬▓▌▓▄▓▀▒╬▓▓▌▓▓▀φ▄░φ▀░░▌└░]╬.╔╫▄╬▒╫╬╫╬▒╬╫╠Ö╬╬▐╡'░½╙░▒▀▓▒╙▒╬╬╬╬╬╣╬╬      
⌠▄▓▄▐▓╬░▒▀▓╙▓▓▀▌▓▓▓▓▓▒▓╟╬░░╟░░╔▌░⌐░╩╚▒╬▓▓▓▒╬╣▒▓▓▓∩░▒░▐░',½╙╬╟▒▐▌╣▄╢╬╠╬╬╬╬╬╠_    
▀▀▄▀▓▓▒▒▓▒░░░▒╫╬▒╣▓▓▌▓░▒╬░░φ░╠╫▌░░╠░╣╟▓╫▓▒▓▒▓▀▒▓"Γ╬,░░░░.]▐╠,▒▓▒▓▓▓▒▒▒╬╬╬╠╠╣▄   
▓▀▄▓▄▄▄▓▌▓▓▓▓▄╬▓▒╬▓▓▓▓▓▓▌░░╬╫░▒▌░╠Ö╟▒╬░╠▒╣▓▓▌╣▒╬▀▌▐╠╠░░φ░▐▐▄▀▒▌▓▓▓▓▓▓▓▒╬╢╠▓▒╬▌  
▄▄▓▄▀▀▓▄░▓½▓▓▓▓▓▓▓▓▓▓▓▓╬▓∩╬░╬░╫░░╠░▌▒▒▒▒▓▓▓▓╬▓▌╬╬▌╙╠▒░▄▓Ö╬▄╣▓▌▓▓▓▌▓▓▓▒▓▓▒▒▌▒╢▌  
▀▄▄▀▀▓▄▓▓▓▓▌╬╬╬░░░╬▓▓▓▓▓▌▒▌╠╬╗╬░]▓▓▓╣╬╬▓▓▄▓▓▓▓▒╣╬▓▒╩╠▒▓▓▌▐▌▄▓▓▓▓▓▓▒█▓▓▓▓▓▓▌▀`_  
▓▓▄▓▓▌▓▓▓▓▓▀╬╬Γ░░░╣▓▓▓▓▓▌▀░╬╣▒╬░▒▒▓▓▓▓▓▓▒▓▌▓▌▓▓▓╫▒▓▒▓▓▓▀╬▀▓▌▒▓▓▓▓▓▓▓▓▓▓▓░       
▀░▓╬╬▓▓▀░╬╬╬╬░░░░╠╬▓▓▓▓▓▓╬╬▓▓▓╣╩░▓▒▓▓▓▓▓▓▓▓▓▌▓▓▓▓▌▓▒▓╬╢╬Å╟▒╣▓▓▓▓╬░░░░░░╬        
 '╘'└' _ ___   __ '^└└╙└└ ^'└'  _└└└└└'_'' ^╙└└^¬╙¬' _'_ '  `╘╙└`    _  _ __   _
                                         ,,╓╓,__                          _     
          ╙▀▓▓▓▀▀"                    ▄▓▀╙¬'^▀▓▓⌐                      _*▓▓Ö    
            ▓▓▌                     _▓▓∩      _                         ]▓▌_    
           ▐▓▓                      _▓▓▄_         ,µ                   _▓▓      
          ]▓▓_   ,▄▄,_ ╓▄_ _,▄▄      ▀▓▓▄ _    _ ▄▓µ_    _,_▄m_,▄_  ▄▄ ╫▓__,▄▄, 
         _▓▓▌  ▄█╙ ╫▓"▀▓▓ ▄▀^▐▓∩     _╙█▓▓▓▄  _└▐▓▓▀╘ ╓▒▀╙╙▓▓_└▀▓▌▄▀▀▓▐▓Q#▀└.▓▓ 
         ╫▓▓_╓▓▀╓▄▀▀  ▓▓▄▀ _╓▓▌_▄▌     _'▀▓▓▓_ _▓▓_ ,▓▀_ _▄▓¬ _▐▓▒└   ▓▓╙_╓▄▀▀_ 
        ]▓▓_]▓▌└   _▄▓▓▓¬  ╒▓▌ j▓^        _▓▓▌_╫▓¬_╔▓▀_ ,▓▓" _▄▓▓    ▓▓▀▓▓¬_    
        ▓▓▀ ╟▓▌ _╓▄▀,▓▌_   ▓▓,#▀▓_        _▓▓▌▐▓▌▄▓▓▓ ▄╩▐▓▌,▄▀▓▓_   ╫▓_ _▓▌_╓∩  
      _▓▓▌  _▀▀▀▀└__╙▀   _╙▀▀╘  ^█▄       ▄▓▀_▀▀▀_"▀▀▀_ ╙▀▀▀_╙▀_   _▀¬    ▀▀└_  
     _▐▓▀                         ╙▀█▒▄Æ█▀▀ _                                   
 ▓▓▄▄▒▀¬                                                                        

______/\\\\\\\\\__/\\\_______/\\\__/\\\\\\\\\\\__/\\\\\\\\\\\\\___        
 _____/\\\////////__\///\\\___/\\\/__\/////\\\///__\/\\\/////////\\\_       
  ___/\\\/_____________\///\\\\\\/________\/\\\_____\/\\\_______\/\\\_      
   __/\\\_________________\//\\\\__________\/\\\_____\/\\\\\\\\\\\\\/__     
    _\/\\\__________________\/\\\\__________\/\\\_____\/\\\/////////____    
     _\//\\\_________________/\\\\\\_________\/\\\_____\/\\\_____________   
      __\///\\\_____________/\\\////\\\_______\/\\\_____\/\\\_____________  
       ____\////\\\\\\\\\__/\\\/___\///\\\__/\\\\\\\\\\\_\/\\\_____________ 
        _______\/////////__\///_______\///__\///////////__\///____________*/

import './ICxipRegistry.sol';

contract CxipERC721Proxy {

	fallback () payable external {
		address _target = ICxipRegistry (0xC267d41f81308D7773ecB3BDd863a902ACC01Ade).getERC721CollectionSource ();
		assembly {
			calldatacopy (0, 0, calldatasize ())
			let result := delegatecall (gas (), _target, 0, calldatasize (), 0, 0)
			returndatacopy (0, 0, returndatasize ())
			switch result
				case 0 {
					revert (0, returndatasize ())
				}
				default {
					return (0, returndatasize ())
				}
		}
	}

}