Consider the following substitutions, where the substituted rhomb(us) is scaled up and shown in red:

__A rhomb__

[![rhomb a][1]][1]
... becomes ...
[![rhomb a substitution 1][2]][2]

__B rhomb__

[![rhomb b][3]][3] ... becomes ... [![rhomb b substitution 1][4]][4]

Each substitution is made up of some combination of A rhombs and B rhombs, on which the same substitutions can be performed. 

A tiling can be created by repeating the substitutions n times.

After n=2 substitutions of A rhomb:

[![rhomb a substitution 2][5]][5]

__In the fewest bytes of code (given input n>=0) draw the tiling after n substitutions, where n=0 is A rhomb__

----

_Notes:_

- _Substitutions are tiled without leaving gaps or overlapping._
- _The red lines shouldn't be included, they only illustrate the substitution._
- _In each substitution the tiling is scaled up so the rhombs have a constant size._ 
- _Any rotation is optional._
- _Graphical choices (colour, dimensions, cropping etc.) are optional if not exploited for loopholes._  

  [1]: https://i.sstatic.net/hqh6l.png
  [2]: https://i.sstatic.net/lA75x.png
  [3]: https://i.sstatic.net/7GQ2N.png
  [4]: https://i.sstatic.net/1055z.png
  [5]: https://i.sstatic.net/HbHH5.png