How TokenPaymaster can do precharge

Hi, I have 3 questions

  1. How can TokenPaymaster can do transferFrom user address?

Because in test you give allowance only to uniswap contract. (not for Paymaster or RelayHub, or from who preRelayCall was called?)

  1. As I understand right from link above I need to give allowance to uniswap(???) with some gas( this will be non-gasless), then I can do some gasless stuff ?

  2. What is the Uniswap Contract that used buy TokenPaymaster, it is not a RouterV2 interface or core-Pair Interface?